@skedulo/integration-sdk 0.1.1 → 0.1.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/CHANGELOG.md +3 -0
- package/dist/clients/dataflow.client.d.ts.map +1 -1
- package/dist/clients/dataflow.client.js +12 -0
- package/dist/clients/dataflow.client.js.map +1 -1
- package/dist/services/sync.service.d.ts.map +1 -1
- package/dist/services/sync.service.js +5 -0
- package/dist/services/sync.service.js.map +1 -1
- package/dist/utils/compileFilter.d.ts.map +1 -1
- package/dist/utils/compileFilter.js +16 -1
- package/dist/utils/compileFilter.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.2] - 2026-05-08
|
|
4
|
+
- Harden `compileFilter` against backtick and expr injection; guard `LOCAL_INTEGRATION_SERVICE` to localhost only; pre-validate filter spec in `_processBatch` to fail fast
|
|
5
|
+
|
|
3
6
|
## [0.1.1] - 2026-05-08
|
|
4
7
|
- Make SampleRecord generic — each adapter returns native fields
|
|
5
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataflow.client.d.ts","sourceRoot":"","sources":["../../src/clients/dataflow.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAGvE,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM;
|
|
1
|
+
{"version":3,"file":"dataflow.client.d.ts","sourceRoot":"","sources":["../../src/clients/dataflow.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAGvE,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAkB1E,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAWhE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAMpD"}
|
|
@@ -8,6 +8,18 @@ class DataFlowClient extends pulse_solution_services_1.BaseClient {
|
|
|
8
8
|
super(config, executionOptions);
|
|
9
9
|
// LOCAL_INTEGRATION_SERVICE overrides for local dev (e.g. http://localhost:3000)
|
|
10
10
|
const override = process.env.LOCAL_INTEGRATION_SERVICE;
|
|
11
|
+
if (override) {
|
|
12
|
+
let host;
|
|
13
|
+
try {
|
|
14
|
+
host = new URL(override).hostname;
|
|
15
|
+
}
|
|
16
|
+
catch (_a) {
|
|
17
|
+
throw new Error(`LOCAL_INTEGRATION_SERVICE is not a valid URL: ${override}`);
|
|
18
|
+
}
|
|
19
|
+
if (host !== 'localhost' && host !== '127.0.0.1' && host !== '::1') {
|
|
20
|
+
throw new Error(`LOCAL_INTEGRATION_SERVICE must point to localhost, got: ${override}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
11
23
|
this._serviceBase = override ? `${override}/data-flows` : 'integration/data-flows';
|
|
12
24
|
}
|
|
13
25
|
async list(params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataflow.client.js","sourceRoot":"","sources":["../../src/clients/dataflow.client.ts"],"names":[],"mappings":";;;AAAA,8EAA8D;AAG9D,kEAA+D;AAU/D,MAAa,cAAe,SAAQ,oCAAU;IAG5C,YAAY,MAAkB,EAAE,mBAA8C,EAAE;QAC9E,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAChC,iFAAiF;QACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA0B;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAChC,CAAC;QAE5B,OAAO,IAAI,CAAC,eAAe,CAAwB;YACjD,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAkB;YACvD,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE;SAC3D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,qCAAiB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"dataflow.client.js","sourceRoot":"","sources":["../../src/clients/dataflow.client.ts"],"names":[],"mappings":";;;AAAA,8EAA8D;AAG9D,kEAA+D;AAU/D,MAAa,cAAe,SAAQ,oCAAU;IAG5C,YAAY,MAAkB,EAAE,mBAA8C,EAAE;QAC9E,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAChC,iFAAiF;QACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;YACpC,CAAC;YAAC,WAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,iDAAiD,QAAQ,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,2DAA2D,QAAQ,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA0B;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAChC,CAAC;QAE5B,OAAO,IAAI,CAAC,eAAe,CAAwB;YACjD,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAkB;YACvD,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE;SAC3D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,qCAAiB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;CACF;AAtCD,wCAsCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.service.d.ts","sourceRoot":"","sources":["../../src/services/sync.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.service.d.ts","sourceRoot":"","sources":["../../src/services/sync.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAoBnF,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,MAAM,EAAE,OAAO,GAAG,IAAI,EACtB,MAAM,EAAE,OAAO;IAG5B,GAAG,CACP,IAAI,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,EAC5C,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,WAAW,CAAC;IA0BjB,WAAW,CACf,IAAI,EAAE;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,EAC5C,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,UAAU,CAAC;IA4BhB,YAAY,CAChB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClC,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,WAAW,CAAC;YAIT,aAAa;CAsF5B"}
|
|
@@ -9,6 +9,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.SyncService = void 0;
|
|
11
11
|
const mapping_service_1 = require("./mapping.service");
|
|
12
|
+
const compileFilter_1 = require("../utils/compileFilter");
|
|
12
13
|
// SyncService runs one DataFlow using a source and target adapter.
|
|
13
14
|
//
|
|
14
15
|
// Two entrypoints:
|
|
@@ -92,6 +93,10 @@ class SyncService {
|
|
|
92
93
|
}
|
|
93
94
|
async _processBatch(flow, records, localFilter, ctx) {
|
|
94
95
|
var _a, _b;
|
|
96
|
+
// Fail fast if the filter spec is invalid — compileFilter throws are intentional and
|
|
97
|
+
// should not be silently swallowed per-record; propagate before touching any records.
|
|
98
|
+
if (localFilter)
|
|
99
|
+
(0, compileFilter_1.compileFilter)(localFilter);
|
|
95
100
|
const stats = { succeeded: 0, filtered: 0, failed: 0, dlqWrites: 0 };
|
|
96
101
|
const pairs = [];
|
|
97
102
|
for (const record of records) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.service.js","sourceRoot":"","sources":["../../src/services/sync.service.ts"],"names":[],"mappings":";;;;;;;;;;AAKA,uDAAiF;
|
|
1
|
+
{"version":3,"file":"sync.service.js","sourceRoot":"","sources":["../../src/services/sync.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileFilter.d.ts","sourceRoot":"","sources":["../../src/utils/compileFilter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compileFilter.d.ts","sourceRoot":"","sources":["../../src/utils/compileFilter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,gCAAgC,CAAC;AA6E7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAIxD"}
|
|
@@ -1,19 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.compileFilter = compileFilter;
|
|
7
|
+
const jsonata_1 = __importDefault(require("jsonata"));
|
|
4
8
|
function renderValue(value) {
|
|
5
9
|
if (value === null)
|
|
6
10
|
return 'null';
|
|
7
11
|
if (Array.isArray(value))
|
|
8
12
|
return '[' + value.map((item) => renderValue(item)).join(', ') + ']';
|
|
9
|
-
if (typeof value === 'object' && value.type === 'expr')
|
|
13
|
+
if (typeof value === 'object' && value.type === 'expr') {
|
|
14
|
+
// Validate syntax before embedding — caller is trusted but malformed exprs still cause silent failures
|
|
15
|
+
try {
|
|
16
|
+
(0, jsonata_1.default)(value.value);
|
|
17
|
+
}
|
|
18
|
+
catch (_a) {
|
|
19
|
+
throw new Error(`Invalid JSONata expression in expr value: ${value.value}`);
|
|
20
|
+
}
|
|
10
21
|
return value.value;
|
|
22
|
+
}
|
|
11
23
|
if (typeof value === 'string')
|
|
12
24
|
return JSON.stringify(value);
|
|
13
25
|
return String(value);
|
|
14
26
|
}
|
|
15
27
|
function compileRule(rule) {
|
|
16
28
|
const { field, op, value } = rule;
|
|
29
|
+
// Backtick in a field name would break out of the JSONata identifier — reject early
|
|
30
|
+
if (field.includes('`'))
|
|
31
|
+
throw new Error(`Invalid field name (contains backtick): ${field}`);
|
|
17
32
|
switch (op) {
|
|
18
33
|
case 'eq':
|
|
19
34
|
return `\`${field}\` = ${renderValue(value)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileFilter.js","sourceRoot":"","sources":["../../src/utils/compileFilter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compileFilter.js","sourceRoot":"","sources":["../../src/utils/compileFilter.ts"],"names":[],"mappings":"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"}
|