@devrev/ts-adaas 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/control-protocol.js +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/logger/logger.d.ts +4 -3
- package/dist/logger/logger.interfaces.d.ts +6 -0
- package/dist/logger/logger.js +12 -4
- package/dist/types/index.d.ts +1 -1
- package/dist/types/workers.d.ts +3 -2
- package/dist/workers/create-worker.js +7 -4
- package/dist/workers/process-task.js +1 -1
- package/dist/workers/spawn.js +6 -5
- package/dist/workers/worker-adapter.d.ts +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ const emit = async ({ event, eventType, data, }) => {
|
|
|
15
15
|
event_data: Object.assign({}, data),
|
|
16
16
|
};
|
|
17
17
|
return new Promise(async (resolve, reject) => {
|
|
18
|
-
console.info('Emitting event', newEvent);
|
|
18
|
+
console.info('Emitting event', JSON.stringify(newEvent));
|
|
19
19
|
try {
|
|
20
20
|
await axios_1.default.post(event.payload.event_context.callback_url, Object.assign({}, newEvent), {
|
|
21
21
|
headers: {
|
|
@@ -34,7 +34,7 @@ const emit = async ({ event, eventType, data, }) => {
|
|
|
34
34
|
// TODO: Stop it through UI or think about retrying this request. Implement exponential retry mechanism.
|
|
35
35
|
console.error(`Failed to emit event with event type ${eventType}.`, error);
|
|
36
36
|
}
|
|
37
|
-
reject(
|
|
37
|
+
reject();
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
};
|
package/dist/index.d.ts
CHANGED
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.spawn = exports.processTask = exports.WorkerAdapter = void 0;
|
|
17
|
+
exports.formatAxiosError = exports.spawn = exports.processTask = exports.WorkerAdapter = void 0;
|
|
18
18
|
__exportStar(require("./deprecated/adapter"), exports);
|
|
19
19
|
__exportStar(require("./deprecated/demo-extractor"), exports);
|
|
20
20
|
__exportStar(require("./deprecated/uploader"), exports);
|
|
@@ -28,3 +28,5 @@ Object.defineProperty(exports, "processTask", { enumerable: true, get: function
|
|
|
28
28
|
var spawn_1 = require("./workers/spawn");
|
|
29
29
|
Object.defineProperty(exports, "spawn", { enumerable: true, get: function () { return spawn_1.spawn; } });
|
|
30
30
|
__exportStar(require("./types/workers"), exports);
|
|
31
|
+
var logger_1 = require("./logger/logger");
|
|
32
|
+
Object.defineProperty(exports, "formatAxiosError", { enumerable: true, get: function () { return logger_1.formatAxiosError; } });
|
package/dist/logger/logger.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Console } from 'node:console';
|
|
2
|
-
import { LogLevel, PrintableState } from './logger.interfaces';
|
|
3
|
-
import { AirdropEvent } from '../types';
|
|
2
|
+
import { LoggerFactoryInterface, LogLevel, PrintableState } from './logger.interfaces';
|
|
4
3
|
import { AxiosError } from 'axios';
|
|
5
4
|
export declare class Logger extends Console {
|
|
6
|
-
|
|
5
|
+
private event;
|
|
6
|
+
private options?;
|
|
7
|
+
constructor({ event, options }: LoggerFactoryInterface);
|
|
7
8
|
logFn(args: unknown[], level: LogLevel): void;
|
|
8
9
|
log(...args: unknown[]): void;
|
|
9
10
|
info(...args: unknown[]): void;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { AirdropEvent } from '../types/extraction';
|
|
2
|
+
import { WorkerAdapterOptions } from '../types/workers';
|
|
3
|
+
export interface LoggerFactoryInterface {
|
|
4
|
+
event: AirdropEvent;
|
|
5
|
+
options?: WorkerAdapterOptions;
|
|
6
|
+
}
|
|
1
7
|
export declare enum LogLevel {
|
|
2
8
|
INFO = "info",
|
|
3
9
|
WARN = "warn",
|
package/dist/logger/logger.js
CHANGED
|
@@ -6,23 +6,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.Logger = void 0;
|
|
7
7
|
exports.getPrintableState = getPrintableState;
|
|
8
8
|
exports.formatAxiosError = formatAxiosError;
|
|
9
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
9
|
const lambda_log_1 = __importDefault(require("lambda-log"));
|
|
11
10
|
const node_console_1 = require("node:console");
|
|
12
11
|
const logger_interfaces_1 = require("./logger.interfaces");
|
|
13
12
|
const node_worker_threads_1 = require("node:worker_threads");
|
|
14
13
|
const workers_1 = require("../types/workers");
|
|
15
14
|
class Logger extends node_console_1.Console {
|
|
16
|
-
constructor(event) {
|
|
15
|
+
constructor({ event, options }) {
|
|
17
16
|
super(process.stdout, process.stderr);
|
|
17
|
+
this.event = event;
|
|
18
|
+
this.options = options;
|
|
18
19
|
lambda_log_1.default.options.levelKey = null;
|
|
19
20
|
lambda_log_1.default.options.tagsKey = null;
|
|
20
21
|
lambda_log_1.default.options.messageKey = 'message';
|
|
21
22
|
lambda_log_1.default.options.meta = Object.assign({}, event.payload.event_context);
|
|
22
23
|
}
|
|
23
24
|
logFn(args, level) {
|
|
25
|
+
var _a;
|
|
24
26
|
if (node_worker_threads_1.isMainThread) {
|
|
25
|
-
|
|
27
|
+
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.isLocalDevelopment) {
|
|
28
|
+
console[level](...args);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
lambda_log_1.default.log(level, JSON.stringify(args));
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
34
|
else {
|
|
28
35
|
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
@@ -77,7 +84,7 @@ function getPrintableState(state) {
|
|
|
77
84
|
return processValue(state);
|
|
78
85
|
}
|
|
79
86
|
function formatAxiosError(error) {
|
|
80
|
-
var _a, _b, _c;
|
|
87
|
+
var _a, _b, _c, _d;
|
|
81
88
|
if (error.response) {
|
|
82
89
|
return {
|
|
83
90
|
status: error.response.status,
|
|
@@ -85,6 +92,7 @@ function formatAxiosError(error) {
|
|
|
85
92
|
method: (_a = error.config) === null || _a === void 0 ? void 0 : _a.method,
|
|
86
93
|
baseURL: (_b = error.config) === null || _b === void 0 ? void 0 : _b.baseURL,
|
|
87
94
|
url: (_c = error.config) === null || _c === void 0 ? void 0 : _c.url,
|
|
95
|
+
payload: (_d = error.config) === null || _d === void 0 ? void 0 : _d.data,
|
|
88
96
|
};
|
|
89
97
|
}
|
|
90
98
|
return error;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { ErrorLevel, ErrorRecord, LogRecord, AdapterUpdateParams, InitialDomainMapping, } from './common';
|
|
2
2
|
export { EventType, ExtractorEventType, ExtractionMode, ExternalSyncUnit, EventContextIn, EventContextOut, ConnectionData, EventData, DomainObjectState, AirdropEvent, AirdropMessage, ExtractorEvent, } from './extraction';
|
|
3
|
-
export { NormalizedItem, NormalizedAttachment } from '../repo/repo.interfaces';
|
|
3
|
+
export { NormalizedItem, NormalizedAttachment, RepoInterface, } from '../repo/repo.interfaces';
|
|
4
4
|
export { AdapterState } from '../state/state.interfaces';
|
|
5
5
|
export { Artifact, ArtifactsPrepareResponse, UploadResponse, StreamResponse, StreamAttachmentsResponse, SsorAttachment, } from '../uploader/uploader.interfaces';
|
package/dist/types/workers.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface WorkerAdapterInterface<ConnectorState> {
|
|
|
16
16
|
event: AirdropEvent;
|
|
17
17
|
adapterState: State<ConnectorState>;
|
|
18
18
|
parentPort: MessagePort;
|
|
19
|
-
options
|
|
19
|
+
options?: WorkerAdapterOptions;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* WorkerAdapterOptions represents the options for WorkerAdapter class.
|
|
@@ -40,7 +40,7 @@ export type SpawnResolve = (value: boolean | PromiseLike<boolean>) => void;
|
|
|
40
40
|
export interface SpawnInterface {
|
|
41
41
|
event: AirdropEvent;
|
|
42
42
|
worker: Worker;
|
|
43
|
-
options
|
|
43
|
+
options?: WorkerAdapterOptions;
|
|
44
44
|
resolve: SpawnResolve;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
@@ -139,4 +139,5 @@ export interface WorkerData<ConnectorState> {
|
|
|
139
139
|
export interface GetWorkerPathInterface {
|
|
140
140
|
event: AirdropEvent;
|
|
141
141
|
connectorWorkerPath?: string | null;
|
|
142
|
+
options?: WorkerAdapterOptions;
|
|
142
143
|
}
|
|
@@ -7,14 +7,17 @@ const logger_1 = require("../logger/logger");
|
|
|
7
7
|
async function createWorker(workerData) {
|
|
8
8
|
return new Promise((resolve, reject) => {
|
|
9
9
|
if (node_worker_threads_1.isMainThread) {
|
|
10
|
-
const logger = new logger_1.Logger(
|
|
10
|
+
const logger = new logger_1.Logger({
|
|
11
|
+
event: workerData.event,
|
|
12
|
+
options: workerData.options,
|
|
13
|
+
});
|
|
11
14
|
const workerFile = __dirname + '/worker.js';
|
|
12
15
|
const worker = new node_worker_threads_1.Worker(workerFile, {
|
|
13
16
|
workerData,
|
|
14
17
|
});
|
|
15
|
-
worker.on(workers_1.WorkerEvent.WorkerError, (
|
|
16
|
-
logger.error('Worker error'
|
|
17
|
-
reject(
|
|
18
|
+
worker.on(workers_1.WorkerEvent.WorkerError, () => {
|
|
19
|
+
logger.error('Worker error');
|
|
20
|
+
reject();
|
|
18
21
|
});
|
|
19
22
|
worker.on(workers_1.WorkerEvent.WorkerOnline, () => {
|
|
20
23
|
resolve(worker);
|
|
@@ -12,7 +12,7 @@ function processTask({ task, onTimeout, }) {
|
|
|
12
12
|
const event = node_worker_threads_1.workerData.event;
|
|
13
13
|
const initialState = node_worker_threads_1.workerData.initialState;
|
|
14
14
|
const options = node_worker_threads_1.workerData.options;
|
|
15
|
-
console = new logger_1.Logger(event);
|
|
15
|
+
console = new logger_1.Logger({ event, options });
|
|
16
16
|
const adapterState = await (0, state_1.createAdapterState)({
|
|
17
17
|
event,
|
|
18
18
|
initialState,
|
package/dist/workers/spawn.js
CHANGED
|
@@ -9,8 +9,8 @@ const logger_1 = require("../logger/logger");
|
|
|
9
9
|
const constants_1 = require("../common/constants");
|
|
10
10
|
const workers_1 = require("../types/workers");
|
|
11
11
|
const create_worker_1 = require("./create-worker");
|
|
12
|
-
function getWorkerPath({ event, connectorWorkerPath, }) {
|
|
13
|
-
const logger = new logger_1.Logger(event);
|
|
12
|
+
function getWorkerPath({ event, connectorWorkerPath, options, }) {
|
|
13
|
+
const logger = new logger_1.Logger({ event, options });
|
|
14
14
|
if (!constants_1.ALLOWED_EVENT_TYPES.includes(event.payload.event_type)) {
|
|
15
15
|
return null;
|
|
16
16
|
}
|
|
@@ -58,10 +58,11 @@ function getWorkerPath({ event, connectorWorkerPath, }) {
|
|
|
58
58
|
* @returns {Promise<Spawn>} - A new instance of Spawn class
|
|
59
59
|
*/
|
|
60
60
|
async function spawn({ event, initialState, workerPath, options, }) {
|
|
61
|
-
const logger = new logger_1.Logger(event);
|
|
61
|
+
const logger = new logger_1.Logger({ event, options });
|
|
62
62
|
const script = getWorkerPath({
|
|
63
63
|
event,
|
|
64
64
|
connectorWorkerPath: workerPath,
|
|
65
|
+
options,
|
|
65
66
|
});
|
|
66
67
|
if (script) {
|
|
67
68
|
try {
|
|
@@ -75,7 +76,7 @@ async function spawn({ event, initialState, workerPath, options, }) {
|
|
|
75
76
|
new Spawn({
|
|
76
77
|
event,
|
|
77
78
|
worker,
|
|
78
|
-
options
|
|
79
|
+
options,
|
|
79
80
|
resolve,
|
|
80
81
|
});
|
|
81
82
|
});
|
|
@@ -109,7 +110,7 @@ class Spawn {
|
|
|
109
110
|
await this.exitFromMainThread();
|
|
110
111
|
}
|
|
111
112
|
}, this.lambdaTimeout);
|
|
112
|
-
this.logger = new logger_1.Logger(event);
|
|
113
|
+
this.logger = new logger_1.Logger({ event, options });
|
|
113
114
|
this.worker = worker;
|
|
114
115
|
worker.on(workers_1.WorkerEvent.WorkerExit, async (code) => {
|
|
115
116
|
this.logger.info('Worker exited with exit code: ' + code + '.');
|
|
@@ -21,7 +21,7 @@ export declare function createWorkerAdapter<ConnectorState>({ event, adapterStat
|
|
|
21
21
|
*/
|
|
22
22
|
export declare class WorkerAdapter<ConnectorState> {
|
|
23
23
|
readonly event: AirdropEvent;
|
|
24
|
-
readonly options
|
|
24
|
+
readonly options?: WorkerAdapterOptions;
|
|
25
25
|
private adapterState;
|
|
26
26
|
private _artifacts;
|
|
27
27
|
private hasWorkerEmitted;
|