@ever-works/activepieces-plugin 1.0.11 → 1.0.13
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/index.cjs +62 -12
- package/dist/index.js +62 -12
- package/package.json +6 -6
package/dist/index.cjs
CHANGED
|
@@ -1193,6 +1193,9 @@ var FLEET_LINK_CONTROL_TYPES = [
|
|
|
1193
1193
|
var CONTROL_TYPES = new Set(FLEET_LINK_CONTROL_TYPES);
|
|
1194
1194
|
var KIND_JSON = FLEET_LINK_FRAME_KINDS.JSON;
|
|
1195
1195
|
var utf8Encoder = new TextEncoder();
|
|
1196
|
+
var FLEET_LINK_VIEWER_SLOW_BUFFER_BYTES = 8 * 1024 * 1024;
|
|
1197
|
+
var FLEET_LINK_VIEWER_MAX_BUFFER_BYTES = 32 * 1024 * 1024;
|
|
1198
|
+
var FLEET_LINK_VIEWER_FRAME_KINDS = [FLEET_LINK_FRAME_KINDS.ACK];
|
|
1196
1199
|
var FLEET_MODEL_USAGE_LIMIT_FALLBACK_MS = 60 * 60 * 1e3;
|
|
1197
1200
|
var FLEET_MODEL_USAGE_LIMIT_MIN_MS = 60 * 1e3;
|
|
1198
1201
|
var FLEET_MODEL_USAGE_LIMIT_MAX_MS = 8 * 24 * 60 * 60 * 1e3;
|
|
@@ -2658,6 +2661,7 @@ function isSafeWebhookUrl(rawUrl) {
|
|
|
2658
2661
|
if (host.startsWith("[") && host.endsWith("]")) {
|
|
2659
2662
|
host = host.slice(1, -1);
|
|
2660
2663
|
}
|
|
2664
|
+
host = host.replace(/\.+$/, "");
|
|
2661
2665
|
if (CLOUD_METADATA_HOSTNAMES.has(host)) {
|
|
2662
2666
|
return false;
|
|
2663
2667
|
}
|
|
@@ -2687,23 +2691,69 @@ function isPrivateIPv4(ip) {
|
|
|
2687
2691
|
if (a === 172 && b >= 16 && b <= 31) return true;
|
|
2688
2692
|
if (a === 192 && b === 168) return true;
|
|
2689
2693
|
if (a === 192 && b === 0 && parts[2] === 0) return true;
|
|
2694
|
+
if (a === 198 && (b === 18 || b === 19)) return true;
|
|
2695
|
+
if (a === 192 && b === 0 && parts[2] === 2) return true;
|
|
2696
|
+
if (a === 198 && b === 51 && parts[2] === 100) return true;
|
|
2697
|
+
if (a === 203 && b === 0 && parts[2] === 113) return true;
|
|
2690
2698
|
if (a === 100 && b >= 64 && b <= 127) return true;
|
|
2691
2699
|
if (a >= 224) return true;
|
|
2692
2700
|
return false;
|
|
2693
2701
|
}
|
|
2694
|
-
function
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
if (
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2702
|
+
function parseIPv6Groups(ip) {
|
|
2703
|
+
let text = ip.trim().toLowerCase();
|
|
2704
|
+
const zone = text.indexOf("%");
|
|
2705
|
+
if (zone >= 0) text = text.slice(0, zone);
|
|
2706
|
+
if ((0, import_net.isIP)(text) !== 6) return null;
|
|
2707
|
+
const lastColon = text.lastIndexOf(":");
|
|
2708
|
+
const tail = text.slice(lastColon + 1);
|
|
2709
|
+
if (tail.includes(".")) {
|
|
2710
|
+
if ((0, import_net.isIP)(tail) !== 4) return null;
|
|
2711
|
+
const [a, b, c, d] = tail.split(".").map((part) => Number(part));
|
|
2712
|
+
text = `${text.slice(0, lastColon + 1)}${(a << 8 | b).toString(16)}:${(c << 8 | d).toString(16)}`;
|
|
2713
|
+
}
|
|
2714
|
+
const halves = text.split("::");
|
|
2715
|
+
if (halves.length > 2) return null;
|
|
2716
|
+
const head = halves[0] ? halves[0].split(":") : [];
|
|
2717
|
+
const rest = halves.length === 2 && halves[1] ? halves[1].split(":") : [];
|
|
2718
|
+
const fill = halves.length === 2 ? 8 - head.length - rest.length : 0;
|
|
2719
|
+
if (fill < 0) return null;
|
|
2720
|
+
const groups = [...head, ...new Array(fill).fill("0"), ...rest].map((group) => parseInt(group, 16));
|
|
2721
|
+
if (groups.length !== 8 || groups.some((group) => Number.isNaN(group) || group < 0 || group > 65535)) {
|
|
2722
|
+
return null;
|
|
2706
2723
|
}
|
|
2724
|
+
return groups;
|
|
2725
|
+
}
|
|
2726
|
+
function ipv4FromGroups(high, low) {
|
|
2727
|
+
return `${high >> 8}.${high & 255}.${low >> 8}.${low & 255}`;
|
|
2728
|
+
}
|
|
2729
|
+
function embeddedIPv4(ip) {
|
|
2730
|
+
const g = parseIPv6Groups(ip);
|
|
2731
|
+
if (!g) return null;
|
|
2732
|
+
const zeros = (from, to) => g.slice(from, to).every((group) => group === 0);
|
|
2733
|
+
if (zeros(0, 5) && g[5] === 65535) return ipv4FromGroups(g[6], g[7]);
|
|
2734
|
+
if (zeros(0, 4) && g[4] === 65535 && g[5] === 0) return ipv4FromGroups(g[6], g[7]);
|
|
2735
|
+
if (zeros(0, 6) && (g[6] !== 0 || g[7] > 1)) return ipv4FromGroups(g[6], g[7]);
|
|
2736
|
+
if (g[0] === 100 && g[1] === 65435 && zeros(2, 6)) return ipv4FromGroups(g[6], g[7]);
|
|
2737
|
+
if (g[0] === 8194) return ipv4FromGroups(g[1], g[2]);
|
|
2738
|
+
if (g[0] === 8193 && g[1] === 0) return ipv4FromGroups(g[6] ^ 65535, g[7] ^ 65535);
|
|
2739
|
+
return null;
|
|
2740
|
+
}
|
|
2741
|
+
function isPrivateIPv6(ip) {
|
|
2742
|
+
const g = parseIPv6Groups(ip);
|
|
2743
|
+
if (!g) {
|
|
2744
|
+
const lower = ip.toLowerCase();
|
|
2745
|
+
return lower === "::1" || lower === "::" || lower.startsWith("fc") || lower.startsWith("fd");
|
|
2746
|
+
}
|
|
2747
|
+
if (g.every((group) => group === 0)) return true;
|
|
2748
|
+
if (g.slice(0, 7).every((group) => group === 0) && g[7] === 1) return true;
|
|
2749
|
+
if ((g[0] & 65024) === 64512) return true;
|
|
2750
|
+
if ((g[0] & 65472) === 65152) return true;
|
|
2751
|
+
if ((g[0] & 65472) === 65216) return true;
|
|
2752
|
+
if ((g[0] & 65280) === 65280) return true;
|
|
2753
|
+
if (g[0] === 8193 && g[1] === 3512) return true;
|
|
2754
|
+
if (g[0] === 100 && g[1] === 65435 && g[2] === 1) return true;
|
|
2755
|
+
const v4 = embeddedIPv4(ip);
|
|
2756
|
+
if (v4 && isPrivateIPv4(v4)) return true;
|
|
2707
2757
|
return false;
|
|
2708
2758
|
}
|
|
2709
2759
|
|
package/dist/index.js
CHANGED
|
@@ -1166,6 +1166,9 @@ var FLEET_LINK_CONTROL_TYPES = [
|
|
|
1166
1166
|
var CONTROL_TYPES = new Set(FLEET_LINK_CONTROL_TYPES);
|
|
1167
1167
|
var KIND_JSON = FLEET_LINK_FRAME_KINDS.JSON;
|
|
1168
1168
|
var utf8Encoder = new TextEncoder();
|
|
1169
|
+
var FLEET_LINK_VIEWER_SLOW_BUFFER_BYTES = 8 * 1024 * 1024;
|
|
1170
|
+
var FLEET_LINK_VIEWER_MAX_BUFFER_BYTES = 32 * 1024 * 1024;
|
|
1171
|
+
var FLEET_LINK_VIEWER_FRAME_KINDS = [FLEET_LINK_FRAME_KINDS.ACK];
|
|
1169
1172
|
var FLEET_MODEL_USAGE_LIMIT_FALLBACK_MS = 60 * 60 * 1e3;
|
|
1170
1173
|
var FLEET_MODEL_USAGE_LIMIT_MIN_MS = 60 * 1e3;
|
|
1171
1174
|
var FLEET_MODEL_USAGE_LIMIT_MAX_MS = 8 * 24 * 60 * 60 * 1e3;
|
|
@@ -2631,6 +2634,7 @@ function isSafeWebhookUrl(rawUrl) {
|
|
|
2631
2634
|
if (host.startsWith("[") && host.endsWith("]")) {
|
|
2632
2635
|
host = host.slice(1, -1);
|
|
2633
2636
|
}
|
|
2637
|
+
host = host.replace(/\.+$/, "");
|
|
2634
2638
|
if (CLOUD_METADATA_HOSTNAMES.has(host)) {
|
|
2635
2639
|
return false;
|
|
2636
2640
|
}
|
|
@@ -2660,23 +2664,69 @@ function isPrivateIPv4(ip) {
|
|
|
2660
2664
|
if (a === 172 && b >= 16 && b <= 31) return true;
|
|
2661
2665
|
if (a === 192 && b === 168) return true;
|
|
2662
2666
|
if (a === 192 && b === 0 && parts[2] === 0) return true;
|
|
2667
|
+
if (a === 198 && (b === 18 || b === 19)) return true;
|
|
2668
|
+
if (a === 192 && b === 0 && parts[2] === 2) return true;
|
|
2669
|
+
if (a === 198 && b === 51 && parts[2] === 100) return true;
|
|
2670
|
+
if (a === 203 && b === 0 && parts[2] === 113) return true;
|
|
2663
2671
|
if (a === 100 && b >= 64 && b <= 127) return true;
|
|
2664
2672
|
if (a >= 224) return true;
|
|
2665
2673
|
return false;
|
|
2666
2674
|
}
|
|
2667
|
-
function
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
if (
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2675
|
+
function parseIPv6Groups(ip) {
|
|
2676
|
+
let text = ip.trim().toLowerCase();
|
|
2677
|
+
const zone = text.indexOf("%");
|
|
2678
|
+
if (zone >= 0) text = text.slice(0, zone);
|
|
2679
|
+
if (isIP(text) !== 6) return null;
|
|
2680
|
+
const lastColon = text.lastIndexOf(":");
|
|
2681
|
+
const tail = text.slice(lastColon + 1);
|
|
2682
|
+
if (tail.includes(".")) {
|
|
2683
|
+
if (isIP(tail) !== 4) return null;
|
|
2684
|
+
const [a, b, c, d] = tail.split(".").map((part) => Number(part));
|
|
2685
|
+
text = `${text.slice(0, lastColon + 1)}${(a << 8 | b).toString(16)}:${(c << 8 | d).toString(16)}`;
|
|
2686
|
+
}
|
|
2687
|
+
const halves = text.split("::");
|
|
2688
|
+
if (halves.length > 2) return null;
|
|
2689
|
+
const head = halves[0] ? halves[0].split(":") : [];
|
|
2690
|
+
const rest = halves.length === 2 && halves[1] ? halves[1].split(":") : [];
|
|
2691
|
+
const fill = halves.length === 2 ? 8 - head.length - rest.length : 0;
|
|
2692
|
+
if (fill < 0) return null;
|
|
2693
|
+
const groups = [...head, ...new Array(fill).fill("0"), ...rest].map((group) => parseInt(group, 16));
|
|
2694
|
+
if (groups.length !== 8 || groups.some((group) => Number.isNaN(group) || group < 0 || group > 65535)) {
|
|
2695
|
+
return null;
|
|
2679
2696
|
}
|
|
2697
|
+
return groups;
|
|
2698
|
+
}
|
|
2699
|
+
function ipv4FromGroups(high, low) {
|
|
2700
|
+
return `${high >> 8}.${high & 255}.${low >> 8}.${low & 255}`;
|
|
2701
|
+
}
|
|
2702
|
+
function embeddedIPv4(ip) {
|
|
2703
|
+
const g = parseIPv6Groups(ip);
|
|
2704
|
+
if (!g) return null;
|
|
2705
|
+
const zeros = (from, to) => g.slice(from, to).every((group) => group === 0);
|
|
2706
|
+
if (zeros(0, 5) && g[5] === 65535) return ipv4FromGroups(g[6], g[7]);
|
|
2707
|
+
if (zeros(0, 4) && g[4] === 65535 && g[5] === 0) return ipv4FromGroups(g[6], g[7]);
|
|
2708
|
+
if (zeros(0, 6) && (g[6] !== 0 || g[7] > 1)) return ipv4FromGroups(g[6], g[7]);
|
|
2709
|
+
if (g[0] === 100 && g[1] === 65435 && zeros(2, 6)) return ipv4FromGroups(g[6], g[7]);
|
|
2710
|
+
if (g[0] === 8194) return ipv4FromGroups(g[1], g[2]);
|
|
2711
|
+
if (g[0] === 8193 && g[1] === 0) return ipv4FromGroups(g[6] ^ 65535, g[7] ^ 65535);
|
|
2712
|
+
return null;
|
|
2713
|
+
}
|
|
2714
|
+
function isPrivateIPv6(ip) {
|
|
2715
|
+
const g = parseIPv6Groups(ip);
|
|
2716
|
+
if (!g) {
|
|
2717
|
+
const lower = ip.toLowerCase();
|
|
2718
|
+
return lower === "::1" || lower === "::" || lower.startsWith("fc") || lower.startsWith("fd");
|
|
2719
|
+
}
|
|
2720
|
+
if (g.every((group) => group === 0)) return true;
|
|
2721
|
+
if (g.slice(0, 7).every((group) => group === 0) && g[7] === 1) return true;
|
|
2722
|
+
if ((g[0] & 65024) === 64512) return true;
|
|
2723
|
+
if ((g[0] & 65472) === 65152) return true;
|
|
2724
|
+
if ((g[0] & 65472) === 65216) return true;
|
|
2725
|
+
if ((g[0] & 65280) === 65280) return true;
|
|
2726
|
+
if (g[0] === 8193 && g[1] === 3512) return true;
|
|
2727
|
+
if (g[0] === 100 && g[1] === 65435 && g[2] === 1) return true;
|
|
2728
|
+
const v4 = embeddedIPv4(ip);
|
|
2729
|
+
if (v4 && isPrivateIPv4(v4)) return true;
|
|
2680
2730
|
return false;
|
|
2681
2731
|
}
|
|
2682
2732
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ever-works/activepieces-plugin",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
4
4
|
"description": "Activepieces Automation Pipeline Plugin - Delegates Work generation steps to Activepieces flows",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Ever Co. LTD",
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"test:coverage": "vitest run --coverage"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@ever-works/plugin": "^1.2.
|
|
36
|
+
"@ever-works/plugin": "^1.2.9"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@ever-works/plugin": "^1.2.
|
|
39
|
+
"@ever-works/plugin": "^1.2.9",
|
|
40
40
|
"@types/node": "^26.6.4",
|
|
41
41
|
"tsup": "^8.0.0",
|
|
42
42
|
"typescript": "^5.9.3",
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"url": "https://github.com/ever-works/ever-works/issues"
|
|
77
77
|
},
|
|
78
78
|
"everworksRelease": {
|
|
79
|
-
"contentHash": "sha256:
|
|
80
|
-
"commit": "
|
|
81
|
-
"source": "https://github.com/ever-works/ever-works/tree/
|
|
79
|
+
"contentHash": "sha256:9d1d9bb6947b46ca73a46e598902d7dd964dc50c1462ebef87010284837e6d00",
|
|
80
|
+
"commit": "cb5c30537ba743d2dc5a4875693fcb517591e001",
|
|
81
|
+
"source": "https://github.com/ever-works/ever-works/tree/cb5c30537ba743d2dc5a4875693fcb517591e001/packages/plugins/activepieces"
|
|
82
82
|
}
|
|
83
83
|
}
|