@devrev/ts-adaas 1.16.0 → 1.16.1-beta.1
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/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.js +8 -2
- package/dist/attachments-streaming/attachments-streaming-pool.test.js +111 -0
- package/dist/common/constants.d.ts +6 -5
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js +8 -6
- package/dist/http/axios-client-internal.d.ts.map +1 -1
- package/dist/http/axios-client-internal.js +7 -0
- package/dist/http/axios-client-internal.test.js +21 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/multithreading/process-task.d.ts.map +1 -1
- package/dist/multithreading/process-task.js +6 -1
- package/dist/multithreading/spawn/spawn.d.ts +1 -0
- package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
- package/dist/multithreading/spawn/spawn.js +8 -2
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +44 -0
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +1 -1
- package/dist/multithreading/worker-adapter/worker-adapter.js +38 -19
- package/dist/multithreading/worker-adapter/worker-adapter.test.js +90 -0
- package/dist/repo/repo.d.ts.map +1 -1
- package/dist/repo/repo.interfaces.d.ts +2 -0
- package/dist/repo/repo.interfaces.d.ts.map +1 -1
- package/dist/repo/repo.js +2 -2
- package/dist/repo/repo.test.js +2 -2
- package/dist/state/state.d.ts.map +1 -1
- package/dist/state/state.js +26 -4
- package/dist/types/extraction.d.ts +4 -0
- package/dist/types/extraction.d.ts.map +1 -1
- package/dist/types/workers.d.ts +15 -2
- package/dist/types/workers.d.ts.map +1 -1
- package/dist/types/workers.js +1 -0
- package/dist/uploader/uploader.d.ts +1 -0
- package/dist/uploader/uploader.d.ts.map +1 -1
- package/dist/uploader/uploader.js +15 -9
- package/package.json +2 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments-streaming-pool.d.ts","sourceRoot":"","sources":["../../src/attachments-streaming/attachments-streaming-pool.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAGzF,qBAAa,wBAAwB,CAAC,cAAc;IAClD,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAA4C;IAE1D,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAM;gBAEnC,EACV,OAAO,EACP,WAAW,EACX,SAAc,EACd,MAAM,GACP,EAAE,8BAA8B,CAAC,cAAc,CAAC;YAQnC,cAAc;IAS5B;;;;;OAKG;IAEH,OAAO,CAAC,2BAA2B;IAsB7B,SAAS,IAAI,OAAO,CAAC,2BAA2B,CAAC;IA8CjD,kBAAkB;
|
|
1
|
+
{"version":3,"file":"attachments-streaming-pool.d.ts","sourceRoot":"","sources":["../../src/attachments-streaming/attachments-streaming-pool.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAGzF,qBAAa,wBAAwB,CAAC,cAAc;IAClD,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAA4C;IAE1D,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAM;gBAEnC,EACV,OAAO,EACP,WAAW,EACX,SAAc,EACd,MAAM,GACP,EAAE,8BAA8B,CAAC,cAAc,CAAC;YAQnC,cAAc;IAS5B;;;;;OAKG;IAEH,OAAO,CAAC,2BAA2B;IAsB7B,SAAS,IAAI,OAAO,CAAC,2BAA2B,CAAC;IA8CjD,kBAAkB;CA0FzB"}
|
|
@@ -110,7 +110,10 @@ class AttachmentsStreamingPool {
|
|
|
110
110
|
const fileSizeInfo = response.error.fileSize
|
|
111
111
|
? `and size ${response.error.fileSize} bytes `
|
|
112
112
|
: '';
|
|
113
|
-
|
|
113
|
+
const contentTypeInfo = attachment.content_type
|
|
114
|
+
? `and content_type ${attachment.content_type} `
|
|
115
|
+
: '';
|
|
116
|
+
console.warn(`Skipping attachment with ID ${attachment.id} with extension ${fileExtension} ${fileSizeInfo}${contentTypeInfo}due to error returned by the stream function`, response.error.message);
|
|
114
117
|
await this.updateProgress();
|
|
115
118
|
continue;
|
|
116
119
|
}
|
|
@@ -122,7 +125,10 @@ class AttachmentsStreamingPool {
|
|
|
122
125
|
}
|
|
123
126
|
catch (error) {
|
|
124
127
|
const fileExtension = attachment.file_name.split('.').pop() || '';
|
|
125
|
-
|
|
128
|
+
const contentTypeInfo = attachment.content_type
|
|
129
|
+
? ` and content_type ${attachment.content_type}`
|
|
130
|
+
: '';
|
|
131
|
+
console.warn(`Skipping attachment with ID ${attachment.id} with extension ${fileExtension}${contentTypeInfo} due to error in processAttachment function`, error);
|
|
126
132
|
await this.updateProgress();
|
|
127
133
|
}
|
|
128
134
|
}
|
|
@@ -330,6 +330,117 @@ describe(attachments_streaming_pool_1.AttachmentsStreamingPool.name, () => {
|
|
|
330
330
|
await pool.streamAll();
|
|
331
331
|
expect(mockAdapter.processAttachment).toHaveBeenCalledTimes(3);
|
|
332
332
|
});
|
|
333
|
+
describe('content_type handling', () => {
|
|
334
|
+
it('should pass attachment with content_type to processAttachment', async () => {
|
|
335
|
+
mockAdapter.processAttachment.mockResolvedValue({});
|
|
336
|
+
const attachmentWithContentType = {
|
|
337
|
+
id: 'attachment-ct',
|
|
338
|
+
url: 'https://example.com/report.pdf',
|
|
339
|
+
file_name: 'report.pdf',
|
|
340
|
+
parent_id: 'parent-ct',
|
|
341
|
+
content_type: 'application/pdf',
|
|
342
|
+
};
|
|
343
|
+
const pool = new attachments_streaming_pool_1.AttachmentsStreamingPool({
|
|
344
|
+
adapter: mockAdapter,
|
|
345
|
+
attachments: [attachmentWithContentType],
|
|
346
|
+
stream: mockStream,
|
|
347
|
+
});
|
|
348
|
+
await pool.streamAll();
|
|
349
|
+
expect(mockAdapter.processAttachment).toHaveBeenCalledWith(attachmentWithContentType, mockStream);
|
|
350
|
+
expect(mockAdapter.processAttachment.mock.calls[0][0].content_type).toBe('application/pdf');
|
|
351
|
+
});
|
|
352
|
+
it('should handle mixed attachments with and without content_type', async () => {
|
|
353
|
+
mockAdapter.processAttachment.mockResolvedValue({});
|
|
354
|
+
const mixedAttachments = [
|
|
355
|
+
{
|
|
356
|
+
id: 'att-with-ct',
|
|
357
|
+
url: 'https://example.com/image.png',
|
|
358
|
+
file_name: 'image.png',
|
|
359
|
+
parent_id: 'parent-1',
|
|
360
|
+
content_type: 'image/png',
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
id: 'att-without-ct',
|
|
364
|
+
url: 'https://example.com/file.bin',
|
|
365
|
+
file_name: 'file.bin',
|
|
366
|
+
parent_id: 'parent-2',
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
id: 'att-with-ct-2',
|
|
370
|
+
url: 'https://example.com/doc.pdf',
|
|
371
|
+
file_name: 'doc.pdf',
|
|
372
|
+
parent_id: 'parent-3',
|
|
373
|
+
content_type: 'application/pdf',
|
|
374
|
+
},
|
|
375
|
+
];
|
|
376
|
+
const pool = new attachments_streaming_pool_1.AttachmentsStreamingPool({
|
|
377
|
+
adapter: mockAdapter,
|
|
378
|
+
attachments: mixedAttachments,
|
|
379
|
+
batchSize: 1,
|
|
380
|
+
stream: mockStream,
|
|
381
|
+
});
|
|
382
|
+
await pool.streamAll();
|
|
383
|
+
expect(mockAdapter.processAttachment).toHaveBeenCalledTimes(3);
|
|
384
|
+
expect(mockAdapter.processAttachment.mock.calls[0][0].content_type).toBe('image/png');
|
|
385
|
+
expect(mockAdapter.processAttachment.mock.calls[1][0].content_type).toBeUndefined();
|
|
386
|
+
expect(mockAdapter.processAttachment.mock.calls[2][0].content_type).toBe('application/pdf');
|
|
387
|
+
});
|
|
388
|
+
it('should include content_type in error log when processAttachment returns error', async () => {
|
|
389
|
+
mockAdapter.processAttachment.mockResolvedValue({
|
|
390
|
+
error: { message: 'Upload failed' },
|
|
391
|
+
});
|
|
392
|
+
const warnSpy = jest.spyOn(console, 'warn');
|
|
393
|
+
const attachmentWithContentType = {
|
|
394
|
+
id: 'att-error-ct',
|
|
395
|
+
url: 'https://example.com/file.pdf',
|
|
396
|
+
file_name: 'file.pdf',
|
|
397
|
+
parent_id: 'parent-err',
|
|
398
|
+
content_type: 'application/pdf',
|
|
399
|
+
};
|
|
400
|
+
const pool = new attachments_streaming_pool_1.AttachmentsStreamingPool({
|
|
401
|
+
adapter: mockAdapter,
|
|
402
|
+
attachments: [attachmentWithContentType],
|
|
403
|
+
batchSize: 1,
|
|
404
|
+
stream: mockStream,
|
|
405
|
+
});
|
|
406
|
+
await pool.streamAll();
|
|
407
|
+
expect(warnSpy).toHaveBeenCalledWith(expect.stringContaining('content_type application/pdf'), expect.any(String));
|
|
408
|
+
});
|
|
409
|
+
it('should include content_type in error log when processAttachment throws', async () => {
|
|
410
|
+
const error = new Error('Processing crashed');
|
|
411
|
+
mockAdapter.processAttachment.mockRejectedValue(error);
|
|
412
|
+
const warnSpy = jest.spyOn(console, 'warn');
|
|
413
|
+
const attachmentWithContentType = {
|
|
414
|
+
id: 'att-throw-ct',
|
|
415
|
+
url: 'https://example.com/file.png',
|
|
416
|
+
file_name: 'file.png',
|
|
417
|
+
parent_id: 'parent-throw',
|
|
418
|
+
content_type: 'image/png',
|
|
419
|
+
};
|
|
420
|
+
const pool = new attachments_streaming_pool_1.AttachmentsStreamingPool({
|
|
421
|
+
adapter: mockAdapter,
|
|
422
|
+
attachments: [attachmentWithContentType],
|
|
423
|
+
batchSize: 1,
|
|
424
|
+
stream: mockStream,
|
|
425
|
+
});
|
|
426
|
+
await pool.streamAll();
|
|
427
|
+
expect(warnSpy).toHaveBeenCalledWith(expect.stringContaining('content_type image/png'), error);
|
|
428
|
+
});
|
|
429
|
+
it('should not include content_type in error log when content_type is not set', async () => {
|
|
430
|
+
mockAdapter.processAttachment.mockResolvedValue({
|
|
431
|
+
error: { message: 'Upload failed' },
|
|
432
|
+
});
|
|
433
|
+
const warnSpy = jest.spyOn(console, 'warn');
|
|
434
|
+
const pool = new attachments_streaming_pool_1.AttachmentsStreamingPool({
|
|
435
|
+
adapter: mockAdapter,
|
|
436
|
+
attachments: [mockAttachments[0]],
|
|
437
|
+
batchSize: 1,
|
|
438
|
+
stream: mockStream,
|
|
439
|
+
});
|
|
440
|
+
await pool.streamAll();
|
|
441
|
+
expect(warnSpy).toHaveBeenCalledWith(expect.not.stringContaining('content_type'), expect.any(String));
|
|
442
|
+
});
|
|
443
|
+
});
|
|
333
444
|
describe('concurrency behavior', () => {
|
|
334
445
|
it('should process attachments concurrently within batch size', async () => {
|
|
335
446
|
let processCallCount = 0;
|
|
@@ -14,11 +14,12 @@ export declare const MAX_DEVREV_FILENAME_LENGTH = 256;
|
|
|
14
14
|
export declare const MAX_DEVREV_FILENAME_EXTENSION_LENGTH = 20;
|
|
15
15
|
export declare const MAX_EVENT_SIZE_BYTES = 200000;
|
|
16
16
|
export declare const EVENT_SIZE_THRESHOLD_BYTES: number;
|
|
17
|
-
export declare const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
export declare const SSOR_ATTACHMENT: string;
|
|
18
|
+
export declare enum AirSyncDefaultItemTypes {
|
|
19
|
+
EXTERNAL_DOMAIN_METADATA = "external_domain_metadata",
|
|
20
|
+
ATTACHMENTS = "attachments",
|
|
21
|
+
EXTERNAL_SYNC_UNITS = "external_sync_units"
|
|
22
|
+
}
|
|
22
23
|
export declare const LIBRARY_VERSION: any;
|
|
23
24
|
export declare const DEFAULT_LAMBDA_TIMEOUT: number;
|
|
24
25
|
export declare const HARD_TIMEOUT_MULTIPLIER = 1.3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,eAAO,MAAM,8BAA8B,aAS1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,aAKvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAG/B,CAAC;AAEF,eAAO,MAAM,gCAAgC,aAI5C,CAAC;AAEF,eAAO,MAAM,6BAA6B,aAGzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAGjC,CAAC;AAEF,eAAO,MAAM,+BAA+B,aAGzC,CAAC;AAEJ,eAAO,MAAM,4BAA4B,aAExC,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAGhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,wBAAwB,QAAyB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAGvD,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAE5C,eAAO,MAAM,0BAA0B,QAEtC,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,eAAO,MAAM,8BAA8B,aAS1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,aAKvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAG/B,CAAC;AAEF,eAAO,MAAM,gCAAgC,aAI5C,CAAC;AAEF,eAAO,MAAM,6BAA6B,aAGzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAGjC,CAAC;AAEF,eAAO,MAAM,+BAA+B,aAGzC,CAAC;AAEJ,eAAO,MAAM,4BAA4B,aAExC,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAGhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,wBAAwB,QAAyB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAGvD,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAE5C,eAAO,MAAM,0BAA0B,QAEtC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAA0B,CAAC;AAEzD,oBAAY,uBAAuB;IACjC,wBAAwB,6BAA6B;IACrD,WAAW,gBAAgB;IAC3B,mBAAmB,wBAAwB;CAC5C;AAED,eAAO,MAAM,eAAe,KAAsB,CAAC;AAEnD,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AACrD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAY,CAAC;AAE7C,eAAO,MAAM,sBAAsB,QAAgB,CAAC"}
|
package/dist/common/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_SLEEP_DELAY_MS = exports.MEMORY_LOG_INTERVAL = exports.HARD_TIMEOUT_MULTIPLIER = exports.DEFAULT_LAMBDA_TIMEOUT = exports.LIBRARY_VERSION = exports.
|
|
3
|
+
exports.DEFAULT_SLEEP_DELAY_MS = exports.MEMORY_LOG_INTERVAL = exports.HARD_TIMEOUT_MULTIPLIER = exports.DEFAULT_LAMBDA_TIMEOUT = exports.LIBRARY_VERSION = exports.AirSyncDefaultItemTypes = exports.SSOR_ATTACHMENT = exports.EVENT_SIZE_THRESHOLD_BYTES = exports.MAX_EVENT_SIZE_BYTES = exports.MAX_DEVREV_FILENAME_EXTENSION_LENGTH = exports.MAX_DEVREV_FILENAME_LENGTH = exports.MAX_DEVREV_ARTIFACT_SIZE = exports.ARTIFACT_BATCH_SIZE = exports.STATEFUL_EVENT_TYPES = exports.STATEFUL_LOADING_EVENT_TYPES = exports.STATEFUL_EXTRACTION_EVENT_TYPES = exports.STATELESS_EVENT_TYPES = exports.STATELESS_LOADING_EVENT_TYPES = exports.STATELESS_EXTRACTION_EVENT_TYPES = exports.ALLOWED_EVENT_TYPES = exports.ALLOWED_LOADING_EVENT_TYPES = exports.ALLOWED_EXTRACTION_EVENT_TYPES = void 0;
|
|
4
4
|
const extraction_1 = require("../types/extraction");
|
|
5
5
|
const helpers_1 = require("./helpers");
|
|
6
6
|
exports.ALLOWED_EXTRACTION_EVENT_TYPES = [
|
|
@@ -50,11 +50,13 @@ exports.MAX_DEVREV_FILENAME_EXTENSION_LENGTH = 20; // 20 characters for the file
|
|
|
50
50
|
exports.MAX_EVENT_SIZE_BYTES = 200000;
|
|
51
51
|
// We want to leave some room for the other data in the message and process the rest of queued messages
|
|
52
52
|
exports.EVENT_SIZE_THRESHOLD_BYTES = Math.floor(exports.MAX_EVENT_SIZE_BYTES * 0.8);
|
|
53
|
-
exports.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
exports.SSOR_ATTACHMENT = 'ssor_attachment';
|
|
54
|
+
var AirSyncDefaultItemTypes;
|
|
55
|
+
(function (AirSyncDefaultItemTypes) {
|
|
56
|
+
AirSyncDefaultItemTypes["EXTERNAL_DOMAIN_METADATA"] = "external_domain_metadata";
|
|
57
|
+
AirSyncDefaultItemTypes["ATTACHMENTS"] = "attachments";
|
|
58
|
+
AirSyncDefaultItemTypes["EXTERNAL_SYNC_UNITS"] = "external_sync_units";
|
|
59
|
+
})(AirSyncDefaultItemTypes || (exports.AirSyncDefaultItemTypes = AirSyncDefaultItemTypes = {}));
|
|
58
60
|
exports.LIBRARY_VERSION = (0, helpers_1.getLibraryVersion)();
|
|
59
61
|
exports.DEFAULT_LAMBDA_TIMEOUT = 10 * 60 * 1000; // 10 minutes
|
|
60
62
|
exports.HARD_TIMEOUT_MULTIPLIER = 1.3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios-client-internal.d.ts","sourceRoot":"","sources":["../../src/http/axios-client-internal.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,WAAW,+BAEf,CAAC;
|
|
1
|
+
{"version":3,"file":"axios-client-internal.d.ts","sourceRoot":"","sources":["../../src/http/axios-client-internal.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,WAAW,+BAEf,CAAC;AAyFH,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -51,6 +51,13 @@ exports.axiosClient = axiosClient;
|
|
|
51
51
|
((_g = error.response) === null || _g === void 0 ? void 0 : _g.status) !== 429) {
|
|
52
52
|
return true;
|
|
53
53
|
}
|
|
54
|
+
// Request timeout errors (ECONNABORTED) — axios-retry explicitly excludes
|
|
55
|
+
// ECONNABORTED from isNetworkError, so we handle it here separately.
|
|
56
|
+
// Axios only produces ECONNABORTED on client-side timeouts and browser
|
|
57
|
+
// cancellations, never on server responses, so no response guard is needed.
|
|
58
|
+
else if (error.code === 'ECONNABORTED') {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
54
61
|
// all other errors
|
|
55
62
|
else {
|
|
56
63
|
return false;
|
|
@@ -151,4 +151,25 @@ describe('Internal Axios Client', () => {
|
|
|
151
151
|
await expect(axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint')).rejects.toThrow();
|
|
152
152
|
expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(1);
|
|
153
153
|
});
|
|
154
|
+
it('should retry on request timeout (ECONNABORTED)', async () => {
|
|
155
|
+
// The mock server delays the first response by 500ms, but we set a per-request
|
|
156
|
+
// timeout of 150ms so the first request times out with ECONNABORTED.
|
|
157
|
+
// After the 1 timed-out failure, the server responds immediately (no delay),
|
|
158
|
+
// so the retry succeeds quickly without waiting for full exponential backoff.
|
|
159
|
+
jest_setup_1.mockServer.setRoute({
|
|
160
|
+
path: '/test-endpoint',
|
|
161
|
+
method: 'GET',
|
|
162
|
+
status: 200,
|
|
163
|
+
retry: {
|
|
164
|
+
failureCount: 1,
|
|
165
|
+
errorStatus: 200,
|
|
166
|
+
delay: 500,
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
await axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint', {
|
|
170
|
+
timeout: 150,
|
|
171
|
+
});
|
|
172
|
+
// Should have made 2 requests: 1 that timed out + 1 successful retry
|
|
173
|
+
expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(2);
|
|
174
|
+
});
|
|
154
175
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './http';
|
|
|
6
6
|
export * from './types';
|
|
7
7
|
export * from './common/install-initial-domain-mapping';
|
|
8
8
|
export { ExtractionCommonError } from './common/errors';
|
|
9
|
+
export { AirSyncDefaultItemTypes } from './common/constants';
|
|
9
10
|
export { processTask } from './multithreading/process-task';
|
|
10
11
|
export { spawn } from './multithreading/spawn/spawn';
|
|
11
12
|
export { WorkerAdapter } from './multithreading/worker-adapter/worker-adapter';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAExB,cAAc,yCAAyC,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAExB,cAAc,yCAAyC,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAE/E,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.serializeAxiosError = exports.formatAxiosError = exports.WorkerAdapter = exports.spawn = exports.processTask = void 0;
|
|
17
|
+
exports.serializeAxiosError = exports.formatAxiosError = exports.WorkerAdapter = exports.spawn = exports.processTask = exports.AirSyncDefaultItemTypes = void 0;
|
|
18
18
|
__exportStar(require("./deprecated/adapter"), exports);
|
|
19
19
|
__exportStar(require("./deprecated/demo-extractor"), exports);
|
|
20
20
|
__exportStar(require("./deprecated/http/client"), exports);
|
|
@@ -22,6 +22,8 @@ __exportStar(require("./deprecated/uploader"), exports);
|
|
|
22
22
|
__exportStar(require("./http"), exports);
|
|
23
23
|
__exportStar(require("./types"), exports);
|
|
24
24
|
__exportStar(require("./common/install-initial-domain-mapping"), exports);
|
|
25
|
+
var constants_1 = require("./common/constants");
|
|
26
|
+
Object.defineProperty(exports, "AirSyncDefaultItemTypes", { enumerable: true, get: function () { return constants_1.AirSyncDefaultItemTypes; } });
|
|
25
27
|
var process_task_1 = require("./multithreading/process-task");
|
|
26
28
|
Object.defineProperty(exports, "processTask", { enumerable: true, get: function () { return process_task_1.processTask; } });
|
|
27
29
|
var spawn_1 = require("./multithreading/spawn/spawn");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-task.d.ts","sourceRoot":"","sources":["../../src/multithreading/process-task.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,oBAAoB,EAGrB,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,WAAW,CAAC,cAAc,EAAE,EAC1C,IAAI,EACJ,SAAS,GACV,EAAE,oBAAoB,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"process-task.d.ts","sourceRoot":"","sources":["../../src/multithreading/process-task.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,oBAAoB,EAGrB,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,WAAW,CAAC,cAAc,EAAE,EAC1C,IAAI,EACJ,SAAS,GACV,EAAE,oBAAoB,CAAC,cAAc,CAAC,QA4DtC"}
|
|
@@ -48,7 +48,12 @@ function processTask({ task, onTimeout, }) {
|
|
|
48
48
|
process.exit(0);
|
|
49
49
|
}
|
|
50
50
|
catch (error) {
|
|
51
|
-
|
|
51
|
+
const errorMessage = `Error while processing task. ${(0, logger_1.serializeError)(error)}`;
|
|
52
|
+
console.error(errorMessage);
|
|
53
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
54
|
+
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
55
|
+
payload: { message: errorMessage },
|
|
56
|
+
});
|
|
52
57
|
process.exit(1);
|
|
53
58
|
}
|
|
54
59
|
});
|
|
@@ -24,6 +24,7 @@ export declare class Spawn {
|
|
|
24
24
|
private resolve;
|
|
25
25
|
private originalConsole;
|
|
26
26
|
private logger;
|
|
27
|
+
private workerFailedMessage;
|
|
27
28
|
constructor({ event, worker, options, resolve, originalConsole, }: SpawnInterface);
|
|
28
29
|
private clearTimeouts;
|
|
29
30
|
private exitFromMainThread;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/multithreading/spawn/spawn.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,qBAAqB,EACrB,cAAc,EAGf,MAAM,qBAAqB,CAAC;AA+C7B;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,cAAc,EAAE,EAC1C,KAAK,EACL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,GACf,EAAE,qBAAqB,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFvD;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,wBAAwB,CAA6C;IAC7E,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,MAAM,CAAS;
|
|
1
|
+
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/multithreading/spawn/spawn.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,qBAAqB,EACrB,cAAc,EAGf,MAAM,qBAAqB,CAAC;AA+C7B;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,cAAc,EAAE,EAC1C,KAAK,EACL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,GACf,EAAE,qBAAqB,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFvD;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,wBAAwB,CAA6C;IAC7E,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,mBAAmB,CAAqB;gBACpC,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,eAAe,GAChB,EAAE,cAAc;IAiHjB,OAAO,CAAC,aAAa;YAYP,kBAAkB;CAoCjC"}
|
|
@@ -189,7 +189,7 @@ class Spawn {
|
|
|
189
189
|
}
|
|
190
190
|
});
|
|
191
191
|
worker.on(workers_1.WorkerEvent.WorkerMessage, (message) => {
|
|
192
|
-
var _a, _b, _c, _d;
|
|
192
|
+
var _a, _b, _c, _d, _e;
|
|
193
193
|
// Since logs from the worker thread are handled differently in snap-in
|
|
194
194
|
// platform, we need to catch the log messages from worker thread and log
|
|
195
195
|
// them in main thread.
|
|
@@ -204,6 +204,10 @@ class Spawn {
|
|
|
204
204
|
console.info('Worker has emitted message to ADaaS.');
|
|
205
205
|
this.alreadyEmitted = true;
|
|
206
206
|
}
|
|
207
|
+
// If worker sends a failure message before exiting, capture it for use in the error event.
|
|
208
|
+
if ((message === null || message === void 0 ? void 0 : message.subject) === workers_1.WorkerMessageSubject.WorkerMessageFailed) {
|
|
209
|
+
this.workerFailedMessage = (_e = message.payload) === null || _e === void 0 ? void 0 : _e.message;
|
|
210
|
+
}
|
|
207
211
|
});
|
|
208
212
|
// Log memory usage every 30 seconds
|
|
209
213
|
this.memoryMonitoringInterval = setInterval(() => {
|
|
@@ -250,7 +254,9 @@ class Spawn {
|
|
|
250
254
|
event: this.event,
|
|
251
255
|
data: {
|
|
252
256
|
error: {
|
|
253
|
-
message:
|
|
257
|
+
message: `Worker exited without emitting event. ${this.workerFailedMessage
|
|
258
|
+
? `Error: ${this.workerFailedMessage}`
|
|
259
|
+
: 'Check the logs for more information.'}`,
|
|
254
260
|
},
|
|
255
261
|
},
|
|
256
262
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const constants_1 = require("../../common/constants");
|
|
3
4
|
const state_1 = require("../../state/state");
|
|
4
5
|
const test_helpers_1 = require("../../tests/test-helpers");
|
|
5
6
|
const types_1 = require("../../types");
|
|
@@ -125,3 +126,46 @@ describe('Artifact ordering when artifacts overflow batch sizes in repositories'
|
|
|
125
126
|
expect(checkArtifactOrder(artifacts, repos)).toBe(true);
|
|
126
127
|
});
|
|
127
128
|
});
|
|
129
|
+
describe('External sync units splitting into artifacts', () => {
|
|
130
|
+
let testAdapter;
|
|
131
|
+
beforeEach(() => {
|
|
132
|
+
const mockEvent = (0, test_helpers_1.createEvent)({
|
|
133
|
+
eventType: types_1.EventType.StartExtractingExternalSyncUnits,
|
|
134
|
+
});
|
|
135
|
+
const mockAdapterState = new state_1.State({
|
|
136
|
+
event: mockEvent,
|
|
137
|
+
initialState: {},
|
|
138
|
+
});
|
|
139
|
+
testAdapter = new worker_adapter_1.WorkerAdapter({
|
|
140
|
+
event: mockEvent,
|
|
141
|
+
adapterState: mockAdapterState,
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
it('should split 125k external sync units into 5 artifacts', async () => {
|
|
145
|
+
const BATCH_SIZE = 25000;
|
|
146
|
+
const TOTAL_UNITS = 125000;
|
|
147
|
+
const externalSyncUnits = Array.from({ length: TOTAL_UNITS }, (_, i) => ({
|
|
148
|
+
id: String(i),
|
|
149
|
+
name: `Unit ${i}`,
|
|
150
|
+
description: `Description ${i}`,
|
|
151
|
+
}));
|
|
152
|
+
testAdapter.initializeRepos([
|
|
153
|
+
{
|
|
154
|
+
itemType: constants_1.AirSyncDefaultItemTypes.EXTERNAL_SYNC_UNITS,
|
|
155
|
+
overridenOptions: {
|
|
156
|
+
batchSize: BATCH_SIZE,
|
|
157
|
+
skipConfirmation: true,
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
]);
|
|
161
|
+
const repo = testAdapter.getRepo(constants_1.AirSyncDefaultItemTypes.EXTERNAL_SYNC_UNITS);
|
|
162
|
+
const chunkSize = 10000;
|
|
163
|
+
for (let i = 0; i < TOTAL_UNITS; i += chunkSize) {
|
|
164
|
+
await (repo === null || repo === void 0 ? void 0 : repo.push(externalSyncUnits.slice(i, i + chunkSize)));
|
|
165
|
+
}
|
|
166
|
+
await testAdapter.uploadAllRepos();
|
|
167
|
+
expect(testAdapter.artifacts.length).toBe(TOTAL_UNITS / BATCH_SIZE // 5
|
|
168
|
+
);
|
|
169
|
+
expect(testAdapter.artifacts.every((a) => a.item_type === constants_1.AirSyncDefaultItemTypes.EXTERNAL_SYNC_UNITS)).toBe(true);
|
|
170
|
+
});
|
|
171
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-adapter.d.ts","sourceRoot":"","sources":["../../../src/multithreading/worker-adapter/worker-adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-adapter.d.ts","sourceRoot":"","sources":["../../../src/multithreading/worker-adapter/worker-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,12 +83,12 @@ class WorkerAdapter {
|
|
|
83
83
|
}
|
|
84
84
|
initializeRepos(repos) {
|
|
85
85
|
this.repos = repos.map((repo) => {
|
|
86
|
-
const shouldNormalize = repo.itemType !== constants_1.
|
|
87
|
-
repo.itemType !== constants_1.
|
|
86
|
+
const shouldNormalize = repo.itemType !== constants_1.AirSyncDefaultItemTypes.EXTERNAL_DOMAIN_METADATA &&
|
|
87
|
+
repo.itemType !== constants_1.SSOR_ATTACHMENT;
|
|
88
88
|
return new repo_1.Repo(Object.assign(Object.assign({ event: this.event, itemType: repo.itemType }, (shouldNormalize && { normalize: repo.normalize })), { onUpload: (artifact) => {
|
|
89
89
|
var _a;
|
|
90
90
|
// We need to store artifacts ids in state for later use when streaming attachments
|
|
91
|
-
if (repo.itemType === constants_1.
|
|
91
|
+
if (repo.itemType === constants_1.AirSyncDefaultItemTypes.ATTACHMENTS) {
|
|
92
92
|
(_a = this.state.toDevRev) === null || _a === void 0 ? void 0 : _a.attachmentsMetadata.artifactIds.push(artifact.id);
|
|
93
93
|
}
|
|
94
94
|
// Calculate size of the entire artifact object that goes in the SQS message
|
|
@@ -97,7 +97,7 @@ class WorkerAdapter {
|
|
|
97
97
|
!this.isTimeout) {
|
|
98
98
|
this.isTimeout = true;
|
|
99
99
|
}
|
|
100
|
-
}, options: this.options }));
|
|
100
|
+
}, options: Object.assign(Object.assign({}, this.options), repo.overridenOptions) }));
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
getRepo(itemType) {
|
|
@@ -131,24 +131,41 @@ class WorkerAdapter {
|
|
|
131
131
|
*/
|
|
132
132
|
async emit(newEventType, data) {
|
|
133
133
|
return (0, logger_context_1.runWithSdkLogContext)(async () => {
|
|
134
|
-
var _a;
|
|
134
|
+
var _a, _b;
|
|
135
135
|
newEventType = (0, event_type_translation_1.translateOutgoingEventType)(newEventType);
|
|
136
136
|
if (this.hasWorkerEmitted) {
|
|
137
137
|
console.warn(`Trying to emit event with event type: ${newEventType}. Ignoring emit request because it has already been emitted.`);
|
|
138
138
|
return;
|
|
139
139
|
}
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
140
|
+
// If the event is ExternalSyncUnitExtractionDone, upload external sync units via a Repo before emitting
|
|
141
|
+
// TODO: Remove in v2.0.0
|
|
142
|
+
if (newEventType === extraction_1.ExtractorEventType.ExternalSyncUnitExtractionDone &&
|
|
143
|
+
(data === null || data === void 0 ? void 0 : data.external_sync_units) &&
|
|
144
|
+
data.external_sync_units.length > 0) {
|
|
145
|
+
console.log(`Uploading ${data.external_sync_units.length} external sync units via repo before emitting event.`);
|
|
146
|
+
this.initializeRepos([
|
|
147
|
+
{
|
|
148
|
+
itemType: constants_1.AirSyncDefaultItemTypes.EXTERNAL_SYNC_UNITS,
|
|
149
|
+
overridenOptions: {
|
|
150
|
+
batchSize: 25000,
|
|
151
|
+
skipConfirmation: true,
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
]);
|
|
155
|
+
await ((_a = this.getRepo(constants_1.AirSyncDefaultItemTypes.EXTERNAL_SYNC_UNITS)) === null || _a === void 0 ? void 0 : _a.push(data.external_sync_units));
|
|
156
|
+
// Remove inline external_sync_units from data to avoid SQS size issues
|
|
157
|
+
delete data.external_sync_units;
|
|
158
|
+
}
|
|
159
|
+
// Upload all repos before emitting the event
|
|
160
|
+
console.log(`Uploading all repos before emitting event with event type: ${newEventType}.`);
|
|
161
|
+
try {
|
|
162
|
+
await this.uploadAllRepos();
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
console.error('Error while uploading repos', error);
|
|
166
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
|
|
167
|
+
this.hasWorkerEmitted = true;
|
|
168
|
+
return;
|
|
152
169
|
}
|
|
153
170
|
// If the extraction is done, we want to save the timestamp of the last successful sync
|
|
154
171
|
if (newEventType === extraction_1.ExtractorEventType.AttachmentExtractionDone) {
|
|
@@ -171,7 +188,7 @@ class WorkerAdapter {
|
|
|
171
188
|
}
|
|
172
189
|
try {
|
|
173
190
|
// Always prune error messages to make them shorter before emit
|
|
174
|
-
if ((
|
|
191
|
+
if ((_b = data === null || data === void 0 ? void 0 : data.error) === null || _b === void 0 ? void 0 : _b.message) {
|
|
175
192
|
data.error.message = (0, helpers_1.truncateMessage)(data.error.message);
|
|
176
193
|
}
|
|
177
194
|
await (0, control_protocol_1.emit)({
|
|
@@ -535,7 +552,9 @@ class WorkerAdapter {
|
|
|
535
552
|
return { delay };
|
|
536
553
|
}
|
|
537
554
|
if (httpStream) {
|
|
538
|
-
const fileType =
|
|
555
|
+
const fileType = attachment.content_type ||
|
|
556
|
+
httpStream.headers['content-type'] ||
|
|
557
|
+
'application/octet-stream';
|
|
539
558
|
const fileSize = httpStream.headers['content-length']
|
|
540
559
|
? parseInt(httpStream.headers['content-length'])
|
|
541
560
|
: undefined;
|
|
@@ -394,6 +394,96 @@ describe(worker_adapter_1.WorkerAdapter.name, () => {
|
|
|
394
394
|
expect(adapter.state.toDevRev.attachmentsMetadata.lastProcessed).toBe(0);
|
|
395
395
|
});
|
|
396
396
|
});
|
|
397
|
+
describe(worker_adapter_1.WorkerAdapter.prototype.processAttachment.name, () => {
|
|
398
|
+
const createMockHttpStream = (headers = {}) => ({
|
|
399
|
+
headers,
|
|
400
|
+
data: { destroy: jest.fn() },
|
|
401
|
+
});
|
|
402
|
+
beforeEach(() => {
|
|
403
|
+
adapter.initializeRepos([{ itemType: 'ssor_attachment' }]);
|
|
404
|
+
const mockRepo = { push: jest.fn().mockResolvedValue(undefined) };
|
|
405
|
+
adapter.getRepo = jest.fn().mockReturnValue(mockRepo);
|
|
406
|
+
});
|
|
407
|
+
it('should use attachment.content_type when provided, ignoring HTTP header', async () => {
|
|
408
|
+
const mockStream = jest.fn().mockResolvedValue({
|
|
409
|
+
httpStream: createMockHttpStream({
|
|
410
|
+
'content-type': 'text/plain',
|
|
411
|
+
'content-length': '100',
|
|
412
|
+
}),
|
|
413
|
+
});
|
|
414
|
+
adapter['uploader'].getArtifactUploadUrl = jest
|
|
415
|
+
.fn()
|
|
416
|
+
.mockResolvedValue({
|
|
417
|
+
response: { artifact_id: 'art_1', upload_url: 'https://upload', form_data: [] },
|
|
418
|
+
});
|
|
419
|
+
adapter['uploader'].streamArtifact = jest
|
|
420
|
+
.fn()
|
|
421
|
+
.mockResolvedValue({ response: {} });
|
|
422
|
+
adapter['uploader'].confirmArtifactUpload = jest
|
|
423
|
+
.fn()
|
|
424
|
+
.mockResolvedValue({ response: {} });
|
|
425
|
+
const attachment = {
|
|
426
|
+
id: 'att-1',
|
|
427
|
+
url: 'https://example.com/file.pdf',
|
|
428
|
+
file_name: 'file.pdf',
|
|
429
|
+
parent_id: 'parent-1',
|
|
430
|
+
content_type: 'application/pdf',
|
|
431
|
+
};
|
|
432
|
+
await adapter.processAttachment(attachment, mockStream);
|
|
433
|
+
expect(adapter['uploader'].getArtifactUploadUrl).toHaveBeenCalledWith('file.pdf', 'application/pdf', 100);
|
|
434
|
+
});
|
|
435
|
+
it('should use HTTP header content-type when attachment.content_type is not set', async () => {
|
|
436
|
+
const mockStream = jest.fn().mockResolvedValue({
|
|
437
|
+
httpStream: createMockHttpStream({
|
|
438
|
+
'content-type': 'image/jpeg',
|
|
439
|
+
'content-length': '200',
|
|
440
|
+
}),
|
|
441
|
+
});
|
|
442
|
+
adapter['uploader'].getArtifactUploadUrl = jest
|
|
443
|
+
.fn()
|
|
444
|
+
.mockResolvedValue({
|
|
445
|
+
response: { artifact_id: 'art_2', upload_url: 'https://upload', form_data: [] },
|
|
446
|
+
});
|
|
447
|
+
adapter['uploader'].streamArtifact = jest
|
|
448
|
+
.fn()
|
|
449
|
+
.mockResolvedValue({ response: {} });
|
|
450
|
+
adapter['uploader'].confirmArtifactUpload = jest
|
|
451
|
+
.fn()
|
|
452
|
+
.mockResolvedValue({ response: {} });
|
|
453
|
+
const attachment = {
|
|
454
|
+
id: 'att-2',
|
|
455
|
+
url: 'https://example.com/photo.jpg',
|
|
456
|
+
file_name: 'photo.jpg',
|
|
457
|
+
parent_id: 'parent-2',
|
|
458
|
+
};
|
|
459
|
+
await adapter.processAttachment(attachment, mockStream);
|
|
460
|
+
expect(adapter['uploader'].getArtifactUploadUrl).toHaveBeenCalledWith('photo.jpg', 'image/jpeg', 200);
|
|
461
|
+
});
|
|
462
|
+
it('should fall back to application/octet-stream when neither content_type nor HTTP header is set', async () => {
|
|
463
|
+
const mockStream = jest.fn().mockResolvedValue({
|
|
464
|
+
httpStream: createMockHttpStream({}),
|
|
465
|
+
});
|
|
466
|
+
adapter['uploader'].getArtifactUploadUrl = jest
|
|
467
|
+
.fn()
|
|
468
|
+
.mockResolvedValue({
|
|
469
|
+
response: { artifact_id: 'art_3', upload_url: 'https://upload', form_data: [] },
|
|
470
|
+
});
|
|
471
|
+
adapter['uploader'].streamArtifact = jest
|
|
472
|
+
.fn()
|
|
473
|
+
.mockResolvedValue({ response: {} });
|
|
474
|
+
adapter['uploader'].confirmArtifactUpload = jest
|
|
475
|
+
.fn()
|
|
476
|
+
.mockResolvedValue({ response: {} });
|
|
477
|
+
const attachment = {
|
|
478
|
+
id: 'att-3',
|
|
479
|
+
url: 'https://example.com/file.bin',
|
|
480
|
+
file_name: 'file.bin',
|
|
481
|
+
parent_id: 'parent-3',
|
|
482
|
+
};
|
|
483
|
+
await adapter.processAttachment(attachment, mockStream);
|
|
484
|
+
expect(adapter['uploader'].getArtifactUploadUrl).toHaveBeenCalledWith('file.bin', 'application/octet-stream', undefined);
|
|
485
|
+
});
|
|
486
|
+
});
|
|
397
487
|
describe(worker_adapter_1.WorkerAdapter.prototype.emit.name, () => {
|
|
398
488
|
let counter;
|
|
399
489
|
let mockPostMessage;
|
package/dist/repo/repo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/repo/repo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/repo/repo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAG3D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,IAAI;IACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,SAAS,CAAC,CAAwD;IAC1E,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAAC,CAAuB;IAChC,iBAAiB,EAAE,QAAQ,EAAE,CAAC;gBAEzB,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,GACR,EAAE,oBAAoB;IAUvB,QAAQ,IAAI,CAAC,cAAc,GAAG,oBAAoB,GAAG,IAAI,CAAC,EAAE;IAItD,MAAM,CACV,KAAK,CAAC,EAAE,CAAC,cAAc,GAAG,oBAAoB,GAAG,IAAI,CAAC,EAAE,GACvD,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;IAqCxB,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAuC5C"}
|
|
@@ -7,6 +7,7 @@ import { WorkerAdapterOptions } from '../types/workers';
|
|
|
7
7
|
export interface RepoInterface {
|
|
8
8
|
itemType: string;
|
|
9
9
|
normalize?: (record: object) => NormalizedItem | NormalizedAttachment;
|
|
10
|
+
overridenOptions?: WorkerAdapterOptions;
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
* RepoFactoryInterface is an interface that defines the structure of a repo factory which is used to create a repo.
|
|
@@ -37,6 +38,7 @@ export interface NormalizedAttachment {
|
|
|
37
38
|
parent_id: string;
|
|
38
39
|
author_id?: string;
|
|
39
40
|
inline?: boolean;
|
|
41
|
+
content_type?: string;
|
|
40
42
|
grand_parent_id?: number | string;
|
|
41
43
|
}
|
|
42
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.interfaces.d.ts","sourceRoot":"","sources":["../../src/repo/repo.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"repo.interfaces.d.ts","sourceRoot":"","sources":["../../src/repo/repo.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC;IACtE,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC;IACtE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAED;;GAEG;AAEH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC"}
|
package/dist/repo/repo.js
CHANGED
|
@@ -46,8 +46,8 @@ class Repo {
|
|
|
46
46
|
}
|
|
47
47
|
// Normalize items if needed
|
|
48
48
|
if (this.normalize &&
|
|
49
|
-
this.itemType != constants_1.
|
|
50
|
-
this.itemType != constants_1.
|
|
49
|
+
this.itemType != constants_1.AirSyncDefaultItemTypes.EXTERNAL_DOMAIN_METADATA &&
|
|
50
|
+
this.itemType != constants_1.SSOR_ATTACHMENT) {
|
|
51
51
|
recordsToPush = items.map((item) => this.normalize(item));
|
|
52
52
|
}
|
|
53
53
|
else {
|
package/dist/repo/repo.test.js
CHANGED
|
@@ -45,7 +45,7 @@ describe(repo_1.Repo.name, () => {
|
|
|
45
45
|
it('should not normalize items when item type is external_domain_metadata', async () => {
|
|
46
46
|
repo = new repo_1.Repo({
|
|
47
47
|
event: (0, test_helpers_1.createEvent)({ eventType: types_1.EventType.ExtractionDataStart }),
|
|
48
|
-
itemType: constants_1.
|
|
48
|
+
itemType: constants_1.AirSyncDefaultItemTypes.EXTERNAL_DOMAIN_METADATA,
|
|
49
49
|
normalize,
|
|
50
50
|
onUpload: jest.fn(),
|
|
51
51
|
options: {},
|
|
@@ -57,7 +57,7 @@ describe(repo_1.Repo.name, () => {
|
|
|
57
57
|
it('should not normalize items when item type is ssor_attachment', async () => {
|
|
58
58
|
repo = new repo_1.Repo({
|
|
59
59
|
event: (0, test_helpers_1.createEvent)({ eventType: types_1.EventType.ExtractionDataStart }),
|
|
60
|
-
itemType: constants_1.
|
|
60
|
+
itemType: constants_1.SSOR_ATTACHMENT,
|
|
61
61
|
normalize,
|
|
62
62
|
onUpload: jest.fn(),
|
|
63
63
|
options: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state/state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state/state.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,YAAY,EAIZ,cAAc,EACf,MAAM,oBAAoB,CAAC;AAE5B,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,EACvD,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,OAAO,GACR,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CA8DjE;AAED,qBAAa,KAAK,CAAC,cAAc;IAC/B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,CAAC,cAAc,CAAC;IAenE,IAAI,KAAK,IAAI,YAAY,CAAC,cAAc,CAAC,CAExC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,EAE5C;IAED;;;;OAIG;IACG,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCvD;;;OAGG;IACG,SAAS,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC;IAqDpD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAkBpC"}
|
package/dist/state/state.js
CHANGED
|
@@ -6,12 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.State = void 0;
|
|
7
7
|
exports.createAdapterState = createAdapterState;
|
|
8
8
|
const axios_1 = __importDefault(require("axios"));
|
|
9
|
+
const node_worker_threads_1 = require("node:worker_threads");
|
|
9
10
|
const constants_1 = require("../common/constants");
|
|
10
11
|
const install_initial_domain_mapping_1 = require("../common/install-initial-domain-mapping");
|
|
11
12
|
const axios_client_internal_1 = require("../http/axios-client-internal");
|
|
12
13
|
const logger_1 = require("../logger/logger");
|
|
13
14
|
const common_1 = require("../types/common");
|
|
14
15
|
const extraction_1 = require("../types/extraction");
|
|
16
|
+
const workers_1 = require("../types/workers");
|
|
15
17
|
const state_interfaces_1 = require("./state.interfaces");
|
|
16
18
|
async function createAdapterState({ event, initialState, initialDomainMapping, options, }) {
|
|
17
19
|
// Deep clone the initial state to avoid mutating the original state
|
|
@@ -43,7 +45,12 @@ async function createAdapterState({ event, initialState, initialDomainMapping, o
|
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
catch (error) {
|
|
46
|
-
|
|
48
|
+
const errorMessage = `Error while installing initial domain mapping. ${(0, logger_1.serializeError)(error)}`;
|
|
49
|
+
console.error(errorMessage);
|
|
50
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
51
|
+
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
52
|
+
payload: { message: errorMessage },
|
|
53
|
+
});
|
|
47
54
|
process.exit(1);
|
|
48
55
|
}
|
|
49
56
|
}
|
|
@@ -104,7 +111,12 @@ class State {
|
|
|
104
111
|
await this.postState(initialAdapterState);
|
|
105
112
|
}
|
|
106
113
|
else {
|
|
107
|
-
|
|
114
|
+
const errorMessage = `Failed to init state. ${(0, logger_1.serializeError)(error)}`;
|
|
115
|
+
console.error(errorMessage);
|
|
116
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
117
|
+
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
118
|
+
payload: { message: errorMessage },
|
|
119
|
+
});
|
|
108
120
|
process.exit(1);
|
|
109
121
|
}
|
|
110
122
|
}
|
|
@@ -121,7 +133,12 @@ class State {
|
|
|
121
133
|
stringifiedState = JSON.stringify(this.state);
|
|
122
134
|
}
|
|
123
135
|
catch (error) {
|
|
124
|
-
|
|
136
|
+
const errorMessage = `Failed to stringify state. ${(0, logger_1.serializeError)(error)}`;
|
|
137
|
+
console.error(errorMessage);
|
|
138
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
139
|
+
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
140
|
+
payload: { message: errorMessage },
|
|
141
|
+
});
|
|
125
142
|
process.exit(1);
|
|
126
143
|
}
|
|
127
144
|
try {
|
|
@@ -139,7 +156,12 @@ class State {
|
|
|
139
156
|
console.log('State updated successfully to', (0, logger_1.getPrintableState)(this.state));
|
|
140
157
|
}
|
|
141
158
|
catch (error) {
|
|
142
|
-
|
|
159
|
+
const errorMessage = `Failed to update the state. ${(0, logger_1.serializeError)(error)}`;
|
|
160
|
+
console.error(errorMessage);
|
|
161
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
162
|
+
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
163
|
+
payload: { message: errorMessage },
|
|
164
|
+
});
|
|
143
165
|
process.exit(1);
|
|
144
166
|
}
|
|
145
167
|
}
|
|
@@ -288,6 +288,10 @@ export interface ConnectionData {
|
|
|
288
288
|
* EventData is an interface that defines the structure of the event data that is sent from the external extractor to ADaaS.
|
|
289
289
|
*/
|
|
290
290
|
export interface EventData {
|
|
291
|
+
/**
|
|
292
|
+
* @deprecated This field is deprecated and should not be used. External sync units should be pushed to the AirSyncDefaultItemTypes.EXTERNAL_SYNC_UNITS repo.
|
|
293
|
+
*
|
|
294
|
+
*/
|
|
291
295
|
external_sync_units?: ExternalSyncUnit[];
|
|
292
296
|
/**
|
|
293
297
|
* @deprecated This field is deprecated and should not be used. Progress is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/types/extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/types/extraction.ts"],"names":[],"mappings":"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"}
|
package/dist/types/workers.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export interface WorkerAdapterOptions {
|
|
|
32
32
|
timeout?: number;
|
|
33
33
|
batchSize?: number;
|
|
34
34
|
workerPathOverrides?: WorkerPathOverrides;
|
|
35
|
+
skipConfirmation?: boolean;
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
38
|
* SpawnInterface is an interface for Spawn class.
|
|
@@ -105,7 +106,8 @@ export declare enum WorkerEvent {
|
|
|
105
106
|
export declare enum WorkerMessageSubject {
|
|
106
107
|
WorkerMessageEmitted = "emit",
|
|
107
108
|
WorkerMessageExit = "exit",
|
|
108
|
-
WorkerMessageLog = "log"
|
|
109
|
+
WorkerMessageLog = "log",
|
|
110
|
+
WorkerMessageFailed = "failed"
|
|
109
111
|
}
|
|
110
112
|
/**
|
|
111
113
|
* WorkerMessageEmitted interface represents the structure of the emitted worker message.
|
|
@@ -133,10 +135,21 @@ export interface WorkerMessageLog {
|
|
|
133
135
|
isSdkLog?: boolean;
|
|
134
136
|
};
|
|
135
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* WorkerMessageFailed interface represents the structure of the worker failed message.
|
|
140
|
+
* Sent from the worker thread before calling process.exit(1) to convey the specific
|
|
141
|
+
* error reason to the main thread.
|
|
142
|
+
*/
|
|
143
|
+
export interface WorkerMessageFailed {
|
|
144
|
+
subject: WorkerMessageSubject.WorkerMessageFailed;
|
|
145
|
+
payload: {
|
|
146
|
+
message: string;
|
|
147
|
+
};
|
|
148
|
+
}
|
|
136
149
|
/**
|
|
137
150
|
* WorkerMessage represents the structure of the worker message.
|
|
138
151
|
*/
|
|
139
|
-
export type WorkerMessage = WorkerMessageEmitted | WorkerMessageExit | WorkerMessageLog;
|
|
152
|
+
export type WorkerMessage = WorkerMessageEmitted | WorkerMessageExit | WorkerMessageLog | WorkerMessageFailed;
|
|
140
153
|
/**
|
|
141
154
|
* WorkerData represents the structure of the worker data object.
|
|
142
155
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/types/workers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB,CAAC,cAAc;IACpD,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/types/workers.ts"],"names":[],"mappings":"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"}
|
package/dist/types/workers.js
CHANGED
|
@@ -19,4 +19,5 @@ var WorkerMessageSubject;
|
|
|
19
19
|
WorkerMessageSubject["WorkerMessageEmitted"] = "emit";
|
|
20
20
|
WorkerMessageSubject["WorkerMessageExit"] = "exit";
|
|
21
21
|
WorkerMessageSubject["WorkerMessageLog"] = "log";
|
|
22
|
+
WorkerMessageSubject["WorkerMessageFailed"] = "failed";
|
|
22
23
|
})(WorkerMessageSubject || (exports.WorkerMessageSubject = WorkerMessageSubject = {}));
|
|
@@ -7,6 +7,7 @@ export declare class Uploader {
|
|
|
7
7
|
private devrevApiToken;
|
|
8
8
|
private requestId;
|
|
9
9
|
private defaultHeaders;
|
|
10
|
+
private skipConfirmation;
|
|
10
11
|
constructor({ event, options }: UploaderFactoryInterface);
|
|
11
12
|
/**
|
|
12
13
|
* Uploads the fetched objects to the DevRev platform. Fetched objects are compressed to a gzipped jsonl object and uploaded to the platform.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/uploader/uploader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAU/D,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,QAAQ;IACnB,OAAO,CAAC,kBAAkB,CAAC,CAAU;IACrC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAyB;
|
|
1
|
+
{"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/uploader/uploader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAU/D,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,QAAQ;IACnB,OAAO,CAAC,kBAAkB,CAAC,CAAU;IACrC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAU;gBAEtB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAWxD;;;;;OAKG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,GAChC,OAAO,CAAC,cAAc,CAAC;IA4E1B;;;;;;OAMG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IA2B5C;;;;;OAKG;IACG,cAAc,CAClB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAmBzC;;;;;OAKG;IACG,cAAc,CAClB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,aAAa,GACxB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IA8BzC;;;;OAIG;IACG,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QACvD,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAiCF;;;OAGG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;OAKG;IACG,4BAA4B,CAAC,EACjC,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACrC,KAAK,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7B,CAAC;IA2DF;;;;OAIG;YACW,sBAAsB;IAsBpC;;;;OAIG;YACW,gBAAgB;IAc9B;;;;;;OAMG;IACG,yBAAyB,CAAC,EAC9B,UAAU,EACV,SAAiB,GAClB,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;CA6B/C"}
|
|
@@ -12,10 +12,12 @@ const logger_1 = require("../logger/logger");
|
|
|
12
12
|
const uploader_helpers_1 = require("./uploader.helpers");
|
|
13
13
|
class Uploader {
|
|
14
14
|
constructor({ event, options }) {
|
|
15
|
+
var _a;
|
|
15
16
|
this.devrevApiEndpoint = event.execution_metadata.devrev_endpoint;
|
|
16
17
|
this.devrevApiToken = event.context.secrets.service_account_token;
|
|
17
18
|
this.requestId = event.payload.event_context.request_id;
|
|
18
19
|
this.isLocalDevelopment = options === null || options === void 0 ? void 0 : options.isLocalDevelopment;
|
|
20
|
+
this.skipConfirmation = (_a = options === null || options === void 0 ? void 0 : options.skipConfirmation) !== null && _a !== void 0 ? _a : false;
|
|
19
21
|
this.defaultHeaders = {
|
|
20
22
|
Authorization: `Bearer ${this.devrevApiToken}`,
|
|
21
23
|
};
|
|
@@ -62,15 +64,19 @@ class Uploader {
|
|
|
62
64
|
},
|
|
63
65
|
};
|
|
64
66
|
}
|
|
65
|
-
//
|
|
66
|
-
|
|
67
|
-
if (
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
// Skip confirmation for External Sync Units, as this confirmation attachments
|
|
68
|
+
// uploads to the sync, which we haven't created yet when extracting External Sync Units.
|
|
69
|
+
if (!this.skipConfirmation) {
|
|
70
|
+
// Confirm upload
|
|
71
|
+
const { error: confirmArtifactUploadError } = await this.confirmArtifactUpload(preparedArtifact.artifact_id);
|
|
72
|
+
if (confirmArtifactUploadError) {
|
|
73
|
+
return {
|
|
74
|
+
error: {
|
|
75
|
+
message: 'Error while confirming artifact upload. ' +
|
|
76
|
+
JSON.stringify(confirmArtifactUploadError),
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
74
80
|
}
|
|
75
81
|
// Return the artifact information to the platform
|
|
76
82
|
const artifact = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devrev/ts-adaas",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.1-beta.1",
|
|
4
4
|
"description": "Typescript library containing the ADaaS(AirDrop as a Service) control protocol.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -34,12 +34,11 @@
|
|
|
34
34
|
"@types/jest": "^29.5.14",
|
|
35
35
|
"@types/node": "^22.18.0",
|
|
36
36
|
"@types/yargs": "^17.0.33",
|
|
37
|
-
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
|
38
|
-
"@typescript-eslint/parser": "^8.46.0",
|
|
39
37
|
"ajv": "^8.18.0",
|
|
40
38
|
"eslint": "9.32.0",
|
|
41
39
|
"eslint-config-prettier": "^9.1.2",
|
|
42
40
|
"eslint-plugin-prettier": "4.0.0",
|
|
41
|
+
"express": "^5.2.1",
|
|
43
42
|
"jest": "^29.7.0",
|
|
44
43
|
"jiti": "^2.6.1",
|
|
45
44
|
"prettier": "^2.8.3",
|
|
@@ -51,7 +50,6 @@
|
|
|
51
50
|
"@devrev/typescript-sdk": "^1.1.59",
|
|
52
51
|
"axios": "^1.13.5",
|
|
53
52
|
"axios-retry": "^4.5.0",
|
|
54
|
-
"express": "^5.2.1",
|
|
55
53
|
"form-data": "^4.0.4",
|
|
56
54
|
"js-jsonl": "^1.1.1",
|
|
57
55
|
"ts-node": "^10.9.2",
|