@ever-works/mistral-plugin 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +118 -24
- package/dist/index.js +118 -24
- package/package.json +5 -5
package/dist/index.cjs
CHANGED
|
@@ -5019,6 +5019,7 @@ function isSafeWebhookUrl(rawUrl) {
|
|
|
5019
5019
|
if (host.startsWith("[") && host.endsWith("]")) {
|
|
5020
5020
|
host = host.slice(1, -1);
|
|
5021
5021
|
}
|
|
5022
|
+
host = host.replace(/\.+$/, "");
|
|
5022
5023
|
if (CLOUD_METADATA_HOSTNAMES.has(host)) {
|
|
5023
5024
|
return false;
|
|
5024
5025
|
}
|
|
@@ -5048,23 +5049,69 @@ function isPrivateIPv4(ip) {
|
|
|
5048
5049
|
if (a === 172 && b >= 16 && b <= 31) return true;
|
|
5049
5050
|
if (a === 192 && b === 168) return true;
|
|
5050
5051
|
if (a === 192 && b === 0 && parts[2] === 0) return true;
|
|
5052
|
+
if (a === 198 && (b === 18 || b === 19)) return true;
|
|
5053
|
+
if (a === 192 && b === 0 && parts[2] === 2) return true;
|
|
5054
|
+
if (a === 198 && b === 51 && parts[2] === 100) return true;
|
|
5055
|
+
if (a === 203 && b === 0 && parts[2] === 113) return true;
|
|
5051
5056
|
if (a === 100 && b >= 64 && b <= 127) return true;
|
|
5052
5057
|
if (a >= 224) return true;
|
|
5053
5058
|
return false;
|
|
5054
5059
|
}
|
|
5060
|
+
function parseIPv6Groups(ip) {
|
|
5061
|
+
let text = ip.trim().toLowerCase();
|
|
5062
|
+
const zone = text.indexOf("%");
|
|
5063
|
+
if (zone >= 0) text = text.slice(0, zone);
|
|
5064
|
+
if (net.isIP(text) !== 6) return null;
|
|
5065
|
+
const lastColon = text.lastIndexOf(":");
|
|
5066
|
+
const tail = text.slice(lastColon + 1);
|
|
5067
|
+
if (tail.includes(".")) {
|
|
5068
|
+
if (net.isIP(tail) !== 4) return null;
|
|
5069
|
+
const [a, b, c, d] = tail.split(".").map((part) => Number(part));
|
|
5070
|
+
text = `${text.slice(0, lastColon + 1)}${(a << 8 | b).toString(16)}:${(c << 8 | d).toString(16)}`;
|
|
5071
|
+
}
|
|
5072
|
+
const halves = text.split("::");
|
|
5073
|
+
if (halves.length > 2) return null;
|
|
5074
|
+
const head = halves[0] ? halves[0].split(":") : [];
|
|
5075
|
+
const rest = halves.length === 2 && halves[1] ? halves[1].split(":") : [];
|
|
5076
|
+
const fill = halves.length === 2 ? 8 - head.length - rest.length : 0;
|
|
5077
|
+
if (fill < 0) return null;
|
|
5078
|
+
const groups = [...head, ...new Array(fill).fill("0"), ...rest].map((group) => parseInt(group, 16));
|
|
5079
|
+
if (groups.length !== 8 || groups.some((group) => Number.isNaN(group) || group < 0 || group > 65535)) {
|
|
5080
|
+
return null;
|
|
5081
|
+
}
|
|
5082
|
+
return groups;
|
|
5083
|
+
}
|
|
5084
|
+
function ipv4FromGroups(high, low) {
|
|
5085
|
+
return `${high >> 8}.${high & 255}.${low >> 8}.${low & 255}`;
|
|
5086
|
+
}
|
|
5087
|
+
function embeddedIPv4(ip) {
|
|
5088
|
+
const g = parseIPv6Groups(ip);
|
|
5089
|
+
if (!g) return null;
|
|
5090
|
+
const zeros = (from, to) => g.slice(from, to).every((group) => group === 0);
|
|
5091
|
+
if (zeros(0, 5) && g[5] === 65535) return ipv4FromGroups(g[6], g[7]);
|
|
5092
|
+
if (zeros(0, 4) && g[4] === 65535 && g[5] === 0) return ipv4FromGroups(g[6], g[7]);
|
|
5093
|
+
if (zeros(0, 6) && (g[6] !== 0 || g[7] > 1)) return ipv4FromGroups(g[6], g[7]);
|
|
5094
|
+
if (g[0] === 100 && g[1] === 65435 && zeros(2, 6)) return ipv4FromGroups(g[6], g[7]);
|
|
5095
|
+
if (g[0] === 8194) return ipv4FromGroups(g[1], g[2]);
|
|
5096
|
+
if (g[0] === 8193 && g[1] === 0) return ipv4FromGroups(g[6] ^ 65535, g[7] ^ 65535);
|
|
5097
|
+
return null;
|
|
5098
|
+
}
|
|
5055
5099
|
function isPrivateIPv6(ip) {
|
|
5056
|
-
const
|
|
5057
|
-
if (
|
|
5058
|
-
|
|
5059
|
-
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
|
|
5063
|
-
|
|
5064
|
-
if (
|
|
5065
|
-
|
|
5066
|
-
|
|
5067
|
-
|
|
5100
|
+
const g = parseIPv6Groups(ip);
|
|
5101
|
+
if (!g) {
|
|
5102
|
+
const lower = ip.toLowerCase();
|
|
5103
|
+
return lower === "::1" || lower === "::" || lower.startsWith("fc") || lower.startsWith("fd");
|
|
5104
|
+
}
|
|
5105
|
+
if (g.every((group) => group === 0)) return true;
|
|
5106
|
+
if (g.slice(0, 7).every((group) => group === 0) && g[7] === 1) return true;
|
|
5107
|
+
if ((g[0] & 65024) === 64512) return true;
|
|
5108
|
+
if ((g[0] & 65472) === 65152) return true;
|
|
5109
|
+
if ((g[0] & 65472) === 65216) return true;
|
|
5110
|
+
if ((g[0] & 65280) === 65280) return true;
|
|
5111
|
+
if (g[0] === 8193 && g[1] === 3512) return true;
|
|
5112
|
+
if (g[0] === 100 && g[1] === 65435 && g[2] === 1) return true;
|
|
5113
|
+
const v4 = embeddedIPv4(ip);
|
|
5114
|
+
if (v4 && isPrivateIPv4(v4)) return true;
|
|
5068
5115
|
return false;
|
|
5069
5116
|
}
|
|
5070
5117
|
var defaultDnsResolver = (hostname) => dns__namespace.promises.lookup(hostname, { all: true });
|
|
@@ -5592,6 +5639,7 @@ function isSafeWebhookUrl2(rawUrl) {
|
|
|
5592
5639
|
if (host.startsWith("[") && host.endsWith("]")) {
|
|
5593
5640
|
host = host.slice(1, -1);
|
|
5594
5641
|
}
|
|
5642
|
+
host = host.replace(/\.+$/, "");
|
|
5595
5643
|
if (CLOUD_METADATA_HOSTNAMES2.has(host)) {
|
|
5596
5644
|
return false;
|
|
5597
5645
|
}
|
|
@@ -5621,23 +5669,69 @@ function isPrivateIPv42(ip) {
|
|
|
5621
5669
|
if (a === 172 && b >= 16 && b <= 31) return true;
|
|
5622
5670
|
if (a === 192 && b === 168) return true;
|
|
5623
5671
|
if (a === 192 && b === 0 && parts[2] === 0) return true;
|
|
5672
|
+
if (a === 198 && (b === 18 || b === 19)) return true;
|
|
5673
|
+
if (a === 192 && b === 0 && parts[2] === 2) return true;
|
|
5674
|
+
if (a === 198 && b === 51 && parts[2] === 100) return true;
|
|
5675
|
+
if (a === 203 && b === 0 && parts[2] === 113) return true;
|
|
5624
5676
|
if (a === 100 && b >= 64 && b <= 127) return true;
|
|
5625
5677
|
if (a >= 224) return true;
|
|
5626
5678
|
return false;
|
|
5627
5679
|
}
|
|
5680
|
+
function parseIPv6Groups2(ip) {
|
|
5681
|
+
let text = ip.trim().toLowerCase();
|
|
5682
|
+
const zone = text.indexOf("%");
|
|
5683
|
+
if (zone >= 0) text = text.slice(0, zone);
|
|
5684
|
+
if (net.isIP(text) !== 6) return null;
|
|
5685
|
+
const lastColon = text.lastIndexOf(":");
|
|
5686
|
+
const tail = text.slice(lastColon + 1);
|
|
5687
|
+
if (tail.includes(".")) {
|
|
5688
|
+
if (net.isIP(tail) !== 4) return null;
|
|
5689
|
+
const [a, b, c, d] = tail.split(".").map((part) => Number(part));
|
|
5690
|
+
text = `${text.slice(0, lastColon + 1)}${(a << 8 | b).toString(16)}:${(c << 8 | d).toString(16)}`;
|
|
5691
|
+
}
|
|
5692
|
+
const halves = text.split("::");
|
|
5693
|
+
if (halves.length > 2) return null;
|
|
5694
|
+
const head = halves[0] ? halves[0].split(":") : [];
|
|
5695
|
+
const rest = halves.length === 2 && halves[1] ? halves[1].split(":") : [];
|
|
5696
|
+
const fill = halves.length === 2 ? 8 - head.length - rest.length : 0;
|
|
5697
|
+
if (fill < 0) return null;
|
|
5698
|
+
const groups = [...head, ...new Array(fill).fill("0"), ...rest].map((group) => parseInt(group, 16));
|
|
5699
|
+
if (groups.length !== 8 || groups.some((group) => Number.isNaN(group) || group < 0 || group > 65535)) {
|
|
5700
|
+
return null;
|
|
5701
|
+
}
|
|
5702
|
+
return groups;
|
|
5703
|
+
}
|
|
5704
|
+
function ipv4FromGroups2(high, low) {
|
|
5705
|
+
return `${high >> 8}.${high & 255}.${low >> 8}.${low & 255}`;
|
|
5706
|
+
}
|
|
5707
|
+
function embeddedIPv42(ip) {
|
|
5708
|
+
const g = parseIPv6Groups2(ip);
|
|
5709
|
+
if (!g) return null;
|
|
5710
|
+
const zeros = (from, to) => g.slice(from, to).every((group) => group === 0);
|
|
5711
|
+
if (zeros(0, 5) && g[5] === 65535) return ipv4FromGroups2(g[6], g[7]);
|
|
5712
|
+
if (zeros(0, 4) && g[4] === 65535 && g[5] === 0) return ipv4FromGroups2(g[6], g[7]);
|
|
5713
|
+
if (zeros(0, 6) && (g[6] !== 0 || g[7] > 1)) return ipv4FromGroups2(g[6], g[7]);
|
|
5714
|
+
if (g[0] === 100 && g[1] === 65435 && zeros(2, 6)) return ipv4FromGroups2(g[6], g[7]);
|
|
5715
|
+
if (g[0] === 8194) return ipv4FromGroups2(g[1], g[2]);
|
|
5716
|
+
if (g[0] === 8193 && g[1] === 0) return ipv4FromGroups2(g[6] ^ 65535, g[7] ^ 65535);
|
|
5717
|
+
return null;
|
|
5718
|
+
}
|
|
5628
5719
|
function isPrivateIPv62(ip) {
|
|
5629
|
-
const
|
|
5630
|
-
if (
|
|
5631
|
-
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
if (
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5720
|
+
const g = parseIPv6Groups2(ip);
|
|
5721
|
+
if (!g) {
|
|
5722
|
+
const lower = ip.toLowerCase();
|
|
5723
|
+
return lower === "::1" || lower === "::" || lower.startsWith("fc") || lower.startsWith("fd");
|
|
5724
|
+
}
|
|
5725
|
+
if (g.every((group) => group === 0)) return true;
|
|
5726
|
+
if (g.slice(0, 7).every((group) => group === 0) && g[7] === 1) return true;
|
|
5727
|
+
if ((g[0] & 65024) === 64512) return true;
|
|
5728
|
+
if ((g[0] & 65472) === 65152) return true;
|
|
5729
|
+
if ((g[0] & 65472) === 65216) return true;
|
|
5730
|
+
if ((g[0] & 65280) === 65280) return true;
|
|
5731
|
+
if (g[0] === 8193 && g[1] === 3512) return true;
|
|
5732
|
+
if (g[0] === 100 && g[1] === 65435 && g[2] === 1) return true;
|
|
5733
|
+
const v4 = embeddedIPv42(ip);
|
|
5734
|
+
if (v4 && isPrivateIPv42(v4)) return true;
|
|
5641
5735
|
return false;
|
|
5642
5736
|
}
|
|
5643
5737
|
|
package/dist/index.js
CHANGED
|
@@ -4995,6 +4995,7 @@ function isSafeWebhookUrl(rawUrl) {
|
|
|
4995
4995
|
if (host.startsWith("[") && host.endsWith("]")) {
|
|
4996
4996
|
host = host.slice(1, -1);
|
|
4997
4997
|
}
|
|
4998
|
+
host = host.replace(/\.+$/, "");
|
|
4998
4999
|
if (CLOUD_METADATA_HOSTNAMES.has(host)) {
|
|
4999
5000
|
return false;
|
|
5000
5001
|
}
|
|
@@ -5024,23 +5025,69 @@ function isPrivateIPv4(ip) {
|
|
|
5024
5025
|
if (a === 172 && b >= 16 && b <= 31) return true;
|
|
5025
5026
|
if (a === 192 && b === 168) return true;
|
|
5026
5027
|
if (a === 192 && b === 0 && parts[2] === 0) return true;
|
|
5028
|
+
if (a === 198 && (b === 18 || b === 19)) return true;
|
|
5029
|
+
if (a === 192 && b === 0 && parts[2] === 2) return true;
|
|
5030
|
+
if (a === 198 && b === 51 && parts[2] === 100) return true;
|
|
5031
|
+
if (a === 203 && b === 0 && parts[2] === 113) return true;
|
|
5027
5032
|
if (a === 100 && b >= 64 && b <= 127) return true;
|
|
5028
5033
|
if (a >= 224) return true;
|
|
5029
5034
|
return false;
|
|
5030
5035
|
}
|
|
5036
|
+
function parseIPv6Groups(ip) {
|
|
5037
|
+
let text = ip.trim().toLowerCase();
|
|
5038
|
+
const zone = text.indexOf("%");
|
|
5039
|
+
if (zone >= 0) text = text.slice(0, zone);
|
|
5040
|
+
if (isIP(text) !== 6) return null;
|
|
5041
|
+
const lastColon = text.lastIndexOf(":");
|
|
5042
|
+
const tail = text.slice(lastColon + 1);
|
|
5043
|
+
if (tail.includes(".")) {
|
|
5044
|
+
if (isIP(tail) !== 4) return null;
|
|
5045
|
+
const [a, b, c, d] = tail.split(".").map((part) => Number(part));
|
|
5046
|
+
text = `${text.slice(0, lastColon + 1)}${(a << 8 | b).toString(16)}:${(c << 8 | d).toString(16)}`;
|
|
5047
|
+
}
|
|
5048
|
+
const halves = text.split("::");
|
|
5049
|
+
if (halves.length > 2) return null;
|
|
5050
|
+
const head = halves[0] ? halves[0].split(":") : [];
|
|
5051
|
+
const rest = halves.length === 2 && halves[1] ? halves[1].split(":") : [];
|
|
5052
|
+
const fill = halves.length === 2 ? 8 - head.length - rest.length : 0;
|
|
5053
|
+
if (fill < 0) return null;
|
|
5054
|
+
const groups = [...head, ...new Array(fill).fill("0"), ...rest].map((group) => parseInt(group, 16));
|
|
5055
|
+
if (groups.length !== 8 || groups.some((group) => Number.isNaN(group) || group < 0 || group > 65535)) {
|
|
5056
|
+
return null;
|
|
5057
|
+
}
|
|
5058
|
+
return groups;
|
|
5059
|
+
}
|
|
5060
|
+
function ipv4FromGroups(high, low) {
|
|
5061
|
+
return `${high >> 8}.${high & 255}.${low >> 8}.${low & 255}`;
|
|
5062
|
+
}
|
|
5063
|
+
function embeddedIPv4(ip) {
|
|
5064
|
+
const g = parseIPv6Groups(ip);
|
|
5065
|
+
if (!g) return null;
|
|
5066
|
+
const zeros = (from, to) => g.slice(from, to).every((group) => group === 0);
|
|
5067
|
+
if (zeros(0, 5) && g[5] === 65535) return ipv4FromGroups(g[6], g[7]);
|
|
5068
|
+
if (zeros(0, 4) && g[4] === 65535 && g[5] === 0) return ipv4FromGroups(g[6], g[7]);
|
|
5069
|
+
if (zeros(0, 6) && (g[6] !== 0 || g[7] > 1)) return ipv4FromGroups(g[6], g[7]);
|
|
5070
|
+
if (g[0] === 100 && g[1] === 65435 && zeros(2, 6)) return ipv4FromGroups(g[6], g[7]);
|
|
5071
|
+
if (g[0] === 8194) return ipv4FromGroups(g[1], g[2]);
|
|
5072
|
+
if (g[0] === 8193 && g[1] === 0) return ipv4FromGroups(g[6] ^ 65535, g[7] ^ 65535);
|
|
5073
|
+
return null;
|
|
5074
|
+
}
|
|
5031
5075
|
function isPrivateIPv6(ip) {
|
|
5032
|
-
const
|
|
5033
|
-
if (
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
if (
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
|
|
5076
|
+
const g = parseIPv6Groups(ip);
|
|
5077
|
+
if (!g) {
|
|
5078
|
+
const lower = ip.toLowerCase();
|
|
5079
|
+
return lower === "::1" || lower === "::" || lower.startsWith("fc") || lower.startsWith("fd");
|
|
5080
|
+
}
|
|
5081
|
+
if (g.every((group) => group === 0)) return true;
|
|
5082
|
+
if (g.slice(0, 7).every((group) => group === 0) && g[7] === 1) return true;
|
|
5083
|
+
if ((g[0] & 65024) === 64512) return true;
|
|
5084
|
+
if ((g[0] & 65472) === 65152) return true;
|
|
5085
|
+
if ((g[0] & 65472) === 65216) return true;
|
|
5086
|
+
if ((g[0] & 65280) === 65280) return true;
|
|
5087
|
+
if (g[0] === 8193 && g[1] === 3512) return true;
|
|
5088
|
+
if (g[0] === 100 && g[1] === 65435 && g[2] === 1) return true;
|
|
5089
|
+
const v4 = embeddedIPv4(ip);
|
|
5090
|
+
if (v4 && isPrivateIPv4(v4)) return true;
|
|
5044
5091
|
return false;
|
|
5045
5092
|
}
|
|
5046
5093
|
var defaultDnsResolver = (hostname) => dns.promises.lookup(hostname, { all: true });
|
|
@@ -5568,6 +5615,7 @@ function isSafeWebhookUrl2(rawUrl) {
|
|
|
5568
5615
|
if (host.startsWith("[") && host.endsWith("]")) {
|
|
5569
5616
|
host = host.slice(1, -1);
|
|
5570
5617
|
}
|
|
5618
|
+
host = host.replace(/\.+$/, "");
|
|
5571
5619
|
if (CLOUD_METADATA_HOSTNAMES2.has(host)) {
|
|
5572
5620
|
return false;
|
|
5573
5621
|
}
|
|
@@ -5597,23 +5645,69 @@ function isPrivateIPv42(ip) {
|
|
|
5597
5645
|
if (a === 172 && b >= 16 && b <= 31) return true;
|
|
5598
5646
|
if (a === 192 && b === 168) return true;
|
|
5599
5647
|
if (a === 192 && b === 0 && parts[2] === 0) return true;
|
|
5648
|
+
if (a === 198 && (b === 18 || b === 19)) return true;
|
|
5649
|
+
if (a === 192 && b === 0 && parts[2] === 2) return true;
|
|
5650
|
+
if (a === 198 && b === 51 && parts[2] === 100) return true;
|
|
5651
|
+
if (a === 203 && b === 0 && parts[2] === 113) return true;
|
|
5600
5652
|
if (a === 100 && b >= 64 && b <= 127) return true;
|
|
5601
5653
|
if (a >= 224) return true;
|
|
5602
5654
|
return false;
|
|
5603
5655
|
}
|
|
5656
|
+
function parseIPv6Groups2(ip) {
|
|
5657
|
+
let text = ip.trim().toLowerCase();
|
|
5658
|
+
const zone = text.indexOf("%");
|
|
5659
|
+
if (zone >= 0) text = text.slice(0, zone);
|
|
5660
|
+
if (isIP(text) !== 6) return null;
|
|
5661
|
+
const lastColon = text.lastIndexOf(":");
|
|
5662
|
+
const tail = text.slice(lastColon + 1);
|
|
5663
|
+
if (tail.includes(".")) {
|
|
5664
|
+
if (isIP(tail) !== 4) return null;
|
|
5665
|
+
const [a, b, c, d] = tail.split(".").map((part) => Number(part));
|
|
5666
|
+
text = `${text.slice(0, lastColon + 1)}${(a << 8 | b).toString(16)}:${(c << 8 | d).toString(16)}`;
|
|
5667
|
+
}
|
|
5668
|
+
const halves = text.split("::");
|
|
5669
|
+
if (halves.length > 2) return null;
|
|
5670
|
+
const head = halves[0] ? halves[0].split(":") : [];
|
|
5671
|
+
const rest = halves.length === 2 && halves[1] ? halves[1].split(":") : [];
|
|
5672
|
+
const fill = halves.length === 2 ? 8 - head.length - rest.length : 0;
|
|
5673
|
+
if (fill < 0) return null;
|
|
5674
|
+
const groups = [...head, ...new Array(fill).fill("0"), ...rest].map((group) => parseInt(group, 16));
|
|
5675
|
+
if (groups.length !== 8 || groups.some((group) => Number.isNaN(group) || group < 0 || group > 65535)) {
|
|
5676
|
+
return null;
|
|
5677
|
+
}
|
|
5678
|
+
return groups;
|
|
5679
|
+
}
|
|
5680
|
+
function ipv4FromGroups2(high, low) {
|
|
5681
|
+
return `${high >> 8}.${high & 255}.${low >> 8}.${low & 255}`;
|
|
5682
|
+
}
|
|
5683
|
+
function embeddedIPv42(ip) {
|
|
5684
|
+
const g = parseIPv6Groups2(ip);
|
|
5685
|
+
if (!g) return null;
|
|
5686
|
+
const zeros = (from, to) => g.slice(from, to).every((group) => group === 0);
|
|
5687
|
+
if (zeros(0, 5) && g[5] === 65535) return ipv4FromGroups2(g[6], g[7]);
|
|
5688
|
+
if (zeros(0, 4) && g[4] === 65535 && g[5] === 0) return ipv4FromGroups2(g[6], g[7]);
|
|
5689
|
+
if (zeros(0, 6) && (g[6] !== 0 || g[7] > 1)) return ipv4FromGroups2(g[6], g[7]);
|
|
5690
|
+
if (g[0] === 100 && g[1] === 65435 && zeros(2, 6)) return ipv4FromGroups2(g[6], g[7]);
|
|
5691
|
+
if (g[0] === 8194) return ipv4FromGroups2(g[1], g[2]);
|
|
5692
|
+
if (g[0] === 8193 && g[1] === 0) return ipv4FromGroups2(g[6] ^ 65535, g[7] ^ 65535);
|
|
5693
|
+
return null;
|
|
5694
|
+
}
|
|
5604
5695
|
function isPrivateIPv62(ip) {
|
|
5605
|
-
const
|
|
5606
|
-
if (
|
|
5607
|
-
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
|
-
if (
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
|
|
5696
|
+
const g = parseIPv6Groups2(ip);
|
|
5697
|
+
if (!g) {
|
|
5698
|
+
const lower = ip.toLowerCase();
|
|
5699
|
+
return lower === "::1" || lower === "::" || lower.startsWith("fc") || lower.startsWith("fd");
|
|
5700
|
+
}
|
|
5701
|
+
if (g.every((group) => group === 0)) return true;
|
|
5702
|
+
if (g.slice(0, 7).every((group) => group === 0) && g[7] === 1) return true;
|
|
5703
|
+
if ((g[0] & 65024) === 64512) return true;
|
|
5704
|
+
if ((g[0] & 65472) === 65152) return true;
|
|
5705
|
+
if ((g[0] & 65472) === 65216) return true;
|
|
5706
|
+
if ((g[0] & 65280) === 65280) return true;
|
|
5707
|
+
if (g[0] === 8193 && g[1] === 3512) return true;
|
|
5708
|
+
if (g[0] === 100 && g[1] === 65435 && g[2] === 1) return true;
|
|
5709
|
+
const v4 = embeddedIPv42(ip);
|
|
5710
|
+
if (v4 && isPrivateIPv42(v4)) return true;
|
|
5617
5711
|
return false;
|
|
5618
5712
|
}
|
|
5619
5713
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ever-works/mistral-plugin",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Mistral AI provider plugin for Ever Works platform",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Ever Co. LTD",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"test:watch": "vitest"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@ever-works/plugin": "^1.2.
|
|
35
|
+
"@ever-works/plugin": "^1.2.9",
|
|
36
36
|
"@langchain/openai": "^0.6.17",
|
|
37
37
|
"@langchain/core": "^0.3.80"
|
|
38
38
|
},
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"url": "https://github.com/ever-works/ever-works/issues"
|
|
72
72
|
},
|
|
73
73
|
"everworksRelease": {
|
|
74
|
-
"contentHash": "sha256:
|
|
75
|
-
"commit": "
|
|
76
|
-
"source": "https://github.com/ever-works/ever-works/tree/
|
|
74
|
+
"contentHash": "sha256:94c843c12b52ab985cc254198044eb516a4140ad5a1bb46f4f5721f3cab6ef73",
|
|
75
|
+
"commit": "5b5a17e1cdc02e06383d508a6424a863521fc3e0",
|
|
76
|
+
"source": "https://github.com/ever-works/ever-works/tree/5b5a17e1cdc02e06383d508a6424a863521fc3e0/packages/plugins/mistral"
|
|
77
77
|
}
|
|
78
78
|
}
|