@burdenoff/microfe-movethewheels 2026.930.4 → 2026.1010.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/dist/MoveTheWheelsRoot.js +177 -102
  2. package/dist/MoveTheWheelsRoutes.js +55 -11
  3. package/dist/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/components/ContainerEvidencePicker.js +143 -0
  5. package/dist/components/FreeTimeAgreementForm.js +496 -0
  6. package/dist/components/ReturnInstructionForm.js +108 -0
  7. package/dist/components/ReuseControls.js +91 -0
  8. package/dist/components/ReusePermissionForm.js +114 -0
  9. package/dist/components/ReuseProposalForm.js +455 -0
  10. package/dist/components/ReuseSourceFields.js +78 -0
  11. package/dist/components/consolidation/ConsolidationHistory.js +244 -0
  12. package/dist/components/consolidation/ConsolidationLotEditor.js +133 -0
  13. package/dist/components/consolidation/ConsolidationManifestWorkbench.js +143 -0
  14. package/dist/components/consolidation/ConsolidationPlanForm.js +172 -0
  15. package/dist/components/consolidation/ConsolidationPlanWorkbench.js +321 -0
  16. package/dist/components/consolidation/ConsolidationReportForm.js +94 -0
  17. package/dist/components/consolidation/ConsolidationReportsWorkbench.js +195 -0
  18. package/dist/components/consolidation/ConsolidationSummary.js +76 -0
  19. package/dist/components/consolidation/OriginalConsolidationHistory.js +112 -0
  20. package/dist/components/freight-cost/FreightDraftForm.js +213 -0
  21. package/dist/components/freight-cost/FreightFields.js +70 -0
  22. package/dist/components/freight-cost/FreightFxEditor.js +90 -0
  23. package/dist/components/freight-cost/FreightHistory.js +164 -0
  24. package/dist/components/freight-cost/FreightLineEditor.js +191 -0
  25. package/dist/components/freight-cost/FreightScopeEditor.js +72 -0
  26. package/dist/components/freight-cost/FreightTotals.js +66 -0
  27. package/dist/components/logistics-procedure/ProcedureDecisionForm.js +197 -0
  28. package/dist/components/logistics-procedure/ProcedureFields.js +31 -0
  29. package/dist/components/logistics-procedure/ProcedureHistory.js +177 -0
  30. package/dist/components/logistics-procedure/ProcedurePolicyForm.js +227 -0
  31. package/dist/components/logistics-procedure/ProcedurePolicyWorkbench.js +155 -0
  32. package/dist/components/logistics-procedure/ProcedureReviewWorkbench.js +221 -0
  33. package/dist/components/logistics-procedure/ProcedureRunWorkbench.js +190 -0
  34. package/dist/components/logistics-procedure/ProcedureSubjectPicker.js +130 -0
  35. package/dist/components/pending-pick/PendingPickDraft.js +84 -0
  36. package/dist/components/pending-pick/PendingPickHistory.js +113 -0
  37. package/dist/components/pending-pick/PickCapture.js +166 -0
  38. package/dist/components/pending-pick/PickLineSelection.js +111 -0
  39. package/dist/components/stock-binding/StockAssessmentDraft.js +48 -0
  40. package/dist/components/stock-binding/StockAssessmentHistory.js +61 -0
  41. package/dist/components/stock-binding/StockAssessmentSummary.js +199 -0
  42. package/dist/components/stock-binding/StockFactForm.js +232 -0
  43. package/dist/components/stock-observation/StockIssueForm.js +148 -0
  44. package/dist/components/stock-observation/StockIssueHistory.js +116 -0
  45. package/dist/components/stock-observation/StockIssueReadPanel.js +70 -0
  46. package/dist/components/trip-utilization/TripReportForm.js +118 -0
  47. package/dist/components/trip-utilization/TripReportHistory.js +54 -0
  48. package/dist/components/trip-utilization/TripReportSummary.js +216 -0
  49. package/dist/components/trip-utilization/TripSegmentFields.js +166 -0
  50. package/dist/generated/consolidation-operations.d.ts +1060 -0
  51. package/dist/generated/container-condition-operations.d.ts +868 -0
  52. package/dist/generated/container-operations.d.ts +356 -0
  53. package/dist/generated/empty-reuse-operations.d.ts +1578 -0
  54. package/dist/generated/free-time-operations.d.ts +938 -0
  55. package/dist/generated/freight-cost-operations.d.ts +716 -0
  56. package/dist/generated/logistics-procedure-operations.d.ts +938 -0
  57. package/dist/generated/pending-pick-operations.d.ts +1969 -0
  58. package/dist/generated/stock-binding-operations.d.ts +930 -0
  59. package/dist/generated/stock-observation-operations.d.ts +476 -0
  60. package/dist/generated/trip-utilization-operations.d.ts +651 -0
  61. package/dist/generated/wspace-operations.d.ts +143 -50
  62. package/dist/hooks/useConsolidationAction.js +119 -0
  63. package/dist/hooks/useContainerCondition.js +105 -0
  64. package/dist/hooks/useContainerLifecycle.js +192 -0
  65. package/dist/hooks/useEmptyReuseAction.js +45 -0
  66. package/dist/hooks/useFreightRecoveryAction.js +117 -0
  67. package/dist/hooks/useInventory.js +12 -1
  68. package/dist/hooks/useProcedureAction.js +119 -0
  69. package/dist/hooks/useProcedureSelection.js +53 -0
  70. package/dist/hooks/useReuseRecoveryAction.js +116 -0
  71. package/dist/movethewheels/components/ContainerEvidencePicker.d.ts +10 -0
  72. package/dist/movethewheels/components/FreeTimeAgreementForm.d.ts +14 -0
  73. package/dist/movethewheels/components/ReturnInstructionForm.d.ts +8 -0
  74. package/dist/movethewheels/components/ReuseControls.d.ts +42 -0
  75. package/dist/movethewheels/components/ReusePermissionForm.d.ts +9 -0
  76. package/dist/movethewheels/components/ReuseProposalForm.d.ts +11 -0
  77. package/dist/movethewheels/components/ReuseSourceFields.d.ts +9 -0
  78. package/dist/movethewheels/components/consolidation/ConsolidationHistory.d.ts +13 -0
  79. package/dist/movethewheels/components/consolidation/ConsolidationLotEditor.d.ts +6 -0
  80. package/dist/movethewheels/components/consolidation/ConsolidationManifestWorkbench.d.ts +8 -0
  81. package/dist/movethewheels/components/consolidation/ConsolidationPlanForm.d.ts +8 -0
  82. package/dist/movethewheels/components/consolidation/ConsolidationPlanWorkbench.d.ts +5 -0
  83. package/dist/movethewheels/components/consolidation/ConsolidationReportForm.d.ts +9 -0
  84. package/dist/movethewheels/components/consolidation/ConsolidationReportsWorkbench.d.ts +7 -0
  85. package/dist/movethewheels/components/consolidation/ConsolidationSummary.d.ts +6 -0
  86. package/dist/movethewheels/components/consolidation/OriginalConsolidationHistory.d.ts +8 -0
  87. package/dist/movethewheels/components/freight-cost/FreightDraftForm.d.ts +8 -0
  88. package/dist/movethewheels/components/freight-cost/FreightFields.d.ts +23 -0
  89. package/dist/movethewheels/components/freight-cost/FreightFxEditor.d.ts +6 -0
  90. package/dist/movethewheels/components/freight-cost/FreightHistory.d.ts +5 -0
  91. package/dist/movethewheels/components/freight-cost/FreightLineEditor.d.ts +8 -0
  92. package/dist/movethewheels/components/freight-cost/FreightScopeEditor.d.ts +6 -0
  93. package/dist/movethewheels/components/freight-cost/FreightTotals.d.ts +6 -0
  94. package/dist/movethewheels/components/logistics-procedure/ProcedureDecisionForm.d.ts +20 -0
  95. package/dist/movethewheels/components/logistics-procedure/ProcedureFields.d.ts +17 -0
  96. package/dist/movethewheels/components/logistics-procedure/ProcedureHistory.d.ts +7 -0
  97. package/dist/movethewheels/components/logistics-procedure/ProcedurePolicyForm.d.ts +10 -0
  98. package/dist/movethewheels/components/logistics-procedure/ProcedurePolicyWorkbench.d.ts +5 -0
  99. package/dist/movethewheels/components/logistics-procedure/ProcedureReviewWorkbench.d.ts +5 -0
  100. package/dist/movethewheels/components/logistics-procedure/ProcedureRunWorkbench.d.ts +6 -0
  101. package/dist/movethewheels/components/logistics-procedure/ProcedureSubjectPicker.d.ts +7 -0
  102. package/dist/movethewheels/components/pending-pick/PendingPickDraft.d.ts +16 -0
  103. package/dist/movethewheels/components/pending-pick/PendingPickHistory.d.ts +5 -0
  104. package/dist/movethewheels/components/pending-pick/PickCapture.d.ts +6 -0
  105. package/dist/movethewheels/components/pending-pick/PickLineSelection.d.ts +17 -0
  106. package/dist/movethewheels/components/stock-binding/StockAssessmentDraft.d.ts +13 -0
  107. package/dist/movethewheels/components/stock-binding/StockAssessmentHistory.d.ts +18 -0
  108. package/dist/movethewheels/components/stock-binding/StockAssessmentSummary.d.ts +9 -0
  109. package/dist/movethewheels/components/stock-binding/StockFactForm.d.ts +6 -0
  110. package/dist/movethewheels/components/stock-observation/StockIssueForm.d.ts +7 -0
  111. package/dist/movethewheels/components/stock-observation/StockIssueHistory.d.ts +7 -0
  112. package/dist/movethewheels/components/stock-observation/StockIssueReadPanel.d.ts +5 -0
  113. package/dist/movethewheels/components/trip-utilization/TripReportForm.d.ts +6 -0
  114. package/dist/movethewheels/components/trip-utilization/TripReportHistory.d.ts +14 -0
  115. package/dist/movethewheels/components/trip-utilization/TripReportSummary.d.ts +5 -0
  116. package/dist/movethewheels/components/trip-utilization/TripSegmentFields.d.ts +9 -0
  117. package/dist/movethewheels/hooks/useConsolidationAction.d.ts +19 -0
  118. package/dist/movethewheels/hooks/useContainerCondition.d.ts +21 -0
  119. package/dist/movethewheels/hooks/useContainerLifecycle.d.ts +40 -0
  120. package/dist/movethewheels/hooks/useEmptyReuseAction.d.ts +14 -0
  121. package/dist/movethewheels/hooks/useFreightRecoveryAction.d.ts +23 -0
  122. package/dist/movethewheels/hooks/useProcedureAction.d.ts +18 -0
  123. package/dist/movethewheels/hooks/useProcedureSelection.d.ts +51 -0
  124. package/dist/movethewheels/hooks/useReuseRecoveryAction.d.ts +18 -0
  125. package/dist/movethewheels/pages/ConsolidationPage.d.ts +1 -0
  126. package/dist/movethewheels/pages/ContainerConditionPage.d.ts +1 -0
  127. package/dist/movethewheels/pages/ContainersPage.d.ts +2 -0
  128. package/dist/movethewheels/pages/EmptyReusePage.d.ts +1 -0
  129. package/dist/movethewheels/pages/FreeTimePage.d.ts +1 -0
  130. package/dist/movethewheels/pages/FreightEstimatePage.d.ts +1 -0
  131. package/dist/movethewheels/pages/LogisticsProceduresPage.d.ts +1 -0
  132. package/dist/movethewheels/pages/PendingPickPage.d.ts +1 -0
  133. package/dist/movethewheels/pages/StockBindingPage.d.ts +1 -0
  134. package/dist/movethewheels/pages/StockObservationsPage.d.ts +1 -0
  135. package/dist/movethewheels/pages/TripUtilizationPage.d.ts +1 -0
  136. package/dist/movethewheels/utils/consolidationHistoryTarget.d.ts +12 -0
  137. package/dist/movethewheels/utils/consolidationInput.d.ts +15 -0
  138. package/dist/movethewheels/utils/consolidationLot.d.ts +3 -0
  139. package/dist/movethewheels/utils/consolidationPins.d.ts +20 -0
  140. package/dist/movethewheels/utils/consolidationRecovery.d.ts +5 -0
  141. package/dist/movethewheels/utils/consolidationReportHead.d.ts +5 -0
  142. package/dist/movethewheels/utils/freeTimeDate.d.ts +1 -0
  143. package/dist/movethewheels/utils/freightAcknowledgement.d.ts +2 -0
  144. package/dist/movethewheels/utils/freightDraft.d.ts +36 -0
  145. package/dist/movethewheels/utils/freightRecovery.d.ts +5 -0
  146. package/dist/movethewheels/utils/graphqlClient.d.ts +2 -1
  147. package/dist/movethewheels/utils/pendingPickDraft.d.ts +8 -0
  148. package/dist/movethewheels/utils/procedureInput.d.ts +18 -0
  149. package/dist/movethewheels/utils/procedureRecovery.d.ts +5 -0
  150. package/dist/movethewheels/utils/reuseAttempt.d.ts +7 -0
  151. package/dist/movethewheels/utils/reuseForm.d.ts +6 -0
  152. package/dist/movethewheels/utils/reuseRecovery.d.ts +26 -0
  153. package/dist/movethewheels/utils/stockBindingForm.d.ts +23 -0
  154. package/dist/movethewheels/utils/stockBindingLabels.d.ts +10 -0
  155. package/dist/movethewheels/utils/stockObservationForm.d.ts +5 -0
  156. package/dist/movethewheels/utils/tripDraftContext.d.ts +25 -0
  157. package/dist/movethewheels/utils/tripUtilizationForm.d.ts +6 -0
  158. package/dist/node_modules/@react-leaflet/core/lib/component.js +5 -5
  159. package/dist/node_modules/fast-equals/dist/es/index.js +87 -74
  160. package/dist/node_modules/leaflet/dist/leaflet-src.js +8 -5
  161. package/dist/node_modules/lodash/_Stack.js +2 -1
  162. package/dist/node_modules/lucide-react/dist/esm/icons/clipboard-list.js +35 -0
  163. package/dist/node_modules/lucide-react/dist/esm/icons/repeat-2.js +22 -0
  164. package/dist/node_modules/react-leaflet/lib/MapContainer.js +3 -3
  165. package/dist/node_modules/react-smooth/es6/Animate.js +2 -2
  166. package/dist/node_modules/recharts/es6/cartesian/Area.js +13 -13
  167. package/dist/node_modules/recharts/es6/cartesian/Bar.js +9 -9
  168. package/dist/node_modules/recharts/es6/cartesian/Brush.js +12 -12
  169. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +7 -7
  170. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +13 -13
  171. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +4 -4
  172. package/dist/node_modules/recharts/es6/cartesian/Line.js +10 -10
  173. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +3 -3
  174. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +3 -3
  175. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +4 -4
  176. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +3 -3
  177. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +3 -3
  178. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +1 -1
  179. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +22 -22
  180. package/dist/node_modules/recharts/es6/component/Cursor.js +1 -1
  181. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +11 -11
  182. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +6 -6
  183. package/dist/node_modules/recharts/es6/component/Label.js +14 -14
  184. package/dist/node_modules/recharts/es6/component/LabelList.js +6 -6
  185. package/dist/node_modules/recharts/es6/component/Legend.js +5 -5
  186. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +3 -3
  187. package/dist/node_modules/recharts/es6/component/Text.js +2 -2
  188. package/dist/node_modules/recharts/es6/component/Tooltip.js +3 -3
  189. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +2 -2
  190. package/dist/node_modules/recharts/es6/container/Layer.js +2 -2
  191. package/dist/node_modules/recharts/es6/container/Surface.js +2 -2
  192. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +2 -2
  193. package/dist/node_modules/recharts/es6/polar/Pie.js +13 -13
  194. package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js +8 -8
  195. package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js +6 -6
  196. package/dist/node_modules/recharts/es6/shape/Cross.js +1 -1
  197. package/dist/node_modules/recharts/es6/shape/Curve.js +1 -1
  198. package/dist/node_modules/recharts/es6/shape/Dot.js +1 -1
  199. package/dist/node_modules/recharts/es6/shape/Polygon.js +4 -4
  200. package/dist/node_modules/recharts/es6/shape/Rectangle.js +4 -4
  201. package/dist/node_modules/recharts/es6/shape/Sector.js +1 -1
  202. package/dist/node_modules/recharts/es6/shape/Symbols.js +1 -1
  203. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +4 -4
  204. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +9 -9
  205. package/dist/node_modules/recharts/es6/util/BarUtils.js +1 -1
  206. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +1 -1
  207. package/dist/node_modules/recharts/es6/util/PolarUtils.js +1 -1
  208. package/dist/node_modules/recharts/es6/util/ReactUtils.js +2 -2
  209. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +1 -1
  210. package/dist/node_modules/recharts/es6/util/types.js +1 -1
  211. package/dist/node_modules/{react-is → recharts/node_modules/react-is}/cjs/react-is.development.js +2 -2
  212. package/dist/node_modules/{react-is → recharts/node_modules/react-is}/cjs/react-is.production.min.js +2 -2
  213. package/dist/node_modules/{react-is → recharts/node_modules/react-is}/index.js +2 -2
  214. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +97 -18
  215. package/dist/node_modules/zustand/esm/middleware.js +2 -2
  216. package/dist/pages/ConsolidationPage.js +76 -0
  217. package/dist/pages/ContainerConditionPage.js +972 -0
  218. package/dist/pages/ContainersPage.js +522 -0
  219. package/dist/pages/EmptyReusePage.js +777 -0
  220. package/dist/pages/FreeTimePage.js +657 -0
  221. package/dist/pages/FreightEstimatePage.js +284 -0
  222. package/dist/pages/InventoryPage.js +77 -73
  223. package/dist/pages/LogisticsProceduresPage.js +100 -0
  224. package/dist/pages/PendingPickPage.js +155 -0
  225. package/dist/pages/StockBindingPage.js +236 -0
  226. package/dist/pages/StockObservationsPage.js +168 -0
  227. package/dist/pages/TripUtilizationPage.js +227 -0
  228. package/dist/src/generated/consolidation-operations.js +505 -0
  229. package/dist/src/generated/container-condition-operations.js +208 -0
  230. package/dist/src/generated/container-operations.js +101 -0
  231. package/dist/src/generated/empty-reuse-operations.js +749 -0
  232. package/dist/src/generated/free-time-operations.js +235 -0
  233. package/dist/src/generated/freight-cost-operations.js +325 -0
  234. package/dist/src/generated/logistics-procedure-operations.js +362 -0
  235. package/dist/src/generated/pending-pick-operations.js +1128 -0
  236. package/dist/src/generated/stock-binding-operations.js +175 -0
  237. package/dist/src/generated/stock-observation-operations.js +93 -0
  238. package/dist/src/generated/trip-utilization-operations.js +140 -0
  239. package/dist/src/generated/wspace-operations.js +708 -0
  240. package/dist/utils/consolidationHistoryTarget.js +27 -0
  241. package/dist/utils/consolidationInput.js +21 -0
  242. package/dist/utils/consolidationLot.js +29 -0
  243. package/dist/utils/consolidationPins.js +13 -0
  244. package/dist/utils/consolidationRecovery.js +40 -0
  245. package/dist/utils/consolidationReportHead.js +18 -0
  246. package/dist/utils/freeTimeDate.js +26 -0
  247. package/dist/utils/freightAcknowledgement.js +8 -0
  248. package/dist/utils/freightDraft.js +125 -0
  249. package/dist/utils/freightRecovery.js +36 -0
  250. package/dist/utils/graphqlClient.js +28 -28
  251. package/dist/utils/pendingPickDraft.js +46 -0
  252. package/dist/utils/procedureInput.js +43 -0
  253. package/dist/utils/procedureRecovery.js +42 -0
  254. package/dist/utils/reuseAttempt.js +20 -0
  255. package/dist/utils/reuseForm.js +25 -0
  256. package/dist/utils/reuseRecovery.js +71 -0
  257. package/dist/utils/stockBindingForm.js +142 -0
  258. package/dist/utils/stockBindingLabels.js +23 -0
  259. package/dist/utils/stockObservationForm.js +55 -0
  260. package/dist/utils/tripDraftContext.js +19 -0
  261. package/dist/utils/tripUtilizationForm.js +60 -0
  262. package/package.json +19 -5
  263. package/src/generated/consolidation-operations.ts +1138 -0
  264. package/src/generated/container-condition-operations.ts +771 -0
  265. package/src/generated/container-operations.ts +376 -0
  266. package/src/generated/empty-reuse-operations.ts +1648 -0
  267. package/src/generated/free-time-operations.ts +814 -0
  268. package/src/generated/freight-cost-operations.ts +753 -0
  269. package/src/generated/logistics-procedure-operations.ts +1047 -0
  270. package/src/generated/pending-pick-operations.ts +1508 -0
  271. package/src/generated/stock-binding-operations.ts +631 -0
  272. package/src/generated/stock-observation-operations.ts +373 -0
  273. package/src/generated/trip-utilization-operations.ts +500 -0
  274. package/src/generated/wspace-operations.ts +116 -0
  275. package/src/movethewheels/MoveTheWheelsRoot.tsx +79 -0
  276. package/src/movethewheels/MoveTheWheelsRoutes.tsx +22 -0
  277. package/src/movethewheels/components/ContainerEvidencePicker.tsx +146 -0
  278. package/src/movethewheels/components/FreeTimeAgreementForm.tsx +483 -0
  279. package/src/movethewheels/components/ReturnInstructionForm.tsx +102 -0
  280. package/src/movethewheels/components/ReuseControls.tsx +138 -0
  281. package/src/movethewheels/components/ReusePermissionForm.tsx +123 -0
  282. package/src/movethewheels/components/ReuseProposalForm.tsx +484 -0
  283. package/src/movethewheels/components/ReuseSourceFields.tsx +80 -0
  284. package/src/movethewheels/components/consolidation/ConsolidationHistory.tsx +159 -0
  285. package/src/movethewheels/components/consolidation/ConsolidationLotEditor.tsx +144 -0
  286. package/src/movethewheels/components/consolidation/ConsolidationManifestWorkbench.tsx +168 -0
  287. package/src/movethewheels/components/consolidation/ConsolidationPlanForm.tsx +185 -0
  288. package/src/movethewheels/components/consolidation/ConsolidationPlanWorkbench.tsx +395 -0
  289. package/src/movethewheels/components/consolidation/ConsolidationReportForm.tsx +124 -0
  290. package/src/movethewheels/components/consolidation/ConsolidationReportsWorkbench.tsx +233 -0
  291. package/src/movethewheels/components/consolidation/ConsolidationSummary.tsx +84 -0
  292. package/src/movethewheels/components/consolidation/OriginalConsolidationHistory.tsx +133 -0
  293. package/src/movethewheels/components/freight-cost/FreightDraftForm.tsx +224 -0
  294. package/src/movethewheels/components/freight-cost/FreightFields.tsx +91 -0
  295. package/src/movethewheels/components/freight-cost/FreightFxEditor.tsx +98 -0
  296. package/src/movethewheels/components/freight-cost/FreightHistory.tsx +91 -0
  297. package/src/movethewheels/components/freight-cost/FreightLineEditor.tsx +192 -0
  298. package/src/movethewheels/components/freight-cost/FreightScopeEditor.tsx +64 -0
  299. package/src/movethewheels/components/freight-cost/FreightTotals.tsx +68 -0
  300. package/src/movethewheels/components/logistics-procedure/ProcedureDecisionForm.tsx +204 -0
  301. package/src/movethewheels/components/logistics-procedure/ProcedureFields.tsx +43 -0
  302. package/src/movethewheels/components/logistics-procedure/ProcedureHistory.tsx +102 -0
  303. package/src/movethewheels/components/logistics-procedure/ProcedurePolicyForm.tsx +226 -0
  304. package/src/movethewheels/components/logistics-procedure/ProcedurePolicyWorkbench.tsx +174 -0
  305. package/src/movethewheels/components/logistics-procedure/ProcedureReviewWorkbench.tsx +278 -0
  306. package/src/movethewheels/components/logistics-procedure/ProcedureRunWorkbench.tsx +292 -0
  307. package/src/movethewheels/components/logistics-procedure/ProcedureSubjectPicker.tsx +111 -0
  308. package/src/movethewheels/components/pending-pick/PendingPickDraft.tsx +82 -0
  309. package/src/movethewheels/components/pending-pick/PendingPickHistory.tsx +93 -0
  310. package/src/movethewheels/components/pending-pick/PickCapture.tsx +70 -0
  311. package/src/movethewheels/components/pending-pick/PickLineSelection.tsx +130 -0
  312. package/src/movethewheels/components/stock-binding/StockAssessmentDraft.tsx +52 -0
  313. package/src/movethewheels/components/stock-binding/StockAssessmentHistory.tsx +56 -0
  314. package/src/movethewheels/components/stock-binding/StockAssessmentSummary.tsx +108 -0
  315. package/src/movethewheels/components/stock-binding/StockFactForm.tsx +186 -0
  316. package/src/movethewheels/components/stock-observation/StockIssueForm.tsx +103 -0
  317. package/src/movethewheels/components/stock-observation/StockIssueHistory.tsx +96 -0
  318. package/src/movethewheels/components/stock-observation/StockIssueReadPanel.tsx +72 -0
  319. package/src/movethewheels/components/trip-utilization/TripReportForm.tsx +116 -0
  320. package/src/movethewheels/components/trip-utilization/TripReportHistory.tsx +51 -0
  321. package/src/movethewheels/components/trip-utilization/TripReportSummary.tsx +127 -0
  322. package/src/movethewheels/components/trip-utilization/TripSegmentFields.tsx +118 -0
  323. package/src/movethewheels/hooks/useConsolidationAction.ts +196 -0
  324. package/src/movethewheels/hooks/useContainerCondition.ts +129 -0
  325. package/src/movethewheels/hooks/useContainerLifecycle.ts +291 -0
  326. package/src/movethewheels/hooks/useEmptyReuseAction.ts +72 -0
  327. package/src/movethewheels/hooks/useFreightRecoveryAction.ts +201 -0
  328. package/src/movethewheels/hooks/useInventory.ts +2 -20
  329. package/src/movethewheels/hooks/useProcedureAction.ts +196 -0
  330. package/src/movethewheels/hooks/useProcedureSelection.ts +75 -0
  331. package/src/movethewheels/hooks/useReuseRecoveryAction.ts +192 -0
  332. package/src/movethewheels/pages/ConsolidationPage.tsx +70 -0
  333. package/src/movethewheels/pages/ContainerConditionPage.tsx +959 -0
  334. package/src/movethewheels/pages/ContainersPage.tsx +490 -0
  335. package/src/movethewheels/pages/EmptyReusePage.tsx +823 -0
  336. package/src/movethewheels/pages/FreeTimePage.tsx +720 -0
  337. package/src/movethewheels/pages/FreightEstimatePage.tsx +353 -0
  338. package/src/movethewheels/pages/InventoryPage.tsx +16 -2
  339. package/src/movethewheels/pages/LogisticsProceduresPage.tsx +86 -0
  340. package/src/movethewheels/pages/PendingPickPage.tsx +226 -0
  341. package/src/movethewheels/pages/StockBindingPage.tsx +299 -0
  342. package/src/movethewheels/pages/StockObservationsPage.tsx +181 -0
  343. package/src/movethewheels/pages/TripUtilizationPage.tsx +315 -0
  344. package/src/movethewheels/utils/consolidationHistoryTarget.ts +39 -0
  345. package/src/movethewheels/utils/consolidationInput.ts +70 -0
  346. package/src/movethewheels/utils/consolidationLot.ts +24 -0
  347. package/src/movethewheels/utils/consolidationPins.ts +52 -0
  348. package/src/movethewheels/utils/consolidationRecovery.ts +88 -0
  349. package/src/movethewheels/utils/consolidationReportHead.ts +29 -0
  350. package/src/movethewheels/utils/freeTimeDate.ts +31 -0
  351. package/src/movethewheels/utils/freightAcknowledgement.ts +31 -0
  352. package/src/movethewheels/utils/freightDraft.ts +170 -0
  353. package/src/movethewheels/utils/freightRecovery.ts +79 -0
  354. package/src/movethewheels/utils/graphqlClient.ts +14 -5
  355. package/src/movethewheels/utils/pendingPickDraft.ts +61 -0
  356. package/src/movethewheels/utils/procedureInput.ts +98 -0
  357. package/src/movethewheels/utils/procedureRecovery.ts +92 -0
  358. package/src/movethewheels/utils/reuseAttempt.ts +29 -0
  359. package/src/movethewheels/utils/reuseForm.ts +30 -0
  360. package/src/movethewheels/utils/reuseRecovery.ts +151 -0
  361. package/src/movethewheels/utils/stockBindingForm.ts +209 -0
  362. package/src/movethewheels/utils/stockBindingLabels.ts +41 -0
  363. package/src/movethewheels/utils/stockObservationForm.ts +73 -0
  364. package/src/movethewheels/utils/tripDraftContext.ts +61 -0
  365. package/src/movethewheels/utils/tripUtilizationForm.ts +105 -0
  366. package/src/operations/condition/container-condition.graphql +41 -0
  367. package/src/operations/consolidation/consolidation.graphql +490 -0
  368. package/src/operations/container/container-lifecycle.graphql +80 -0
  369. package/src/operations/empty-reuse/empty-reuse.graphql +737 -0
  370. package/src/operations/free-time/free-time.graphql +47 -0
  371. package/src/operations/freight-cost/freight.graphql +6 -0
  372. package/src/operations/logistics-procedure/procedure.graphql +15 -0
  373. package/src/operations/pending-pick/pending-pick.graphql +1122 -0
  374. package/src/operations/stock-binding/stock-binding.graphql +160 -0
  375. package/src/operations/stock-observation/stock-observation.graphql +20 -0
  376. package/src/operations/trip-utilization/trip-utilization.graphql +126 -0
  377. package/src/operations/wspace/container-evidence.graphql +6 -0
@@ -0,0 +1,71 @@
1
+ import { resolveGraphqlUrl as e } from "./graphqlClient.js";
2
+ import { Kind as t, parse as n, print as r } from "graphql";
3
+ //#region src/movethewheels/utils/reuseRecovery.ts
4
+ var i = "movethewheels.empty-reuse.unresolved.v1", a = 2e5, o = new Set([
5
+ "RecordReturnInstruction",
6
+ "RecordReuseProposal",
7
+ "RecordReuseApproval",
8
+ "AcceptReuseReservation",
9
+ "TerminateReuseReservation"
10
+ ]);
11
+ function s(e) {
12
+ return typeof e == "object" && !!e && !Array.isArray(e);
13
+ }
14
+ function c(t, n, r, i, a) {
15
+ if (!t || !n || !a) return null;
16
+ try {
17
+ let o = a.split(".")[1], c = JSON.parse(atob(o.replace(/-/g, "+").replace(/_/g, "/")));
18
+ if (!s(c) || c.sub !== t || c.workspaceId !== n || typeof c.organizationId != "string" || !c.organizationId || !Object.hasOwn(c, "projectId")) return null;
19
+ let l = c.projectId;
20
+ return l != null && typeof l != "string" ? null : {
21
+ actorId: t,
22
+ workspaceId: n,
23
+ tenantId: r ?? "",
24
+ organizationId: c.organizationId,
25
+ gateway: e(i),
26
+ projectId: l ?? null
27
+ };
28
+ } catch {
29
+ return null;
30
+ }
31
+ }
32
+ function l(e) {
33
+ return JSON.stringify(e);
34
+ }
35
+ function u(e, t) {
36
+ return t !== null && e.actorId === t.actorId && e.workspaceId === t.workspaceId && e.tenantId === t.tenantId && e.organizationId === t.organizationId && e.gateway === t.gateway && e.projectId === t.projectId;
37
+ }
38
+ function d(e, i) {
39
+ if (!e || new TextEncoder().encode(e).byteLength > a) return null;
40
+ try {
41
+ let a = JSON.parse(e);
42
+ if (!s(a) || a.version !== 1 || !s(a.scope) || !s(a.input)) return null;
43
+ let c = a.scope;
44
+ if (typeof c.actorId != "string" || typeof c.workspaceId != "string" || typeof c.tenantId != "string" || typeof c.organizationId != "string" || typeof c.gateway != "string" || !c.actorId || !c.workspaceId || c.projectId !== null && typeof c.projectId != "string" || typeof a.operation != "string" || !i.some((e) => r(e) === a.operation)) return null;
45
+ let l = n(a.operation).definitions.find((e) => e.kind === t.OPERATION_DEFINITION);
46
+ return !l || l.kind !== t.OPERATION_DEFINITION || l.operation !== "mutation" || !l.name || !o.has(l.name.value) || typeof a.key != "string" || !a.key || a.key.length > 200 || typeof a.success != "string" || a.success.length > 500 ? null : {
47
+ version: 1,
48
+ scope: {
49
+ actorId: c.actorId,
50
+ workspaceId: c.workspaceId,
51
+ tenantId: c.tenantId,
52
+ organizationId: c.organizationId,
53
+ gateway: c.gateway,
54
+ projectId: c.projectId
55
+ },
56
+ operation: a.operation,
57
+ input: a.input,
58
+ key: a.key,
59
+ success: a.success
60
+ };
61
+ } catch {
62
+ return null;
63
+ }
64
+ }
65
+ function f(e) {
66
+ let t = JSON.stringify(e);
67
+ if (new TextEncoder().encode(t).byteLength > a) throw Error("This request is too large to retain safely.");
68
+ return t;
69
+ }
70
+ //#endregion
71
+ export { i as REUSE_RECOVERY_STORAGE, d as decodeReuseRecovery, f as encodeReuseRecovery, l as reuseRecoveryContextKey, c as reuseRecoveryScope, u as sameReuseRecoveryScope };
@@ -0,0 +1,142 @@
1
+ import { freeTimeIso as e } from "./freeTimeDate.js";
2
+ //#region src/movethewheels/utils/stockBindingForm.ts
3
+ function t(e) {
4
+ return `${e.warehouse?.name ?? "Warehouse unavailable"} (${e.warehouse?.code ?? "unknown code"}) / ${e.cargoItem?.name ?? "Cargo unavailable"} (${e.cargoItem?.sku ?? "unknown SKU"}) / ${e.locationId === null ? "Unbinned" : e.location?.locationCode ?? "Bin unavailable"}`;
5
+ }
6
+ function n(e, n) {
7
+ if (!e.cargoItem || !e.warehouse || e.cargoItem.id !== e.cargoItemId || e.warehouse.id !== e.warehouseId || (e.locationId === null ? e.location != null : !e.location || e.location.id !== e.locationId || e.location.warehouseId !== e.warehouseId)) throw Error("This stock line is missing a current owner. Refresh and review it before recording.");
8
+ if (!Number.isInteger(e.compositionEpoch) || e.compositionEpoch < 0 || e.compositionEpoch > 2147483647) throw Error("The current continuity revision is unavailable. Refresh and review this stock line.");
9
+ if (n && n.inventoryItemId !== e.id) throw Error("The previous assessment belongs to another stock line.");
10
+ return {
11
+ inventoryItemId: e.id,
12
+ expectedCompositionEpoch: e.compositionEpoch,
13
+ expectedCargoItemId: e.cargoItemId,
14
+ expectedWarehouseId: e.warehouseId,
15
+ expectedLocationId: e.locationId ?? null,
16
+ expectedInventoryUpdatedAt: e.updatedAt,
17
+ expectedCargoUpdatedAt: e.cargoItem.updatedAt,
18
+ expectedWarehouseUpdatedAt: e.warehouse.updatedAt,
19
+ expectedLocationUpdatedAt: e.location?.updatedAt ?? null,
20
+ expectedPreviousAssessmentId: n?.id ?? null,
21
+ expectedVersion: n?.version ?? 0,
22
+ label: t(e)
23
+ };
24
+ }
25
+ function r(e, t, r) {
26
+ if (!t) return !1;
27
+ try {
28
+ let i = n(t, r);
29
+ return Object.entries(i).every(([t, n]) => t === "label" || e[t] === n);
30
+ } catch {
31
+ return !1;
32
+ }
33
+ }
34
+ function i(e, t, n, i) {
35
+ if (!r(t, n, i)) throw Error("This stock line or its recorded history changed. Refresh and review a new draft.");
36
+ return {
37
+ inventoryItemId: t.inventoryItemId,
38
+ expectedCompositionEpoch: t.expectedCompositionEpoch,
39
+ expectedCargoItemId: t.expectedCargoItemId,
40
+ expectedWarehouseId: t.expectedWarehouseId,
41
+ expectedLocationId: t.expectedLocationId,
42
+ expectedInventoryUpdatedAt: t.expectedInventoryUpdatedAt,
43
+ expectedCargoUpdatedAt: t.expectedCargoUpdatedAt,
44
+ expectedWarehouseUpdatedAt: t.expectedWarehouseUpdatedAt,
45
+ expectedLocationUpdatedAt: t.expectedLocationUpdatedAt,
46
+ expectedPreviousAssessmentId: t.expectedPreviousAssessmentId,
47
+ expectedVersion: t.expectedVersion,
48
+ ...e
49
+ };
50
+ }
51
+ function a(e, t, n = 255) {
52
+ let r = e.get(t);
53
+ if (r === null || r === "") return null;
54
+ if (typeof r != "string") throw Error("Enter text source facts.");
55
+ let i = r.trim();
56
+ if (!i) return null;
57
+ if (i.length > n) throw Error(`${t} exceeds ${n} characters.`);
58
+ return i;
59
+ }
60
+ function o(t, n) {
61
+ let r = a(t, n);
62
+ return r === null ? null : e(r);
63
+ }
64
+ function s(e, t, n) {
65
+ let r = n.find((n) => n === e.get(t));
66
+ if (!r) throw Error(`Choose a declared ${t}.`);
67
+ return r;
68
+ }
69
+ function c(t, n) {
70
+ let r = s(t, "validityPolicy", [
71
+ "UNKNOWN",
72
+ "TIME_BOUNDED",
73
+ "NO_REQUIRED_EXPIRY"
74
+ ]), i = o(t, "validityFrom"), c = o(t, "validityUntil");
75
+ if (r === "NO_REQUIRED_EXPIRY" && c !== null || i && c && Date.parse(i) >= Date.parse(c)) throw Error("Source validity cutoff or chronology contradicts its declaration.");
76
+ let l = s(t, "lotPresent", ["UNKNOWN", "REPORTED"]) === "REPORTED", u = l ? s(t, "expiryPolicy", [
77
+ "UNKNOWN",
78
+ "TIME_BOUNDED",
79
+ "NO_REQUIRED_EXPIRY"
80
+ ]) : "UNKNOWN", d = o(t, "expiresAt");
81
+ if (l && u === "NO_REQUIRED_EXPIRY" && d !== null) throw Error("No-required-expiry lot cannot have a cutoff.");
82
+ if (!n.length || n.length > 10) throw Error("Choose 1–10 exact evidence versions from shared Files.");
83
+ return {
84
+ effectiveAt: e(a(t, "effectiveAt") ?? ""),
85
+ evidence: n.map(({ fileId: e, versionId: t }) => ({
86
+ fileId: e,
87
+ versionId: t
88
+ })),
89
+ facts: {
90
+ scope: s(t, "scope", [
91
+ "UNKNOWN",
92
+ "WHOLE_LINE",
93
+ "UNSUPPORTED_MIXED_LOT"
94
+ ]),
95
+ source: {
96
+ reference: a(t, "sourceReference"),
97
+ revision: a(t, "sourceRevision", 120)
98
+ },
99
+ countUnit: s(t, "unitPresent", ["UNKNOWN", "COUNT_UNIT"]) === "COUNT_UNIT" ? {
100
+ kind: "COUNT_UNIT",
101
+ reference: a(t, "unitReference"),
102
+ revision: a(t, "unitRevision", 120)
103
+ } : null,
104
+ scanMapping: {
105
+ reportedItemLabel: a(t, "itemLabel"),
106
+ reportedBinLabel: a(t, "binLabel"),
107
+ mappingReference: a(t, "mappingReference"),
108
+ mappingRevision: a(t, "mappingRevision", 120)
109
+ },
110
+ declaredLotPolicy: s(t, "lotPolicy", [
111
+ "UNKNOWN",
112
+ "REQUIRED",
113
+ "NOT_REQUIRED"
114
+ ]),
115
+ lot: l ? {
116
+ reference: a(t, "lotReference"),
117
+ revision: a(t, "lotRevision", 120),
118
+ declaredDisposition: s(t, "lotDisposition", [
119
+ "UNKNOWN",
120
+ "RELEASED",
121
+ "HELD",
122
+ "EXPIRED"
123
+ ]),
124
+ expiry: {
125
+ policy: u,
126
+ expiresAt: d,
127
+ sourceReference: a(t, "expiryReference"),
128
+ sourceRevision: a(t, "expiryRevision", 120)
129
+ }
130
+ } : null,
131
+ sourceValidity: {
132
+ policy: r,
133
+ from: i,
134
+ until: c,
135
+ sourceReference: a(t, "validityReference"),
136
+ sourceRevision: a(t, "validityRevision", 120)
137
+ }
138
+ }
139
+ };
140
+ }
141
+ //#endregion
142
+ export { i as inputForStockDraft, c as readStockFactDraft, t as stockContextLabel, r as stockContextMatches, n as stockDraftPin };
@@ -0,0 +1,23 @@
1
+ //#region src/movethewheels/utils/stockBindingLabels.ts
2
+ function e(e) {
3
+ return e === "SOURCE_FACTS_ONLY" ? "Reported facts" : e === "INCOMPLETE" ? "Missing facts" : e === "UNSUPPORTED_MIXED_LOT" ? "Mixed lots need separate handling" : "Unknown";
4
+ }
5
+ function t(e) {
6
+ if (!e || e === "UNKNOWN") return "Unknown";
7
+ if (e === "NO_REQUIRED_EXPIRY") return "Source reports no required expiry";
8
+ if (e === "COUNT_UNIT") return "Explicit count unit";
9
+ if (e === "UNSUPPORTED_MIXED_LOT") return "Mixed lots need separate handling";
10
+ let t = e.toLowerCase().replaceAll("_", " ");
11
+ return t.charAt(0).toUpperCase() + t.slice(1);
12
+ }
13
+ function n(e) {
14
+ let t = e.toLowerCase().replaceAll("_", " ").replace(/^declared /, "Reported ").replace(/ unknown$/, " is unknown");
15
+ return t.charAt(0).toUpperCase() + t.slice(1);
16
+ }
17
+ function r(e, t) {
18
+ if (e.capturedCompositionEpoch == null) return "Continuity revision not recorded.";
19
+ let n = `Recorded continuity revision: ${e.capturedCompositionEpoch}.`;
20
+ return !t || t.id !== e.inventoryItemId || !Number.isInteger(t.compositionEpoch) || t.compositionEpoch < 0 || t.compositionEpoch > 2147483647 ? `${n} Current comparison unavailable.` : t.compositionEpoch === e.capturedCompositionEpoch ? `${n} Matches the displayed stock revision.` : `${n} Stock context changed since this record.`;
21
+ }
22
+ //#endregion
23
+ export { e as stockCompletenessLabel, r as stockContinuityLabel, t as stockFactLabel, n as stockMissingFactLabel };
@@ -0,0 +1,55 @@
1
+ //#region src/movethewheels/utils/stockObservationForm.ts
2
+ function e(e, t, n, r = !1) {
3
+ let i = e.get(t);
4
+ if (typeof i != "string") throw Error("Reported field is missing.");
5
+ let a = i.trim();
6
+ if (a.length > n || r && !a) throw Error("Check the reported field length.");
7
+ return a || null;
8
+ }
9
+ function t(e) {
10
+ let t = e.trim();
11
+ if (!t) return null;
12
+ if (!/^\d+$/.test(t)) throw Error("Reported count must be a whole number or blank.");
13
+ let n = Number(t);
14
+ if (!Number.isSafeInteger(n) || n > 2147483647) throw Error("Reported count is outside the supported range.");
15
+ return n;
16
+ }
17
+ function n(e) {
18
+ if (!e) return null;
19
+ let t = new Date(e);
20
+ if (!Number.isFinite(t.getTime()) || t.getTime() > Date.now()) throw Error("Reported observation time must be valid and no later than now.");
21
+ return t.toISOString();
22
+ }
23
+ function r(r, i) {
24
+ let a = e(i, "kind", 40, !0), o = e(i, "countScope", 40, !0);
25
+ if (a !== "COUNT_DISCREPANCY" && a !== "DAMAGE" && a !== "IDENTITY_UNCERTAIN" && a !== "OTHER") throw Error("Choose a supported issue.");
26
+ if (o !== "WHOLE_LINE" && o !== "UNKNOWN") throw Error("Choose a supported count scope.");
27
+ let s = e(i, "fileId", 255), c = e(i, "versionId", 255);
28
+ if (!!s != !!c) throw Error("Enter both exact file and version references, or leave both blank.");
29
+ let l = e(i, "unitReference", 255), u = e(i, "unitRevision", 255), d = e(i, "sourceReference", 255), f = e(i, "sourceRevision", 255), p = i.get("countUnit");
30
+ if (p !== "COUNT_UNIT" && p !== "UNKNOWN") throw Error("Choose a supported reported unit.");
31
+ if (p === "UNKNOWN" && (l || u)) throw Error("Select count unit before supplying its references.");
32
+ return {
33
+ inventoryItemId: r,
34
+ kind: a,
35
+ countScope: o,
36
+ observedCount: t(e(i, "observedCount", 32) ?? ""),
37
+ reportedCountUnit: p === "COUNT_UNIT" ? {
38
+ kind: "COUNT_UNIT",
39
+ reference: l,
40
+ revision: u
41
+ } : null,
42
+ source: d || f ? {
43
+ reference: d,
44
+ revision: f
45
+ } : null,
46
+ reportedObservedAt: n(e(i, "reportedObservedAt", 50) ?? ""),
47
+ reason: e(i, "reason", 1e3, !0) ?? "",
48
+ evidenceDeclarations: s && c ? [{
49
+ fileId: s,
50
+ versionId: c
51
+ }] : []
52
+ };
53
+ }
54
+ //#endregion
55
+ export { r as stockObservationInput };
@@ -0,0 +1,19 @@
1
+ //#region src/movethewheels/utils/tripDraftContext.ts
2
+ function e(e, t) {
3
+ return !!t && t.id === e.routeId && t.updatedAt === e.routeUpdatedAt && t.vehicleId === e.vehicleId;
4
+ }
5
+ function t(t, n, r) {
6
+ return e(t, n) && !!r && r.id === t.vehicleId && r.updatedAt === t.vehicleUpdatedAt;
7
+ }
8
+ function n(e, n, r, i) {
9
+ if (!t(n, r, i)) throw Error("Route assignment or revision changed since this draft began. Refresh context, review the route and vehicle, and start a new report; the entered measurements will not be reassigned automatically.");
10
+ return {
11
+ ...e,
12
+ routeId: n.routeId,
13
+ vehicleId: n.vehicleId,
14
+ expectedRouteUpdatedAt: n.routeUpdatedAt,
15
+ expectedVehicleUpdatedAt: n.vehicleUpdatedAt
16
+ };
17
+ }
18
+ //#endregion
19
+ export { n as inputForTripDraft, t as tripContextStillMatches, e as tripRouteStillMatches };
@@ -0,0 +1,60 @@
1
+ import { freeTimeIso as e } from "./freeTimeDate.js";
2
+ import { reuseText as t } from "./reuseForm.js";
3
+ //#region src/movethewheels/utils/tripUtilizationForm.ts
4
+ function n(e, t, n = !1) {
5
+ if (!e.trim()) return null;
6
+ if (!/^(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(e.trim())) throw Error("Enter a nonnegative measurement, or leave it blank for UNKNOWN.");
7
+ let r = Number(e);
8
+ if (!Number.isFinite(r) || r > t || r === 0 && /[1-9]/.test(e.trim().split(/[eE]/)[0] ?? "") || (n ? r <= 0 : r < 0)) throw Error(`Measurement must be ${n ? "positive" : "nonnegative"}, finite and no greater than ${t}.`);
9
+ return r;
10
+ }
11
+ function r(e, t, n) {
12
+ let r = t.find((t) => t === e);
13
+ if (!r) throw Error(`Choose ${n}.`);
14
+ return r;
15
+ }
16
+ function i(i, a, o, s, c) {
17
+ if (!c.length) throw Error("Select exact readable evidence versions for the report.");
18
+ let l = e(t(i, "intervalFrom")), u = e(t(i, "intervalUntil"));
19
+ if (l > u) throw Error("The report interval must end at or after its start.");
20
+ let d = a.map((a, s) => {
21
+ let c = (e) => t(i, `${a}.${e}`), d = c("observedAt"), f = d ? e(d) : null;
22
+ if (o === "OBSERVED" && (!f || f < l || f > u)) throw Error(`Segment ${s + 1}: observation time must be within the reported interval.`);
23
+ return {
24
+ segmentId: a,
25
+ sequence: s + 1,
26
+ loadedState: r(c("loadedState"), [
27
+ "EMPTY",
28
+ "LOADED",
29
+ "UNKNOWN"
30
+ ], "explicit load state"),
31
+ distanceKm: n(c("distanceKm"), 1e7),
32
+ payloadKg: n(c("payloadKg"), 1e9),
33
+ payloadCapacityKg: n(c("payloadCapacityKg"), 1e9, !0),
34
+ cubeM3: n(c("cubeM3"), 1e9),
35
+ cubeCapacityM3: n(c("cubeCapacityM3"), 1e9, !0),
36
+ source: {
37
+ reference: c("reference"),
38
+ revision: c("revision"),
39
+ observedAt: f,
40
+ distanceBasis: r(c("distanceBasis"), o === "OBSERVED" ? ["MEASURED"] : ["PROVIDER_ESTIMATE", "OPERATOR_ESTIMATE"], "distance source basis"),
41
+ loadBasis: r(c("loadBasis"), o === "OBSERVED" ? ["MEASURED"] : ["MEASURED", "SOURCE_CONFIRMED_PLAN"], "load source basis"),
42
+ capacityBasis: r(c("capacityBasis"), ["RATED", "MEASURED"], "capacity source basis")
43
+ }
44
+ };
45
+ });
46
+ return {
47
+ tripId: t(i, "tripReference"),
48
+ basis: o,
49
+ declaredCoverage: s,
50
+ intervalFrom: l,
51
+ intervalUntil: u,
52
+ segments: d,
53
+ evidence: c.map(({ fileId: e, versionId: t }) => ({
54
+ fileId: e,
55
+ versionId: t
56
+ }))
57
+ };
58
+ }
59
+ //#endregion
60
+ export { i as readTripDraft };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-movethewheels",
3
- "version": "2026.930.4",
3
+ "version": "2026.1010.1",
4
4
  "description": "Burdenoff MoveTheWheels Microfrontend - Logistics & Supply Chain Management Platform",
5
5
  "type": "module",
6
6
  "files": [
@@ -25,6 +25,7 @@
25
25
  "main": "./dist/index.js",
26
26
  "types": "./dist/index.d.ts",
27
27
  "scripts": {
28
+ "verify:live-logistics-contract": "bun test scripts/check-logistics-live-contract.test.mjs scripts/fetch-logistics-live-schema.test.mjs",
28
29
  "dev": "vite --port 5191",
29
30
  "build": "tsc && bash scripts/build-limits.sh --gate vite build",
30
31
  "lint": "eslint .",
@@ -32,21 +33,32 @@
32
33
  "format": "prettier --write \"src/**/*.{ts,tsx}\"",
33
34
  "type:check": "bash scripts/build-limits.sh tsc --noEmit",
34
35
  "validate:schema-drift": "graphql-schema-drift",
35
- "sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run validate:schema-drift && bun run lint:sanity && bun run format && bun run type:check && bun run build && bun run build-storybook'",
36
+ "sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run validate:schema-drift && bun run lint:sanity && bun run format && bun run type:check && bun run verify:live-logistics-contract && bun run verify:empty-reuse-retry && bun run verify:empty-reuse-recovery && bun run verify:trip-utilization-input && bun run verify:trip-draft-context && bun run verify:stock-binding-input && bun run verify:stock-observation-input && bun run verify:pending-pick-input && bun run verify:freight-input && bun run verify:freight-recovery && bun run verify:procedure-input && bun run verify:consolidation && bun run build && bun run build-storybook'",
36
37
  "storybook": "storybook dev -p 6006",
37
38
  "build-storybook": "storybook build",
38
39
  "test:storybook": "test-storybook",
39
40
  "schema:pull": "bash scripts/schema-pull.sh",
40
41
  "schema:pull:introspect": "bash scripts/schema-pull.sh --mode introspect",
41
42
  "schema:check": "bash scripts/schema-pull.sh --check",
42
- "codegen": "graphql-codegen --project wspace",
43
+ "verify:stock-binding-input": "bun scripts/verify-stock-binding-input.mjs",
44
+ "codegen": "graphql-codegen --project wspace && graphql-codegen --project container-foundation && graphql-codegen --project container-condition && graphql-codegen --project free-time && graphql-codegen --project empty-reuse && graphql-codegen --project trip-utilization && graphql-codegen --project stock-binding && graphql-codegen --project stock-observation && graphql-codegen --project pending-pick && graphql-codegen --project freight-cost && graphql-codegen --project logistics-procedure && graphql-codegen --project consolidation",
43
45
  "codegen:all": "bun run schema:pull && bun run codegen",
44
46
  "switch:status": "bun scripts/deps-mode.ts status",
45
47
  "switch:remote": "bun scripts/deps-mode.ts remote",
46
48
  "switch:local": "bun scripts/deps-mode.ts local",
47
49
  "switch:check": "bun scripts/deps-mode.ts check",
48
50
  "prepare": "lefthook install || true",
49
- "format:check": "prettier --check \"src/**/*.{ts,tsx}\""
51
+ "format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
52
+ "verify:empty-reuse-retry": "bun scripts/verify-empty-reuse-retry.mjs",
53
+ "verify:trip-utilization-input": "bun scripts/verify-trip-utilization-input.mjs",
54
+ "verify:trip-draft-context": "bun scripts/verify-trip-draft-context.mjs",
55
+ "verify:stock-observation-input": "bun scripts/verify-stock-observation-input.mjs",
56
+ "verify:pending-pick-input": "bun scripts/verify-pending-pick-input.mjs",
57
+ "verify:empty-reuse-recovery": "bun scripts/verify-empty-reuse-recovery.mjs && bun scripts/verify-empty-reuse-recovery-hook.mjs",
58
+ "verify:freight-input": "bun scripts/verify-freight-input.mjs",
59
+ "verify:freight-recovery": "bun scripts/verify-freight-recovery-hook.mjs",
60
+ "verify:procedure-input": "bun scripts/verify-procedure-input.mjs && bun scripts/verify-procedure-recovery-hook.mjs",
61
+ "verify:consolidation": "bun scripts/verify-consolidation-input.mjs && bun scripts/verify-consolidation-recovery-hook.mjs && bun scripts/verify-consolidation-mounted-hook.mjs"
50
62
  },
51
63
  "dependencies": {
52
64
  "@apollo/client": "^4.0.11",
@@ -66,6 +78,7 @@
66
78
  "zustand": "^5.0.3"
67
79
  },
68
80
  "devDependencies": {
81
+ "@escape.tech/graphql-armor-cost-limit": "2.4.3",
69
82
  "@eslint/js": "^9.39.2",
70
83
  "@graphql-codegen/add": "^5.0.0",
71
84
  "@graphql-codegen/cli": "^5.0.0",
@@ -94,11 +107,12 @@
94
107
  "lefthook": "^2.1.1",
95
108
  "postcss": "^8.4.49",
96
109
  "prettier": "^3.4.2",
110
+ "react-test-renderer": "19.3.0",
97
111
  "storybook": "^8.6.0",
98
112
  "tailwindcss": "^4.0.0",
99
113
  "typescript": "^5.9.0",
100
114
  "typescript-eslint": "^8.54.0",
101
- "vite": "8.0.8",
115
+ "vite": "8.0.16",
102
116
  "vite-plugin-dts": "3.9.1"
103
117
  },
104
118
  "peerDependencies": {