@jetta/axle-load-calculator 0.3.4 → 0.3.6

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 (285) hide show
  1. package/README.md +13 -1
  2. package/build-cjs/core/contracts/ChassiReference.d.ts +7 -0
  3. package/build-cjs/core/contracts/ChassiReference.d.ts.map +1 -0
  4. package/build-cjs/core/contracts/ChassiReference.js +8 -0
  5. package/build-cjs/core/contracts/MsFaixasContract.d.ts +13 -0
  6. package/build-cjs/core/contracts/MsFaixasContract.d.ts.map +1 -0
  7. package/build-cjs/core/contracts/MsFaixasContract.js +93 -0
  8. package/build-cjs/core/contracts/RotationEnum.d.ts +11 -0
  9. package/build-cjs/core/contracts/RotationEnum.d.ts.map +1 -0
  10. package/build-cjs/core/contracts/RotationEnum.js +12 -0
  11. package/build-cjs/core/contracts/SuspensionType.d.ts +5 -0
  12. package/build-cjs/core/contracts/SuspensionType.d.ts.map +1 -0
  13. package/build-cjs/core/contracts/SuspensionType.js +7 -0
  14. package/build-cjs/core/contracts/TransportRecord.d.ts +5 -0
  15. package/build-cjs/core/contracts/TransportRecord.d.ts.map +1 -0
  16. package/build-cjs/core/contracts/TransportRecord.js +2 -0
  17. package/build-cjs/core/contracts/VehicleType.d.ts +12 -0
  18. package/build-cjs/core/contracts/VehicleType.d.ts.map +1 -0
  19. package/build-cjs/core/contracts/VehicleType.js +13 -0
  20. package/build-cjs/core/contracts/VehicleVersion.d.ts +8 -0
  21. package/build-cjs/core/contracts/VehicleVersion.d.ts.map +1 -0
  22. package/build-cjs/core/contracts/VehicleVersion.js +10 -0
  23. package/build-cjs/core/contracts/WireFlags.d.ts +27 -0
  24. package/build-cjs/core/contracts/WireFlags.d.ts.map +1 -0
  25. package/build-cjs/core/contracts/WireFlags.js +29 -0
  26. package/build-cjs/core/math/FloatTools.d.ts +7 -0
  27. package/build-cjs/core/math/FloatTools.d.ts.map +1 -0
  28. package/build-cjs/core/math/FloatTools.js +17 -0
  29. package/build-cjs/core/math/GaussianElimination.d.ts +8 -0
  30. package/build-cjs/core/math/GaussianElimination.d.ts.map +1 -0
  31. package/build-cjs/core/math/GaussianElimination.js +88 -0
  32. package/build-cjs/core/orchestration/AxleWeightPhysics.d.ts +7 -0
  33. package/build-cjs/core/orchestration/AxleWeightPhysics.d.ts.map +1 -0
  34. package/build-cjs/core/orchestration/AxleWeightPhysics.js +30 -0
  35. package/build-cjs/core/orchestration/CollisionChecker.d.ts +8 -0
  36. package/build-cjs/core/orchestration/CollisionChecker.d.ts.map +1 -0
  37. package/build-cjs/core/orchestration/CollisionChecker.js +63 -0
  38. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.d.ts +11 -0
  39. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.d.ts.map +1 -0
  40. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.js +84 -0
  41. package/build-cjs/core/orchestration/ItemOverlapError.d.ts +7 -0
  42. package/build-cjs/core/orchestration/ItemOverlapError.d.ts.map +1 -0
  43. package/build-cjs/core/orchestration/ItemOverlapError.js +13 -0
  44. package/build-cjs/core/orchestration/JavaMassCenter.d.ts +10 -0
  45. package/build-cjs/core/orchestration/JavaMassCenter.d.ts.map +1 -0
  46. package/build-cjs/core/orchestration/JavaMassCenter.js +135 -0
  47. package/build-cjs/core/orchestration/OutputBuilder.d.ts +7 -0
  48. package/build-cjs/core/orchestration/OutputBuilder.d.ts.map +1 -0
  49. package/build-cjs/core/orchestration/OutputBuilder.js +10 -0
  50. package/build-cjs/core/orchestration/RequestSchema.d.ts +57 -0
  51. package/build-cjs/core/orchestration/RequestSchema.d.ts.map +1 -0
  52. package/build-cjs/core/orchestration/RequestSchema.js +21 -0
  53. package/build-cjs/core/orchestration/WeightByAxisResponse.d.ts +11 -0
  54. package/build-cjs/core/orchestration/WeightByAxisResponse.d.ts.map +1 -0
  55. package/build-cjs/core/orchestration/WeightByAxisResponse.js +2 -0
  56. package/build-cjs/core/orchestration/WeightByAxisTask.d.ts +18 -0
  57. package/build-cjs/core/orchestration/WeightByAxisTask.d.ts.map +1 -0
  58. package/build-cjs/core/orchestration/WeightByAxisTask.js +110 -0
  59. package/build-cjs/core/physics/items/AllocatedItem.d.ts +22 -0
  60. package/build-cjs/core/physics/items/AllocatedItem.d.ts.map +1 -0
  61. package/build-cjs/core/physics/items/AllocatedItem.js +33 -0
  62. package/build-cjs/core/physics/items/AllocatedItemManager.d.ts +31 -0
  63. package/build-cjs/core/physics/items/AllocatedItemManager.d.ts.map +1 -0
  64. package/build-cjs/core/physics/items/AllocatedItemManager.js +42 -0
  65. package/build-cjs/core/physics/items/BindChassiSolver.d.ts +12 -0
  66. package/build-cjs/core/physics/items/BindChassiSolver.d.ts.map +1 -0
  67. package/build-cjs/core/physics/items/BindChassiSolver.js +13 -0
  68. package/build-cjs/core/physics/items/CenterOfMass.d.ts +14 -0
  69. package/build-cjs/core/physics/items/CenterOfMass.d.ts.map +1 -0
  70. package/build-cjs/core/physics/items/CenterOfMass.js +28 -0
  71. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.d.ts +19 -0
  72. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.d.ts.map +1 -0
  73. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.js +32 -0
  74. package/build-cjs/core/physics/items/ItemTemplates.d.ts +32 -0
  75. package/build-cjs/core/physics/items/ItemTemplates.d.ts.map +1 -0
  76. package/build-cjs/core/physics/items/ItemTemplates.js +58 -0
  77. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.d.ts +37 -0
  78. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.d.ts.map +1 -0
  79. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.js +95 -0
  80. package/build-cjs/core/physics/items/RotationTransforms.d.ts +8 -0
  81. package/build-cjs/core/physics/items/RotationTransforms.d.ts.map +1 -0
  82. package/build-cjs/core/physics/items/RotationTransforms.js +24 -0
  83. package/build-cjs/core/physics/items/UnknownItemIdError.d.ts +10 -0
  84. package/build-cjs/core/physics/items/UnknownItemIdError.d.ts.map +1 -0
  85. package/build-cjs/core/physics/items/UnknownItemIdError.js +16 -0
  86. package/build-cjs/core/physics/models/AxleWeightModel.d.ts +32 -0
  87. package/build-cjs/core/physics/models/AxleWeightModel.d.ts.map +1 -0
  88. package/build-cjs/core/physics/models/AxleWeightModel.js +77 -0
  89. package/build-cjs/core/physics/models/BiTruckModel.d.ts +21 -0
  90. package/build-cjs/core/physics/models/BiTruckModel.d.ts.map +1 -0
  91. package/build-cjs/core/physics/models/BiTruckModel.js +64 -0
  92. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts +21 -0
  93. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts.map +1 -0
  94. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.js +73 -0
  95. package/build-cjs/core/physics/models/BitremModel.d.ts +33 -0
  96. package/build-cjs/core/physics/models/BitremModel.d.ts.map +1 -0
  97. package/build-cjs/core/physics/models/BitremModel.js +128 -0
  98. package/build-cjs/core/physics/models/ChassiForces.d.ts +30 -0
  99. package/build-cjs/core/physics/models/ChassiForces.d.ts.map +1 -0
  100. package/build-cjs/core/physics/models/ChassiForces.js +43 -0
  101. package/build-cjs/core/physics/models/OldTareModel.d.ts +17 -0
  102. package/build-cjs/core/physics/models/OldTareModel.d.ts.map +1 -0
  103. package/build-cjs/core/physics/models/OldTareModel.js +45 -0
  104. package/build-cjs/core/physics/models/OldTareScale.d.ts +7 -0
  105. package/build-cjs/core/physics/models/OldTareScale.d.ts.map +1 -0
  106. package/build-cjs/core/physics/models/OldTareScale.js +11 -0
  107. package/build-cjs/core/physics/models/OldTareSemireboque.d.ts +7 -0
  108. package/build-cjs/core/physics/models/OldTareSemireboque.d.ts.map +1 -0
  109. package/build-cjs/core/physics/models/OldTareSemireboque.js +40 -0
  110. package/build-cjs/core/physics/models/OldTareTruck.d.ts +7 -0
  111. package/build-cjs/core/physics/models/OldTareTruck.d.ts.map +1 -0
  112. package/build-cjs/core/physics/models/OldTareTruck.js +15 -0
  113. package/build-cjs/core/physics/models/OldTareVanderleia.d.ts +7 -0
  114. package/build-cjs/core/physics/models/OldTareVanderleia.d.ts.map +1 -0
  115. package/build-cjs/core/physics/models/OldTareVanderleia.js +34 -0
  116. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.d.ts +19 -0
  117. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.d.ts.map +1 -0
  118. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.js +43 -0
  119. package/build-cjs/core/physics/models/QuadSemiTrailerModel.d.ts +21 -0
  120. package/build-cjs/core/physics/models/QuadSemiTrailerModel.d.ts.map +1 -0
  121. package/build-cjs/core/physics/models/QuadSemiTrailerModel.js +74 -0
  122. package/build-cjs/core/physics/models/RodotremModel.d.ts +33 -0
  123. package/build-cjs/core/physics/models/RodotremModel.d.ts.map +1 -0
  124. package/build-cjs/core/physics/models/RodotremModel.js +106 -0
  125. package/build-cjs/core/physics/models/SemiDelegate.d.ts +9 -0
  126. package/build-cjs/core/physics/models/SemiDelegate.d.ts.map +1 -0
  127. package/build-cjs/core/physics/models/SemiDelegate.js +2 -0
  128. package/build-cjs/core/physics/models/SemiReboqueBase.d.ts +34 -0
  129. package/build-cjs/core/physics/models/SemiReboqueBase.d.ts.map +1 -0
  130. package/build-cjs/core/physics/models/SemiReboqueBase.js +89 -0
  131. package/build-cjs/core/physics/models/SemiReboqueModel.d.ts +41 -0
  132. package/build-cjs/core/physics/models/SemiReboqueModel.d.ts.map +1 -0
  133. package/build-cjs/core/physics/models/SemiReboqueModel.js +89 -0
  134. package/build-cjs/core/physics/models/SimpleTruckBase.d.ts +29 -0
  135. package/build-cjs/core/physics/models/SimpleTruckBase.d.ts.map +1 -0
  136. package/build-cjs/core/physics/models/SimpleTruckBase.js +61 -0
  137. package/build-cjs/core/physics/models/SimpleTruckModel.d.ts +41 -0
  138. package/build-cjs/core/physics/models/SimpleTruckModel.d.ts.map +1 -0
  139. package/build-cjs/core/physics/models/SimpleTruckModel.js +81 -0
  140. package/build-cjs/core/physics/models/SingleContainerTare.d.ts +18 -0
  141. package/build-cjs/core/physics/models/SingleContainerTare.d.ts.map +1 -0
  142. package/build-cjs/core/physics/models/SingleContainerTare.js +49 -0
  143. package/build-cjs/core/physics/models/TareModel.d.ts +12 -0
  144. package/build-cjs/core/physics/models/TareModel.d.ts.map +1 -0
  145. package/build-cjs/core/physics/models/TareModel.js +40 -0
  146. package/build-cjs/core/physics/models/TruckDelegate.d.ts +9 -0
  147. package/build-cjs/core/physics/models/TruckDelegate.d.ts.map +1 -0
  148. package/build-cjs/core/physics/models/TruckDelegate.js +2 -0
  149. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.d.ts +10 -0
  150. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.d.ts.map +1 -0
  151. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.js +16 -0
  152. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.d.ts +10 -0
  153. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.d.ts.map +1 -0
  154. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.js +16 -0
  155. package/build-cjs/core/physics/models/VanderleiaModel.d.ts +33 -0
  156. package/build-cjs/core/physics/models/VanderleiaModel.d.ts.map +1 -0
  157. package/build-cjs/core/physics/models/VanderleiaModel.js +106 -0
  158. package/build-cjs/core/physics/models/VehicleModel.d.ts +11 -0
  159. package/build-cjs/core/physics/models/VehicleModel.d.ts.map +1 -0
  160. package/build-cjs/core/physics/models/VehicleModel.js +2 -0
  161. package/build-cjs/core/physics/models/deflection/BeamDeflection.d.ts +28 -0
  162. package/build-cjs/core/physics/models/deflection/BeamDeflection.d.ts.map +1 -0
  163. package/build-cjs/core/physics/models/deflection/BeamDeflection.js +82 -0
  164. package/build-cjs/core/physics/models/deflection/BitremDeflection.d.ts +22 -0
  165. package/build-cjs/core/physics/models/deflection/BitremDeflection.d.ts.map +1 -0
  166. package/build-cjs/core/physics/models/deflection/BitremDeflection.js +58 -0
  167. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.d.ts +9 -0
  168. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.d.ts.map +1 -0
  169. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.js +27 -0
  170. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.d.ts +8 -0
  171. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.d.ts.map +1 -0
  172. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.js +2 -0
  173. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.d.ts +36 -0
  174. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.d.ts.map +1 -0
  175. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.js +57 -0
  176. package/build-cjs/core/physics/models/deflection/DeflectionModel.d.ts +19 -0
  177. package/build-cjs/core/physics/models/deflection/DeflectionModel.d.ts.map +1 -0
  178. package/build-cjs/core/physics/models/deflection/DeflectionModel.js +27 -0
  179. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts +9 -0
  180. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts.map +1 -0
  181. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.js +15 -0
  182. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.d.ts +35 -0
  183. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.d.ts.map +1 -0
  184. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.js +58 -0
  185. package/build-cjs/core/physics/models/deflection/DeflectionTools.d.ts +6 -0
  186. package/build-cjs/core/physics/models/deflection/DeflectionTools.d.ts.map +1 -0
  187. package/build-cjs/core/physics/models/deflection/DeflectionTools.js +13 -0
  188. package/build-cjs/core/physics/models/deflection/DelegateFactory.d.ts +12 -0
  189. package/build-cjs/core/physics/models/deflection/DelegateFactory.d.ts.map +1 -0
  190. package/build-cjs/core/physics/models/deflection/DelegateFactory.js +2 -0
  191. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.d.ts +25 -0
  192. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.d.ts.map +1 -0
  193. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.js +55 -0
  194. package/build-cjs/core/physics/models/deflection/RodotremDeflection.d.ts +22 -0
  195. package/build-cjs/core/physics/models/deflection/RodotremDeflection.d.ts.map +1 -0
  196. package/build-cjs/core/physics/models/deflection/RodotremDeflection.js +51 -0
  197. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.d.ts +21 -0
  198. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.d.ts.map +1 -0
  199. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.js +35 -0
  200. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.d.ts +20 -0
  201. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.d.ts.map +1 -0
  202. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.js +32 -0
  203. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.d.ts +21 -0
  204. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.d.ts.map +1 -0
  205. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.js +45 -0
  206. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.d.ts +27 -0
  207. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.d.ts.map +1 -0
  208. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.js +47 -0
  209. package/build-cjs/core/physics/services/AxleWeightService.d.ts +20 -0
  210. package/build-cjs/core/physics/services/AxleWeightService.d.ts.map +1 -0
  211. package/build-cjs/core/physics/services/AxleWeightService.js +95 -0
  212. package/build-cjs/core/physics/services/CmAxleWeightService.d.ts +12 -0
  213. package/build-cjs/core/physics/services/CmAxleWeightService.d.ts.map +1 -0
  214. package/build-cjs/core/physics/services/CmAxleWeightService.js +37 -0
  215. package/build-cjs/core/physics/services/ContainerCornerForces.d.ts +33 -0
  216. package/build-cjs/core/physics/services/ContainerCornerForces.d.ts.map +1 -0
  217. package/build-cjs/core/physics/services/ContainerCornerForces.js +88 -0
  218. package/build-cjs/core/physics/transports/AxleManager.d.ts +22 -0
  219. package/build-cjs/core/physics/transports/AxleManager.d.ts.map +1 -0
  220. package/build-cjs/core/physics/transports/AxleManager.js +38 -0
  221. package/build-cjs/core/physics/transports/AxleRecord.d.ts +21 -0
  222. package/build-cjs/core/physics/transports/AxleRecord.d.ts.map +1 -0
  223. package/build-cjs/core/physics/transports/AxleRecord.js +61 -0
  224. package/build-cjs/core/physics/transports/Chassi.d.ts +52 -0
  225. package/build-cjs/core/physics/transports/Chassi.d.ts.map +1 -0
  226. package/build-cjs/core/physics/transports/Chassi.js +109 -0
  227. package/build-cjs/core/physics/transports/ContainerRecord.d.ts +25 -0
  228. package/build-cjs/core/physics/transports/ContainerRecord.d.ts.map +1 -0
  229. package/build-cjs/core/physics/transports/ContainerRecord.js +53 -0
  230. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.d.ts +10 -0
  231. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.d.ts.map +1 -0
  232. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.js +16 -0
  233. package/build-cjs/core/physics/transports/GroupedContainers.d.ts +34 -0
  234. package/build-cjs/core/physics/transports/GroupedContainers.d.ts.map +1 -0
  235. package/build-cjs/core/physics/transports/GroupedContainers.js +73 -0
  236. package/build-cjs/core/physics/transports/GrouperNotFoundError.d.ts +10 -0
  237. package/build-cjs/core/physics/transports/GrouperNotFoundError.d.ts.map +1 -0
  238. package/build-cjs/core/physics/transports/GrouperNotFoundError.js +16 -0
  239. package/build-cjs/core/physics/transports/MergedContainers.d.ts +26 -0
  240. package/build-cjs/core/physics/transports/MergedContainers.d.ts.map +1 -0
  241. package/build-cjs/core/physics/transports/MergedContainers.js +50 -0
  242. package/build-cjs/core/physics/transports/MissingContainerError.d.ts +10 -0
  243. package/build-cjs/core/physics/transports/MissingContainerError.d.ts.map +1 -0
  244. package/build-cjs/core/physics/transports/MissingContainerError.js +16 -0
  245. package/build-cjs/core/physics/transports/Transport.d.ts +33 -0
  246. package/build-cjs/core/physics/transports/Transport.d.ts.map +1 -0
  247. package/build-cjs/core/physics/transports/Transport.js +115 -0
  248. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts +21 -0
  249. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts.map +1 -0
  250. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.js +44 -0
  251. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.d.ts +28 -0
  252. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.d.ts.map +1 -0
  253. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.js +59 -0
  254. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.d.ts +15 -0
  255. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.d.ts.map +1 -0
  256. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.js +35 -0
  257. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.d.ts +10 -0
  258. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.d.ts.map +1 -0
  259. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.js +2 -0
  260. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts +17 -0
  261. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts.map +1 -0
  262. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.js +35 -0
  263. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts +20 -0
  264. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts.map +1 -0
  265. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.js +52 -0
  266. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.d.ts +8 -0
  267. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.d.ts.map +1 -0
  268. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.js +2 -0
  269. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.d.ts +12 -0
  270. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.d.ts.map +1 -0
  271. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.js +2 -0
  272. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.d.ts +26 -0
  273. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.d.ts.map +1 -0
  274. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.js +88 -0
  275. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.d.ts +13 -0
  276. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.d.ts.map +1 -0
  277. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.js +36 -0
  278. package/build-cjs/index.d.ts +25 -0
  279. package/build-cjs/index.d.ts.map +1 -0
  280. package/build-cjs/index.js +35 -0
  281. package/build-cjs/package.json +3 -0
  282. package/package.json +27 -4
  283. package/CHANGELOG.md +0 -71
  284. package/tsconfig.eslint.json +0 -15
  285. package/tsconfig.json +0 -19
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.build_connector_payload = build_connector_payload;
4
+ const WireFlags_js_1 = require("../contracts/WireFlags.js");
5
+ /**
6
+ * Builds axle-weight service payload from a prepared env vehicle (Java AxleWeightConnector).
7
+ * @param env_vehicle - Vehicle object inside envs[].
8
+ * @param center_of_mass_by_grouper - CM per grouper for CM service flag.
9
+ * @returns Transport record for CmAxleWeightService.
10
+ */
11
+ function build_connector_payload(env_vehicle, center_of_mass_by_grouper) {
12
+ const center_of_mass = map_center_of_mass_wire(center_of_mass_by_grouper);
13
+ return {
14
+ [WireFlags_js_1.WIRE_FLAGS.CONTAINERS]: build_containers(env_vehicle),
15
+ [WireFlags_js_1.WIRE_FLAGS.AXLE_LIST]: build_axles(env_vehicle),
16
+ [WireFlags_js_1.WIRE_FLAGS.TRANSPORT_ID]: env_vehicle._id,
17
+ [WireFlags_js_1.WIRE_FLAGS.AMOUNT]: 1,
18
+ [WireFlags_js_1.WIRE_FLAGS.SUPPORTED_WEIGHT]: env_vehicle.pesoDeCarga,
19
+ [WireFlags_js_1.WIRE_FLAGS.FIRST_AXLE_DISTANCE]: env_vehicle.primeiroEixo,
20
+ [WireFlags_js_1.WIRE_FLAGS.VEHICLE_TYPE]: env_vehicle.tipoVeiculo,
21
+ [WireFlags_js_1.WIRE_FLAGS.VEHICLE_VERSION]: env_vehicle.tipoVersao,
22
+ [WireFlags_js_1.WIRE_FLAGS.SUSPENSION_TYPE]: env_vehicle.tipoSuspensao,
23
+ [WireFlags_js_1.WIRE_FLAGS.CM_SERVICE_CENTER_OF_MASS]: center_of_mass
24
+ };
25
+ }
26
+ /**
27
+ * @param center_of_mass_by_grouper - CM per grouper from Java MassCenter.
28
+ * @returns Wire map for CM service.
29
+ */
30
+ function map_center_of_mass_wire(center_of_mass_by_grouper) {
31
+ const center_of_mass = {};
32
+ for (const grouper_key of Object.keys(center_of_mass_by_grouper)) {
33
+ const entry = center_of_mass_by_grouper[Number(grouper_key)];
34
+ center_of_mass[grouper_key] = {
35
+ mass: entry.mass,
36
+ [WireFlags_js_1.WIRE_FLAGS.CM_SERVICE_Z]: entry.z
37
+ };
38
+ }
39
+ return center_of_mass;
40
+ }
41
+ /**
42
+ * @param container - Env container record.
43
+ * @returns Wire container without items.
44
+ */
45
+ function map_container_to_wire(container) {
46
+ return {
47
+ [WireFlags_js_1.WIRE_FLAGS.LENGTH]: container.comprimento,
48
+ [WireFlags_js_1.WIRE_FLAGS.WIDTH]: container.largura,
49
+ [WireFlags_js_1.WIRE_FLAGS.HEIGHT]: container.altura,
50
+ [WireFlags_js_1.WIRE_FLAGS.SEQUENCE]: container.sequencia,
51
+ [WireFlags_js_1.WIRE_FLAGS.MAIN_PIN_DISTANCE]: container.distPinoRei,
52
+ [WireFlags_js_1.WIRE_FLAGS.CONTAINER_DISTANCE_AHEAD]: container.containerDistanceAhead,
53
+ [WireFlags_js_1.WIRE_FLAGS.GROUPER]: container.grouper
54
+ };
55
+ }
56
+ /**
57
+ * @param axle - Env axle record.
58
+ * @returns Wire axle payload.
59
+ */
60
+ function map_axle_to_wire(axle) {
61
+ return {
62
+ [WireFlags_js_1.WIRE_FLAGS.DISTANCE_FROM_ORIGIN]: axle.distanciaOrigem,
63
+ [WireFlags_js_1.WIRE_FLAGS.MAX_SUPPORTED_WEIGHT]: axle.pesoMaxSuportado,
64
+ [WireFlags_js_1.WIRE_FLAGS.SEQUENCE_CONTAINER]: axle.sequenciaContainer,
65
+ [WireFlags_js_1.WIRE_FLAGS.DNIT_WEIGHT]: axle.pesoDnit ?? axle.pesoMaxSuportado,
66
+ [WireFlags_js_1.WIRE_FLAGS.TARE]: axle.tara
67
+ };
68
+ }
69
+ /**
70
+ * @param env_vehicle - Env vehicle JSON.
71
+ * @returns Container wire list without items.
72
+ */
73
+ function build_containers(env_vehicle) {
74
+ const list = env_vehicle.containers;
75
+ return list.map(map_container_to_wire);
76
+ }
77
+ /**
78
+ * @param env_vehicle - Env vehicle JSON.
79
+ * @returns Axle wire list.
80
+ */
81
+ function build_axles(env_vehicle) {
82
+ const list = env_vehicle.eixos;
83
+ return list.map(map_axle_to_wire);
84
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Raised when two allocated items occupy the same volume.
3
+ */
4
+ export declare class ItemOverlapError extends Error {
5
+ constructor();
6
+ }
7
+ //# sourceMappingURL=ItemOverlapError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemOverlapError.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/ItemOverlapError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;;CAO1C"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ItemOverlapError = void 0;
4
+ /**
5
+ * Raised when two allocated items occupy the same volume.
6
+ */
7
+ class ItemOverlapError extends Error {
8
+ constructor() {
9
+ super('Item overlap error');
10
+ this.name = 'ItemOverlapError';
11
+ }
12
+ }
13
+ exports.ItemOverlapError = ItemOverlapError;
@@ -0,0 +1,10 @@
1
+ import { CenterOfMass } from '../physics/items/CenterOfMass.js';
2
+ /**
3
+ * Computes mass center per grouper using ms-faixas Java Item / MassCenter rules.
4
+ * Longitudinal position uses JSON `y` (maps to Ponto3D.z in Java CubeRepresentation).
5
+ * Same-grouper containers are merged; empty necks do not shift later beds (MS parity).
6
+ * @param env_vehicle - Single env vehicle object from weight_by_axis payload.
7
+ * @returns Map of grouper id to center of mass.
8
+ */
9
+ export declare function mass_center_by_grouper_from_env(env_vehicle: Record<string, unknown>): Record<number, CenterOfMass>;
10
+ //# 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;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAQ9B"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mass_center_by_grouper_from_env = mass_center_by_grouper_from_env;
4
+ const CenterOfMass_js_1 = require("../physics/items/CenterOfMass.js");
5
+ /**
6
+ * Computes mass center per grouper using ms-faixas Java Item / MassCenter rules.
7
+ * Longitudinal position uses JSON `y` (maps to Ponto3D.z in Java CubeRepresentation).
8
+ * Same-grouper containers are merged; empty necks do not shift later beds (MS parity).
9
+ * @param env_vehicle - Single env vehicle object from weight_by_axis payload.
10
+ * @returns Map of grouper id to center of mass.
11
+ */
12
+ function mass_center_by_grouper_from_env(env_vehicle) {
13
+ const containers = env_vehicle.containers;
14
+ if (!containers) {
15
+ return {};
16
+ }
17
+ return accumulate_grouper_mass_centers(sort_containers_by_sequence(containers));
18
+ }
19
+ /**
20
+ * @param containers - Containers sorted by sequencia.
21
+ * @returns Merged center of mass map keyed by grouper.
22
+ */
23
+ function accumulate_grouper_mass_centers(containers) {
24
+ const result = {};
25
+ const longitudinal_offset_by_grouper = {};
26
+ for (const container of containers) {
27
+ absorb_container_into_grouper(result, longitudinal_offset_by_grouper, container);
28
+ }
29
+ return result;
30
+ }
31
+ /**
32
+ * @param result - Accumulated grouper centers (mutated).
33
+ * @param offsets - Longitudinal offset per grouper (mutated).
34
+ * @param container - Env container to absorb.
35
+ */
36
+ function absorb_container_into_grouper(result, offsets, container) {
37
+ const grouper = Number(container.grouper);
38
+ const sequence_offset = offsets[grouper] ?? 0;
39
+ const container_center = compute_container_mass_center(container, sequence_offset);
40
+ result[grouper] = result[grouper]
41
+ ? merge_mass_centers(result[grouper], container_center)
42
+ : container_center;
43
+ if (container_center.mass > 0) {
44
+ offsets[grouper] = sequence_offset + Number(container.comprimento ?? 0);
45
+ }
46
+ }
47
+ /**
48
+ * @param containers - Env containers.
49
+ * @returns Containers sorted by sequencia ascending.
50
+ */
51
+ function sort_containers_by_sequence(containers) {
52
+ return [...containers].sort((left, right) => Number(left.sequencia) - Number(right.sequencia));
53
+ }
54
+ /**
55
+ * @param left - Existing grouper center of mass.
56
+ * @param right - Additional container center of mass.
57
+ * @returns Combined center of mass.
58
+ */
59
+ function merge_mass_centers(left, right) {
60
+ const merged = new CenterOfMass_js_1.CenterOfMass();
61
+ merged.mass = left.mass + right.mass;
62
+ if (merged.mass === 0) {
63
+ merged.z = 0;
64
+ return merged;
65
+ }
66
+ merged.z = (left.mass * left.z + right.mass * right.z) / merged.mass;
67
+ return merged;
68
+ }
69
+ /**
70
+ * @param container - Container object with items array.
71
+ * @param sequence_offset - Longitudinal offset from prior same-grouper containers.
72
+ * @returns Center of mass for container items.
73
+ */
74
+ function compute_container_mass_center(container, sequence_offset) {
75
+ const center_of_mass = new CenterOfMass_js_1.CenterOfMass();
76
+ const items = container.items;
77
+ if (!items || items.length === 0) {
78
+ return center_of_mass;
79
+ }
80
+ const moments = accumulate_item_moments(items, sequence_offset, container);
81
+ center_of_mass.mass = moments.mass;
82
+ center_of_mass.z = moments.mass === 0 ? 0 : moments.accumulated / moments.mass;
83
+ return center_of_mass;
84
+ }
85
+ /**
86
+ * @param items - Container items.
87
+ * @param sequence_offset - Prior loaded length in grouper.
88
+ * @param container - Container for faixa offset.
89
+ * @returns Accumulated mass and first moment.
90
+ */
91
+ function accumulate_item_moments(items, sequence_offset, container) {
92
+ const container_offset = sequence_offset + read_container_longitudinal_offset(container);
93
+ let accumulated = 0;
94
+ let mass = 0;
95
+ for (const item of items) {
96
+ const weight = read_item_weight(item);
97
+ accumulated += weight * (container_offset + read_item_longitudinal_position(item));
98
+ mass += weight;
99
+ }
100
+ return { accumulated, mass };
101
+ }
102
+ /**
103
+ * @param container - Container JSON.
104
+ * @returns Longitudinal offset of container body (first faixa z1 when present).
105
+ */
106
+ function read_container_longitudinal_offset(container) {
107
+ const bands = container.faixas;
108
+ if (!bands || bands.length === 0) {
109
+ return 0;
110
+ }
111
+ return Number(bands[0].z1 ?? 0);
112
+ }
113
+ /**
114
+ * @param item - Ms-faixas item JSON.
115
+ * @returns Item weight.
116
+ */
117
+ function read_item_weight(item) {
118
+ if (item.peso !== undefined) {
119
+ return Number(item.peso);
120
+ }
121
+ return Number(item.weight ?? 0);
122
+ }
123
+ /**
124
+ * @param item - Ms-faixas item JSON.
125
+ * @returns Longitudinal position for equilibrium (Java getZ on pontoDeInicio).
126
+ */
127
+ function read_item_longitudinal_position(item) {
128
+ const origin_y = Number(item.y ?? 0);
129
+ const custom = item.centerOfGravity;
130
+ if (custom && custom.z !== undefined) {
131
+ return origin_y + Number(custom.z);
132
+ }
133
+ const length = Number(item.comprimento ?? item.length ?? 0);
134
+ return origin_y + length / 2;
135
+ }
@@ -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,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.build_success_output = build_success_output;
4
+ /**
5
+ * @param envs - Output env list.
6
+ * @returns Success response object.
7
+ */
8
+ function build_success_output(envs) {
9
+ return { envs };
10
+ }
@@ -0,0 +1,57 @@
1
+ import { z } from 'zod';
2
+ declare const request_schema: z.ZodObject<{
3
+ envs: z.ZodArray<z.ZodObject<{
4
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
5
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
6
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
7
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
8
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
9
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
10
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
11
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
12
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
13
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
14
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
15
+ }, z.ZodTypeAny, "passthrough">>, "many">;
16
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
17
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
18
+ envs: z.ZodArray<z.ZodObject<{
19
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
20
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
21
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
22
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
23
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
24
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
25
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
26
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
27
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
28
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
29
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
30
+ }, z.ZodTypeAny, "passthrough">>, "many">;
31
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
32
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
33
+ envs: z.ZodArray<z.ZodObject<{
34
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
35
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
36
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
37
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
38
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
39
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
40
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
41
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
42
+ _id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
43
+ eixos: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
44
+ containers: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
45
+ }, z.ZodTypeAny, "passthrough">>, "many">;
46
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
47
+ }, z.ZodTypeAny, "passthrough">>;
48
+ export type WeightByAxisRequest = z.infer<typeof request_schema>;
49
+ export type WeightByAxisRequestInput = z.input<typeof request_schema>;
50
+ /**
51
+ * Parses and validates weight-by-axis request data at the library boundary.
52
+ * @param data - JSON string or plain `{ envs, config? }` object.
53
+ * @returns Parsed request object.
54
+ */
55
+ export declare function parse_weight_by_axis_request_data(data: WeightByAxisRequestInput): WeightByAxisRequest;
56
+ export {};
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,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parse_weight_by_axis_request_data = parse_weight_by_axis_request_data;
4
+ const zod_1 = require("zod");
5
+ const env_schema = zod_1.z.object({
6
+ _id: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(),
7
+ eixos: zod_1.z.array(zod_1.z.record(zod_1.z.unknown())).min(1),
8
+ containers: zod_1.z.array(zod_1.z.record(zod_1.z.unknown())).min(1)
9
+ }).passthrough();
10
+ const request_schema = zod_1.z.object({
11
+ envs: zod_1.z.array(env_schema).min(1),
12
+ config: zod_1.z.record(zod_1.z.unknown()).optional()
13
+ }).passthrough();
14
+ /**
15
+ * Parses and validates weight-by-axis request data at the library boundary.
16
+ * @param data - JSON string or plain `{ envs, config? }` object.
17
+ * @returns Parsed request object.
18
+ */
19
+ function parse_weight_by_axis_request_data(data) {
20
+ return request_schema.parse(data);
21
+ }
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
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
+ * @throws {import('./ItemOverlapError.js').ItemOverlapError} When two allocated items occupy the same volume.
16
+ */
17
+ export declare function run_weight_by_axis_task(request_data: WeightByAxisRequestInput): WeightByAxisSuccessOutput;
18
+ //# sourceMappingURL=WeightByAxisTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeightByAxisTask.d.ts","sourceRoot":"","sources":["../../../src/core/orchestration/WeightByAxisTask.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAE1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,wBAAwB,GACvC,yBAAyB,CAa3B"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run_weight_by_axis_task = run_weight_by_axis_task;
4
+ const AxleWeightPhysics_js_1 = require("./AxleWeightPhysics.js");
5
+ const CollisionChecker_js_1 = require("./CollisionChecker.js");
6
+ const OutputBuilder_js_1 = require("./OutputBuilder.js");
7
+ const RequestSchema_js_1 = require("./RequestSchema.js");
8
+ /**
9
+ * Runs weight-by-axis for ms-faixas input (WeightByAxisTask.run contract).
10
+ * @param request_data - `{ envs, config? }` object.
11
+ * @returns Response object with envs and axle weights.
12
+ * @throws {import('zod').ZodError} When request validation fails.
13
+ * @throws {import('../physics/models/UnsupportedVehicleTypeError.js').UnsupportedVehicleTypeError} When physics rejects the vehicle type.
14
+ * @throws {import('../physics/models/UnrecognizedSuspensionTypeError.js').UnrecognizedSuspensionTypeError} When vanderleia suspension type is invalid.
15
+ * @throws {import('../physics/transports/GrouperNotFoundError.js').GrouperNotFoundError} When a merged-container grouper is missing.
16
+ * @throws {import('../physics/transports/ContainerSequenceNotFoundError.js').ContainerSequenceNotFoundError} When a container sequence is missing.
17
+ * @throws {import('../physics/transports/MissingContainerError.js').MissingContainerError} When a container lookup fails.
18
+ * @throws {import('../physics/items/UnknownItemIdError.js').UnknownItemIdError} When an item template id is unknown.
19
+ * @throws {import('../physics/models/deflection/DeflectionModelNotImplementedError.js').DeflectionModelNotImplementedError} When no deflection model exists.
20
+ * @throws {import('./ItemOverlapError.js').ItemOverlapError} When two allocated items occupy the same volume.
21
+ */
22
+ function run_weight_by_axis_task(request_data) {
23
+ const request = (0, RequestSchema_js_1.parse_weight_by_axis_request_data)(request_data);
24
+ const envs = request.envs;
25
+ const output_envs = [];
26
+ for (const env of envs) {
27
+ const loaded_weights = (0, AxleWeightPhysics_js_1.calculate_loaded_weights_for_env)(env);
28
+ apply_loaded_weights_to_env(env, loaded_weights);
29
+ (0, CollisionChecker_js_1.check_cargo_collision)(env);
30
+ output_envs.push(strip_items_and_bands(env));
31
+ }
32
+ return (0, OutputBuilder_js_1.build_success_output)(output_envs);
33
+ }
34
+ /**
35
+ * Writes loaded axle and container pesoEixos fields on the env vehicle.
36
+ * @param env - Env vehicle object.
37
+ * @param loaded_weights - Forces per axle.
38
+ */
39
+ function apply_loaded_weights_to_env(env, loaded_weights) {
40
+ const axles = env.eixos;
41
+ for (let index = 0; index < loaded_weights.length; index++) {
42
+ const cargo = loaded_weights[index];
43
+ const axle = axles[index];
44
+ const tare = Number(axle.tara ?? 0);
45
+ axle.pesoCarregado = cargo;
46
+ axle.pesoCarregadoFinal = tare + cargo;
47
+ }
48
+ const containers = env.containers;
49
+ apply_to_containers(containers, loaded_weights, axles);
50
+ }
51
+ /**
52
+ * @param containers - Container list on env.
53
+ * @param loaded_weights - Per-axle cargo load.
54
+ * @param axles - Vehicle axles list.
55
+ */
56
+ function apply_to_containers(containers, loaded_weights, axles) {
57
+ for (const container of containers) {
58
+ const peso_eixos = build_peso_eixos_for_container(container, loaded_weights, axles);
59
+ container.pesoEixos = peso_eixos;
60
+ }
61
+ }
62
+ /**
63
+ * @param container - Container on env.
64
+ * @param loaded_weights - All axle loads.
65
+ * @param axles - Vehicle axles.
66
+ * @returns pesoEixos array for container.
67
+ */
68
+ function build_peso_eixos_for_container(container, loaded_weights, axles) {
69
+ const sequence = Number(container.sequencia);
70
+ const result = [];
71
+ for (let index = 0; index < axles.length; index++) {
72
+ if (Number(axles[index].sequenciaContainer) !== sequence) {
73
+ continue;
74
+ }
75
+ result.push(build_peso_eixo_entry(axles[index], loaded_weights[index]));
76
+ }
77
+ return result;
78
+ }
79
+ /**
80
+ * @param axle - Axle record on env.
81
+ * @param cargo - Loaded cargo on axle.
82
+ * @returns Single pesoEixos entry.
83
+ */
84
+ function build_peso_eixo_entry(axle, cargo) {
85
+ const tare = Number(axle.tara ?? 0);
86
+ return {
87
+ distanciaOrigem: axle.distanciaOrigem,
88
+ pesoMax: Number(axle.pesoMaxSuportado) - tare,
89
+ pesoMaxFinal: axle.pesoMaxSuportado,
90
+ tara: tare,
91
+ pesoCarregado: cargo,
92
+ pesoCarregadoFinal: tare + cargo,
93
+ distanciaOrigemSemPrimeiroEixo: axle.distanciaOrigemSemPrimeiroEixo ?? 0
94
+ };
95
+ }
96
+ /**
97
+ * Copies env vehicle for response, clearing items/faixas and setting idCaminhao.
98
+ * @param env - Env with updated axle data.
99
+ * @returns Env copy without items/faixas on containers.
100
+ */
101
+ function strip_items_and_bands(env) {
102
+ const clone = JSON.parse(JSON.stringify(env));
103
+ const containers = clone.containers;
104
+ for (const container of containers) {
105
+ container.items = [];
106
+ container.faixas = [];
107
+ }
108
+ clone.idCaminhao = clone._id;
109
+ return clone;
110
+ }
@@ -0,0 +1,22 @@
1
+ import type { RotationCode } from '../../contracts/RotationEnum.js';
2
+ import type { ItemTemplates } from './ItemTemplates.js';
3
+ /**
4
+ * Allocated cargo item with position in container coordinates.
5
+ */
6
+ export declare class AllocatedItem {
7
+ xi: number;
8
+ yi: number;
9
+ zi: number;
10
+ rotation: RotationCode;
11
+ readonly template_index: number;
12
+ readonly templates: ItemTemplates;
13
+ /**
14
+ * @param templates - Shared templates.
15
+ * @param template_index - Template index.
16
+ */
17
+ constructor(templates: ItemTemplates, template_index: number);
18
+ get weight(): number;
19
+ get length(): number;
20
+ get center_of_gravity_z(): number;
21
+ }
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"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AllocatedItem = void 0;
4
+ const RotationEnum_js_1 = require("../../contracts/RotationEnum.js");
5
+ /**
6
+ * Allocated cargo item with position in container coordinates.
7
+ */
8
+ class AllocatedItem {
9
+ xi = 0;
10
+ yi = 0;
11
+ zi = 0;
12
+ rotation = RotationEnum_js_1.ROTATION.POS1;
13
+ template_index;
14
+ templates;
15
+ /**
16
+ * @param templates - Shared templates.
17
+ * @param template_index - Template index.
18
+ */
19
+ constructor(templates, template_index) {
20
+ this.templates = templates;
21
+ this.template_index = template_index;
22
+ }
23
+ get weight() {
24
+ return this.templates.weights[this.template_index];
25
+ }
26
+ get length() {
27
+ return this.templates.get_length(this.template_index, this.rotation);
28
+ }
29
+ get center_of_gravity_z() {
30
+ return this.zi + this.length / 2;
31
+ }
32
+ }
33
+ exports.AllocatedItem = AllocatedItem;
@@ -0,0 +1,31 @@
1
+ import { AllocatedItem } from './AllocatedItem.js';
2
+ import type { ItemTemplates } from './ItemTemplates.js';
3
+ /**
4
+ * Items allocated inside one container sequence.
5
+ */
6
+ export declare class AllocatedItemManager {
7
+ readonly templates: ItemTemplates;
8
+ private items;
9
+ /**
10
+ * @param templates - Item templates for this container.
11
+ */
12
+ constructor(templates: ItemTemplates);
13
+ /**
14
+ * @param items - Items to add.
15
+ */
16
+ add_allocated_items(items: AllocatedItem[]): void;
17
+ /**
18
+ * @returns Item count.
19
+ */
20
+ count_items(): number;
21
+ /**
22
+ * @returns Item indexes.
23
+ */
24
+ list_item_indexes(): number[];
25
+ /**
26
+ * @param item_index - Item index.
27
+ * @returns Item instance.
28
+ */
29
+ get_item(item_index: number): AllocatedItem;
30
+ }
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"}