@chainpatrol/sdk 1.11.0 → 1.12.0
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 +16 -0
- package/dist/api/index.d.mts +18 -1
- package/dist/api/index.d.ts +18 -1
- package/dist/api/index.js +9 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +9 -0
- package/dist/api/index.mjs.map +1 -1
- package/dist/index.js +1220 -969
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1220 -969
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1274,17 +1274,17 @@ var PolyDateFormatter = class {
|
|
|
1274
1274
|
constructor(dt, intl, opts) {
|
|
1275
1275
|
this.opts = opts;
|
|
1276
1276
|
this.originalZone = void 0;
|
|
1277
|
-
let
|
|
1277
|
+
let z68 = void 0;
|
|
1278
1278
|
if (this.opts.timeZone) {
|
|
1279
1279
|
this.dt = dt;
|
|
1280
1280
|
} else if (dt.zone.type === "fixed") {
|
|
1281
1281
|
const gmtOffset = -1 * (dt.offset / 60);
|
|
1282
1282
|
const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;
|
|
1283
1283
|
if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {
|
|
1284
|
-
|
|
1284
|
+
z68 = offsetZ;
|
|
1285
1285
|
this.dt = dt;
|
|
1286
1286
|
} else {
|
|
1287
|
-
|
|
1287
|
+
z68 = "UTC";
|
|
1288
1288
|
this.dt = dt.offset === 0 ? dt : dt.setZone("UTC").plus({ minutes: dt.offset });
|
|
1289
1289
|
this.originalZone = dt.zone;
|
|
1290
1290
|
}
|
|
@@ -1292,14 +1292,14 @@ var PolyDateFormatter = class {
|
|
|
1292
1292
|
this.dt = dt;
|
|
1293
1293
|
} else if (dt.zone.type === "iana") {
|
|
1294
1294
|
this.dt = dt;
|
|
1295
|
-
|
|
1295
|
+
z68 = dt.zone.name;
|
|
1296
1296
|
} else {
|
|
1297
|
-
|
|
1297
|
+
z68 = "UTC";
|
|
1298
1298
|
this.dt = dt.setZone("UTC").plus({ minutes: dt.offset });
|
|
1299
1299
|
this.originalZone = dt.zone;
|
|
1300
1300
|
}
|
|
1301
1301
|
const intlOpts = __spreadValues({}, this.opts);
|
|
1302
|
-
intlOpts.timeZone = intlOpts.timeZone ||
|
|
1302
|
+
intlOpts.timeZone = intlOpts.timeZone || z68;
|
|
1303
1303
|
this.dtf = getCachedDTF(intl, intlOpts);
|
|
1304
1304
|
}
|
|
1305
1305
|
format() {
|
|
@@ -7033,6 +7033,14 @@ zod.z.object({
|
|
|
7033
7033
|
zod.z.object({
|
|
7034
7034
|
noteId: zod.z.number().int().positive()
|
|
7035
7035
|
});
|
|
7036
|
+
var getAssetSubscriptionSchema = zod.z.object({
|
|
7037
|
+
slug: zod.z.string().min(1),
|
|
7038
|
+
assetId: zod.z.number().int().positive()
|
|
7039
|
+
});
|
|
7040
|
+
getAssetSubscriptionSchema.extend({
|
|
7041
|
+
/** True to follow this asset, false to stop following it. */
|
|
7042
|
+
subscribed: zod.z.boolean()
|
|
7043
|
+
});
|
|
7036
7044
|
var ASSET_TAGS = {
|
|
7037
7045
|
ENFORCEMENT_EXHAUSTED: {
|
|
7038
7046
|
label: "Enforcement Exhausted",
|
|
@@ -7062,6 +7070,9 @@ zod.z.object({
|
|
|
7062
7070
|
email: zod.z.string().email(),
|
|
7063
7071
|
description: zod.z.string().optional().default("")
|
|
7064
7072
|
});
|
|
7073
|
+
zod.z.object({
|
|
7074
|
+
slug: zod.z.string().min(1)
|
|
7075
|
+
});
|
|
7065
7076
|
zod.z.object({
|
|
7066
7077
|
/** Canonicalization algorithm version the client computed its prefixes with. */
|
|
7067
7078
|
algoVersion: zod.z.number().int().positive(),
|
|
@@ -7210,7 +7221,8 @@ var AssetType = {
|
|
|
7210
7221
|
SMARTMONEYMATCH: "SMARTMONEYMATCH",
|
|
7211
7222
|
APK_GOLD: "APK_GOLD",
|
|
7212
7223
|
GLASSDOOR: "GLASSDOOR",
|
|
7213
|
-
PUMP_FUN: "PUMP_FUN"
|
|
7224
|
+
PUMP_FUN: "PUMP_FUN",
|
|
7225
|
+
TUMBLR: "TUMBLR"
|
|
7214
7226
|
};
|
|
7215
7227
|
var LivenessStatus = {
|
|
7216
7228
|
UNKNOWN: "UNKNOWN",
|
|
@@ -7539,6 +7551,7 @@ var ThreatDetectionSourceKey = /* @__PURE__ */ ((ThreatDetectionSourceKey2) => {
|
|
|
7539
7551
|
ThreatDetectionSourceKey2["BLOCKLIST"] = "blocklist";
|
|
7540
7552
|
ThreatDetectionSourceKey2["APPLE_APP_STORE"] = "apple_app_store";
|
|
7541
7553
|
ThreatDetectionSourceKey2["GOOGLE_ADS_SEARCH"] = "google_ads_search";
|
|
7554
|
+
ThreatDetectionSourceKey2["GOOGLE_ADS_TRANSPARENCY_SEARCH"] = "google_ads_transparency_search";
|
|
7542
7555
|
ThreatDetectionSourceKey2["MOZILLA_ADDON_SEARCH"] = "mozilla_addon_search";
|
|
7543
7556
|
ThreatDetectionSourceKey2["REDDIT_SUBREDDIT_SEARCH"] = "reddit_subreddit_search";
|
|
7544
7557
|
ThreatDetectionSourceKey2["ASSET_CHECK"] = "asset_check";
|
|
@@ -7585,638 +7598,47 @@ var ThreatDetectionScope = /* @__PURE__ */ ((ThreatDetectionScope2) => {
|
|
|
7585
7598
|
return ThreatDetectionScope2;
|
|
7586
7599
|
})(ThreatDetectionScope || {});
|
|
7587
7600
|
|
|
7588
|
-
// ../../internal/utils/src/
|
|
7589
|
-
var
|
|
7590
|
-
__export(
|
|
7591
|
-
|
|
7592
|
-
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
|
|
7601
|
+
// ../../internal/utils/src/url.ts
|
|
7602
|
+
var url_exports = {};
|
|
7603
|
+
__export(url_exports, {
|
|
7604
|
+
URL_REGEX: () => URL_REGEX,
|
|
7605
|
+
containsPunycode: () => containsPunycode,
|
|
7606
|
+
convertHttpsToHttp: () => convertHttpsToHttp,
|
|
7607
|
+
ensureHttpsPrefix: () => ensureHttpsPrefix,
|
|
7608
|
+
generateCanonicalIPFSUrl: () => generateCanonicalIPFSUrl,
|
|
7609
|
+
getDefangedUrl: () => getDefangedUrl,
|
|
7610
|
+
getDomain: () => tldts.getDomain,
|
|
7611
|
+
getFaviconUrl: () => getFaviconUrl,
|
|
7612
|
+
getHostname: () => getHostname,
|
|
7613
|
+
getNormalizedUrl: () => getNormalizedUrl,
|
|
7614
|
+
getParentDomains: () => getParentDomains,
|
|
7615
|
+
getPublicHostname: () => getPublicHostname,
|
|
7616
|
+
getRefangedUrl: () => getRefangedUrl,
|
|
7617
|
+
isEmail: () => isEmail,
|
|
7618
|
+
isUrl: () => isUrl,
|
|
7619
|
+
isWalrusSite: () => isWalrusSite,
|
|
7620
|
+
removeHttpProtocol: () => removeHttpProtocol,
|
|
7621
|
+
sanitizeHttpUrl: () => sanitizeHttpUrl,
|
|
7622
|
+
slugify: () => slugify,
|
|
7623
|
+
stripDomainWildcardPrefix: () => stripDomainWildcardPrefix,
|
|
7624
|
+
toUnicode: () => toUnicode2,
|
|
7625
|
+
trimDomainToLevels: () => trimDomainToLevels
|
|
7596
7626
|
});
|
|
7597
|
-
var AssetScanEnrichmentType = /* @__PURE__ */ ((AssetScanEnrichmentType2) => {
|
|
7598
|
-
AssetScanEnrichmentType2["CONTENT_AND_METADATA"] = "content_and_metadata";
|
|
7599
|
-
AssetScanEnrichmentType2["BROWSER_CAPTURE"] = "browser_capture";
|
|
7600
|
-
AssetScanEnrichmentType2["OWNERSHIP_AND_REGISTRATION"] = "ownership_and_registration";
|
|
7601
|
-
AssetScanEnrichmentType2["GEOLOCATION_AND_IP"] = "geolocation_and_ip";
|
|
7602
|
-
AssetScanEnrichmentType2["DNS"] = "dns";
|
|
7603
|
-
AssetScanEnrichmentType2["TLS"] = "tls";
|
|
7604
|
-
AssetScanEnrichmentType2["TCP"] = "tcp";
|
|
7605
|
-
AssetScanEnrichmentType2["HOSTNAME_FIRST_SEEN"] = "hostname_first_seen";
|
|
7606
|
-
AssetScanEnrichmentType2["TWITTER_POST"] = "post";
|
|
7607
|
-
AssetScanEnrichmentType2["TWITTER_PROFILE"] = "profile";
|
|
7608
|
-
AssetScanEnrichmentType2["TWITTER_FOLLOWERS"] = "twitter_followers";
|
|
7609
|
-
AssetScanEnrichmentType2["FARCASTER_CAST"] = "cast";
|
|
7610
|
-
AssetScanEnrichmentType2["FARCASTER_PROFILE"] = "farcaster_profile";
|
|
7611
|
-
AssetScanEnrichmentType2["FARCASTER_CHANNEL"] = "channel";
|
|
7612
|
-
AssetScanEnrichmentType2["FARCASTER_MINIAPP"] = "miniapp";
|
|
7613
|
-
AssetScanEnrichmentType2["TELEGRAM_PROFILE"] = "telegram_profile";
|
|
7614
|
-
AssetScanEnrichmentType2["INSTAGRAM_PROFILE"] = "instagram_profile";
|
|
7615
|
-
AssetScanEnrichmentType2["FACEBOOK_PROFILE"] = "facebook_profile";
|
|
7616
|
-
AssetScanEnrichmentType2["YOUTUBE_VIDEO"] = "youtube_video";
|
|
7617
|
-
AssetScanEnrichmentType2["YOUTUBE_CHANNEL"] = "youtube_channel";
|
|
7618
|
-
AssetScanEnrichmentType2["APPLE_APP_STORE_LISTING"] = "apple_app_store_listing";
|
|
7619
|
-
AssetScanEnrichmentType2["GOOGLE_PLAY_STORE_LISTING"] = "google_play_store_listing";
|
|
7620
|
-
AssetScanEnrichmentType2["MOZILLA_ADDON"] = "mozilla_addon";
|
|
7621
|
-
AssetScanEnrichmentType2["REDDIT_SUBREDDIT"] = "reddit_subreddit";
|
|
7622
|
-
AssetScanEnrichmentType2["EMAIL_VALIDATION"] = "email_validation";
|
|
7623
|
-
AssetScanEnrichmentType2["PHONE_LOOKUP"] = "phone_lookup";
|
|
7624
|
-
AssetScanEnrichmentType2["BILIBILI_VIDEO"] = "bilibili_video";
|
|
7625
|
-
AssetScanEnrichmentType2["BILIBILI_PROFILE"] = "bilibili_profile";
|
|
7626
|
-
AssetScanEnrichmentType2["DAILYMOTION_VIDEO"] = "dailymotion_video";
|
|
7627
|
-
AssetScanEnrichmentType2["VIMEO_VIDEO"] = "vimeo_video";
|
|
7628
|
-
AssetScanEnrichmentType2["VIMEO_PROFILE"] = "vimeo_profile";
|
|
7629
|
-
AssetScanEnrichmentType2["STACKBLITZ_PAGE"] = "stackblitz_page";
|
|
7630
|
-
AssetScanEnrichmentType2["LEETCODE_PAGE"] = "leetcode_page";
|
|
7631
|
-
AssetScanEnrichmentType2["TUMBLR_BLOG"] = "tumblr_blog";
|
|
7632
|
-
AssetScanEnrichmentType2["TUMBLR_POST"] = "tumblr_post";
|
|
7633
|
-
AssetScanEnrichmentType2["TUMBLR_COMMUNITY"] = "tumblr_community";
|
|
7634
|
-
AssetScanEnrichmentType2["NPM_PACKAGE"] = "npm_package";
|
|
7635
|
-
AssetScanEnrichmentType2["PYPI_PACKAGE"] = "pypi_package";
|
|
7636
|
-
AssetScanEnrichmentType2["RUST_PACKAGE"] = "rust_package";
|
|
7637
|
-
AssetScanEnrichmentType2["LINKEDIN_PROFILE"] = "linkedin_profile";
|
|
7638
|
-
AssetScanEnrichmentType2["PUMP_FUN_TOKEN"] = "pump_fun_token";
|
|
7639
|
-
AssetScanEnrichmentType2["META_AD"] = "meta_ad";
|
|
7640
|
-
AssetScanEnrichmentType2["GOOGLE_AD"] = "google_ad";
|
|
7641
|
-
AssetScanEnrichmentType2["ADLIBRARY_AD"] = "adlibrary_ad";
|
|
7642
|
-
AssetScanEnrichmentType2["CONTRACT_DEPLOYER"] = "contract_deployer";
|
|
7643
|
-
return AssetScanEnrichmentType2;
|
|
7644
|
-
})(AssetScanEnrichmentType || {});
|
|
7645
|
-
var AssetScanEnrichmentSource = /* @__PURE__ */ ((AssetScanEnrichmentSource2) => {
|
|
7646
|
-
AssetScanEnrichmentSource2["URLSCAN"] = "urlscan";
|
|
7647
|
-
AssetScanEnrichmentSource2["WHOIS"] = "whois";
|
|
7648
|
-
AssetScanEnrichmentSource2["RDAP"] = "rdap";
|
|
7649
|
-
AssetScanEnrichmentSource2["HTTP_CONTENT"] = "http_content";
|
|
7650
|
-
AssetScanEnrichmentSource2["NETWORK"] = "node_js_network";
|
|
7651
|
-
AssetScanEnrichmentSource2["EXTENSION"] = "extension";
|
|
7652
|
-
AssetScanEnrichmentSource2["PLAYWRIGHT"] = "playwright";
|
|
7653
|
-
AssetScanEnrichmentSource2["CHAINPATROL_BROWSER"] = "chainpatrol_browser";
|
|
7654
|
-
AssetScanEnrichmentSource2["STEEL_BROWSER"] = "steel_browser";
|
|
7655
|
-
AssetScanEnrichmentSource2["X_API"] = "x_api";
|
|
7656
|
-
AssetScanEnrichmentSource2["SOCIALDATA_API"] = "socialdata_api";
|
|
7657
|
-
AssetScanEnrichmentSource2["NEYNAR_API"] = "neynar_api";
|
|
7658
|
-
AssetScanEnrichmentSource2["TELEGRAM_API"] = "telegram_api";
|
|
7659
|
-
AssetScanEnrichmentSource2["INSTAGRAM_API"] = "instagram_api";
|
|
7660
|
-
AssetScanEnrichmentSource2["FACEBOOK_API"] = "facebook_api";
|
|
7661
|
-
AssetScanEnrichmentSource2["YOUTUBE_API"] = "youtube_api";
|
|
7662
|
-
AssetScanEnrichmentSource2["APPLE_APP_STORE_API"] = "apple_app_store_api";
|
|
7663
|
-
AssetScanEnrichmentSource2["GOOGLE_PLAY_STORE_API"] = "google_play_store_api";
|
|
7664
|
-
AssetScanEnrichmentSource2["MOZILLA_ADDONS_API"] = "mozilla_addons_api";
|
|
7665
|
-
AssetScanEnrichmentSource2["REDDIT_API"] = "reddit_api";
|
|
7666
|
-
AssetScanEnrichmentSource2["MAILS_API"] = "mails_api";
|
|
7667
|
-
AssetScanEnrichmentSource2["TELNYX_LOOKUP"] = "telnyx_lookup";
|
|
7668
|
-
AssetScanEnrichmentSource2["TWILIO_LOOKUP"] = "twilio_lookup";
|
|
7669
|
-
AssetScanEnrichmentSource2["DAILYMOTION_API"] = "dailymotion_api";
|
|
7670
|
-
AssetScanEnrichmentSource2["VIMEO_API"] = "vimeo_api";
|
|
7671
|
-
AssetScanEnrichmentSource2["STACKBLITZ_API"] = "stackblitz_api";
|
|
7672
|
-
AssetScanEnrichmentSource2["LEETCODE_API"] = "leetcode_api";
|
|
7673
|
-
AssetScanEnrichmentSource2["TUMBLR_API"] = "tumblr_api";
|
|
7674
|
-
AssetScanEnrichmentSource2["NPM_REGISTRY_API"] = "npm_registry_api";
|
|
7675
|
-
AssetScanEnrichmentSource2["PYPI_REGISTRY_API"] = "pypi_registry_api";
|
|
7676
|
-
AssetScanEnrichmentSource2["CRATES_IO_API"] = "crates_io_api";
|
|
7677
|
-
AssetScanEnrichmentSource2["APIFY_LINKEDIN_API"] = "apify_linkedin_api";
|
|
7678
|
-
AssetScanEnrichmentSource2["PUMP_FUN_API"] = "pump_fun_api";
|
|
7679
|
-
AssetScanEnrichmentSource2["META_ADS_LIBRARY"] = "meta_ads_library";
|
|
7680
|
-
AssetScanEnrichmentSource2["STEEL_META_ADS_LIBRARY"] = "steel_meta_ads_library";
|
|
7681
|
-
AssetScanEnrichmentSource2["GOOGLE_ADS_TRANSPARENCY_CENTER"] = "google_ads_transparency_center";
|
|
7682
|
-
AssetScanEnrichmentSource2["ADLIBRARY"] = "adlibrary";
|
|
7683
|
-
AssetScanEnrichmentSource2["ETHERSCAN_API"] = "etherscan_api";
|
|
7684
|
-
return AssetScanEnrichmentSource2;
|
|
7685
|
-
})(AssetScanEnrichmentSource || {});
|
|
7686
|
-
var ASSET_SCAN_ENRICHMENT_TYPE_LABELS = {
|
|
7687
|
-
["content_and_metadata" /* CONTENT_AND_METADATA */]: "Content and Metadata",
|
|
7688
|
-
["post" /* TWITTER_POST */]: "Post",
|
|
7689
|
-
["profile" /* TWITTER_PROFILE */]: "Profile",
|
|
7690
|
-
["twitter_followers" /* TWITTER_FOLLOWERS */]: "Twitter Followers",
|
|
7691
|
-
["browser_capture" /* BROWSER_CAPTURE */]: "Browser Capture",
|
|
7692
|
-
["geolocation_and_ip" /* GEOLOCATION_AND_IP */]: "Geolocation and IP",
|
|
7693
|
-
["ownership_and_registration" /* OWNERSHIP_AND_REGISTRATION */]: "Ownership and Registration",
|
|
7694
|
-
["dns" /* DNS */]: "DNS Lookup",
|
|
7695
|
-
["tls" /* TLS */]: "TLS Connection Info",
|
|
7696
|
-
["tcp" /* TCP */]: "TCP Connection Info",
|
|
7697
|
-
["hostname_first_seen" /* HOSTNAME_FIRST_SEEN */]: "Hostname First Seen",
|
|
7698
|
-
// Farcaster
|
|
7699
|
-
["cast" /* FARCASTER_CAST */]: "Farcaster Cast",
|
|
7700
|
-
["farcaster_profile" /* FARCASTER_PROFILE */]: "Farcaster Profile",
|
|
7701
|
-
["channel" /* FARCASTER_CHANNEL */]: "Farcaster Channel",
|
|
7702
|
-
["miniapp" /* FARCASTER_MINIAPP */]: "Farcaster MiniApp",
|
|
7703
|
-
// Telegram
|
|
7704
|
-
["telegram_profile" /* TELEGRAM_PROFILE */]: "Telegram Profile",
|
|
7705
|
-
// Instagram
|
|
7706
|
-
["instagram_profile" /* INSTAGRAM_PROFILE */]: "Instagram Profile",
|
|
7707
|
-
// Facebook
|
|
7708
|
-
["facebook_profile" /* FACEBOOK_PROFILE */]: "Facebook Profile",
|
|
7709
|
-
// YouTube
|
|
7710
|
-
["youtube_video" /* YOUTUBE_VIDEO */]: "YouTube Video",
|
|
7711
|
-
["youtube_channel" /* YOUTUBE_CHANNEL */]: "YouTube Channel",
|
|
7712
|
-
// Apple App Store
|
|
7713
|
-
["apple_app_store_listing" /* APPLE_APP_STORE_LISTING */]: "Apple App Store Listing",
|
|
7714
|
-
// Google Play Store
|
|
7715
|
-
["google_play_store_listing" /* GOOGLE_PLAY_STORE_LISTING */]: "Google Play Store Listing",
|
|
7716
|
-
// Mozilla
|
|
7717
|
-
["mozilla_addon" /* MOZILLA_ADDON */]: "Mozilla Add-on",
|
|
7718
|
-
// Reddit
|
|
7719
|
-
["reddit_subreddit" /* REDDIT_SUBREDDIT */]: "Reddit Subreddit",
|
|
7720
|
-
// Email
|
|
7721
|
-
["email_validation" /* EMAIL_VALIDATION */]: "Email Validation",
|
|
7722
|
-
// Phone Number
|
|
7723
|
-
["phone_lookup" /* PHONE_LOOKUP */]: "Phone Lookup",
|
|
7724
|
-
// Bilibili
|
|
7725
|
-
["bilibili_video" /* BILIBILI_VIDEO */]: "Bilibili Video",
|
|
7726
|
-
["bilibili_profile" /* BILIBILI_PROFILE */]: "Bilibili Profile",
|
|
7727
|
-
// DailyMotion
|
|
7728
|
-
["dailymotion_video" /* DAILYMOTION_VIDEO */]: "DailyMotion Video",
|
|
7729
|
-
// Vimeo
|
|
7730
|
-
["vimeo_video" /* VIMEO_VIDEO */]: "Vimeo Video",
|
|
7731
|
-
["vimeo_profile" /* VIMEO_PROFILE */]: "Vimeo Profile",
|
|
7732
|
-
// Stackblitz
|
|
7733
|
-
["stackblitz_page" /* STACKBLITZ_PAGE */]: "Stackblitz Page",
|
|
7734
|
-
// Leetcode
|
|
7735
|
-
["leetcode_page" /* LEETCODE_PAGE */]: "Leetcode Page",
|
|
7736
|
-
// Tumblr
|
|
7737
|
-
["tumblr_blog" /* TUMBLR_BLOG */]: "Tumblr Blog",
|
|
7738
|
-
["tumblr_post" /* TUMBLR_POST */]: "Tumblr Post",
|
|
7739
|
-
["tumblr_community" /* TUMBLR_COMMUNITY */]: "Tumblr Community",
|
|
7740
|
-
// NPM
|
|
7741
|
-
["npm_package" /* NPM_PACKAGE */]: "NPM Package",
|
|
7742
|
-
// PyPI
|
|
7743
|
-
["pypi_package" /* PYPI_PACKAGE */]: "PyPI Package",
|
|
7744
|
-
// Rust Package
|
|
7745
|
-
["rust_package" /* RUST_PACKAGE */]: "Rust Package",
|
|
7746
|
-
// LinkedIn
|
|
7747
|
-
["linkedin_profile" /* LINKEDIN_PROFILE */]: "LinkedIn Profile",
|
|
7748
|
-
// Pump.fun
|
|
7749
|
-
["pump_fun_token" /* PUMP_FUN_TOKEN */]: "Pump.fun Token",
|
|
7750
|
-
// Meta Ads
|
|
7751
|
-
["meta_ad" /* META_AD */]: "Meta Ad",
|
|
7752
|
-
// Google Ads
|
|
7753
|
-
["google_ad" /* GOOGLE_AD */]: "Google Ad",
|
|
7754
|
-
// Cross-platform ad intelligence
|
|
7755
|
-
["adlibrary_ad" /* ADLIBRARY_AD */]: "AdLibrary Ad",
|
|
7756
|
-
// Crypto / Onchain
|
|
7757
|
-
["contract_deployer" /* CONTRACT_DEPLOYER */]: "Contract Deployer"
|
|
7758
|
-
};
|
|
7759
|
-
var ASSET_SCAN_ENRICHMENT_SOURCE_LABELS = {
|
|
7760
|
-
// URL
|
|
7761
|
-
["urlscan" /* URLSCAN */]: "URLScan",
|
|
7762
|
-
["whois" /* WHOIS */]: "Whois",
|
|
7763
|
-
["rdap" /* RDAP */]: "RDAP",
|
|
7764
|
-
["http_content" /* HTTP_CONTENT */]: "HTTP Content",
|
|
7765
|
-
["node_js_network" /* NETWORK */]: "Network",
|
|
7766
|
-
["extension" /* EXTENSION */]: "Browser Extension",
|
|
7767
|
-
["playwright" /* PLAYWRIGHT */]: "Playwright",
|
|
7768
|
-
["chainpatrol_browser" /* CHAINPATROL_BROWSER */]: "ChainPatrol Browser",
|
|
7769
|
-
["steel_browser" /* STEEL_BROWSER */]: "Steel Browser",
|
|
7770
|
-
// Twitter
|
|
7771
|
-
["x_api" /* X_API */]: "X API",
|
|
7772
|
-
["socialdata_api" /* SOCIALDATA_API */]: "SocialData API",
|
|
7773
|
-
// Farcaster
|
|
7774
|
-
["neynar_api" /* NEYNAR_API */]: "Neynar API",
|
|
7775
|
-
// Telegram
|
|
7776
|
-
["telegram_api" /* TELEGRAM_API */]: "Telegram API",
|
|
7777
|
-
// Instagram
|
|
7778
|
-
["instagram_api" /* INSTAGRAM_API */]: "Instagram API",
|
|
7779
|
-
// Facebook
|
|
7780
|
-
["facebook_api" /* FACEBOOK_API */]: "Facebook API",
|
|
7781
|
-
// YouTube
|
|
7782
|
-
["youtube_api" /* YOUTUBE_API */]: "YouTube API",
|
|
7783
|
-
// Apple App Store
|
|
7784
|
-
["apple_app_store_api" /* APPLE_APP_STORE_API */]: "Apple App Store API",
|
|
7785
|
-
// Google Play Store
|
|
7786
|
-
["google_play_store_api" /* GOOGLE_PLAY_STORE_API */]: "Google Play Store API",
|
|
7787
|
-
// Mozilla
|
|
7788
|
-
["mozilla_addons_api" /* MOZILLA_ADDONS_API */]: "Mozilla Add-ons API",
|
|
7789
|
-
// Reddit
|
|
7790
|
-
["reddit_api" /* REDDIT_API */]: "Reddit API",
|
|
7791
|
-
// Email
|
|
7792
|
-
["mails_api" /* MAILS_API */]: "Mails.so API",
|
|
7793
|
-
// Phone Number
|
|
7794
|
-
["telnyx_lookup" /* TELNYX_LOOKUP */]: "Telnyx Lookup",
|
|
7795
|
-
["twilio_lookup" /* TWILIO_LOOKUP */]: "Twilio Lookup",
|
|
7796
|
-
// DailyMotion
|
|
7797
|
-
["dailymotion_api" /* DAILYMOTION_API */]: "DailyMotion API",
|
|
7798
|
-
// Vimeo
|
|
7799
|
-
["vimeo_api" /* VIMEO_API */]: "Vimeo API",
|
|
7800
|
-
// Stackblitz
|
|
7801
|
-
["stackblitz_api" /* STACKBLITZ_API */]: "Stackblitz API",
|
|
7802
|
-
// Leetcode
|
|
7803
|
-
["leetcode_api" /* LEETCODE_API */]: "Leetcode API",
|
|
7804
|
-
// Tumblr
|
|
7805
|
-
["tumblr_api" /* TUMBLR_API */]: "Tumblr API",
|
|
7806
|
-
// NPM
|
|
7807
|
-
["npm_registry_api" /* NPM_REGISTRY_API */]: "NPM Registry API",
|
|
7808
|
-
// PyPI
|
|
7809
|
-
["pypi_registry_api" /* PYPI_REGISTRY_API */]: "PyPI Registry API",
|
|
7810
|
-
// Rust Package
|
|
7811
|
-
["crates_io_api" /* CRATES_IO_API */]: "Crates.io API",
|
|
7812
|
-
// LinkedIn
|
|
7813
|
-
["apify_linkedin_api" /* APIFY_LINKEDIN_API */]: "Apify LinkedIn API",
|
|
7814
|
-
// Pump.fun
|
|
7815
|
-
["pump_fun_api" /* PUMP_FUN_API */]: "Pump.fun API",
|
|
7816
|
-
// Meta Ads
|
|
7817
|
-
["meta_ads_library" /* META_ADS_LIBRARY */]: "Meta Ads Library",
|
|
7818
|
-
["steel_meta_ads_library" /* STEEL_META_ADS_LIBRARY */]: "Steel Meta Ads Library",
|
|
7819
|
-
// Google Ads
|
|
7820
|
-
["google_ads_transparency_center" /* GOOGLE_ADS_TRANSPARENCY_CENTER */]: "Google Ads Transparency Center",
|
|
7821
|
-
// Cross-platform ad intelligence
|
|
7822
|
-
["adlibrary" /* ADLIBRARY */]: "AdLibrary",
|
|
7823
|
-
// Crypto / Onchain
|
|
7824
|
-
["etherscan_api" /* ETHERSCAN_API */]: "Etherscan"
|
|
7825
|
-
};
|
|
7826
|
-
var ASSET_SCAN_ENRICHMENT_SOURCE_TO_TYPES = {
|
|
7827
|
-
// URL-related sources
|
|
7828
|
-
["urlscan" /* URLSCAN */]: [
|
|
7829
|
-
"browser_capture" /* BROWSER_CAPTURE */,
|
|
7830
|
-
"geolocation_and_ip" /* GEOLOCATION_AND_IP */,
|
|
7831
|
-
"hostname_first_seen" /* HOSTNAME_FIRST_SEEN */
|
|
7832
|
-
],
|
|
7833
|
-
["whois" /* WHOIS */]: ["ownership_and_registration" /* OWNERSHIP_AND_REGISTRATION */],
|
|
7834
|
-
["rdap" /* RDAP */]: ["ownership_and_registration" /* OWNERSHIP_AND_REGISTRATION */],
|
|
7835
|
-
["http_content" /* HTTP_CONTENT */]: [
|
|
7836
|
-
"content_and_metadata" /* CONTENT_AND_METADATA */
|
|
7837
|
-
],
|
|
7838
|
-
["node_js_network" /* NETWORK */]: [
|
|
7839
|
-
"dns" /* DNS */,
|
|
7840
|
-
"tls" /* TLS */,
|
|
7841
|
-
"tcp" /* TCP */
|
|
7842
|
-
],
|
|
7843
|
-
["extension" /* EXTENSION */]: [
|
|
7844
|
-
"browser_capture" /* BROWSER_CAPTURE */,
|
|
7845
|
-
"telegram_profile" /* TELEGRAM_PROFILE */,
|
|
7846
|
-
"linkedin_profile" /* LINKEDIN_PROFILE */,
|
|
7847
|
-
"instagram_profile" /* INSTAGRAM_PROFILE */,
|
|
7848
|
-
"meta_ad" /* META_AD */
|
|
7849
|
-
],
|
|
7850
|
-
["playwright" /* PLAYWRIGHT */]: [
|
|
7851
|
-
"browser_capture" /* BROWSER_CAPTURE */,
|
|
7852
|
-
"bilibili_video" /* BILIBILI_VIDEO */,
|
|
7853
|
-
"bilibili_profile" /* BILIBILI_PROFILE */,
|
|
7854
|
-
"telegram_profile" /* TELEGRAM_PROFILE */
|
|
7855
|
-
],
|
|
7856
|
-
// Only the generic page capture: the in-house browser does not (yet) run the
|
|
7857
|
-
// platform-specific scrapes PLAYWRIGHT does above.
|
|
7858
|
-
["chainpatrol_browser" /* CHAINPATROL_BROWSER */]: [
|
|
7859
|
-
"browser_capture" /* BROWSER_CAPTURE */
|
|
7860
|
-
],
|
|
7861
|
-
["steel_browser" /* STEEL_BROWSER */]: ["browser_capture" /* BROWSER_CAPTURE */],
|
|
7862
|
-
// Twitter-related sources
|
|
7863
|
-
["x_api" /* X_API */]: [
|
|
7864
|
-
"post" /* TWITTER_POST */,
|
|
7865
|
-
"profile" /* TWITTER_PROFILE */,
|
|
7866
|
-
"twitter_followers" /* TWITTER_FOLLOWERS */
|
|
7867
|
-
],
|
|
7868
|
-
["socialdata_api" /* SOCIALDATA_API */]: [
|
|
7869
|
-
"post" /* TWITTER_POST */,
|
|
7870
|
-
"profile" /* TWITTER_PROFILE */,
|
|
7871
|
-
"twitter_followers" /* TWITTER_FOLLOWERS */
|
|
7872
|
-
],
|
|
7873
|
-
// Farcaster-related sources
|
|
7874
|
-
["neynar_api" /* NEYNAR_API */]: [
|
|
7875
|
-
"cast" /* FARCASTER_CAST */,
|
|
7876
|
-
"farcaster_profile" /* FARCASTER_PROFILE */,
|
|
7877
|
-
"channel" /* FARCASTER_CHANNEL */,
|
|
7878
|
-
"miniapp" /* FARCASTER_MINIAPP */
|
|
7879
|
-
],
|
|
7880
|
-
// Telegram-related sources
|
|
7881
|
-
["telegram_api" /* TELEGRAM_API */]: ["telegram_profile" /* TELEGRAM_PROFILE */],
|
|
7882
|
-
// Instagram-related sources
|
|
7883
|
-
["instagram_api" /* INSTAGRAM_API */]: ["instagram_profile" /* INSTAGRAM_PROFILE */],
|
|
7884
|
-
// Facebook-related sources
|
|
7885
|
-
["facebook_api" /* FACEBOOK_API */]: ["facebook_profile" /* FACEBOOK_PROFILE */],
|
|
7886
|
-
// YouTube-related sources
|
|
7887
|
-
["youtube_api" /* YOUTUBE_API */]: [
|
|
7888
|
-
"youtube_video" /* YOUTUBE_VIDEO */,
|
|
7889
|
-
"youtube_channel" /* YOUTUBE_CHANNEL */
|
|
7890
|
-
],
|
|
7891
|
-
// Apple App Store-related sources
|
|
7892
|
-
["apple_app_store_api" /* APPLE_APP_STORE_API */]: [
|
|
7893
|
-
"apple_app_store_listing" /* APPLE_APP_STORE_LISTING */
|
|
7894
|
-
],
|
|
7895
|
-
// Google Play Store-related sources
|
|
7896
|
-
["google_play_store_api" /* GOOGLE_PLAY_STORE_API */]: [
|
|
7897
|
-
"google_play_store_listing" /* GOOGLE_PLAY_STORE_LISTING */
|
|
7898
|
-
],
|
|
7899
|
-
// Mozilla-related sources
|
|
7900
|
-
["mozilla_addons_api" /* MOZILLA_ADDONS_API */]: ["mozilla_addon" /* MOZILLA_ADDON */],
|
|
7901
|
-
// Reddit-related sources
|
|
7902
|
-
["reddit_api" /* REDDIT_API */]: ["reddit_subreddit" /* REDDIT_SUBREDDIT */],
|
|
7903
|
-
// Email-related sources
|
|
7904
|
-
["mails_api" /* MAILS_API */]: ["email_validation" /* EMAIL_VALIDATION */],
|
|
7905
|
-
// Phone Number-related sources
|
|
7906
|
-
["telnyx_lookup" /* TELNYX_LOOKUP */]: ["phone_lookup" /* PHONE_LOOKUP */],
|
|
7907
|
-
["twilio_lookup" /* TWILIO_LOOKUP */]: ["phone_lookup" /* PHONE_LOOKUP */],
|
|
7908
|
-
// DailyMotion-related sources
|
|
7909
|
-
["dailymotion_api" /* DAILYMOTION_API */]: [
|
|
7910
|
-
"dailymotion_video" /* DAILYMOTION_VIDEO */
|
|
7911
|
-
],
|
|
7912
|
-
// Vimeo-related sources
|
|
7913
|
-
["vimeo_api" /* VIMEO_API */]: [
|
|
7914
|
-
"vimeo_video" /* VIMEO_VIDEO */,
|
|
7915
|
-
"vimeo_profile" /* VIMEO_PROFILE */
|
|
7916
|
-
],
|
|
7917
|
-
// Stackblitz-related sources
|
|
7918
|
-
["stackblitz_api" /* STACKBLITZ_API */]: ["stackblitz_page" /* STACKBLITZ_PAGE */],
|
|
7919
|
-
// Leetcode-related sources
|
|
7920
|
-
["leetcode_api" /* LEETCODE_API */]: ["leetcode_page" /* LEETCODE_PAGE */],
|
|
7921
|
-
// Tumblr-related sources
|
|
7922
|
-
["tumblr_api" /* TUMBLR_API */]: [
|
|
7923
|
-
"tumblr_blog" /* TUMBLR_BLOG */,
|
|
7924
|
-
"tumblr_post" /* TUMBLR_POST */,
|
|
7925
|
-
"tumblr_community" /* TUMBLR_COMMUNITY */
|
|
7926
|
-
],
|
|
7927
|
-
// NPM-related sources
|
|
7928
|
-
["npm_registry_api" /* NPM_REGISTRY_API */]: ["npm_package" /* NPM_PACKAGE */],
|
|
7929
|
-
// PyPI-related sources
|
|
7930
|
-
["pypi_registry_api" /* PYPI_REGISTRY_API */]: ["pypi_package" /* PYPI_PACKAGE */],
|
|
7931
|
-
// Rust Package-related sources
|
|
7932
|
-
["crates_io_api" /* CRATES_IO_API */]: ["rust_package" /* RUST_PACKAGE */],
|
|
7933
|
-
// LinkedIn-related sources
|
|
7934
|
-
["apify_linkedin_api" /* APIFY_LINKEDIN_API */]: [
|
|
7935
|
-
"linkedin_profile" /* LINKEDIN_PROFILE */
|
|
7936
|
-
],
|
|
7937
|
-
// Pump.fun
|
|
7938
|
-
["pump_fun_api" /* PUMP_FUN_API */]: ["pump_fun_token" /* PUMP_FUN_TOKEN */],
|
|
7939
|
-
// Meta Ads-related sources
|
|
7940
|
-
["meta_ads_library" /* META_ADS_LIBRARY */]: ["meta_ad" /* META_AD */],
|
|
7941
|
-
["steel_meta_ads_library" /* STEEL_META_ADS_LIBRARY */]: ["meta_ad" /* META_AD */],
|
|
7942
|
-
// Google Ads-related sources
|
|
7943
|
-
["google_ads_transparency_center" /* GOOGLE_ADS_TRANSPARENCY_CENTER */]: [
|
|
7944
|
-
"google_ad" /* GOOGLE_AD */
|
|
7945
|
-
],
|
|
7946
|
-
// Cross-platform ad intelligence sources
|
|
7947
|
-
["adlibrary" /* ADLIBRARY */]: ["adlibrary_ad" /* ADLIBRARY_AD */],
|
|
7948
|
-
// Crypto / Onchain sources
|
|
7949
|
-
["etherscan_api" /* ETHERSCAN_API */]: ["contract_deployer" /* CONTRACT_DEPLOYER */]
|
|
7950
|
-
};
|
|
7951
7627
|
|
|
7952
|
-
// ../../
|
|
7953
|
-
|
|
7954
|
-
|
|
7955
|
-
|
|
7956
|
-
chunkArray: () => chunkArray,
|
|
7957
|
-
combineAndRemoveDuplicatesByKey: () => combineAndRemoveDuplicatesByKey,
|
|
7958
|
-
isArray: () => isArray,
|
|
7959
|
-
isEmptyArray: () => isEmptyArray,
|
|
7960
|
-
isNonEmptyArray: () => isNonEmptyArray,
|
|
7961
|
-
randomElement: () => randomElement,
|
|
7962
|
-
randomIndex: () => randomIndex,
|
|
7963
|
-
removeDuplicates: () => removeDuplicates,
|
|
7964
|
-
shuffleInPlace: () => shuffleInPlace,
|
|
7965
|
-
shuffled: () => shuffled
|
|
7966
|
-
});
|
|
7967
|
-
function isArray(value) {
|
|
7968
|
-
return Array.isArray(value);
|
|
7969
|
-
}
|
|
7970
|
-
function isEmptyArray(value) {
|
|
7971
|
-
return value.length === 0;
|
|
7972
|
-
}
|
|
7973
|
-
function isNonEmptyArray(value) {
|
|
7974
|
-
return value.length > 0;
|
|
7975
|
-
}
|
|
7976
|
-
function randomIndex(array) {
|
|
7977
|
-
return Math.floor(Math.random() * array.length);
|
|
7978
|
-
}
|
|
7979
|
-
function randomElement(array) {
|
|
7980
|
-
return array[randomIndex(array)];
|
|
7981
|
-
}
|
|
7982
|
-
function removeDuplicates(array) {
|
|
7983
|
-
return Array.from(new Set(array));
|
|
7984
|
-
}
|
|
7985
|
-
function combineAndRemoveDuplicatesByKey(arr1, arr2, uniqueKey) {
|
|
7986
|
-
const combinedArray = [...arr1, ...arr2];
|
|
7987
|
-
const uniqueObjects = new Map(
|
|
7988
|
-
combinedArray.map((item) => [item[uniqueKey], item])
|
|
7989
|
-
);
|
|
7990
|
-
return Array.from(uniqueObjects.values());
|
|
7991
|
-
}
|
|
7992
|
-
function chunkArray(array, chunkSize) {
|
|
7993
|
-
const chunks = [];
|
|
7994
|
-
for (let i = 0; i < array.length; i += chunkSize) {
|
|
7995
|
-
chunks.push(array.slice(i, i + chunkSize));
|
|
7628
|
+
// ../../node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp/index.js
|
|
7629
|
+
function escapeStringRegexp(string) {
|
|
7630
|
+
if (typeof string !== "string") {
|
|
7631
|
+
throw new TypeError("Expected a string");
|
|
7996
7632
|
}
|
|
7997
|
-
return
|
|
7633
|
+
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
|
|
7998
7634
|
}
|
|
7999
|
-
|
|
8000
|
-
|
|
8001
|
-
|
|
8002
|
-
|
|
7635
|
+
|
|
7636
|
+
// ../../node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp/index.js
|
|
7637
|
+
function escapeStringRegexp2(string) {
|
|
7638
|
+
if (typeof string !== "string") {
|
|
7639
|
+
throw new TypeError("Expected a string");
|
|
8003
7640
|
}
|
|
8004
|
-
}
|
|
8005
|
-
function shuffled(array) {
|
|
8006
|
-
const newArray = array.slice();
|
|
8007
|
-
shuffleInPlace(newArray);
|
|
8008
|
-
return newArray;
|
|
8009
|
-
}
|
|
8010
|
-
function arraysEqual(a, b) {
|
|
8011
|
-
if (a.length !== b.length) return false;
|
|
8012
|
-
const sortedA = [...a].sort();
|
|
8013
|
-
const sortedB = [...b].sort();
|
|
8014
|
-
return sortedA.every((val, idx) => val === sortedB[idx]);
|
|
8015
|
-
}
|
|
8016
|
-
|
|
8017
|
-
// ../../internal/utils/src/cron.ts
|
|
8018
|
-
var cron_exports = {};
|
|
8019
|
-
__export(cron_exports, {
|
|
8020
|
-
cronToHumanReadable: () => cronToHumanReadable,
|
|
8021
|
-
isValidCronExpression: () => isValidCronExpression
|
|
8022
|
-
});
|
|
8023
|
-
var WEEKDAYS = [
|
|
8024
|
-
"Sunday",
|
|
8025
|
-
"Monday",
|
|
8026
|
-
"Tuesday",
|
|
8027
|
-
"Wednesday",
|
|
8028
|
-
"Thursday",
|
|
8029
|
-
"Friday",
|
|
8030
|
-
"Saturday"
|
|
8031
|
-
];
|
|
8032
|
-
var MONTHS = [
|
|
8033
|
-
"January",
|
|
8034
|
-
"February",
|
|
8035
|
-
"March",
|
|
8036
|
-
"April",
|
|
8037
|
-
"May",
|
|
8038
|
-
"June",
|
|
8039
|
-
"July",
|
|
8040
|
-
"August",
|
|
8041
|
-
"September",
|
|
8042
|
-
"October",
|
|
8043
|
-
"November",
|
|
8044
|
-
"December"
|
|
8045
|
-
];
|
|
8046
|
-
function cronToHumanReadable(cronExpression) {
|
|
8047
|
-
const [minute, hour, dayOfMonth, month, dayOfWeek2] = cronExpression.split(" ");
|
|
8048
|
-
let result = "Runs ";
|
|
8049
|
-
if (minute === "*") {
|
|
8050
|
-
result += "every minute ";
|
|
8051
|
-
} else if (minute.includes("/")) {
|
|
8052
|
-
const [, interval] = minute.split("/");
|
|
8053
|
-
result += `every ${interval} minutes `;
|
|
8054
|
-
} else {
|
|
8055
|
-
result += `at minute ${minute} `;
|
|
8056
|
-
}
|
|
8057
|
-
if (hour !== "*") {
|
|
8058
|
-
result += `past hour ${hour} `;
|
|
8059
|
-
}
|
|
8060
|
-
if (dayOfMonth !== "*") {
|
|
8061
|
-
result += `on the ${dayOfMonth}${getDaySuffix(
|
|
8062
|
-
parseInt(dayOfMonth)
|
|
8063
|
-
)} day of the month `;
|
|
8064
|
-
}
|
|
8065
|
-
if (month !== "*") {
|
|
8066
|
-
const monthNames = month.split(",").map((m) => MONTHS[parseInt(m) - 1]);
|
|
8067
|
-
result += `in ${monthNames.join(", ")} `;
|
|
8068
|
-
}
|
|
8069
|
-
if (dayOfWeek2 !== "*") {
|
|
8070
|
-
const dayNames = dayOfWeek2.split(",").map((d) => WEEKDAYS[parseInt(d)]);
|
|
8071
|
-
result += `on ${dayNames.join(", ")}`;
|
|
8072
|
-
}
|
|
8073
|
-
return result.trim();
|
|
8074
|
-
}
|
|
8075
|
-
function getDaySuffix(day) {
|
|
8076
|
-
if (day >= 11 && day <= 13) {
|
|
8077
|
-
return "th";
|
|
8078
|
-
}
|
|
8079
|
-
switch (day % 10) {
|
|
8080
|
-
case 1:
|
|
8081
|
-
return "st";
|
|
8082
|
-
case 2:
|
|
8083
|
-
return "nd";
|
|
8084
|
-
case 3:
|
|
8085
|
-
return "rd";
|
|
8086
|
-
default:
|
|
8087
|
-
return "th";
|
|
8088
|
-
}
|
|
8089
|
-
}
|
|
8090
|
-
function isValidCronExpression(cronExpression) {
|
|
8091
|
-
if (!cronExpression || typeof cronExpression !== "string") {
|
|
8092
|
-
return false;
|
|
8093
|
-
}
|
|
8094
|
-
const parts = cronExpression.trim().split(/\s+/);
|
|
8095
|
-
if (parts.length !== 5) {
|
|
8096
|
-
return false;
|
|
8097
|
-
}
|
|
8098
|
-
const [minute, hour, dayOfMonth, month, dayOfWeek2] = parts;
|
|
8099
|
-
return isValidCronField(minute, 0, 59) && isValidCronField(hour, 0, 23) && isValidCronField(dayOfMonth, 1, 31) && isValidCronField(month, 1, 12) && isValidCronField(dayOfWeek2, 0, 7);
|
|
8100
|
-
}
|
|
8101
|
-
function isValidCronField(field, min, max) {
|
|
8102
|
-
if (!field) return false;
|
|
8103
|
-
if (field === "*") return true;
|
|
8104
|
-
if (field.includes("/")) {
|
|
8105
|
-
const [range, step] = field.split("/");
|
|
8106
|
-
const stepNum = parseInt(step);
|
|
8107
|
-
if (isNaN(stepNum) || stepNum <= 0) return false;
|
|
8108
|
-
if (range === "*") return true;
|
|
8109
|
-
return isValidCronField(range, min, max);
|
|
8110
|
-
}
|
|
8111
|
-
if (field.includes("-")) {
|
|
8112
|
-
const [start, end] = field.split("-");
|
|
8113
|
-
const startNum = parseInt(start);
|
|
8114
|
-
const endNum = parseInt(end);
|
|
8115
|
-
if (isNaN(startNum) || isNaN(endNum)) return false;
|
|
8116
|
-
return startNum >= min && startNum <= max && endNum >= min && endNum <= max && startNum <= endNum;
|
|
8117
|
-
}
|
|
8118
|
-
if (field.includes(",")) {
|
|
8119
|
-
const values = field.split(",");
|
|
8120
|
-
return values.every((value) => isValidCronField(value.trim(), min, max));
|
|
8121
|
-
}
|
|
8122
|
-
const num3 = parseInt(field);
|
|
8123
|
-
if (isNaN(num3)) return false;
|
|
8124
|
-
if (max === 7 && num3 === 7) return true;
|
|
8125
|
-
return num3 >= min && num3 <= max;
|
|
8126
|
-
}
|
|
8127
|
-
|
|
8128
|
-
// ../../internal/utils/src/object.ts
|
|
8129
|
-
var object_exports = {};
|
|
8130
|
-
__export(object_exports, {
|
|
8131
|
-
isDefined: () => isDefined,
|
|
8132
|
-
isDefinedAndNotNull: () => isDefinedAndNotNull,
|
|
8133
|
-
isNotNull: () => isNotNull
|
|
8134
|
-
});
|
|
8135
|
-
function isDefined(value) {
|
|
8136
|
-
return value !== void 0;
|
|
8137
|
-
}
|
|
8138
|
-
function isNotNull(value) {
|
|
8139
|
-
return value !== null;
|
|
8140
|
-
}
|
|
8141
|
-
function isDefinedAndNotNull(value) {
|
|
8142
|
-
return value !== null && value !== void 0;
|
|
8143
|
-
}
|
|
8144
|
-
|
|
8145
|
-
// ../../internal/utils/src/promise.ts
|
|
8146
|
-
var promise_exports = {};
|
|
8147
|
-
__export(promise_exports, {
|
|
8148
|
-
allSettledWithConcurrency: () => allSettledWithConcurrency,
|
|
8149
|
-
isPromiseSettledResultFulfilled: () => isPromiseSettledResultFulfilled,
|
|
8150
|
-
isPromiseSettledResultRejected: () => isPromiseSettledResultRejected
|
|
8151
|
-
});
|
|
8152
|
-
function isPromiseSettledResultFulfilled(result) {
|
|
8153
|
-
return result.status === "fulfilled";
|
|
8154
|
-
}
|
|
8155
|
-
function isPromiseSettledResultRejected(result) {
|
|
8156
|
-
return result.status === "rejected";
|
|
8157
|
-
}
|
|
8158
|
-
function allSettledWithConcurrency(items, limit, fn5) {
|
|
8159
|
-
return __async(this, null, function* () {
|
|
8160
|
-
const results = new Array(items.length);
|
|
8161
|
-
let next = 0;
|
|
8162
|
-
const worker = () => __async(null, null, function* () {
|
|
8163
|
-
for (; ; ) {
|
|
8164
|
-
const index = next;
|
|
8165
|
-
next += 1;
|
|
8166
|
-
if (index >= items.length) return;
|
|
8167
|
-
try {
|
|
8168
|
-
results[index] = { status: "fulfilled", value: yield fn5(items[index], index) };
|
|
8169
|
-
} catch (reason) {
|
|
8170
|
-
results[index] = { status: "rejected", reason };
|
|
8171
|
-
}
|
|
8172
|
-
}
|
|
8173
|
-
});
|
|
8174
|
-
const workers = Math.max(1, Math.min(Math.floor(limit) || 1, items.length));
|
|
8175
|
-
yield Promise.all(Array.from({ length: workers }, worker));
|
|
8176
|
-
return results;
|
|
8177
|
-
});
|
|
8178
|
-
}
|
|
8179
|
-
|
|
8180
|
-
// ../../internal/utils/src/url.ts
|
|
8181
|
-
var url_exports = {};
|
|
8182
|
-
__export(url_exports, {
|
|
8183
|
-
URL_REGEX: () => URL_REGEX,
|
|
8184
|
-
containsPunycode: () => containsPunycode,
|
|
8185
|
-
convertHttpsToHttp: () => convertHttpsToHttp,
|
|
8186
|
-
ensureHttpsPrefix: () => ensureHttpsPrefix,
|
|
8187
|
-
generateCanonicalIPFSUrl: () => generateCanonicalIPFSUrl,
|
|
8188
|
-
getDefangedUrl: () => getDefangedUrl,
|
|
8189
|
-
getDomain: () => tldts.getDomain,
|
|
8190
|
-
getFaviconUrl: () => getFaviconUrl,
|
|
8191
|
-
getHostname: () => getHostname,
|
|
8192
|
-
getNormalizedUrl: () => getNormalizedUrl,
|
|
8193
|
-
getParentDomains: () => getParentDomains,
|
|
8194
|
-
getRefangedUrl: () => getRefangedUrl,
|
|
8195
|
-
isEmail: () => isEmail,
|
|
8196
|
-
isUrl: () => isUrl,
|
|
8197
|
-
isWalrusSite: () => isWalrusSite,
|
|
8198
|
-
removeHttpProtocol: () => removeHttpProtocol,
|
|
8199
|
-
sanitizeHttpUrl: () => sanitizeHttpUrl,
|
|
8200
|
-
slugify: () => slugify,
|
|
8201
|
-
stripDomainWildcardPrefix: () => stripDomainWildcardPrefix,
|
|
8202
|
-
toUnicode: () => toUnicode2,
|
|
8203
|
-
trimDomainToLevels: () => trimDomainToLevels
|
|
8204
|
-
});
|
|
8205
|
-
|
|
8206
|
-
// ../../node_modules/@sindresorhus/slugify/node_modules/escape-string-regexp/index.js
|
|
8207
|
-
function escapeStringRegexp(string) {
|
|
8208
|
-
if (typeof string !== "string") {
|
|
8209
|
-
throw new TypeError("Expected a string");
|
|
8210
|
-
}
|
|
8211
|
-
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
|
|
8212
|
-
}
|
|
8213
|
-
|
|
8214
|
-
// ../../node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp/index.js
|
|
8215
|
-
function escapeStringRegexp2(string) {
|
|
8216
|
-
if (typeof string !== "string") {
|
|
8217
|
-
throw new TypeError("Expected a string");
|
|
8218
|
-
}
|
|
8219
|
-
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
|
|
7641
|
+
return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
|
|
8220
7642
|
}
|
|
8221
7643
|
|
|
8222
7644
|
// ../../node_modules/@sindresorhus/transliterate/replacements.js
|
|
@@ -10465,302 +9887,970 @@ function preparePhoneInput(input) {
|
|
|
10465
9887
|
function isAllSameDigit(digits2) {
|
|
10466
9888
|
return /^(\d)\1+$/.test(digits2);
|
|
10467
9889
|
}
|
|
10468
|
-
function isStrictlyMonotonicStep1(digits2) {
|
|
10469
|
-
if (digits2.length < 8) {
|
|
10470
|
-
return false;
|
|
10471
|
-
}
|
|
10472
|
-
let increasing = true;
|
|
10473
|
-
let decreasing = true;
|
|
10474
|
-
for (let i = 1; i < digits2.length; i++) {
|
|
10475
|
-
const curr = digits2.charCodeAt(i) - 48;
|
|
10476
|
-
const prev = digits2.charCodeAt(i - 1) - 48;
|
|
10477
|
-
if (curr !== prev + 1) {
|
|
10478
|
-
increasing = false;
|
|
10479
|
-
}
|
|
10480
|
-
if (curr !== prev - 1) {
|
|
10481
|
-
decreasing = false;
|
|
10482
|
-
}
|
|
10483
|
-
}
|
|
10484
|
-
return increasing || decreasing;
|
|
9890
|
+
function isStrictlyMonotonicStep1(digits2) {
|
|
9891
|
+
if (digits2.length < 8) {
|
|
9892
|
+
return false;
|
|
9893
|
+
}
|
|
9894
|
+
let increasing = true;
|
|
9895
|
+
let decreasing = true;
|
|
9896
|
+
for (let i = 1; i < digits2.length; i++) {
|
|
9897
|
+
const curr = digits2.charCodeAt(i) - 48;
|
|
9898
|
+
const prev = digits2.charCodeAt(i - 1) - 48;
|
|
9899
|
+
if (curr !== prev + 1) {
|
|
9900
|
+
increasing = false;
|
|
9901
|
+
}
|
|
9902
|
+
if (curr !== prev - 1) {
|
|
9903
|
+
decreasing = false;
|
|
9904
|
+
}
|
|
9905
|
+
}
|
|
9906
|
+
return increasing || decreasing;
|
|
9907
|
+
}
|
|
9908
|
+
function isValidNanpNational10(d10) {
|
|
9909
|
+
if (d10.length !== 10) {
|
|
9910
|
+
return false;
|
|
9911
|
+
}
|
|
9912
|
+
const npaFirst = d10.charCodeAt(0) - 48;
|
|
9913
|
+
const nxxFirst = d10.charCodeAt(3) - 48;
|
|
9914
|
+
if (npaFirst < 2 || npaFirst > 9) {
|
|
9915
|
+
return false;
|
|
9916
|
+
}
|
|
9917
|
+
if (nxxFirst < 2 || nxxFirst > 9) {
|
|
9918
|
+
return false;
|
|
9919
|
+
}
|
|
9920
|
+
return true;
|
|
9921
|
+
}
|
|
9922
|
+
function isPlausiblePhoneDigits(withoutExt) {
|
|
9923
|
+
const hasPlus = withoutExt.startsWith("+");
|
|
9924
|
+
const d = withoutExt.replace(/\D/g, "");
|
|
9925
|
+
if (d.length < 8 || d.length > 15) {
|
|
9926
|
+
return false;
|
|
9927
|
+
}
|
|
9928
|
+
if (isAllSameDigit(d) || isStrictlyMonotonicStep1(d)) {
|
|
9929
|
+
return false;
|
|
9930
|
+
}
|
|
9931
|
+
const onlyDigits = /^\d+$/.test(withoutExt);
|
|
9932
|
+
if (hasPlus) {
|
|
9933
|
+
if (d.length === 11 && d.startsWith("1")) {
|
|
9934
|
+
return isValidNanpNational10(d.slice(1));
|
|
9935
|
+
}
|
|
9936
|
+
return true;
|
|
9937
|
+
}
|
|
9938
|
+
if (onlyDigits) {
|
|
9939
|
+
if (d.length === 10) {
|
|
9940
|
+
return isValidNanpNational10(d);
|
|
9941
|
+
}
|
|
9942
|
+
if (d.length === 11 && d.startsWith("1")) {
|
|
9943
|
+
return isValidNanpNational10(d.slice(1));
|
|
9944
|
+
}
|
|
9945
|
+
if (d.length === 11 && d.startsWith("0")) {
|
|
9946
|
+
return true;
|
|
9947
|
+
}
|
|
9948
|
+
return false;
|
|
9949
|
+
}
|
|
9950
|
+
if (d.length === 10) {
|
|
9951
|
+
return isValidNanpNational10(d);
|
|
9952
|
+
}
|
|
9953
|
+
if (d.length === 11 && d.startsWith("1")) {
|
|
9954
|
+
return isValidNanpNational10(d.slice(1));
|
|
9955
|
+
}
|
|
9956
|
+
if (d.length === 11 && d.startsWith("0")) {
|
|
9957
|
+
return true;
|
|
9958
|
+
}
|
|
9959
|
+
if (d.length >= 12 && d.length <= 15) {
|
|
9960
|
+
return true;
|
|
9961
|
+
}
|
|
9962
|
+
return false;
|
|
9963
|
+
}
|
|
9964
|
+
function isPhoneNumber(input) {
|
|
9965
|
+
const trimmed = preparePhoneInput(input);
|
|
9966
|
+
if (trimmed === "") {
|
|
9967
|
+
return false;
|
|
9968
|
+
}
|
|
9969
|
+
if (!/^[+\d(]/.test(trimmed)) {
|
|
9970
|
+
return false;
|
|
9971
|
+
}
|
|
9972
|
+
const withoutExt = trimmed.replace(/\s*(ext|extension|x)\s*\d+$/i, "");
|
|
9973
|
+
if (/[a-zA-Z]/.test(withoutExt)) {
|
|
9974
|
+
return false;
|
|
9975
|
+
}
|
|
9976
|
+
const hasPhoneMarker = /[+()\s-]/.test(trimmed);
|
|
9977
|
+
const isPureDotSeparated = /^\d+(\.\d+)+$/.test(trimmed);
|
|
9978
|
+
if (isPureDotSeparated && !hasPhoneMarker) {
|
|
9979
|
+
return false;
|
|
9980
|
+
}
|
|
9981
|
+
const phoneRegex = /^(?:\+?\d{1,4}[\s.-]?)?(?:\(\d{1,4}\)|\d{1,4})[\s.-]?\d{1,4}[\s.-]?\d{1,4}[\s.-]?\d{0,4}(?:\s*(?:ext|x|extension)[\s.]*\d{1,6})?$/i;
|
|
9982
|
+
if (!phoneRegex.test(trimmed)) {
|
|
9983
|
+
return false;
|
|
9984
|
+
}
|
|
9985
|
+
return isPlausiblePhoneDigits(withoutExt);
|
|
9986
|
+
}
|
|
9987
|
+
function normalizePhoneNumber(phone) {
|
|
9988
|
+
const trimmed = preparePhoneInput(phone);
|
|
9989
|
+
const withoutExt = trimmed.replace(/\s*(ext|extension|x)\s*\d+$/i, "");
|
|
9990
|
+
const hasPlus = withoutExt.startsWith("+");
|
|
9991
|
+
const digitsOnly = withoutExt.replace(/\D/g, "");
|
|
9992
|
+
return hasPlus ? `+${digitsOnly}` : digitsOnly;
|
|
9993
|
+
}
|
|
9994
|
+
|
|
9995
|
+
// ../../internal/utils/src/punycode.ts
|
|
9996
|
+
var maxInt = 2147483647;
|
|
9997
|
+
var base = 36;
|
|
9998
|
+
var tMin = 1;
|
|
9999
|
+
var tMax = 26;
|
|
10000
|
+
var skew = 38;
|
|
10001
|
+
var damp = 700;
|
|
10002
|
+
var initialBias = 72;
|
|
10003
|
+
var initialN = 128;
|
|
10004
|
+
var delimiter = "-";
|
|
10005
|
+
var regexPunycode = /^xn--/;
|
|
10006
|
+
var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g;
|
|
10007
|
+
var errors = {
|
|
10008
|
+
overflow: "Overflow: input needs wider integers to process",
|
|
10009
|
+
"not-basic": "Illegal input >= 0x80 (not a basic code point)",
|
|
10010
|
+
"invalid-input": "Invalid input"
|
|
10011
|
+
};
|
|
10012
|
+
var baseMinusTMin = base - tMin;
|
|
10013
|
+
var floor = Math.floor;
|
|
10014
|
+
function error(type) {
|
|
10015
|
+
throw new RangeError(errors[type]);
|
|
10016
|
+
}
|
|
10017
|
+
function mapDomain(domain, callback) {
|
|
10018
|
+
const parts = domain.split("@");
|
|
10019
|
+
let result = "";
|
|
10020
|
+
if (parts.length > 1) {
|
|
10021
|
+
result = parts[0] + "@";
|
|
10022
|
+
domain = parts[1];
|
|
10023
|
+
}
|
|
10024
|
+
domain = domain.replace(regexSeparators, ".");
|
|
10025
|
+
const labels = domain.split(".");
|
|
10026
|
+
const encoded = labels.map(callback).join(".");
|
|
10027
|
+
return result + encoded;
|
|
10028
|
+
}
|
|
10029
|
+
function basicToDigit(codePoint) {
|
|
10030
|
+
if (codePoint >= 48 && codePoint < 58) {
|
|
10031
|
+
return 26 + (codePoint - 48);
|
|
10032
|
+
}
|
|
10033
|
+
if (codePoint >= 65 && codePoint < 91) {
|
|
10034
|
+
return codePoint - 65;
|
|
10035
|
+
}
|
|
10036
|
+
if (codePoint >= 97 && codePoint < 123) {
|
|
10037
|
+
return codePoint - 97;
|
|
10038
|
+
}
|
|
10039
|
+
return base;
|
|
10040
|
+
}
|
|
10041
|
+
function adapt(delta, numPoints, firstTime) {
|
|
10042
|
+
let k4 = 0;
|
|
10043
|
+
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
10044
|
+
delta += floor(delta / numPoints);
|
|
10045
|
+
for (
|
|
10046
|
+
;
|
|
10047
|
+
/* no initialization */
|
|
10048
|
+
delta > baseMinusTMin * tMax >> 1;
|
|
10049
|
+
k4 += base
|
|
10050
|
+
) {
|
|
10051
|
+
delta = floor(delta / baseMinusTMin);
|
|
10052
|
+
}
|
|
10053
|
+
return floor(k4 + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
10054
|
+
}
|
|
10055
|
+
function decode(input) {
|
|
10056
|
+
const output = [];
|
|
10057
|
+
const inputLength = input.length;
|
|
10058
|
+
let i = 0;
|
|
10059
|
+
let n2 = initialN;
|
|
10060
|
+
let bias2 = initialBias;
|
|
10061
|
+
let basic = input.lastIndexOf(delimiter);
|
|
10062
|
+
if (basic < 0) {
|
|
10063
|
+
basic = 0;
|
|
10064
|
+
}
|
|
10065
|
+
for (let j = 0; j < basic; ++j) {
|
|
10066
|
+
if (input.charCodeAt(j) >= 128) {
|
|
10067
|
+
error("not-basic");
|
|
10068
|
+
}
|
|
10069
|
+
output.push(input.charCodeAt(j));
|
|
10070
|
+
}
|
|
10071
|
+
for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; ) {
|
|
10072
|
+
const oldi = i;
|
|
10073
|
+
for (let w = 1, k4 = base; ; k4 += base) {
|
|
10074
|
+
if (index >= inputLength) {
|
|
10075
|
+
error("invalid-input");
|
|
10076
|
+
}
|
|
10077
|
+
const digit = basicToDigit(input.charCodeAt(index++));
|
|
10078
|
+
if (digit >= base) {
|
|
10079
|
+
error("invalid-input");
|
|
10080
|
+
}
|
|
10081
|
+
if (digit > floor((maxInt - i) / w)) {
|
|
10082
|
+
error("overflow");
|
|
10083
|
+
}
|
|
10084
|
+
i += digit * w;
|
|
10085
|
+
const t = k4 <= bias2 ? tMin : k4 >= bias2 + tMax ? tMax : k4 - bias2;
|
|
10086
|
+
if (digit < t) {
|
|
10087
|
+
break;
|
|
10088
|
+
}
|
|
10089
|
+
const baseMinusT = base - t;
|
|
10090
|
+
if (w > floor(maxInt / baseMinusT)) {
|
|
10091
|
+
error("overflow");
|
|
10092
|
+
}
|
|
10093
|
+
w *= baseMinusT;
|
|
10094
|
+
}
|
|
10095
|
+
const out = output.length + 1;
|
|
10096
|
+
bias2 = adapt(i - oldi, out, oldi == 0);
|
|
10097
|
+
if (floor(i / out) > maxInt - n2) {
|
|
10098
|
+
error("overflow");
|
|
10099
|
+
}
|
|
10100
|
+
n2 += floor(i / out);
|
|
10101
|
+
i %= out;
|
|
10102
|
+
output.splice(i++, 0, n2);
|
|
10103
|
+
}
|
|
10104
|
+
return String.fromCodePoint(...output);
|
|
10105
|
+
}
|
|
10106
|
+
function toUnicode(input) {
|
|
10107
|
+
return mapDomain(input, function(string) {
|
|
10108
|
+
return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;
|
|
10109
|
+
});
|
|
10110
|
+
}
|
|
10111
|
+
|
|
10112
|
+
// ../../internal/utils/src/url.ts
|
|
10113
|
+
function isEmail(input) {
|
|
10114
|
+
if (input.trim() === "") {
|
|
10115
|
+
return false;
|
|
10116
|
+
}
|
|
10117
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
10118
|
+
return emailRegex.test(input);
|
|
10119
|
+
}
|
|
10120
|
+
function removeHttpProtocol(input) {
|
|
10121
|
+
return input.replace(/^https?:\/\//, "");
|
|
10122
|
+
}
|
|
10123
|
+
function stripDomainWildcardPrefix(domain) {
|
|
10124
|
+
const trimmedDomain = domain.trim();
|
|
10125
|
+
const strippedDomain = trimmedDomain.startsWith("*.") ? trimmedDomain.slice(2) : trimmedDomain;
|
|
10126
|
+
return strippedDomain.length > 0 ? strippedDomain : null;
|
|
10127
|
+
}
|
|
10128
|
+
function getDefangedUrl(input) {
|
|
10129
|
+
if (!isUrl(input)) {
|
|
10130
|
+
console.warn(`[getDefangedUrl] Invalid URL: ${input}, returning input as-is`);
|
|
10131
|
+
return input;
|
|
10132
|
+
}
|
|
10133
|
+
return input.replace(/\./g, "[.]").replace(/(https:\/\/)/g, "hxxps://").replace(/(http:\/\/)/g, "hxxp://").replace(/:\/\//g, "[://]");
|
|
10134
|
+
}
|
|
10135
|
+
function getRefangedUrl(input) {
|
|
10136
|
+
return input.replace(/hxxps/gi, "https").replace(/hxxp/gi, "http").replace(/\[:\/{2}\]/g, "://").replace(/\[\.\]/g, ".");
|
|
10137
|
+
}
|
|
10138
|
+
function containsPunycode(url) {
|
|
10139
|
+
return url.indexOf("xn--") !== -1;
|
|
10140
|
+
}
|
|
10141
|
+
function toUnicode2(url) {
|
|
10142
|
+
return toUnicode(url);
|
|
10143
|
+
}
|
|
10144
|
+
function convertHttpsToHttp(url) {
|
|
10145
|
+
if (url.startsWith("https://")) {
|
|
10146
|
+
const httpUrl = new URL(url);
|
|
10147
|
+
httpUrl.protocol = "http:";
|
|
10148
|
+
return httpUrl.toString();
|
|
10149
|
+
}
|
|
10150
|
+
throw new Error(`URL is not HTTPS: ${url}`);
|
|
10151
|
+
}
|
|
10152
|
+
function generateCanonicalIPFSUrl(content) {
|
|
10153
|
+
if (!content) {
|
|
10154
|
+
return content;
|
|
10155
|
+
}
|
|
10156
|
+
if (content.includes("ipfs.io")) {
|
|
10157
|
+
return content;
|
|
10158
|
+
}
|
|
10159
|
+
if (content.startsWith("Qm") || content.startsWith("bafy")) {
|
|
10160
|
+
return `ipfs.io/ipfs/${content}`;
|
|
10161
|
+
}
|
|
10162
|
+
return content;
|
|
10163
|
+
}
|
|
10164
|
+
function isWalrusSite(content) {
|
|
10165
|
+
return content.includes(".walrus.site") || content.includes(".walrus.host") || content.includes(".wal.app") || content.includes(".wal.site");
|
|
10166
|
+
}
|
|
10167
|
+
function getFaviconUrl(content) {
|
|
10168
|
+
const normalizedUrl = getNormalizedUrl(content);
|
|
10169
|
+
return `https://icons.duckduckgo.com/ip3/${normalizedUrl.hostname}.ico`;
|
|
10170
|
+
}
|
|
10171
|
+
function sanitizeHttpUrl(value) {
|
|
10172
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
10173
|
+
return null;
|
|
10174
|
+
}
|
|
10175
|
+
try {
|
|
10176
|
+
const parsed = new URL(value);
|
|
10177
|
+
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
10178
|
+
return null;
|
|
10179
|
+
}
|
|
10180
|
+
return parsed.toString();
|
|
10181
|
+
} catch (e4) {
|
|
10182
|
+
return null;
|
|
10183
|
+
}
|
|
10184
|
+
}
|
|
10185
|
+
var SCHEME_PREFIX_REGEX = /^[a-z][a-z0-9+.-]*:\/\//i;
|
|
10186
|
+
function getPublicHostname(input) {
|
|
10187
|
+
try {
|
|
10188
|
+
const trimmed = input.trim();
|
|
10189
|
+
const hasHttpScheme = /^https?:\/\//i.test(trimmed);
|
|
10190
|
+
if (!hasHttpScheme && SCHEME_PREFIX_REGEX.test(trimmed)) {
|
|
10191
|
+
return null;
|
|
10192
|
+
}
|
|
10193
|
+
const withScheme = hasHttpScheme ? trimmed : `https://${trimmed}`;
|
|
10194
|
+
const afterScheme = withScheme.replace(SCHEME_PREFIX_REGEX, "");
|
|
10195
|
+
const authority = afterScheme.split(/[/?#\\]/)[0];
|
|
10196
|
+
const remainder = afterScheme.slice(authority.length);
|
|
10197
|
+
if (remainder !== "" && remainder !== "/") {
|
|
10198
|
+
return null;
|
|
10199
|
+
}
|
|
10200
|
+
if (!/^[\p{L}\p{N}.-]+$/u.test(authority)) {
|
|
10201
|
+
return null;
|
|
10202
|
+
}
|
|
10203
|
+
const url = new URL(withScheme);
|
|
10204
|
+
const host = url.hostname.toLowerCase().replace(/\.$/, "");
|
|
10205
|
+
if (host.split(".").includes("")) {
|
|
10206
|
+
return null;
|
|
10207
|
+
}
|
|
10208
|
+
const parsed = tldts.parse(host);
|
|
10209
|
+
if (parsed.isIp || !parsed.isIcann || !parsed.domain) {
|
|
10210
|
+
return null;
|
|
10211
|
+
}
|
|
10212
|
+
return host;
|
|
10213
|
+
} catch (e4) {
|
|
10214
|
+
return null;
|
|
10215
|
+
}
|
|
10216
|
+
}
|
|
10217
|
+
var URL_REGEX = /https?:\/\/[^\s"'<>\])]*/g;
|
|
10218
|
+
|
|
10219
|
+
// ../../internal/utils/src/enrichments.ts
|
|
10220
|
+
var enrichments_exports = {};
|
|
10221
|
+
__export(enrichments_exports, {
|
|
10222
|
+
ASSET_SCAN_ENRICHMENT_SOURCE_LABELS: () => ASSET_SCAN_ENRICHMENT_SOURCE_LABELS,
|
|
10223
|
+
ASSET_SCAN_ENRICHMENT_SOURCE_TO_TYPES: () => ASSET_SCAN_ENRICHMENT_SOURCE_TO_TYPES,
|
|
10224
|
+
ASSET_SCAN_ENRICHMENT_TYPE_LABELS: () => ASSET_SCAN_ENRICHMENT_TYPE_LABELS,
|
|
10225
|
+
AssetScanEnrichmentSource: () => AssetScanEnrichmentSource,
|
|
10226
|
+
AssetScanEnrichmentType: () => AssetScanEnrichmentType
|
|
10227
|
+
});
|
|
10228
|
+
var AssetScanEnrichmentType = /* @__PURE__ */ ((AssetScanEnrichmentType2) => {
|
|
10229
|
+
AssetScanEnrichmentType2["CONTENT_AND_METADATA"] = "content_and_metadata";
|
|
10230
|
+
AssetScanEnrichmentType2["BROWSER_CAPTURE"] = "browser_capture";
|
|
10231
|
+
AssetScanEnrichmentType2["OWNERSHIP_AND_REGISTRATION"] = "ownership_and_registration";
|
|
10232
|
+
AssetScanEnrichmentType2["GEOLOCATION_AND_IP"] = "geolocation_and_ip";
|
|
10233
|
+
AssetScanEnrichmentType2["DNS"] = "dns";
|
|
10234
|
+
AssetScanEnrichmentType2["TLS"] = "tls";
|
|
10235
|
+
AssetScanEnrichmentType2["TCP"] = "tcp";
|
|
10236
|
+
AssetScanEnrichmentType2["HOSTNAME_FIRST_SEEN"] = "hostname_first_seen";
|
|
10237
|
+
AssetScanEnrichmentType2["TWITTER_POST"] = "post";
|
|
10238
|
+
AssetScanEnrichmentType2["TWITTER_PROFILE"] = "profile";
|
|
10239
|
+
AssetScanEnrichmentType2["TWITTER_FOLLOWERS"] = "twitter_followers";
|
|
10240
|
+
AssetScanEnrichmentType2["FARCASTER_CAST"] = "cast";
|
|
10241
|
+
AssetScanEnrichmentType2["FARCASTER_PROFILE"] = "farcaster_profile";
|
|
10242
|
+
AssetScanEnrichmentType2["FARCASTER_CHANNEL"] = "channel";
|
|
10243
|
+
AssetScanEnrichmentType2["FARCASTER_MINIAPP"] = "miniapp";
|
|
10244
|
+
AssetScanEnrichmentType2["TELEGRAM_PROFILE"] = "telegram_profile";
|
|
10245
|
+
AssetScanEnrichmentType2["INSTAGRAM_PROFILE"] = "instagram_profile";
|
|
10246
|
+
AssetScanEnrichmentType2["FACEBOOK_PROFILE"] = "facebook_profile";
|
|
10247
|
+
AssetScanEnrichmentType2["YOUTUBE_VIDEO"] = "youtube_video";
|
|
10248
|
+
AssetScanEnrichmentType2["YOUTUBE_CHANNEL"] = "youtube_channel";
|
|
10249
|
+
AssetScanEnrichmentType2["APPLE_APP_STORE_LISTING"] = "apple_app_store_listing";
|
|
10250
|
+
AssetScanEnrichmentType2["GOOGLE_PLAY_STORE_LISTING"] = "google_play_store_listing";
|
|
10251
|
+
AssetScanEnrichmentType2["MOZILLA_ADDON"] = "mozilla_addon";
|
|
10252
|
+
AssetScanEnrichmentType2["GITHUB_COMMENT"] = "github_comment";
|
|
10253
|
+
AssetScanEnrichmentType2["REDDIT_SUBREDDIT"] = "reddit_subreddit";
|
|
10254
|
+
AssetScanEnrichmentType2["EMAIL_VALIDATION"] = "email_validation";
|
|
10255
|
+
AssetScanEnrichmentType2["PHONE_LOOKUP"] = "phone_lookup";
|
|
10256
|
+
AssetScanEnrichmentType2["BILIBILI_VIDEO"] = "bilibili_video";
|
|
10257
|
+
AssetScanEnrichmentType2["BILIBILI_PROFILE"] = "bilibili_profile";
|
|
10258
|
+
AssetScanEnrichmentType2["DAILYMOTION_VIDEO"] = "dailymotion_video";
|
|
10259
|
+
AssetScanEnrichmentType2["VIMEO_VIDEO"] = "vimeo_video";
|
|
10260
|
+
AssetScanEnrichmentType2["VIMEO_PROFILE"] = "vimeo_profile";
|
|
10261
|
+
AssetScanEnrichmentType2["STACKBLITZ_PAGE"] = "stackblitz_page";
|
|
10262
|
+
AssetScanEnrichmentType2["LEETCODE_PAGE"] = "leetcode_page";
|
|
10263
|
+
AssetScanEnrichmentType2["TUMBLR_BLOG"] = "tumblr_blog";
|
|
10264
|
+
AssetScanEnrichmentType2["TUMBLR_POST"] = "tumblr_post";
|
|
10265
|
+
AssetScanEnrichmentType2["TUMBLR_COMMUNITY"] = "tumblr_community";
|
|
10266
|
+
AssetScanEnrichmentType2["NPM_PACKAGE"] = "npm_package";
|
|
10267
|
+
AssetScanEnrichmentType2["PYPI_PACKAGE"] = "pypi_package";
|
|
10268
|
+
AssetScanEnrichmentType2["RUST_PACKAGE"] = "rust_package";
|
|
10269
|
+
AssetScanEnrichmentType2["LINKEDIN_PROFILE"] = "linkedin_profile";
|
|
10270
|
+
AssetScanEnrichmentType2["PUMP_FUN_TOKEN"] = "pump_fun_token";
|
|
10271
|
+
AssetScanEnrichmentType2["META_AD"] = "meta_ad";
|
|
10272
|
+
AssetScanEnrichmentType2["GOOGLE_AD"] = "google_ad";
|
|
10273
|
+
AssetScanEnrichmentType2["ADLIBRARY_AD"] = "adlibrary_ad";
|
|
10274
|
+
AssetScanEnrichmentType2["CONTRACT_DEPLOYER"] = "contract_deployer";
|
|
10275
|
+
AssetScanEnrichmentType2["THREAT_INTEL"] = "threat_intel";
|
|
10276
|
+
AssetScanEnrichmentType2["LIST_MEMBERSHIP"] = "list_membership";
|
|
10277
|
+
AssetScanEnrichmentType2["THREAT_SCORE"] = "threat_score";
|
|
10278
|
+
return AssetScanEnrichmentType2;
|
|
10279
|
+
})(AssetScanEnrichmentType || {});
|
|
10280
|
+
var AssetScanEnrichmentSource = /* @__PURE__ */ ((AssetScanEnrichmentSource2) => {
|
|
10281
|
+
AssetScanEnrichmentSource2["URLSCAN"] = "urlscan";
|
|
10282
|
+
AssetScanEnrichmentSource2["WHOIS"] = "whois";
|
|
10283
|
+
AssetScanEnrichmentSource2["RDAP"] = "rdap";
|
|
10284
|
+
AssetScanEnrichmentSource2["HTTP_CONTENT"] = "http_content";
|
|
10285
|
+
AssetScanEnrichmentSource2["NETWORK"] = "node_js_network";
|
|
10286
|
+
AssetScanEnrichmentSource2["EXTENSION"] = "extension";
|
|
10287
|
+
AssetScanEnrichmentSource2["PLAYWRIGHT"] = "playwright";
|
|
10288
|
+
AssetScanEnrichmentSource2["CHAINPATROL_BROWSER"] = "chainpatrol_browser";
|
|
10289
|
+
AssetScanEnrichmentSource2["STEEL_BROWSER"] = "steel_browser";
|
|
10290
|
+
AssetScanEnrichmentSource2["X_API"] = "x_api";
|
|
10291
|
+
AssetScanEnrichmentSource2["SOCIALDATA_API"] = "socialdata_api";
|
|
10292
|
+
AssetScanEnrichmentSource2["NEYNAR_API"] = "neynar_api";
|
|
10293
|
+
AssetScanEnrichmentSource2["TELEGRAM_API"] = "telegram_api";
|
|
10294
|
+
AssetScanEnrichmentSource2["INSTAGRAM_API"] = "instagram_api";
|
|
10295
|
+
AssetScanEnrichmentSource2["FACEBOOK_API"] = "facebook_api";
|
|
10296
|
+
AssetScanEnrichmentSource2["YOUTUBE_API"] = "youtube_api";
|
|
10297
|
+
AssetScanEnrichmentSource2["APPLE_APP_STORE_API"] = "apple_app_store_api";
|
|
10298
|
+
AssetScanEnrichmentSource2["GOOGLE_PLAY_STORE_API"] = "google_play_store_api";
|
|
10299
|
+
AssetScanEnrichmentSource2["MOZILLA_ADDONS_API"] = "mozilla_addons_api";
|
|
10300
|
+
AssetScanEnrichmentSource2["GITHUB_API"] = "github_api";
|
|
10301
|
+
AssetScanEnrichmentSource2["REDDIT_API"] = "reddit_api";
|
|
10302
|
+
AssetScanEnrichmentSource2["MAILS_API"] = "mails_api";
|
|
10303
|
+
AssetScanEnrichmentSource2["TELNYX_LOOKUP"] = "telnyx_lookup";
|
|
10304
|
+
AssetScanEnrichmentSource2["TWILIO_LOOKUP"] = "twilio_lookup";
|
|
10305
|
+
AssetScanEnrichmentSource2["DAILYMOTION_API"] = "dailymotion_api";
|
|
10306
|
+
AssetScanEnrichmentSource2["VIMEO_API"] = "vimeo_api";
|
|
10307
|
+
AssetScanEnrichmentSource2["STACKBLITZ_API"] = "stackblitz_api";
|
|
10308
|
+
AssetScanEnrichmentSource2["LEETCODE_API"] = "leetcode_api";
|
|
10309
|
+
AssetScanEnrichmentSource2["TUMBLR_API"] = "tumblr_api";
|
|
10310
|
+
AssetScanEnrichmentSource2["NPM_REGISTRY_API"] = "npm_registry_api";
|
|
10311
|
+
AssetScanEnrichmentSource2["PYPI_REGISTRY_API"] = "pypi_registry_api";
|
|
10312
|
+
AssetScanEnrichmentSource2["CRATES_IO_API"] = "crates_io_api";
|
|
10313
|
+
AssetScanEnrichmentSource2["APIFY_LINKEDIN_API"] = "apify_linkedin_api";
|
|
10314
|
+
AssetScanEnrichmentSource2["PUMP_FUN_API"] = "pump_fun_api";
|
|
10315
|
+
AssetScanEnrichmentSource2["META_ADS_LIBRARY"] = "meta_ads_library";
|
|
10316
|
+
AssetScanEnrichmentSource2["STEEL_META_ADS_LIBRARY"] = "steel_meta_ads_library";
|
|
10317
|
+
AssetScanEnrichmentSource2["GOOGLE_ADS_TRANSPARENCY_CENTER"] = "google_ads_transparency_center";
|
|
10318
|
+
AssetScanEnrichmentSource2["ADLIBRARY"] = "adlibrary";
|
|
10319
|
+
AssetScanEnrichmentSource2["ETHERSCAN_API"] = "etherscan_api";
|
|
10320
|
+
AssetScanEnrichmentSource2["GOOGLE_WEB_RISK"] = "google_web_risk";
|
|
10321
|
+
AssetScanEnrichmentSource2["SEAL_ISAC"] = "seal_isac";
|
|
10322
|
+
AssetScanEnrichmentSource2["ETH_PHISHING_DETECT"] = "eth_phishing_detect";
|
|
10323
|
+
AssetScanEnrichmentSource2["POLKADOT_PHISHING"] = "polkadot_phishing";
|
|
10324
|
+
AssetScanEnrichmentSource2["TRANCO"] = "tranco";
|
|
10325
|
+
AssetScanEnrichmentSource2["UMBRELLA"] = "umbrella";
|
|
10326
|
+
AssetScanEnrichmentSource2["OPEN_PAGE_RANK"] = "open_page_rank";
|
|
10327
|
+
AssetScanEnrichmentSource2["DEFILLAMA"] = "defillama";
|
|
10328
|
+
AssetScanEnrichmentSource2["VERCEL_DOMAINS"] = "vercel_domains";
|
|
10329
|
+
return AssetScanEnrichmentSource2;
|
|
10330
|
+
})(AssetScanEnrichmentSource || {});
|
|
10331
|
+
var ASSET_SCAN_ENRICHMENT_TYPE_LABELS = {
|
|
10332
|
+
["content_and_metadata" /* CONTENT_AND_METADATA */]: "Content and Metadata",
|
|
10333
|
+
["post" /* TWITTER_POST */]: "Post",
|
|
10334
|
+
["profile" /* TWITTER_PROFILE */]: "Profile",
|
|
10335
|
+
["twitter_followers" /* TWITTER_FOLLOWERS */]: "Twitter Followers",
|
|
10336
|
+
["browser_capture" /* BROWSER_CAPTURE */]: "Browser Capture",
|
|
10337
|
+
["geolocation_and_ip" /* GEOLOCATION_AND_IP */]: "Geolocation and IP",
|
|
10338
|
+
["ownership_and_registration" /* OWNERSHIP_AND_REGISTRATION */]: "Ownership and Registration",
|
|
10339
|
+
["dns" /* DNS */]: "DNS Lookup",
|
|
10340
|
+
["tls" /* TLS */]: "TLS Connection Info",
|
|
10341
|
+
["tcp" /* TCP */]: "TCP Connection Info",
|
|
10342
|
+
["hostname_first_seen" /* HOSTNAME_FIRST_SEEN */]: "Hostname First Seen",
|
|
10343
|
+
// Farcaster
|
|
10344
|
+
["cast" /* FARCASTER_CAST */]: "Farcaster Cast",
|
|
10345
|
+
["farcaster_profile" /* FARCASTER_PROFILE */]: "Farcaster Profile",
|
|
10346
|
+
["channel" /* FARCASTER_CHANNEL */]: "Farcaster Channel",
|
|
10347
|
+
["miniapp" /* FARCASTER_MINIAPP */]: "Farcaster MiniApp",
|
|
10348
|
+
// Telegram
|
|
10349
|
+
["telegram_profile" /* TELEGRAM_PROFILE */]: "Telegram Profile",
|
|
10350
|
+
// Instagram
|
|
10351
|
+
["instagram_profile" /* INSTAGRAM_PROFILE */]: "Instagram Profile",
|
|
10352
|
+
// Facebook
|
|
10353
|
+
["facebook_profile" /* FACEBOOK_PROFILE */]: "Facebook Profile",
|
|
10354
|
+
// YouTube
|
|
10355
|
+
["youtube_video" /* YOUTUBE_VIDEO */]: "YouTube Video",
|
|
10356
|
+
["youtube_channel" /* YOUTUBE_CHANNEL */]: "YouTube Channel",
|
|
10357
|
+
// Apple App Store
|
|
10358
|
+
["apple_app_store_listing" /* APPLE_APP_STORE_LISTING */]: "Apple App Store Listing",
|
|
10359
|
+
// Google Play Store
|
|
10360
|
+
["google_play_store_listing" /* GOOGLE_PLAY_STORE_LISTING */]: "Google Play Store Listing",
|
|
10361
|
+
// Mozilla
|
|
10362
|
+
["mozilla_addon" /* MOZILLA_ADDON */]: "Mozilla Add-on",
|
|
10363
|
+
// GitHub
|
|
10364
|
+
["github_comment" /* GITHUB_COMMENT */]: "GitHub Comment",
|
|
10365
|
+
// Reddit
|
|
10366
|
+
["reddit_subreddit" /* REDDIT_SUBREDDIT */]: "Reddit Subreddit",
|
|
10367
|
+
// Email
|
|
10368
|
+
["email_validation" /* EMAIL_VALIDATION */]: "Email Validation",
|
|
10369
|
+
// Phone Number
|
|
10370
|
+
["phone_lookup" /* PHONE_LOOKUP */]: "Phone Lookup",
|
|
10371
|
+
// Bilibili
|
|
10372
|
+
["bilibili_video" /* BILIBILI_VIDEO */]: "Bilibili Video",
|
|
10373
|
+
["bilibili_profile" /* BILIBILI_PROFILE */]: "Bilibili Profile",
|
|
10374
|
+
// DailyMotion
|
|
10375
|
+
["dailymotion_video" /* DAILYMOTION_VIDEO */]: "DailyMotion Video",
|
|
10376
|
+
// Vimeo
|
|
10377
|
+
["vimeo_video" /* VIMEO_VIDEO */]: "Vimeo Video",
|
|
10378
|
+
["vimeo_profile" /* VIMEO_PROFILE */]: "Vimeo Profile",
|
|
10379
|
+
// Stackblitz
|
|
10380
|
+
["stackblitz_page" /* STACKBLITZ_PAGE */]: "Stackblitz Page",
|
|
10381
|
+
// Leetcode
|
|
10382
|
+
["leetcode_page" /* LEETCODE_PAGE */]: "Leetcode Page",
|
|
10383
|
+
// Tumblr
|
|
10384
|
+
["tumblr_blog" /* TUMBLR_BLOG */]: "Tumblr Blog",
|
|
10385
|
+
["tumblr_post" /* TUMBLR_POST */]: "Tumblr Post",
|
|
10386
|
+
["tumblr_community" /* TUMBLR_COMMUNITY */]: "Tumblr Community",
|
|
10387
|
+
// NPM
|
|
10388
|
+
["npm_package" /* NPM_PACKAGE */]: "NPM Package",
|
|
10389
|
+
// PyPI
|
|
10390
|
+
["pypi_package" /* PYPI_PACKAGE */]: "PyPI Package",
|
|
10391
|
+
// Rust Package
|
|
10392
|
+
["rust_package" /* RUST_PACKAGE */]: "Rust Package",
|
|
10393
|
+
// LinkedIn
|
|
10394
|
+
["linkedin_profile" /* LINKEDIN_PROFILE */]: "LinkedIn Profile",
|
|
10395
|
+
// Pump.fun
|
|
10396
|
+
["pump_fun_token" /* PUMP_FUN_TOKEN */]: "Pump.fun Token",
|
|
10397
|
+
// Meta Ads
|
|
10398
|
+
["meta_ad" /* META_AD */]: "Meta Ad",
|
|
10399
|
+
// Google Ads
|
|
10400
|
+
["google_ad" /* GOOGLE_AD */]: "Google Ad",
|
|
10401
|
+
// Cross-platform ad intelligence
|
|
10402
|
+
["adlibrary_ad" /* ADLIBRARY_AD */]: "AdLibrary Ad",
|
|
10403
|
+
// Crypto / Onchain
|
|
10404
|
+
["contract_deployer" /* CONTRACT_DEPLOYER */]: "Contract Deployer",
|
|
10405
|
+
// URL reputation
|
|
10406
|
+
["threat_intel" /* THREAT_INTEL */]: "Threat Intelligence",
|
|
10407
|
+
["list_membership" /* LIST_MEMBERSHIP */]: "List Membership",
|
|
10408
|
+
["threat_score" /* THREAT_SCORE */]: "Threat Score"
|
|
10409
|
+
};
|
|
10410
|
+
var ASSET_SCAN_ENRICHMENT_SOURCE_LABELS = {
|
|
10411
|
+
// URL
|
|
10412
|
+
["urlscan" /* URLSCAN */]: "URLScan",
|
|
10413
|
+
["whois" /* WHOIS */]: "Whois",
|
|
10414
|
+
["rdap" /* RDAP */]: "RDAP",
|
|
10415
|
+
["http_content" /* HTTP_CONTENT */]: "HTTP Content",
|
|
10416
|
+
["node_js_network" /* NETWORK */]: "Network",
|
|
10417
|
+
["extension" /* EXTENSION */]: "Browser Extension",
|
|
10418
|
+
["playwright" /* PLAYWRIGHT */]: "Playwright",
|
|
10419
|
+
["chainpatrol_browser" /* CHAINPATROL_BROWSER */]: "ChainPatrol Browser",
|
|
10420
|
+
["steel_browser" /* STEEL_BROWSER */]: "Steel Browser",
|
|
10421
|
+
// Twitter
|
|
10422
|
+
["x_api" /* X_API */]: "X API",
|
|
10423
|
+
["socialdata_api" /* SOCIALDATA_API */]: "SocialData API",
|
|
10424
|
+
// Farcaster
|
|
10425
|
+
["neynar_api" /* NEYNAR_API */]: "Neynar API",
|
|
10426
|
+
// Telegram
|
|
10427
|
+
["telegram_api" /* TELEGRAM_API */]: "Telegram API",
|
|
10428
|
+
// Instagram
|
|
10429
|
+
["instagram_api" /* INSTAGRAM_API */]: "Instagram API",
|
|
10430
|
+
// Facebook
|
|
10431
|
+
["facebook_api" /* FACEBOOK_API */]: "Facebook API",
|
|
10432
|
+
// YouTube
|
|
10433
|
+
["youtube_api" /* YOUTUBE_API */]: "YouTube API",
|
|
10434
|
+
// Apple App Store
|
|
10435
|
+
["apple_app_store_api" /* APPLE_APP_STORE_API */]: "Apple App Store API",
|
|
10436
|
+
// Google Play Store
|
|
10437
|
+
["google_play_store_api" /* GOOGLE_PLAY_STORE_API */]: "Google Play Store API",
|
|
10438
|
+
// Mozilla
|
|
10439
|
+
["mozilla_addons_api" /* MOZILLA_ADDONS_API */]: "Mozilla Add-ons API",
|
|
10440
|
+
// GitHub
|
|
10441
|
+
["github_api" /* GITHUB_API */]: "GitHub API",
|
|
10442
|
+
// Reddit
|
|
10443
|
+
["reddit_api" /* REDDIT_API */]: "Reddit API",
|
|
10444
|
+
// Email
|
|
10445
|
+
["mails_api" /* MAILS_API */]: "Mails.so API",
|
|
10446
|
+
// Phone Number
|
|
10447
|
+
["telnyx_lookup" /* TELNYX_LOOKUP */]: "Telnyx Lookup",
|
|
10448
|
+
["twilio_lookup" /* TWILIO_LOOKUP */]: "Twilio Lookup",
|
|
10449
|
+
// DailyMotion
|
|
10450
|
+
["dailymotion_api" /* DAILYMOTION_API */]: "DailyMotion API",
|
|
10451
|
+
// Vimeo
|
|
10452
|
+
["vimeo_api" /* VIMEO_API */]: "Vimeo API",
|
|
10453
|
+
// Stackblitz
|
|
10454
|
+
["stackblitz_api" /* STACKBLITZ_API */]: "Stackblitz API",
|
|
10455
|
+
// Leetcode
|
|
10456
|
+
["leetcode_api" /* LEETCODE_API */]: "Leetcode API",
|
|
10457
|
+
// Tumblr
|
|
10458
|
+
["tumblr_api" /* TUMBLR_API */]: "Tumblr API",
|
|
10459
|
+
// NPM
|
|
10460
|
+
["npm_registry_api" /* NPM_REGISTRY_API */]: "NPM Registry API",
|
|
10461
|
+
// PyPI
|
|
10462
|
+
["pypi_registry_api" /* PYPI_REGISTRY_API */]: "PyPI Registry API",
|
|
10463
|
+
// Rust Package
|
|
10464
|
+
["crates_io_api" /* CRATES_IO_API */]: "Crates.io API",
|
|
10465
|
+
// LinkedIn
|
|
10466
|
+
["apify_linkedin_api" /* APIFY_LINKEDIN_API */]: "Apify LinkedIn API",
|
|
10467
|
+
// Pump.fun
|
|
10468
|
+
["pump_fun_api" /* PUMP_FUN_API */]: "Pump.fun API",
|
|
10469
|
+
// Meta Ads
|
|
10470
|
+
["meta_ads_library" /* META_ADS_LIBRARY */]: "Meta Ads Library",
|
|
10471
|
+
["steel_meta_ads_library" /* STEEL_META_ADS_LIBRARY */]: "Steel Meta Ads Library",
|
|
10472
|
+
// Google Ads
|
|
10473
|
+
["google_ads_transparency_center" /* GOOGLE_ADS_TRANSPARENCY_CENTER */]: "Google Ads Transparency Center",
|
|
10474
|
+
// Cross-platform ad intelligence
|
|
10475
|
+
["adlibrary" /* ADLIBRARY */]: "AdLibrary",
|
|
10476
|
+
// Crypto / Onchain
|
|
10477
|
+
["etherscan_api" /* ETHERSCAN_API */]: "Etherscan",
|
|
10478
|
+
// URL reputation
|
|
10479
|
+
["google_web_risk" /* GOOGLE_WEB_RISK */]: "Google Web Risk",
|
|
10480
|
+
["seal_isac" /* SEAL_ISAC */]: "SEAL-ISAC",
|
|
10481
|
+
["eth_phishing_detect" /* ETH_PHISHING_DETECT */]: "eth-phishing-detect",
|
|
10482
|
+
["polkadot_phishing" /* POLKADOT_PHISHING */]: "Polkadot Phishing",
|
|
10483
|
+
["tranco" /* TRANCO */]: "Tranco",
|
|
10484
|
+
["umbrella" /* UMBRELLA */]: "Cisco Umbrella",
|
|
10485
|
+
["open_page_rank" /* OPEN_PAGE_RANK */]: "Open Page Rank",
|
|
10486
|
+
["defillama" /* DEFILLAMA */]: "DefiLlama",
|
|
10487
|
+
["vercel_domains" /* VERCEL_DOMAINS */]: "Vercel Domains"
|
|
10488
|
+
};
|
|
10489
|
+
var ASSET_SCAN_ENRICHMENT_SOURCE_TO_TYPES = {
|
|
10490
|
+
// URL-related sources
|
|
10491
|
+
["urlscan" /* URLSCAN */]: [
|
|
10492
|
+
"browser_capture" /* BROWSER_CAPTURE */,
|
|
10493
|
+
"geolocation_and_ip" /* GEOLOCATION_AND_IP */,
|
|
10494
|
+
"hostname_first_seen" /* HOSTNAME_FIRST_SEEN */
|
|
10495
|
+
],
|
|
10496
|
+
["whois" /* WHOIS */]: ["ownership_and_registration" /* OWNERSHIP_AND_REGISTRATION */],
|
|
10497
|
+
["rdap" /* RDAP */]: ["ownership_and_registration" /* OWNERSHIP_AND_REGISTRATION */],
|
|
10498
|
+
["http_content" /* HTTP_CONTENT */]: [
|
|
10499
|
+
"content_and_metadata" /* CONTENT_AND_METADATA */
|
|
10500
|
+
],
|
|
10501
|
+
["node_js_network" /* NETWORK */]: [
|
|
10502
|
+
"dns" /* DNS */,
|
|
10503
|
+
"tls" /* TLS */,
|
|
10504
|
+
"tcp" /* TCP */
|
|
10505
|
+
],
|
|
10506
|
+
["extension" /* EXTENSION */]: [
|
|
10507
|
+
"browser_capture" /* BROWSER_CAPTURE */,
|
|
10508
|
+
"telegram_profile" /* TELEGRAM_PROFILE */,
|
|
10509
|
+
"linkedin_profile" /* LINKEDIN_PROFILE */,
|
|
10510
|
+
"instagram_profile" /* INSTAGRAM_PROFILE */,
|
|
10511
|
+
"meta_ad" /* META_AD */
|
|
10512
|
+
],
|
|
10513
|
+
["playwright" /* PLAYWRIGHT */]: [
|
|
10514
|
+
"browser_capture" /* BROWSER_CAPTURE */,
|
|
10515
|
+
"bilibili_video" /* BILIBILI_VIDEO */,
|
|
10516
|
+
"bilibili_profile" /* BILIBILI_PROFILE */,
|
|
10517
|
+
"telegram_profile" /* TELEGRAM_PROFILE */
|
|
10518
|
+
],
|
|
10519
|
+
// Only the generic page capture: the in-house browser does not (yet) run the
|
|
10520
|
+
// platform-specific scrapes PLAYWRIGHT does above.
|
|
10521
|
+
["chainpatrol_browser" /* CHAINPATROL_BROWSER */]: [
|
|
10522
|
+
"browser_capture" /* BROWSER_CAPTURE */
|
|
10523
|
+
],
|
|
10524
|
+
["steel_browser" /* STEEL_BROWSER */]: ["browser_capture" /* BROWSER_CAPTURE */],
|
|
10525
|
+
// Twitter-related sources
|
|
10526
|
+
["x_api" /* X_API */]: [
|
|
10527
|
+
"post" /* TWITTER_POST */,
|
|
10528
|
+
"profile" /* TWITTER_PROFILE */,
|
|
10529
|
+
"twitter_followers" /* TWITTER_FOLLOWERS */
|
|
10530
|
+
],
|
|
10531
|
+
["socialdata_api" /* SOCIALDATA_API */]: [
|
|
10532
|
+
"post" /* TWITTER_POST */,
|
|
10533
|
+
"profile" /* TWITTER_PROFILE */,
|
|
10534
|
+
"twitter_followers" /* TWITTER_FOLLOWERS */
|
|
10535
|
+
],
|
|
10536
|
+
// Farcaster-related sources
|
|
10537
|
+
["neynar_api" /* NEYNAR_API */]: [
|
|
10538
|
+
"cast" /* FARCASTER_CAST */,
|
|
10539
|
+
"farcaster_profile" /* FARCASTER_PROFILE */,
|
|
10540
|
+
"channel" /* FARCASTER_CHANNEL */,
|
|
10541
|
+
"miniapp" /* FARCASTER_MINIAPP */
|
|
10542
|
+
],
|
|
10543
|
+
// Telegram-related sources
|
|
10544
|
+
["telegram_api" /* TELEGRAM_API */]: ["telegram_profile" /* TELEGRAM_PROFILE */],
|
|
10545
|
+
// Instagram-related sources
|
|
10546
|
+
["instagram_api" /* INSTAGRAM_API */]: ["instagram_profile" /* INSTAGRAM_PROFILE */],
|
|
10547
|
+
// Facebook-related sources
|
|
10548
|
+
["facebook_api" /* FACEBOOK_API */]: ["facebook_profile" /* FACEBOOK_PROFILE */],
|
|
10549
|
+
// YouTube-related sources
|
|
10550
|
+
["youtube_api" /* YOUTUBE_API */]: [
|
|
10551
|
+
"youtube_video" /* YOUTUBE_VIDEO */,
|
|
10552
|
+
"youtube_channel" /* YOUTUBE_CHANNEL */
|
|
10553
|
+
],
|
|
10554
|
+
// Apple App Store-related sources
|
|
10555
|
+
["apple_app_store_api" /* APPLE_APP_STORE_API */]: [
|
|
10556
|
+
"apple_app_store_listing" /* APPLE_APP_STORE_LISTING */
|
|
10557
|
+
],
|
|
10558
|
+
// Google Play Store-related sources
|
|
10559
|
+
["google_play_store_api" /* GOOGLE_PLAY_STORE_API */]: [
|
|
10560
|
+
"google_play_store_listing" /* GOOGLE_PLAY_STORE_LISTING */
|
|
10561
|
+
],
|
|
10562
|
+
// Mozilla-related sources
|
|
10563
|
+
["mozilla_addons_api" /* MOZILLA_ADDONS_API */]: ["mozilla_addon" /* MOZILLA_ADDON */],
|
|
10564
|
+
// GitHub-related sources
|
|
10565
|
+
["github_api" /* GITHUB_API */]: ["github_comment" /* GITHUB_COMMENT */],
|
|
10566
|
+
// Reddit-related sources
|
|
10567
|
+
["reddit_api" /* REDDIT_API */]: ["reddit_subreddit" /* REDDIT_SUBREDDIT */],
|
|
10568
|
+
// Email-related sources
|
|
10569
|
+
["mails_api" /* MAILS_API */]: ["email_validation" /* EMAIL_VALIDATION */],
|
|
10570
|
+
// Phone Number-related sources
|
|
10571
|
+
["telnyx_lookup" /* TELNYX_LOOKUP */]: ["phone_lookup" /* PHONE_LOOKUP */],
|
|
10572
|
+
["twilio_lookup" /* TWILIO_LOOKUP */]: ["phone_lookup" /* PHONE_LOOKUP */],
|
|
10573
|
+
// DailyMotion-related sources
|
|
10574
|
+
["dailymotion_api" /* DAILYMOTION_API */]: [
|
|
10575
|
+
"dailymotion_video" /* DAILYMOTION_VIDEO */
|
|
10576
|
+
],
|
|
10577
|
+
// Vimeo-related sources
|
|
10578
|
+
["vimeo_api" /* VIMEO_API */]: [
|
|
10579
|
+
"vimeo_video" /* VIMEO_VIDEO */,
|
|
10580
|
+
"vimeo_profile" /* VIMEO_PROFILE */
|
|
10581
|
+
],
|
|
10582
|
+
// Stackblitz-related sources
|
|
10583
|
+
["stackblitz_api" /* STACKBLITZ_API */]: ["stackblitz_page" /* STACKBLITZ_PAGE */],
|
|
10584
|
+
// Leetcode-related sources
|
|
10585
|
+
["leetcode_api" /* LEETCODE_API */]: ["leetcode_page" /* LEETCODE_PAGE */],
|
|
10586
|
+
// Tumblr-related sources
|
|
10587
|
+
["tumblr_api" /* TUMBLR_API */]: [
|
|
10588
|
+
"tumblr_blog" /* TUMBLR_BLOG */,
|
|
10589
|
+
"tumblr_post" /* TUMBLR_POST */,
|
|
10590
|
+
"tumblr_community" /* TUMBLR_COMMUNITY */
|
|
10591
|
+
],
|
|
10592
|
+
// NPM-related sources
|
|
10593
|
+
["npm_registry_api" /* NPM_REGISTRY_API */]: ["npm_package" /* NPM_PACKAGE */],
|
|
10594
|
+
// PyPI-related sources
|
|
10595
|
+
["pypi_registry_api" /* PYPI_REGISTRY_API */]: ["pypi_package" /* PYPI_PACKAGE */],
|
|
10596
|
+
// Rust Package-related sources
|
|
10597
|
+
["crates_io_api" /* CRATES_IO_API */]: ["rust_package" /* RUST_PACKAGE */],
|
|
10598
|
+
// LinkedIn-related sources
|
|
10599
|
+
["apify_linkedin_api" /* APIFY_LINKEDIN_API */]: [
|
|
10600
|
+
"linkedin_profile" /* LINKEDIN_PROFILE */
|
|
10601
|
+
],
|
|
10602
|
+
// Pump.fun
|
|
10603
|
+
["pump_fun_api" /* PUMP_FUN_API */]: ["pump_fun_token" /* PUMP_FUN_TOKEN */],
|
|
10604
|
+
// Meta Ads-related sources
|
|
10605
|
+
["meta_ads_library" /* META_ADS_LIBRARY */]: ["meta_ad" /* META_AD */],
|
|
10606
|
+
["steel_meta_ads_library" /* STEEL_META_ADS_LIBRARY */]: ["meta_ad" /* META_AD */],
|
|
10607
|
+
// Google Ads-related sources
|
|
10608
|
+
["google_ads_transparency_center" /* GOOGLE_ADS_TRANSPARENCY_CENTER */]: [
|
|
10609
|
+
"google_ad" /* GOOGLE_AD */
|
|
10610
|
+
],
|
|
10611
|
+
// Cross-platform ad intelligence sources
|
|
10612
|
+
["adlibrary" /* ADLIBRARY */]: ["adlibrary_ad" /* ADLIBRARY_AD */],
|
|
10613
|
+
// Crypto / Onchain sources
|
|
10614
|
+
["etherscan_api" /* ETHERSCAN_API */]: ["contract_deployer" /* CONTRACT_DEPLOYER */],
|
|
10615
|
+
// URL reputation
|
|
10616
|
+
["google_web_risk" /* GOOGLE_WEB_RISK */]: ["threat_score" /* THREAT_SCORE */],
|
|
10617
|
+
["seal_isac" /* SEAL_ISAC */]: ["threat_intel" /* THREAT_INTEL */],
|
|
10618
|
+
["eth_phishing_detect" /* ETH_PHISHING_DETECT */]: ["threat_intel" /* THREAT_INTEL */],
|
|
10619
|
+
["polkadot_phishing" /* POLKADOT_PHISHING */]: ["threat_intel" /* THREAT_INTEL */],
|
|
10620
|
+
["tranco" /* TRANCO */]: ["list_membership" /* LIST_MEMBERSHIP */],
|
|
10621
|
+
["umbrella" /* UMBRELLA */]: ["list_membership" /* LIST_MEMBERSHIP */],
|
|
10622
|
+
["open_page_rank" /* OPEN_PAGE_RANK */]: ["list_membership" /* LIST_MEMBERSHIP */],
|
|
10623
|
+
["defillama" /* DEFILLAMA */]: ["list_membership" /* LIST_MEMBERSHIP */],
|
|
10624
|
+
["vercel_domains" /* VERCEL_DOMAINS */]: ["list_membership" /* LIST_MEMBERSHIP */]
|
|
10625
|
+
};
|
|
10626
|
+
|
|
10627
|
+
// ../../internal/utils/src/array.ts
|
|
10628
|
+
var array_exports = {};
|
|
10629
|
+
__export(array_exports, {
|
|
10630
|
+
arraysEqual: () => arraysEqual,
|
|
10631
|
+
chunkArray: () => chunkArray,
|
|
10632
|
+
combineAndRemoveDuplicatesByKey: () => combineAndRemoveDuplicatesByKey,
|
|
10633
|
+
isArray: () => isArray,
|
|
10634
|
+
isEmptyArray: () => isEmptyArray,
|
|
10635
|
+
isNonEmptyArray: () => isNonEmptyArray,
|
|
10636
|
+
randomElement: () => randomElement,
|
|
10637
|
+
randomIndex: () => randomIndex,
|
|
10638
|
+
removeDuplicates: () => removeDuplicates,
|
|
10639
|
+
shuffleInPlace: () => shuffleInPlace,
|
|
10640
|
+
shuffled: () => shuffled
|
|
10641
|
+
});
|
|
10642
|
+
function isArray(value) {
|
|
10643
|
+
return Array.isArray(value);
|
|
10644
|
+
}
|
|
10645
|
+
function isEmptyArray(value) {
|
|
10646
|
+
return value.length === 0;
|
|
10485
10647
|
}
|
|
10486
|
-
function
|
|
10487
|
-
|
|
10488
|
-
return false;
|
|
10489
|
-
}
|
|
10490
|
-
const npaFirst = d10.charCodeAt(0) - 48;
|
|
10491
|
-
const nxxFirst = d10.charCodeAt(3) - 48;
|
|
10492
|
-
if (npaFirst < 2 || npaFirst > 9) {
|
|
10493
|
-
return false;
|
|
10494
|
-
}
|
|
10495
|
-
if (nxxFirst < 2 || nxxFirst > 9) {
|
|
10496
|
-
return false;
|
|
10497
|
-
}
|
|
10498
|
-
return true;
|
|
10648
|
+
function isNonEmptyArray(value) {
|
|
10649
|
+
return value.length > 0;
|
|
10499
10650
|
}
|
|
10500
|
-
function
|
|
10501
|
-
|
|
10502
|
-
const d = withoutExt.replace(/\D/g, "");
|
|
10503
|
-
if (d.length < 8 || d.length > 15) {
|
|
10504
|
-
return false;
|
|
10505
|
-
}
|
|
10506
|
-
if (isAllSameDigit(d) || isStrictlyMonotonicStep1(d)) {
|
|
10507
|
-
return false;
|
|
10508
|
-
}
|
|
10509
|
-
const onlyDigits = /^\d+$/.test(withoutExt);
|
|
10510
|
-
if (hasPlus) {
|
|
10511
|
-
if (d.length === 11 && d.startsWith("1")) {
|
|
10512
|
-
return isValidNanpNational10(d.slice(1));
|
|
10513
|
-
}
|
|
10514
|
-
return true;
|
|
10515
|
-
}
|
|
10516
|
-
if (onlyDigits) {
|
|
10517
|
-
if (d.length === 10) {
|
|
10518
|
-
return isValidNanpNational10(d);
|
|
10519
|
-
}
|
|
10520
|
-
if (d.length === 11 && d.startsWith("1")) {
|
|
10521
|
-
return isValidNanpNational10(d.slice(1));
|
|
10522
|
-
}
|
|
10523
|
-
if (d.length === 11 && d.startsWith("0")) {
|
|
10524
|
-
return true;
|
|
10525
|
-
}
|
|
10526
|
-
return false;
|
|
10527
|
-
}
|
|
10528
|
-
if (d.length === 10) {
|
|
10529
|
-
return isValidNanpNational10(d);
|
|
10530
|
-
}
|
|
10531
|
-
if (d.length === 11 && d.startsWith("1")) {
|
|
10532
|
-
return isValidNanpNational10(d.slice(1));
|
|
10533
|
-
}
|
|
10534
|
-
if (d.length === 11 && d.startsWith("0")) {
|
|
10535
|
-
return true;
|
|
10536
|
-
}
|
|
10537
|
-
if (d.length >= 12 && d.length <= 15) {
|
|
10538
|
-
return true;
|
|
10539
|
-
}
|
|
10540
|
-
return false;
|
|
10651
|
+
function randomIndex(array) {
|
|
10652
|
+
return Math.floor(Math.random() * array.length);
|
|
10541
10653
|
}
|
|
10542
|
-
function
|
|
10543
|
-
|
|
10544
|
-
if (trimmed === "") {
|
|
10545
|
-
return false;
|
|
10546
|
-
}
|
|
10547
|
-
if (!/^[+\d(]/.test(trimmed)) {
|
|
10548
|
-
return false;
|
|
10549
|
-
}
|
|
10550
|
-
const withoutExt = trimmed.replace(/\s*(ext|extension|x)\s*\d+$/i, "");
|
|
10551
|
-
if (/[a-zA-Z]/.test(withoutExt)) {
|
|
10552
|
-
return false;
|
|
10553
|
-
}
|
|
10554
|
-
const hasPhoneMarker = /[+()\s-]/.test(trimmed);
|
|
10555
|
-
const isPureDotSeparated = /^\d+(\.\d+)+$/.test(trimmed);
|
|
10556
|
-
if (isPureDotSeparated && !hasPhoneMarker) {
|
|
10557
|
-
return false;
|
|
10558
|
-
}
|
|
10559
|
-
const phoneRegex = /^(?:\+?\d{1,4}[\s.-]?)?(?:\(\d{1,4}\)|\d{1,4})[\s.-]?\d{1,4}[\s.-]?\d{1,4}[\s.-]?\d{0,4}(?:\s*(?:ext|x|extension)[\s.]*\d{1,6})?$/i;
|
|
10560
|
-
if (!phoneRegex.test(trimmed)) {
|
|
10561
|
-
return false;
|
|
10562
|
-
}
|
|
10563
|
-
return isPlausiblePhoneDigits(withoutExt);
|
|
10654
|
+
function randomElement(array) {
|
|
10655
|
+
return array[randomIndex(array)];
|
|
10564
10656
|
}
|
|
10565
|
-
function
|
|
10566
|
-
|
|
10567
|
-
const withoutExt = trimmed.replace(/\s*(ext|extension|x)\s*\d+$/i, "");
|
|
10568
|
-
const hasPlus = withoutExt.startsWith("+");
|
|
10569
|
-
const digitsOnly = withoutExt.replace(/\D/g, "");
|
|
10570
|
-
return hasPlus ? `+${digitsOnly}` : digitsOnly;
|
|
10657
|
+
function removeDuplicates(array) {
|
|
10658
|
+
return Array.from(new Set(array));
|
|
10571
10659
|
}
|
|
10572
|
-
|
|
10573
|
-
|
|
10574
|
-
|
|
10575
|
-
|
|
10576
|
-
|
|
10577
|
-
|
|
10578
|
-
var skew = 38;
|
|
10579
|
-
var damp = 700;
|
|
10580
|
-
var initialBias = 72;
|
|
10581
|
-
var initialN = 128;
|
|
10582
|
-
var delimiter = "-";
|
|
10583
|
-
var regexPunycode = /^xn--/;
|
|
10584
|
-
var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g;
|
|
10585
|
-
var errors = {
|
|
10586
|
-
overflow: "Overflow: input needs wider integers to process",
|
|
10587
|
-
"not-basic": "Illegal input >= 0x80 (not a basic code point)",
|
|
10588
|
-
"invalid-input": "Invalid input"
|
|
10589
|
-
};
|
|
10590
|
-
var baseMinusTMin = base - tMin;
|
|
10591
|
-
var floor = Math.floor;
|
|
10592
|
-
function error(type) {
|
|
10593
|
-
throw new RangeError(errors[type]);
|
|
10660
|
+
function combineAndRemoveDuplicatesByKey(arr1, arr2, uniqueKey) {
|
|
10661
|
+
const combinedArray = [...arr1, ...arr2];
|
|
10662
|
+
const uniqueObjects = new Map(
|
|
10663
|
+
combinedArray.map((item) => [item[uniqueKey], item])
|
|
10664
|
+
);
|
|
10665
|
+
return Array.from(uniqueObjects.values());
|
|
10594
10666
|
}
|
|
10595
|
-
function
|
|
10596
|
-
const
|
|
10597
|
-
let
|
|
10598
|
-
|
|
10599
|
-
result = parts[0] + "@";
|
|
10600
|
-
domain = parts[1];
|
|
10667
|
+
function chunkArray(array, chunkSize) {
|
|
10668
|
+
const chunks = [];
|
|
10669
|
+
for (let i = 0; i < array.length; i += chunkSize) {
|
|
10670
|
+
chunks.push(array.slice(i, i + chunkSize));
|
|
10601
10671
|
}
|
|
10602
|
-
|
|
10603
|
-
const labels = domain.split(".");
|
|
10604
|
-
const encoded = labels.map(callback).join(".");
|
|
10605
|
-
return result + encoded;
|
|
10672
|
+
return chunks;
|
|
10606
10673
|
}
|
|
10607
|
-
function
|
|
10608
|
-
|
|
10609
|
-
|
|
10610
|
-
|
|
10611
|
-
if (codePoint >= 65 && codePoint < 91) {
|
|
10612
|
-
return codePoint - 65;
|
|
10613
|
-
}
|
|
10614
|
-
if (codePoint >= 97 && codePoint < 123) {
|
|
10615
|
-
return codePoint - 97;
|
|
10674
|
+
function shuffleInPlace(array) {
|
|
10675
|
+
for (let i = array.length - 1; i > 0; i--) {
|
|
10676
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
10677
|
+
[array[i], array[j]] = [array[j], array[i]];
|
|
10616
10678
|
}
|
|
10617
|
-
return base;
|
|
10618
10679
|
}
|
|
10619
|
-
function
|
|
10620
|
-
|
|
10621
|
-
|
|
10622
|
-
|
|
10623
|
-
for (
|
|
10624
|
-
;
|
|
10625
|
-
/* no initialization */
|
|
10626
|
-
delta > baseMinusTMin * tMax >> 1;
|
|
10627
|
-
k4 += base
|
|
10628
|
-
) {
|
|
10629
|
-
delta = floor(delta / baseMinusTMin);
|
|
10630
|
-
}
|
|
10631
|
-
return floor(k4 + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
10680
|
+
function shuffled(array) {
|
|
10681
|
+
const newArray = array.slice();
|
|
10682
|
+
shuffleInPlace(newArray);
|
|
10683
|
+
return newArray;
|
|
10632
10684
|
}
|
|
10633
|
-
function
|
|
10634
|
-
|
|
10635
|
-
const
|
|
10636
|
-
|
|
10637
|
-
|
|
10638
|
-
|
|
10639
|
-
|
|
10640
|
-
|
|
10641
|
-
|
|
10685
|
+
function arraysEqual(a, b) {
|
|
10686
|
+
if (a.length !== b.length) return false;
|
|
10687
|
+
const sortedA = [...a].sort();
|
|
10688
|
+
const sortedB = [...b].sort();
|
|
10689
|
+
return sortedA.every((val, idx) => val === sortedB[idx]);
|
|
10690
|
+
}
|
|
10691
|
+
|
|
10692
|
+
// ../../internal/utils/src/cron.ts
|
|
10693
|
+
var cron_exports = {};
|
|
10694
|
+
__export(cron_exports, {
|
|
10695
|
+
cronToHumanReadable: () => cronToHumanReadable,
|
|
10696
|
+
isValidCronExpression: () => isValidCronExpression
|
|
10697
|
+
});
|
|
10698
|
+
var WEEKDAYS = [
|
|
10699
|
+
"Sunday",
|
|
10700
|
+
"Monday",
|
|
10701
|
+
"Tuesday",
|
|
10702
|
+
"Wednesday",
|
|
10703
|
+
"Thursday",
|
|
10704
|
+
"Friday",
|
|
10705
|
+
"Saturday"
|
|
10706
|
+
];
|
|
10707
|
+
var MONTHS = [
|
|
10708
|
+
"January",
|
|
10709
|
+
"February",
|
|
10710
|
+
"March",
|
|
10711
|
+
"April",
|
|
10712
|
+
"May",
|
|
10713
|
+
"June",
|
|
10714
|
+
"July",
|
|
10715
|
+
"August",
|
|
10716
|
+
"September",
|
|
10717
|
+
"October",
|
|
10718
|
+
"November",
|
|
10719
|
+
"December"
|
|
10720
|
+
];
|
|
10721
|
+
function cronToHumanReadable(cronExpression) {
|
|
10722
|
+
const [minute, hour, dayOfMonth, month, dayOfWeek2] = cronExpression.split(" ");
|
|
10723
|
+
let result = "Runs ";
|
|
10724
|
+
if (minute === "*") {
|
|
10725
|
+
result += "every minute ";
|
|
10726
|
+
} else if (minute.includes("/")) {
|
|
10727
|
+
const [, interval] = minute.split("/");
|
|
10728
|
+
result += `every ${interval} minutes `;
|
|
10729
|
+
} else {
|
|
10730
|
+
result += `at minute ${minute} `;
|
|
10642
10731
|
}
|
|
10643
|
-
|
|
10644
|
-
|
|
10645
|
-
|
|
10646
|
-
|
|
10647
|
-
|
|
10732
|
+
if (hour !== "*") {
|
|
10733
|
+
result += `past hour ${hour} `;
|
|
10734
|
+
}
|
|
10735
|
+
if (dayOfMonth !== "*") {
|
|
10736
|
+
result += `on the ${dayOfMonth}${getDaySuffix(
|
|
10737
|
+
parseInt(dayOfMonth)
|
|
10738
|
+
)} day of the month `;
|
|
10648
10739
|
}
|
|
10649
|
-
|
|
10650
|
-
const
|
|
10651
|
-
|
|
10652
|
-
if (index >= inputLength) {
|
|
10653
|
-
error("invalid-input");
|
|
10654
|
-
}
|
|
10655
|
-
const digit = basicToDigit(input.charCodeAt(index++));
|
|
10656
|
-
if (digit >= base) {
|
|
10657
|
-
error("invalid-input");
|
|
10658
|
-
}
|
|
10659
|
-
if (digit > floor((maxInt - i) / w)) {
|
|
10660
|
-
error("overflow");
|
|
10661
|
-
}
|
|
10662
|
-
i += digit * w;
|
|
10663
|
-
const t = k4 <= bias2 ? tMin : k4 >= bias2 + tMax ? tMax : k4 - bias2;
|
|
10664
|
-
if (digit < t) {
|
|
10665
|
-
break;
|
|
10666
|
-
}
|
|
10667
|
-
const baseMinusT = base - t;
|
|
10668
|
-
if (w > floor(maxInt / baseMinusT)) {
|
|
10669
|
-
error("overflow");
|
|
10670
|
-
}
|
|
10671
|
-
w *= baseMinusT;
|
|
10672
|
-
}
|
|
10673
|
-
const out = output.length + 1;
|
|
10674
|
-
bias2 = adapt(i - oldi, out, oldi == 0);
|
|
10675
|
-
if (floor(i / out) > maxInt - n2) {
|
|
10676
|
-
error("overflow");
|
|
10677
|
-
}
|
|
10678
|
-
n2 += floor(i / out);
|
|
10679
|
-
i %= out;
|
|
10680
|
-
output.splice(i++, 0, n2);
|
|
10740
|
+
if (month !== "*") {
|
|
10741
|
+
const monthNames = month.split(",").map((m) => MONTHS[parseInt(m) - 1]);
|
|
10742
|
+
result += `in ${monthNames.join(", ")} `;
|
|
10681
10743
|
}
|
|
10682
|
-
|
|
10683
|
-
|
|
10684
|
-
|
|
10685
|
-
return mapDomain(input, function(string) {
|
|
10686
|
-
return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;
|
|
10687
|
-
});
|
|
10688
|
-
}
|
|
10689
|
-
|
|
10690
|
-
// ../../internal/utils/src/url.ts
|
|
10691
|
-
function isEmail(input) {
|
|
10692
|
-
if (input.trim() === "") {
|
|
10693
|
-
return false;
|
|
10744
|
+
if (dayOfWeek2 !== "*") {
|
|
10745
|
+
const dayNames = dayOfWeek2.split(",").map((d) => WEEKDAYS[parseInt(d)]);
|
|
10746
|
+
result += `on ${dayNames.join(", ")}`;
|
|
10694
10747
|
}
|
|
10695
|
-
|
|
10696
|
-
return emailRegex.test(input);
|
|
10697
|
-
}
|
|
10698
|
-
function removeHttpProtocol(input) {
|
|
10699
|
-
return input.replace(/^https?:\/\//, "");
|
|
10700
|
-
}
|
|
10701
|
-
function stripDomainWildcardPrefix(domain) {
|
|
10702
|
-
const trimmedDomain = domain.trim();
|
|
10703
|
-
const strippedDomain = trimmedDomain.startsWith("*.") ? trimmedDomain.slice(2) : trimmedDomain;
|
|
10704
|
-
return strippedDomain.length > 0 ? strippedDomain : null;
|
|
10748
|
+
return result.trim();
|
|
10705
10749
|
}
|
|
10706
|
-
function
|
|
10707
|
-
if (
|
|
10708
|
-
|
|
10709
|
-
|
|
10750
|
+
function getDaySuffix(day) {
|
|
10751
|
+
if (day >= 11 && day <= 13) {
|
|
10752
|
+
return "th";
|
|
10753
|
+
}
|
|
10754
|
+
switch (day % 10) {
|
|
10755
|
+
case 1:
|
|
10756
|
+
return "st";
|
|
10757
|
+
case 2:
|
|
10758
|
+
return "nd";
|
|
10759
|
+
case 3:
|
|
10760
|
+
return "rd";
|
|
10761
|
+
default:
|
|
10762
|
+
return "th";
|
|
10710
10763
|
}
|
|
10711
|
-
return input.replace(/\./g, "[.]").replace(/(https:\/\/)/g, "hxxps://").replace(/(http:\/\/)/g, "hxxp://").replace(/:\/\//g, "[://]");
|
|
10712
|
-
}
|
|
10713
|
-
function getRefangedUrl(input) {
|
|
10714
|
-
return input.replace(/hxxps/gi, "https").replace(/hxxp/gi, "http").replace(/\[:\/{2}\]/g, "://").replace(/\[\.\]/g, ".");
|
|
10715
|
-
}
|
|
10716
|
-
function containsPunycode(url) {
|
|
10717
|
-
return url.indexOf("xn--") !== -1;
|
|
10718
|
-
}
|
|
10719
|
-
function toUnicode2(url) {
|
|
10720
|
-
return toUnicode(url);
|
|
10721
10764
|
}
|
|
10722
|
-
function
|
|
10723
|
-
if (
|
|
10724
|
-
|
|
10725
|
-
httpUrl.protocol = "http:";
|
|
10726
|
-
return httpUrl.toString();
|
|
10765
|
+
function isValidCronExpression(cronExpression) {
|
|
10766
|
+
if (!cronExpression || typeof cronExpression !== "string") {
|
|
10767
|
+
return false;
|
|
10727
10768
|
}
|
|
10728
|
-
|
|
10769
|
+
const parts = cronExpression.trim().split(/\s+/);
|
|
10770
|
+
if (parts.length !== 5) {
|
|
10771
|
+
return false;
|
|
10772
|
+
}
|
|
10773
|
+
const [minute, hour, dayOfMonth, month, dayOfWeek2] = parts;
|
|
10774
|
+
return isValidCronField(minute, 0, 59) && isValidCronField(hour, 0, 23) && isValidCronField(dayOfMonth, 1, 31) && isValidCronField(month, 1, 12) && isValidCronField(dayOfWeek2, 0, 7);
|
|
10729
10775
|
}
|
|
10730
|
-
function
|
|
10731
|
-
if (!
|
|
10732
|
-
|
|
10776
|
+
function isValidCronField(field, min, max) {
|
|
10777
|
+
if (!field) return false;
|
|
10778
|
+
if (field === "*") return true;
|
|
10779
|
+
if (field.includes("/")) {
|
|
10780
|
+
const [range, step] = field.split("/");
|
|
10781
|
+
const stepNum = parseInt(step);
|
|
10782
|
+
if (isNaN(stepNum) || stepNum <= 0) return false;
|
|
10783
|
+
if (range === "*") return true;
|
|
10784
|
+
return isValidCronField(range, min, max);
|
|
10733
10785
|
}
|
|
10734
|
-
if (
|
|
10735
|
-
|
|
10786
|
+
if (field.includes("-")) {
|
|
10787
|
+
const [start, end] = field.split("-");
|
|
10788
|
+
const startNum = parseInt(start);
|
|
10789
|
+
const endNum = parseInt(end);
|
|
10790
|
+
if (isNaN(startNum) || isNaN(endNum)) return false;
|
|
10791
|
+
return startNum >= min && startNum <= max && endNum >= min && endNum <= max && startNum <= endNum;
|
|
10736
10792
|
}
|
|
10737
|
-
if (
|
|
10738
|
-
|
|
10793
|
+
if (field.includes(",")) {
|
|
10794
|
+
const values = field.split(",");
|
|
10795
|
+
return values.every((value) => isValidCronField(value.trim(), min, max));
|
|
10739
10796
|
}
|
|
10740
|
-
|
|
10797
|
+
const num3 = parseInt(field);
|
|
10798
|
+
if (isNaN(num3)) return false;
|
|
10799
|
+
if (max === 7 && num3 === 7) return true;
|
|
10800
|
+
return num3 >= min && num3 <= max;
|
|
10741
10801
|
}
|
|
10742
|
-
|
|
10743
|
-
|
|
10802
|
+
|
|
10803
|
+
// ../../internal/utils/src/object.ts
|
|
10804
|
+
var object_exports = {};
|
|
10805
|
+
__export(object_exports, {
|
|
10806
|
+
isDefined: () => isDefined,
|
|
10807
|
+
isDefinedAndNotNull: () => isDefinedAndNotNull,
|
|
10808
|
+
isNotNull: () => isNotNull
|
|
10809
|
+
});
|
|
10810
|
+
function isDefined(value) {
|
|
10811
|
+
return value !== void 0;
|
|
10744
10812
|
}
|
|
10745
|
-
function
|
|
10746
|
-
|
|
10747
|
-
return `https://icons.duckduckgo.com/ip3/${normalizedUrl.hostname}.ico`;
|
|
10813
|
+
function isNotNull(value) {
|
|
10814
|
+
return value !== null;
|
|
10748
10815
|
}
|
|
10749
|
-
function
|
|
10750
|
-
|
|
10751
|
-
|
|
10752
|
-
|
|
10753
|
-
|
|
10754
|
-
|
|
10755
|
-
|
|
10756
|
-
|
|
10757
|
-
|
|
10758
|
-
|
|
10759
|
-
|
|
10760
|
-
|
|
10761
|
-
|
|
10816
|
+
function isDefinedAndNotNull(value) {
|
|
10817
|
+
return value !== null && value !== void 0;
|
|
10818
|
+
}
|
|
10819
|
+
|
|
10820
|
+
// ../../internal/utils/src/promise.ts
|
|
10821
|
+
var promise_exports = {};
|
|
10822
|
+
__export(promise_exports, {
|
|
10823
|
+
allSettledWithConcurrency: () => allSettledWithConcurrency,
|
|
10824
|
+
isPromiseSettledResultFulfilled: () => isPromiseSettledResultFulfilled,
|
|
10825
|
+
isPromiseSettledResultRejected: () => isPromiseSettledResultRejected
|
|
10826
|
+
});
|
|
10827
|
+
function isPromiseSettledResultFulfilled(result) {
|
|
10828
|
+
return result.status === "fulfilled";
|
|
10829
|
+
}
|
|
10830
|
+
function isPromiseSettledResultRejected(result) {
|
|
10831
|
+
return result.status === "rejected";
|
|
10832
|
+
}
|
|
10833
|
+
function allSettledWithConcurrency(items, limit, fn5) {
|
|
10834
|
+
return __async(this, null, function* () {
|
|
10835
|
+
const results = new Array(items.length);
|
|
10836
|
+
let next = 0;
|
|
10837
|
+
const worker = () => __async(null, null, function* () {
|
|
10838
|
+
for (; ; ) {
|
|
10839
|
+
const index = next;
|
|
10840
|
+
next += 1;
|
|
10841
|
+
if (index >= items.length) return;
|
|
10842
|
+
try {
|
|
10843
|
+
results[index] = { status: "fulfilled", value: yield fn5(items[index], index) };
|
|
10844
|
+
} catch (reason) {
|
|
10845
|
+
results[index] = { status: "rejected", reason };
|
|
10846
|
+
}
|
|
10847
|
+
}
|
|
10848
|
+
});
|
|
10849
|
+
const workers = Math.max(1, Math.min(Math.floor(limit) || 1, items.length));
|
|
10850
|
+
yield Promise.all(Array.from({ length: workers }, worker));
|
|
10851
|
+
return results;
|
|
10852
|
+
});
|
|
10762
10853
|
}
|
|
10763
|
-
var URL_REGEX = /https?:\/\/[^\s"'<>\])]*/g;
|
|
10764
10854
|
|
|
10765
10855
|
// ../../internal/utils/src/email.ts
|
|
10766
10856
|
var email_exports = {};
|
|
@@ -11243,6 +11333,65 @@ function parseLinkedInProfileUrl(url) {
|
|
|
11243
11333
|
return { pathSegment, handle, name, profileUrl };
|
|
11244
11334
|
}
|
|
11245
11335
|
|
|
11336
|
+
// ../../internal/utils/src/detection-sources.ts
|
|
11337
|
+
var UNKNOWN_DETECTION_SOURCE = "unknown";
|
|
11338
|
+
var WORD_OVERRIDES = {
|
|
11339
|
+
ads: "Ads",
|
|
11340
|
+
dns: "DNS",
|
|
11341
|
+
dnsdb: "DNSDB",
|
|
11342
|
+
duck: "Duck",
|
|
11343
|
+
go: "Go",
|
|
11344
|
+
ip: "IP",
|
|
11345
|
+
linkedin: "LinkedIn",
|
|
11346
|
+
rss: "RSS",
|
|
11347
|
+
serp: "SERP",
|
|
11348
|
+
tik: "Tik",
|
|
11349
|
+
tok: "Tok",
|
|
11350
|
+
urlscan: "URLScan",
|
|
11351
|
+
youtube: "YouTube"
|
|
11352
|
+
};
|
|
11353
|
+
var KEY_OVERRIDES = {
|
|
11354
|
+
["duck_duck_go_search" /* DUCK_DUCK_GO_SEARCH */]: "DuckDuckGo Search",
|
|
11355
|
+
["tik_tok_ads_search" /* TIK_TOK_ADS_SEARCH */]: "TikTok Ads Search",
|
|
11356
|
+
["tik_tok_user_search" /* TIK_TOK_USER_SEARCH */]: "TikTok User Search",
|
|
11357
|
+
["tik_tok_video_search" /* TIK_TOK_VIDEO_SEARCH */]: "TikTok Video Search",
|
|
11358
|
+
["dns_twist" /* DNS_TWIST */]: "DNSTwist",
|
|
11359
|
+
// Keys carry the vendor for internal traceability; customers see neither.
|
|
11360
|
+
["telegram_user_search_vetric" /* TELEGRAM_USER_SEARCH_VETRIC */]: "Telegram User Discovery",
|
|
11361
|
+
["telegram_channels_search_vetric" /* TELEGRAM_CHANNELS_SEARCH_VETRIC */]: "Telegram Channel Discovery",
|
|
11362
|
+
["facebook_page_search_vetric" /* FACEBOOK_PAGE_SEARCH_VETRIC */]: "Facebook Page Discovery",
|
|
11363
|
+
["facebook_user_search_vetric" /* FACEBOOK_USER_SEARCH_VETRIC */]: "Facebook User Discovery",
|
|
11364
|
+
["facebook_post_search_vetric" /* FACEBOOK_POST_SEARCH_VETRIC */]: "Facebook Post Discovery",
|
|
11365
|
+
["instagram_account_search_vetric" /* INSTAGRAM_ACCOUNT_SEARCH_VETRIC */]: "Instagram Account Discovery",
|
|
11366
|
+
["twitter_search_vetric" /* TWITTER_SEARCH_VETRIC */]: "Twitter People Discovery",
|
|
11367
|
+
["linkedin_people_search_vetric" /* LINKEDIN_PEOPLE_SEARCH_VETRIC */]: "LinkedIn People Discovery",
|
|
11368
|
+
["linkedin_company_search_vetric" /* LINKEDIN_COMPANY_SEARCH_VETRIC */]: "LinkedIn Company Discovery",
|
|
11369
|
+
["meta_ads_search_vetric" /* META_ADS_SEARCH_VETRIC */]: "Meta Ads Discovery",
|
|
11370
|
+
["tik_tok_user_search_vetric" /* TIK_TOK_USER_SEARCH_VETRIC */]: "TikTok User Discovery",
|
|
11371
|
+
["tik_tok_video_search_vetric" /* TIK_TOK_VIDEO_SEARCH_VETRIC */]: "TikTok Post Discovery",
|
|
11372
|
+
[UNKNOWN_DETECTION_SOURCE]: "Unknown (no source recorded)"
|
|
11373
|
+
};
|
|
11374
|
+
function detectionSourceLabel(key) {
|
|
11375
|
+
const override = KEY_OVERRIDES[key];
|
|
11376
|
+
if (override) return override;
|
|
11377
|
+
return key.split("_").map((word2) => {
|
|
11378
|
+
var _a;
|
|
11379
|
+
return (_a = WORD_OVERRIDES[word2]) != null ? _a : word2.charAt(0).toUpperCase() + word2.slice(1);
|
|
11380
|
+
}).join(" ");
|
|
11381
|
+
}
|
|
11382
|
+
[
|
|
11383
|
+
...Object.values(ThreatDetectionSourceKey).map((key) => ({
|
|
11384
|
+
value: key,
|
|
11385
|
+
label: detectionSourceLabel(key),
|
|
11386
|
+
searchText: `${key} ${detectionSourceLabel(key)}`
|
|
11387
|
+
})),
|
|
11388
|
+
{
|
|
11389
|
+
value: UNKNOWN_DETECTION_SOURCE,
|
|
11390
|
+
label: detectionSourceLabel(UNKNOWN_DETECTION_SOURCE),
|
|
11391
|
+
searchText: UNKNOWN_DETECTION_SOURCE
|
|
11392
|
+
}
|
|
11393
|
+
].sort((a, b) => a.label.localeCompare(b.label));
|
|
11394
|
+
|
|
11246
11395
|
// ../../internal/validation/src/public/detection/configs-create.ts
|
|
11247
11396
|
zod.z.object({
|
|
11248
11397
|
slug: zod.z.string().min(1).optional().describe(
|
|
@@ -11902,6 +12051,35 @@ zod.z.object({
|
|
|
11902
12051
|
"One series per requested asset type, in the order requested, or a single pooled series when no asset types were given"
|
|
11903
12052
|
)
|
|
11904
12053
|
});
|
|
12054
|
+
zod.z.object({
|
|
12055
|
+
slug: zod.z.string().min(1).describe("Organization slug"),
|
|
12056
|
+
startDate: utcDateSchema(false).optional().describe(
|
|
12057
|
+
"Only include assets blocked on or after this date. A date-only value (YYYY-MM-DD) starts at midnight UTC"
|
|
12058
|
+
),
|
|
12059
|
+
endDate: utcDateSchema(true).optional().describe(
|
|
12060
|
+
"Only include assets blocked on or before this date. A date-only value (YYYY-MM-DD) covers the whole day in UTC; pass a full timestamp for a precise cut-off"
|
|
12061
|
+
),
|
|
12062
|
+
brandIds: zod.z.array(zod.z.number().int().positive()).optional().describe("Only include assets belonging to these brands"),
|
|
12063
|
+
countryCodes: zod.z.array(zod.z.string().length(2)).optional().describe("Only include assets scanned from these ISO 3166-1 alpha-2 countries")
|
|
12064
|
+
});
|
|
12065
|
+
zod.z.object({
|
|
12066
|
+
byAssetType: zod.z.array(
|
|
12067
|
+
zod.z.object({
|
|
12068
|
+
assetType: zod.z.nativeEnum(AssetType).describe("Asset type that was blocked"),
|
|
12069
|
+
blocked: zod.z.number().describe(
|
|
12070
|
+
"Distinct assets of this type the organization blocked within the date range that are still blocked today"
|
|
12071
|
+
),
|
|
12072
|
+
withEvidence: zod.z.number().describe(
|
|
12073
|
+
"Of those, how many enter the median: an accepted live date and an automated detection after it. A live date with no detection result does not count, and a human report is not a detection"
|
|
12074
|
+
),
|
|
12075
|
+
medianDaysAtLeast: zod.z.number().nullable().describe(
|
|
12076
|
+
"Median days the asset was already live before the earliest automated detection of that asset, for any organization. Always a minimum, because the live date is the first time anyone saw the asset. Null when withEvidence is 0"
|
|
12077
|
+
)
|
|
12078
|
+
})
|
|
12079
|
+
).describe(
|
|
12080
|
+
"Time to Detection, one entry per asset type this organization blocked in the range, descending by number blocked. The clock stops at the earliest automated detection of the asset for any organization, not at this organization's report. Assets that do not enter withEvidence are left out of the median. For URL and page assets only an observed-serving date counts, so a domain registration date never enters the number"
|
|
12081
|
+
)
|
|
12082
|
+
});
|
|
11905
12083
|
zod.z.object({
|
|
11906
12084
|
slug: zod.z.string().optional().describe(
|
|
11907
12085
|
"Organization slug. Optional for organization-scoped API keys, which resolve the organization from the key itself. Required when your credentials can reach more than one organization."
|
|
@@ -12107,6 +12285,79 @@ var brandItemSchema = zod.z.object({
|
|
|
12107
12285
|
zod.z.object({
|
|
12108
12286
|
brands: zod.z.array(brandItemSchema).describe("List of brands")
|
|
12109
12287
|
}).describe("Successful operation");
|
|
12288
|
+
var threatLifecycleStateSchema = zod.z.enum(["investigating", "escalated", "blocked", "allowed", "closed"]).describe(
|
|
12289
|
+
"Lifecycle stage: `investigating` (a report is open and under review), `escalated` (an open report has been passed to the organization for a decision), `blocked` (confirmed malicious), `allowed` (confirmed benign / false positive), `closed` (every report reviewed, asset neither blocked nor allowed). `escalated` reflects an escalation that is still open, not one that was decided and followed by a new report."
|
|
12290
|
+
);
|
|
12291
|
+
zod.z.object({
|
|
12292
|
+
slug: zod.z.string().optional().describe(
|
|
12293
|
+
"Organization slug. Optional for organization-scoped API keys, which resolve the organization from the key itself. Required when your credentials can reach more than one organization."
|
|
12294
|
+
),
|
|
12295
|
+
/**
|
|
12296
|
+
* A poll watermark rather than a true event cursor: there is no single
|
|
12297
|
+
* change log behind these threats, so the filter is an OR across the
|
|
12298
|
+
* `updatedAt` of every table the projection reads. Set it a few minutes
|
|
12299
|
+
* behind the last successful sync so in-flight writes are not skipped.
|
|
12300
|
+
*/
|
|
12301
|
+
updatedSince: zod.z.string().refine((value) => DateTime.fromISO(value, { zone: "utc" }).isValid, {
|
|
12302
|
+
message: "updatedSince must be a valid ISO 8601 timestamp"
|
|
12303
|
+
}).transform((value) => DateTime.fromISO(value, { zone: "utc" }).toJSDate()).optional().describe(
|
|
12304
|
+
"Only return threats touched at or after this ISO 8601 timestamp. Compared against the most recent change to the asset, its reports, and its takedown \u2014 whichever is latest. Omit for a full backfill. Overlap your windows by a few minutes: writes that land mid-request can otherwise fall between two polls."
|
|
12305
|
+
),
|
|
12306
|
+
assetType: zod.z.nativeEnum(AssetType).optional().describe("Filter by asset type. Omit to return every type."),
|
|
12307
|
+
per_page: zod.z.number().int().min(1).max(1e3).optional().default(100).describe("The number of threats to return per page (max 1000)"),
|
|
12308
|
+
next_page: zod.z.string().optional().nullable().describe("Cursor for fetching the next page of results")
|
|
12309
|
+
}).describe(
|
|
12310
|
+
`List organization threats request body
|
|
12311
|
+
|
|
12312
|
+
Returns every asset this organization has filed a report against, together with
|
|
12313
|
+
the lifecycle state of that investigation \u2014 report opened, escalated, blocked,
|
|
12314
|
+
takedown submitted, takedown completed.
|
|
12315
|
+
|
|
12316
|
+
This is a projection of current state, not an event stream: each threat is
|
|
12317
|
+
returned with the facts as they stand right now, so a consumer that upserts on
|
|
12318
|
+
\`id\` converges regardless of which intermediate transitions it saw. Results are
|
|
12319
|
+
ordered by asset ID ascending and paginated with \`next_page\`.`
|
|
12320
|
+
);
|
|
12321
|
+
var organizationThreatBrandSchema = zod.z.object({
|
|
12322
|
+
slug: zod.z.string().describe("Brand slug"),
|
|
12323
|
+
name: zod.z.string().describe("Brand name")
|
|
12324
|
+
});
|
|
12325
|
+
var organizationThreatTakedownSchema = zod.z.object({
|
|
12326
|
+
status: zod.z.nativeEnum(TakedownStatus).describe("Current takedown status"),
|
|
12327
|
+
submittedAt: zod.z.date().nullable().describe(
|
|
12328
|
+
"When the first takedown request was submitted to a provider, or null if nothing has been submitted yet"
|
|
12329
|
+
),
|
|
12330
|
+
completedAt: zod.z.date().nullable().describe("When the takedown was marked completed, or null if it has not been")
|
|
12331
|
+
});
|
|
12332
|
+
var organizationThreatSchema = zod.z.object({
|
|
12333
|
+
id: zod.z.number().describe("Asset ID"),
|
|
12334
|
+
content: zod.z.string().describe("Asset content (URL, handle, email, etc.)"),
|
|
12335
|
+
type: zod.z.nativeEnum(AssetType).describe("Asset type"),
|
|
12336
|
+
status: zod.z.nativeEnum(AssetStatus).describe("Raw asset status"),
|
|
12337
|
+
state: threatLifecycleStateSchema,
|
|
12338
|
+
livenessStatus: zod.z.nativeEnum(LivenessStatus).describe(
|
|
12339
|
+
"Whether the threat is currently reachable (`ALIVE`), gone (`DEAD`), or unchecked (`UNKNOWN`)"
|
|
12340
|
+
),
|
|
12341
|
+
brands: zod.z.array(organizationThreatBrandSchema).describe(
|
|
12342
|
+
"The brands of yours this threat was reported against. Empty when no report named one."
|
|
12343
|
+
),
|
|
12344
|
+
firstReportedAt: zod.z.date().describe("When this organization first filed a report against the asset"),
|
|
12345
|
+
escalatedAt: zod.z.date().nullable().describe(
|
|
12346
|
+
"When the asset was *first* escalated to this organization for a decision, or null if it never was. This is escalation history, not current state: an asset escalated once and later reported again reports `escalated_at` alongside a `state` of `investigating`. Read `state` to know whether anything is waiting on you right now."
|
|
12347
|
+
),
|
|
12348
|
+
blockedAt: zod.z.date().nullable().describe("When the asset was blocklisted, or null if it has not been"),
|
|
12349
|
+
takedown: organizationThreatTakedownSchema.nullable().describe("Takedown progress, or null if no takedown was opened"),
|
|
12350
|
+
detailsUrl: zod.z.string().describe("Deep link to the asset's reports and takedowns in the ChainPatrol app"),
|
|
12351
|
+
updatedAt: zod.z.date().describe(
|
|
12352
|
+
"The most recent change to anything in this record \u2014 the asset, its reports, its takedown or that takedown's tasks. Matches what `updatedSince` filters on. To derive your next watermark, drain every page until `next_page` is null and take the highest value across the whole sweep: results are ordered by asset ID, not by this field, so a later page can carry an earlier timestamp and a per-page watermark would skip it."
|
|
12353
|
+
)
|
|
12354
|
+
});
|
|
12355
|
+
zod.z.object({
|
|
12356
|
+
threats: zod.z.array(organizationThreatSchema),
|
|
12357
|
+
next_page: zod.z.string().nullable().optional().describe(
|
|
12358
|
+
"Cursor for fetching the next page of results, or null on the last page. Drain it to null before advancing your `updatedSince` watermark \u2014 see `updatedAt`."
|
|
12359
|
+
)
|
|
12360
|
+
}).describe("Successful operation");
|
|
12110
12361
|
var FILTERABLE_SUBSCRIPTION_STATUSES = [
|
|
12111
12362
|
SubscriptionStatus.PROSPECT,
|
|
12112
12363
|
SubscriptionStatus.POC,
|
|
@@ -13779,7 +14030,7 @@ function parseModernSyntax(tokens, includeHue) {
|
|
|
13779
14030
|
coords.unshift(token.value);
|
|
13780
14031
|
return coords;
|
|
13781
14032
|
}
|
|
13782
|
-
var
|
|
14033
|
+
var parse4 = (color) => {
|
|
13783
14034
|
if (typeof color !== "string") {
|
|
13784
14035
|
return void 0;
|
|
13785
14036
|
}
|
|
@@ -13795,7 +14046,7 @@ var parse3 = (color) => {
|
|
|
13795
14046
|
}
|
|
13796
14047
|
return tokens ? parseColorSyntax(tokens) : void 0;
|
|
13797
14048
|
};
|
|
13798
|
-
var parse_default =
|
|
14049
|
+
var parse_default = parse4;
|
|
13799
14050
|
|
|
13800
14051
|
// ../../node_modules/culori/src/rgb/parseRgb.js
|
|
13801
14052
|
function parseRgb(color, parsed) {
|
|
@@ -13924,20 +14175,20 @@ var convertA98ToXyz65_default = convertA98ToXyz65;
|
|
|
13924
14175
|
|
|
13925
14176
|
// ../../node_modules/culori/src/a98/convertXyz65ToA98.js
|
|
13926
14177
|
var gamma = (v) => Math.pow(Math.abs(v), 256 / 563) * Math.sign(v);
|
|
13927
|
-
var convertXyz65ToA98 = ({ x, y, z:
|
|
14178
|
+
var convertXyz65ToA98 = ({ x, y, z: z68, alpha }) => {
|
|
13928
14179
|
if (x === void 0) x = 0;
|
|
13929
14180
|
if (y === void 0) y = 0;
|
|
13930
|
-
if (
|
|
14181
|
+
if (z68 === void 0) z68 = 0;
|
|
13931
14182
|
let res = {
|
|
13932
14183
|
mode: "a98",
|
|
13933
14184
|
r: gamma(
|
|
13934
|
-
x * 2.0415879038107465 - y * 0.5650069742788597 - 0.3447313507783297 *
|
|
14185
|
+
x * 2.0415879038107465 - y * 0.5650069742788597 - 0.3447313507783297 * z68
|
|
13935
14186
|
),
|
|
13936
14187
|
g: gamma(
|
|
13937
|
-
x * -0.9692436362808798 + y * 1.8759675015077206 + 0.0415550574071756 *
|
|
14188
|
+
x * -0.9692436362808798 + y * 1.8759675015077206 + 0.0415550574071756 * z68
|
|
13938
14189
|
),
|
|
13939
14190
|
b: gamma(
|
|
13940
|
-
x * 0.0134442806320312 - y * 0.1183623922310184 + 1.0151749943912058 *
|
|
14191
|
+
x * 0.0134442806320312 - y * 0.1183623922310184 + 1.0151749943912058 * z68
|
|
13941
14192
|
)
|
|
13942
14193
|
};
|
|
13943
14194
|
if (alpha !== void 0) {
|
|
@@ -14004,14 +14255,14 @@ var convertLrgbToRgb = ({ r, g, b, alpha }, mode = "rgb") => {
|
|
|
14004
14255
|
var convertLrgbToRgb_default = convertLrgbToRgb;
|
|
14005
14256
|
|
|
14006
14257
|
// ../../node_modules/culori/src/xyz65/convertXyz65ToRgb.js
|
|
14007
|
-
var convertXyz65ToRgb = ({ x, y, z:
|
|
14258
|
+
var convertXyz65ToRgb = ({ x, y, z: z68, alpha }) => {
|
|
14008
14259
|
if (x === void 0) x = 0;
|
|
14009
14260
|
if (y === void 0) y = 0;
|
|
14010
|
-
if (
|
|
14261
|
+
if (z68 === void 0) z68 = 0;
|
|
14011
14262
|
let res = convertLrgbToRgb_default({
|
|
14012
|
-
r: x * 3.2409699419045226 - y * 1.537383177570094 - 0.4986107602930034 *
|
|
14013
|
-
g: x * -0.9692436362808796 + y * 1.8759675015077204 + 0.0415550574071756 *
|
|
14014
|
-
b: x * 0.0556300796969936 - y * 0.2039769588889765 + 1.0569715142428784 *
|
|
14263
|
+
r: x * 3.2409699419045226 - y * 1.537383177570094 - 0.4986107602930034 * z68,
|
|
14264
|
+
g: x * -0.9692436362808796 + y * 1.8759675015077204 + 0.0415550574071756 * z68,
|
|
14265
|
+
b: x * 0.0556300796969936 - y * 0.2039769588889765 + 1.0569715142428784 * z68
|
|
14015
14266
|
});
|
|
14016
14267
|
if (alpha !== void 0) {
|
|
14017
14268
|
res.alpha = alpha;
|
|
@@ -14261,13 +14512,13 @@ var convertLab65ToRgb_default = convertLab65ToRgb;
|
|
|
14261
14512
|
|
|
14262
14513
|
// ../../node_modules/culori/src/lab65/convertXyz65ToLab65.js
|
|
14263
14514
|
var f = (value) => value > e ? Math.cbrt(value) : (k * value + 16) / 116;
|
|
14264
|
-
var convertXyz65ToLab65 = ({ x, y, z:
|
|
14515
|
+
var convertXyz65ToLab65 = ({ x, y, z: z68, alpha }) => {
|
|
14265
14516
|
if (x === void 0) x = 0;
|
|
14266
14517
|
if (y === void 0) y = 0;
|
|
14267
|
-
if (
|
|
14518
|
+
if (z68 === void 0) z68 = 0;
|
|
14268
14519
|
let f0 = f(x / D65.X);
|
|
14269
14520
|
let f1 = f(y / D65.Y);
|
|
14270
|
-
let f22 = f(
|
|
14521
|
+
let f22 = f(z68 / D65.Z);
|
|
14271
14522
|
let res = {
|
|
14272
14523
|
mode: "lab65",
|
|
14273
14524
|
l: 116 * f1 - 16,
|
|
@@ -14924,10 +15175,10 @@ var convertItpToXyz65_default = convertItpToXyz65;
|
|
|
14924
15175
|
|
|
14925
15176
|
// ../../node_modules/culori/src/itp/convertXyz65ToItp.js
|
|
14926
15177
|
var toAbs = (c2 = 0) => Math.max(c2 * YW, 0);
|
|
14927
|
-
var convertXyz65ToItp = ({ x, y, z:
|
|
15178
|
+
var convertXyz65ToItp = ({ x, y, z: z68, alpha }) => {
|
|
14928
15179
|
const absX = toAbs(x);
|
|
14929
15180
|
const absY = toAbs(y);
|
|
14930
|
-
const absZ = toAbs(
|
|
15181
|
+
const absZ = toAbs(z68);
|
|
14931
15182
|
const l2 = transferPqEncode(
|
|
14932
15183
|
0.3592832590121217 * absX + 0.6976051147779502 * absY - 0.0358915932320289 * absZ
|
|
14933
15184
|
);
|
|
@@ -14985,15 +15236,15 @@ var jabPqEncode = (v) => {
|
|
|
14985
15236
|
return Math.pow((C1 + C2 * vn3) / (1 + C3 * vn3), p);
|
|
14986
15237
|
};
|
|
14987
15238
|
var abs = (v = 0) => Math.max(v * 203, 0);
|
|
14988
|
-
var convertXyz65ToJab = ({ x, y, z:
|
|
15239
|
+
var convertXyz65ToJab = ({ x, y, z: z68, alpha }) => {
|
|
14989
15240
|
x = abs(x);
|
|
14990
15241
|
y = abs(y);
|
|
14991
|
-
|
|
14992
|
-
let xp = 1.15 * x - 0.15 *
|
|
15242
|
+
z68 = abs(z68);
|
|
15243
|
+
let xp = 1.15 * x - 0.15 * z68;
|
|
14993
15244
|
let yp = 0.66 * y + 0.34 * x;
|
|
14994
|
-
let l2 = jabPqEncode(0.41478972 * xp + 0.579999 * yp + 0.014648 *
|
|
14995
|
-
let m = jabPqEncode(-0.20151 * xp + 1.120649 * yp + 0.0531008 *
|
|
14996
|
-
let s2 = jabPqEncode(-0.0166008 * xp + 0.2648 * yp + 0.6684799 *
|
|
15245
|
+
let l2 = jabPqEncode(0.41478972 * xp + 0.579999 * yp + 0.014648 * z68);
|
|
15246
|
+
let m = jabPqEncode(-0.20151 * xp + 1.120649 * yp + 0.0531008 * z68);
|
|
15247
|
+
let s2 = jabPqEncode(-0.0166008 * xp + 0.2648 * yp + 0.6684799 * z68);
|
|
14997
15248
|
let i = (l2 + m) / 2;
|
|
14998
15249
|
let res = {
|
|
14999
15250
|
mode: "jab",
|
|
@@ -15179,14 +15430,14 @@ var convertLabToXyz50 = ({ l: l2, a, b, alpha }) => {
|
|
|
15179
15430
|
var convertLabToXyz50_default = convertLabToXyz50;
|
|
15180
15431
|
|
|
15181
15432
|
// ../../node_modules/culori/src/xyz50/convertXyz50ToRgb.js
|
|
15182
|
-
var convertXyz50ToRgb = ({ x, y, z:
|
|
15433
|
+
var convertXyz50ToRgb = ({ x, y, z: z68, alpha }) => {
|
|
15183
15434
|
if (x === void 0) x = 0;
|
|
15184
15435
|
if (y === void 0) y = 0;
|
|
15185
|
-
if (
|
|
15436
|
+
if (z68 === void 0) z68 = 0;
|
|
15186
15437
|
let res = convertLrgbToRgb_default({
|
|
15187
|
-
r: x * 3.1341359569958707 - y * 1.6173863321612538 - 0.4906619460083532 *
|
|
15188
|
-
g: x * -0.978795502912089 + y * 1.916254567259524 + 0.03344273116131949 *
|
|
15189
|
-
b: x * 0.07195537988411677 - y * 0.2289768264158322 + 1.405386058324125 *
|
|
15438
|
+
r: x * 3.1341359569958707 - y * 1.6173863321612538 - 0.4906619460083532 * z68,
|
|
15439
|
+
g: x * -0.978795502912089 + y * 1.916254567259524 + 0.03344273116131949 * z68,
|
|
15440
|
+
b: x * 0.07195537988411677 - y * 0.2289768264158322 + 1.405386058324125 * z68
|
|
15190
15441
|
});
|
|
15191
15442
|
if (alpha !== void 0) {
|
|
15192
15443
|
res.alpha = alpha;
|
|
@@ -15217,13 +15468,13 @@ var convertRgbToXyz50_default = convertRgbToXyz50;
|
|
|
15217
15468
|
|
|
15218
15469
|
// ../../node_modules/culori/src/lab/convertXyz50ToLab.js
|
|
15219
15470
|
var f2 = (value) => value > e3 ? Math.cbrt(value) : (k3 * value + 16) / 116;
|
|
15220
|
-
var convertXyz50ToLab = ({ x, y, z:
|
|
15471
|
+
var convertXyz50ToLab = ({ x, y, z: z68, alpha }) => {
|
|
15221
15472
|
if (x === void 0) x = 0;
|
|
15222
15473
|
if (y === void 0) y = 0;
|
|
15223
|
-
if (
|
|
15474
|
+
if (z68 === void 0) z68 = 0;
|
|
15224
15475
|
let f0 = f2(x / D50.X);
|
|
15225
15476
|
let f1 = f2(y / D50.Y);
|
|
15226
|
-
let f22 = f2(
|
|
15477
|
+
let f22 = f2(z68 / D50.Z);
|
|
15227
15478
|
let res = {
|
|
15228
15479
|
mode: "lab",
|
|
15229
15480
|
l: 116 * f1 - 16,
|
|
@@ -15458,18 +15709,18 @@ var convertLchuvToLuv = ({ l: l2, c: c2, h, alpha }) => {
|
|
|
15458
15709
|
var convertLchuvToLuv_default = convertLchuvToLuv;
|
|
15459
15710
|
|
|
15460
15711
|
// ../../node_modules/culori/src/luv/convertXyz50ToLuv.js
|
|
15461
|
-
var u_fn = (x, y,
|
|
15462
|
-
var v_fn = (x, y,
|
|
15712
|
+
var u_fn = (x, y, z68) => 4 * x / (x + 15 * y + 3 * z68);
|
|
15713
|
+
var v_fn = (x, y, z68) => 9 * y / (x + 15 * y + 3 * z68);
|
|
15463
15714
|
var un = u_fn(D50.X, D50.Y, D50.Z);
|
|
15464
15715
|
var vn = v_fn(D50.X, D50.Y, D50.Z);
|
|
15465
15716
|
var l_fn = (value) => value <= e3 ? k3 * value : 116 * Math.cbrt(value) - 16;
|
|
15466
|
-
var convertXyz50ToLuv = ({ x, y, z:
|
|
15717
|
+
var convertXyz50ToLuv = ({ x, y, z: z68, alpha }) => {
|
|
15467
15718
|
if (x === void 0) x = 0;
|
|
15468
15719
|
if (y === void 0) y = 0;
|
|
15469
|
-
if (
|
|
15720
|
+
if (z68 === void 0) z68 = 0;
|
|
15470
15721
|
let l2 = l_fn(y / D50.Y);
|
|
15471
|
-
let u = u_fn(x, y,
|
|
15472
|
-
let v = v_fn(x, y,
|
|
15722
|
+
let u = u_fn(x, y, z68);
|
|
15723
|
+
let v = v_fn(x, y, z68);
|
|
15473
15724
|
if (!isFinite(u) || !isFinite(v)) {
|
|
15474
15725
|
l2 = u = v = 0;
|
|
15475
15726
|
} else {
|
|
@@ -15490,8 +15741,8 @@ var convertXyz50ToLuv = ({ x, y, z: z64, alpha }) => {
|
|
|
15490
15741
|
var convertXyz50ToLuv_default = convertXyz50ToLuv;
|
|
15491
15742
|
|
|
15492
15743
|
// ../../node_modules/culori/src/luv/convertLuvToXyz50.js
|
|
15493
|
-
var u_fn2 = (x, y,
|
|
15494
|
-
var v_fn2 = (x, y,
|
|
15744
|
+
var u_fn2 = (x, y, z68) => 4 * x / (x + 15 * y + 3 * z68);
|
|
15745
|
+
var v_fn2 = (x, y, z68) => 9 * y / (x + 15 * y + 3 * z68);
|
|
15495
15746
|
var un2 = u_fn2(D50.X, D50.Y, D50.Z);
|
|
15496
15747
|
var vn2 = v_fn2(D50.X, D50.Y, D50.Z);
|
|
15497
15748
|
var convertLuvToXyz50 = ({ l: l2, u, v, alpha }) => {
|
|
@@ -15505,8 +15756,8 @@ var convertLuvToXyz50 = ({ l: l2, u, v, alpha }) => {
|
|
|
15505
15756
|
let vp = v / (13 * l2) + vn2;
|
|
15506
15757
|
let y = D50.Y * (l2 <= 8 ? l2 / k3 : Math.pow((l2 + 16) / 116, 3));
|
|
15507
15758
|
let x = y * (9 * up) / (4 * vp);
|
|
15508
|
-
let
|
|
15509
|
-
let res = { mode: "xyz50", x, y, z:
|
|
15759
|
+
let z68 = y * (12 - 3 * up - 20 * vp) / (4 * vp);
|
|
15760
|
+
let res = { mode: "xyz50", x, y, z: z68 };
|
|
15510
15761
|
if (alpha !== void 0) {
|
|
15511
15762
|
res.alpha = alpha;
|
|
15512
15763
|
}
|
|
@@ -16123,15 +16374,15 @@ var convertP3ToXyz65 = (rgb2) => {
|
|
|
16123
16374
|
var convertP3ToXyz65_default = convertP3ToXyz65;
|
|
16124
16375
|
|
|
16125
16376
|
// ../../node_modules/culori/src/p3/convertXyz65ToP3.js
|
|
16126
|
-
var convertXyz65ToP3 = ({ x, y, z:
|
|
16377
|
+
var convertXyz65ToP3 = ({ x, y, z: z68, alpha }) => {
|
|
16127
16378
|
if (x === void 0) x = 0;
|
|
16128
16379
|
if (y === void 0) y = 0;
|
|
16129
|
-
if (
|
|
16380
|
+
if (z68 === void 0) z68 = 0;
|
|
16130
16381
|
let res = convertLrgbToRgb_default(
|
|
16131
16382
|
{
|
|
16132
|
-
r: x * 2.4934969119414263 - y * 0.9313836179191242 - 0.402710784450717 *
|
|
16133
|
-
g: x * -0.8294889695615749 + y * 1.7626640603183465 + 0.0236246858419436 *
|
|
16134
|
-
b: x * 0.0358458302437845 - y * 0.0761723892680418 + 0.9568845240076871 *
|
|
16383
|
+
r: x * 2.4934969119414263 - y * 0.9313836179191242 - 0.402710784450717 * z68,
|
|
16384
|
+
g: x * -0.8294889695615749 + y * 1.7626640603183465 + 0.0236246858419436 * z68,
|
|
16385
|
+
b: x * 0.0358458302437845 - y * 0.0761723892680418 + 0.9568845240076871 * z68
|
|
16135
16386
|
},
|
|
16136
16387
|
"p3"
|
|
16137
16388
|
);
|
|
@@ -16166,19 +16417,19 @@ var gamma2 = (v) => {
|
|
|
16166
16417
|
}
|
|
16167
16418
|
return 16 * v;
|
|
16168
16419
|
};
|
|
16169
|
-
var convertXyz50ToProphoto = ({ x, y, z:
|
|
16420
|
+
var convertXyz50ToProphoto = ({ x, y, z: z68, alpha }) => {
|
|
16170
16421
|
if (x === void 0) x = 0;
|
|
16171
16422
|
if (y === void 0) y = 0;
|
|
16172
|
-
if (
|
|
16423
|
+
if (z68 === void 0) z68 = 0;
|
|
16173
16424
|
let res = {
|
|
16174
16425
|
mode: "prophoto",
|
|
16175
16426
|
r: gamma2(
|
|
16176
|
-
x * 1.3457868816471585 - y * 0.2555720873797946 - 0.0511018649755453 *
|
|
16427
|
+
x * 1.3457868816471585 - y * 0.2555720873797946 - 0.0511018649755453 * z68
|
|
16177
16428
|
),
|
|
16178
16429
|
g: gamma2(
|
|
16179
|
-
x * -0.5446307051249019 + y * 1.5082477428451466 + 0.0205274474364214 *
|
|
16430
|
+
x * -0.5446307051249019 + y * 1.5082477428451466 + 0.0205274474364214 * z68
|
|
16180
16431
|
),
|
|
16181
|
-
b: gamma2(x * 0 + y * 0 + 1.2119675456389452 *
|
|
16432
|
+
b: gamma2(x * 0 + y * 0 + 1.2119675456389452 * z68)
|
|
16182
16433
|
};
|
|
16183
16434
|
if (alpha !== void 0) {
|
|
16184
16435
|
res.alpha = alpha;
|
|
@@ -16238,20 +16489,20 @@ var gamma3 = (v) => {
|
|
|
16238
16489
|
}
|
|
16239
16490
|
return 4.5 * v;
|
|
16240
16491
|
};
|
|
16241
|
-
var convertXyz65ToRec2020 = ({ x, y, z:
|
|
16492
|
+
var convertXyz65ToRec2020 = ({ x, y, z: z68, alpha }) => {
|
|
16242
16493
|
if (x === void 0) x = 0;
|
|
16243
16494
|
if (y === void 0) y = 0;
|
|
16244
|
-
if (
|
|
16495
|
+
if (z68 === void 0) z68 = 0;
|
|
16245
16496
|
let res = {
|
|
16246
16497
|
mode: "rec2020",
|
|
16247
16498
|
r: gamma3(
|
|
16248
|
-
x * 1.7166511879712683 - y * 0.3556707837763925 - 0.2533662813736599 *
|
|
16499
|
+
x * 1.7166511879712683 - y * 0.3556707837763925 - 0.2533662813736599 * z68
|
|
16249
16500
|
),
|
|
16250
16501
|
g: gamma3(
|
|
16251
|
-
x * -0.6666843518324893 + y * 1.6164812366349395 + 0.0157685458139111 *
|
|
16502
|
+
x * -0.6666843518324893 + y * 1.6164812366349395 + 0.0157685458139111 * z68
|
|
16252
16503
|
),
|
|
16253
16504
|
b: gamma3(
|
|
16254
|
-
x * 0.0176398574453108 - y * 0.0427706132578085 + 0.9421031212354739 *
|
|
16505
|
+
x * 0.0176398574453108 - y * 0.0427706132578085 + 0.9421031212354739 * z68
|
|
16255
16506
|
)
|
|
16256
16507
|
};
|
|
16257
16508
|
if (alpha !== void 0) {
|
|
@@ -16404,15 +16655,15 @@ var definition_default26 = definition26;
|
|
|
16404
16655
|
|
|
16405
16656
|
// ../../node_modules/culori/src/xyz65/convertXyz65ToXyz50.js
|
|
16406
16657
|
var convertXyz65ToXyz50 = (xyz652) => {
|
|
16407
|
-
let { x, y, z:
|
|
16658
|
+
let { x, y, z: z68, alpha } = xyz652;
|
|
16408
16659
|
if (x === void 0) x = 0;
|
|
16409
16660
|
if (y === void 0) y = 0;
|
|
16410
|
-
if (
|
|
16661
|
+
if (z68 === void 0) z68 = 0;
|
|
16411
16662
|
let res = {
|
|
16412
16663
|
mode: "xyz50",
|
|
16413
|
-
x: 1.0479298208405488 * x + 0.0229467933410191 * y - 0.0501922295431356 *
|
|
16414
|
-
y: 0.0296278156881593 * x + 0.990434484573249 * y - 0.0170738250293851 *
|
|
16415
|
-
z: -0.0092430581525912 * x + 0.0150551448965779 * y + 0.7518742899580008 *
|
|
16664
|
+
x: 1.0479298208405488 * x + 0.0229467933410191 * y - 0.0501922295431356 * z68,
|
|
16665
|
+
y: 0.0296278156881593 * x + 0.990434484573249 * y - 0.0170738250293851 * z68,
|
|
16666
|
+
z: -0.0092430581525912 * x + 0.0150551448965779 * y + 0.7518742899580008 * z68
|
|
16416
16667
|
};
|
|
16417
16668
|
if (alpha !== void 0) {
|
|
16418
16669
|
res.alpha = alpha;
|
|
@@ -16423,15 +16674,15 @@ var convertXyz65ToXyz50_default = convertXyz65ToXyz50;
|
|
|
16423
16674
|
|
|
16424
16675
|
// ../../node_modules/culori/src/xyz65/convertXyz50ToXyz65.js
|
|
16425
16676
|
var convertXyz50ToXyz65 = (xyz502) => {
|
|
16426
|
-
let { x, y, z:
|
|
16677
|
+
let { x, y, z: z68, alpha } = xyz502;
|
|
16427
16678
|
if (x === void 0) x = 0;
|
|
16428
16679
|
if (y === void 0) y = 0;
|
|
16429
|
-
if (
|
|
16680
|
+
if (z68 === void 0) z68 = 0;
|
|
16430
16681
|
let res = {
|
|
16431
16682
|
mode: "xyz65",
|
|
16432
|
-
x: 0.9554734527042182 * x - 0.0230985368742614 * y + 0.0632593086610217 *
|
|
16433
|
-
y: -0.0283697069632081 * x + 1.0099954580058226 * y + 0.021041398966943 *
|
|
16434
|
-
z: 0.0123140016883199 * x - 0.0205076964334779 * y + 1.3303659366080753 *
|
|
16683
|
+
x: 0.9554734527042182 * x - 0.0230985368742614 * y + 0.0632593086610217 * z68,
|
|
16684
|
+
y: -0.0283697069632081 * x + 1.0099954580058226 * y + 0.021041398966943 * z68,
|
|
16685
|
+
z: 0.0123140016883199 * x - 0.0205076964334779 * y + 1.3303659366080753 * z68
|
|
16435
16686
|
};
|
|
16436
16687
|
if (alpha !== void 0) {
|
|
16437
16688
|
res.alpha = alpha;
|