@devrev/ts-adaas 1.12.3-beta.1 → 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.
- package/dist/common/constants.js +11 -11
- package/dist/common/control-protocol.d.ts.map +1 -1
- package/dist/common/control-protocol.js +1 -5
- package/dist/common/helpers.d.ts.map +1 -1
- package/dist/common/helpers.js +7 -25
- package/dist/deprecated/adapter/index.d.ts.map +1 -1
- package/dist/deprecated/adapter/index.js +0 -2
- package/dist/logger/logger.context.d.ts +6 -0
- package/dist/logger/logger.context.d.ts.map +1 -0
- package/dist/logger/logger.context.js +31 -0
- package/dist/logger/logger.d.ts +16 -1
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.interfaces.d.ts +4 -3
- package/dist/logger/logger.interfaces.d.ts.map +1 -1
- package/dist/logger/logger.js +33 -6
- package/dist/logger/logger.test.js +71 -10
- package/dist/logger/logger.worker-fixture.d.ts +2 -0
- package/dist/logger/logger.worker-fixture.d.ts.map +1 -0
- package/dist/logger/logger.worker-fixture.js +10 -0
- package/dist/state/state.js +2 -2
- package/dist/state/state.test.js +3 -3
- package/dist/tests/backwards-compatibility/backwards-compatibility.test.js +17 -2
- package/dist/tests/timeout-handling/timeout-1.js +2 -2
- package/dist/tests/timeout-handling/timeout-1.test.js +1 -1
- package/dist/tests/timeout-handling/timeout-2.js +3 -3
- package/dist/tests/timeout-handling/timeout-2.test.js +1 -1
- package/dist/tests/timeout-handling/timeout-3a.js +2 -2
- package/dist/tests/timeout-handling/timeout-3a.test.js +1 -1
- package/dist/tests/timeout-handling/timeout-3b.js +2 -2
- package/dist/tests/timeout-handling/timeout-3b.test.js +1 -1
- package/dist/types/extraction.d.ts +2 -99
- package/dist/types/extraction.d.ts.map +1 -1
- package/dist/types/extraction.js +2 -102
- package/dist/types/loading.d.ts +1 -21
- package/dist/types/loading.d.ts.map +1 -1
- package/dist/types/loading.js +0 -23
- package/dist/types/workers.d.ts +14 -5
- package/dist/types/workers.d.ts.map +1 -1
- package/dist/workers/default-workers/attachments-deletion.d.ts +2 -0
- package/dist/workers/default-workers/attachments-deletion.d.ts.map +1 -0
- package/dist/workers/default-workers/attachments-deletion.js +13 -0
- package/dist/workers/default-workers/attachments-extraction.d.ts +2 -0
- package/dist/workers/default-workers/attachments-extraction.d.ts.map +1 -0
- package/dist/workers/default-workers/attachments-extraction.js +95 -0
- package/dist/workers/default-workers/data-deletion.d.ts +2 -0
- package/dist/workers/default-workers/data-deletion.d.ts.map +1 -0
- package/dist/workers/default-workers/data-deletion.js +15 -0
- package/dist/workers/default-workers/data-extraction.d.ts +2 -0
- package/dist/workers/default-workers/data-extraction.d.ts.map +1 -0
- package/dist/workers/default-workers/data-extraction.js +100 -0
- package/dist/workers/default-workers/delete-loader-attachment-state.d.ts +2 -0
- package/dist/workers/default-workers/delete-loader-attachment-state.d.ts.map +1 -0
- package/dist/workers/default-workers/delete-loader-attachment-state.js +15 -0
- package/dist/workers/default-workers/delete-loader-state.d.ts +2 -0
- package/dist/workers/default-workers/delete-loader-state.d.ts.map +1 -0
- package/dist/workers/default-workers/delete-loader-state.js +15 -0
- package/dist/workers/default-workers/external-sync-units-extraction.d.ts +2 -0
- package/dist/workers/default-workers/external-sync-units-extraction.d.ts.map +1 -0
- package/dist/workers/default-workers/external-sync-units-extraction.js +27 -0
- package/dist/workers/default-workers/load-attachments.d.ts +2 -0
- package/dist/workers/default-workers/load-attachments.d.ts.map +1 -0
- package/dist/workers/default-workers/load-attachments.js +19 -0
- package/dist/workers/default-workers/load-data.d.ts +2 -0
- package/dist/workers/default-workers/load-data.d.ts.map +1 -0
- package/dist/workers/default-workers/load-data.js +18 -0
- package/dist/workers/default-workers/metadata-extraction.d.ts +2 -0
- package/dist/workers/default-workers/metadata-extraction.d.ts.map +1 -0
- package/dist/workers/default-workers/metadata-extraction.js +26 -0
- package/dist/workers/dummy-extractor/data-normalization.d.ts +5 -0
- package/dist/workers/dummy-extractor/data-normalization.d.ts.map +1 -0
- package/dist/workers/dummy-extractor/data-normalization.js +41 -0
- package/dist/workers/dummy-extractor/external_domain_metadata.json +58 -0
- package/dist/workers/process-task.d.ts.map +1 -1
- package/dist/workers/process-task.js +37 -35
- package/dist/workers/spawn.d.ts +3 -3
- package/dist/workers/spawn.d.ts.map +1 -1
- package/dist/workers/spawn.js +47 -65
- package/dist/workers/worker-adapter.d.ts.map +1 -1
- package/dist/workers/worker-adapter.js +496 -475
- package/dist/workers/worker-adapter.test.js +7 -0
- package/dist/workers/worker.js +4 -1
- package/package.json +1 -1
- package/dist/common/event-type-translation.d.ts +0 -24
- package/dist/common/event-type-translation.d.ts.map +0 -1
- package/dist/common/event-type-translation.js +0 -117
package/dist/workers/spawn.js
CHANGED
|
@@ -8,58 +8,57 @@ exports.spawn = spawn;
|
|
|
8
8
|
const yargs_1 = __importDefault(require("yargs"));
|
|
9
9
|
const helpers_1 = require("yargs/helpers");
|
|
10
10
|
const control_protocol_1 = require("../common/control-protocol");
|
|
11
|
-
const event_type_translation_1 = require("../common/event-type-translation");
|
|
12
11
|
const helpers_2 = require("../common/helpers");
|
|
13
12
|
const logger_1 = require("../logger/logger");
|
|
14
13
|
const extraction_1 = require("../types/extraction");
|
|
15
14
|
const workers_1 = require("../types/workers");
|
|
16
15
|
const constants_1 = require("../common/constants");
|
|
17
16
|
const create_worker_1 = require("./create-worker");
|
|
18
|
-
|
|
19
|
-
function getWorkerPath({ event, connectorWorkerPath, callerDir }) {
|
|
17
|
+
function getWorkerPath({ event, connectorWorkerPath, }) {
|
|
20
18
|
if (connectorWorkerPath)
|
|
21
19
|
return connectorWorkerPath;
|
|
22
20
|
let path = null;
|
|
23
21
|
switch (event.payload.event_type) {
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
// Extraction
|
|
23
|
+
case extraction_1.EventType.ExtractionExternalSyncUnitsStart:
|
|
24
|
+
path = __dirname + '/default-workers/external-sync-units-extraction';
|
|
26
25
|
break;
|
|
27
|
-
case extraction_1.EventType.
|
|
28
|
-
path = '/workers/metadata-extraction';
|
|
26
|
+
case extraction_1.EventType.ExtractionMetadataStart:
|
|
27
|
+
path = __dirname + '/default-workers/metadata-extraction';
|
|
29
28
|
break;
|
|
30
|
-
case extraction_1.EventType.
|
|
31
|
-
case extraction_1.EventType.
|
|
32
|
-
path = '/workers/data-extraction';
|
|
29
|
+
case extraction_1.EventType.ExtractionDataStart:
|
|
30
|
+
case extraction_1.EventType.ExtractionDataContinue:
|
|
31
|
+
path = __dirname + '/default-workers/data-extraction';
|
|
33
32
|
break;
|
|
34
|
-
case extraction_1.EventType.
|
|
35
|
-
case extraction_1.EventType.
|
|
36
|
-
path = '/workers/attachments-extraction';
|
|
33
|
+
case extraction_1.EventType.ExtractionAttachmentsStart:
|
|
34
|
+
case extraction_1.EventType.ExtractionAttachmentsContinue:
|
|
35
|
+
path = __dirname + '/default-workers/attachments-extraction';
|
|
37
36
|
break;
|
|
37
|
+
case extraction_1.EventType.ExtractionDataDelete:
|
|
38
|
+
path = __dirname + '/default-workers/data-deletion';
|
|
39
|
+
break;
|
|
40
|
+
case extraction_1.EventType.ExtractionAttachmentsDelete:
|
|
41
|
+
path = __dirname + '/default-workers/attachments-deletion';
|
|
42
|
+
break;
|
|
43
|
+
// Loading
|
|
44
|
+
case extraction_1.EventType.StartLoadingData:
|
|
45
|
+
case extraction_1.EventType.ContinueLoadingData:
|
|
46
|
+
path = __dirname + '/default-workers/load-data';
|
|
47
|
+
break;
|
|
48
|
+
case extraction_1.EventType.StartLoadingAttachments:
|
|
49
|
+
case extraction_1.EventType.ContinueLoadingAttachments:
|
|
50
|
+
path = __dirname + '/default-workers/load-attachments';
|
|
51
|
+
break;
|
|
52
|
+
case extraction_1.EventType.StartDeletingLoaderState:
|
|
53
|
+
path = __dirname + '/default-workers/delete-loader-state';
|
|
54
|
+
break;
|
|
55
|
+
case extraction_1.EventType.StartDeletingLoaderAttachmentState:
|
|
56
|
+
path = __dirname + '/default-workers/delete-loader-attachment-state';
|
|
57
|
+
break;
|
|
58
|
+
default:
|
|
59
|
+
path = null;
|
|
38
60
|
}
|
|
39
|
-
return path
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Gets the directory of the file that called into the SDK (the snap-in's file)
|
|
43
|
-
* by inspecting the call stack and finding the first file outside the SDK.
|
|
44
|
-
*/
|
|
45
|
-
function getCallerDirectory() {
|
|
46
|
-
const originalPrepareStackTrace = Error.prepareStackTrace;
|
|
47
|
-
Error.prepareStackTrace = (_, stack) => stack;
|
|
48
|
-
const err = new Error();
|
|
49
|
-
Error.captureStackTrace(err);
|
|
50
|
-
const stack = err.stack;
|
|
51
|
-
Error.prepareStackTrace = originalPrepareStackTrace;
|
|
52
|
-
// Iterate through the stack to find the first file that's not part of the SDK
|
|
53
|
-
for (const callSite of stack) {
|
|
54
|
-
const filename = callSite.getFileName();
|
|
55
|
-
if (filename &&
|
|
56
|
-
!filename.includes('@devrev/ts-adaas') &&
|
|
57
|
-
!filename.includes('adaas-sdk')) {
|
|
58
|
-
return path_1.default.dirname(filename);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// Fallback to __dirname if we can't determine the caller
|
|
62
|
-
return __dirname;
|
|
61
|
+
return path;
|
|
63
62
|
}
|
|
64
63
|
/**
|
|
65
64
|
* Creates a new instance of Spawn class.
|
|
@@ -67,23 +66,12 @@ function getCallerDirectory() {
|
|
|
67
66
|
* The class provides utilities to emit control events to the platform and exit the worker gracefully.
|
|
68
67
|
* In case of lambda timeout, the class emits a lambda timeout event to the platform.
|
|
69
68
|
* @param {SpawnFactoryInterface} options - The options to create a new instance of Spawn class
|
|
70
|
-
* @param {AirdropEvent}
|
|
71
|
-
* @param {object}
|
|
72
|
-
* @param {string}
|
|
69
|
+
* @param {AirdropEvent} event - The event object received from the platform
|
|
70
|
+
* @param {object} initialState - The initial state of the adapter
|
|
71
|
+
* @param {string} workerPath - The path to the worker file
|
|
73
72
|
* @returns {Promise<Spawn>} - A new instance of Spawn class
|
|
74
73
|
*/
|
|
75
74
|
async function spawn({ event, initialState, workerPath, initialDomainMapping, options, }) {
|
|
76
|
-
// Get the directory of the snap-in file that called spawn
|
|
77
|
-
const callerDir = getCallerDirectory();
|
|
78
|
-
// Normalize incoming event type for backwards compatibility
|
|
79
|
-
// This allows the SDK to accept both old and new event type formats
|
|
80
|
-
const originalEventType = event.payload.event_type;
|
|
81
|
-
const translatedEventType = (0, event_type_translation_1.translateIncomingEventType)(event.payload.event_type);
|
|
82
|
-
// Update the event with the normalized event type
|
|
83
|
-
event.payload.event_type = translatedEventType;
|
|
84
|
-
if (translatedEventType !== originalEventType) {
|
|
85
|
-
console.log(`Event type translated from ${originalEventType} to ${translatedEventType}.`);
|
|
86
|
-
}
|
|
87
75
|
if (options === null || options === void 0 ? void 0 : options.isLocalDevelopment) {
|
|
88
76
|
console.log('Snap-in is running in local development mode.');
|
|
89
77
|
}
|
|
@@ -95,18 +83,10 @@ async function spawn({ event, initialState, workerPath, initialDomainMapping, op
|
|
|
95
83
|
const originalConsole = console;
|
|
96
84
|
// eslint-disable-next-line no-global-assign
|
|
97
85
|
console = new logger_1.Logger({ event, options });
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
script = getWorkerPath({
|
|
105
|
-
event,
|
|
106
|
-
connectorWorkerPath: workerPath,
|
|
107
|
-
callerDir: callerDir
|
|
108
|
-
});
|
|
109
|
-
}
|
|
86
|
+
const script = getWorkerPath({
|
|
87
|
+
event,
|
|
88
|
+
connectorWorkerPath: workerPath,
|
|
89
|
+
});
|
|
110
90
|
if (script) {
|
|
111
91
|
try {
|
|
112
92
|
const worker = await (0, create_worker_1.createWorker)({
|
|
@@ -201,14 +181,16 @@ class Spawn {
|
|
|
201
181
|
await this.exitFromMainThread();
|
|
202
182
|
})());
|
|
203
183
|
worker.on(workers_1.WorkerEvent.WorkerMessage, (message) => {
|
|
204
|
-
var _a, _b;
|
|
184
|
+
var _a, _b, _c, _d;
|
|
205
185
|
// Since logs from the worker thread are handled differently in snap-in
|
|
206
186
|
// platform, we need to catch the log messages from worker thread and log
|
|
207
187
|
// them in main thread.
|
|
208
188
|
if ((message === null || message === void 0 ? void 0 : message.subject) === workers_1.WorkerMessageSubject.WorkerMessageLog) {
|
|
209
189
|
const stringifiedArgs = (_a = message.payload) === null || _a === void 0 ? void 0 : _a.stringifiedArgs;
|
|
210
190
|
const level = (_b = message.payload) === null || _b === void 0 ? void 0 : _b.level;
|
|
211
|
-
|
|
191
|
+
const sdkLog = (_d = (_c = message.payload) === null || _c === void 0 ? void 0 : _c.sdk_log) !== null && _d !== void 0 ? _d : false;
|
|
192
|
+
// Args are already sanitized in the worker thread, skip double sanitization
|
|
193
|
+
this.logger.logFn(stringifiedArgs, level, sdkLog);
|
|
212
194
|
}
|
|
213
195
|
// If worker sends a message that it has emitted an event, then set alreadyEmitted to true.
|
|
214
196
|
if ((message === null || message === void 0 ? void 0 : message.subject) === workers_1.WorkerMessageSubject.WorkerMessageEmitted) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-adapter.d.ts","sourceRoot":"","sources":["../../src/workers/worker-adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-adapter.d.ts","sourceRoot":"","sources":["../../src/workers/worker-adapter.ts"],"names":[],"mappings":"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"}
|