@machinemetrics/mm-erp-sdk 0.1.8-beta.7 → 0.1.8-beta.8

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 (63) hide show
  1. package/README.md +2 -8
  2. package/dist/{config-152LkbTv.js → config-qat9zgOl.js} +2 -2
  3. package/dist/{config-152LkbTv.js.map → config-qat9zgOl.js.map} +1 -1
  4. package/dist/{connector-factory-wivcyMhC.js → connector-factory-C2czCs9v.js} +2 -2
  5. package/dist/{connector-factory-wivcyMhC.js.map → connector-factory-C2czCs9v.js.map} +1 -1
  6. package/dist/{hashed-cache-manager-BnviJzB7.js → hashed-cache-manager-CzyFSt2B.js} +4 -4
  7. package/dist/{hashed-cache-manager-BnviJzB7.js.map → hashed-cache-manager-CzyFSt2B.js.map} +1 -1
  8. package/dist/{index-DNqHWa8F.js → index-B9wo8pld.js} +2 -2
  9. package/dist/{index-DNqHWa8F.js.map → index-B9wo8pld.js.map} +1 -1
  10. package/dist/index.d.ts +4 -6
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/{logger-HAWySEbs.js → logger-Db8CkwR6.js} +11 -83
  13. package/dist/{logger-HAWySEbs.js.map → logger-Db8CkwR6.js.map} +1 -1
  14. package/dist/mm-erp-sdk.js +6 -234
  15. package/dist/mm-erp-sdk.js.map +1 -1
  16. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +4 -4
  17. package/dist/services/data-sync-service/jobs/from-erp.js +4 -4
  18. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +3 -3
  19. package/dist/services/data-sync-service/jobs/run-migrations.js +1 -1
  20. package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
  21. package/dist/services/data-sync-service/jobs/to-erp.js +3 -3
  22. package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
  23. package/dist/services/mm-api-service/mm-api-service.d.ts +4 -4
  24. package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
  25. package/dist/services/mm-api-service/types/checkpoint.d.ts +1 -2
  26. package/dist/services/mm-api-service/types/checkpoint.d.ts.map +1 -1
  27. package/dist/services/reporting-service/logger.d.ts.map +1 -1
  28. package/dist/types/erp-connector.d.ts +4 -2
  29. package/dist/types/erp-connector.d.ts.map +1 -1
  30. package/dist/types/erp-types.d.ts +0 -10
  31. package/dist/types/erp-types.d.ts.map +1 -1
  32. package/dist/types/index.d.ts +1 -1
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +2 -3
  35. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
  36. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +3 -3
  37. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
  38. package/package.json +1 -4
  39. package/src/index.ts +6 -27
  40. package/src/services/data-sync-service/jobs/to-erp.ts +1 -2
  41. package/src/services/mm-api-service/mm-api-service.ts +4 -4
  42. package/src/services/mm-api-service/types/checkpoint.ts +1 -3
  43. package/src/services/reporting-service/logger.ts +11 -94
  44. package/src/types/erp-connector.ts +5 -2
  45. package/src/types/erp-types.ts +0 -12
  46. package/src/types/index.ts +0 -1
  47. package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +2 -3
  48. package/src/utils/standard-process-drivers/standard-process-drivers.ts +3 -3
  49. package/dist/services/psql-erp-service/configuration.d.ts +0 -10
  50. package/dist/services/psql-erp-service/configuration.d.ts.map +0 -1
  51. package/dist/services/psql-erp-service/index.d.ts +0 -14
  52. package/dist/services/psql-erp-service/index.d.ts.map +0 -1
  53. package/dist/services/psql-erp-service/internal/types/psql-types.d.ts +0 -12
  54. package/dist/services/psql-erp-service/internal/types/psql-types.d.ts.map +0 -1
  55. package/dist/services/psql-erp-service/psql-helpers.d.ts +0 -32
  56. package/dist/services/psql-erp-service/psql-helpers.d.ts.map +0 -1
  57. package/dist/services/psql-erp-service/psql-service.d.ts +0 -43
  58. package/dist/services/psql-erp-service/psql-service.d.ts.map +0 -1
  59. package/src/services/psql-erp-service/configuration.ts +0 -9
  60. package/src/services/psql-erp-service/index.ts +0 -22
  61. package/src/services/psql-erp-service/internal/types/psql-types.ts +0 -13
  62. package/src/services/psql-erp-service/psql-helpers.ts +0 -90
  63. package/src/services/psql-erp-service/psql-service.ts +0 -240
@@ -1,7 +1,7 @@
1
- import "../../../config-152LkbTv.js";
2
- import { H as HashedCacheManager } from "../../../hashed-cache-manager-BnviJzB7.js";
3
- import { S as SQLiteCoordinator } from "../../../index-DNqHWa8F.js";
4
- import { l as logger } from "../../../logger-HAWySEbs.js";
1
+ import "../../../config-qat9zgOl.js";
2
+ import { H as HashedCacheManager } from "../../../hashed-cache-manager-CzyFSt2B.js";
3
+ import { S as SQLiteCoordinator } from "../../../index-B9wo8pld.js";
4
+ import { l as logger } from "../../../logger-Db8CkwR6.js";
5
5
  logger.level = process.env.LOG_LEVEL || "info";
6
6
  const main = async () => {
7
7
  const cacheManager = new HashedCacheManager();
@@ -1,7 +1,7 @@
1
- import "../../../config-152LkbTv.js";
2
- import { l as logger } from "../../../logger-HAWySEbs.js";
3
- import { S as SQLiteCoordinator } from "../../../index-DNqHWa8F.js";
4
- import { c as createConnectorFromPath } from "../../../connector-factory-wivcyMhC.js";
1
+ import "../../../config-qat9zgOl.js";
2
+ import { l as logger } from "../../../logger-Db8CkwR6.js";
3
+ import { S as SQLiteCoordinator } from "../../../index-B9wo8pld.js";
4
+ import { c as createConnectorFromPath } from "../../../connector-factory-C2czCs9v.js";
5
5
  logger.level = process.env.LOG_LEVEL || "info";
6
6
  const main = async () => {
7
7
  try {
@@ -1,6 +1,6 @@
1
- import "../../../config-152LkbTv.js";
2
- import { l as logger } from "../../../logger-HAWySEbs.js";
3
- import { c as createConnectorFromPath } from "../../../connector-factory-wivcyMhC.js";
1
+ import "../../../config-qat9zgOl.js";
2
+ import { l as logger } from "../../../logger-Db8CkwR6.js";
3
+ import { c as createConnectorFromPath } from "../../../connector-factory-C2czCs9v.js";
4
4
  logger.level = process.env.LOG_LEVEL || "info";
5
5
  const main = async () => {
6
6
  try {
@@ -1,5 +1,5 @@
1
1
  import knex from "knex";
2
- import { l as logger } from "../../../logger-HAWySEbs.js";
2
+ import { l as logger } from "../../../logger-Db8CkwR6.js";
3
3
  import { c as config } from "../../../knexfile-1qKKIORB.js";
4
4
  logger.level = process.env.LOG_LEVEL || "info";
5
5
  const db = knex(config.local);
@@ -1 +1 @@
1
- {"version":3,"file":"to-erp.d.ts","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/to-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AASvB,QAAA,MAAM,IAAI,qBAoCT,CAAC;AAoBF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"to-erp.d.ts","sourceRoot":"","sources":["../../../../src/services/data-sync-service/jobs/to-erp.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAQvB,QAAA,MAAM,IAAI,qBAoCT,CAAC;AAoBF,eAAe,IAAI,CAAC"}
@@ -1,6 +1,6 @@
1
- import "../../../config-152LkbTv.js";
2
- import { l as logger } from "../../../logger-HAWySEbs.js";
3
- import { c as createConnectorFromPath } from "../../../connector-factory-wivcyMhC.js";
1
+ import "../../../config-qat9zgOl.js";
2
+ import { l as logger } from "../../../logger-Db8CkwR6.js";
3
+ import { c as createConnectorFromPath } from "../../../connector-factory-C2czCs9v.js";
4
4
  logger.level = process.env.LOG_LEVEL || "info";
5
5
  const main = async () => {
6
6
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"to-erp.js","sources":["../../../../src/services/data-sync-service/jobs/to-erp.ts"],"sourcesContent":["import \"dotenv/config\";\n\nimport logger from \"../../../services/reporting-service/logger\";\nimport { SQLiteCoordinator } from \"../../sqlite-service\";\nimport { createConnectorFromPath } from \"../../../utils/connector-factory\";\n\n// Configure the logger with the correct log level\nlogger.level = process.env.LOG_LEVEL || \"info\";\n\nconst main = async () => {\n try {\n logger.info('Worker for job \"to-erp\" online');\n logger.info(\"==========Starting to-erp job cycle==========\");\n\n // Get the connector path from the environment variable\n const connectorPath = process.env.CONNECTOR_PATH;\n\n if (!connectorPath) {\n throw new Error(\"Connector path not provided in environment variables\");\n }\n\n // Create a new connector instance for this job\n const connector = await createConnectorFromPath(connectorPath);\n\n await connector.syncToERP();\n await connector.syncToERPCompleted();\n\n logger.info(\"==========Completed to-erp job cycle==========\");\n } catch (error) {\n const errorDetails = {\n message: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : undefined,\n name: error instanceof Error ? error.name : undefined,\n ...(error && typeof error === \"object\" ? error : {}), // Include all enumerable properties if it's an object\n };\n logger.error('Worker for job \"to-erp\" had an error', {\n error: errorDetails,\n connectorPath: process.env.CONNECTOR_PATH,\n });\n\n // Also log to console for immediate visibility\n console.error(\"to-erp job error:\", error);\n\n throw error; // Rethrow so Bree can handle it properly\n }\n};\n\n// Cross-platform module detection fix for Bree compatibility\n// Windows: process.argv[1] uses backslashes, import.meta.url uses forward slashes\n// Linux/Mac: both use forward slashes, so this normalization is safe\nconst normalizedArgv1 = process.argv[1].replace(/\\\\/g, '/');\nconst fileUrl = normalizedArgv1.startsWith('/') ? \n `file://${normalizedArgv1}` : // Unix: file:// + /path = file:///path\n `file:///${normalizedArgv1}`; // Windows: file:/// + C:/path = file:///C:/path\nconst isMainModule = import.meta.url === fileUrl;\n\nif (isMainModule) {\n // This is called when Bree runs this file as a worker\n try {\n await main();\n } catch {\n process.exitCode = 1; // prefer exitCode so stdout/stderr can flush\n }\n}\n\nexport default main;\n"],"names":[],"mappings":";;;AAOA,OAAO,QAAQ,QAAQ,IAAI,aAAa;AAExC,MAAM,OAAO,YAAY;AACvB,MAAI;AACF,WAAO,KAAK,gCAAgC;AAC5C,WAAO,KAAK,+CAA+C;AAG3D,UAAM,gBAAgB,QAAQ,IAAI;AAElC,QAAI,CAAC,eAAe;AAClB,YAAM,IAAI,MAAM,sDAAsD;AAAA,IACxE;AAGA,UAAM,YAAY,MAAM,wBAAwB,aAAa;AAE7D,UAAM,UAAU,UAAA;AAChB,UAAM,UAAU,mBAAA;AAEhB,WAAO,KAAK,gDAAgD;AAAA,EAC9D,SAAS,OAAO;AACd,UAAM,eAAe;AAAA,MACnB,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC9D,OAAO,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,MAC9C,MAAM,iBAAiB,QAAQ,MAAM,OAAO;AAAA,MAC5C,GAAI,SAAS,OAAO,UAAU,WAAW,QAAQ,CAAA;AAAA;AAAA,IAAC;AAEpD,WAAO,MAAM,wCAAwC;AAAA,MACnD,OAAO;AAAA,MACP,eAAe,QAAQ,IAAI;AAAA,IAAA,CAC5B;AAGD,YAAQ,MAAM,qBAAqB,KAAK;AAExC,UAAM;AAAA,EACR;AACF;AAKA,MAAM,kBAAkB,QAAQ,KAAK,CAAC,EAAE,QAAQ,OAAO,GAAG;AAC1D,MAAM,UAAU,gBAAgB,WAAW,GAAG,IAC5C,UAAU,eAAe;AAAA;AAAA,EACzB,WAAW,eAAe;AAAA;AAC5B,MAAM,eAAe,YAAY,QAAQ;AAEzC,IAAI,cAAc;AAEhB,MAAI;AACF,UAAM,KAAA;AAAA,EACR,QAAQ;AACN,YAAQ,WAAW;AAAA,EACrB;AACF;"}
1
+ {"version":3,"file":"to-erp.js","sources":["../../../../src/services/data-sync-service/jobs/to-erp.ts"],"sourcesContent":["import \"dotenv/config\";\n\nimport logger from \"../../reporting-service/logger\";\nimport { createConnectorFromPath } from \"../../../utils/connector-factory\";\n\n// Configure the logger with the correct log level\nlogger.level = process.env.LOG_LEVEL || \"info\";\n\nconst main = async () => {\n try {\n logger.info('Worker for job \"to-erp\" online');\n logger.info(\"==========Starting to-erp job cycle==========\");\n\n // Get the connector path from the environment variable\n const connectorPath = process.env.CONNECTOR_PATH;\n\n if (!connectorPath) {\n throw new Error(\"Connector path not provided in environment variables\");\n }\n\n // Create a new connector instance for this job\n const connector = await createConnectorFromPath(connectorPath);\n\n await connector.syncToERP();\n await connector.syncToERPCompleted();\n\n logger.info(\"==========Completed to-erp job cycle==========\");\n } catch (error) {\n const errorDetails = {\n message: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : undefined,\n name: error instanceof Error ? error.name : undefined,\n ...(error && typeof error === \"object\" ? error : {}), // Include all enumerable properties if it's an object\n };\n logger.error('Worker for job \"to-erp\" had an error', {\n error: errorDetails,\n connectorPath: process.env.CONNECTOR_PATH,\n });\n\n // Also log to console for immediate visibility\n console.error(\"to-erp job error:\", error);\n\n throw error; // Rethrow so Bree can handle it properly\n }\n};\n\n// Cross-platform module detection fix for Bree compatibility\n// Windows: process.argv[1] uses backslashes, import.meta.url uses forward slashes\n// Linux/Mac: both use forward slashes, so this normalization is safe\nconst normalizedArgv1 = process.argv[1].replace(/\\\\/g, '/');\nconst fileUrl = normalizedArgv1.startsWith('/') ? \n `file://${normalizedArgv1}` : // Unix: file:// + /path = file:///path\n `file:///${normalizedArgv1}`; // Windows: file:/// + C:/path = file:///C:/path\nconst isMainModule = import.meta.url === fileUrl;\n\nif (isMainModule) {\n // This is called when Bree runs this file as a worker\n try {\n await main();\n } catch {\n process.exitCode = 1; // prefer exitCode so stdout/stderr can flush\n }\n}\n\nexport default main;\n"],"names":[],"mappings":";;;AAMA,OAAO,QAAQ,QAAQ,IAAI,aAAa;AAExC,MAAM,OAAO,YAAY;AACvB,MAAI;AACF,WAAO,KAAK,gCAAgC;AAC5C,WAAO,KAAK,+CAA+C;AAG3D,UAAM,gBAAgB,QAAQ,IAAI;AAElC,QAAI,CAAC,eAAe;AAClB,YAAM,IAAI,MAAM,sDAAsD;AAAA,IACxE;AAGA,UAAM,YAAY,MAAM,wBAAwB,aAAa;AAE7D,UAAM,UAAU,UAAA;AAChB,UAAM,UAAU,mBAAA;AAEhB,WAAO,KAAK,gDAAgD;AAAA,EAC9D,SAAS,OAAO;AACd,UAAM,eAAe;AAAA,MACnB,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC9D,OAAO,iBAAiB,QAAQ,MAAM,QAAQ;AAAA,MAC9C,MAAM,iBAAiB,QAAQ,MAAM,OAAO;AAAA,MAC5C,GAAI,SAAS,OAAO,UAAU,WAAW,QAAQ,CAAA;AAAA;AAAA,IAAC;AAEpD,WAAO,MAAM,wCAAwC;AAAA,MACnD,OAAO;AAAA,MACP,eAAe,QAAQ,IAAI;AAAA,IAAA,CAC5B;AAGD,YAAQ,MAAM,qBAAqB,KAAK;AAExC,UAAM;AAAA,EACR;AACF;AAKA,MAAM,kBAAkB,QAAQ,KAAK,CAAC,EAAE,QAAQ,OAAO,GAAG;AAC1D,MAAM,UAAU,gBAAgB,WAAW,GAAG,IAC5C,UAAU,eAAe;AAAA;AAAA,EACzB,WAAW,eAAe;AAAA;AAC5B,MAAM,eAAe,YAAY,QAAQ;AAEzC,IAAI,cAAc;AAEhB,MAAI;AACF,UAAM,KAAA;AAAA,EACR,QAAQ;AACN,YAAQ,WAAW;AAAA,EACrB;AACF;"}
@@ -1,4 +1,4 @@
1
- import { ERPObjType, ERPType } from "../../types/erp-types";
1
+ import { ERPObjType } from "../../types/erp-types";
2
2
  import { MMReceiveLaborTicket } from "./types/receive-types";
3
3
  import { MMTokenManager } from "./token-mgr";
4
4
  import * as MM_SEND_TYPES from "./types/send-types";
@@ -197,8 +197,8 @@ export declare class MMApiClient {
197
197
  * @param failedTicketRefs The failed labor ticket references
198
198
  * @returns The response from the MM API
199
199
  */
200
- addFailedLaborTicketRefs(system: ERPType, failedTicketRefs: string[]): Promise<MMApiBaseResponse>;
201
- fetchFailedLaborTickets(system: ERPType): Promise<MMReceiveLaborTicket[]>;
200
+ addFailedLaborTicketRefs(system: string, failedTicketRefs: string[]): Promise<MMApiBaseResponse>;
201
+ fetchFailedLaborTickets(system: string): Promise<MMReceiveLaborTicket[]>;
202
202
  /**
203
203
  * Send connector logs to the MM API
204
204
  * @param logEntry Single log entry to send
@@ -219,7 +219,7 @@ export declare class MMApiClient {
219
219
  level: string;
220
220
  message: string;
221
221
  }[]): Promise<MMApiBaseResponse>;
222
- deleteFailedLaborTicketIds(system: ERPType, laborTicketRefs: string[]): Promise<MMApiBaseResponse>;
222
+ deleteFailedLaborTicketIds(system: string, laborTicketRefs: string[]): Promise<MMApiBaseResponse>;
223
223
  /**
224
224
  * Fetch machine groups from the MM API
225
225
  * @returns Promise with the machine groups data
@@ -1 +1 @@
1
- {"version":3,"file":"mm-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mm-api-service.d.ts","sourceRoot":"","sources":["../../../src/services/mm-api-service/mm-api-service.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import { ERPType } from "../../../types/erp-types";
2
1
  /**
3
2
  * Represents a checkpoint for a specific system, table, and checkpoint type
4
3
  */
5
4
  export type Checkpoint = {
6
- system: ERPType;
5
+ system: string;
7
6
  table: string;
8
7
  checkpointType: "import" | "export";
9
8
  checkpointValue?: {
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../../src/services/mm-api-service/types/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACpC,eAAe,CAAC,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../../src/services/mm-api-service/types/checkpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACpC,eAAe,CAAC,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/services/reporting-service/logger.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,MAAM,0BAaV,CAAC;AA+EH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,SAuChE,CAAC;AAKF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/services/reporting-service/logger.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,MAAM,0BAaV,CAAC;AAGH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,SAgChE,CAAC;AAKF,eAAe,MAAM,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import { MMReceiveLaborTicket } from "../services/mm-api-service/types/receive-types";
2
- import { ERPType } from "./erp-types";
3
2
  /**
4
3
  * Interface for ERP connectors.
5
4
  *
6
5
  * Required for any connector.
7
6
  */
8
7
  export interface IERPConnector {
9
- readonly type: ERPType;
8
+ /**
9
+ * The type of ERP system this connector is for.
10
+ */
11
+ readonly type: string;
10
12
  /**
11
13
  * Sync data from the ERP system to MM.
12
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"erp-connector.d.ts","sourceRoot":"","sources":["../../src/types/erp-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sBAAsB,CACpB,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC;QAAE,WAAW,EAAE,oBAAoB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,sBAAsB,CACpB,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"erp-connector.d.ts","sourceRoot":"","sources":["../../src/types/erp-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAEtF;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAE5B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sBAAsB,CACpB,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC;QAAE,WAAW,EAAE,oBAAoB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,sBAAsB,CACpB,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC"}
@@ -1,13 +1,3 @@
1
- export declare enum ERPType {
2
- INVALID = "INVALID",
3
- D365 = "D365",
4
- JOB_BOSS = "JOB_BOSS",
5
- PROFITKEY = "PROFITKEY",
6
- PROSHOP = "PROSHOP",
7
- SYTELINE = "SYTELINE",
8
- TEMPLATE = "TEMPLATE",
9
- GLOBALSHOP = "GLOBALSHOP"
10
- }
11
1
  export declare enum ERPObjType {
12
2
  RESOURCES = 0,
13
3
  PARTS = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"erp-types.d.ts","sourceRoot":"","sources":["../../src/types/erp-types.ts"],"names":[],"mappings":"AACA,oBAAY,OAAO;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AAED,oBAAY,UAAU;IACpB,SAAS,IAAA;IACT,KAAK,IAAA;IACL,cAAc,IAAA;IACd,WAAW,IAAA;IACX,qBAAqB,IAAA;IACrB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,aAAa,IAAA;CAEd;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"erp-types.d.ts","sourceRoot":"","sources":["../../src/types/erp-types.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,SAAS,IAAA;IACT,KAAK,IAAA;IACL,cAAc,IAAA;IACd,WAAW,IAAA;IACX,qBAAqB,IAAA;IACrB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,aAAa,IAAA;CAEd;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -3,5 +3,5 @@
3
3
  * This file re-exports all type definitions that are part of the public API.
4
4
  */
5
5
  export type { IERPConnector } from "./erp-connector";
6
- export type { ERPType, ERPObjType, ERPPagination, ERPResponse, ERPObject, } from "./erp-types";
6
+ export type { ERPObjType, ERPPagination, ERPResponse, ERPObject, } from "./erp-types";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EACV,OAAO,EACP,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EACV,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,aAAa,CAAC"}
@@ -1,4 +1,3 @@
1
- import { ERPType } from "../../types/erp-types";
2
1
  import { IERPLaborTicketHandler } from "../../types/erp-connector";
3
2
  /**
4
3
  * Handles synchronization of labor tickets between MachineMetrics and ERP systems
@@ -7,11 +6,11 @@ export declare class LaborTicketERPSynchronizer {
7
6
  /**
8
7
  * Synchronizes updated labor tickets from MachineMetrics to an ERP system
9
8
  */
10
- static syncToERP(connectorType: ERPType, connector: IERPLaborTicketHandler): Promise<void>;
9
+ static syncToERP(connectorType: string, connector: IERPLaborTicketHandler): Promise<void>;
11
10
  /**
12
11
  * Retries labor tickets that have failed to be created or updated in the ERP during the sync
13
12
  */
14
- static retryFailed(connectorType: ERPType, connector: IERPLaborTicketHandler): Promise<void>;
13
+ static retryFailed(connectorType: string, connector: IERPLaborTicketHandler): Promise<void>;
15
14
  private static writeLaborTicketIdToMM;
16
15
  private static processLaborTicket;
17
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"labor-ticket-erp-synchronizer.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAOnE;;GAEG;AACH,qBAAa,0BAA0B;IACrC;;OAEG;WACU,SAAS,CACpB,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IA4GhB;;OAEG;WACU,WAAW,CACtB,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;mBA+DK,sBAAsB;mBAetB,kBAAkB;CAkDxC"}
1
+ {"version":3,"file":"labor-ticket-erp-synchronizer.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAOnE;;GAEG;AACH,qBAAa,0BAA0B;IACrC;;OAEG;WACU,SAAS,CACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IA4GhB;;OAEG;WACU,WAAW,CACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;mBA+DK,sBAAsB;mBAetB,kBAAkB;CAkDxC"}
@@ -1,4 +1,4 @@
1
- import { ERPType, ERPObjType } from "../../types/erp-types";
1
+ import { ERPObjType } from "../../types/erp-types";
2
2
  import { IERPLaborTicketHandler } from "../../types/erp-connector";
3
3
  import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
4
4
  import { IToRESTApiObject, MMSendWorkOrderBatch } from "../../services/mm-api-service";
@@ -49,7 +49,7 @@ export declare class StandardProcessDrivers {
49
49
  * updates the labor ticket id in MM on newly created labor tickets,
50
50
  * and saves the checkpoint
51
51
  */
52
- static syncLaborTicketsToERP(connectorType: ERPType, connector: IERPLaborTicketHandler): Promise<void>;
52
+ static syncLaborTicketsToERP(connectorType: string, connector: IERPLaborTicketHandler): Promise<void>;
53
53
  /**
54
54
  * Retries labor tickets that have failed to be created or updated in the ERP during the sync:
55
55
  *
@@ -57,7 +57,7 @@ export declare class StandardProcessDrivers {
57
57
  * If the labor ticket is successfully created or updated, it is added to the list of successful labor ticket ids,
58
58
  * which are then deleted from the list of failed labor ticket ids.
59
59
  */
60
- static retryFailedLaborTickets(connectorType: ERPType, connector: IERPLaborTicketHandler): Promise<void>;
60
+ static retryFailedLaborTickets(connectorType: string, connector: IERPLaborTicketHandler): Promise<void>;
61
61
  /**
62
62
  * Writes a batch of records to MM for a specific entity type by:
63
63
  * 1. Deduplicating against cached records (localDedupeCount)
@@ -1 +1 @@
1
- {"version":3,"file":"standard-process-drivers.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/standard-process-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAKrB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,WAAW,EAAE,KAAK,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;KACtC,CAAC,CAAC;gBAES,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;SACtC,CAAC,CAAC;KACJ;CAUF;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC;;;;;;;;OAQG;WACU,qBAAqB,CAChC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;OAMG;WACU,uBAAuB,CAClC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwEG;WACU,iBAAiB,CAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC,uBAAuB,CAAC;IAQnC;;;;;;;;;;;;;;;OAeG;WACU,uBAAuB,CAClC,cAAc,EAAE,oBAAoB,EACpC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,cAAc,EAAE,uBAAuB,CAAC;QACxC,UAAU,EAAE,uBAAuB,CAAC;QACpC,mBAAmB,EAAE,uBAAuB,CAAC;KAC9C,CAAC;IAuCF;;;;;;;;;;;;;;OAcG;WACU,+BAA+B,CAC1C,aAAa,EAAE,GAAG,EAAE,EACpB,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,cAAc,EAAE,uBAAuB,CAAC;QACxC,UAAU,EAAE,uBAAuB,CAAC;QACpC,mBAAmB,EAAE,uBAAuB,CAAC;KAC9C,CAAC;CAkMH"}
1
+ {"version":3,"file":"standard-process-drivers.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/standard-process-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAKrB,MAAM,+BAA+B,CAAC;AAIvC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,WAAW,EAAE,KAAK,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;KACtC,CAAC,CAAC;gBAES,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;SACtC,CAAC,CAAC;KACJ;CAUF;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC;;;;;;;;OAQG;WACU,qBAAqB,CAChC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;OAMG;WACU,uBAAuB,CAClC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwEG;WACU,iBAAiB,CAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAAE,EAC7B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC,uBAAuB,CAAC;IAQnC;;;;;;;;;;;;;;;OAeG;WACU,uBAAuB,CAClC,cAAc,EAAE,oBAAoB,EACpC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,cAAc,EAAE,uBAAuB,CAAC;QACxC,UAAU,EAAE,uBAAuB,CAAC;QACpC,mBAAmB,EAAE,uBAAuB,CAAC;KAC9C,CAAC;IAuCF;;;;;;;;;;;;;;OAcG;WACU,+BAA+B,CAC1C,aAAa,EAAE,GAAG,EAAE,EACpB,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAC1C,OAAO,CAAC;QACT,KAAK,EAAE,uBAAuB,CAAC;QAC/B,cAAc,EAAE,uBAAuB,CAAC;QACxC,UAAU,EAAE,uBAAuB,CAAC;QACpC,mBAAmB,EAAE,uBAAuB,CAAC;KAC9C,CAAC;CAkMH"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@machinemetrics/mm-erp-sdk",
3
3
  "description": "A library for syncing data between MachineMetrics and ERP systems",
4
- "version": "0.1.8-beta.7",
4
+ "version": "0.1.8-beta.8",
5
5
  "license": "MIT",
6
6
  "author": "machinemetrics",
7
7
  "main": "dist/mm-erp-sdk.js",
@@ -33,9 +33,6 @@
33
33
  "xxhashjs": "^0.2.2",
34
34
  "zod": "^3.24.1"
35
35
  },
36
- "optionalDependencies": {
37
- "odbc": "^2.4.8"
38
- },
39
36
  "devDependencies": {
40
37
  "@types/json-stable-stringify": "^1.1.0",
41
38
  "@types/lodash": "^4.17.10",
package/src/index.ts CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  // Core interfaces and types
7
7
  export type { IERPConnector } from "./types/erp-connector";
8
- export { ERPType, ERPObjType } from "./types/erp-types";
8
+ export { ERPObjType } from "./types/erp-types";
9
9
  export type { ERPPagination, ERPResponse, ERPObject } from "./types/erp-types";
10
10
 
11
11
  // Configuration interfaces
@@ -17,13 +17,13 @@ export type { ERPApiConfig } from "./services/erp-api-services/types";
17
17
  // MM API client and types
18
18
  export { MMApiClient } from "./services/mm-api-service";
19
19
  export { MMReceiveLaborTicket } from "./services/mm-api-service";
20
- export type {
20
+ export type {
21
21
  MMReceiveLaborTicketReason,
22
22
  MMReceiveLaborTicketWorkOrderOperation,
23
23
  IToRESTApiObject,
24
24
  } from "./services/mm-api-service";
25
25
 
26
- export {
26
+ export {
27
27
  MMSendPerson,
28
28
  MMSendResource,
29
29
  MMSendPart,
@@ -57,11 +57,7 @@ export { getInitialLoadComplete, setInitialLoadComplete } from "./utils";
57
57
  // HTTP client factory and types for custom API integrations
58
58
  export { HTTPClientFactory } from "./utils/http-client";
59
59
  export { HTTPError } from "./utils/http-client";
60
- export type {
61
- HTTPResponse,
62
- HTTPClient,
63
- HTTPRequestConfig,
64
- } from "./utils/http-client";
60
+ export type { HTTPResponse, HTTPClient, HTTPRequestConfig } from "./utils/http-client";
65
61
 
66
62
  // Application initialization utilities
67
63
  export { ApplicationInitializer } from "./utils/application-initializer";
@@ -81,7 +77,7 @@ export type { WriteEntitiesToMMResult } from "./utils";
81
77
  export { MMBatchValidationError } from "./utils";
82
78
 
83
79
  // API services
84
- export type { APIResponse } from "./services/erp-api-services/types";
80
+ export type { APIResponse } from './services/erp-api-services/types';
85
81
  export { RestAPIService } from "./services/erp-api-services/rest/rest-api-service";
86
82
  export { ErrorHandler, GraphQLError } from "./services/erp-api-services/errors";
87
83
  export type {
@@ -109,17 +105,6 @@ export {
109
105
  } from "./services/sql-server-erp-service";
110
106
  export type { SQLInput } from "./services/sql-server-erp-service";
111
107
 
112
- // PSQL (Pervasive) services
113
- export {
114
- PsqlService,
115
- formatPsqlDate,
116
- formatPsqlTime,
117
- combinePsqlDateTime,
118
- isPsqlDateEmpty,
119
- cleanPsqlCharField,
120
- } from "./services/psql-erp-service";
121
- export type { PsqlConfiguration } from "./services/psql-erp-service";
122
-
123
108
  // Record tracking services
124
109
  export { RecordTrackingManager } from "./services/caching-service/record-tracking-manager";
125
110
  export type { RecordTrackingObject } from "./services/caching-service/record-tracking-manager";
@@ -128,10 +113,4 @@ export type { RecordTrackingObject } from "./services/caching-service/record-tra
128
113
  export { default as knexDatabaseConfig } from "./knexfile";
129
114
 
130
115
  // MM Connector Logging
131
- export {
132
- MMConnectorLogger,
133
- FileLogDeduper,
134
- LogEntry,
135
- type LogLevelString,
136
- type LogResponse,
137
- } from "./utils";
116
+ export { MMConnectorLogger, FileLogDeduper, LogEntry, type LogLevelString, type LogResponse } from './utils';
@@ -1,7 +1,6 @@
1
1
  import "dotenv/config";
2
2
 
3
- import logger from "../../../services/reporting-service/logger";
4
- import { SQLiteCoordinator } from "../../sqlite-service";
3
+ import logger from "../../reporting-service/logger";
5
4
  import { createConnectorFromPath } from "../../../utils/connector-factory";
6
5
 
7
6
  // Configure the logger with the correct log level
@@ -1,5 +1,5 @@
1
1
  import logger from "../reporting-service/logger";
2
- import { ERPObjType, ERPType } from "../../types/erp-types";
2
+ import { ERPObjType } from "../../types/erp-types";
3
3
  import { MMReceiveLaborTicket } from "./types/receive-types";
4
4
  import { MMTokenManager } from "./token-mgr";
5
5
  import * as MM_SEND_TYPES from "./types/send-types";
@@ -624,7 +624,7 @@ export class MMApiClient {
624
624
  * @returns The response from the MM API
625
625
  */
626
626
  async addFailedLaborTicketRefs(
627
- system: ERPType,
627
+ system: string,
628
628
  failedTicketRefs: string[]
629
629
  ): Promise<MMApiBaseResponse> {
630
630
  return await this.postData(
@@ -635,7 +635,7 @@ export class MMApiClient {
635
635
  }
636
636
 
637
637
  async fetchFailedLaborTickets(
638
- system: ERPType
638
+ system: string
639
639
  ): Promise<MMReceiveLaborTicket[]> {
640
640
  const failedTickets = (await this.getData(
641
641
  `${this.resourceURLs[ERPObjType.LABOR_TICKETS]}/failed`,
@@ -675,7 +675,7 @@ export class MMApiClient {
675
675
  }
676
676
 
677
677
  async deleteFailedLaborTicketIds(
678
- system: ERPType,
678
+ system: string,
679
679
  laborTicketRefs: string[]
680
680
  ): Promise<MMApiBaseResponse> {
681
681
  return await this.postData(
@@ -1,10 +1,8 @@
1
- import { ERPType } from "../../../types/erp-types";
2
-
3
1
  /**
4
2
  * Represents a checkpoint for a specific system, table, and checkpoint type
5
3
  */
6
4
  export type Checkpoint = {
7
- system: ERPType;
5
+ system: string;
8
6
  table: string;
9
7
  checkpointType: "import" | "export";
10
8
  checkpointValue?: {
@@ -76,105 +76,22 @@ const logger = createLogger({
76
76
  ],
77
77
  });
78
78
 
79
- // Helper function to create a file transport with shared configuration
80
- const createFileTransport = (): DailyRotateFile => {
81
- return new DailyRotateFile({
82
- filename: path.join(logDirectory, "%DATE%.log"),
83
- datePattern: "YYYY-MM-DD",
84
- zippedArchive: true,
85
- maxSize: "20m",
86
- maxFiles: "14d",
87
- format: logFormat,
88
- });
89
- };
90
-
91
- // Rotate mitigation helper: attaches rotate handler to transport and recursively attaches to replacements
92
- function attachRotateMitigation(
93
- transport: DailyRotateFile,
94
- opts: { logLevel: string; nodeEnv: string }
95
- ) {
96
- const { logLevel, nodeEnv } = opts;
97
- let isRefreshing = false;
98
- transport.on("rotate", (_old: string, _new: string) => {
99
- if (isRefreshing) return;
100
- isRefreshing = true;
101
- (logger as any).silent = true;
102
-
103
- const REFRESH_TIMEOUT_MS = 10000;
104
- let timeout: NodeJS.Timeout | null = setTimeout(() => {
105
- (logger as any).silent = false;
106
- isRefreshing = false;
107
- console.warn(
108
- '[logger] Refresh timeout: resuming logging after 10s without "new" event.'
109
- );
110
- }, REFRESH_TIMEOUT_MS);
111
-
112
- // Close and clear existing file transports
113
- const existing = (logger.transports || []).filter(
114
- (t: any) => t instanceof DailyRotateFile
115
- );
116
- for (const t of existing) {
117
- const s = (t as any).logStream;
118
- if (s && typeof s.end === "function") {
119
- try {
120
- s.end();
121
- } catch {}
122
- }
123
- }
124
- logger.clear();
125
-
126
- // Create replacement, attach mitigation for future rotations
127
- const next = createFileTransport();
128
- next.on("new", () => {
129
- if (timeout) {
130
- clearTimeout(timeout);
131
- timeout = null;
132
- }
133
- (logger as any).silent = false;
134
- isRefreshing = false;
135
- });
136
- attachRotateMitigation(next, opts);
137
-
138
- logger.add(next);
139
- if (nodeEnv !== "production") {
140
- logger.add(
141
- new transports.Console({
142
- format: format.combine(
143
- format.timestamp(),
144
- format.splat(),
145
- baseFormat,
146
- format.colorize({ all: true })
147
- ),
148
- })
149
- );
150
- }
151
- logger.level = logLevel;
152
- });
153
- }
154
-
155
79
  // Function to reconfigure the logger once CoreConfiguration is available
156
80
  export const configureLogger = (logLevel: string, nodeEnv: string) => {
157
- // Remove existing transports (safely): close any DailyRotateFile streams first
158
- try {
159
- const existingFileTransports = (logger.transports || []).filter(
160
- (t: any) => t instanceof DailyRotateFile
161
- );
162
- for (const t of existingFileTransports) {
163
- const s = (t as any).logStream;
164
- if (s && typeof s.end === "function") {
165
- try {
166
- s.end();
167
- } catch {}
168
- }
169
- }
170
- } catch {}
171
-
81
+ // Remove existing transports
172
82
  logger.clear();
173
83
 
174
84
  // Add file transport
175
- const fileTransport = createFileTransport();
176
- attachRotateMitigation(fileTransport, { logLevel, nodeEnv });
177
- logger.add(fileTransport);
85
+ logger.add(
86
+ new DailyRotateFile({
87
+ filename: path.join(logDirectory, "%DATE%.log"),
88
+ datePattern: "YYYY-MM-DD",
89
+ zippedArchive: true,
90
+ maxSize: "20m",
91
+ maxFiles: "14d",
92
+ format: logFormat,
93
+ })
94
+ );
178
95
 
179
96
  // Add console transport in non-production environments
180
97
  if (nodeEnv !== "production") {
@@ -1,5 +1,4 @@
1
1
  import { MMReceiveLaborTicket } from "../services/mm-api-service/types/receive-types";
2
- import { ERPType } from "./erp-types";
3
2
 
4
3
  /**
5
4
  * Interface for ERP connectors.
@@ -7,7 +6,11 @@ import { ERPType } from "./erp-types";
7
6
  * Required for any connector.
8
7
  */
9
8
  export interface IERPConnector {
10
- readonly type: ERPType;
9
+
10
+ /**
11
+ * The type of ERP system this connector is for.
12
+ */
13
+ readonly type: string;
11
14
 
12
15
  /**
13
16
  * Sync data from the ERP system to MM.
@@ -1,15 +1,3 @@
1
- // TO DO: This will change once the SDK is refactored into its own repo
2
- export enum ERPType {
3
- INVALID = "INVALID",
4
- D365 = "D365",
5
- JOB_BOSS = "JOB_BOSS",
6
- PROFITKEY = "PROFITKEY",
7
- PROSHOP = "PROSHOP",
8
- SYTELINE = "SYTELINE",
9
- TEMPLATE = "TEMPLATE",
10
- GLOBALSHOP = "GLOBALSHOP",
11
- }
12
-
13
1
  export enum ERPObjType {
14
2
  RESOURCES,
15
3
  PARTS,
@@ -5,7 +5,6 @@
5
5
 
6
6
  export type { IERPConnector } from "./erp-connector";
7
7
  export type {
8
- ERPType,
9
8
  ERPObjType,
10
9
  ERPPagination,
11
10
  ERPResponse,
@@ -1,4 +1,3 @@
1
- import { ERPType } from "../../types/erp-types";
2
1
  import { IERPLaborTicketHandler } from "../../types/erp-connector";
3
2
  import { MMApiClient } from "../../services/mm-api-service/mm-api-service";
4
3
  import { MMReceiveLaborTicket } from "../../services/mm-api-service/types/receive-types";
@@ -14,7 +13,7 @@ export class LaborTicketERPSynchronizer {
14
13
  * Synchronizes updated labor tickets from MachineMetrics to an ERP system
15
14
  */
16
15
  static async syncToERP(
17
- connectorType: ERPType,
16
+ connectorType: string,
18
17
  connector: IERPLaborTicketHandler
19
18
  ): Promise<void> {
20
19
  try {
@@ -128,7 +127,7 @@ export class LaborTicketERPSynchronizer {
128
127
  * Retries labor tickets that have failed to be created or updated in the ERP during the sync
129
128
  */
130
129
  static async retryFailed(
131
- connectorType: ERPType,
130
+ connectorType: string,
132
131
  connector: IERPLaborTicketHandler
133
132
  ): Promise<void> {
134
133
  try {
@@ -1,4 +1,4 @@
1
- import { ERPType, ERPObjType } from "../../types/erp-types";
1
+ import { ERPObjType } from "../../types/erp-types";
2
2
  import { IERPLaborTicketHandler } from "../../types/erp-connector";
3
3
  import { BatchCacheManager } from "../../services/caching-service/batch-cache-manager";
4
4
  import {
@@ -72,7 +72,7 @@ export class StandardProcessDrivers {
72
72
  * and saves the checkpoint
73
73
  */
74
74
  static async syncLaborTicketsToERP(
75
- connectorType: ERPType,
75
+ connectorType: string,
76
76
  connector: IERPLaborTicketHandler
77
77
  ): Promise<void> {
78
78
  return LaborTicketERPSynchronizer.syncToERP(connectorType, connector);
@@ -86,7 +86,7 @@ export class StandardProcessDrivers {
86
86
  * which are then deleted from the list of failed labor ticket ids.
87
87
  */
88
88
  static async retryFailedLaborTickets(
89
- connectorType: ERPType,
89
+ connectorType: string,
90
90
  connector: IERPLaborTicketHandler
91
91
  ): Promise<void> {
92
92
  return LaborTicketERPSynchronizer.retryFailed(connectorType, connector);