@devrev/airsync-sdk 2.0.0-beta.3 → 2.0.0-beta.4
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/README.md +5 -11
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts +2 -10
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts +2 -7
- package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.js +15 -43
- package/dist/common/constants.d.ts +1 -0
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js +2 -1
- package/dist/common/helpers.d.ts +0 -14
- package/dist/common/helpers.d.ts.map +1 -1
- package/dist/common/helpers.js +0 -36
- package/dist/http/{axios-client-internal.d.ts → client.d.ts} +1 -1
- package/dist/http/client.d.ts.map +1 -0
- package/dist/index.d.ts +22 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -28
- package/dist/logger/logger.d.ts +14 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +55 -8
- package/dist/mappers/mappers.d.ts +9 -10
- package/dist/mappers/mappers.d.ts.map +1 -1
- package/dist/mappers/{mappers.interface.d.ts → mappers.interfaces.d.ts} +5 -5
- package/dist/mappers/mappers.interfaces.d.ts.map +1 -0
- package/dist/mappers/{mappers.interface.js → mappers.interfaces.js} +3 -3
- package/dist/mappers/mappers.js +13 -9
- package/dist/multithreading/adapters/base-adapter.d.ts +23 -8
- package/dist/multithreading/adapters/base-adapter.d.ts.map +1 -1
- package/dist/multithreading/adapters/base-adapter.js +41 -8
- package/dist/multithreading/adapters/extraction-adapter.d.ts +8 -9
- package/dist/multithreading/adapters/extraction-adapter.d.ts.map +1 -1
- package/dist/multithreading/adapters/extraction-adapter.js +24 -26
- package/dist/multithreading/adapters/loading-adapter.d.ts +7 -7
- package/dist/multithreading/adapters/loading-adapter.d.ts.map +1 -1
- package/dist/multithreading/adapters/loading-adapter.js +53 -83
- package/dist/{common/control-protocol.d.ts → multithreading/emit.d.ts} +1 -1
- package/dist/multithreading/emit.d.ts.map +1 -0
- package/dist/{common/control-protocol.js → multithreading/emit.js} +3 -3
- package/dist/multithreading/process-task.d.ts.map +1 -1
- package/dist/multithreading/process-task.js +26 -9
- package/dist/multithreading/spawn/spawn.helpers.d.ts +23 -3
- package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
- package/dist/multithreading/spawn/spawn.helpers.js +152 -2
- package/dist/multithreading/spawn/spawn.js +7 -7
- package/dist/multithreading/worker.js +1 -2
- package/dist/repo/repo.js +2 -2
- package/dist/state/base-state.d.ts +5 -5
- package/dist/state/base-state.d.ts.map +1 -1
- package/dist/state/base-state.js +7 -7
- package/dist/state/extraction-state.d.ts +9 -9
- package/dist/state/extraction-state.d.ts.map +1 -1
- package/dist/state/extraction-state.js +10 -10
- package/dist/state/install-initial-domain-mapping.d.ts.map +1 -0
- package/dist/{common → state}/install-initial-domain-mapping.js +4 -4
- package/dist/state/loading-state.d.ts +7 -8
- package/dist/state/loading-state.d.ts.map +1 -1
- package/dist/state/loading-state.js +6 -7
- package/dist/state/state.d.ts +4 -0
- package/dist/state/state.d.ts.map +1 -0
- package/dist/state/state.interfaces.d.ts +28 -18
- package/dist/state/state.interfaces.d.ts.map +1 -1
- package/dist/state/state.interfaces.js +13 -6
- package/dist/state/state.js +11 -0
- package/dist/{common → state}/time-value-resolver.d.ts +6 -7
- package/dist/state/time-value-resolver.d.ts.map +1 -0
- package/dist/{common → state}/time-value-resolver.js +9 -8
- package/dist/{common/test-utils.d.ts → testing/mock-event.d.ts} +1 -2
- package/dist/testing/mock-event.d.ts.map +1 -0
- package/dist/{common/test-utils.js → testing/mock-event.js} +14 -3
- package/dist/{mock-server → testing}/mock-server.d.ts +5 -0
- package/dist/testing/mock-server.d.ts.map +1 -0
- package/dist/testing/mock-server.interfaces.d.ts.map +1 -0
- package/dist/{mock-server → testing}/mock-server.js +6 -1
- package/dist/types/errors.d.ts +9 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/extraction.d.ts +70 -15
- package/dist/types/extraction.d.ts.map +1 -1
- package/dist/types/extraction.js +4 -6
- package/dist/types/loading.d.ts +1 -2
- package/dist/types/loading.d.ts.map +1 -1
- package/dist/types/loading.js +0 -1
- package/dist/types/workers.d.ts +66 -23
- package/dist/types/workers.d.ts.map +1 -1
- package/dist/uploader/uploader.d.ts +5 -4
- package/dist/uploader/uploader.d.ts.map +1 -1
- package/dist/uploader/uploader.interfaces.d.ts +1 -1
- package/dist/uploader/uploader.js +10 -10
- package/package.json +3 -3
- package/dist/airsync-sdk.d.ts +0 -2059
- package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts +0 -2
- package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts.map +0 -1
- package/dist/attachments-streaming/attachments-streaming-pool.test.js +0 -540
- package/dist/common/control-protocol.d.ts.map +0 -1
- package/dist/common/errors.d.ts +0 -6
- package/dist/common/errors.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.test.d.ts +0 -2
- package/dist/common/install-initial-domain-mapping.test.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.test.js +0 -211
- package/dist/common/test-utils.d.ts.map +0 -1
- package/dist/common/time-value-resolver.d.ts.map +0 -1
- package/dist/common/time-value-resolver.test.d.ts +0 -2
- package/dist/common/time-value-resolver.test.d.ts.map +0 -1
- package/dist/common/time-value-resolver.test.js +0 -268
- package/dist/http/axios-client-internal.d.ts.map +0 -1
- package/dist/http/axios-client-internal.test.d.ts +0 -2
- package/dist/http/axios-client-internal.test.d.ts.map +0 -1
- package/dist/http/axios-client-internal.test.js +0 -175
- package/dist/http/axios-client.d.ts +0 -27
- package/dist/http/axios-client.d.ts.map +0 -1
- package/dist/http/axios-client.js +0 -60
- package/dist/http/constants.d.ts +0 -4
- package/dist/http/constants.d.ts.map +0 -1
- package/dist/http/constants.js +0 -6
- package/dist/http/index.d.ts +0 -2
- package/dist/http/index.d.ts.map +0 -1
- package/dist/http/index.js +0 -17
- package/dist/logger/logger.constants.d.ts +0 -6
- package/dist/logger/logger.constants.d.ts.map +0 -1
- package/dist/logger/logger.constants.js +0 -13
- package/dist/logger/logger.context.d.ts +0 -58
- package/dist/logger/logger.context.d.ts.map +0 -1
- package/dist/logger/logger.context.js +0 -86
- package/dist/logger/logger.test.d.ts +0 -2
- package/dist/logger/logger.test.d.ts.map +0 -1
- package/dist/logger/logger.test.js +0 -537
- package/dist/mappers/mappers.interface.d.ts.map +0 -1
- package/dist/mappers/mappers.test.d.ts +0 -2
- package/dist/mappers/mappers.test.d.ts.map +0 -1
- package/dist/mappers/mappers.test.js +0 -105
- package/dist/mock-server/mock-server.d.ts.map +0 -1
- package/dist/mock-server/mock-server.interfaces.d.ts.map +0 -1
- package/dist/multithreading/adapters/base-adapter.emit.test.d.ts +0 -2
- package/dist/multithreading/adapters/base-adapter.emit.test.d.ts.map +0 -1
- package/dist/multithreading/adapters/base-adapter.emit.test.js +0 -403
- package/dist/multithreading/adapters/extraction-adapter.artifacts.test.d.ts +0 -2
- package/dist/multithreading/adapters/extraction-adapter.artifacts.test.d.ts.map +0 -1
- package/dist/multithreading/adapters/extraction-adapter.artifacts.test.js +0 -175
- package/dist/multithreading/adapters/extraction-adapter.test.d.ts +0 -2
- package/dist/multithreading/adapters/extraction-adapter.test.d.ts.map +0 -1
- package/dist/multithreading/adapters/extraction-adapter.test.js +0 -789
- package/dist/multithreading/adapters/loading-adapter.helpers.test.d.ts +0 -2
- package/dist/multithreading/adapters/loading-adapter.helpers.test.d.ts.map +0 -1
- package/dist/multithreading/adapters/loading-adapter.helpers.test.js +0 -514
- package/dist/multithreading/adapters/loading-adapter.test.d.ts +0 -2
- package/dist/multithreading/adapters/loading-adapter.test.d.ts.map +0 -1
- package/dist/multithreading/adapters/loading-adapter.test.js +0 -589
- package/dist/multithreading/adapters/serialization.test.d.ts +0 -2
- package/dist/multithreading/adapters/serialization.test.d.ts.map +0 -1
- package/dist/multithreading/adapters/serialization.test.js +0 -71
- package/dist/multithreading/create-worker.test.d.ts +0 -2
- package/dist/multithreading/create-worker.test.d.ts.map +0 -1
- package/dist/multithreading/create-worker.test.js +0 -108
- package/dist/multithreading/process-task.test.d.ts +0 -2
- package/dist/multithreading/process-task.test.d.ts.map +0 -1
- package/dist/multithreading/process-task.test.js +0 -146
- package/dist/multithreading/spawn/spawn.helpers.test.d.ts +0 -2
- package/dist/multithreading/spawn/spawn.helpers.test.d.ts.map +0 -1
- package/dist/multithreading/spawn/spawn.helpers.test.js +0 -293
- package/dist/multithreading/spawn/spawn.test.d.ts +0 -2
- package/dist/multithreading/spawn/spawn.test.d.ts.map +0 -1
- package/dist/multithreading/spawn/spawn.test.js +0 -232
- package/dist/repo/repo.test.d.ts +0 -2
- package/dist/repo/repo.test.d.ts.map +0 -1
- package/dist/repo/repo.test.js +0 -184
- package/dist/state/state.extract-window.test.d.ts +0 -2
- package/dist/state/state.extract-window.test.d.ts.map +0 -1
- package/dist/state/state.extract-window.test.js +0 -163
- package/dist/state/state.pending-boundaries.test.d.ts +0 -2
- package/dist/state/state.pending-boundaries.test.d.ts.map +0 -1
- package/dist/state/state.pending-boundaries.test.js +0 -189
- package/dist/state/state.post-state.test.d.ts +0 -2
- package/dist/state/state.post-state.test.d.ts.map +0 -1
- package/dist/state/state.post-state.test.js +0 -78
- package/dist/state/state.test.d.ts +0 -2
- package/dist/state/state.test.d.ts.map +0 -1
- package/dist/state/state.test.js +0 -271
- package/dist/state/state.time-value-resolution.test.d.ts +0 -2
- package/dist/state/state.time-value-resolution.test.d.ts.map +0 -1
- package/dist/state/state.time-value-resolution.test.js +0 -175
- package/dist/tsdoc-metadata.json +0 -11
- package/dist/types/extraction.test.d.ts +0 -2
- package/dist/types/extraction.test.d.ts.map +0 -1
- package/dist/types/extraction.test.js +0 -96
- package/dist/types/index.d.ts +0 -10
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -21
- package/dist/uploader/uploader.helpers.test.d.ts +0 -2
- package/dist/uploader/uploader.helpers.test.d.ts.map +0 -1
- package/dist/uploader/uploader.helpers.test.js +0 -256
- package/dist/uploader/uploader.test.d.ts +0 -2
- package/dist/uploader/uploader.test.d.ts.map +0 -1
- package/dist/uploader/uploader.test.js +0 -601
- /package/dist/http/{axios-client-internal.js → client.js} +0 -0
- /package/dist/{common → state}/install-initial-domain-mapping.d.ts +0 -0
- /package/dist/{mock-server → testing}/mock-server.interfaces.d.ts +0 -0
- /package/dist/{mock-server → testing}/mock-server.interfaces.js +0 -0
- /package/dist/{common → types}/errors.js +0 -0
|
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.LoadingAdapter = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const logger_1 = require("../../logger/logger");
|
|
9
|
-
const logger_context_1 = require("../../logger/logger.context");
|
|
10
9
|
const mappers_1 = require("../../mappers/mappers");
|
|
11
|
-
const
|
|
10
|
+
const mappers_interfaces_1 = require("../../mappers/mappers.interfaces");
|
|
12
11
|
const extraction_1 = require("../../types/extraction");
|
|
13
12
|
const loading_1 = require("../../types/loading");
|
|
14
13
|
const base_adapter_1 = require("./base-adapter");
|
|
@@ -54,45 +53,38 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
54
53
|
// Loading keeps its accumulated reports/processed files across emits.
|
|
55
54
|
}
|
|
56
55
|
async loadItemTypes({ itemTypesToLoad, }) {
|
|
57
|
-
return (0,
|
|
56
|
+
return (0, logger_1.runWithSdkLogContext)(async () => {
|
|
58
57
|
var _a;
|
|
59
58
|
if (this.event.payload.event_type === extraction_1.EventType.StartLoadingData) {
|
|
60
59
|
const itemTypes = itemTypesToLoad.map((itemTypeToLoad) => itemTypeToLoad.itemType);
|
|
61
60
|
if (!itemTypes.length) {
|
|
62
61
|
console.warn('No item types to load, returning.');
|
|
63
|
-
return {
|
|
64
|
-
reports: this.reports,
|
|
65
|
-
processed_files: this.processedFiles,
|
|
66
|
-
};
|
|
62
|
+
return { status: 'success' };
|
|
67
63
|
}
|
|
68
64
|
const filesToLoad = await this.getLoaderBatches({
|
|
69
65
|
supportedItemTypes: itemTypes,
|
|
70
66
|
});
|
|
71
|
-
this.
|
|
67
|
+
this.sdkState.fromDevRev = {
|
|
72
68
|
filesToLoad,
|
|
73
69
|
};
|
|
74
70
|
}
|
|
75
|
-
if (!this.
|
|
76
|
-
!this.
|
|
71
|
+
if (!this.sdkState.fromDevRev ||
|
|
72
|
+
!this.sdkState.fromDevRev.filesToLoad.length) {
|
|
77
73
|
console.warn('No files to load, returning.');
|
|
78
|
-
return {
|
|
79
|
-
reports: this.reports,
|
|
80
|
-
processed_files: this.processedFiles,
|
|
81
|
-
};
|
|
74
|
+
return { status: 'success' };
|
|
82
75
|
}
|
|
83
|
-
console.log('Files to load in state', (_a = this.
|
|
76
|
+
console.log('Files to load in state', (_a = this.sdkState.fromDevRev) === null || _a === void 0 ? void 0 : _a.filesToLoad);
|
|
84
77
|
try {
|
|
85
|
-
|
|
86
|
-
.fromDevRev.filesToLoad) {
|
|
78
|
+
for (const fileToLoad of this.sdkState.fromDevRev.filesToLoad) {
|
|
87
79
|
const itemTypeToLoad = itemTypesToLoad.find((itemTypeToLoad) => itemTypeToLoad.itemType === fileToLoad.itemType);
|
|
88
80
|
if (!itemTypeToLoad) {
|
|
89
81
|
console.error(`Item type to load not found for item type: ${fileToLoad.itemType}.`);
|
|
90
|
-
|
|
82
|
+
return {
|
|
83
|
+
status: 'error',
|
|
91
84
|
error: {
|
|
92
85
|
message: `Item type to load not found for item type: ${fileToLoad.itemType}.`,
|
|
93
86
|
},
|
|
94
|
-
}
|
|
95
|
-
break;
|
|
87
|
+
};
|
|
96
88
|
}
|
|
97
89
|
if (!fileToLoad.completed) {
|
|
98
90
|
const { response, error: transformerFileError } = await this.uploader.getJsonObjectByArtifactId({
|
|
@@ -101,31 +93,25 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
101
93
|
});
|
|
102
94
|
if (transformerFileError) {
|
|
103
95
|
console.error(`Transformer file not found for artifact ID: ${fileToLoad.id}.`);
|
|
104
|
-
|
|
96
|
+
return {
|
|
97
|
+
status: 'error',
|
|
105
98
|
error: {
|
|
106
99
|
message: `Transformer file not found for artifact ID: ${fileToLoad.id}.`,
|
|
107
100
|
},
|
|
108
|
-
}
|
|
109
|
-
break outerloop;
|
|
101
|
+
};
|
|
110
102
|
}
|
|
111
103
|
const transformerFile = response;
|
|
112
104
|
for (let i = fileToLoad.lineToProcess; i < fileToLoad.count; i++) {
|
|
113
105
|
if (this.isTimeout) {
|
|
114
|
-
console.log('Timeout detected during data loading.
|
|
115
|
-
|
|
116
|
-
process.exit(0);
|
|
106
|
+
console.log('Timeout detected during data loading. Returning progress to allow continuation.');
|
|
107
|
+
return { status: 'progress' };
|
|
117
108
|
}
|
|
118
109
|
const { report, rateLimit } = await this.loadItem({
|
|
119
110
|
item: transformerFile[i],
|
|
120
111
|
itemTypeToLoad,
|
|
121
112
|
});
|
|
122
113
|
if (rateLimit === null || rateLimit === void 0 ? void 0 : rateLimit.delay) {
|
|
123
|
-
|
|
124
|
-
delay: rateLimit.delay,
|
|
125
|
-
reports: this.reports,
|
|
126
|
-
processed_files: this.processedFiles,
|
|
127
|
-
});
|
|
128
|
-
break outerloop;
|
|
114
|
+
return { status: 'delay', delaySeconds: rateLimit.delay };
|
|
129
115
|
}
|
|
130
116
|
if (report) {
|
|
131
117
|
(0, loading_adapter_helpers_1.addReportToLoaderReport)({
|
|
@@ -142,21 +128,18 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
142
128
|
}
|
|
143
129
|
catch (error) {
|
|
144
130
|
console.error('Error during data loading.', (0, logger_1.serializeError)(error));
|
|
145
|
-
|
|
131
|
+
return {
|
|
132
|
+
status: 'error',
|
|
146
133
|
error: {
|
|
147
134
|
message: `Error during data loading. ${(0, logger_1.serializeError)(error)}`,
|
|
148
135
|
},
|
|
149
|
-
}
|
|
150
|
-
process.exit(1);
|
|
136
|
+
};
|
|
151
137
|
}
|
|
152
|
-
return {
|
|
153
|
-
reports: this.reports,
|
|
154
|
-
processed_files: this.processedFiles,
|
|
155
|
-
};
|
|
138
|
+
return { status: 'success' };
|
|
156
139
|
});
|
|
157
140
|
}
|
|
158
141
|
async getLoaderBatches({ supportedItemTypes, }) {
|
|
159
|
-
return (0,
|
|
142
|
+
return (0, logger_1.runWithSdkLogContext)(async () => {
|
|
160
143
|
var _a;
|
|
161
144
|
const statsFileArtifactId = (_a = this.event.payload.event_data) === null || _a === void 0 ? void 0 : _a.stats_file;
|
|
162
145
|
if (statsFileArtifactId) {
|
|
@@ -177,26 +160,23 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
177
160
|
});
|
|
178
161
|
}
|
|
179
162
|
async loadAttachments({ create, }) {
|
|
180
|
-
return (0,
|
|
163
|
+
return (0, logger_1.runWithSdkLogContext)(async () => {
|
|
181
164
|
var _a, _b;
|
|
182
165
|
if (this.event.payload.event_type === extraction_1.EventType.StartLoadingAttachments) {
|
|
183
|
-
this.
|
|
166
|
+
this.sdkState.fromDevRev = {
|
|
184
167
|
filesToLoad: await this.getLoaderBatches({
|
|
185
168
|
supportedItemTypes: ['attachment'],
|
|
186
169
|
}),
|
|
187
170
|
};
|
|
188
171
|
}
|
|
189
|
-
if (!this.
|
|
190
|
-
((_a = this.
|
|
172
|
+
if (!this.sdkState.fromDevRev ||
|
|
173
|
+
((_a = this.sdkState.fromDevRev) === null || _a === void 0 ? void 0 : _a.filesToLoad.length) === 0) {
|
|
191
174
|
console.log('No files to load, returning.');
|
|
192
|
-
return {
|
|
193
|
-
reports: this.reports,
|
|
194
|
-
processed_files: this.processedFiles,
|
|
195
|
-
};
|
|
175
|
+
return { status: 'success' };
|
|
196
176
|
}
|
|
197
|
-
const filesToLoad = (_b = this.
|
|
177
|
+
const filesToLoad = (_b = this.sdkState.fromDevRev) === null || _b === void 0 ? void 0 : _b.filesToLoad;
|
|
198
178
|
try {
|
|
199
|
-
|
|
179
|
+
for (const fileToLoad of filesToLoad) {
|
|
200
180
|
if (!fileToLoad.completed) {
|
|
201
181
|
const { response, error: transformerFileError } = await this.uploader.getJsonObjectByArtifactId({
|
|
202
182
|
artifactId: fileToLoad.id,
|
|
@@ -205,30 +185,24 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
205
185
|
const transformerFile = response;
|
|
206
186
|
if (transformerFileError) {
|
|
207
187
|
console.error(`Transformer file not found for artifact ID: ${fileToLoad.id}.`);
|
|
208
|
-
|
|
188
|
+
return {
|
|
189
|
+
status: 'error',
|
|
209
190
|
error: {
|
|
210
191
|
message: `Transformer file not found for artifact ID: ${fileToLoad.id}.`,
|
|
211
192
|
},
|
|
212
|
-
}
|
|
213
|
-
break outerloop;
|
|
193
|
+
};
|
|
214
194
|
}
|
|
215
195
|
for (let i = fileToLoad.lineToProcess; i < fileToLoad.count; i++) {
|
|
216
196
|
if (this.isTimeout) {
|
|
217
|
-
console.log('Timeout detected during attachment loading.
|
|
218
|
-
|
|
219
|
-
process.exit(0);
|
|
197
|
+
console.log('Timeout detected during attachment loading. Returning progress to allow continuation.');
|
|
198
|
+
return { status: 'progress' };
|
|
220
199
|
}
|
|
221
200
|
const { report, rateLimit } = await this.loadAttachment({
|
|
222
201
|
item: transformerFile[i],
|
|
223
202
|
create,
|
|
224
203
|
});
|
|
225
204
|
if (rateLimit === null || rateLimit === void 0 ? void 0 : rateLimit.delay) {
|
|
226
|
-
|
|
227
|
-
delay: rateLimit.delay,
|
|
228
|
-
reports: this.reports,
|
|
229
|
-
processed_files: this.processedFiles,
|
|
230
|
-
});
|
|
231
|
-
break outerloop;
|
|
205
|
+
return { status: 'delay', delaySeconds: rateLimit.delay };
|
|
232
206
|
}
|
|
233
207
|
if (report) {
|
|
234
208
|
(0, loading_adapter_helpers_1.addReportToLoaderReport)({
|
|
@@ -245,29 +219,25 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
245
219
|
}
|
|
246
220
|
catch (error) {
|
|
247
221
|
console.error('Error during attachment loading.', (0, logger_1.serializeError)(error));
|
|
248
|
-
|
|
222
|
+
return {
|
|
223
|
+
status: 'error',
|
|
249
224
|
error: {
|
|
250
225
|
message: `Error during attachment loading. ${(0, logger_1.serializeError)(error)}`,
|
|
251
226
|
},
|
|
252
|
-
}
|
|
253
|
-
process.exit(1);
|
|
227
|
+
};
|
|
254
228
|
}
|
|
255
|
-
return {
|
|
256
|
-
reports: this.reports,
|
|
257
|
-
processed_files: this.processedFiles,
|
|
258
|
-
};
|
|
229
|
+
return { status: 'success' };
|
|
259
230
|
});
|
|
260
231
|
}
|
|
261
232
|
async loadItem({ item, itemTypeToLoad, }) {
|
|
262
|
-
return (0,
|
|
233
|
+
return (0, logger_1.runWithSdkLogContext)(async () => {
|
|
263
234
|
var _a;
|
|
264
235
|
const devrevId = item.id.devrev;
|
|
265
236
|
try {
|
|
266
|
-
const
|
|
237
|
+
const syncMapperRecord = await this._mappers.getByTargetId({
|
|
267
238
|
sync_unit: this.event.payload.event_context.sync_unit,
|
|
268
239
|
target: devrevId,
|
|
269
240
|
});
|
|
270
|
-
const syncMapperRecord = syncMapperRecordResponse.data;
|
|
271
241
|
if (!syncMapperRecord) {
|
|
272
242
|
console.warn('Failed to get sync mapper record from response.');
|
|
273
243
|
return {
|
|
@@ -277,7 +247,7 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
277
247
|
};
|
|
278
248
|
}
|
|
279
249
|
// Update item in external system
|
|
280
|
-
const { id, modifiedDate, delay, error } = await (0,
|
|
250
|
+
const { id, modifiedDate, delay, error } = await (0, logger_1.runWithUserLogContext)(async () => {
|
|
281
251
|
return await itemTypeToLoad.update({
|
|
282
252
|
item,
|
|
283
253
|
mappers: this._mappers,
|
|
@@ -286,7 +256,7 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
286
256
|
});
|
|
287
257
|
if (id) {
|
|
288
258
|
try {
|
|
289
|
-
const
|
|
259
|
+
const syncMapperRecordUpdate = await this._mappers.update(Object.assign(Object.assign({ id: syncMapperRecord.sync_mapper_record.id, sync_unit: this.event.payload.event_context.sync_unit, status: mappers_interfaces_1.SyncMapperRecordStatus.OPERATIONAL }, (modifiedDate && {
|
|
290
260
|
external_versions: {
|
|
291
261
|
add: [
|
|
292
262
|
{
|
|
@@ -300,7 +270,7 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
300
270
|
}, targets: {
|
|
301
271
|
add: [devrevId],
|
|
302
272
|
} }));
|
|
303
|
-
console.log('Successfully updated sync mapper record.',
|
|
273
|
+
console.log('Successfully updated sync mapper record.', syncMapperRecordUpdate);
|
|
304
274
|
}
|
|
305
275
|
catch (error) {
|
|
306
276
|
console.warn('Failed to update sync mapper record.', (0, logger_1.serializeError)(error));
|
|
@@ -340,7 +310,7 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
340
310
|
if (axios_1.default.isAxiosError(error)) {
|
|
341
311
|
if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
|
|
342
312
|
// Create item in external system if mapper record not found
|
|
343
|
-
const { id, modifiedDate, delay, error } = await (0,
|
|
313
|
+
const { id, modifiedDate, delay, error } = await (0, logger_1.runWithUserLogContext)(async () => {
|
|
344
314
|
return await itemTypeToLoad.create({
|
|
345
315
|
item,
|
|
346
316
|
mappers: this._mappers,
|
|
@@ -350,7 +320,7 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
350
320
|
if (id) {
|
|
351
321
|
// Create mapper
|
|
352
322
|
try {
|
|
353
|
-
const
|
|
323
|
+
const syncMapperRecordCreate = await this._mappers.create(Object.assign({ sync_unit: this.event.payload.event_context.sync_unit, status: mappers_interfaces_1.SyncMapperRecordStatus.OPERATIONAL, external_ids: [id], targets: [devrevId] }, (modifiedDate && {
|
|
354
324
|
external_versions: [
|
|
355
325
|
{
|
|
356
326
|
modified_date: modifiedDate,
|
|
@@ -358,7 +328,7 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
358
328
|
},
|
|
359
329
|
],
|
|
360
330
|
})));
|
|
361
|
-
console.log('Successfully created sync mapper record.',
|
|
331
|
+
console.log('Successfully created sync mapper record.', syncMapperRecordCreate);
|
|
362
332
|
return {
|
|
363
333
|
report: {
|
|
364
334
|
item_type: itemTypeToLoad.itemType,
|
|
@@ -412,9 +382,9 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
412
382
|
});
|
|
413
383
|
}
|
|
414
384
|
async loadAttachment({ item, create, }) {
|
|
415
|
-
return (0,
|
|
385
|
+
return (0, logger_1.runWithSdkLogContext)(async () => {
|
|
416
386
|
// Create item
|
|
417
|
-
const { id, delay, error } = await (0,
|
|
387
|
+
const { id, delay, error } = await (0, logger_1.runWithUserLogContext)(async () => create({
|
|
418
388
|
item,
|
|
419
389
|
mappers: this._mappers,
|
|
420
390
|
event: this.event,
|
|
@@ -428,13 +398,13 @@ class LoadingAdapter extends base_adapter_1.BaseAdapter {
|
|
|
428
398
|
}
|
|
429
399
|
else if (id) {
|
|
430
400
|
try {
|
|
431
|
-
const
|
|
401
|
+
const syncMapperRecordCreate = await this._mappers.create({
|
|
432
402
|
sync_unit: this.event.payload.event_context.sync_unit,
|
|
433
403
|
external_ids: [id],
|
|
434
404
|
targets: [item.reference_id],
|
|
435
|
-
status:
|
|
405
|
+
status: mappers_interfaces_1.SyncMapperRecordStatus.OPERATIONAL,
|
|
436
406
|
});
|
|
437
|
-
console.log('Successfully created sync mapper record.',
|
|
407
|
+
console.log('Successfully created sync mapper record.', syncMapperRecordCreate);
|
|
438
408
|
}
|
|
439
409
|
catch (error) {
|
|
440
410
|
console.warn('Failed to create sync mapper record.', (0, logger_1.serializeError)(error));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/multithreading/emit.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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.emit = void 0;
|
|
4
|
-
const
|
|
5
|
-
const constants_1 = require("
|
|
4
|
+
const client_1 = require("../http/client");
|
|
5
|
+
const constants_1 = require("../common/constants");
|
|
6
6
|
const emit = async ({ event, eventType, data, }) => {
|
|
7
7
|
const newEvent = {
|
|
8
8
|
event_type: eventType,
|
|
@@ -13,7 +13,7 @@ const emit = async ({ event, eventType, data, }) => {
|
|
|
13
13
|
},
|
|
14
14
|
};
|
|
15
15
|
console.info('Emitting event', newEvent);
|
|
16
|
-
return
|
|
16
|
+
return client_1.axiosClient.post(event.payload.event_context.callback_url, Object.assign({}, newEvent), {
|
|
17
17
|
headers: {
|
|
18
18
|
Accept: 'application/json, text/plain, */*',
|
|
19
19
|
Authorization: event.context.secrets.service_account_token,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-task.d.ts","sourceRoot":"","sources":["../../src/multithreading/process-task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"process-task.d.ts","sourceRoot":"","sources":["../../src/multithreading/process-task.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,oBAAoB,EAIrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAoE5D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,EACpD,IAAI,EACJ,SAAS,GACV,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,QA6BzD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,EACjD,IAAI,EACJ,SAAS,GACV,EAAE,oBAAoB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,QA6BtD"}
|
|
@@ -4,7 +4,6 @@ exports.processExtractionTask = processExtractionTask;
|
|
|
4
4
|
exports.processLoadingTask = processLoadingTask;
|
|
5
5
|
const node_worker_threads_1 = require("node:worker_threads");
|
|
6
6
|
const logger_1 = require("../logger/logger");
|
|
7
|
-
const logger_context_1 = require("../logger/logger.context");
|
|
8
7
|
const extraction_state_1 = require("../state/extraction-state");
|
|
9
8
|
const loading_state_1 = require("../state/loading-state");
|
|
10
9
|
const workers_1 = require("../types/workers");
|
|
@@ -12,12 +11,24 @@ const extraction_adapter_1 = require("./adapters/extraction-adapter");
|
|
|
12
11
|
const loading_adapter_1 = require("./adapters/loading-adapter");
|
|
13
12
|
/**
|
|
14
13
|
* Shared worker-thread driver. Builds the logger context, runs the task and
|
|
15
|
-
* (on timeout) the onTimeout callback against the provided adapter,
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* (on timeout) the onTimeout callback against the provided adapter, maps the
|
|
15
|
+
* returned {@link TaskResult} to a platform event and emits it exactly once,
|
|
16
|
+
* and wires the error/exit plumbing.
|
|
17
|
+
*
|
|
18
|
+
* The adapter is constructed by the caller so each entry point can build its
|
|
19
|
+
* own typed adapter.
|
|
20
|
+
*
|
|
21
|
+
* If `onTimeout` is omitted, the SDK emits a phase-appropriate default on
|
|
22
|
+
* timeout: `progress` (resumable phases) or `error` (non-resumable phases) is
|
|
23
|
+
* handled by the status->event mapping when we emit a `progress` result.
|
|
24
|
+
*
|
|
25
|
+
* On timeout the timeout outcome always wins: once the soft timeout has fired,
|
|
26
|
+
* the SDK emits the `onTimeout` result (or the default `progress`) and ignores
|
|
27
|
+
* whatever the task returned, because a phase that ran out of time must hand off
|
|
28
|
+
* for continuation rather than report itself complete.
|
|
18
29
|
*/
|
|
19
30
|
async function runWorkerTask(buildAdapter, { task, onTimeout }) {
|
|
20
|
-
await (0,
|
|
31
|
+
await (0, logger_1.runWithSdkLogContext)(async () => {
|
|
21
32
|
try {
|
|
22
33
|
const adapter = await buildAdapter();
|
|
23
34
|
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.on(workers_1.WorkerEvent.WorkerMessage, (message) => {
|
|
@@ -27,14 +38,20 @@ async function runWorkerTask(buildAdapter, { task, onTimeout }) {
|
|
|
27
38
|
console.log('Timeout received. Waiting for the task to finish.');
|
|
28
39
|
adapter.isTimeout = true;
|
|
29
40
|
});
|
|
30
|
-
await (0,
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
let result = await (0, logger_1.runWithUserLogContext)(async () => task({ adapter }));
|
|
42
|
+
// If the soft timeout fired, the timeout outcome wins regardless of what
|
|
43
|
+
// the task returned: hand off via onTimeout (or the default progress
|
|
44
|
+
// result) so the phase continues in a fresh invocation.
|
|
45
|
+
if (adapter.isTimeout) {
|
|
46
|
+
result = onTimeout
|
|
47
|
+
? await (0, logger_1.runWithUserLogContext)(async () => onTimeout({ adapter }))
|
|
48
|
+
: { status: 'progress' };
|
|
33
49
|
}
|
|
50
|
+
await adapter.emitFromResult(result);
|
|
34
51
|
process.exit(0);
|
|
35
52
|
}
|
|
36
53
|
catch (error) {
|
|
37
|
-
(0,
|
|
54
|
+
(0, logger_1.runWithUserLogContext)(() => {
|
|
38
55
|
const errorMessage = `Error while processing task. ${(0, logger_1.serializeError)(error)}`;
|
|
39
56
|
console.error(errorMessage);
|
|
40
57
|
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
import { EventType, ExtractorEventType } from '../../types/extraction';
|
|
2
2
|
import { LoaderEventType } from '../../types/loading';
|
|
3
|
+
import { TaskStatus } from '../../types/workers';
|
|
4
|
+
/**
|
|
5
|
+
* Resolves the outgoing event type the SDK should emit for a given incoming
|
|
6
|
+
* event type and the {@link TaskResult} status a worker returned.
|
|
7
|
+
*
|
|
8
|
+
* The mapping follows the per-phase contract documented on `TaskResult`:
|
|
9
|
+
* resumable phases (data/attachment extraction, data/attachment loading) honor
|
|
10
|
+
* every status (success -> *_DONE, progress -> *_PROGRESS, delay -> *_DELAYED,
|
|
11
|
+
* error -> *_ERROR); non-resumable phases (external sync units, metadata, state
|
|
12
|
+
* deletion) only have a done and an error event, so a `progress`/`delay` status
|
|
13
|
+
* there is illegal and is mapped to the phase's error event.
|
|
14
|
+
*
|
|
15
|
+
* @param eventType - The incoming event type that started this worker.
|
|
16
|
+
* @param status - The status the worker's task/onTimeout returned.
|
|
17
|
+
* @returns The outgoing extractor/loader event type to emit, plus whether the
|
|
18
|
+
* status was illegal for the phase (so the caller can attach a descriptive
|
|
19
|
+
* error message).
|
|
20
|
+
*/
|
|
21
|
+
export declare function getEventTypeForResult(eventType: EventType, status: TaskStatus): {
|
|
22
|
+
eventType: ExtractorEventType | LoaderEventType;
|
|
23
|
+
illegal: boolean;
|
|
24
|
+
};
|
|
3
25
|
/**
|
|
4
26
|
* Gets the event type for the timeout error.
|
|
5
27
|
* @param {EventType} eventType - The event type to get the timeout error event type for
|
|
@@ -14,8 +36,6 @@ export declare function getTimeoutErrorEventType(eventType: EventType): {
|
|
|
14
36
|
* @returns {ExtractorEventType | LoaderEventType} The event type for the no script error
|
|
15
37
|
*/
|
|
16
38
|
export declare function getNoScriptEventType(eventType: EventType): {
|
|
17
|
-
eventType: ExtractorEventType;
|
|
18
|
-
} | {
|
|
19
|
-
eventType: LoaderEventType;
|
|
39
|
+
eventType: ExtractorEventType | LoaderEventType;
|
|
20
40
|
};
|
|
21
41
|
//# sourceMappingURL=spawn.helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.helpers.d.ts","sourceRoot":"","sources":["../../../src/multithreading/spawn/spawn.helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spawn.helpers.d.ts","sourceRoot":"","sources":["../../../src/multithreading/spawn/spawn.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,UAAU,GACjB;IACD,SAAS,EAAE,kBAAkB,GAAG,eAAe,CAAC;IAChD,OAAO,EAAE,OAAO,CAAC;CAClB,CAiCA;AAoHD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,SAAS,GAAG;IAC9D,SAAS,EAAE,kBAAkB,GAAG,eAAe,CAAC;CACjD,CA2EA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS;eAwBhB,kBAAkB,GAAG,eAAe;EAG5E"}
|
|
@@ -1,9 +1,159 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEventTypeForResult = getEventTypeForResult;
|
|
3
4
|
exports.getTimeoutErrorEventType = getTimeoutErrorEventType;
|
|
4
5
|
exports.getNoScriptEventType = getNoScriptEventType;
|
|
6
|
+
const constants_1 = require("../../common/constants");
|
|
5
7
|
const extraction_1 = require("../../types/extraction");
|
|
6
8
|
const loading_1 = require("../../types/loading");
|
|
9
|
+
/**
|
|
10
|
+
* Resolves the outgoing event type the SDK should emit for a given incoming
|
|
11
|
+
* event type and the {@link TaskResult} status a worker returned.
|
|
12
|
+
*
|
|
13
|
+
* The mapping follows the per-phase contract documented on `TaskResult`:
|
|
14
|
+
* resumable phases (data/attachment extraction, data/attachment loading) honor
|
|
15
|
+
* every status (success -> *_DONE, progress -> *_PROGRESS, delay -> *_DELAYED,
|
|
16
|
+
* error -> *_ERROR); non-resumable phases (external sync units, metadata, state
|
|
17
|
+
* deletion) only have a done and an error event, so a `progress`/`delay` status
|
|
18
|
+
* there is illegal and is mapped to the phase's error event.
|
|
19
|
+
*
|
|
20
|
+
* @param eventType - The incoming event type that started this worker.
|
|
21
|
+
* @param status - The status the worker's task/onTimeout returned.
|
|
22
|
+
* @returns The outgoing extractor/loader event type to emit, plus whether the
|
|
23
|
+
* status was illegal for the phase (so the caller can attach a descriptive
|
|
24
|
+
* error message).
|
|
25
|
+
*/
|
|
26
|
+
function getEventTypeForResult(eventType, status) {
|
|
27
|
+
const phase = EVENT_PHASE_MAP[eventType];
|
|
28
|
+
if (!phase) {
|
|
29
|
+
console.error('Event type not recognized in getEventTypeForResult function: ' +
|
|
30
|
+
eventType);
|
|
31
|
+
return {
|
|
32
|
+
eventType: constants_1.UNKNOWN_EVENT_TYPE,
|
|
33
|
+
illegal: true,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
// Non-resumable phases only define done/error events.
|
|
37
|
+
if (!phase.resumable) {
|
|
38
|
+
if (status === 'success') {
|
|
39
|
+
return { eventType: phase.done, illegal: false };
|
|
40
|
+
}
|
|
41
|
+
// progress/delay are illegal here; collapse them (and error) to the error event.
|
|
42
|
+
return { eventType: phase.error, illegal: status !== 'error' };
|
|
43
|
+
}
|
|
44
|
+
switch (status) {
|
|
45
|
+
case 'success':
|
|
46
|
+
return { eventType: phase.done, illegal: false };
|
|
47
|
+
case 'progress':
|
|
48
|
+
return { eventType: phase.progress, illegal: false };
|
|
49
|
+
case 'delay':
|
|
50
|
+
return { eventType: phase.delayed, illegal: false };
|
|
51
|
+
case 'error':
|
|
52
|
+
return { eventType: phase.error, illegal: false };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Per-phase outgoing event types, keyed by the incoming {@link EventType}.
|
|
57
|
+
* `resumable` phases define progress/delayed events; non-resumable ones do not.
|
|
58
|
+
*/
|
|
59
|
+
const EVENT_PHASE_MAP = {
|
|
60
|
+
// External sync units (non-resumable)
|
|
61
|
+
[extraction_1.EventType.StartExtractingExternalSyncUnits]: {
|
|
62
|
+
resumable: false,
|
|
63
|
+
done: extraction_1.ExtractorEventType.ExternalSyncUnitExtractionDone,
|
|
64
|
+
error: extraction_1.ExtractorEventType.ExternalSyncUnitExtractionError,
|
|
65
|
+
},
|
|
66
|
+
// Metadata (non-resumable)
|
|
67
|
+
[extraction_1.EventType.StartExtractingMetadata]: {
|
|
68
|
+
resumable: false,
|
|
69
|
+
done: extraction_1.ExtractorEventType.MetadataExtractionDone,
|
|
70
|
+
error: extraction_1.ExtractorEventType.MetadataExtractionError,
|
|
71
|
+
},
|
|
72
|
+
// Data extraction (resumable)
|
|
73
|
+
[extraction_1.EventType.StartExtractingData]: {
|
|
74
|
+
resumable: true,
|
|
75
|
+
done: extraction_1.ExtractorEventType.DataExtractionDone,
|
|
76
|
+
error: extraction_1.ExtractorEventType.DataExtractionError,
|
|
77
|
+
progress: extraction_1.ExtractorEventType.DataExtractionProgress,
|
|
78
|
+
delayed: extraction_1.ExtractorEventType.DataExtractionDelayed,
|
|
79
|
+
},
|
|
80
|
+
[extraction_1.EventType.ContinueExtractingData]: {
|
|
81
|
+
resumable: true,
|
|
82
|
+
done: extraction_1.ExtractorEventType.DataExtractionDone,
|
|
83
|
+
error: extraction_1.ExtractorEventType.DataExtractionError,
|
|
84
|
+
progress: extraction_1.ExtractorEventType.DataExtractionProgress,
|
|
85
|
+
delayed: extraction_1.ExtractorEventType.DataExtractionDelayed,
|
|
86
|
+
},
|
|
87
|
+
// Extractor state deletion (non-resumable)
|
|
88
|
+
[extraction_1.EventType.StartDeletingExtractorState]: {
|
|
89
|
+
resumable: false,
|
|
90
|
+
done: extraction_1.ExtractorEventType.ExtractorStateDeletionDone,
|
|
91
|
+
error: extraction_1.ExtractorEventType.ExtractorStateDeletionError,
|
|
92
|
+
},
|
|
93
|
+
// Attachment extraction (resumable)
|
|
94
|
+
[extraction_1.EventType.StartExtractingAttachments]: {
|
|
95
|
+
resumable: true,
|
|
96
|
+
done: extraction_1.ExtractorEventType.AttachmentExtractionDone,
|
|
97
|
+
error: extraction_1.ExtractorEventType.AttachmentExtractionError,
|
|
98
|
+
progress: extraction_1.ExtractorEventType.AttachmentExtractionProgress,
|
|
99
|
+
delayed: extraction_1.ExtractorEventType.AttachmentExtractionDelayed,
|
|
100
|
+
},
|
|
101
|
+
[extraction_1.EventType.ContinueExtractingAttachments]: {
|
|
102
|
+
resumable: true,
|
|
103
|
+
done: extraction_1.ExtractorEventType.AttachmentExtractionDone,
|
|
104
|
+
error: extraction_1.ExtractorEventType.AttachmentExtractionError,
|
|
105
|
+
progress: extraction_1.ExtractorEventType.AttachmentExtractionProgress,
|
|
106
|
+
delayed: extraction_1.ExtractorEventType.AttachmentExtractionDelayed,
|
|
107
|
+
},
|
|
108
|
+
// Extractor attachments state deletion (non-resumable)
|
|
109
|
+
[extraction_1.EventType.StartDeletingExtractorAttachmentsState]: {
|
|
110
|
+
resumable: false,
|
|
111
|
+
done: extraction_1.ExtractorEventType.ExtractorAttachmentsStateDeletionDone,
|
|
112
|
+
error: extraction_1.ExtractorEventType.ExtractorAttachmentsStateDeletionError,
|
|
113
|
+
},
|
|
114
|
+
// Data loading (resumable)
|
|
115
|
+
[extraction_1.EventType.StartLoadingData]: {
|
|
116
|
+
resumable: true,
|
|
117
|
+
done: loading_1.LoaderEventType.DataLoadingDone,
|
|
118
|
+
error: loading_1.LoaderEventType.DataLoadingError,
|
|
119
|
+
progress: loading_1.LoaderEventType.DataLoadingProgress,
|
|
120
|
+
delayed: loading_1.LoaderEventType.DataLoadingDelayed,
|
|
121
|
+
},
|
|
122
|
+
[extraction_1.EventType.ContinueLoadingData]: {
|
|
123
|
+
resumable: true,
|
|
124
|
+
done: loading_1.LoaderEventType.DataLoadingDone,
|
|
125
|
+
error: loading_1.LoaderEventType.DataLoadingError,
|
|
126
|
+
progress: loading_1.LoaderEventType.DataLoadingProgress,
|
|
127
|
+
delayed: loading_1.LoaderEventType.DataLoadingDelayed,
|
|
128
|
+
},
|
|
129
|
+
// Attachment loading (resumable)
|
|
130
|
+
[extraction_1.EventType.StartLoadingAttachments]: {
|
|
131
|
+
resumable: true,
|
|
132
|
+
done: loading_1.LoaderEventType.AttachmentLoadingDone,
|
|
133
|
+
error: loading_1.LoaderEventType.AttachmentLoadingError,
|
|
134
|
+
progress: loading_1.LoaderEventType.AttachmentLoadingProgress,
|
|
135
|
+
delayed: loading_1.LoaderEventType.AttachmentLoadingDelayed,
|
|
136
|
+
},
|
|
137
|
+
[extraction_1.EventType.ContinueLoadingAttachments]: {
|
|
138
|
+
resumable: true,
|
|
139
|
+
done: loading_1.LoaderEventType.AttachmentLoadingDone,
|
|
140
|
+
error: loading_1.LoaderEventType.AttachmentLoadingError,
|
|
141
|
+
progress: loading_1.LoaderEventType.AttachmentLoadingProgress,
|
|
142
|
+
delayed: loading_1.LoaderEventType.AttachmentLoadingDelayed,
|
|
143
|
+
},
|
|
144
|
+
// Loader state deletion (non-resumable)
|
|
145
|
+
[extraction_1.EventType.StartDeletingLoaderState]: {
|
|
146
|
+
resumable: false,
|
|
147
|
+
done: loading_1.LoaderEventType.LoaderStateDeletionDone,
|
|
148
|
+
error: loading_1.LoaderEventType.LoaderStateDeletionError,
|
|
149
|
+
},
|
|
150
|
+
// Loader attachment state deletion (non-resumable)
|
|
151
|
+
[extraction_1.EventType.StartDeletingLoaderAttachmentState]: {
|
|
152
|
+
resumable: false,
|
|
153
|
+
done: loading_1.LoaderEventType.LoaderAttachmentStateDeletionDone,
|
|
154
|
+
error: loading_1.LoaderEventType.LoaderAttachmentStateDeletionError,
|
|
155
|
+
},
|
|
156
|
+
};
|
|
7
157
|
/**
|
|
8
158
|
* Gets the event type for the timeout error.
|
|
9
159
|
* @param {EventType} eventType - The event type to get the timeout error event type for
|
|
@@ -69,7 +219,7 @@ function getTimeoutErrorEventType(eventType) {
|
|
|
69
219
|
console.error('Event type not recognized in getTimeoutErrorEventType function: ' +
|
|
70
220
|
eventType);
|
|
71
221
|
return {
|
|
72
|
-
eventType:
|
|
222
|
+
eventType: constants_1.UNKNOWN_EVENT_TYPE,
|
|
73
223
|
};
|
|
74
224
|
}
|
|
75
225
|
}
|
|
@@ -100,7 +250,7 @@ function getNoScriptEventType(eventType) {
|
|
|
100
250
|
console.error('Event type not recognized in getNoScriptEventType function: ' +
|
|
101
251
|
eventType);
|
|
102
252
|
return {
|
|
103
|
-
eventType:
|
|
253
|
+
eventType: constants_1.UNKNOWN_EVENT_TYPE,
|
|
104
254
|
};
|
|
105
255
|
}
|
|
106
256
|
}
|