@autumnsgrove/groveengine 0.6.4 → 0.7.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/dist/auth/index.d.ts +1 -2
- package/dist/auth/index.js +8 -4
- package/dist/auth/session.d.ts +14 -33
- package/dist/auth/session.js +5 -103
- package/dist/components/admin/FloatingToolbar.svelte +373 -0
- package/dist/components/admin/FloatingToolbar.svelte.d.ts +17 -0
- package/dist/components/admin/MarkdownEditor.svelte +26 -347
- package/dist/components/admin/MarkdownEditor.svelte.d.ts +1 -1
- package/dist/components/admin/composables/index.d.ts +0 -2
- package/dist/components/admin/composables/index.js +0 -2
- package/dist/components/custom/ContentWithGutter.svelte +22 -25
- package/dist/components/custom/MobileTOC.svelte +20 -13
- package/dist/components/quota/UpgradePrompt.svelte +1 -1
- package/dist/server/services/database.d.ts +138 -0
- package/dist/server/services/database.js +234 -0
- package/dist/server/services/index.d.ts +5 -1
- package/dist/server/services/index.js +24 -2
- package/dist/server/services/turnstile.d.ts +66 -0
- package/dist/server/services/turnstile.js +131 -0
- package/dist/server/services/users.d.ts +104 -0
- package/dist/server/services/users.js +158 -0
- package/dist/styles/README.md +50 -0
- package/dist/styles/vine-pattern.css +24 -0
- package/dist/types/turnstile.d.ts +42 -0
- package/dist/ui/components/forms/TurnstileWidget.svelte +111 -0
- package/dist/ui/components/forms/TurnstileWidget.svelte.d.ts +14 -0
- package/dist/ui/components/primitives/dialog/dialog-overlay.svelte +1 -1
- package/dist/ui/components/primitives/sheet/sheet-overlay.svelte +1 -1
- package/dist/ui/components/ui/Glass.svelte +158 -0
- package/dist/ui/components/ui/Glass.svelte.d.ts +52 -0
- package/dist/ui/components/ui/GlassButton.svelte +157 -0
- package/dist/ui/components/ui/GlassButton.svelte.d.ts +39 -0
- package/dist/ui/components/ui/GlassCard.svelte +160 -0
- package/dist/ui/components/ui/GlassCard.svelte.d.ts +39 -0
- package/dist/ui/components/ui/GlassConfirmDialog.svelte +208 -0
- package/dist/ui/components/ui/GlassConfirmDialog.svelte.d.ts +52 -0
- package/dist/ui/components/ui/GlassOverlay.svelte +93 -0
- package/dist/ui/components/ui/GlassOverlay.svelte.d.ts +33 -0
- package/dist/ui/components/ui/Logo.svelte +161 -23
- package/dist/ui/components/ui/Logo.svelte.d.ts +4 -10
- package/dist/ui/components/ui/index.d.ts +5 -0
- package/dist/ui/components/ui/index.js +6 -0
- package/dist/ui/styles/grove.css +136 -0
- package/dist/ui/tokens/fonts.d.ts +69 -0
- package/dist/ui/tokens/fonts.js +341 -0
- package/dist/ui/tokens/index.d.ts +6 -5
- package/dist/ui/tokens/index.js +7 -6
- package/dist/utils/gutter.d.ts +2 -8
- package/dist/utils/markdown.d.ts +1 -0
- package/dist/utils/markdown.js +32 -11
- package/package.json +1 -1
- package/static/robots.txt +520 -0
- package/dist/auth/jwt.d.ts +0 -20
- package/dist/auth/jwt.js +0 -123
- package/dist/components/admin/composables/useCommandPalette.svelte.d.ts +0 -87
- package/dist/components/admin/composables/useCommandPalette.svelte.js +0 -158
- package/dist/components/admin/composables/useSlashCommands.svelte.d.ts +0 -104
- package/dist/components/admin/composables/useSlashCommands.svelte.js +0 -215
package/dist/utils/markdown.js
CHANGED
|
@@ -9,7 +9,9 @@ const renderer = new marked.Renderer();
|
|
|
9
9
|
renderer.code = function (token) {
|
|
10
10
|
// Handle both old (code, language) and new (token) API signatures
|
|
11
11
|
const code = typeof token === "string" ? token : token.text;
|
|
12
|
-
const language = typeof token === "string"
|
|
12
|
+
const language = typeof token === "string"
|
|
13
|
+
? arguments[1]
|
|
14
|
+
: token.lang;
|
|
13
15
|
const lang = language || "text";
|
|
14
16
|
// Render markdown/md code blocks as formatted HTML (like GitHub)
|
|
15
17
|
if (lang === "markdown" || lang === "md") {
|
|
@@ -177,7 +179,9 @@ export function processGutterContent(slug, manifestModules, markdownModules, ima
|
|
|
177
179
|
});
|
|
178
180
|
if (mdEntry) {
|
|
179
181
|
const markdownContent = mdEntry[1];
|
|
180
|
-
const htmlContent = marked.parse(markdownContent, {
|
|
182
|
+
const htmlContent = marked.parse(markdownContent, {
|
|
183
|
+
async: false,
|
|
184
|
+
});
|
|
181
185
|
return {
|
|
182
186
|
...baseItem,
|
|
183
187
|
content: htmlContent,
|
|
@@ -285,7 +289,11 @@ export function processGutterContent(slug, manifestModules, markdownModules, ima
|
|
|
285
289
|
}
|
|
286
290
|
return baseItem;
|
|
287
291
|
})
|
|
288
|
-
.filter((item) => item !== null &&
|
|
292
|
+
.filter((item) => item !== null &&
|
|
293
|
+
(!!item.content ||
|
|
294
|
+
!!item.src ||
|
|
295
|
+
!!item.images ||
|
|
296
|
+
item.type === "emoji"));
|
|
289
297
|
}
|
|
290
298
|
/**
|
|
291
299
|
* Process a list of markdown files into post/recipe objects
|
|
@@ -364,9 +372,12 @@ export function getItemBySlug(slug, modules, options = {}) {
|
|
|
364
372
|
});
|
|
365
373
|
if (sidecarEntry) {
|
|
366
374
|
const sidecarData = sidecarEntry[1];
|
|
367
|
-
result.sidecar =
|
|
368
|
-
|
|
369
|
-
|
|
375
|
+
result.sidecar =
|
|
376
|
+
typeof sidecarData === "object" &&
|
|
377
|
+
sidecarData !== null &&
|
|
378
|
+
"default" in sidecarData
|
|
379
|
+
? sidecarData.default
|
|
380
|
+
: sidecarData;
|
|
370
381
|
}
|
|
371
382
|
}
|
|
372
383
|
return result;
|
|
@@ -463,7 +474,9 @@ export function createContentLoader(config) {
|
|
|
463
474
|
*/
|
|
464
475
|
getPostBySlug(slug) {
|
|
465
476
|
return getItemBySlug(slug, posts, {
|
|
466
|
-
gutterModules: postGutter.manifest
|
|
477
|
+
gutterModules: postGutter.manifest
|
|
478
|
+
? postGutter
|
|
479
|
+
: undefined,
|
|
467
480
|
});
|
|
468
481
|
},
|
|
469
482
|
/**
|
|
@@ -471,7 +484,9 @@ export function createContentLoader(config) {
|
|
|
471
484
|
*/
|
|
472
485
|
getRecipeBySlug(slug) {
|
|
473
486
|
return getItemBySlug(slug, recipes, {
|
|
474
|
-
gutterModules: recipeGutter.manifest
|
|
487
|
+
gutterModules: recipeGutter.manifest
|
|
488
|
+
? recipeGutter
|
|
489
|
+
: undefined,
|
|
475
490
|
sidecarModules: recipeMetadata,
|
|
476
491
|
});
|
|
477
492
|
},
|
|
@@ -480,7 +495,9 @@ export function createContentLoader(config) {
|
|
|
480
495
|
*/
|
|
481
496
|
getHomePage() {
|
|
482
497
|
return getPageByFilename("home.md", home, {
|
|
483
|
-
gutterModules: homeGutter.manifest
|
|
498
|
+
gutterModules: homeGutter.manifest
|
|
499
|
+
? homeGutter
|
|
500
|
+
: undefined,
|
|
484
501
|
slug: "home",
|
|
485
502
|
});
|
|
486
503
|
},
|
|
@@ -489,7 +506,9 @@ export function createContentLoader(config) {
|
|
|
489
506
|
*/
|
|
490
507
|
getAboutPage() {
|
|
491
508
|
return getPageByFilename("about.md", about, {
|
|
492
|
-
gutterModules: aboutGutter.manifest
|
|
509
|
+
gutterModules: aboutGutter.manifest
|
|
510
|
+
? aboutGutter
|
|
511
|
+
: undefined,
|
|
493
512
|
slug: "about",
|
|
494
513
|
});
|
|
495
514
|
},
|
|
@@ -498,7 +517,9 @@ export function createContentLoader(config) {
|
|
|
498
517
|
*/
|
|
499
518
|
getContactPage() {
|
|
500
519
|
return getPageByFilename("contact.md", contact, {
|
|
501
|
-
gutterModules: contactGutter.manifest
|
|
520
|
+
gutterModules: contactGutter.manifest
|
|
521
|
+
? contactGutter
|
|
522
|
+
: undefined,
|
|
502
523
|
slug: "contact",
|
|
503
524
|
});
|
|
504
525
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@autumnsgrove/groveengine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Multi-tenant blog engine for Grove Platform. Features gutter annotations, markdown editing, magic code auth, and Cloudflare Workers deployment.",
|
|
5
5
|
"author": "AutumnsGrove",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -0,0 +1,520 @@
|
|
|
1
|
+
# Grove User Blog robots.txt
|
|
2
|
+
# Last updated: December 22, 2025
|
|
3
|
+
#
|
|
4
|
+
# Grove blocks AI crawlers and training bots to protect user content.
|
|
5
|
+
# We allow traditional search engines for discoverability.
|
|
6
|
+
#
|
|
7
|
+
# This list is maintained using https://github.com/ai-robots-txt/ai.robots.txt
|
|
8
|
+
# as a reference, plus additional known crawlers.
|
|
9
|
+
#
|
|
10
|
+
# Note: robots.txt is voluntary. Some bad actors ignore it entirely.
|
|
11
|
+
# We also use Cloudflare's AI bot blocking for enforcement.
|
|
12
|
+
# See: https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/
|
|
13
|
+
|
|
14
|
+
# =============================================================================
|
|
15
|
+
# TRADITIONAL SEARCH ENGINES (ALLOWED)
|
|
16
|
+
# =============================================================================
|
|
17
|
+
|
|
18
|
+
User-agent: Googlebot
|
|
19
|
+
Allow: /
|
|
20
|
+
|
|
21
|
+
User-agent: Bingbot
|
|
22
|
+
Allow: /
|
|
23
|
+
|
|
24
|
+
User-agent: DuckDuckBot
|
|
25
|
+
Allow: /
|
|
26
|
+
|
|
27
|
+
User-agent: KagiBot
|
|
28
|
+
Allow: /
|
|
29
|
+
|
|
30
|
+
# Slurp is Yahoo's crawler (yes, really)
|
|
31
|
+
User-agent: Slurp
|
|
32
|
+
Allow: /
|
|
33
|
+
|
|
34
|
+
User-agent: Yandex
|
|
35
|
+
Allow: /
|
|
36
|
+
|
|
37
|
+
User-agent: Baiduspider
|
|
38
|
+
Allow: /
|
|
39
|
+
|
|
40
|
+
# =============================================================================
|
|
41
|
+
# OPENAI CRAWLERS
|
|
42
|
+
# =============================================================================
|
|
43
|
+
|
|
44
|
+
User-agent: GPTBot
|
|
45
|
+
Disallow: /
|
|
46
|
+
|
|
47
|
+
User-agent: ChatGPT-User
|
|
48
|
+
Disallow: /
|
|
49
|
+
|
|
50
|
+
User-agent: ChatGPT Agent
|
|
51
|
+
Disallow: /
|
|
52
|
+
|
|
53
|
+
User-agent: OAI-SearchBot
|
|
54
|
+
Disallow: /
|
|
55
|
+
|
|
56
|
+
User-agent: OpenAI
|
|
57
|
+
Disallow: /
|
|
58
|
+
|
|
59
|
+
User-agent: Operator
|
|
60
|
+
Disallow: /
|
|
61
|
+
|
|
62
|
+
# =============================================================================
|
|
63
|
+
# ANTHROPIC CRAWLERS
|
|
64
|
+
# =============================================================================
|
|
65
|
+
|
|
66
|
+
User-agent: anthropic-ai
|
|
67
|
+
Disallow: /
|
|
68
|
+
|
|
69
|
+
User-agent: ClaudeBot
|
|
70
|
+
Disallow: /
|
|
71
|
+
|
|
72
|
+
User-agent: Claude-Web
|
|
73
|
+
Disallow: /
|
|
74
|
+
|
|
75
|
+
User-agent: Claude-User
|
|
76
|
+
Disallow: /
|
|
77
|
+
|
|
78
|
+
User-agent: Claude-SearchBot
|
|
79
|
+
Disallow: /
|
|
80
|
+
|
|
81
|
+
# =============================================================================
|
|
82
|
+
# GOOGLE AI CRAWLERS (distinct from search)
|
|
83
|
+
# =============================================================================
|
|
84
|
+
|
|
85
|
+
User-agent: Google-Extended
|
|
86
|
+
Disallow: /
|
|
87
|
+
|
|
88
|
+
User-agent: Google-CloudVertexBot
|
|
89
|
+
Disallow: /
|
|
90
|
+
|
|
91
|
+
User-agent: CloudVertexBot
|
|
92
|
+
Disallow: /
|
|
93
|
+
|
|
94
|
+
User-agent: Google-Firebase
|
|
95
|
+
Disallow: /
|
|
96
|
+
|
|
97
|
+
User-agent: Google-NotebookLM
|
|
98
|
+
Disallow: /
|
|
99
|
+
|
|
100
|
+
User-agent: NotebookLM
|
|
101
|
+
Disallow: /
|
|
102
|
+
|
|
103
|
+
User-agent: GoogleOther
|
|
104
|
+
Disallow: /
|
|
105
|
+
|
|
106
|
+
User-agent: GoogleOther-Image
|
|
107
|
+
Disallow: /
|
|
108
|
+
|
|
109
|
+
User-agent: GoogleOther-Video
|
|
110
|
+
Disallow: /
|
|
111
|
+
|
|
112
|
+
User-agent: GoogleAgent-Mariner
|
|
113
|
+
Disallow: /
|
|
114
|
+
|
|
115
|
+
User-agent: Gemini-Deep-Research
|
|
116
|
+
Disallow: /
|
|
117
|
+
|
|
118
|
+
# =============================================================================
|
|
119
|
+
# META CRAWLERS
|
|
120
|
+
# =============================================================================
|
|
121
|
+
|
|
122
|
+
User-agent: Meta-ExternalAgent
|
|
123
|
+
Disallow: /
|
|
124
|
+
|
|
125
|
+
User-agent: meta-externalagent
|
|
126
|
+
Disallow: /
|
|
127
|
+
|
|
128
|
+
User-agent: Meta-ExternalFetcher
|
|
129
|
+
Disallow: /
|
|
130
|
+
|
|
131
|
+
User-agent: meta-externalfetcher
|
|
132
|
+
Disallow: /
|
|
133
|
+
|
|
134
|
+
User-agent: meta-webindexer
|
|
135
|
+
Disallow: /
|
|
136
|
+
|
|
137
|
+
User-agent: FacebookBot
|
|
138
|
+
Disallow: /
|
|
139
|
+
|
|
140
|
+
User-agent: facebookexternalhit
|
|
141
|
+
Disallow: /
|
|
142
|
+
|
|
143
|
+
# =============================================================================
|
|
144
|
+
# APPLE CRAWLERS
|
|
145
|
+
# =============================================================================
|
|
146
|
+
|
|
147
|
+
User-agent: Applebot-Extended
|
|
148
|
+
Disallow: /
|
|
149
|
+
|
|
150
|
+
# Note: Regular Applebot for Siri/Spotlight is allowed
|
|
151
|
+
|
|
152
|
+
# =============================================================================
|
|
153
|
+
# AMAZON CRAWLERS
|
|
154
|
+
# =============================================================================
|
|
155
|
+
|
|
156
|
+
User-agent: Amazonbot
|
|
157
|
+
Disallow: /
|
|
158
|
+
|
|
159
|
+
User-agent: AmazonBuyForMe
|
|
160
|
+
Disallow: /
|
|
161
|
+
|
|
162
|
+
User-agent: amazon-kendra
|
|
163
|
+
Disallow: /
|
|
164
|
+
|
|
165
|
+
User-agent: bedrockbot
|
|
166
|
+
Disallow: /
|
|
167
|
+
|
|
168
|
+
# =============================================================================
|
|
169
|
+
# BYTEDANCE / TIKTOK
|
|
170
|
+
# =============================================================================
|
|
171
|
+
|
|
172
|
+
User-agent: Bytespider
|
|
173
|
+
Disallow: /
|
|
174
|
+
|
|
175
|
+
User-agent: TikTokSpider
|
|
176
|
+
Disallow: /
|
|
177
|
+
|
|
178
|
+
# =============================================================================
|
|
179
|
+
# PERPLEXITY
|
|
180
|
+
# =============================================================================
|
|
181
|
+
|
|
182
|
+
User-agent: PerplexityBot
|
|
183
|
+
Disallow: /
|
|
184
|
+
|
|
185
|
+
User-agent: Perplexity-User
|
|
186
|
+
Disallow: /
|
|
187
|
+
|
|
188
|
+
# =============================================================================
|
|
189
|
+
# COMMON CRAWL (used for ML training datasets and archiving)
|
|
190
|
+
# =============================================================================
|
|
191
|
+
|
|
192
|
+
User-agent: CCBot
|
|
193
|
+
Disallow: /
|
|
194
|
+
|
|
195
|
+
# =============================================================================
|
|
196
|
+
# WEB ARCHIVING SERVICES
|
|
197
|
+
# These services crawl and archive web content for public access
|
|
198
|
+
# NOTE: Blocking these will RETROACTIVELY remove existing archives
|
|
199
|
+
# =============================================================================
|
|
200
|
+
|
|
201
|
+
# Internet Archive / Wayback Machine
|
|
202
|
+
User-agent: archive.org_bot
|
|
203
|
+
Disallow: /
|
|
204
|
+
|
|
205
|
+
User-agent: ia_archiver
|
|
206
|
+
Disallow: /
|
|
207
|
+
|
|
208
|
+
# Archive-It (Internet Archive's subscription service)
|
|
209
|
+
User-agent: archive.org
|
|
210
|
+
Disallow: /
|
|
211
|
+
|
|
212
|
+
User-agent: ArchiveBot
|
|
213
|
+
Disallow: /
|
|
214
|
+
|
|
215
|
+
User-agent: Archive-It
|
|
216
|
+
Disallow: /
|
|
217
|
+
|
|
218
|
+
# Note: CCBot (Common Crawl) is already blocked above - it serves both
|
|
219
|
+
# archiving and AI training purposes
|
|
220
|
+
|
|
221
|
+
# archive.today / archive.is / archive.ph:
|
|
222
|
+
# Does NOT respect robots.txt - would require IP-based blocking via WAF
|
|
223
|
+
# Not recommended to pursue unless critical
|
|
224
|
+
|
|
225
|
+
# Personal archiving tools (Raindrop, Pocket, ArchiveBox, browser extensions):
|
|
226
|
+
# CANNOT be blocked via robots.txt - they use normal browser sessions
|
|
227
|
+
|
|
228
|
+
# =============================================================================
|
|
229
|
+
# MISTRAL
|
|
230
|
+
# =============================================================================
|
|
231
|
+
|
|
232
|
+
User-agent: MistralAI-User
|
|
233
|
+
Disallow: /
|
|
234
|
+
|
|
235
|
+
User-agent: MistralAI-User/1.0
|
|
236
|
+
Disallow: /
|
|
237
|
+
|
|
238
|
+
# =============================================================================
|
|
239
|
+
# DEEPSEEK
|
|
240
|
+
# =============================================================================
|
|
241
|
+
|
|
242
|
+
User-agent: DeepSeekBot
|
|
243
|
+
Disallow: /
|
|
244
|
+
|
|
245
|
+
# =============================================================================
|
|
246
|
+
# COHERE
|
|
247
|
+
# =============================================================================
|
|
248
|
+
|
|
249
|
+
User-agent: cohere-ai
|
|
250
|
+
Disallow: /
|
|
251
|
+
|
|
252
|
+
User-agent: cohere-training-data-crawler
|
|
253
|
+
Disallow: /
|
|
254
|
+
|
|
255
|
+
# =============================================================================
|
|
256
|
+
# OTHER AI CRAWLERS (alphabetical)
|
|
257
|
+
# =============================================================================
|
|
258
|
+
|
|
259
|
+
User-agent: AddSearchBot
|
|
260
|
+
Disallow: /
|
|
261
|
+
|
|
262
|
+
User-agent: AI2Bot
|
|
263
|
+
Disallow: /
|
|
264
|
+
|
|
265
|
+
User-agent: AI2Bot-DeepResearchEval
|
|
266
|
+
Disallow: /
|
|
267
|
+
|
|
268
|
+
User-agent: Ai2Bot-Dolma
|
|
269
|
+
Disallow: /
|
|
270
|
+
|
|
271
|
+
User-agent: aiHitBot
|
|
272
|
+
Disallow: /
|
|
273
|
+
|
|
274
|
+
User-agent: Andibot
|
|
275
|
+
Disallow: /
|
|
276
|
+
|
|
277
|
+
User-agent: Anomura
|
|
278
|
+
Disallow: /
|
|
279
|
+
|
|
280
|
+
User-agent: atlassian-bot
|
|
281
|
+
Disallow: /
|
|
282
|
+
|
|
283
|
+
User-agent: Awario
|
|
284
|
+
Disallow: /
|
|
285
|
+
|
|
286
|
+
User-agent: bigsur.ai
|
|
287
|
+
Disallow: /
|
|
288
|
+
|
|
289
|
+
User-agent: Bravebot
|
|
290
|
+
Disallow: /
|
|
291
|
+
|
|
292
|
+
User-agent: Brightbot 1.0
|
|
293
|
+
Disallow: /
|
|
294
|
+
|
|
295
|
+
User-agent: BuddyBot
|
|
296
|
+
Disallow: /
|
|
297
|
+
|
|
298
|
+
User-agent: Channel3Bot
|
|
299
|
+
Disallow: /
|
|
300
|
+
|
|
301
|
+
User-agent: ChatGLM-Spider
|
|
302
|
+
Disallow: /
|
|
303
|
+
|
|
304
|
+
User-agent: Cloudflare-AutoRAG
|
|
305
|
+
Disallow: /
|
|
306
|
+
|
|
307
|
+
User-agent: Cotoyogi
|
|
308
|
+
Disallow: /
|
|
309
|
+
|
|
310
|
+
User-agent: Crawl4AI
|
|
311
|
+
Disallow: /
|
|
312
|
+
|
|
313
|
+
User-agent: Crawlspace
|
|
314
|
+
Disallow: /
|
|
315
|
+
|
|
316
|
+
User-agent: Datenbank Crawler
|
|
317
|
+
Disallow: /
|
|
318
|
+
|
|
319
|
+
User-agent: Devin
|
|
320
|
+
Disallow: /
|
|
321
|
+
|
|
322
|
+
User-agent: Diffbot
|
|
323
|
+
Disallow: /
|
|
324
|
+
|
|
325
|
+
User-agent: DuckAssistBot
|
|
326
|
+
Disallow: /
|
|
327
|
+
|
|
328
|
+
User-agent: Echobot Bot
|
|
329
|
+
Disallow: /
|
|
330
|
+
|
|
331
|
+
User-agent: EchoboxBot
|
|
332
|
+
Disallow: /
|
|
333
|
+
|
|
334
|
+
User-agent: Factset_spyderbot
|
|
335
|
+
Disallow: /
|
|
336
|
+
|
|
337
|
+
User-agent: FirecrawlAgent
|
|
338
|
+
Disallow: /
|
|
339
|
+
|
|
340
|
+
User-agent: FriendlyCrawler
|
|
341
|
+
Disallow: /
|
|
342
|
+
|
|
343
|
+
User-agent: iAskBot
|
|
344
|
+
Disallow: /
|
|
345
|
+
|
|
346
|
+
User-agent: iaskspider
|
|
347
|
+
Disallow: /
|
|
348
|
+
|
|
349
|
+
User-agent: iaskspider/2.0
|
|
350
|
+
Disallow: /
|
|
351
|
+
|
|
352
|
+
User-agent: IbouBot
|
|
353
|
+
Disallow: /
|
|
354
|
+
|
|
355
|
+
User-agent: ICC-Crawler
|
|
356
|
+
Disallow: /
|
|
357
|
+
|
|
358
|
+
User-agent: ImagesiftBot
|
|
359
|
+
Disallow: /
|
|
360
|
+
|
|
361
|
+
User-agent: imageSpider
|
|
362
|
+
Disallow: /
|
|
363
|
+
|
|
364
|
+
User-agent: img2dataset
|
|
365
|
+
Disallow: /
|
|
366
|
+
|
|
367
|
+
User-agent: ISSCyberRiskCrawler
|
|
368
|
+
Disallow: /
|
|
369
|
+
|
|
370
|
+
User-agent: Kangaroo Bot
|
|
371
|
+
Disallow: /
|
|
372
|
+
|
|
373
|
+
User-agent: KlaviyoAIBot
|
|
374
|
+
Disallow: /
|
|
375
|
+
|
|
376
|
+
User-agent: KunatoCrawler
|
|
377
|
+
Disallow: /
|
|
378
|
+
|
|
379
|
+
User-agent: laion-huggingface-processor
|
|
380
|
+
Disallow: /
|
|
381
|
+
|
|
382
|
+
User-agent: LAIONDownloader
|
|
383
|
+
Disallow: /
|
|
384
|
+
|
|
385
|
+
User-agent: LCC
|
|
386
|
+
Disallow: /
|
|
387
|
+
|
|
388
|
+
User-agent: LinerBot
|
|
389
|
+
Disallow: /
|
|
390
|
+
|
|
391
|
+
User-agent: Linguee Bot
|
|
392
|
+
Disallow: /
|
|
393
|
+
|
|
394
|
+
User-agent: LinkupBot
|
|
395
|
+
Disallow: /
|
|
396
|
+
|
|
397
|
+
User-agent: Manus-User
|
|
398
|
+
Disallow: /
|
|
399
|
+
|
|
400
|
+
User-agent: MyCentralAIScraperBot
|
|
401
|
+
Disallow: /
|
|
402
|
+
|
|
403
|
+
User-agent: netEstate Imprint Crawler
|
|
404
|
+
Disallow: /
|
|
405
|
+
|
|
406
|
+
User-agent: NovaAct
|
|
407
|
+
Disallow: /
|
|
408
|
+
|
|
409
|
+
User-agent: omgili
|
|
410
|
+
Disallow: /
|
|
411
|
+
|
|
412
|
+
User-agent: omgilibot
|
|
413
|
+
Disallow: /
|
|
414
|
+
|
|
415
|
+
User-agent: PanguBot
|
|
416
|
+
Disallow: /
|
|
417
|
+
|
|
418
|
+
User-agent: Panscient
|
|
419
|
+
Disallow: /
|
|
420
|
+
|
|
421
|
+
User-agent: panscient.com
|
|
422
|
+
Disallow: /
|
|
423
|
+
|
|
424
|
+
User-agent: PetalBot
|
|
425
|
+
Disallow: /
|
|
426
|
+
|
|
427
|
+
User-agent: PhindBot
|
|
428
|
+
Disallow: /
|
|
429
|
+
|
|
430
|
+
User-agent: Poggio-Citations
|
|
431
|
+
Disallow: /
|
|
432
|
+
|
|
433
|
+
User-agent: Poseidon Research Crawler
|
|
434
|
+
Disallow: /
|
|
435
|
+
|
|
436
|
+
User-agent: QualifiedBot
|
|
437
|
+
Disallow: /
|
|
438
|
+
|
|
439
|
+
User-agent: QuillBot
|
|
440
|
+
Disallow: /
|
|
441
|
+
|
|
442
|
+
User-agent: quillbot.com
|
|
443
|
+
Disallow: /
|
|
444
|
+
|
|
445
|
+
User-agent: SBIntuitionsBot
|
|
446
|
+
Disallow: /
|
|
447
|
+
|
|
448
|
+
User-agent: Scrapy
|
|
449
|
+
Disallow: /
|
|
450
|
+
|
|
451
|
+
User-agent: SemrushBot-OCOB
|
|
452
|
+
Disallow: /
|
|
453
|
+
|
|
454
|
+
User-agent: SemrushBot-SWA
|
|
455
|
+
Disallow: /
|
|
456
|
+
|
|
457
|
+
User-agent: ShapBot
|
|
458
|
+
Disallow: /
|
|
459
|
+
|
|
460
|
+
User-agent: Sidetrade indexer bot
|
|
461
|
+
Disallow: /
|
|
462
|
+
|
|
463
|
+
User-agent: Spider
|
|
464
|
+
Disallow: /
|
|
465
|
+
|
|
466
|
+
User-agent: TavilyBot
|
|
467
|
+
Disallow: /
|
|
468
|
+
|
|
469
|
+
User-agent: TerraCotta
|
|
470
|
+
Disallow: /
|
|
471
|
+
|
|
472
|
+
User-agent: Thinkbot
|
|
473
|
+
Disallow: /
|
|
474
|
+
|
|
475
|
+
User-agent: Timpibot
|
|
476
|
+
Disallow: /
|
|
477
|
+
|
|
478
|
+
User-agent: TwinAgent
|
|
479
|
+
Disallow: /
|
|
480
|
+
|
|
481
|
+
User-agent: VelenPublicWebCrawler
|
|
482
|
+
Disallow: /
|
|
483
|
+
|
|
484
|
+
User-agent: WARDBot
|
|
485
|
+
Disallow: /
|
|
486
|
+
|
|
487
|
+
User-agent: Webzio-Extended
|
|
488
|
+
Disallow: /
|
|
489
|
+
|
|
490
|
+
User-agent: webzio-extended
|
|
491
|
+
Disallow: /
|
|
492
|
+
|
|
493
|
+
User-agent: wpbot
|
|
494
|
+
Disallow: /
|
|
495
|
+
|
|
496
|
+
User-agent: WRTNBot
|
|
497
|
+
Disallow: /
|
|
498
|
+
|
|
499
|
+
User-agent: YaK
|
|
500
|
+
Disallow: /
|
|
501
|
+
|
|
502
|
+
User-agent: YandexAdditional
|
|
503
|
+
Disallow: /
|
|
504
|
+
|
|
505
|
+
User-agent: YandexAdditionalBot
|
|
506
|
+
Disallow: /
|
|
507
|
+
|
|
508
|
+
User-agent: YouBot
|
|
509
|
+
Disallow: /
|
|
510
|
+
|
|
511
|
+
User-agent: ZanistaBot
|
|
512
|
+
Disallow: /
|
|
513
|
+
|
|
514
|
+
# =============================================================================
|
|
515
|
+
# DEFAULT RULE
|
|
516
|
+
# =============================================================================
|
|
517
|
+
|
|
518
|
+
# Allow all other well-behaved crawlers
|
|
519
|
+
User-agent: *
|
|
520
|
+
Allow: /
|
package/dist/auth/jwt.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sign a JWT payload
|
|
3
|
-
* @param {JwtPayload} payload - The payload to sign
|
|
4
|
-
* @param {string} secret - The secret key
|
|
5
|
-
* @returns {Promise<string>} - The signed JWT token
|
|
6
|
-
*/
|
|
7
|
-
export function signJwt(payload: JwtPayload, secret: string): Promise<string>;
|
|
8
|
-
/**
|
|
9
|
-
* Verify and decode a JWT token
|
|
10
|
-
* @param {string} token - The JWT token to verify
|
|
11
|
-
* @param {string} secret - The secret key
|
|
12
|
-
* @returns {Promise<JwtPayload|null>} - The decoded payload or null if invalid
|
|
13
|
-
*/
|
|
14
|
-
export function verifyJwt(token: string, secret: string): Promise<JwtPayload | null>;
|
|
15
|
-
export type JwtPayload = {
|
|
16
|
-
sub?: string | undefined;
|
|
17
|
-
email?: string | undefined;
|
|
18
|
-
exp?: number | undefined;
|
|
19
|
-
iat?: number | undefined;
|
|
20
|
-
};
|