@burdenoff/microfe-movethewheels 2026.703.5 → 2026.703.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 (91) hide show
  1. package/dist/{AIAssistantPage-D2gaEL1U.js → AIAssistantPage-BmILdHgO.js} +5 -5
  2. package/dist/{AnalyticsPage-DZMlEoBi.js → AnalyticsPage-BSlsiSDE.js} +9 -9
  3. package/dist/{CreateOrderPage-CWHx8yys.js → CreateOrderPage-DaCgVaO3.js} +11 -11
  4. package/dist/{CustomerDetailsPage-nR4oZ_ju.js → CustomerDetailsPage-DErpbafW.js} +16 -16
  5. package/dist/{CustomersPage-Bbvwvn8k.js → CustomersPage-C1lRU6xs.js} +11 -11
  6. package/dist/{DashboardPage-DrEhNf7N.js → DashboardPage-Q5-5EKAU.js} +17 -17
  7. package/dist/{DataTable-CqMUD4er.js → DataTable-KjzbwnRL.js} +5 -5
  8. package/dist/{DocumentsCard-edDkgnJj.js → DocumentsCard-T9y6cv4-.js} +4 -4
  9. package/dist/{DriverDetailsPage-whEMOWs9.js → DriverDetailsPage-DnHGkDC7.js} +14 -14
  10. package/dist/{DriversPage-CHF2ZEzd.js → DriversPage-C0ujWVOn.js} +11 -11
  11. package/dist/{FinancePage-Dn9GrW-1.js → FinancePage-CA2XEgsQ.js} +9 -9
  12. package/dist/{FleetPage-CrtGPy-p.js → FleetPage-DrvXW7wK.js} +10 -10
  13. package/dist/{FormError-BKcb_wT-.js → FormError-CRsMP7TQ.js} +1 -1
  14. package/dist/{ImportExportPage-WYdwZomZ.js → ImportExportPage-Cac9HjFx.js} +6 -6
  15. package/dist/{InventoryPage-l5A1f753.js → InventoryPage-Ezf4gqKI.js} +10 -10
  16. package/dist/{LiveTrackingPage-DhEaNKZ4.js → LiveTrackingPage-CzbVwDqK.js} +10 -10
  17. package/dist/{MarketplacePage-B9RYOb1Y.js → MarketplacePage-BHDmSQmo.js} +9 -9
  18. package/dist/{MetricCard-y3bWHKUQ.js → MetricCard-DQlDNqmK.js} +2 -2
  19. package/dist/{Notice-DOO-tjpV.js → Notice-GmA7JDR3.js} +2 -2
  20. package/dist/{OrderDetailsPage-CwYHwk1K.js → OrderDetailsPage-CR0Wc1aN.js} +20 -20
  21. package/dist/{OrdersListPage-DhZJoQeI.js → OrdersListPage-C8Bu6wXM.js} +14 -14
  22. package/dist/{PageLayout-BniRJaQ6.js → PageLayout-DX1Ou6V6.js} +164 -134
  23. package/dist/{ProductDetailsPage-1Gm9JKy0.js → ProductDetailsPage-B_ns2MOe.js} +9 -9
  24. package/dist/{ProductsPage-C8sn-1tN.js → ProductsPage-c92BsEoA.js} +9 -9
  25. package/dist/{ReportsPage-D1tb0dcz.js → ReportsPage-CPLXtLT2.js} +9 -9
  26. package/dist/{RouteDetailsPage-CkMyR9b_.js → RouteDetailsPage-DOfcRiFv.js} +18 -18
  27. package/dist/{RoutesPage-QkENzsE5.js → RoutesPage-BZGublby.js} +7 -7
  28. package/dist/{SettingsPage-DV3_tU_X.js → SettingsPage-5cweX_xh.js} +4 -4
  29. package/dist/{Sparkline-K2RMJ58u.js → Sparkline-zSXvG6vA.js} +1 -1
  30. package/dist/{StatusBadge-BNHXYvZx.js → StatusBadge-oZjownr1.js} +1 -1
  31. package/dist/{TrackingPage-BZrg4RCu.js → TrackingPage-Ln9qVflK.js} +11 -11
  32. package/dist/{VehicleDetailsPage-D-8XPZ2G.js → VehicleDetailsPage-CrkzE0dN.js} +12 -12
  33. package/dist/{VehiclesPage-D5BELbtM.js → VehiclesPage-CTQWH7af.js} +12 -12
  34. package/dist/{WarehouseDetailsPage-Cmg-8Frn.js → WarehouseDetailsPage-CwDLaG65.js} +11 -11
  35. package/dist/{WarehousesPage-C1Y1M867.js → WarehousesPage-KW02DvZg.js} +8 -8
  36. package/dist/{arrow-left-ClW4Isj7.js → arrow-left-DJDw_Yqv.js} +1 -1
  37. package/dist/{arrow-right-CmKOmIkh.js → arrow-right-Cb2fLTPJ.js} +1 -1
  38. package/dist/{arrow-up-BJijRLAZ.js → arrow-up-PxaOIyiT.js} +1 -1
  39. package/dist/{box-BT3NsRQP.js → box-hSJVtvGf.js} +1 -1
  40. package/dist/{boxes-B_OGvQiW.js → boxes-DDnxEkT5.js} +1 -1
  41. package/dist/{chart-column-DQTTdUPk.js → chart-column-xXgAZvRl.js} +1 -1
  42. package/dist/{charts-Tj_PPTfA.js → charts-CfCwQg6o.js} +2 -2
  43. package/dist/{chevron-left-B1rZyWWb.js → chevron-left-dhEGJYdh.js} +1 -1
  44. package/dist/{chevron-right-BIcwUJZq.js → chevron-right-Cud2NDvm.js} +1 -1
  45. package/dist/{circle-alert-CNkuDNc6.js → circle-alert-Rx0p3D5w.js} +1 -1
  46. package/dist/{circle-check-Cs1OVjtV.js → circle-check-BCxRFdFo.js} +1 -1
  47. package/dist/{circle-check-big-C-p4eNwn.js → circle-check-big-BcIJ8xjx.js} +1 -1
  48. package/dist/{clock-dRGG4rkF.js → clock-B2_YxJgB.js} +1 -1
  49. package/dist/{dollar-sign-B6RoYHHz.js → dollar-sign-CQmAICv4.js} +1 -1
  50. package/dist/{download-DP04iWTd.js → download-CG4Tponq.js} +1 -1
  51. package/dist/{file-text-BuDx4hZp.js → file-text-CzH-zMub.js} +1 -1
  52. package/dist/{filter-BD483_8g.js → filter-C0u2Lwfn.js} +1 -1
  53. package/dist/{fuel-DLH1ag04.js → fuel-C2KELcM-.js} +1 -1
  54. package/dist/index.js +33 -33
  55. package/dist/{map-DNQn9fyY.js → map-FuPu5aTw.js} +1 -1
  56. package/dist/{map-pin-CqN1bbT1.js → map-pin-czpLv9uy.js} +1 -1
  57. package/dist/{maps-yzLqiK_C.js → maps-D9m7PKrs.js} +1 -1
  58. package/dist/{navigation-CgGUt2tR.js → navigation-D5_pdCSS.js} +1 -1
  59. package/dist/{package-DmRF7iQD.js → package-B0sdi6lU.js} +1 -1
  60. package/dist/{phone-Cl32EXKW.js → phone-V2nuzPu9.js} +1 -1
  61. package/dist/{plus-DlANgOFx.js → plus-BqQxkfoU.js} +1 -1
  62. package/dist/{refresh-cw-rW59D4b7.js → refresh-cw-CEOAPEcV.js} +1 -1
  63. package/dist/{route-CWjPrtAN.js → route-CZWcW-Dw.js} +1 -1
  64. package/dist/{save-UDlog7hg.js → save-DDFvrxWl.js} +1 -1
  65. package/dist/{search-DNIG5Ck7.js → search-D7Ya6jxj.js} +1 -1
  66. package/dist/{square-pen-BcfB3Grd.js → square-pen-DoZZS4Lw.js} +1 -1
  67. package/dist/{star-CVZHFwDx.js → star-B7PgVu5j.js} +1 -1
  68. package/dist/{store-bwnmCK9f.js → store-YVzcIG4A.js} +1 -1
  69. package/dist/{trash-2-B80G12d4.js → trash-2-BegnBzwI.js} +1 -1
  70. package/dist/{trending-up-CH4R4KOa.js → trending-up-DBd3XNdb.js} +1 -1
  71. package/dist/{triangle-alert-CmS8AUU6.js → triangle-alert-Bxk3Kgs6.js} +1 -1
  72. package/dist/{truck-9rLDncav.js → truck-Clrn0oHp.js} +1 -1
  73. package/dist/{upload-DanJY1Vo.js → upload-Df5JmMwH.js} +1 -1
  74. package/dist/{useAssistant-CnEwkTLm.js → useAssistant-Cb8nnIVC.js} +1 -1
  75. package/dist/{useCustomers-ChJao1ET.js → useCustomers-Dq2IR2HQ.js} +1 -1
  76. package/dist/{useFleet-g5Yri0G8.js → useFleet-CapnWBcA.js} +1 -1
  77. package/dist/{useImportExport-MYwIT3rE.js → useImportExport-BoGzrlJy.js} +1 -1
  78. package/dist/{useInventory-BSOn-R1c.js → useInventory-Ci6M2d9f.js} +1 -1
  79. package/dist/{useOrders-BSiqo61w.js → useOrders-BuQU1OHX.js} +1 -1
  80. package/dist/{useReports-fWESfsF9.js → useReports-DIx8W7CO.js} +1 -1
  81. package/dist/{useRoutes-zD8Yp323.js → useRoutes-D7EvI_pm.js} +1 -1
  82. package/dist/{useSettings-B1lsWeZ1.js → useSettings-BhX251UQ.js} +1 -1
  83. package/dist/{useTracking-BKG0I2ln.js → useTracking-C40jmZ6W.js} +3 -3
  84. package/dist/{user-DU51el3m.js → user-BlcJrbtE.js} +1 -1
  85. package/dist/{user-check-IMhk-qkX.js → user-check-DtnQmimP.js} +1 -1
  86. package/dist/{users-B8KhJBGg.js → users-Cvwko-Dx.js} +1 -1
  87. package/dist/{warehouse-CcMMioeY.js → warehouse-LWLVTk6G.js} +1 -1
  88. package/dist/{wrench-Dg-sgH2e.js → wrench-Cme0RbyR.js} +1 -1
  89. package/dist/{x-C4ObLVEa.js → x-D8C9Pg5V.js} +1 -1
  90. package/package.json +1 -1
  91. package/src/movethewheels/utils/graphqlClient.ts +81 -31
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/store.js
3
3
  var t = e("Store", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/trash-2.js
3
3
  var t = e("Trash2", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/trending-up.js
3
3
  var t = e("TrendingUp", [["polyline", {
4
4
  points: "22 7 13.5 15.5 8.5 10.5 2 17",
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/triangle-alert.js
3
3
  var t = e("TriangleAlert", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/truck.js
3
3
  var t = e("Truck", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/upload.js
3
3
  var t = e("Upload", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { at as e, st as t, ut as n } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t, ut as n } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as r, useMemo as i, useState as a } from "react";
3
3
  //#region node_modules/lucide-react/dist/esm/icons/bot.js
4
4
  var o = n("Bot", [
@@ -1,4 +1,4 @@
1
- import { at as e, st as t } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
3
  //#region src/movethewheels/hooks/useCustomers.ts
4
4
  var o = "\n query ListCustomers($filter: CustomerFilterInput, $pagination: PaginationInput) {\n customers(filter: $filter, pagination: $pagination) {\n id\n name\n email\n phone\n type\n company\n address\n businessLicense\n taxId\n rating\n createdAt\n updatedAt\n deletedAt\n }\n }\n", s = "\n query GetCustomer($id: ID!) {\n customer(id: $id) {\n id\n name\n email\n phone\n type\n company\n address\n businessLicense\n taxId\n rating\n createdAt\n updatedAt\n deletedAt\n }\n }\n", c = "\n mutation CreateCustomer($input: CreateCustomerInput!) {\n createCustomer(input: $input) {\n id\n name\n email\n phone\n type\n company\n address\n businessLicense\n taxId\n rating\n createdAt\n updatedAt\n deletedAt\n }\n }\n", l = "\n mutation UpdateCustomer($id: ID!, $input: UpdateCustomerInput!) {\n updateCustomer(id: $id, input: $input) {\n id\n name\n email\n phone\n type\n company\n address\n businessLicense\n taxId\n rating\n createdAt\n updatedAt\n deletedAt\n }\n }\n", u = "\n mutation DeleteCustomer($id: ID!) {\n deleteCustomer(id: $id)\n }\n";
@@ -1,4 +1,4 @@
1
- import { at as e, st as t } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
3
  //#region src/movethewheels/hooks/useFleet.ts
4
4
  var o = "\n query ListVehicles($filter: VehicleFilterInput, $pagination: PaginationInput) {\n vehicles(filter: $filter, pagination: $pagination) {\n id\n vehicleNumber\n type\n make\n model\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", s = "\n query ListDrivers($filter: DriverFilterInput, $pagination: PaginationInput) {\n drivers(filter: $filter, pagination: $pagination) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", c = "\n query GetVehicle($id: ID!) {\n vehicle(id: $id) {\n id\n vehicleNumber\n type\n make\n model\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", l = "\n query GetDriver($id: ID!) {\n driver(id: $id) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", u = "\n mutation UpdateVehicleStatus($id: ID!, $status: VehicleStatus!) {\n updateVehicleStatus(id: $id, status: $status) {\n id\n vehicleNumber\n type\n make\n model\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", d = "\n mutation AssignDriverVehicle($id: ID!, $vehicleId: ID) {\n assignDriverVehicle(id: $id, vehicleId: $vehicleId) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", f = "\n mutation UpdateDriverStatus($id: ID!, $status: DriverStatus!) {\n updateDriverStatus(id: $id, status: $status) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", p = "\n mutation CreateVehicle($input: CreateVehicleInput!) {\n createVehicle(input: $input) {\n id\n vehicleNumber\n type\n make\n model\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", m = "\n mutation CreateDriver($input: CreateDriverInput!) {\n createDriver(input: $input) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", h = "\n query GetFleetStats {\n fleetStats {\n totalVehicles\n activeVehicles\n inTransitVehicles\n maintenanceVehicles\n totalDrivers\n availableDrivers\n onDeliveryDrivers\n avgDriverRating\n }\n }\n";
@@ -1,4 +1,4 @@
1
- import { at as e, st as t } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as n, useMemo as r, useState as i } from "react";
3
3
  //#region src/movethewheels/hooks/useImportExport.ts
4
4
  var a = "\n mutation MovethewheelsExportData($input: MovethewheelsExportDataInput!) {\n exportData(input: $input) {\n success\n message\n payload\n }\n }\n", o = "\n mutation MovethewheelsImportData($input: MovethewheelsImportDataInput!) {\n importData(input: $input) {\n success\n message\n payload\n }\n }\n";
@@ -1,4 +1,4 @@
1
- import { at as e, st as t } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
3
  //#region src/movethewheels/hooks/useInventory.ts
4
4
  var o = "\n query ListInventoryItems($filter: InventoryFilterInput, $pagination: PaginationInput) {\n inventoryItems(filter: $filter, pagination: $pagination) {\n id\n productId\n warehouseId\n onHand\n available\n allocated\n damaged\n reorderPoint\n createdAt\n updatedAt\n }\n }\n", s = "\n query ListProducts($filter: ProductFilterInput, $pagination: PaginationInput) {\n products(filter: $filter, pagination: $pagination) {\n id\n sku\n name\n description\n category\n brand\n dimensions\n weight\n value\n hazardous\n fragile\n temperatureControlled\n createdAt\n updatedAt\n }\n }\n", c = "\n query ListWarehouses($filter: WarehouseFilterInput, $pagination: PaginationInput) {\n warehouses(filter: $filter, pagination: $pagination) {\n id\n name\n code\n type\n address\n totalCapacity\n usedCapacity\n createdAt\n }\n }\n", l = "\n query GetProduct($id: ID!) {\n product(id: $id) {\n id\n sku\n name\n description\n category\n brand\n dimensions\n weight\n value\n hazardous\n fragile\n temperatureControlled\n createdAt\n updatedAt\n }\n }\n", u = "\n query GetWarehouse($id: ID!) {\n warehouse(id: $id) {\n id\n name\n code\n type\n address\n totalCapacity\n usedCapacity\n createdAt\n }\n }\n", d = "\n query GetInventoryStats {\n inventoryStats {\n totalOnHand\n totalAvailable\n totalAllocated\n totalDamaged\n lowStockCount\n }\n }\n", f = "\n mutation CreateProduct($input: CreateProductInput!) {\n createProduct(input: $input) {\n id\n sku\n name\n description\n category\n brand\n dimensions\n weight\n value\n hazardous\n fragile\n temperatureControlled\n createdAt\n updatedAt\n }\n }\n", p = "\n mutation CreateWarehouse($input: CreateWarehouseInput!) {\n createWarehouse(input: $input) {\n id\n name\n code\n type\n address\n totalCapacity\n usedCapacity\n createdAt\n }\n }\n", m = "\n mutation AdjustInventoryStock($input: AdjustInventoryStockInput!) {\n adjustInventoryStock(input: $input) {\n id\n productId\n warehouseId\n onHand\n available\n allocated\n damaged\n reorderPoint\n createdAt\n updatedAt\n }\n }\n";
@@ -1,4 +1,4 @@
1
- import { at as e, st as t } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
3
  //#region src/movethewheels/hooks/useOrders.ts
4
4
  var o = "\n query ListMovethewheelsOrders($filter: OrderFilterInput, $pagination: PaginationInput) {\n movethewheelsOrders(filter: $filter, pagination: $pagination) {\n id\n orderNumber\n customerId\n orderType\n status\n priority\n pickupAddress\n deliveryAddress\n items\n pricing\n trackingNumber\n specialInstructions\n scheduledDelivery\n vehicleId\n driverId\n createdAt\n updatedAt\n customer {\n name\n email\n phone\n company\n }\n statusHistory {\n status\n notes\n location\n createdAt\n createdBy\n }\n }\n }\n", s = "\n query GetMovethewheelsOrder($id: ID!) {\n movethewheelsOrder(id: $id) {\n id\n orderNumber\n customerId\n orderType\n status\n priority\n pickupAddress\n deliveryAddress\n items\n pricing\n trackingNumber\n specialInstructions\n scheduledDelivery\n vehicleId\n driverId\n createdAt\n updatedAt\n customer {\n name\n email\n phone\n company\n }\n statusHistory {\n status\n notes\n location\n createdAt\n createdBy\n }\n }\n }\n", c = "\n query GetOrderStatsBundle {\n orderStats {\n total\n pending\n inTransit\n delivered\n cancelled\n failed\n }\n financeMetrics {\n revenue {\n totalRevenue\n averageOrderValue\n }\n }\n }\n", l = "\n mutation CreateMovethewheelsOrder($input: CreateOrderInput!) {\n createMovethewheelsOrder(input: $input) {\n id\n orderNumber\n customerId\n orderType\n status\n priority\n pickupAddress\n deliveryAddress\n items\n pricing\n trackingNumber\n specialInstructions\n scheduledDelivery\n vehicleId\n driverId\n createdAt\n updatedAt\n customer {\n name\n email\n phone\n company\n }\n statusHistory {\n status\n notes\n location\n createdAt\n createdBy\n }\n }\n }\n", u = "\n mutation UpdateMovethewheelsOrder($id: ID!, $input: UpdateOrderInput!) {\n updateMovethewheelsOrder(id: $id, input: $input) {\n id\n orderNumber\n customerId\n orderType\n status\n priority\n pickupAddress\n deliveryAddress\n items\n pricing\n trackingNumber\n specialInstructions\n scheduledDelivery\n vehicleId\n driverId\n createdAt\n updatedAt\n customer {\n name\n email\n phone\n company\n }\n statusHistory {\n status\n notes\n location\n createdAt\n createdBy\n }\n }\n }\n", d = "\n mutation UpdateMovethewheelsOrderStatus($id: ID!, $input: UpdateOrderStatusInput!) {\n updateMovethewheelsOrderStatus(id: $id, input: $input) {\n id\n orderNumber\n customerId\n orderType\n status\n priority\n pickupAddress\n deliveryAddress\n items\n pricing\n trackingNumber\n specialInstructions\n scheduledDelivery\n vehicleId\n driverId\n createdAt\n updatedAt\n customer {\n name\n email\n phone\n company\n }\n statusHistory {\n status\n notes\n location\n createdAt\n createdBy\n }\n }\n }\n", f = "\n mutation DeleteMovethewheelsOrder($id: ID!) {\n deleteMovethewheelsOrder(id: $id)\n }\n";
@@ -1,4 +1,4 @@
1
- import { at as e, st as t } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
3
  //#region src/movethewheels/hooks/useReports.ts
4
4
  var o = "\n id\n name\n description\n type\n status\n schedule\n lastGenerated\n createdAt\n updatedAt\n", s = `
@@ -1,4 +1,4 @@
1
- import { at as e, st as t } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
3
  //#region src/movethewheels/hooks/useRoutes.ts
4
4
  var o = "\n query ListRoutes($filter: RouteFilterInput, $pagination: PaginationInput) {\n routes(filter: $filter, pagination: $pagination) {\n id\n name\n status\n shipmentId\n vehicleId\n driverId\n waypoints\n estimatedDistance\n estimatedDuration\n fuelCost\n actualDistance\n actualDuration\n createdAt\n }\n }\n", s = "\n query GetRoute($id: ID!) {\n route(id: $id) {\n id\n name\n status\n shipmentId\n vehicleId\n driverId\n waypoints\n estimatedDistance\n estimatedDuration\n fuelCost\n actualDistance\n actualDuration\n createdAt\n }\n }\n", c = "\n mutation CreateRoute($input: CreateRouteInput!) {\n createRoute(input: $input) {\n id\n name\n status\n shipmentId\n vehicleId\n driverId\n waypoints\n estimatedDistance\n estimatedDuration\n fuelCost\n actualDistance\n actualDuration\n createdAt\n }\n }\n", l = "\n mutation UpdateRoute($id: ID!, $input: UpdateRouteInput!) {\n updateRoute(id: $id, input: $input) {\n id\n name\n status\n shipmentId\n vehicleId\n driverId\n waypoints\n estimatedDistance\n estimatedDuration\n fuelCost\n actualDistance\n actualDuration\n createdAt\n }\n }\n", u = "\n mutation DeleteRoute($id: ID!) {\n deleteRoute(id: $id)\n }\n", d = "\n mutation OptimizeRoute($id: ID!) {\n optimizeRoute(id: $id) {\n id\n name\n status\n shipmentId\n vehicleId\n driverId\n waypoints\n estimatedDistance\n estimatedDuration\n fuelCost\n actualDistance\n actualDuration\n createdAt\n }\n }\n";
@@ -1,4 +1,4 @@
1
- import { at as e, st as t, ut as n } from "./PageLayout-BniRJaQ6.js";
1
+ import { at as e, st as t, ut as n } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { useCallback as r, useEffect as i, useMemo as a, useState as o } from "react";
3
3
  //#region node_modules/lucide-react/dist/esm/icons/globe.js
4
4
  var s = n("Globe", [
@@ -1,6 +1,6 @@
1
- import { at as e, st as t } from "./PageLayout-BniRJaQ6.js";
2
- import { r as n, t as r } from "./useOrders-BSiqo61w.js";
3
- import { a as i, n as a, o, t as s } from "./useFleet-g5Yri0G8.js";
1
+ import { at as e, st as t } from "./PageLayout-DX1Ou6V6.js";
2
+ import { r as n, t as r } from "./useOrders-BuQU1OHX.js";
3
+ import { a as i, n as a, o, t as s } from "./useFleet-CapnWBcA.js";
4
4
  import { useCallback as c, useEffect as l, useMemo as u, useState as d } from "react";
5
5
  //#region src/movethewheels/hooks/useTracking.ts
6
6
  var f = "\n query ListShipments($filter: ShipmentFilterInput, $pagination: PaginationInput) {\n shipments(filter: $filter, pagination: $pagination) {\n id\n shipmentNumber\n orderId\n status\n estimatedDelivery\n }\n }\n", p = "\n query GetShipment($id: ID!) {\n shipment(id: $id) {\n id\n shipmentNumber\n orderId\n status\n estimatedDelivery\n trackingEvents {\n id\n shipmentId\n eventType\n location\n details\n timestamp\n }\n }\n }\n", m = "\n query GetOrderTracking($orderId: ID!) {\n orderTracking(orderId: $orderId) {\n id\n shipmentId\n eventType\n location\n details\n timestamp\n }\n }\n", h = "\n query GetActiveDeliveries {\n activeDeliveries {\n id\n shipmentNumber\n orderId\n status\n estimatedDelivery\n }\n }\n", g = "\n query GetTrackingAlerts {\n trackingAlerts {\n shipmentId\n shipmentNumber\n alertType\n message\n }\n }\n";
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/user.js
3
3
  var t = e("User", [["path", {
4
4
  d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/user-check.js
3
3
  var t = e("UserCheck", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/users.js
3
3
  var t = e("Users", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/warehouse.js
3
3
  var t = e("Warehouse", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/wrench.js
3
3
  var t = e("Wrench", [["path", {
4
4
  d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",
@@ -1,4 +1,4 @@
1
- import { ut as e } from "./PageLayout-BniRJaQ6.js";
1
+ import { ut as e } from "./PageLayout-DX1Ou6V6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/x.js
3
3
  var t = e("X", [["path", {
4
4
  d: "M18 6 6 18",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-movethewheels",
3
- "version": "2026.703.5",
3
+ "version": "2026.703.6",
4
4
  "description": "Burdenoff MoveTheWheels Microfrontend - Logistics & Supply Chain Management Platform",
5
5
  "type": "module",
6
6
  "files": [
@@ -19,45 +19,95 @@ export function resolveGraphqlUrl(apiGatewayUrl?: string): string {
19
19
  return `${apiGatewayUrl}/workspaces/graphql`;
20
20
  }
21
21
 
22
+ const MAX_RETRIES = 3;
23
+
24
+ /**
25
+ * A transient failure is a momentary gateway↔service connectivity blip (the
26
+ * workspace service runs a lean replica pool with no PgBouncer, so a burst of
27
+ * concurrent dashboard queries can briefly exhaust connections and the gateway
28
+ * returns an upstream-connect / 5xx / reset error). These are safe to retry;
29
+ * genuine validation / auth / business errors are not.
30
+ */
31
+ function isTransientMessage(message?: string): boolean {
32
+ if (!message) return false;
33
+ return /upstream connect|connection refused|reset before headers|delayed connect|econnrefused|econnreset|socket hang up|service unavailable|bad gateway|gateway timeout|temporarily unavailable|please try again|failed to fetch|networkerror|load failed/i.test(
34
+ message
35
+ );
36
+ }
37
+
38
+ function isTransientStatus(status: number): boolean {
39
+ // 502/503/504 are gateway/upstream problems; 429 is backpressure. All retryable.
40
+ return status === 429 || status === 502 || status === 503 || status === 504;
41
+ }
42
+
43
+ const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
44
+
22
45
  export async function executeGraphQL<TData>(
23
46
  options: GraphQLRequestOptions,
24
47
  query: string,
25
48
  variables?: Record<string, unknown>
26
49
  ): Promise<TData> {
27
- const response = await fetch(resolveGraphqlUrl(options.apiGatewayUrl), {
28
- method: 'POST',
29
- headers: {
30
- 'content-type': 'application/json',
31
- ...(options.authToken ? { Authorization: `Bearer ${options.authToken}` } : {}),
32
- ...(options.workspaceToken
33
- ? { 'X-Workspace-Authorization': `Bearer ${options.workspaceToken}` }
34
- : {}),
35
- ...(options.workspaceId ? { 'x-workspace-id': options.workspaceId } : {}),
36
- ...(options.tenantId ? { 'x-tenant-id': options.tenantId } : {}),
37
- ...(options.actorId ? { 'x-actor-id': options.actorId } : {}),
38
- ...(options.actorId ? { 'x-actor-type': 'user' } : {}),
39
- },
40
- body: JSON.stringify({ query, variables }),
41
- });
42
-
43
- if (!response.ok) {
44
- throw new Error(`GraphQL request failed with status ${response.status}`);
45
- }
46
-
47
- const payload = (await response.json()) as {
48
- data?: TData;
49
- errors?: Array<{ message?: string }>;
50
+ const url = resolveGraphqlUrl(options.apiGatewayUrl);
51
+ const headers: Record<string, string> = {
52
+ 'content-type': 'application/json',
53
+ ...(options.authToken ? { Authorization: `Bearer ${options.authToken}` } : {}),
54
+ ...(options.workspaceToken
55
+ ? { 'X-Workspace-Authorization': `Bearer ${options.workspaceToken}` }
56
+ : {}),
57
+ ...(options.workspaceId ? { 'x-workspace-id': options.workspaceId } : {}),
58
+ ...(options.tenantId ? { 'x-tenant-id': options.tenantId } : {}),
59
+ ...(options.actorId ? { 'x-actor-id': options.actorId } : {}),
60
+ ...(options.actorId ? { 'x-actor-type': 'user' } : {}),
50
61
  };
62
+ const body = JSON.stringify({ query, variables });
51
63
 
52
- if (payload.errors?.length) {
53
- throw new Error(
54
- payload.errors.map((item) => item.message ?? 'Unknown GraphQL error').join('; ')
55
- );
56
- }
64
+ let lastError: Error = new Error('GraphQL request failed');
65
+
66
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt += 1) {
67
+ const canRetry = attempt < MAX_RETRIES;
68
+ // Exponential backoff with jitter before each retry (not the first attempt).
69
+ if (attempt > 0) await sleep(Math.min(250 * 2 ** (attempt - 1), 2000) + Math.floor(Math.random() * 150));
70
+
71
+ try {
72
+ const response = await fetch(url, { method: 'POST', headers, body });
73
+
74
+ if (!response.ok) {
75
+ lastError = new Error(`GraphQL request failed with status ${response.status}`);
76
+ if (canRetry && isTransientStatus(response.status)) continue;
77
+ throw lastError;
78
+ }
79
+
80
+ const payload = (await response.json()) as {
81
+ data?: TData;
82
+ errors?: Array<{ message?: string }>;
83
+ };
84
+
85
+ if (payload.errors?.length) {
86
+ const message = payload.errors
87
+ .map((item) => item.message ?? 'Unknown GraphQL error')
88
+ .join('; ');
89
+ lastError = new Error(message);
90
+ // The gateway surfaces upstream-connect failures as a 200 body error —
91
+ // retry those, but never retry a real validation/auth/business error.
92
+ if (canRetry && payload.errors.some((item) => isTransientMessage(item.message))) continue;
93
+ throw lastError;
94
+ }
95
+
96
+ if (!payload.data) {
97
+ lastError = new Error('GraphQL response did not include data');
98
+ if (canRetry) continue;
99
+ throw lastError;
100
+ }
57
101
 
58
- if (!payload.data) {
59
- throw new Error('GraphQL response did not include data');
102
+ return payload.data;
103
+ } catch (error) {
104
+ // A thrown fetch is a network error (TypeError "Failed to fetch") — transient.
105
+ const message = error instanceof Error ? error.message : String(error);
106
+ lastError = error instanceof Error ? error : new Error(message);
107
+ if (canRetry && (isTransientMessage(message) || error instanceof TypeError)) continue;
108
+ throw lastError;
109
+ }
60
110
  }
61
111
 
62
- return payload.data;
112
+ throw lastError;
63
113
  }