@devrev/ts-adaas 1.12.3-beta.0 → 1.12.3-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 (85) hide show
  1. package/dist/common/constants.js +11 -11
  2. package/dist/common/control-protocol.d.ts.map +1 -1
  3. package/dist/common/control-protocol.js +1 -5
  4. package/dist/common/helpers.d.ts.map +1 -1
  5. package/dist/common/helpers.js +7 -25
  6. package/dist/deprecated/adapter/index.d.ts.map +1 -1
  7. package/dist/deprecated/adapter/index.js +0 -2
  8. package/dist/logger/logger.context.d.ts +6 -0
  9. package/dist/logger/logger.context.d.ts.map +1 -0
  10. package/dist/logger/logger.context.js +31 -0
  11. package/dist/logger/logger.d.ts +16 -1
  12. package/dist/logger/logger.d.ts.map +1 -1
  13. package/dist/logger/logger.interfaces.d.ts +4 -3
  14. package/dist/logger/logger.interfaces.d.ts.map +1 -1
  15. package/dist/logger/logger.js +33 -6
  16. package/dist/logger/logger.test.js +71 -10
  17. package/dist/logger/logger.worker-fixture.d.ts +2 -0
  18. package/dist/logger/logger.worker-fixture.d.ts.map +1 -0
  19. package/dist/logger/logger.worker-fixture.js +10 -0
  20. package/dist/state/state.js +2 -2
  21. package/dist/state/state.test.js +3 -3
  22. package/dist/tests/backwards-compatibility/backwards-compatibility.test.js +17 -2
  23. package/dist/tests/timeout-handling/timeout-1.js +2 -2
  24. package/dist/tests/timeout-handling/timeout-1.test.js +1 -1
  25. package/dist/tests/timeout-handling/timeout-2.js +3 -3
  26. package/dist/tests/timeout-handling/timeout-2.test.js +1 -1
  27. package/dist/tests/timeout-handling/timeout-3a.js +2 -2
  28. package/dist/tests/timeout-handling/timeout-3a.test.js +1 -1
  29. package/dist/tests/timeout-handling/timeout-3b.js +2 -2
  30. package/dist/tests/timeout-handling/timeout-3b.test.js +1 -1
  31. package/dist/types/extraction.d.ts +2 -99
  32. package/dist/types/extraction.d.ts.map +1 -1
  33. package/dist/types/extraction.js +2 -102
  34. package/dist/types/loading.d.ts +1 -21
  35. package/dist/types/loading.d.ts.map +1 -1
  36. package/dist/types/loading.js +0 -23
  37. package/dist/types/workers.d.ts +14 -5
  38. package/dist/types/workers.d.ts.map +1 -1
  39. package/dist/workers/default-workers/attachments-deletion.d.ts +2 -0
  40. package/dist/workers/default-workers/attachments-deletion.d.ts.map +1 -0
  41. package/dist/workers/default-workers/attachments-deletion.js +13 -0
  42. package/dist/workers/default-workers/attachments-extraction.d.ts +2 -0
  43. package/dist/workers/default-workers/attachments-extraction.d.ts.map +1 -0
  44. package/dist/workers/default-workers/attachments-extraction.js +95 -0
  45. package/dist/workers/default-workers/data-deletion.d.ts +2 -0
  46. package/dist/workers/default-workers/data-deletion.d.ts.map +1 -0
  47. package/dist/workers/default-workers/data-deletion.js +15 -0
  48. package/dist/workers/default-workers/data-extraction.d.ts +2 -0
  49. package/dist/workers/default-workers/data-extraction.d.ts.map +1 -0
  50. package/dist/workers/default-workers/data-extraction.js +100 -0
  51. package/dist/workers/default-workers/delete-loader-attachment-state.d.ts +2 -0
  52. package/dist/workers/default-workers/delete-loader-attachment-state.d.ts.map +1 -0
  53. package/dist/workers/default-workers/delete-loader-attachment-state.js +15 -0
  54. package/dist/workers/default-workers/delete-loader-state.d.ts +2 -0
  55. package/dist/workers/default-workers/delete-loader-state.d.ts.map +1 -0
  56. package/dist/workers/default-workers/delete-loader-state.js +15 -0
  57. package/dist/workers/default-workers/external-sync-units-extraction.d.ts +2 -0
  58. package/dist/workers/default-workers/external-sync-units-extraction.d.ts.map +1 -0
  59. package/dist/workers/default-workers/external-sync-units-extraction.js +27 -0
  60. package/dist/workers/default-workers/load-attachments.d.ts +2 -0
  61. package/dist/workers/default-workers/load-attachments.d.ts.map +1 -0
  62. package/dist/workers/default-workers/load-attachments.js +19 -0
  63. package/dist/workers/default-workers/load-data.d.ts +2 -0
  64. package/dist/workers/default-workers/load-data.d.ts.map +1 -0
  65. package/dist/workers/default-workers/load-data.js +18 -0
  66. package/dist/workers/default-workers/metadata-extraction.d.ts +2 -0
  67. package/dist/workers/default-workers/metadata-extraction.d.ts.map +1 -0
  68. package/dist/workers/default-workers/metadata-extraction.js +26 -0
  69. package/dist/workers/dummy-extractor/data-normalization.d.ts +5 -0
  70. package/dist/workers/dummy-extractor/data-normalization.d.ts.map +1 -0
  71. package/dist/workers/dummy-extractor/data-normalization.js +41 -0
  72. package/dist/workers/dummy-extractor/external_domain_metadata.json +58 -0
  73. package/dist/workers/process-task.d.ts.map +1 -1
  74. package/dist/workers/process-task.js +37 -35
  75. package/dist/workers/spawn.d.ts +3 -3
  76. package/dist/workers/spawn.d.ts.map +1 -1
  77. package/dist/workers/spawn.js +47 -66
  78. package/dist/workers/worker-adapter.d.ts.map +1 -1
  79. package/dist/workers/worker-adapter.js +496 -475
  80. package/dist/workers/worker-adapter.test.js +7 -0
  81. package/dist/workers/worker.js +4 -1
  82. package/package.json +1 -1
  83. package/dist/common/event-type-translation.d.ts +0 -24
  84. package/dist/common/event-type-translation.d.ts.map +0 -1
  85. package/dist/common/event-type-translation.js +0 -117
@@ -4,14 +4,14 @@ exports.DEFAULT_SLEEP_DELAY_MS = exports.MEMORY_LOG_INTERVAL = exports.HARD_TIME
4
4
  const extraction_1 = require("../types/extraction");
5
5
  const helpers_1 = require("./helpers");
6
6
  exports.ALLOWED_EXTRACTION_EVENT_TYPES = [
7
- extraction_1.EventType.StartExtractingExternalSyncUnits,
8
- extraction_1.EventType.StartExtractingMetadata,
9
- extraction_1.EventType.StartExtractingData,
10
- extraction_1.EventType.ContinueExtractingData,
11
- extraction_1.EventType.StartDeletingExtractorState,
12
- extraction_1.EventType.StartExtractingAttachments,
13
- extraction_1.EventType.ContinueExtractingAttachments,
14
- extraction_1.EventType.StartDeletingExtractorAttachmentsState,
7
+ extraction_1.EventType.ExtractionExternalSyncUnitsStart,
8
+ extraction_1.EventType.ExtractionMetadataStart,
9
+ extraction_1.EventType.ExtractionDataStart,
10
+ extraction_1.EventType.ExtractionDataContinue,
11
+ extraction_1.EventType.ExtractionDataDelete,
12
+ extraction_1.EventType.ExtractionAttachmentsStart,
13
+ extraction_1.EventType.ExtractionAttachmentsContinue,
14
+ extraction_1.EventType.ExtractionAttachmentsDelete,
15
15
  ];
16
16
  exports.ALLOWED_LOADING_EVENT_TYPES = [
17
17
  extraction_1.EventType.StartLoadingData,
@@ -24,9 +24,9 @@ exports.ALLOWED_EVENT_TYPES = [
24
24
  ...exports.ALLOWED_LOADING_EVENT_TYPES,
25
25
  ];
26
26
  exports.STATELESS_EXTRACTION_EVENT_TYPES = [
27
- extraction_1.EventType.StartExtractingExternalSyncUnits,
28
- extraction_1.EventType.StartDeletingExtractorState,
29
- extraction_1.EventType.StartDeletingExtractorAttachmentsState,
27
+ extraction_1.EventType.ExtractionExternalSyncUnitsStart,
28
+ extraction_1.EventType.ExtractionDataDelete,
29
+ extraction_1.EventType.ExtractionAttachmentsDelete,
30
30
  ];
31
31
  exports.STATELESS_LOADING_EVENT_TYPES = [
32
32
  extraction_1.EventType.StartDeletingLoaderState,
@@ -1 +1 @@
1
- {"version":3,"file":"control-protocol.d.ts","sourceRoot":"","sources":["../../src/common/control-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,SAAS,EAET,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,kBAAkB,GAAG,eAAe,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,IAAI,GAAU,6BAIxB,aAAa,KAAG,OAAO,CAAC,aAAa,CAgCvC,CAAC"}
1
+ {"version":3,"file":"control-protocol.d.ts","sourceRoot":"","sources":["../../src/common/control-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EACL,YAAY,EACZ,SAAS,EAET,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,kBAAkB,GAAG,eAAe,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,IAAI,GAAU,6BAIxB,aAAa,KAAG,OAAO,CAAC,aAAa,CA4BvC,CAAC"}
@@ -3,13 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.emit = void 0;
4
4
  const axios_client_internal_1 = require("../http/axios-client-internal");
5
5
  const constants_1 = require("./constants");
6
- const event_type_translation_1 = require("./event-type-translation");
7
6
  const emit = async ({ event, eventType, data, }) => {
8
- // Normalize outgoing event type to ensure we always send new event types
9
- // TODO: Remove when the old types are completely phased out
10
- const translatedEventType = (0, event_type_translation_1.translateOutgoingEventType)(eventType);
11
7
  const newEvent = {
12
- event_type: translatedEventType,
8
+ event_type: eventType,
13
9
  event_context: event.payload.event_context,
14
10
  event_data: Object.assign({}, data),
15
11
  worker_metadata: {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/common/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAM1B,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,SAAS,GAAG;IAC9D,SAAS,EAAE,kBAAkB,GAAG,eAAe,CAAC;CACjD,CAmFA;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,UAElE;AAED,wBAAgB,cAAc,CAAC,EAC7B,kBAAkB,EAClB,SAAS,GACV,EAAE;IACD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B,GAAG,UAAU,EAAE,CA8Bf;AAED,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,MAAM,GACP,EAAE;IACD,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,YAAY,EAAE,CA4BjB;AAGD,wBAAgB,iBAAiB,QAiBhC;AAED,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAGrC;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmBzD;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,cAAc,IAAI,UAAU,CAmD3C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/common/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAM1B,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,SAAS,GAAG;IAC9D,SAAS,EAAE,kBAAkB,GAAG,eAAe,CAAC;CACjD,CAiEA;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,UAElE;AAED,wBAAgB,cAAc,CAAC,EAC7B,kBAAkB,EAClB,SAAS,GACV,EAAE;IACD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B,GAAG,UAAU,EAAE,CA8Bf;AAED,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,MAAM,GACP,EAAE;IACD,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,YAAY,EAAE,CA4BjB;AAGD,wBAAgB,iBAAiB,QAiBhC;AAED,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAGrC;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmBzD;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,cAAc,IAAI,UAAU,CAmD3C"}
@@ -49,64 +49,46 @@ const loading_1 = require("../types/loading");
49
49
  const constants_1 = require("./constants");
50
50
  function getTimeoutErrorEventType(eventType) {
51
51
  switch (eventType) {
52
- // Metadata extraction (handles both old and new enum members)
53
- case extraction_1.EventType.StartExtractingMetadata:
54
52
  case extraction_1.EventType.ExtractionMetadataStart:
55
53
  return {
56
- eventType: extraction_1.ExtractorEventType.MetadataExtractionError,
54
+ eventType: extraction_1.ExtractorEventType.ExtractionMetadataError,
57
55
  };
58
- // Data extraction (handles both old and new enum members)
59
- case extraction_1.EventType.StartExtractingData:
60
- case extraction_1.EventType.ContinueExtractingData:
61
56
  case extraction_1.EventType.ExtractionDataStart:
62
57
  case extraction_1.EventType.ExtractionDataContinue:
63
58
  return {
64
- eventType: extraction_1.ExtractorEventType.DataExtractionError,
59
+ eventType: extraction_1.ExtractorEventType.ExtractionDataError,
65
60
  };
66
- // Data deletion (handles both old and new enum members)
67
- case extraction_1.EventType.StartDeletingExtractorState:
68
61
  case extraction_1.EventType.ExtractionDataDelete:
69
62
  return {
70
- eventType: extraction_1.ExtractorEventType.ExtractorStateDeletionError,
63
+ eventType: extraction_1.ExtractorEventType.ExtractionDataDeleteError,
71
64
  };
72
- // Attachments extraction (handles both old and new enum members)
73
- case extraction_1.EventType.StartExtractingAttachments:
74
- case extraction_1.EventType.ContinueExtractingAttachments:
75
65
  case extraction_1.EventType.ExtractionAttachmentsStart:
76
66
  case extraction_1.EventType.ExtractionAttachmentsContinue:
77
67
  return {
78
- eventType: extraction_1.ExtractorEventType.AttachmentExtractionError,
68
+ eventType: extraction_1.ExtractorEventType.ExtractionAttachmentsError,
79
69
  };
80
- // Attachments deletion (handles both old and new enum members)
81
- case extraction_1.EventType.StartDeletingExtractorAttachmentsState:
82
70
  case extraction_1.EventType.ExtractionAttachmentsDelete:
83
71
  return {
84
- eventType: extraction_1.ExtractorEventType.ExtractorAttachmentsStateDeletionError,
72
+ eventType: extraction_1.ExtractorEventType.ExtractionAttachmentsDeleteError,
85
73
  };
86
- // External sync units (handles both old and new enum members)
87
- case extraction_1.EventType.StartExtractingExternalSyncUnits:
88
74
  case extraction_1.EventType.ExtractionExternalSyncUnitsStart:
89
75
  return {
90
- eventType: extraction_1.ExtractorEventType.ExternalSyncUnitExtractionError,
76
+ eventType: extraction_1.ExtractorEventType.ExtractionExternalSyncUnitsError,
91
77
  };
92
- // Loading data
93
78
  case extraction_1.EventType.StartLoadingData:
94
79
  case extraction_1.EventType.ContinueLoadingData:
95
80
  return {
96
81
  eventType: loading_1.LoaderEventType.DataLoadingError,
97
82
  };
98
- // Deleting loader state
99
83
  case extraction_1.EventType.StartDeletingLoaderState:
100
84
  return {
101
85
  eventType: loading_1.LoaderEventType.LoaderStateDeletionError,
102
86
  };
103
- // Loading attachments
104
87
  case extraction_1.EventType.StartLoadingAttachments:
105
88
  case extraction_1.EventType.ContinueLoadingAttachments:
106
89
  return {
107
- eventType: loading_1.LoaderEventType.AttachmentsLoadingError,
90
+ eventType: loading_1.LoaderEventType.AttachmentLoadingError,
108
91
  };
109
- // Deleting loader attachment state
110
92
  case extraction_1.EventType.StartDeletingLoaderAttachmentState:
111
93
  return {
112
94
  eventType: loading_1.LoaderEventType.LoaderAttachmentStateDeletionError,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deprecated/adapter/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,SAAS,EAET,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAK5D,OAAO,EAAE,KAAK,EAAsB,MAAM,mBAAmB,CAAC;AAG9D;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AAEH,wBAAsB,aAAa,CAAC,cAAc,EAChD,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,cAAc,EAC5B,kBAAkB,GAAE,OAAe,oCAiBpC;AAED,qBAAa,OAAO,CAAC,cAAc;IACjC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,iBAAiB,CAAqB;gBAG5C,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,kBAAkB,GAAE,OAAe;IAwBrC,IAAI,KAAK,IAAI,YAAY,CAAC,cAAc,CAAC,CAExC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,EAE5C;IAED,IAAI,SAAS,IAAI,QAAQ,EAAE,CAE1B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAE9B;IAED;;;;;OAKG;IACG,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,SAAS;IAkD7D;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;YACW,SAAS;CAiBxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deprecated/adapter/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,SAAS,EAET,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAK5D,OAAO,EAAE,KAAK,EAAsB,MAAM,mBAAmB,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AAEH;;;;;;;GAOG;AAEH,wBAAsB,aAAa,CAAC,cAAc,EAChD,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,cAAc,EAC5B,kBAAkB,GAAE,OAAe,oCAepC;AAED,qBAAa,OAAO,CAAC,cAAc;IACjC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,iBAAiB,CAAqB;gBAG5C,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,kBAAkB,GAAE,OAAe;IAwBrC,IAAI,KAAK,IAAI,YAAY,CAAC,cAAc,CAAC,CAExC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,EAE5C;IAED,IAAI,SAAS,IAAI,QAAQ,EAAE,CAE1B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAE9B;IAED;;;;;OAKG;IACG,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,SAAS;IAkD7D;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;YACW,SAAS;CAiBxB"}
@@ -10,7 +10,6 @@ const constants_1 = require("../../common/constants");
10
10
  const helpers_1 = require("../common/helpers");
11
11
  // import { Logger } from '../../logger/logger';
12
12
  const state_1 = require("../../state/state");
13
- const event_type_translation_1 = require("../../common/event-type-translation");
14
13
  /**
15
14
  * Adapter class is used to interact with Airdrop platform. The class provides
16
15
  * utilities to
@@ -34,7 +33,6 @@ const event_type_translation_1 = require("../../common/event-type-translation");
34
33
  * @return The adapter instance
35
34
  */
36
35
  async function createAdapter(event, initialState, isLocalDevelopment = false) {
37
- event.payload.event_type = (0, event_type_translation_1.translateIncomingEventType)(event.payload.event_type);
38
36
  const newInitialState = structuredClone(initialState);
39
37
  const adapterState = await (0, state_1.createAdapterState)({
40
38
  event,
@@ -0,0 +1,6 @@
1
+ export declare function ensureSdkLogContext(defaultValue?: boolean): void;
2
+ export declare function runWithUserLogContext<T>(fn: () => T): T;
3
+ export declare function runWithSdkLogContext<T>(fn: () => T): T;
4
+ export declare function getSdkLogContextValue(defaultValue: boolean): boolean;
5
+ export declare function getSdkLogContextValueOrUndefined(): boolean | undefined;
6
+ //# sourceMappingURL=logger.context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.context.d.ts","sourceRoot":"","sources":["../../src/logger/logger.context.ts"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,CAAC,YAAY,UAAO,GAAG,IAAI,CAK7D;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEvD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEtD;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAMpE;AAED,wBAAgB,gCAAgC,IAAI,OAAO,GAAG,SAAS,CAEtE"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureSdkLogContext = ensureSdkLogContext;
4
+ exports.runWithUserLogContext = runWithUserLogContext;
5
+ exports.runWithSdkLogContext = runWithSdkLogContext;
6
+ exports.getSdkLogContextValue = getSdkLogContextValue;
7
+ exports.getSdkLogContextValueOrUndefined = getSdkLogContextValueOrUndefined;
8
+ const node_async_hooks_1 = require("node:async_hooks");
9
+ const sdkLogContext = new node_async_hooks_1.AsyncLocalStorage();
10
+ function ensureSdkLogContext(defaultValue = true) {
11
+ const storeValue = sdkLogContext.getStore();
12
+ if (typeof storeValue !== 'boolean') {
13
+ sdkLogContext.enterWith(defaultValue);
14
+ }
15
+ }
16
+ function runWithUserLogContext(fn) {
17
+ return sdkLogContext.run(false, fn);
18
+ }
19
+ function runWithSdkLogContext(fn) {
20
+ return sdkLogContext.run(true, fn);
21
+ }
22
+ function getSdkLogContextValue(defaultValue) {
23
+ const storeValue = sdkLogContext.getStore();
24
+ if (typeof storeValue === 'boolean') {
25
+ return storeValue;
26
+ }
27
+ return defaultValue;
28
+ }
29
+ function getSdkLogContextValueOrUndefined() {
30
+ return sdkLogContext.getStore();
31
+ }
@@ -33,8 +33,20 @@ export declare class Logger extends Console {
33
33
  *
34
34
  * @param message - The pre-formatted message string to log
35
35
  * @param level - Log level (info, warn, error)
36
+ * @param sdkLog - Flag indicating if the log originated from the SDK
36
37
  */
37
- logFn(message: string, level: LogLevel): void;
38
+ logFn(message: string, level: LogLevel, sdkLog?: boolean): void;
39
+ /**
40
+ * Determines if a log call originated from SDK code.
41
+ *
42
+ * Uses AsyncLocalStorage context set by runWithUserLogContext/runWithSdkLogContext.
43
+ * All SDK entry points and public methods are wrapped with runWithSdkLogContext,
44
+ * and user code runs inside runWithUserLogContext, so the context should always be set.
45
+ *
46
+ * Defaults to true (SDK log) if no context is set, which should only happen
47
+ * in edge cases or during testing.
48
+ */
49
+ private getSdkLogFlag;
38
50
  /**
39
51
  * Stringifies and logs arguments to the appropriate destination.
40
52
  * On main thread, converts arguments to strings and calls logFn.
@@ -49,6 +61,9 @@ export declare class Logger extends Console {
49
61
  info(...args: unknown[]): void;
50
62
  warn(...args: unknown[]): void;
51
63
  error(...args: unknown[]): void;
64
+ sdkInfo(...args: unknown[]): void;
65
+ sdkWarn(...args: unknown[]): void;
66
+ sdkError(...args: unknown[]): void;
52
67
  }
53
68
  /**
54
69
  * Converts a state object into a printable format where arrays are summarized.
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyC,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQvC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAEtB,QAAQ,EAER,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,qBAAa,MAAO,SAAQ,OAAO;IACjC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,IAAI,CAAa;gBAEb,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,sBAAsB;IAUtD;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IASvB;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAa7C;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAcd,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI7B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAGzC;AAED;;;;;;;GAOG;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc,CAqB5E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKtD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,CAwBzE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE1D"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyC,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AASvC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAEtB,QAAQ,EAER,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,qBAAa,MAAO,SAAQ,OAAO;IACjC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,IAAI,CAAa;gBAEb,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,sBAAsB;IAWtD;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IASvB;;;;;;;;;OASG;IACH,KAAK,CACH,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EACf,MAAM,GAAE,OAA8B,GACrC,IAAI;IAcP;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAqBd,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI7B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIxC,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIjC,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIjC,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAGnC;AACD;;;;;;;GAOG;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc,CAqB5E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKtD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,CAwBzE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE1D"}
@@ -1,6 +1,6 @@
1
- import { RawAxiosResponseHeaders } from 'axios';
2
- import { AirdropEvent, EventContext } from '../types/extraction';
3
- import { WorkerAdapterOptions } from '../types/workers';
1
+ import type { RawAxiosResponseHeaders } from 'axios';
2
+ import type { AirdropEvent, EventContext } from '../types/extraction';
3
+ import type { WorkerAdapterOptions } from '../types/workers';
4
4
  export interface LoggerFactoryInterface {
5
5
  event: AirdropEvent;
6
6
  options?: WorkerAdapterOptions;
@@ -38,5 +38,6 @@ export interface AxiosErrorResponse {
38
38
  }
39
39
  export interface LoggerTags extends EventContext {
40
40
  sdk_version: string;
41
+ sdk_log: boolean;
41
42
  }
42
43
  //# sourceMappingURL=logger.interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.interfaces.d.ts","sourceRoot":"","sources":["../../src/logger/logger.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAE7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,cAAc,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAE3B,MAAM,EAAE,GAAG,CAAC;QACZ,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,uBAAuB,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"logger.interfaces.d.ts","sourceRoot":"","sources":["../../src/logger/logger.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAE7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,cAAc,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAE3B,MAAM,EAAE,GAAG,CAAC;QACZ,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,uBAAuB,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -12,6 +12,7 @@ const node_worker_threads_1 = require("node:worker_threads");
12
12
  const constants_1 = require("../common/constants");
13
13
  const workers_1 = require("../types/workers");
14
14
  const logger_constants_1 = require("./logger.constants");
15
+ const logger_context_1 = require("./logger.context");
15
16
  const logger_interfaces_1 = require("./logger.interfaces");
16
17
  /**
17
18
  * Custom logger that extends Node.js Console with context-aware logging.
@@ -22,7 +23,7 @@ class Logger extends node_console_1.Console {
22
23
  super(process.stdout, process.stderr);
23
24
  this.originalConsole = console;
24
25
  this.options = options;
25
- this.tags = Object.assign(Object.assign({}, event.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION });
26
+ this.tags = Object.assign(Object.assign({}, event.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION, sdk_log: true });
26
27
  }
27
28
  /**
28
29
  * Converts any value to a string using `util.inspect()` for complex types.
@@ -57,16 +58,32 @@ class Logger extends node_console_1.Console {
57
58
  *
58
59
  * @param message - The pre-formatted message string to log
59
60
  * @param level - Log level (info, warn, error)
61
+ * @param sdkLog - Flag indicating if the log originated from the SDK
60
62
  */
61
- logFn(message, level) {
63
+ logFn(message, level, sdkLog = this.getSdkLogFlag()) {
62
64
  var _a;
63
65
  if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.isLocalDevelopment) {
64
66
  this.originalConsole[level](message);
65
67
  return;
66
68
  }
67
- const logObject = Object.assign({ message }, this.tags);
69
+ const logObject = Object.assign(Object.assign({ message }, this.tags), { sdk_log: sdkLog });
68
70
  this.originalConsole[level](JSON.stringify(logObject));
69
71
  }
72
+ /**
73
+ * Determines if a log call originated from SDK code.
74
+ *
75
+ * Uses AsyncLocalStorage context set by runWithUserLogContext/runWithSdkLogContext.
76
+ * All SDK entry points and public methods are wrapped with runWithSdkLogContext,
77
+ * and user code runs inside runWithUserLogContext, so the context should always be set.
78
+ *
79
+ * Defaults to true (SDK log) if no context is set, which should only happen
80
+ * in edge cases or during testing.
81
+ */
82
+ getSdkLogFlag() {
83
+ const contextValue = (0, logger_context_1.getSdkLogContextValueOrUndefined)();
84
+ // Default to SDK log (true) if context is not set
85
+ return typeof contextValue === 'boolean' ? contextValue : true;
86
+ }
70
87
  /**
71
88
  * Stringifies and logs arguments to the appropriate destination.
72
89
  * On main thread, converts arguments to strings and calls logFn.
@@ -76,16 +93,17 @@ class Logger extends node_console_1.Console {
76
93
  * @param args - Values to log (will be stringified and truncated if needed)
77
94
  * @param level - Log level (info, warn, error)
78
95
  */
79
- stringifyAndLog(args, level) {
96
+ stringifyAndLog(args, level, sdkOverride) {
80
97
  let stringifiedArgs = args.map((arg) => this.valueToString(arg)).join(' ');
81
98
  stringifiedArgs = this.truncateMessage(stringifiedArgs);
99
+ const sdkLogFlag = typeof sdkOverride === 'boolean' ? sdkOverride : this.getSdkLogFlag();
82
100
  if (node_worker_threads_1.isMainThread) {
83
- this.logFn(stringifiedArgs, level);
101
+ this.logFn(stringifiedArgs, level, sdkLogFlag);
84
102
  }
85
103
  else {
86
104
  node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
87
105
  subject: workers_1.WorkerMessageSubject.WorkerMessageLog,
88
- payload: { stringifiedArgs, level },
106
+ payload: { stringifiedArgs, level, sdk_log: sdkLogFlag },
89
107
  });
90
108
  }
91
109
  }
@@ -101,6 +119,15 @@ class Logger extends node_console_1.Console {
101
119
  error(...args) {
102
120
  this.stringifyAndLog(args, logger_interfaces_1.LogLevel.ERROR);
103
121
  }
122
+ sdkInfo(...args) {
123
+ this.stringifyAndLog(args, logger_interfaces_1.LogLevel.INFO, true);
124
+ }
125
+ sdkWarn(...args) {
126
+ this.stringifyAndLog(args, logger_interfaces_1.LogLevel.WARN, true);
127
+ }
128
+ sdkError(...args) {
129
+ this.stringifyAndLog(args, logger_interfaces_1.LogLevel.ERROR, true);
130
+ }
104
131
  }
105
132
  exports.Logger = Logger;
106
133
  /**
@@ -1,20 +1,27 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_path_1 = __importDefault(require("node:path"));
3
7
  const node_util_1 = require("node:util");
8
+ const node_worker_threads_1 = require("node:worker_threads");
4
9
  const constants_1 = require("../common/constants");
5
10
  const test_helpers_1 = require("../tests/test-helpers");
6
11
  const extraction_1 = require("../types/extraction");
12
+ const workers_1 = require("../types/workers");
7
13
  const logger_1 = require("./logger");
8
14
  const logger_constants_1 = require("./logger.constants");
15
+ const logger_interfaces_1 = require("./logger.interfaces");
9
16
  // Mock console methods
10
17
  const mockConsoleInfo = jest.spyOn(console, 'info').mockImplementation();
11
18
  const mockConsoleWarn = jest.spyOn(console, 'warn').mockImplementation();
12
19
  const mockConsoleError = jest.spyOn(console, 'error').mockImplementation();
13
- // Mock worker_threads
14
- jest.mock('node:worker_threads', () => ({
15
- isMainThread: true,
16
- parentPort: null,
17
- }));
20
+ // Mock worker_threads for main-thread specific behavior but keep actual Worker implementation
21
+ jest.mock('node:worker_threads', () => {
22
+ const actual = jest.requireActual('node:worker_threads');
23
+ return Object.assign(Object.assign({}, actual), { isMainThread: true, parentPort: null });
24
+ });
18
25
  describe(logger_1.Logger.name, () => {
19
26
  let mockEvent;
20
27
  let mockOptions;
@@ -52,7 +59,7 @@ describe(logger_1.Logger.name, () => {
52
59
  // Assert
53
60
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
61
  const tags = logger.tags;
55
- expect(tags).toEqual(Object.assign(Object.assign({}, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION }));
62
+ expect(tags).toEqual(Object.assign(Object.assign({}, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION, sdk_log: true }));
56
63
  });
57
64
  it('should log string message as JSON with event context tags in production mode', () => {
58
65
  // Arrange
@@ -61,7 +68,7 @@ describe(logger_1.Logger.name, () => {
61
68
  // Act
62
69
  logger.info(message);
63
70
  // Assert
64
- expect(mockConsoleInfo).toHaveBeenCalledWith(JSON.stringify(Object.assign(Object.assign({ message }, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION })));
71
+ expect(mockConsoleInfo).toHaveBeenCalledWith(JSON.stringify(Object.assign(Object.assign({ message }, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION, sdk_log: true })));
65
72
  });
66
73
  it('should log object message using inspect with proper formatting in production mode', () => {
67
74
  // Arrange
@@ -71,7 +78,7 @@ describe(logger_1.Logger.name, () => {
71
78
  // Act
72
79
  logger.info(data);
73
80
  // Assert
74
- expect(mockConsoleInfo).toHaveBeenCalledWith(JSON.stringify(Object.assign(Object.assign({ message: expectedMessage }, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION })));
81
+ expect(mockConsoleInfo).toHaveBeenCalledWith(JSON.stringify(Object.assign(Object.assign({ message: expectedMessage }, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION, sdk_log: true })));
75
82
  });
76
83
  it('should join multiple arguments with space when logging in production mode', () => {
77
84
  // Arrange
@@ -82,7 +89,7 @@ describe(logger_1.Logger.name, () => {
82
89
  // Act
83
90
  logger.info(text, data);
84
91
  // Assert
85
- expect(mockConsoleInfo).toHaveBeenCalledWith(JSON.stringify(Object.assign(Object.assign({ message: `${text} ${expectedDataMessage}` }, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION })));
92
+ expect(mockConsoleInfo).toHaveBeenCalledWith(JSON.stringify(Object.assign(Object.assign({ message: `${text} ${expectedDataMessage}` }, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION, sdk_log: true })));
86
93
  });
87
94
  it('should log mixed string and object arguments joined with spaces in production mode', () => {
88
95
  // Arrange
@@ -94,7 +101,60 @@ describe(logger_1.Logger.name, () => {
94
101
  // Act
95
102
  logger.info(text1, data, text2);
96
103
  // Assert
97
- expect(mockConsoleInfo).toHaveBeenCalledWith(JSON.stringify(Object.assign(Object.assign({ message: `${text1} ${expectedDataMessage} ${text2}` }, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION })));
104
+ expect(mockConsoleInfo).toHaveBeenCalledWith(JSON.stringify(Object.assign(Object.assign({ message: `${text1} ${expectedDataMessage} ${text2}` }, mockEvent.payload.event_context), { sdk_version: constants_1.LIBRARY_VERSION, sdk_log: true })));
105
+ });
106
+ async function runWorkerLog(mode) {
107
+ const workerScriptPath = node_path_1.default.join(__dirname, 'logger.worker-fixture.js');
108
+ const worker = new node_worker_threads_1.Worker(workerScriptPath, {
109
+ workerData: {
110
+ event: mockEvent,
111
+ options: mockOptions,
112
+ message: 'Worker log',
113
+ mode,
114
+ },
115
+ });
116
+ try {
117
+ const logMessage = await new Promise((resolve, reject) => {
118
+ function cleanup() {
119
+ worker.off('message', handleMessage);
120
+ worker.off('exit', handleExit);
121
+ worker.off('error', handleError);
122
+ }
123
+ function handleMessage(message) {
124
+ const typedMessage = message;
125
+ if ((typedMessage === null || typedMessage === void 0 ? void 0 : typedMessage.subject) === workers_1.WorkerMessageSubject.WorkerMessageLog) {
126
+ cleanup();
127
+ resolve(typedMessage);
128
+ }
129
+ }
130
+ function handleExit(code) {
131
+ cleanup();
132
+ reject(new Error(`Worker exited before emitting log. Exit code: ${code.toString()}`));
133
+ }
134
+ function handleError(error) {
135
+ cleanup();
136
+ reject(error);
137
+ }
138
+ worker.on('message', handleMessage);
139
+ worker.once('exit', handleExit);
140
+ worker.once('error', handleError);
141
+ });
142
+ return logMessage;
143
+ }
144
+ finally {
145
+ await worker.terminate();
146
+ }
147
+ }
148
+ it('should set sdk_log to false for worker thread logs', async () => {
149
+ const logMessage = await runWorkerLog('user');
150
+ expect(logMessage.payload.sdk_log).toBe(false);
151
+ expect(logMessage.payload.level).toBe(logger_interfaces_1.LogLevel.INFO);
152
+ expect(logMessage.payload.stringifiedArgs).toContain('Worker log');
153
+ });
154
+ it('should keep sdk_log true for SDK logs inside worker thread', async () => {
155
+ const logMessage = await runWorkerLog('sdk');
156
+ expect(logMessage.payload.sdk_log).toBe(true);
157
+ expect(logMessage.payload.stringifiedArgs).toContain('Worker log');
98
158
  });
99
159
  it('should log directly without JSON wrapping in local development mode', () => {
100
160
  // Arrange
@@ -243,6 +303,7 @@ describe(logger_1.Logger.name, () => {
243
303
  const logObject = JSON.parse(callArgs);
244
304
  expect(logObject.message).toBe('');
245
305
  expect(logObject.sdk_version).toBe(constants_1.LIBRARY_VERSION);
306
+ expect(logObject.sdk_log).toBe(true);
246
307
  });
247
308
  it('[edge] should handle null and undefined values in log arguments', () => {
248
309
  // Arrange
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logger.worker-fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.worker-fixture.d.ts","sourceRoot":"","sources":["../../src/logger/logger.worker-fixture.js"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ const { workerData } = require('node:worker_threads');
3
+ require('ts-node/register');
4
+ const { Logger } = require('./logger');
5
+ const { runWithUserLogContext } = require('./logger.context');
6
+ console = new Logger({ event: workerData.event, options: workerData.options });
7
+ const runner = workerData.mode === 'sdk' ? (fn) => fn() : runWithUserLogContext;
8
+ runner(() => {
9
+ console.log(workerData.message);
10
+ });
@@ -48,8 +48,8 @@ async function createAdapterState({ event, initialState, initialDomainMapping, o
48
48
  process.exit(1);
49
49
  }
50
50
  }
51
- // Set lastSyncStarted if the event type is StartExtractingData
52
- if (event.payload.event_type === extraction_1.EventType.StartExtractingData &&
51
+ // Set lastSyncStarted if the event type is ExtractionDataStart
52
+ if (event.payload.event_type === extraction_1.EventType.ExtractionDataStart &&
53
53
  !as.state.lastSyncStarted) {
54
54
  as.state.lastSyncStarted = new Date().toISOString();
55
55
  console.log(`Setting lastSyncStarted to ${as.state.lastSyncStarted}.`);
@@ -88,7 +88,7 @@ describe(state_1.State.name, () => {
88
88
  })).rejects.toThrow('process.exit called');
89
89
  expect(processExitSpy).toHaveBeenCalledWith(1);
90
90
  });
91
- it.each(constants_1.STATEFUL_EVENT_TYPES.filter((eventType) => eventType !== extraction_1.EventType.StartExtractingData))('should call post state with full adapter state if fetching returns 404 for event type %s', async (eventType) => {
91
+ it.each(constants_1.STATEFUL_EVENT_TYPES.filter((eventType) => eventType !== extraction_1.EventType.ExtractionDataStart))('should call post state with full adapter state if fetching returns 404 for event type %s', async (eventType) => {
92
92
  // Arrange
93
93
  const initialState = {
94
94
  test: 'test',
@@ -119,13 +119,13 @@ describe(state_1.State.name, () => {
119
119
  const expectedState = Object.assign(Object.assign({}, initialState), state_interfaces_1.extractionSdkState);
120
120
  expect(postStateSpy).toHaveBeenCalledWith(expectedState);
121
121
  });
122
- it(extraction_1.EventType.StartExtractingData, async () => {
122
+ it(extraction_1.EventType.ExtractionDataStart, async () => {
123
123
  // Arrange
124
124
  const initialState = {
125
125
  test: 'test',
126
126
  };
127
127
  const event = (0, test_helpers_1.createEvent)({
128
- eventType: extraction_1.EventType.StartExtractingData,
128
+ eventType: extraction_1.EventType.ExtractionDataStart,
129
129
  contextOverrides: {
130
130
  snap_in_version_id: '',
131
131
  },
@@ -367,14 +367,29 @@ describe('Backwards Compatibility', () => {
367
367
  });
368
368
  // Verify that the type alias is the same as the current type alias
369
369
  describe('should verify type aliases are the same as the current type aliases', () => {
370
+ const normalizeTypeText = (text) => text.replace(/\s/g, '');
371
+ const getUnionMembers = (text) => normalizeTypeText(text)
372
+ .split('|')
373
+ .map((member) => member.trim())
374
+ .filter(Boolean);
370
375
  for (const newType of newTypes) {
371
376
  const currentType = currentTypes.find((t) => t.name === newType.name);
372
377
  if (!currentType) {
373
378
  continue;
374
379
  }
375
380
  it(`Type ${newType.name} should have the same type as the current type`, () => {
376
- // Replace all whitespace with an empty string to ignore whitespace differences
377
- expect(newType.typeExcerpt.text.replace(/\s/g, '')).toEqual(currentType.typeExcerpt.text.replace(/\s/g, ''));
381
+ const currentTypeText = normalizeTypeText(currentType.typeExcerpt.text);
382
+ const newTypeText = normalizeTypeText(newType.typeExcerpt.text);
383
+ if (currentTypeText.includes('|')) {
384
+ const currentUnionMembers = getUnionMembers(currentType.typeExcerpt.text);
385
+ const newUnionMembers = new Set(getUnionMembers(newType.typeExcerpt.text));
386
+ expect(!!currentUnionMembers.length).toBe(true);
387
+ for (const member of currentUnionMembers) {
388
+ expect(newUnionMembers.has(member)).toBe(true);
389
+ }
390
+ return;
391
+ }
392
+ expect(newTypeText).toEqual(currentTypeText);
378
393
  });
379
394
  }
380
395
  });
@@ -6,9 +6,9 @@ const index_1 = require("../../index");
6
6
  for (let i = 0; i < 10; i++) {
7
7
  console.log('timeout-1 iteration', i);
8
8
  }
9
- await adapter.emit(index_1.ExtractorEventType.DataExtractionDone);
9
+ await adapter.emit(index_1.ExtractorEventType.ExtractionDataDone);
10
10
  },
11
11
  onTimeout: async ({ adapter }) => {
12
- await adapter.emit(index_1.ExtractorEventType.DataExtractionProgress);
12
+ await adapter.emit(index_1.ExtractorEventType.ExtractionDataProgress);
13
13
  },
14
14
  });
@@ -40,6 +40,6 @@ describe('timeout-1 extraction', () => {
40
40
  // Expect last request to be emission of done event
41
41
  expect(lastRequest.url).toContain('airdrop.external-extractor.message');
42
42
  expect(lastRequest.method).toBe('POST');
43
- expect(lastRequest.body.event_type).toBe(extraction_1.ExtractorEventType.DataExtractionDone);
43
+ expect(lastRequest.body.event_type).toBe('EXTRACTION_DATA_DONE');
44
44
  });
45
45
  });
@@ -31,14 +31,14 @@ const simulateNetworkRequest = async (url, delay) => {
31
31
  console.log('Network request completed:', response.data);
32
32
  }
33
33
  console.log('All network requests completed successfully');
34
- await adapter.emit(index_1.ExtractorEventType.DataExtractionDone);
34
+ await adapter.emit(index_1.ExtractorEventType.ExtractionDataDone);
35
35
  }
36
36
  catch (error) {
37
37
  console.error('Network request failed:', error);
38
- await adapter.emit(index_1.ExtractorEventType.DataExtractionDone);
38
+ await adapter.emit(index_1.ExtractorEventType.ExtractionDataDone);
39
39
  }
40
40
  },
41
41
  onTimeout: async ({ adapter }) => {
42
- await adapter.emit(index_1.ExtractorEventType.DataExtractionProgress);
42
+ await adapter.emit(index_1.ExtractorEventType.ExtractionDataProgress);
43
43
  },
44
44
  });