@shware/analytics 8.14.0 → 8.15.1

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.
@@ -0,0 +1,225 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/bot/generic.ts
3
+ /**
4
+ * The generic bot pattern of isbot 5.2.2 (https://github.com/omrilotan/isbot, released into the
5
+ * public domain under the Unlicense), vendored so that `botOf` has no dependency. It says whether a
6
+ * user agent looks automated, not which bot it is: `botOf` tries its named table first and falls
7
+ * back to this for the long tail. Refresh it by copying `list` from a newer isbot release, keeping
8
+ * the local changes marked below.
9
+ */
10
+ const GENERIC_BOT_PATTERNS = [
11
+ " daum[ /]",
12
+ " deusu/",
13
+ "(?:^|[^g])news(?!sapphire)",
14
+ "(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))",
15
+ "(?<! cu)bots?(?:\\b|_)",
16
+ "(?<!cam)scan",
17
+ "(?<!lib)http",
18
+ "24x7",
19
+ ";\\s\\w+;$",
20
+ "@[a-z][\\w-]+\\.",
21
+ "\\(\\)",
22
+ "\\.com\\b",
23
+ "\\b\\w+/1\\.0;",
24
+ "\\bbw/",
25
+ "\\bdlc\\b",
26
+ "\\bort/",
27
+ "\\bperl\\b",
28
+ "\\btime/",
29
+ "\\|",
30
+ "^[<\\(;]",
31
+ "^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)",
32
+ "^[\\w\\-]+/[\\w]+$",
33
+ "^[^ ]{50,}$",
34
+ "^\\d+\\b",
35
+ "^\\w*search\\b",
36
+ "^\\w+/[\\w\\(\\)]*$",
37
+ "^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$",
38
+ "^active",
39
+ "^ad muncher",
40
+ "^amaya",
41
+ "^apache/",
42
+ "^avsdevicesdk/",
43
+ "^azure",
44
+ "^biglotron",
45
+ "^blackbox exporter",
46
+ "^bot",
47
+ "^clamav[ /]",
48
+ "^claude-code/",
49
+ "^client/",
50
+ "^cobweb/",
51
+ "^custom",
52
+ "^ddg[_-]android",
53
+ "^discourse",
54
+ "^dispatch/\\d",
55
+ "^downcast/",
56
+ "^duckduckgo",
57
+ "^email",
58
+ "^exodusmovement",
59
+ "^facebook",
60
+ "^getright/",
61
+ "^gozilla/",
62
+ "^hobbit",
63
+ "^hotzonu",
64
+ "^hwcdn/",
65
+ "^igetter/",
66
+ "^jeode/",
67
+ "^jetty/",
68
+ "^jigsaw",
69
+ "^microsoft bits",
70
+ "^movabletype",
71
+ "^mozilla/\\d\\.\\d\\s[\\w\\.-]+$",
72
+ "^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$",
73
+ "^navermailapp",
74
+ "^netsurf",
75
+ "^offline",
76
+ "^openai/",
77
+ "^owler",
78
+ "^php",
79
+ "^postman",
80
+ "^ps_daily/",
81
+ "^python",
82
+ "^rank",
83
+ "^read",
84
+ "^reed",
85
+ "^remove\\.bg/",
86
+ "^rest",
87
+ "^rss",
88
+ "^snapchat",
89
+ "^sora ",
90
+ "^space bison",
91
+ "^stape/",
92
+ "^svn",
93
+ "^swcd ",
94
+ "^taringa",
95
+ "^thumbor/",
96
+ "^track",
97
+ "^w3c",
98
+ "^webbandit/",
99
+ "^webcopier",
100
+ "^wget",
101
+ "^whatsapp",
102
+ "^wordpress",
103
+ "^xenu link sleuth",
104
+ "^yahoo",
105
+ "^yandex",
106
+ "^zdm/\\d",
107
+ "^zoom marketplace/",
108
+ "abuse",
109
+ "advisor",
110
+ "agent\\b",
111
+ "analyzer",
112
+ "archive",
113
+ "ask jeeves/teoma",
114
+ "attracta",
115
+ "audit",
116
+ "bluecoat drtr",
117
+ "browsex",
118
+ "burpcollaborator",
119
+ "capture",
120
+ "catch",
121
+ "check\\b",
122
+ "checker",
123
+ "chrome-lighthouse",
124
+ "chromeframe",
125
+ "classifier",
126
+ "cloudflare",
127
+ "collapsify\\b",
128
+ "convertify",
129
+ "cookiehubverify/",
130
+ "crawl",
131
+ "cursor/",
132
+ "cypress/",
133
+ "dareboost",
134
+ "datanyze",
135
+ "dejaclick",
136
+ "detect",
137
+ "discovery",
138
+ "dmbrowser",
139
+ "download",
140
+ "exaleadcloudview",
141
+ "feed",
142
+ "firephp",
143
+ "foregenix",
144
+ "functionize",
145
+ "grab",
146
+ "hardenize\\b",
147
+ "headless",
148
+ "hotjar",
149
+ "httrack",
150
+ "hubspot marketing grader",
151
+ "ibisbrowser",
152
+ "infrawatch",
153
+ "insight",
154
+ "inspect",
155
+ "iplabel",
156
+ "java(?!;)",
157
+ "library",
158
+ "linkcheck",
159
+ "linktiger",
160
+ "mail\\.ru/",
161
+ "manager",
162
+ "manus-user/",
163
+ "marketgoo/",
164
+ "measure",
165
+ "monitor\\b",
166
+ "neustar wpm",
167
+ "node\\b",
168
+ "nutch",
169
+ "offbyone",
170
+ "openvas",
171
+ "optimize",
172
+ "pageburst",
173
+ "pagespeed",
174
+ "parser",
175
+ "phantomjs",
176
+ "pingdom",
177
+ "playwright",
178
+ "powermarks",
179
+ "preview",
180
+ "productfinder",
181
+ "prospectingstudio",
182
+ "proxy",
183
+ "ptst[ /]\\d",
184
+ "radar",
185
+ "readable/",
186
+ "retriever",
187
+ "rexx;",
188
+ "rigor",
189
+ "rss\\b",
190
+ "scrape",
191
+ "securityheaders",
192
+ "selenium",
193
+ "server",
194
+ "silktide",
195
+ "sindup/",
196
+ "sogou[\\w\\s-]*spider",
197
+ "sparkler/",
198
+ "speedcurve",
199
+ "spider",
200
+ "splash",
201
+ "statuscake",
202
+ "supercleaner",
203
+ "synapse",
204
+ "synthetic",
205
+ "testlocally",
206
+ "tools",
207
+ "torrent",
208
+ "transcoder",
209
+ "url",
210
+ "validator",
211
+ "virtuoso",
212
+ "wappalyzer",
213
+ "watchtowr",
214
+ "webglance",
215
+ "webkit2png",
216
+ "whatcms/",
217
+ "xtate/"
218
+ ];
219
+ /** One case-insensitive expression; the parts use lookbehind, which every supported runtime has. */
220
+ const GENERIC_BOT = new RegExp(GENERIC_BOT_PATTERNS.join("|"), "i");
221
+ //#endregion
222
+ exports.GENERIC_BOT = GENERIC_BOT;
223
+ exports.GENERIC_BOT_PATTERNS = GENERIC_BOT_PATTERNS;
224
+
225
+ //# sourceMappingURL=generic.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.cjs","names":[],"sources":["../../src/bot/generic.ts"],"sourcesContent":["/**\n * The generic bot pattern of isbot 5.2.2 (https://github.com/omrilotan/isbot, released into the\n * public domain under the Unlicense), vendored so that `botOf` has no dependency. It says whether a\n * user agent looks automated, not which bot it is: `botOf` tries its named table first and falls\n * back to this for the long tail. Refresh it by copying `list` from a newer isbot release, keeping\n * the local changes marked below.\n */\nexport const GENERIC_BOT_PATTERNS: readonly string[] = [\n ' daum[ /]',\n ' deusu/',\n '(?:^|[^g])news(?!sapphire)',\n '(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))',\n '(?<! cu)bots?(?:\\\\b|_)',\n '(?<!cam)scan',\n '(?<!lib)http',\n '24x7',\n ';\\\\s\\\\w+;$',\n '@[a-z][\\\\w-]+\\\\.',\n '\\\\(\\\\)',\n '\\\\.com\\\\b',\n '\\\\b\\\\w+/1\\\\.0;',\n '\\\\bbw/',\n '\\\\bdlc\\\\b',\n '\\\\bort/',\n '\\\\bperl\\\\b',\n '\\\\btime/',\n '\\\\|',\n '^[<\\\\(;]',\n '^[\\\\w \\\\.\\\\-\\\\(?:\\\\):%]+(?:/v?\\\\d+(?:\\\\.\\\\d+)?(?:\\\\.\\\\d{1,10})*?)?(?:,|$)',\n '^[\\\\w\\\\-]+/[\\\\w]+$',\n '^[^ ]{50,}$',\n '^\\\\d+\\\\b',\n '^\\\\w*search\\\\b',\n '^\\\\w+/[\\\\w\\\\(\\\\)]*$',\n '^\\\\w+/\\\\d\\\\.\\\\d\\\\s\\\\([\\\\w@]+\\\\)$',\n '^active',\n '^ad muncher',\n '^amaya',\n '^apache/',\n '^avsdevicesdk/',\n '^azure',\n '^biglotron',\n '^blackbox exporter',\n '^bot',\n '^clamav[ /]',\n '^claude-code/',\n '^client/',\n '^cobweb/',\n '^custom',\n '^ddg[_-]android',\n '^discourse',\n '^dispatch/\\\\d',\n '^downcast/',\n '^duckduckgo',\n '^email',\n '^exodusmovement',\n '^facebook',\n '^getright/',\n '^gozilla/',\n '^hobbit',\n '^hotzonu',\n '^hwcdn/',\n '^igetter/',\n '^jeode/',\n '^jetty/',\n '^jigsaw',\n '^microsoft bits',\n '^movabletype',\n '^mozilla/\\\\d\\\\.\\\\d\\\\s[\\\\w\\\\.-]+$',\n '^mozilla/\\\\d\\\\.\\\\d\\\\s\\\\((?:compatible;)?(?:\\\\s?[\\\\w\\\\d-.]+\\\\/\\\\d+\\\\.\\\\d+)?\\\\)$',\n '^navermailapp',\n '^netsurf',\n '^offline',\n '^openai/',\n '^owler',\n '^php',\n '^postman',\n '^ps_daily/',\n '^python',\n '^rank',\n '^read',\n '^reed',\n '^remove\\\\.bg/',\n '^rest',\n '^rss',\n '^snapchat',\n '^sora ',\n '^space bison',\n '^stape/',\n '^svn',\n '^swcd ',\n '^taringa',\n '^thumbor/',\n '^track',\n '^w3c',\n '^webbandit/',\n '^webcopier',\n '^wget',\n '^whatsapp',\n '^wordpress',\n '^xenu link sleuth',\n '^yahoo',\n '^yandex',\n '^zdm/\\\\d',\n '^zoom marketplace/',\n 'abuse',\n 'advisor',\n 'agent\\\\b',\n 'analyzer',\n 'archive',\n 'ask jeeves/teoma',\n 'attracta',\n 'audit',\n 'bluecoat drtr',\n 'browsex',\n 'burpcollaborator',\n 'capture',\n 'catch',\n 'check\\\\b',\n 'checker',\n 'chrome-lighthouse',\n 'chromeframe',\n 'classifier',\n 'cloudflare',\n 'collapsify\\\\b',\n 'convertify',\n 'cookiehubverify/',\n 'crawl',\n 'cursor/',\n 'cypress/',\n 'dareboost',\n 'datanyze',\n 'dejaclick',\n 'detect',\n 'discovery',\n 'dmbrowser',\n 'download',\n 'exaleadcloudview',\n 'feed',\n 'firephp',\n 'foregenix',\n 'functionize',\n 'grab',\n 'hardenize\\\\b',\n 'headless',\n 'hotjar',\n 'httrack',\n 'hubspot marketing grader',\n 'ibisbrowser',\n 'infrawatch',\n 'insight',\n 'inspect',\n 'iplabel',\n 'java(?!;)',\n 'library',\n 'linkcheck',\n 'linktiger',\n 'mail\\\\.ru/',\n 'manager',\n 'manus-user/',\n 'marketgoo/',\n 'measure',\n 'monitor\\\\b',\n 'neustar wpm',\n 'node\\\\b',\n 'nutch',\n 'offbyone',\n 'openvas',\n 'optimize',\n 'pageburst',\n 'pagespeed',\n 'parser',\n 'phantomjs',\n 'pingdom',\n 'playwright',\n 'powermarks',\n 'preview',\n 'productfinder',\n 'prospectingstudio',\n 'proxy',\n 'ptst[ /]\\\\d',\n 'radar',\n 'readable/',\n 'retriever',\n 'rexx;',\n 'rigor',\n 'rss\\\\b',\n 'scrape',\n 'securityheaders',\n 'selenium',\n 'server',\n 'silktide',\n 'sindup/',\n // isbot has `sogou`, which also takes Sogou's own browser (SogouMobileBrowser) for a bot\n 'sogou[\\\\w\\\\s-]*spider',\n 'sparkler/',\n 'speedcurve',\n 'spider',\n 'splash',\n 'statuscake',\n 'supercleaner',\n 'synapse',\n 'synthetic',\n 'testlocally',\n 'tools',\n 'torrent',\n 'transcoder',\n 'url',\n 'validator',\n 'virtuoso',\n 'wappalyzer',\n 'watchtowr',\n 'webglance',\n 'webkit2png',\n 'whatcms/',\n 'xtate/',\n];\n\n/** One case-insensitive expression; the parts use lookbehind, which every supported runtime has. */\nexport const GENERIC_BOT = new RegExp(GENERIC_BOT_PATTERNS.join('|'), 'i');\n"],"mappings":";;;;;;;;;AAOA,MAAa,uBAA0C;CACrD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;AAGA,MAAa,cAAc,IAAI,OAAO,qBAAqB,KAAK,GAAG,GAAG,GAAG"}
@@ -0,0 +1,13 @@
1
+ //#region src/bot/generic.d.ts
2
+ /**
3
+ * The generic bot pattern of isbot 5.2.2 (https://github.com/omrilotan/isbot, released into the
4
+ * public domain under the Unlicense), vendored so that `botOf` has no dependency. It says whether a
5
+ * user agent looks automated, not which bot it is: `botOf` tries its named table first and falls
6
+ * back to this for the long tail. Refresh it by copying `list` from a newer isbot release, keeping
7
+ * the local changes marked below.
8
+ */
9
+ export declare const GENERIC_BOT_PATTERNS: readonly string[];
10
+ /** One case-insensitive expression; the parts use lookbehind, which every supported runtime has. */
11
+ export declare const GENERIC_BOT: RegExp;
12
+ //#endregion
13
+ //# sourceMappingURL=generic.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.d.cts","names":[],"sources":["../../src/bot/generic.ts"],"mappings":";;;;;;;;qBAOa;;qBAoNA,aAAW"}
@@ -0,0 +1,13 @@
1
+ //#region src/bot/generic.d.ts
2
+ /**
3
+ * The generic bot pattern of isbot 5.2.2 (https://github.com/omrilotan/isbot, released into the
4
+ * public domain under the Unlicense), vendored so that `botOf` has no dependency. It says whether a
5
+ * user agent looks automated, not which bot it is: `botOf` tries its named table first and falls
6
+ * back to this for the long tail. Refresh it by copying `list` from a newer isbot release, keeping
7
+ * the local changes marked below.
8
+ */
9
+ export declare const GENERIC_BOT_PATTERNS: readonly string[];
10
+ /** One case-insensitive expression; the parts use lookbehind, which every supported runtime has. */
11
+ export declare const GENERIC_BOT: RegExp;
12
+ //#endregion
13
+ //# sourceMappingURL=generic.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.d.mts","names":[],"sources":["../../src/bot/generic.ts"],"mappings":";;;;;;;;qBAOa;;qBAoNA,aAAW"}
@@ -0,0 +1,223 @@
1
+ //#region src/bot/generic.ts
2
+ /**
3
+ * The generic bot pattern of isbot 5.2.2 (https://github.com/omrilotan/isbot, released into the
4
+ * public domain under the Unlicense), vendored so that `botOf` has no dependency. It says whether a
5
+ * user agent looks automated, not which bot it is: `botOf` tries its named table first and falls
6
+ * back to this for the long tail. Refresh it by copying `list` from a newer isbot release, keeping
7
+ * the local changes marked below.
8
+ */
9
+ const GENERIC_BOT_PATTERNS = [
10
+ " daum[ /]",
11
+ " deusu/",
12
+ "(?:^|[^g])news(?!sapphire)",
13
+ "(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))",
14
+ "(?<! cu)bots?(?:\\b|_)",
15
+ "(?<!cam)scan",
16
+ "(?<!lib)http",
17
+ "24x7",
18
+ ";\\s\\w+;$",
19
+ "@[a-z][\\w-]+\\.",
20
+ "\\(\\)",
21
+ "\\.com\\b",
22
+ "\\b\\w+/1\\.0;",
23
+ "\\bbw/",
24
+ "\\bdlc\\b",
25
+ "\\bort/",
26
+ "\\bperl\\b",
27
+ "\\btime/",
28
+ "\\|",
29
+ "^[<\\(;]",
30
+ "^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)",
31
+ "^[\\w\\-]+/[\\w]+$",
32
+ "^[^ ]{50,}$",
33
+ "^\\d+\\b",
34
+ "^\\w*search\\b",
35
+ "^\\w+/[\\w\\(\\)]*$",
36
+ "^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$",
37
+ "^active",
38
+ "^ad muncher",
39
+ "^amaya",
40
+ "^apache/",
41
+ "^avsdevicesdk/",
42
+ "^azure",
43
+ "^biglotron",
44
+ "^blackbox exporter",
45
+ "^bot",
46
+ "^clamav[ /]",
47
+ "^claude-code/",
48
+ "^client/",
49
+ "^cobweb/",
50
+ "^custom",
51
+ "^ddg[_-]android",
52
+ "^discourse",
53
+ "^dispatch/\\d",
54
+ "^downcast/",
55
+ "^duckduckgo",
56
+ "^email",
57
+ "^exodusmovement",
58
+ "^facebook",
59
+ "^getright/",
60
+ "^gozilla/",
61
+ "^hobbit",
62
+ "^hotzonu",
63
+ "^hwcdn/",
64
+ "^igetter/",
65
+ "^jeode/",
66
+ "^jetty/",
67
+ "^jigsaw",
68
+ "^microsoft bits",
69
+ "^movabletype",
70
+ "^mozilla/\\d\\.\\d\\s[\\w\\.-]+$",
71
+ "^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$",
72
+ "^navermailapp",
73
+ "^netsurf",
74
+ "^offline",
75
+ "^openai/",
76
+ "^owler",
77
+ "^php",
78
+ "^postman",
79
+ "^ps_daily/",
80
+ "^python",
81
+ "^rank",
82
+ "^read",
83
+ "^reed",
84
+ "^remove\\.bg/",
85
+ "^rest",
86
+ "^rss",
87
+ "^snapchat",
88
+ "^sora ",
89
+ "^space bison",
90
+ "^stape/",
91
+ "^svn",
92
+ "^swcd ",
93
+ "^taringa",
94
+ "^thumbor/",
95
+ "^track",
96
+ "^w3c",
97
+ "^webbandit/",
98
+ "^webcopier",
99
+ "^wget",
100
+ "^whatsapp",
101
+ "^wordpress",
102
+ "^xenu link sleuth",
103
+ "^yahoo",
104
+ "^yandex",
105
+ "^zdm/\\d",
106
+ "^zoom marketplace/",
107
+ "abuse",
108
+ "advisor",
109
+ "agent\\b",
110
+ "analyzer",
111
+ "archive",
112
+ "ask jeeves/teoma",
113
+ "attracta",
114
+ "audit",
115
+ "bluecoat drtr",
116
+ "browsex",
117
+ "burpcollaborator",
118
+ "capture",
119
+ "catch",
120
+ "check\\b",
121
+ "checker",
122
+ "chrome-lighthouse",
123
+ "chromeframe",
124
+ "classifier",
125
+ "cloudflare",
126
+ "collapsify\\b",
127
+ "convertify",
128
+ "cookiehubverify/",
129
+ "crawl",
130
+ "cursor/",
131
+ "cypress/",
132
+ "dareboost",
133
+ "datanyze",
134
+ "dejaclick",
135
+ "detect",
136
+ "discovery",
137
+ "dmbrowser",
138
+ "download",
139
+ "exaleadcloudview",
140
+ "feed",
141
+ "firephp",
142
+ "foregenix",
143
+ "functionize",
144
+ "grab",
145
+ "hardenize\\b",
146
+ "headless",
147
+ "hotjar",
148
+ "httrack",
149
+ "hubspot marketing grader",
150
+ "ibisbrowser",
151
+ "infrawatch",
152
+ "insight",
153
+ "inspect",
154
+ "iplabel",
155
+ "java(?!;)",
156
+ "library",
157
+ "linkcheck",
158
+ "linktiger",
159
+ "mail\\.ru/",
160
+ "manager",
161
+ "manus-user/",
162
+ "marketgoo/",
163
+ "measure",
164
+ "monitor\\b",
165
+ "neustar wpm",
166
+ "node\\b",
167
+ "nutch",
168
+ "offbyone",
169
+ "openvas",
170
+ "optimize",
171
+ "pageburst",
172
+ "pagespeed",
173
+ "parser",
174
+ "phantomjs",
175
+ "pingdom",
176
+ "playwright",
177
+ "powermarks",
178
+ "preview",
179
+ "productfinder",
180
+ "prospectingstudio",
181
+ "proxy",
182
+ "ptst[ /]\\d",
183
+ "radar",
184
+ "readable/",
185
+ "retriever",
186
+ "rexx;",
187
+ "rigor",
188
+ "rss\\b",
189
+ "scrape",
190
+ "securityheaders",
191
+ "selenium",
192
+ "server",
193
+ "silktide",
194
+ "sindup/",
195
+ "sogou[\\w\\s-]*spider",
196
+ "sparkler/",
197
+ "speedcurve",
198
+ "spider",
199
+ "splash",
200
+ "statuscake",
201
+ "supercleaner",
202
+ "synapse",
203
+ "synthetic",
204
+ "testlocally",
205
+ "tools",
206
+ "torrent",
207
+ "transcoder",
208
+ "url",
209
+ "validator",
210
+ "virtuoso",
211
+ "wappalyzer",
212
+ "watchtowr",
213
+ "webglance",
214
+ "webkit2png",
215
+ "whatcms/",
216
+ "xtate/"
217
+ ];
218
+ /** One case-insensitive expression; the parts use lookbehind, which every supported runtime has. */
219
+ const GENERIC_BOT = new RegExp(GENERIC_BOT_PATTERNS.join("|"), "i");
220
+ //#endregion
221
+ export { GENERIC_BOT, GENERIC_BOT_PATTERNS };
222
+
223
+ //# sourceMappingURL=generic.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.mjs","names":[],"sources":["../../src/bot/generic.ts"],"sourcesContent":["/**\n * The generic bot pattern of isbot 5.2.2 (https://github.com/omrilotan/isbot, released into the\n * public domain under the Unlicense), vendored so that `botOf` has no dependency. It says whether a\n * user agent looks automated, not which bot it is: `botOf` tries its named table first and falls\n * back to this for the long tail. Refresh it by copying `list` from a newer isbot release, keeping\n * the local changes marked below.\n */\nexport const GENERIC_BOT_PATTERNS: readonly string[] = [\n ' daum[ /]',\n ' deusu/',\n '(?:^|[^g])news(?!sapphire)',\n '(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))',\n '(?<! cu)bots?(?:\\\\b|_)',\n '(?<!cam)scan',\n '(?<!lib)http',\n '24x7',\n ';\\\\s\\\\w+;$',\n '@[a-z][\\\\w-]+\\\\.',\n '\\\\(\\\\)',\n '\\\\.com\\\\b',\n '\\\\b\\\\w+/1\\\\.0;',\n '\\\\bbw/',\n '\\\\bdlc\\\\b',\n '\\\\bort/',\n '\\\\bperl\\\\b',\n '\\\\btime/',\n '\\\\|',\n '^[<\\\\(;]',\n '^[\\\\w \\\\.\\\\-\\\\(?:\\\\):%]+(?:/v?\\\\d+(?:\\\\.\\\\d+)?(?:\\\\.\\\\d{1,10})*?)?(?:,|$)',\n '^[\\\\w\\\\-]+/[\\\\w]+$',\n '^[^ ]{50,}$',\n '^\\\\d+\\\\b',\n '^\\\\w*search\\\\b',\n '^\\\\w+/[\\\\w\\\\(\\\\)]*$',\n '^\\\\w+/\\\\d\\\\.\\\\d\\\\s\\\\([\\\\w@]+\\\\)$',\n '^active',\n '^ad muncher',\n '^amaya',\n '^apache/',\n '^avsdevicesdk/',\n '^azure',\n '^biglotron',\n '^blackbox exporter',\n '^bot',\n '^clamav[ /]',\n '^claude-code/',\n '^client/',\n '^cobweb/',\n '^custom',\n '^ddg[_-]android',\n '^discourse',\n '^dispatch/\\\\d',\n '^downcast/',\n '^duckduckgo',\n '^email',\n '^exodusmovement',\n '^facebook',\n '^getright/',\n '^gozilla/',\n '^hobbit',\n '^hotzonu',\n '^hwcdn/',\n '^igetter/',\n '^jeode/',\n '^jetty/',\n '^jigsaw',\n '^microsoft bits',\n '^movabletype',\n '^mozilla/\\\\d\\\\.\\\\d\\\\s[\\\\w\\\\.-]+$',\n '^mozilla/\\\\d\\\\.\\\\d\\\\s\\\\((?:compatible;)?(?:\\\\s?[\\\\w\\\\d-.]+\\\\/\\\\d+\\\\.\\\\d+)?\\\\)$',\n '^navermailapp',\n '^netsurf',\n '^offline',\n '^openai/',\n '^owler',\n '^php',\n '^postman',\n '^ps_daily/',\n '^python',\n '^rank',\n '^read',\n '^reed',\n '^remove\\\\.bg/',\n '^rest',\n '^rss',\n '^snapchat',\n '^sora ',\n '^space bison',\n '^stape/',\n '^svn',\n '^swcd ',\n '^taringa',\n '^thumbor/',\n '^track',\n '^w3c',\n '^webbandit/',\n '^webcopier',\n '^wget',\n '^whatsapp',\n '^wordpress',\n '^xenu link sleuth',\n '^yahoo',\n '^yandex',\n '^zdm/\\\\d',\n '^zoom marketplace/',\n 'abuse',\n 'advisor',\n 'agent\\\\b',\n 'analyzer',\n 'archive',\n 'ask jeeves/teoma',\n 'attracta',\n 'audit',\n 'bluecoat drtr',\n 'browsex',\n 'burpcollaborator',\n 'capture',\n 'catch',\n 'check\\\\b',\n 'checker',\n 'chrome-lighthouse',\n 'chromeframe',\n 'classifier',\n 'cloudflare',\n 'collapsify\\\\b',\n 'convertify',\n 'cookiehubverify/',\n 'crawl',\n 'cursor/',\n 'cypress/',\n 'dareboost',\n 'datanyze',\n 'dejaclick',\n 'detect',\n 'discovery',\n 'dmbrowser',\n 'download',\n 'exaleadcloudview',\n 'feed',\n 'firephp',\n 'foregenix',\n 'functionize',\n 'grab',\n 'hardenize\\\\b',\n 'headless',\n 'hotjar',\n 'httrack',\n 'hubspot marketing grader',\n 'ibisbrowser',\n 'infrawatch',\n 'insight',\n 'inspect',\n 'iplabel',\n 'java(?!;)',\n 'library',\n 'linkcheck',\n 'linktiger',\n 'mail\\\\.ru/',\n 'manager',\n 'manus-user/',\n 'marketgoo/',\n 'measure',\n 'monitor\\\\b',\n 'neustar wpm',\n 'node\\\\b',\n 'nutch',\n 'offbyone',\n 'openvas',\n 'optimize',\n 'pageburst',\n 'pagespeed',\n 'parser',\n 'phantomjs',\n 'pingdom',\n 'playwright',\n 'powermarks',\n 'preview',\n 'productfinder',\n 'prospectingstudio',\n 'proxy',\n 'ptst[ /]\\\\d',\n 'radar',\n 'readable/',\n 'retriever',\n 'rexx;',\n 'rigor',\n 'rss\\\\b',\n 'scrape',\n 'securityheaders',\n 'selenium',\n 'server',\n 'silktide',\n 'sindup/',\n // isbot has `sogou`, which also takes Sogou's own browser (SogouMobileBrowser) for a bot\n 'sogou[\\\\w\\\\s-]*spider',\n 'sparkler/',\n 'speedcurve',\n 'spider',\n 'splash',\n 'statuscake',\n 'supercleaner',\n 'synapse',\n 'synthetic',\n 'testlocally',\n 'tools',\n 'torrent',\n 'transcoder',\n 'url',\n 'validator',\n 'virtuoso',\n 'wappalyzer',\n 'watchtowr',\n 'webglance',\n 'webkit2png',\n 'whatcms/',\n 'xtate/',\n];\n\n/** One case-insensitive expression; the parts use lookbehind, which every supported runtime has. */\nexport const GENERIC_BOT = new RegExp(GENERIC_BOT_PATTERNS.join('|'), 'i');\n"],"mappings":";;;;;;;;AAOA,MAAa,uBAA0C;CACrD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;AAGA,MAAa,cAAc,IAAI,OAAO,qBAAqB,KAAK,GAAG,GAAG,GAAG"}