@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
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Raised when a grouped container sequence is not present in the grouper.
3
+ */
4
+ export class MissingContainerError extends Error {
5
+ /**
6
+ * @param sequence_index - Missing container sequence index.
7
+ */
8
+ constructor(sequence_index) {
9
+ super(`Missing container ${sequence_index}`);
10
+ this.name = 'MissingContainerError';
11
+ }
12
+ }
@@ -1,7 +1,7 @@
1
- import { type VehicleTypeCode } from '../../contracts/vehicle_type.js';
2
- import type { TransportRecord } from '../../contracts/transport_record.js';
3
- import { AxleManager } from './axle_manager.js';
4
- import { ContainerRecord } from './container_record.js';
1
+ import { type VehicleTypeCode } from '../../contracts/VehicleType.js';
2
+ import type { TransportRecord } from '../../contracts/TransportRecord.js';
3
+ import { AxleManager } from './AxleManager.js';
4
+ import { ContainerRecord } from './ContainerRecord.js';
5
5
  /**
6
6
  * Parsed transport matching jettainterface.Transport behavior used by axleweight.
7
7
  */
@@ -30,4 +30,4 @@ export declare class Transport {
30
30
  */
31
31
  get_container_by_sequence_index(sequence_index: number): ContainerRecord;
32
32
  }
33
- //# sourceMappingURL=transport.d.ts.map
33
+ //# sourceMappingURL=Transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/transports/Transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD;;GAEG;AACH,qBAAa,SAAS;IAElB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,WAAW,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,eAAe,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B;;OAEG;gBACS,cAAc,EAAE,eAAe;IAe3C;;OAEG;IACH,gCAAgC,IAAI,MAAM,EAAE;IAK5C;;;OAGG;IACH,+BAA+B,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe;CAS3E"}
@@ -1,8 +1,9 @@
1
- import { WIRE_FLAGS } from '../../contracts/wire_flags.js';
2
- import { VEHICLE_TYPE } from '../../contracts/vehicle_type.js';
3
- import { VEHICLE_VERSION } from '../../contracts/vehicle_version.js';
4
- import { AxleManager } from './axle_manager.js';
5
- import { ContainerRecord } from './container_record.js';
1
+ import { WIRE_FLAGS } from '../../contracts/WireFlags.js';
2
+ import { VEHICLE_TYPE } from '../../contracts/VehicleType.js';
3
+ import { VEHICLE_VERSION } from '../../contracts/VehicleVersion.js';
4
+ import { AxleManager } from './AxleManager.js';
5
+ import { ContainerRecord } from './ContainerRecord.js';
6
+ import { ContainerSequenceNotFoundError } from './ContainerSequenceNotFoundError.js';
6
7
  /**
7
8
  * Parsed transport matching jettainterface.Transport behavior used by axleweight.
8
9
  */
@@ -45,7 +46,7 @@ export class Transport {
45
46
  get_container_by_sequence_index(sequence_index) {
46
47
  const container = this.containers.get(sequence_index);
47
48
  if (!container) {
48
- throw new Error(`Container sequence ${sequence_index} not found`);
49
+ throw new ContainerSequenceNotFoundError(sequence_index);
49
50
  }
50
51
  return container;
51
52
  }
@@ -1,10 +1,5 @@
1
- import type { GroupedContainers } from '../grouped_containers.js';
2
- type MaxWeightInput = {
3
- sequence_index: number;
4
- percentage_of_weight: number;
5
- total_max_supported_weight: number;
6
- tare: number;
7
- };
1
+ import type { GroupedContainers } from '../GroupedContainers.js';
2
+ import type { MaxWeightInput } from './MaxWeightInput.js';
8
3
  /**
9
4
  * Applies neck weight cap and redistributes excess to second container.
10
5
  */
@@ -23,5 +18,4 @@ export declare class ContainerMaxWeightCalculator {
23
18
  private is_neck;
24
19
  private is_second_container;
25
20
  }
26
- export {};
27
- //# sourceMappingURL=container_max_weight_calculator.d.ts.map
21
+ //# sourceMappingURL=ContainerMaxWeightCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerMaxWeightCalculator.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/containerweight/ContainerMaxWeightCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIzD;;GAEG;AACH,qBAAa,4BAA4B;IAOzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAL/C,OAAO,CAAC,qBAAqB,CAAI;IAEjC;;OAEG;gBAC0B,kBAAkB,EAAE,iBAAiB;IAGlE;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IAmBxC,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,mBAAmB;CAK9B"}
@@ -1,5 +1,5 @@
1
- import type { Transport } from '../transport.js';
2
- import type { GroupedContainers } from '../grouped_containers.js';
1
+ import type { Transport } from '../Transport.js';
2
+ import type { GroupedContainers } from '../GroupedContainers.js';
3
3
  /**
4
4
  * Distributes grouper tare across containers (neck gets axle-1 share).
5
5
  */
@@ -25,4 +25,4 @@ export declare class ContainerTareCalculator {
25
25
  private tare_percentage_review;
26
26
  private axle1_on_neck_tare_contribution;
27
27
  }
28
- //# sourceMappingURL=container_tare_calculator.d.ts.map
28
+ //# sourceMappingURL=ContainerTareCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerTareCalculator.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/containerweight/ContainerTareCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAIhE;;GAEG;AACH,qBAAa,uBAAuB;IAU5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IATvC,OAAO,CAAC,uBAAuB,CAAI;IACnC,OAAO,CAAC,eAAe,CAAI;IAE3B;;;OAGG;gBAEkB,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,iBAAiB;IAI1D;;;;;OAKG;IACH,SAAS,CACL,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,GACnB,MAAM;IAWT,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,+BAA+B;CAO1C"}
@@ -1,4 +1,4 @@
1
- import type { Transport } from '../transport.js';
1
+ import type { Transport } from '../Transport.js';
2
2
  /**
3
3
  * Computes per-container supported cargo capacity.
4
4
  */
@@ -12,4 +12,4 @@ export declare class ContainerWeightModel {
12
12
  /** Updates container supported_weight on transport. */
13
13
  calculate(): void;
14
14
  }
15
- //# sourceMappingURL=container_weight_model.d.ts.map
15
+ //# sourceMappingURL=ContainerWeightModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerWeightModel.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/containerweight/ContainerWeightModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAKhD;;GAEG;AACH,qBAAa,oBAAoB;IAOjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IALtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IAEpD;;OAEG;gBAC0B,SAAS,EAAE,SAAS;IAKjD,uDAAuD;IACvD,SAAS,IAAI,IAAI;CAgBpB"}
@@ -1,6 +1,6 @@
1
- import { MergedContainers } from '../merged_containers.js';
2
- import { MergedContainersWeightCalculator } from './merged_containers_weight_calculator.js';
3
- import { SingleContainerWeightCalculator } from './single_container_weight_calculator.js';
1
+ import { MergedContainers } from '../MergedContainers.js';
2
+ import { MergedContainersWeightCalculator } from './MergedContainersWeightCalculator.js';
3
+ import { SingleContainerWeightCalculator } from './SingleContainerWeightCalculator.js';
4
4
  /**
5
5
  * Computes per-container supported cargo capacity.
6
6
  */
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Inputs for per-container max supported weight calculation.
3
+ */
4
+ export type MaxWeightInput = {
5
+ sequence_index: number;
6
+ percentage_of_weight: number;
7
+ total_max_supported_weight: number;
8
+ tare: number;
9
+ };
10
+ //# sourceMappingURL=MaxWeightInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaxWeightInput.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/containerweight/MaxWeightInput.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,0BAA0B,EAAE,MAAM,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;CACf,CAAA"}
@@ -1,5 +1,5 @@
1
- import type { MergedContainers } from '../merged_containers.js';
2
- import type { AxleRecord } from '../axle_record.js';
1
+ import type { MergedContainers } from '../MergedContainers.js';
2
+ import type { AxleRecord } from '../AxleRecord.js';
3
3
  /**
4
4
  * Sums axle capacity and tare onto merged grouper containers.
5
5
  */
@@ -14,4 +14,4 @@ export declare class MergedContainersWeightCalculator {
14
14
  /** Applies summed max weight and tare to each merged grouper container. */
15
15
  calculate(): void;
16
16
  }
17
- //# sourceMappingURL=merged_containers_weight_calculator.d.ts.map
17
+ //# sourceMappingURL=MergedContainersWeightCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergedContainersWeightCalculator.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/containerweight/MergedContainersWeightCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD;;GAEG;AACH,qBAAa,gCAAgC;IAOrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IANzC;;;OAGG;gBAEkB,iBAAiB,EAAE,gBAAgB,EACnC,oBAAoB,EAAE,UAAU,EAAE;IAIvD,2EAA2E;IAC3E,SAAS,IAAI,IAAI;CAmBpB"}
@@ -1,5 +1,5 @@
1
- import type { Transport } from '../transport.js';
2
- import type { GroupedContainers } from '../grouped_containers.js';
1
+ import type { Transport } from '../Transport.js';
2
+ import type { GroupedContainers } from '../GroupedContainers.js';
3
3
  /**
4
4
  * Splits grouper capacity across containers by lateral area.
5
5
  */
@@ -17,4 +17,4 @@ export declare class SingleContainerWeightCalculator {
17
17
  private total_lateral_area;
18
18
  private lateral_area;
19
19
  }
20
- //# sourceMappingURL=single_container_weight_calculator.d.ts.map
20
+ //# sourceMappingURL=SingleContainerWeightCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleContainerWeightCalculator.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/containerweight/SingleContainerWeightCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAKhE;;GAEG;AACH,qBAAa,+BAA+B;IAWpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IATvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAE7D;;;OAGG;gBAEC,SAAS,EAAE,SAAS,EACH,kBAAkB,EAAE,iBAAiB;IAO1D,sEAAsE;IACtE,SAAS,IAAI,IAAI;IAqBjB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,YAAY;CAIvB"}
@@ -1,5 +1,5 @@
1
- import { ContainerTareCalculator } from './container_tare_calculator.js';
2
- import { ContainerMaxWeightCalculator } from './container_max_weight_calculator.js';
1
+ import { ContainerTareCalculator } from './ContainerTareCalculator.js';
2
+ import { ContainerMaxWeightCalculator } from './ContainerMaxWeightCalculator.js';
3
3
  /**
4
4
  * Splits grouper capacity across containers by lateral area.
5
5
  */
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Bitrem shared-axle split multipliers.
3
+ */
4
+ export type BitremAxleSplit = {
5
+ mult: number;
6
+ on_axle_3: boolean;
7
+ };
8
+ //# sourceMappingURL=BitremAxleSplit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitremAxleSplit.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/tare/BitremAxleSplit.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACrB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { AxleRecord } from '../AxleRecord.js';
2
+ import type { BitremAxleSplit } from './BitremAxleSplit.js';
3
+ /**
4
+ * Axle records and split multipliers for bitrem shared-axle redistribution.
5
+ */
6
+ export type BitremAxleSplitTarget = {
7
+ old: AxleRecord;
8
+ axle_3: AxleRecord;
9
+ axle_4: AxleRecord;
10
+ split: BitremAxleSplit;
11
+ };
12
+ //# sourceMappingURL=BitremAxleSplitTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitremAxleSplitTarget.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/tare/BitremAxleSplitTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC,GAAG,EAAE,UAAU,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,eAAe,CAAA;CACzB,CAAA"}
@@ -1,5 +1,5 @@
1
- import type { Transport } from '../transport.js';
2
- import { AxleRecord } from '../axle_record.js';
1
+ import type { Transport } from '../Transport.js';
2
+ import { AxleRecord } from '../AxleRecord.js';
3
3
  /** Splits bitrem shared axle 3 into two axles (DRAGON-98). */
4
4
  export declare class BitremAxleSplitter {
5
5
  private readonly transport;
@@ -23,4 +23,4 @@ export declare class BitremAxleSplitter {
23
23
  private generate_merged_axle_connection;
24
24
  private distance_from_axle_3_to_pin_2;
25
25
  }
26
- //# sourceMappingURL=bitrem_axle_splitter.d.ts.map
26
+ //# sourceMappingURL=BitremAxleSplitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitremAxleSplitter.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/tare/BitremAxleSplitter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,8DAA8D;AAC9D,qBAAa,kBAAkB;IAUf,OAAO,CAAC,QAAQ,CAAC,SAAS;IARtC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAE/B;;OAEG;gBAC0B,SAAS,EAAE,SAAS;IAQjD;;OAEG;IACH,4BAA4B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAezD,0BAA0B,IAAI,MAAM;IAOpC,2BAA2B,IAAI,MAAM;IAQrC,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,qCAAqC;IAS7C,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,6BAA6B;CAMxC"}
@@ -1,8 +1,8 @@
1
- import { CHASSI_REFERENCE } from '../../../contracts/chassi_reference.js';
2
- import { Chassi } from '../chassi.js';
3
- import { MergedContainers } from '../merged_containers.js';
4
- import { AxleRecord } from '../axle_record.js';
5
- import { apply_bitrem_axle_split, compute_bitrem_axle_split } from './bitrem_axle_weight_split.js';
1
+ import { CHASSI_REFERENCE } from '../../../contracts/ChassiReference.js';
2
+ import { Chassi } from '../Chassi.js';
3
+ import { MergedContainers } from '../MergedContainers.js';
4
+ import { AxleRecord } from '../AxleRecord.js';
5
+ import { apply_bitrem_axle_split, compute_bitrem_axle_split } from './BitremAxleWeightSplit.js';
6
6
  /** Splits bitrem shared axle 3 into two axles (DRAGON-98). */
7
7
  export class BitremAxleSplitter {
8
8
  transport;
@@ -1,22 +1,13 @@
1
- import type { AxleRecord } from '../axle_record.js';
2
- export type BitremAxleSplit = {
3
- mult: number;
4
- on_axle_3: boolean;
5
- };
1
+ import type { BitremAxleSplit } from './BitremAxleSplit.js';
2
+ import type { BitremAxleSplitTarget } from './BitremAxleSplitTarget.js';
6
3
  /**
7
4
  * @param first_proportion - First proportion from splitter.
8
5
  * @param second_proportion - Second proportion from splitter.
9
6
  * @returns Multiplier and target axle flag.
10
7
  */
11
8
  export declare function compute_bitrem_axle_split(first_proportion: number, second_proportion: number): BitremAxleSplit;
12
- export type BitremAxleSplitTarget = {
13
- old: AxleRecord;
14
- axle_3: AxleRecord;
15
- axle_4: AxleRecord;
16
- split: BitremAxleSplit;
17
- };
18
9
  /**
19
10
  * @param target - Axles and split multipliers.
20
11
  */
21
12
  export declare function apply_bitrem_axle_split(target: BitremAxleSplitTarget): void;
22
- //# sourceMappingURL=bitrem_axle_weight_split.d.ts.map
13
+ //# sourceMappingURL=BitremAxleWeightSplit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitremAxleWeightSplit.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/transports/tare/BitremAxleWeightSplit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE;;;;GAIG;AACH,wBAAgB,yBAAyB,CACrC,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,GAC1B,eAAe,CAYjB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAe3E"}
package/build/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { WeightByAxisRequest, WeightByAxisRequestInput } from './core/orchestration/RequestSchema.js';
2
+ export type { WeightByAxisRequest, WeightByAxisRequestInput };
1
3
  /**
2
4
  * Calculates loaded cargo weight per axle for each transport in the payload.
3
5
  * Same contract as WeightByAxisTask.run() in ms-faixas-porcentuais.
@@ -5,4 +7,9 @@
5
7
  * @returns JSON string with `envs` and axle weights, or error payload.
6
8
  */
7
9
  export declare function calculate_weight_on_axles_physics(json_data: string): string;
10
+ /**
11
+ * @param request - Parsed request with `{ envs, config? }`.
12
+ * @returns JSON string with `envs` and axle weights, or error payload.
13
+ */
14
+ export declare function calculate_weight_on_axles_physics(request: WeightByAxisRequestInput): string;
8
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,mBAAmB,EACnB,wBAAwB,EAC3B,MAAM,uCAAuC,CAAA;AAE9C,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,CAAA;AAE7D;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;AAE5E;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAA"}
package/build/index.js CHANGED
@@ -1,10 +1,8 @@
1
- import { run_weight_by_axis_task } from './core/orchestration/weight_by_axis_task.js';
1
+ import { run_weight_by_axis_task } from './core/orchestration/WeightByAxisTask.js';
2
2
  /**
3
- * Calculates loaded cargo weight per axle for each transport in the payload.
4
- * Same contract as WeightByAxisTask.run() in ms-faixas-porcentuais.
5
- * @param json_data - Raw JSON string with `{ envs, config? }`.
3
+ * @param input - JSON string or `{ envs, config? }` object.
6
4
  * @returns JSON string with `envs` and axle weights, or error payload.
7
5
  */
8
- export function calculate_weight_on_axles_physics(json_data) {
9
- return run_weight_by_axis_task(json_data);
6
+ export function calculate_weight_on_axles_physics(input) {
7
+ return run_weight_by_axis_task(input);
10
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetta/axle-load-calculator",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "Merged weight_by_axis physics and orchestration library",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -10,8 +10,8 @@
10
10
  "prebuild": "rm -rf build/* && npm ci",
11
11
  "test": "tsx ./node_modules/mocha/bin/mocha \"test/**/*.ts\"",
12
12
  "build": "tsc",
13
- "lint": "eslint src --ext .ts",
14
- "lint:fix": "eslint src --fix",
13
+ "lint": "eslint src test/src --ext .ts",
14
+ "lint:fix": "eslint src test/src --fix",
15
15
  "audit": "npm audit --omit=dev",
16
16
  "preversion": "git fetch --prune --tags",
17
17
  "version": "npm run build",
@@ -1,13 +0,0 @@
1
- # Feature knowledge index
2
-
3
- Agent-oriented notes for implemented features in this repository.
4
-
5
- | Ticket | Topic | Primary module | Doc |
6
- |--------|-------|----------------|-----|
7
-
8
- ## How to add a doc
9
-
10
- 1. Copy structure from [_TEMPLATE.md](./_TEMPLATE.md).
11
- 2. Save as `JET-XXXX-short-slug.md` (lowercase slug, hyphens).
12
- 3. Add a row to this table.
13
- 4. In Cursor, invoke: `KB: JET-XXXX` or use the `document-feature-knowledge` skill.
@@ -1,55 +0,0 @@
1
- # JET-XXXX — Short title
2
-
3
- ## Problem / outcome
4
-
5
- One paragraph: what problem this solves and what changes for callers.
6
-
7
- ## Scope
8
-
9
- - **In scope:**
10
- - **Out of scope / unchanged:**
11
-
12
- ## Entry points
13
-
14
- | Role | Path |
15
- |------|------|
16
- | Main logic | `src/...` |
17
- | Integration | `src/...` |
18
- | Config accessors | `src/models/Cargo_Profile.js` |
19
- | Validation | `src/validation/schemas/...` |
20
-
21
- ## Configuration
22
-
23
- Do not duplicate full key docs here. Link to [config.md](../../config.md) and list only behavior-specific notes.
24
-
25
- - Keys: `...`
26
- - Defaults:
27
- - Enabled when:
28
-
29
- ## Behavior and invariants
30
-
31
- -
32
- - Fixed vocabulary: `src/.../Some_Strategy.js`
33
-
34
- ## Flow (optional)
35
-
36
- ```mermaid
37
- flowchart LR
38
- A[Input] --> B[Step]
39
- ```
40
-
41
- ## Tests as specification
42
-
43
- | Type | Path | What it proves |
44
- |------|------|----------------|
45
- | Unit | `test/src/...` | |
46
- | Integration | `test/src/...` | |
47
-
48
- ## Dependencies and related work
49
-
50
- - Tickets:
51
- - Packages:
52
-
53
- ## Open questions
54
-
55
- - (only if still true)
@@ -1,103 +0,0 @@
1
- ---
2
- description: Project standards from GEMINI.md (language, naming, code rules, style, refactoring, testing, commit)
3
- alwaysApply: true
4
- ---
5
-
6
- # General Standards
7
-
8
- ## Languages
9
-
10
- 1. English. Always.
11
-
12
- ## Naming Conventions
13
-
14
- 1. Use `snake_case` for all functions, variables, and parameters;
15
- 2. Use `lowercase` for folder names;
16
- 3. Prefer full words over abbreviations in variable and parameter names so intent stays obvious (e.g. `minimum_weight` rather than `min_w`). Narrow exceptions: ubiquitous forms such as `id`, conventional loop indices (`i`, `j`), or standard acronyms where spelling them out adds noise without clarity;
17
-
18
- ## Code Rules
19
-
20
- 1. Meaningful names only;
21
- 2. Adhere to the SOLID principles;
22
- 3. Maximum 2 statements per line (e.g. two assignments or two declarations). Chained method calls (e.g. `a().b().c()`) count each as one statement;
23
- 4. Prefer the algorithm with the best time/space complexity that is still readable and maintainable;
24
- 5. Maximum 25 lines per function. It does not apply to comments or blank lines;
25
- 6. Maximum 125 lines per file. It does not apply to comments or blank lines;
26
- 7. When a file or module gains multiple distinct responsibilities, split it into separate files so that each file has a single, clear responsibility (and the split keeps the design coherent) - that's an enforcement on SOLID principles;
27
- 8. Adhere to modern and best practices standards;
28
- 9. Prefer one of: return an empty collection (e.g. []), use an optional/Maybe type, return a Result/Either type, or throw a documented exception. Choose based on the API contract and language idioms.;
29
- 10. Avoid anonymous functions being declared inside of another function, except trivial one-liners when readability is not harmed (e.g. `.map(x => x.id)`). Except anonymous callbacks that are a single expression with no side effects and that are passed directly to a well-known higher-order function (e.g. .map(x => x.id), .filter(Boolean)). If in doubt, extract to a named function;
30
- 11. Avoid nested functions;
31
- 12. Avoid multiple classes, interfaces or types in the same file: split them into a single one per file;
32
- 13. Avoid generic exceptions. Create specialized exceptions instead.
33
-
34
- ## Code Style
35
-
36
- 1. Follow the rules defined in `eslint.config.js`.
37
- 2. Document all public functions using JSDoc, explaining their purpose, parameters (`@param`), and return values (`@returns`);
38
- 3. Follow the semicolon style defined in eslint.config.js;
39
- 4. Run `npm run lint` before committing. Fix any reported issues before committing.
40
-
41
- ## Error Handling
42
-
43
- 1. Never suppress errors silently with empty `catch` blocks; either handle them meaningfully or rethrow;
44
- 2. Log errors with enough context (operation, relevant identifiers, inputs) to make the failure diagnosable.
45
-
46
- ## Performance
47
-
48
- 1. Avoid expensive operations inside loops; hoist invariant computations out of the loop body, or use optimized array methods to prevent redundant processing.
49
-
50
- ## API Design
51
-
52
- 1. Use a standardized response format across all API endpoints to ensure consistency and predictability;
53
- 2. Validate every incoming payload from user input or API clients using a robust validation schema (e.g., `zod`, already a project dependency);
54
- 3. After validating a fixed-vocabulary field, normalize it to the shared constants object defined in **Fixed Vocabularies**; reject or default unknown values at the boundary, not in downstream consumers.
55
-
56
- ## Fixed Vocabularies
57
-
58
- 1. When a value belongs to a fixed, finite set (e.g. strategies, modes, statuses), define it once as a frozen constants object and reuse it across validation, readers, and consumers. Do not scatter the same string literals in multiple files;
59
- 2. In plain JavaScript, use a frozen object as the enum (not TypeScript `enum`). Export both the named constants and, when useful, `Object.values(...)` for schema allow-lists;
60
- 3. Keep external wire formats as strings (config JSON, API payloads). Map validated input to the shared constants at the boundary; internal code compares against the constants, not raw strings;
61
- 4. Place the constants module next to the domain they describe (e.g. `src/Allocation_Optimization/density_groups/Density_Groups_Strategy.js`), not inside validation-only modules, unless the vocabulary is truly validation-specific;
62
- 5. Document public accessors that return a vocabulary member with JSDoc union types referencing the constants (e.g. `@returns {typeof DENSITY_GROUPS_STRATEGY.ROUND_ROBIN | typeof DENSITY_GROUPS_STRATEGY.ADAPTIVE}`);
63
- 6. Prefer the constants in tests as well (`expect(...).to.equal(DENSITY_GROUPS_STRATEGY.ADAPTIVE)`), so tests stay aligned with production code.
64
-
65
- ## Security
66
-
67
- 1. Never trust external input; validate and sanitize all data from users or API clients before using it, to prevent injection, XSS, and similar vulnerabilities.
68
-
69
- ## Refactoring
70
-
71
- 1. When refactoring, preserve behavior: do not change the observable semantics of the code. Refactoring is structure-only unless the user explicitly requests a behavior change;
72
- 2. Prioritize readability and explicit logic over extreme conciseness;
73
- 3. Simplify unnecessary abstractions, but do not sacrifice clarity for fewer lines of code.
74
-
75
- ## Testing
76
-
77
- 1. Write tests using Mocha and Chai;
78
- 2. Structure tests with `describe` for test suites and `it` for individual test cases;
79
- 3. Test descriptions should be clear, descriptive, and explain the expected behavior;
80
- 4. Under `test/src`, mirror the directory structure of `src/` (e.g. `src/Allocation_Optimization/block_builder/` → `test/src/Allocation_Optimization/block_builder/`);
81
- 5. Test data are to be created on root/test/data/src, then follow root/src's pattern of folder;
82
- 6. Ensure tests cover the 'happy path', known edge cases, invalid inputs, and all expected Exception scenarios;
83
- 7. Avoid redundant tests that assert the same logical branch;
84
- 8. Avoid changing the main code behavior in tests, except when the user has explicitly asked for a behavior change;
85
- 9. Always add intergration tests.
86
-
87
- ## Commit
88
-
89
- This project adheres to:
90
-
91
- 1. [SemVer](https://semver.org/)
92
- 2. [Conventional Commits](https://www.conventionalcommits.org/en/)
93
- 3. **Make atomic commits:** Each commit must represent a single, logical change (e.g., refactoring one component, deleting an unused file, or fixing a specific bug);
94
- 4. **Never use `git add .` or `git commit -a`:** Always stage files individually (`git add <file>`) to ensure multiple distinct changes are not grouped in a single commit;
95
- 5. **Irreversible commands:** Never use irreversible git commands (e.g., `git reset --hard`, `git clean -fd`) without explicit permission granted by the user;
96
- 6. Avoid adding `Made-with: Cursor` to commit messages;
97
- 7. Commit messages should be one concise phrase;
98
- 8. Try to keep tests green after each commit, if possible;
99
- 9. Never commit input from debug. i.e., `./debug/data/input.json`.
100
-
101
- ## README
102
-
103
- 1. must contain at least sections `how to install`, `usage`, `dependencies`, `requirements` (not necessarily in that order)
@@ -1,14 +0,0 @@
1
- ---
2
- description: Feature knowledge base location and doc shape for ai_changelog
3
- globs: .cursor/ai_changelog/**
4
- alwaysApply: false
5
- ---
6
-
7
- # Knowledge base
8
-
9
- Feature knowledge lives in `.cursor/ai_changelog/`.
10
-
11
- - New docs: follow `_TEMPLATE.md`; filename `JET-XXXX-short-slug.md`.
12
- - Update `INDEX.md` when adding a doc.
13
- - Config keys: link to `config.md`, do not duplicate tables.
14
- - Prefer tests + code over stale PR text when they disagree.
@@ -1,55 +0,0 @@
1
- ---
2
- description: Planning norms—investigation, scope, plan shape, clarifications, Plan Mode alignment (enable for design-heavy work)
3
- alwaysApply: false
4
- ---
5
-
6
- # Planning Standards
7
-
8
- ## Languages
9
-
10
- 1. English. Always.
11
-
12
- ## When to plan
13
-
14
- 1. Produce a written plan before multi-file work, behavior changes, or ambiguous requirements;
15
- 2. Prefer a short plan even for medium tasks when trade-offs or risks matter;
16
- 3. Skip heavy planning for obvious one-line fixes when scope and approach are already clear.
17
-
18
- ## Research first
19
-
20
- 1. Investigate with read-only steps (read files, search the codebase) before proposing changes;
21
- 2. Cite existing code using full repository paths and, when helpful, markdown links to files;
22
- 3. When the session is in Plan Mode (or the user asked for a plan only), do not edit files, run mutating commands, or commit until the user approves the plan;
23
- 4. Base the plan on evidence from the repo, not assumptions; state explicit assumptions when evidence is missing.
24
-
25
- ## Scope and constraints
26
-
27
- 1. State what is in scope and what is explicitly out of scope;
28
- 2. Avoid drive-by refactors and unrelated file churn; every planned change should trace to the user request;
29
- 3. Respect project rules in `code-standards.mdc` once implementation begins.
30
-
31
- ## Clarification
32
-
33
- 1. If requirements are ambiguous or multiple approaches differ materially, ask one or two critical questions before finalizing the plan;
34
- 2. Surface trade-offs in the plan instead of hiding them in later implementation;
35
- 3. Prefer structured multiple-choice when the product offers it for decisions that block planning;
36
- 4. Avoid any assumption.
37
-
38
- ## Plan document shape
39
-
40
- 1. Start with a clear title and a short overview of the goal and outcome;
41
- 2. List key files to touch with paths (markdown links where useful);
42
- 3. Use ordered, actionable steps the implementer can follow;
43
- 4. Call out risks, unknowns, and dependencies;
44
- 5. Use mermaid or similar diagrams only when the flow or architecture is non-trivial;
45
- 6. Keep the plan proportional to task complexity—do not over-engineer small changes.
46
-
47
- ## Handoff to implementation
48
-
49
- 1. After the user accepts the plan, implement following `.cursor/rules/code-standards.mdc` (code style, tests, commits);
50
- 2. If the user revises the plan mid-task, treat updates as steering unless they clearly start a new task.
51
-
52
- ## Tooling alignment
53
-
54
- 1. When using the product’s plan workflow, the user-visible plan should satisfy the sections above without duplicating Cursor product documentation;
55
- 2. Do not edit the plan artifact file itself unless the user explicitly asks to update that file.