@machinemetrics/mm-erp-sdk 0.2.0-beta.0 → 0.2.0-beta.2

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 (361) hide show
  1. package/README.md +0 -5
  2. package/dist/config-CvA-mFWF.js +418 -0
  3. package/dist/config-CvA-mFWF.js.map +1 -0
  4. package/dist/connector-factory-BPm2GVVF.js +30 -0
  5. package/dist/connector-factory-BPm2GVVF.js.map +1 -0
  6. package/dist/hashed-cache-manager-B15NN8hK.js +322 -0
  7. package/dist/hashed-cache-manager-B15NN8hK.js.map +1 -0
  8. package/dist/index-D8qO1NyK.js +192 -0
  9. package/dist/index-D8qO1NyK.js.map +1 -0
  10. package/dist/index.d.ts +43 -42
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/knexfile-Bng2Ru9c.js +20 -0
  13. package/dist/knexfile-Bng2Ru9c.js.map +1 -0
  14. package/dist/knexfile.d.ts.map +1 -1
  15. package/dist/logger-BWw0_z9q.js +17557 -0
  16. package/dist/logger-BWw0_z9q.js.map +1 -0
  17. package/dist/migrations/20241015162631_create_cache_table.js +15 -11
  18. package/dist/migrations/20241015162631_create_cache_table.js.map +1 -1
  19. package/dist/migrations/20241015162632_create_sdk_cache_table.js +15 -11
  20. package/dist/migrations/20241015162632_create_sdk_cache_table.js.map +1 -1
  21. package/dist/migrations/20250103162631_create_record_tracking_table.js +15 -14
  22. package/dist/migrations/20250103162631_create_record_tracking_table.js.map +1 -1
  23. package/dist/mm-erp-sdk.js +4978 -0
  24. package/dist/mm-erp-sdk.js.map +1 -0
  25. package/dist/services/caching-service/batch-cache-manager.d.ts +1 -1
  26. package/dist/services/caching-service/batch-cache-manager.d.ts.map +1 -1
  27. package/dist/services/caching-service/hashed-cache-manager.d.ts +2 -2
  28. package/dist/services/caching-service/hashed-cache-manager.d.ts.map +1 -1
  29. package/dist/services/caching-service/index.d.ts +1 -1
  30. package/dist/services/caching-service/index.d.ts.map +1 -1
  31. package/dist/services/caching-service/record-tracking-manager.d.ts +1 -1
  32. package/dist/services/caching-service/record-tracking-manager.d.ts.map +1 -1
  33. package/dist/services/data-sync-service/configuration-manager.d.ts +1 -1
  34. package/dist/services/data-sync-service/configuration-manager.d.ts.map +1 -1
  35. package/dist/services/data-sync-service/data-sync-service.d.ts.map +1 -1
  36. package/dist/services/data-sync-service/index.d.ts +3 -3
  37. package/dist/services/data-sync-service/index.d.ts.map +1 -1
  38. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.d.ts.map +1 -1
  39. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +40 -42
  40. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -1
  41. package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
  42. package/dist/services/data-sync-service/jobs/from-erp.js +37 -50
  43. package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
  44. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.d.ts.map +1 -1
  45. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +36 -38
  46. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -1
  47. package/dist/services/data-sync-service/jobs/run-migrations.d.ts.map +1 -1
  48. package/dist/services/data-sync-service/jobs/run-migrations.js +22 -24
  49. package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
  50. package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
  51. package/dist/services/data-sync-service/jobs/to-erp.js +49 -49
  52. package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
  53. package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +30 -0
  54. package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +1 -0
  55. package/dist/services/erp-api-services/errors.d.ts +1 -1
  56. package/dist/services/erp-api-services/errors.d.ts.map +1 -1
  57. package/dist/services/erp-api-services/graphql/graphql-service.d.ts +2 -2
  58. package/dist/services/erp-api-services/graphql/graphql-service.d.ts.map +1 -1
  59. package/dist/services/erp-api-services/index.d.ts +8 -8
  60. package/dist/services/erp-api-services/index.d.ts.map +1 -1
  61. package/dist/services/erp-api-services/rest/rest-api-service.d.ts +2 -2
  62. package/dist/services/erp-api-services/rest/rest-api-service.d.ts.map +1 -1
  63. package/dist/services/erp-api-services/types.d.ts +2 -2
  64. package/dist/services/erp-api-services/types.d.ts.map +1 -1
  65. package/dist/services/mm-api-service/company-info.d.ts +13 -0
  66. package/dist/services/mm-api-service/company-info.d.ts.map +1 -0
  67. package/dist/services/mm-api-service/index.d.ts +13 -6
  68. package/dist/services/mm-api-service/index.d.ts.map +1 -1
  69. package/dist/services/mm-api-service/mm-api-service.d.ts +13 -7
  70. package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
  71. package/dist/services/mm-api-service/types/entity-transformer.d.ts +2 -2
  72. package/dist/services/mm-api-service/types/entity-transformer.d.ts.map +1 -1
  73. package/dist/services/mm-api-service/types/receive-types.d.ts +3 -0
  74. package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
  75. package/dist/services/nats-service/nats-service.d.ts +114 -0
  76. package/dist/services/nats-service/nats-service.d.ts.map +1 -0
  77. package/dist/services/nats-service/test-nats-subscriber.d.ts +6 -0
  78. package/dist/services/nats-service/test-nats-subscriber.d.ts.map +1 -0
  79. package/dist/services/psql-erp-service/index.d.ts +3 -3
  80. package/dist/services/psql-erp-service/index.d.ts.map +1 -1
  81. package/dist/services/psql-erp-service/psql-service.d.ts +2 -2
  82. package/dist/services/psql-erp-service/psql-service.d.ts.map +1 -1
  83. package/dist/services/reporting-service/index.d.ts +1 -1
  84. package/dist/services/reporting-service/index.d.ts.map +1 -1
  85. package/dist/services/reporting-service/logger.d.ts.map +1 -1
  86. package/dist/services/sql-server-erp-service/index.d.ts +3 -3
  87. package/dist/services/sql-server-erp-service/index.d.ts.map +1 -1
  88. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts +2 -2
  89. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts.map +1 -1
  90. package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts +3 -3
  91. package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts.map +1 -1
  92. package/dist/services/sql-server-erp-service/sql-server-service.d.ts +2 -2
  93. package/dist/services/sql-server-erp-service/sql-server-service.d.ts.map +1 -1
  94. package/dist/services/sqlite-service/index.d.ts +1 -1
  95. package/dist/services/sqlite-service/index.d.ts.map +1 -1
  96. package/dist/types/erp-connector.d.ts +2 -9
  97. package/dist/types/erp-connector.d.ts.map +1 -1
  98. package/dist/types/index.d.ts +2 -3
  99. package/dist/types/index.d.ts.map +1 -1
  100. package/dist/utils/connector-factory.d.ts +1 -1
  101. package/dist/utils/connector-factory.d.ts.map +1 -1
  102. package/dist/utils/connector-log/log-deduper.d.ts +1 -1
  103. package/dist/utils/connector-log/log-deduper.d.ts.map +1 -1
  104. package/dist/utils/connector-log/mm-connector-logger-example.d.ts +0 -1
  105. package/dist/utils/connector-log/mm-connector-logger.d.ts +1 -1
  106. package/dist/utils/connector-log/mm-connector-logger.d.ts.map +1 -1
  107. package/dist/utils/erp-type-from-entity.d.ts +1 -1
  108. package/dist/utils/erp-type-from-entity.d.ts.map +1 -1
  109. package/dist/utils/error-formatter.d.ts +19 -0
  110. package/dist/utils/error-formatter.d.ts.map +1 -0
  111. package/dist/utils/index.d.ts +38 -34
  112. package/dist/utils/index.d.ts.map +1 -1
  113. package/dist/utils/local-data-store/jobs-shared-data.d.ts +0 -2
  114. package/dist/utils/local-data-store/jobs-shared-data.d.ts.map +1 -1
  115. package/dist/utils/mm-labor-ticket-helpers.d.ts +5 -4
  116. package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -1
  117. package/dist/utils/removeExtraneousFields.d.ts +1 -1
  118. package/dist/utils/removeExtraneousFields.d.ts.map +1 -1
  119. package/dist/utils/removeIdFieldFromPayload.d.ts +1 -1
  120. package/dist/utils/removeIdFieldFromPayload.d.ts.map +1 -1
  121. package/dist/utils/resource-group.d.ts +1 -1
  122. package/dist/utils/resource-group.d.ts.map +1 -1
  123. package/dist/utils/standard-process-drivers/error-processor.d.ts +3 -3
  124. package/dist/utils/standard-process-drivers/error-processor.d.ts.map +1 -1
  125. package/dist/utils/standard-process-drivers/index.d.ts +3 -3
  126. package/dist/utils/standard-process-drivers/index.d.ts.map +1 -1
  127. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +1 -1
  128. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
  129. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +5 -11
  130. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
  131. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +6 -12
  132. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
  133. package/dist/utils/time-utils.d.ts.map +1 -1
  134. package/package.json +10 -8
  135. package/src/index.ts +45 -42
  136. package/src/knexfile.ts +0 -1
  137. package/src/services/caching-service/batch-cache-manager.ts +2 -2
  138. package/src/services/caching-service/hashed-cache-manager.ts +5 -5
  139. package/src/services/caching-service/index.ts +1 -1
  140. package/src/services/caching-service/record-tracking-manager.ts +2 -2
  141. package/src/services/data-sync-service/configuration-manager.ts +39 -52
  142. package/src/services/data-sync-service/data-sync-service.ts +19 -10
  143. package/src/services/data-sync-service/index.ts +3 -3
  144. package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +4 -5
  145. package/src/services/data-sync-service/jobs/from-erp.ts +6 -12
  146. package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +3 -4
  147. package/src/services/data-sync-service/jobs/run-migrations.ts +3 -4
  148. package/src/services/data-sync-service/jobs/to-erp.ts +14 -5
  149. package/src/services/data-sync-service/nats-labor-ticket-listener.ts +341 -0
  150. package/src/services/erp-api-services/errors.ts +3 -3
  151. package/src/services/erp-api-services/graphql/graphql-service.ts +5 -5
  152. package/src/services/erp-api-services/index.ts +8 -8
  153. package/src/services/erp-api-services/rest/rest-api-service.ts +4 -4
  154. package/src/services/erp-api-services/types.ts +2 -2
  155. package/src/services/mm-api-service/company-info.ts +87 -0
  156. package/src/services/mm-api-service/index.ts +14 -6
  157. package/src/services/mm-api-service/mm-api-service.ts +30 -13
  158. package/src/services/mm-api-service/token-mgr.ts +4 -4
  159. package/src/services/mm-api-service/types/entity-transformer.ts +3 -3
  160. package/src/services/mm-api-service/types/receive-types.ts +1 -0
  161. package/src/services/nats-service/nats-service.ts +351 -0
  162. package/src/services/nats-service/test-nats-subscriber.ts +96 -0
  163. package/src/services/psql-erp-service/index.ts +3 -3
  164. package/src/services/psql-erp-service/psql-service.ts +4 -4
  165. package/src/services/reporting-service/index.ts +1 -1
  166. package/src/services/reporting-service/logger.ts +81 -116
  167. package/src/services/sql-server-erp-service/index.ts +3 -3
  168. package/src/services/sql-server-erp-service/internal/sql-labor-ticket-operations.ts +2 -2
  169. package/src/services/sql-server-erp-service/internal/sql-transaction-manager.ts +1 -1
  170. package/src/services/sql-server-erp-service/sql-server-helpers.ts +6 -6
  171. package/src/services/sql-server-erp-service/sql-server-service.ts +4 -4
  172. package/src/services/sqlite-service/index.ts +1 -1
  173. package/src/services/sqlite-service/sqlite-coordinator.ts +2 -2
  174. package/src/types/erp-connector.ts +2 -9
  175. package/src/types/index.ts +2 -10
  176. package/src/utils/application-initializer.ts +5 -5
  177. package/src/utils/connector-factory.ts +2 -2
  178. package/src/utils/connector-log/log-deduper.ts +2 -2
  179. package/src/utils/connector-log/mm-connector-logger.ts +3 -3
  180. package/src/utils/erp-type-from-entity.ts +1 -1
  181. package/src/utils/error-formatter.ts +205 -0
  182. package/src/utils/http-client.ts +3 -2
  183. package/src/utils/index.ts +39 -38
  184. package/src/utils/local-data-store/database-lock.ts +1 -1
  185. package/src/utils/local-data-store/jobs-shared-data.ts +0 -2
  186. package/src/utils/mm-labor-ticket-helpers.ts +9 -12
  187. package/src/utils/removeExtraneousFields.ts +1 -1
  188. package/src/utils/removeIdFieldFromPayload.ts +1 -1
  189. package/src/utils/resource-group.ts +2 -2
  190. package/src/utils/standard-process-drivers/error-processor.ts +5 -5
  191. package/src/utils/standard-process-drivers/index.ts +3 -3
  192. package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +12 -16
  193. package/src/utils/standard-process-drivers/mm-entity-processor.ts +8 -14
  194. package/src/utils/standard-process-drivers/standard-process-drivers.ts +25 -39
  195. package/src/utils/time-utils.ts +3 -14
  196. package/src/utils/timezone.ts +2 -2
  197. package/dist/index.js +0 -48
  198. package/dist/index.js.map +0 -1
  199. package/dist/knexfile.js +0 -19
  200. package/dist/knexfile.js.map +0 -1
  201. package/dist/migrations/20241015162631_create_cache_table.d.ts +0 -4
  202. package/dist/migrations/20241015162631_create_cache_table.d.ts.map +0 -1
  203. package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts +0 -4
  204. package/dist/migrations/20241015162632_create_sdk_cache_table.d.ts.map +0 -1
  205. package/dist/migrations/20250103162631_create_record_tracking_table.d.ts +0 -4
  206. package/dist/migrations/20250103162631_create_record_tracking_table.d.ts.map +0 -1
  207. package/dist/services/caching-service/batch-cache-manager.js +0 -84
  208. package/dist/services/caching-service/batch-cache-manager.js.map +0 -1
  209. package/dist/services/caching-service/hashed-cache-manager.js +0 -223
  210. package/dist/services/caching-service/hashed-cache-manager.js.map +0 -1
  211. package/dist/services/caching-service/index.js +0 -2
  212. package/dist/services/caching-service/index.js.map +0 -1
  213. package/dist/services/caching-service/record-tracking-manager.js +0 -28
  214. package/dist/services/caching-service/record-tracking-manager.js.map +0 -1
  215. package/dist/services/data-sync-service/configuration-manager.js +0 -163
  216. package/dist/services/data-sync-service/configuration-manager.js.map +0 -1
  217. package/dist/services/data-sync-service/data-sync-service.js +0 -95
  218. package/dist/services/data-sync-service/data-sync-service.js.map +0 -1
  219. package/dist/services/data-sync-service/index.js +0 -10
  220. package/dist/services/data-sync-service/index.js.map +0 -1
  221. package/dist/services/erp-api-services/errors.js +0 -83
  222. package/dist/services/erp-api-services/errors.js.map +0 -1
  223. package/dist/services/erp-api-services/graphql/graphql-service.js +0 -102
  224. package/dist/services/erp-api-services/graphql/graphql-service.js.map +0 -1
  225. package/dist/services/erp-api-services/graphql/types.js +0 -6
  226. package/dist/services/erp-api-services/graphql/types.js.map +0 -1
  227. package/dist/services/erp-api-services/index.js +0 -13
  228. package/dist/services/erp-api-services/index.js.map +0 -1
  229. package/dist/services/erp-api-services/oauth-client.js +0 -41
  230. package/dist/services/erp-api-services/oauth-client.js.map +0 -1
  231. package/dist/services/erp-api-services/rest/get-query-params.js +0 -23
  232. package/dist/services/erp-api-services/rest/get-query-params.js.map +0 -1
  233. package/dist/services/erp-api-services/rest/rest-api-service.js +0 -163
  234. package/dist/services/erp-api-services/rest/rest-api-service.js.map +0 -1
  235. package/dist/services/erp-api-services/types.js +0 -2
  236. package/dist/services/erp-api-services/types.js.map +0 -1
  237. package/dist/services/mm-api-service/index.js +0 -15
  238. package/dist/services/mm-api-service/index.js.map +0 -1
  239. package/dist/services/mm-api-service/mm-api-service.js +0 -519
  240. package/dist/services/mm-api-service/mm-api-service.js.map +0 -1
  241. package/dist/services/mm-api-service/token-mgr.js +0 -113
  242. package/dist/services/mm-api-service/token-mgr.js.map +0 -1
  243. package/dist/services/mm-api-service/types/checkpoint.js +0 -2
  244. package/dist/services/mm-api-service/types/checkpoint.js.map +0 -1
  245. package/dist/services/mm-api-service/types/entity-transformer.js +0 -186
  246. package/dist/services/mm-api-service/types/entity-transformer.js.map +0 -1
  247. package/dist/services/mm-api-service/types/mm-response-interfaces.js +0 -34
  248. package/dist/services/mm-api-service/types/mm-response-interfaces.js.map +0 -1
  249. package/dist/services/mm-api-service/types/receive-types.js +0 -55
  250. package/dist/services/mm-api-service/types/receive-types.js.map +0 -1
  251. package/dist/services/mm-api-service/types/send-types.js +0 -337
  252. package/dist/services/mm-api-service/types/send-types.js.map +0 -1
  253. package/dist/services/psql-erp-service/configuration.js +0 -2
  254. package/dist/services/psql-erp-service/configuration.js.map +0 -1
  255. package/dist/services/psql-erp-service/index.js +0 -10
  256. package/dist/services/psql-erp-service/index.js.map +0 -1
  257. package/dist/services/psql-erp-service/internal/types/psql-types.js +0 -5
  258. package/dist/services/psql-erp-service/internal/types/psql-types.js.map +0 -1
  259. package/dist/services/psql-erp-service/psql-helpers.js +0 -99
  260. package/dist/services/psql-erp-service/psql-helpers.js.map +0 -1
  261. package/dist/services/psql-erp-service/psql-service.js +0 -187
  262. package/dist/services/psql-erp-service/psql-service.js.map +0 -1
  263. package/dist/services/reporting-service/index.js +0 -5
  264. package/dist/services/reporting-service/index.js.map +0 -1
  265. package/dist/services/reporting-service/logger.js +0 -221
  266. package/dist/services/reporting-service/logger.js.map +0 -1
  267. package/dist/services/sql-server-erp-service/configuration.js +0 -2
  268. package/dist/services/sql-server-erp-service/configuration.js.map +0 -1
  269. package/dist/services/sql-server-erp-service/index.js +0 -11
  270. package/dist/services/sql-server-erp-service/index.js.map +0 -1
  271. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js +0 -50
  272. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.js.map +0 -1
  273. package/dist/services/sql-server-erp-service/internal/sql-server-config.js +0 -40
  274. package/dist/services/sql-server-erp-service/internal/sql-server-config.js.map +0 -1
  275. package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js +0 -36
  276. package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.js.map +0 -1
  277. package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js +0 -2
  278. package/dist/services/sql-server-erp-service/internal/types/sql-server-types.js.map +0 -1
  279. package/dist/services/sql-server-erp-service/sql-server-helpers.js +0 -66
  280. package/dist/services/sql-server-erp-service/sql-server-helpers.js.map +0 -1
  281. package/dist/services/sql-server-erp-service/sql-server-service.js +0 -154
  282. package/dist/services/sql-server-erp-service/sql-server-service.js.map +0 -1
  283. package/dist/services/sql-server-erp-service/types/sql-input-param.js +0 -2
  284. package/dist/services/sql-server-erp-service/types/sql-input-param.js.map +0 -1
  285. package/dist/services/sqlite-service/index.js +0 -2
  286. package/dist/services/sqlite-service/index.js.map +0 -1
  287. package/dist/services/sqlite-service/sqlite-coordinator.js +0 -60
  288. package/dist/services/sqlite-service/sqlite-coordinator.js.map +0 -1
  289. package/dist/types/erp-connector.js +0 -2
  290. package/dist/types/erp-connector.js.map +0 -1
  291. package/dist/types/erp-types.js +0 -13
  292. package/dist/types/erp-types.js.map +0 -1
  293. package/dist/types/flattened-work-order.d.ts +0 -99
  294. package/dist/types/flattened-work-order.d.ts.map +0 -1
  295. package/dist/types/flattened-work-order.js +0 -2
  296. package/dist/types/flattened-work-order.js.map +0 -1
  297. package/dist/types/index.js +0 -6
  298. package/dist/types/index.js.map +0 -1
  299. package/dist/utils/application-initializer.js +0 -55
  300. package/dist/utils/application-initializer.js.map +0 -1
  301. package/dist/utils/cleanup-numbers.js +0 -6
  302. package/dist/utils/cleanup-numbers.js.map +0 -1
  303. package/dist/utils/connector-factory.js +0 -34
  304. package/dist/utils/connector-factory.js.map +0 -1
  305. package/dist/utils/connector-log/log-deduper.js +0 -240
  306. package/dist/utils/connector-log/log-deduper.js.map +0 -1
  307. package/dist/utils/connector-log/mm-connector-logger-example.js +0 -88
  308. package/dist/utils/connector-log/mm-connector-logger-example.js.map +0 -1
  309. package/dist/utils/connector-log/mm-connector-logger.js +0 -151
  310. package/dist/utils/connector-log/mm-connector-logger.js.map +0 -1
  311. package/dist/utils/data-transformation.js +0 -38
  312. package/dist/utils/data-transformation.js.map +0 -1
  313. package/dist/utils/env.d.ts +0 -8
  314. package/dist/utils/env.d.ts.map +0 -1
  315. package/dist/utils/env.js +0 -58
  316. package/dist/utils/env.js.map +0 -1
  317. package/dist/utils/erp-timezone-utils.d.ts +0 -20
  318. package/dist/utils/erp-timezone-utils.d.ts.map +0 -1
  319. package/dist/utils/erp-timezone-utils.js +0 -75
  320. package/dist/utils/erp-timezone-utils.js.map +0 -1
  321. package/dist/utils/erp-type-from-entity.js +0 -6
  322. package/dist/utils/erp-type-from-entity.js.map +0 -1
  323. package/dist/utils/error-utils.js +0 -21
  324. package/dist/utils/error-utils.js.map +0 -1
  325. package/dist/utils/http-client.js +0 -186
  326. package/dist/utils/http-client.js.map +0 -1
  327. package/dist/utils/index.js +0 -66
  328. package/dist/utils/index.js.map +0 -1
  329. package/dist/utils/local-data-store/database-lock.js +0 -68
  330. package/dist/utils/local-data-store/database-lock.js.map +0 -1
  331. package/dist/utils/local-data-store/jobs-shared-data.js +0 -118
  332. package/dist/utils/local-data-store/jobs-shared-data.js.map +0 -1
  333. package/dist/utils/mm-labor-ticket-helpers.js +0 -28
  334. package/dist/utils/mm-labor-ticket-helpers.js.map +0 -1
  335. package/dist/utils/removeExtraneousFields.js +0 -16
  336. package/dist/utils/removeExtraneousFields.js.map +0 -1
  337. package/dist/utils/removeIdFieldFromPayload.js +0 -16
  338. package/dist/utils/removeIdFieldFromPayload.js.map +0 -1
  339. package/dist/utils/resource-group.js +0 -59
  340. package/dist/utils/resource-group.js.map +0 -1
  341. package/dist/utils/standard-process-drivers/error-processor.js +0 -262
  342. package/dist/utils/standard-process-drivers/error-processor.js.map +0 -1
  343. package/dist/utils/standard-process-drivers/index.js +0 -4
  344. package/dist/utils/standard-process-drivers/index.js.map +0 -1
  345. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +0 -173
  346. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +0 -1
  347. package/dist/utils/standard-process-drivers/mm-entity-processor.js +0 -174
  348. package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +0 -1
  349. package/dist/utils/standard-process-drivers/standard-process-drivers.js +0 -333
  350. package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +0 -1
  351. package/dist/utils/time-utils.js +0 -103
  352. package/dist/utils/time-utils.js.map +0 -1
  353. package/dist/utils/timezone.js +0 -105
  354. package/dist/utils/timezone.js.map +0 -1
  355. package/dist/utils/trimObjectValues.js +0 -11
  356. package/dist/utils/trimObjectValues.js.map +0 -1
  357. package/dist/utils/uniqueRows.js +0 -35
  358. package/dist/utils/uniqueRows.js.map +0 -1
  359. package/src/types/flattened-work-order.ts +0 -108
  360. package/src/utils/env.ts +0 -75
  361. package/src/utils/erp-timezone-utils.ts +0 -99
@@ -1,92 +1,93 @@
1
1
  /**
2
2
  * Utility functions for data manipulation
3
3
  */
4
- export { getUniqueRows } from "./uniqueRows.js";
5
- export { removeExtraneousFields } from "./removeExtraneousFields.js";
6
- export { getPayloadWithoutIDField } from "./removeIdFieldFromPayload.js";
7
- export { trimObjectValues } from "./trimObjectValues.js";
8
- export { cleanupNumbers } from "./cleanup-numbers.js";
4
+ export { getUniqueRows } from "./uniqueRows";
5
+ export { removeExtraneousFields } from "./removeExtraneousFields";
6
+ export { getPayloadWithoutIDField } from "./removeIdFieldFromPayload";
7
+ export { trimObjectValues } from "./trimObjectValues";
8
+ export { cleanupNumbers } from "./cleanup-numbers";
9
9
  export {
10
10
  addNewFieldFromExternalSource,
11
11
  addNewFieldFromLookupField,
12
- } from "./data-transformation.js";
12
+ } from "./data-transformation";
13
13
 
14
14
  /**
15
15
  * Timezone and time-related utilities
16
16
  */
17
- export { getTimezoneOffsetAndPersist } from "./time-utils.js";
18
- export { formatDateWithTZOffset, convertToLocalTime, toISOWithOffset } from "./timezone.js";
19
- export { applyTimezoneOffsetsToFields } from "./time-utils.js";
20
- export {
21
- convertUtcDateTimeToErpLocal,
22
- convertErpLocalDateTimeToUtc,
23
- getERPTimezone,
24
- } from "./erp-timezone-utils.js";
25
- export * from "./time-utils.js";
17
+ export { getTimezoneOffsetAndPersist } from "./time-utils";
18
+ export { formatDateWithTZOffset, convertToLocalTime, toISOWithOffset } from "./timezone";
19
+ export { applyTimezoneOffsetsToFields } from "./time-utils";
20
+ export * from "./time-utils";
26
21
 
27
22
  /**
28
23
  * Caching and record tracking utilities
29
24
  */
30
- export { RecordTrackingManager } from "../services/caching-service/record-tracking-manager.js";
31
- export type { RecordTrackingObject } from "../services/caching-service/record-tracking-manager.js";
32
- export { HashedCacheManager } from "../services/caching-service/hashed-cache-manager.js";
33
- export { BatchCacheManager } from "../services/caching-service/batch-cache-manager.js";
25
+ export { RecordTrackingManager } from "../services/caching-service/record-tracking-manager";
26
+ export type { RecordTrackingObject } from "../services/caching-service/record-tracking-manager";
27
+ export { HashedCacheManager } from "../services/caching-service/hashed-cache-manager";
28
+ export { BatchCacheManager } from "../services/caching-service/batch-cache-manager";
34
29
 
35
30
  /**
36
31
  * Process and data transformation utilities
37
32
  */
38
- export { StandardProcessDrivers } from "./standard-process-drivers/index.js";
39
- export type { WriteEntitiesToMMResult } from "./standard-process-drivers/index.js";
40
- export { MMBatchValidationError } from "./standard-process-drivers/index.js";
33
+ export { StandardProcessDrivers } from "./standard-process-drivers/";
34
+ export type { WriteEntitiesToMMResult } from "./standard-process-drivers/";
35
+ export { MMBatchValidationError } from "./standard-process-drivers/";
41
36
  export {
42
37
  getCachedTimezoneOffset,
43
38
  getCachedTimezoneName,
44
- } from "./local-data-store/jobs-shared-data.js";
39
+ } from "./local-data-store/jobs-shared-data";
45
40
 
46
41
  // Local data store
47
42
  export {
48
43
  getInitialLoadComplete,
49
44
  setInitialLoadComplete,
50
- } from "./local-data-store/jobs-shared-data.js";
45
+ } from "./local-data-store/jobs-shared-data";
51
46
 
52
47
  /**
53
48
  * ERP API utilities
54
49
  */
55
- export * from "../services/erp-api-services/rest/rest-api-service.js";
56
- export * from "../services/erp-api-services/rest/get-query-params.js";
57
- export { getERPAPITypeFromEntity } from "./erp-type-from-entity.js";
50
+ export * from "../services/erp-api-services/rest/rest-api-service";
51
+ export * from "../services/erp-api-services/rest/get-query-params";
52
+ export { getERPAPITypeFromEntity } from "./erp-type-from-entity";
58
53
 
59
54
  /**
60
55
  * HTTP Client utilities
61
56
  */
62
- export { HTTPClientFactory } from "./http-client.js";
63
- export { HTTPError } from "./http-client.js";
64
- export type { HTTPClient, HTTPRequestConfig, HTTPResponse } from "./http-client.js";
57
+ export { HTTPClientFactory } from "./http-client";
58
+ export { HTTPError } from "./http-client";
59
+ export type { HTTPClient, HTTPRequestConfig, HTTPResponse } from "./http-client";
65
60
 
66
61
  /**
67
62
  * MM Labor Ticket utilities
68
63
  */
69
- export * from "./mm-labor-ticket-helpers.js";
70
- export { getErrorType } from './error-utils.js';
64
+ export * from "./mm-labor-ticket-helpers";
65
+ export { getErrorType } from './error-utils';
66
+
67
+ /**
68
+ * Error formatting utilities
69
+ */
70
+ export { formatError, formatErrorForLogging } from './error-formatter';
71
+ export type { FormattedError } from './error-formatter';
71
72
 
72
73
  /**
73
74
  * MM Connector Logger utilities
74
75
  */
75
- export { MMConnectorLogger, LogEntry, type LogResponse, type LogLevelString } from './connector-log/mm-connector-logger.js';
76
- export { FileLogDeduper } from './connector-log/log-deduper.js';
76
+ export { MMConnectorLogger, LogEntry, type LogResponse, type LogLevelString } from './connector-log/mm-connector-logger';
77
+ export { FileLogDeduper } from './connector-log/log-deduper';
77
78
 
78
79
  /**
79
80
  * Application initializer
80
81
  */
81
- export * from "./application-initializer.js";
82
+ export * from "./application-initializer";
82
83
 
83
84
  /**
84
85
  * GraphQL utilities
85
86
  */
86
- export { GraphQLService } from "../services/erp-api-services/graphql/graphql-service.js";
87
- export { OAuthClient } from "../services/erp-api-services/oauth-client.js";
87
+ export { GraphQLService } from "../services/erp-api-services/graphql/graphql-service";
88
+ export { OAuthClient } from "../services/erp-api-services/oauth-client";
88
89
 
89
90
  /**
90
91
  * Connector factory utilities
91
92
  */
92
- export { createConnectorFromPath } from "./connector-factory.js";
93
+ export { createConnectorFromPath } from "./connector-factory";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  readDatabaseLockState,
3
3
  writeDatabaseLockState,
4
- } from "./jobs-shared-data.js";
4
+ } from "./jobs-shared-data";
5
5
 
6
6
  interface DatabaseLock {
7
7
  isLocked: boolean;
@@ -72,8 +72,6 @@ export const setInitialLoadComplete = (complete: boolean): void => {
72
72
  };
73
73
 
74
74
  /**
75
- * @deprecated The cached numeric offset cannot account for DST changes.
76
- * Prefer using the cached timezone name with Luxon helpers for conversions.
77
75
  * Gets the company's cached current timezone offset (e.g., -5)
78
76
  * @returns The cached timezone offset or 0 if not found
79
77
  */
@@ -1,13 +1,15 @@
1
- import { MMReceiveLaborTicket } from "../services/mm-api-service/types/receive-types.js";
2
- import { convertUtcDateTimeToErpLocal, getERPTimezone } from "./erp-timezone-utils.js";
1
+ import { convertToLocalTime, toISOWithOffset } from "./timezone";
2
+ import { MMReceiveLaborTicket } from "../services/mm-api-service/types/receive-types";
3
3
 
4
4
  /**
5
- * Converts key datetime fields from UTC (MachineMetrics API) to the ERP's local timezone.
6
- * All inputs/outputs are ISO-8601 strings, and invalid inputs throw errors.
5
+ * Apply timezone offsets to datetime fields specifically for the MMApiReceiveLaborTicket object from the Zulu-based MM API
6
+ * (presumably) before sending to the ERP
7
7
  * @param laborTicket The MMApiReceiveLaborTicket object to convert
8
+ * @param timezoneOffset The timezone offset to apply
8
9
  */
9
10
  export function convertLaborTicketToLocalTimezone(
10
- laborTicket: MMReceiveLaborTicket
11
+ laborTicket: MMReceiveLaborTicket,
12
+ timezoneOffset: number
11
13
  ): MMReceiveLaborTicket {
12
14
  const timeFields = [
13
15
  "clockIn",
@@ -18,14 +20,9 @@ export function convertLaborTicketToLocalTimezone(
18
20
  "workOrderOperationClosedDate",
19
21
  ] as const;
20
22
 
21
- const timezone = getERPTimezone();
22
23
  timeFields.forEach((field) => {
23
- const value = laborTicket[field];
24
- if (value) {
25
- laborTicket[field] = convertUtcDateTimeToErpLocal(value, timezone);
26
- } else {
27
- laborTicket[field] = null;
28
- }
24
+ const localTime = convertToLocalTime(laborTicket[field], timezoneOffset);
25
+ laborTicket[field] = localTime ? toISOWithOffset(localTime, timezoneOffset) : null;
29
26
  });
30
27
  return laborTicket;
31
28
  }
@@ -1,4 +1,4 @@
1
- import { ERPObject } from "../types/erp-types.js";
1
+ import { ERPObject } from "../types/erp-types";
2
2
 
3
3
  /**
4
4
  * Retain only the fields listed in retainFields[] in the payload
@@ -1,4 +1,4 @@
1
- import { ERPObject } from "../types/erp-types.js";
1
+ import { ERPObject } from "../types/erp-types";
2
2
 
3
3
  /**
4
4
  * Remove all fields listed in idField[] the from the payload
@@ -1,9 +1,9 @@
1
- import logger from "../services/reporting-service/logger.js";
1
+ import logger from "../services/reporting-service/logger";
2
2
  import {
3
3
  MMApiClient,
4
4
  MMGraphQLResourceResponse,
5
5
  MMMachineGroupsResponse,
6
- } from "../services/mm-api-service/index.js";
6
+ } from "../services/mm-api-service";
7
7
 
8
8
  // The GraphQLResourceTypes interface has been replaced by the centralized
9
9
  // MM response interfaces: MMGraphQLResourceResponse and MMMachineGroupsResponse
@@ -1,12 +1,12 @@
1
- import { ERPObjType } from "../../types/erp-types.js";
2
- import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager.js";
1
+ import { ERPObjType } from "../../types/erp-types";
2
+ import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
3
3
  import {
4
4
  IToRESTApiObject,
5
5
  MM207NonLaborTicketResponse,
6
6
  MM207LaborTicketResponse,
7
- } from "../../services/mm-api-service/index.js";
8
- import { EntityTransformer } from "../../services/mm-api-service/types/entity-transformer.js";
9
- import logger from "../../services/reporting-service/logger.js";
7
+ } from "../../services/mm-api-service";
8
+ import { EntityTransformer } from "../../services/mm-api-service/types/entity-transformer";
9
+ import logger from "../../services/reporting-service/logger";
10
10
 
11
11
  /**
12
12
  * Handles error processing and record management utilities for MM API operations
@@ -1,4 +1,4 @@
1
1
  // Public exports for standard-process-drivers
2
- export { StandardProcessDrivers } from "./standard-process-drivers.js";
3
- export type { WriteEntitiesToMMResult } from "./standard-process-drivers.js";
4
- export { MMBatchValidationError } from "./standard-process-drivers.js";
2
+ export { StandardProcessDrivers } from "./standard-process-drivers";
3
+ export type { WriteEntitiesToMMResult } from "./standard-process-drivers";
4
+ export { MMBatchValidationError } from "./standard-process-drivers";
@@ -1,8 +1,9 @@
1
- import { IERPLaborTicketHandler } from "../../types/erp-connector.js";
2
- import { MMApiClient } from "../../services/mm-api-service/mm-api-service.js";
3
- import { MMReceiveLaborTicket } from "../../services/mm-api-service/types/receive-types.js";
4
- import { convertLaborTicketToLocalTimezone } from "../mm-labor-ticket-helpers.js";
5
- import logger from "../../services/reporting-service/logger.js";
1
+ import { IERPLaborTicketHandler } from "../../types/erp-connector";
2
+ import { MMApiClient } from "../../services/mm-api-service/mm-api-service";
3
+ import { MMReceiveLaborTicket } from "../../services/mm-api-service/types/receive-types";
4
+ import { convertLaborTicketToLocalTimezone } from "../mm-labor-ticket-helpers";
5
+ import { getCachedTimezoneOffset } from "../local-data-store/jobs-shared-data";
6
+ import logger from "../../services/reporting-service/logger";
6
7
 
7
8
  /**
8
9
  * Handles synchronization of labor tickets between MachineMetrics and ERP systems
@@ -19,6 +20,7 @@ export class LaborTicketERPSynchronizer {
19
20
  const mmApiClient = new MMApiClient();
20
21
  const failedLaborTicketRefs: string[] = [];
21
22
 
23
+ // Initialize and fetch checkpoint (quick operations, don't need prolonged lock)
22
24
  await mmApiClient.initializeCheckpoint({
23
25
  system: connectorType,
24
26
  table: "labor_tickets",
@@ -53,12 +55,9 @@ export class LaborTicketERPSynchronizer {
53
55
 
54
56
  // Find the most recent updatedAt timestamp from labor tickets. This will be used to update
55
57
  // the checkpoint to ensure there is no gap of time for the next sync.
56
- // Consider, for instance, a time offset between an edge and the cloud, or that
57
- // a DST change may have occurred between the last checkpoint and Now.
58
58
  const mostRecentUpdate = laborTicketsUpdates.reduce(
59
59
  (latest: string | null, ticket: MMReceiveLaborTicket) => {
60
- if (!ticket.updatedAt) return latest; // Skip tickets without updatedAt
61
- if (!latest) return ticket.updatedAt; // Initialize on first valid value
60
+ if (!latest || !ticket.updatedAt) return latest;
62
61
  return new Date(ticket.updatedAt) > new Date(latest)
63
62
  ? ticket.updatedAt
64
63
  : latest;
@@ -120,9 +119,6 @@ export class LaborTicketERPSynchronizer {
120
119
  timestamp: mostRecentUpdate || fallbackTimestamp,
121
120
  },
122
121
  });
123
- logger.info("syncLaborTicketsToERP: Checkpoint saved:", {
124
- checkpointTimestamp: (mostRecentUpdate || fallbackTimestamp)
125
- });
126
122
  } catch (error) {
127
123
  logger.error("syncLaborTicketsToERP: Error:", error);
128
124
  }
@@ -219,10 +215,10 @@ export class LaborTicketERPSynchronizer {
219
215
  ): Promise<MMReceiveLaborTicket> {
220
216
  let laborTicketResult: MMReceiveLaborTicket;
221
217
 
222
- // Convert MM's UTC timestamps into the ERP's local timezone before invoking connector code.
223
- // Connector implementations should treat the incoming values as localized wall time and avoid
224
- // applying any further timezone shifts.
225
- laborTicketResult = convertLaborTicketToLocalTimezone(laborTicket);
218
+ laborTicketResult = convertLaborTicketToLocalTimezone(
219
+ laborTicket,
220
+ getCachedTimezoneOffset()
221
+ );
226
222
 
227
223
  logger.info(
228
224
  `processing laborTicket, id=${laborTicket.laborTicketId}, ref=${laborTicket.laborTicketRef}`
@@ -1,5 +1,5 @@
1
- import { ERPObjType } from "../../types/erp-types.js";
2
- import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager.js";
1
+ import { ERPObjType } from "../../types/erp-types";
2
+ import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
3
3
  import {
4
4
  IToRESTApiObject,
5
5
  MMSendPerson,
@@ -15,27 +15,21 @@ import {
15
15
  MM200LaborTicketResponse,
16
16
  MM207NonLaborTicketResponse,
17
17
  MM207LaborTicketResponse,
18
- } from "../../services/mm-api-service/index.js";
19
- import { MMApiClient } from "../../services/mm-api-service/mm-api-service.js";
20
- import { HTTPError } from "../http-client.js";
18
+ } from "../../services/mm-api-service";
19
+ import { MMApiClient } from "../../services/mm-api-service/mm-api-service";
20
+ import { HTTPError } from "../http-client";
21
21
  import {
22
22
  WriteEntitiesToMMResult,
23
23
  MMBatchValidationError,
24
- } from "./standard-process-drivers.js";
25
- import { ErrorProcessor } from "./error-processor.js";
24
+ } from "./standard-process-drivers";
25
+ import { ErrorProcessor } from "./error-processor";
26
26
 
27
27
  /**
28
28
  * Handles processing of entities to the MachineMetrics API
29
29
  */
30
30
  export class MMEntityProcessor {
31
31
  /**
32
- * Writes entities to MM API with deduplication and caching.
33
- *
34
- * IMPORTANT: All datetime fields on `mmRecords` MUST already be expressed as
35
- * ISO-8601 UTC strings (either trailing `Z` or an explicit offset). The SDK
36
- * does not apply timezone conversion on this path. It forwards values directly
37
- * to MachineMetrics and only reserializes them for validation. Connector code
38
- * is responsible for converting local ERP times to UTC before invoking this API.
32
+ * Writes entities to MM API with deduplication and caching
39
33
  */
40
34
  static async writeEntities(
41
35
  entityType: ERPObjType,
@@ -1,7 +1,6 @@
1
- import { ERPObjType } from "../../types/erp-types.js";
2
- import { IERPLaborTicketHandler } from "../../types/erp-connector.js";
3
- import type { FlattenedWorkOrderRow } from "../../types/flattened-work-order.js";
4
- import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager.js";
1
+ import { ERPObjType } from "../../types/erp-types";
2
+ import { IERPLaborTicketHandler } from "../../types/erp-connector";
3
+ import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
5
4
  import {
6
5
  IToRESTApiObject,
7
6
  MMSendWorkOrderBatch,
@@ -9,9 +8,9 @@ import {
9
8
  MMSendPartOperation,
10
9
  MMSendWorkOrder,
11
10
  MMSendWorkOrderOperation,
12
- } from "../../services/mm-api-service/index.js";
13
- import { LaborTicketERPSynchronizer } from "./labor-ticket-erp-synchronizer.js";
14
- import { MMEntityProcessor } from "./mm-entity-processor.js";
11
+ } from "../../services/mm-api-service";
12
+ import { LaborTicketERPSynchronizer } from "./labor-ticket-erp-synchronizer";
13
+ import { MMEntityProcessor } from "./mm-entity-processor";
15
14
 
16
15
  /**
17
16
  * The result of writing entities to the MachineMetrics API on complete success.
@@ -249,12 +248,7 @@ export class StandardProcessDrivers {
249
248
  * parts, part operations, work orders, and work order operations, then process them in the correct order
250
249
  * to maintain referential integrity.
251
250
  *
252
- * Timezone expectation: all datetime fields provided in `flattenedData` MUST already be expressed
253
- * as ISO-8601 UTC strings (trailing `Z` or explicit offset). The SDK does not attempt to infer or
254
- * convert local ERP timestamps on this path; it simply validates and forwards the values to MM.
255
- * Connector implementations should convert ERP-local times to UTC before invoking this method.
256
- *
257
- * @param flattenedData Array of flattened rows containing both work order and operation data (see `FlattenedWorkOrderRow`)
251
+ * @param flattenedData Array of flattened rows containing both work order and operation data (camelCase fields)
258
252
  * @param batchCacheManager The batch cache manager instance; pass in null if caching is not desired
259
253
  *
260
254
  * @returns Combined results from all entity processing with detailed logging information
@@ -262,7 +256,7 @@ export class StandardProcessDrivers {
262
256
  * @throws Error on other underlying issues (network, authentication, etc.)
263
257
  */
264
258
  static async syncWorkOrderBatchFromFlattened(
265
- flattenedData: ReadonlyArray<FlattenedWorkOrderRow>,
259
+ flattenedData: any[],
266
260
  batchCacheManager: BatchCacheManager | null
267
261
  ): Promise<{
268
262
  parts: WriteEntitiesToMMResult;
@@ -274,11 +268,6 @@ export class StandardProcessDrivers {
274
268
  throw new Error("No flattened work order data provided");
275
269
  }
276
270
 
277
- const toStringOrFallback = (
278
- value: string | number | null | undefined,
279
- fallback = ""
280
- ): string => (value === undefined || value === null ? fallback : String(value));
281
-
282
271
  // Process the flattened data - each row contains both work order and operation info
283
272
  const uniqueParts = new Map();
284
273
  const uniquePartOperations = new Map();
@@ -308,8 +297,8 @@ export class StandardProcessDrivers {
308
297
  resourceId: row.resourceId, // → resourceId
309
298
  cycleTimeMs: row.cycleTimeMs, // → cycleTimeMs
310
299
  setupTimeMs: row.setupTimeMs, // → setupTimeMs
311
- operationDescription: row.operationDescription, // → description
312
- quantityPerPart: row.quantityPerPart ?? 1, // → quantityPerPart
300
+ description: row.operationDescription || "", // → description
301
+ quantityPerPart: row.quantityPerPart || 1, // → quantityPerPart
313
302
  });
314
303
  }
315
304
 
@@ -362,8 +351,8 @@ export class StandardProcessDrivers {
362
351
  const parts = Array.from(uniqueParts.values()).map(
363
352
  (item) =>
364
353
  new MMSendPart(
365
- toStringOrFallback(item.partNumber), // partNumber
366
- toStringOrFallback(item.partRevision), // partRevision
354
+ item.partNumber || "", // partNumber
355
+ item.partRevision || "", // partRevision
367
356
  item.method || "Standard" // method
368
357
  )
369
358
  );
@@ -371,14 +360,14 @@ export class StandardProcessDrivers {
371
360
  const partOperations = Array.from(uniquePartOperations.values()).map(
372
361
  (item) =>
373
362
  new MMSendPartOperation(
374
- toStringOrFallback(item.partNumber), // partNumber
375
- toStringOrFallback(item.partRevision), // partRevision
363
+ item.partNumber || "", // partNumber
364
+ item.partRevision || "", // partRevision
376
365
  item.method || "Standard", // method
377
366
  item.sequenceNumber?.toString() || "", // sequenceNumber
378
367
  item.resourceId?.toString() || "", // resourceId
379
368
  item.cycleTimeMs || 0, // cycleTimeMs
380
369
  item.setupTimeMs || 0, // setupTimeMs
381
- item.operationDescription || "", // description
370
+ item.description || "", // description
382
371
  item.quantityPerPart || 1 // quantityPerPart
383
372
  )
384
373
  );
@@ -387,12 +376,10 @@ export class StandardProcessDrivers {
387
376
  (item) =>
388
377
  new MMSendWorkOrder(
389
378
  item.workOrderId?.toString() || "", // workOrderId
390
- toStringOrFallback(item.lot), // lot
391
- toStringOrFallback(item.split), // split
392
- toStringOrFallback(item.sub), // sub
379
+ item.lot || "", // lot
380
+ item.split || "", // split
381
+ item.sub || "", // sub
393
382
  item.status || "Open", // status
394
- // Datetimes are assumed to already be UTC (or include an explicit offset).
395
- // We reserialize via Date solely to validate the ISO format before sending to MM.
396
383
  item.dueDate ? new Date(item.dueDate).toISOString() : null, // dueDate
397
384
  item.description || "", // description
398
385
  item.scheduledStartDate
@@ -403,8 +390,8 @@ export class StandardProcessDrivers {
403
390
  : null, // scheduledEndDate
404
391
  item.closedDate ? new Date(item.closedDate).toISOString() : null, // closedDate
405
392
  item.quantityRequired || 0, // quantityRequired
406
- toStringOrFallback(item.partNumber), // partNumber
407
- toStringOrFallback(item.partRevision), // partRevision
393
+ item.partNumber || "", // partNumber
394
+ item.partRevision || "", // partRevision
408
395
  item.method || "Standard" // method
409
396
  )
410
397
  );
@@ -413,15 +400,14 @@ export class StandardProcessDrivers {
413
400
  (item) =>
414
401
  new MMSendWorkOrderOperation(
415
402
  item.workOrderId?.toString() || "", // workOrderId
416
- toStringOrFallback(item.lot), // lot
417
- toStringOrFallback(item.split), // split
418
- toStringOrFallback(item.sub), // sub
403
+ item.lot || "", // lot
404
+ item.split || "", // split
405
+ item.sub || "", // sub
419
406
  item.sequenceNumber?.toString() || "", // sequenceNumber
420
407
  item.resourceId?.toString() || "", // resourceId
421
408
  item.startQuantity || 0, // startQuantity
422
409
  item.finishQuantity || 0, // finishQuantity
423
410
  item.expectedRejectRate || 0, // expectedRejectRate
424
- // Same UTC expectation as above; reserialize to ensure valid ISO.
425
411
  item.scheduledStartDate
426
412
  ? new Date(item.scheduledStartDate).toISOString()
427
413
  : null, // scheduledStartDate
@@ -431,8 +417,8 @@ export class StandardProcessDrivers {
431
417
  item.closedDate ? new Date(item.closedDate).toISOString() : null, // closedDate
432
418
  item.cycleTimeMs || 0, // cycleTimeMs
433
419
  item.setupTimeMs || 0, // setupTimeMs
434
- parseFloat(toStringOrFallback(item.productionburdenRateHourly, "0")), // productionburdenRateHourly
435
- parseFloat(toStringOrFallback(item.setupburdenRatehourly, "0")), // setupburdenRatehourly
420
+ parseFloat(item.productionburdenRateHourly || "0"), // productionburdenRateHourly
421
+ parseFloat(item.setupburdenRatehourly || "0"), // setupburdenRatehourly
436
422
  item.operationType || "Production", // operationType
437
423
  item.quantityPerPart || 1, // quantityPerPart
438
424
  item.status || "Open" // status
@@ -1,14 +1,13 @@
1
- import { DateTime } from 'luxon';
2
- import logger from "../services/reporting-service/logger.js";
1
+ import logger from "../services/reporting-service/logger";
3
2
  import {
4
3
  setTimezoneOffsetInCache,
5
4
  setTimezoneNameInCache,
6
- } from "./local-data-store/jobs-shared-data.js";
5
+ } from "./local-data-store/jobs-shared-data";
7
6
  import {
8
7
  convertToLocalTime,
9
8
  formatDateWithTZOffset,
10
9
  getTimezoneOffset,
11
- } from "./timezone.js";
10
+ } from "./timezone";
12
11
 
13
12
  /**
14
13
  * Calculates the difference in hours between two timestamps
@@ -118,16 +117,6 @@ export const getTimezoneOffsetAndPersist = async (
118
117
  const { offset, timezone } = await getTimezoneOffset();
119
118
  logger.info(`Timezone offset: ${offset} hours, timezone: ${timezone}`);
120
119
  setTimezoneOffsetInCache(offset);
121
-
122
- const now = DateTime.now().setZone(timezone);
123
- if (!now.isValid) {
124
- throw new Error(
125
- `Invalid timezone name from Company properties: "${timezone}". ` +
126
- `Must be a valid IANA timezone name (e.g., "America/Chicago"). ` +
127
- `See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones`
128
- );
129
- }
130
-
131
120
  setTimezoneNameInCache(timezone);
132
121
  success = true;
133
122
  } catch (error) {
@@ -1,5 +1,5 @@
1
- import { CoreConfiguration } from "../services/data-sync-service/configuration-manager.js";
2
- import { HTTPClientFactory } from "./http-client.js";
1
+ import { CoreConfiguration } from "../services/data-sync-service/configuration-manager";
2
+ import { HTTPClientFactory } from "./http-client";
3
3
 
4
4
  /**
5
5
  * Gets the timezone offset in hours and timezone name for the company's timezone
package/dist/index.js DELETED
@@ -1,48 +0,0 @@
1
- /**
2
- * Main entry point for the MM ERP Connector SDK.
3
- * This file exports the public API that client code should use.
4
- */
5
- export { ERPObjType } from "./types/erp-types.js";
6
- // Configuration interfaces
7
- export { ErpApiConnectionParams } from "./services/data-sync-service/configuration-manager.js";
8
- export { getErpApiConnectionParams } from "./services/data-sync-service/configuration-manager.js";
9
- export { buildLogicalCondition } from "./services/erp-api-services/rest/get-query-params.js";
10
- // MM API client and types
11
- export { MMApiClient } from "./services/mm-api-service/index.js";
12
- export { MMReceiveLaborTicket } from "./services/mm-api-service/index.js";
13
- export { MMSendPerson, MMSendResource, MMSendPart, MMSendPartOperation, MMSendWorkOrder, MMSendWorkOrderOperation, MMSendReason, MMSendLaborTicket, } from "./services/mm-api-service/index.js";
14
- // Utility functions that are safe for client use
15
- export { getUniqueRows, removeExtraneousFields, getPayloadWithoutIDField, trimObjectValues, cleanupNumbers, addNewFieldFromExternalSource, addNewFieldFromLookupField, formatDateWithTZOffset, applyTimezoneOffsetsToFields, convertToLocalTime, getErrorType, } from "./utils/index.js";
16
- // Local data store
17
- export { getInitialLoadComplete, setInitialLoadComplete } from "./utils/index.js";
18
- // HTTP client factory and types for custom API integrations
19
- export { HTTPClientFactory } from "./utils/http-client.js";
20
- export { HTTPError } from "./utils/http-client.js";
21
- // Application initialization utilities
22
- export { ApplicationInitializer } from "./utils/application-initializer.js";
23
- // Data sync service
24
- export { runDataSyncService } from "./services/data-sync-service/index.js";
25
- // Logging service
26
- export { logger } from "./services/reporting-service/index.js";
27
- // Process drivers and utilities
28
- export { StandardProcessDrivers, getCachedTimezoneOffset, getCachedTimezoneName, } from "./utils/index.js";
29
- export { MMBatchValidationError } from "./utils/index.js";
30
- export { RestAPIService } from "./services/erp-api-services/rest/rest-api-service.js";
31
- export { ErrorHandler, GraphQLError } from "./services/erp-api-services/errors.js";
32
- export { OAuthClient } from "./services/erp-api-services/oauth-client.js";
33
- export { GraphQLService } from "./services/erp-api-services/graphql/graphql-service.js";
34
- // Caching services
35
- export { BatchCacheManager } from "./services/caching-service/batch-cache-manager.js";
36
- // Configuration services
37
- export { CoreConfiguration, getSQLServerConfiguration, } from "./services/data-sync-service/configuration-manager.js";
38
- // SQL Server services
39
- export { SqlServerService, SqlServerHelper, } from "./services/sql-server-erp-service/index.js";
40
- // PSQL (Pervasive) services
41
- export { PsqlService, formatPsqlDate, formatPsqlTime, combinePsqlDateTime, isPsqlDateEmpty, cleanPsqlCharField, } from "./services/psql-erp-service/index.js";
42
- // Record tracking services
43
- export { RecordTrackingManager } from "./services/caching-service/record-tracking-manager.js";
44
- // Knex services
45
- export { default as knexDatabaseConfig } from "./knexfile.js";
46
- // MM Connector Logging
47
- export { MMConnectorLogger, FileLogDeduper, LogEntry, } from "./utils/index.js";
48
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,2BAA2B;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAG7F,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAO1E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAI5C,iDAAiD;AACjD,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,mBAAmB;AACnB,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAElF,4DAA4D;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnD,uCAAuC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAK/D,gCAAgC;AAChC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAKnF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAGxF,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,yBAAyB;AACzB,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uDAAuD,CAAC;AAE/D,sBAAsB;AACtB,OAAO,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,4CAA4C,CAAC;AAGpD,4BAA4B;AAC5B,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAG9C,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAG9F,gBAAgB;AAChB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9D,uBAAuB;AACvB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,QAAQ,GAGT,MAAM,kBAAkB,CAAC"}
package/dist/knexfile.js DELETED
@@ -1,19 +0,0 @@
1
- import path from "path";
2
- import { fileURLToPath } from "url";
3
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
4
- const config = {
5
- local: {
6
- client: "better-sqlite3",
7
- connection: {
8
- filename: "./local.sqlite3",
9
- },
10
- useNullAsDefault: true,
11
- migrations: {
12
- directory: path.join(__dirname, "migrations"),
13
- extension: "js",
14
- loadExtensions: [".js"],
15
- },
16
- },
17
- };
18
- export default config;
19
- //# sourceMappingURL=knexfile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knexfile.js","sourceRoot":"","sources":["../src/knexfile.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,GAAmC;IAC7C,KAAK,EAAE;QACL,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE;YACV,QAAQ,EAAE,iBAAiB;SAC5B;QACD,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE;YACV,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;YAC7C,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,CAAC,KAAK,CAAC;SACxB;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Knex } from "knex";
2
- export declare function up(knex: Knex): Promise<void>;
3
- export declare function down(knex: Knex): Promise<void>;
4
- //# sourceMappingURL=20241015162631_create_cache_table.d.ts.map