@automatelab/ai-seo-mcp 0.3.0 → 0.4.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.
Files changed (61) hide show
  1. package/README.md +37 -18
  2. package/dist/cli/audit-cli.d.ts +3 -0
  3. package/dist/cli/audit-cli.d.ts.map +1 -0
  4. package/dist/cli/audit-cli.js +136 -0
  5. package/dist/cli/audit-cli.js.map +1 -0
  6. package/dist/index.js +710 -227
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/cache.d.ts +12 -0
  9. package/dist/lib/cache.d.ts.map +1 -0
  10. package/dist/lib/cache.js +51 -0
  11. package/dist/lib/cache.js.map +1 -0
  12. package/dist/lib/config.js +1 -1
  13. package/dist/lib/fetch.d.ts +5 -0
  14. package/dist/lib/fetch.d.ts.map +1 -1
  15. package/dist/lib/fetch.js +42 -1
  16. package/dist/lib/fetch.js.map +1 -1
  17. package/dist/lib/headless.d.ts +13 -0
  18. package/dist/lib/headless.d.ts.map +1 -0
  19. package/dist/lib/headless.js +73 -0
  20. package/dist/lib/headless.js.map +1 -0
  21. package/dist/lib/scorecard-html.js +94 -94
  22. package/dist/output-schemas.d.ts +658 -0
  23. package/dist/output-schemas.d.ts.map +1 -0
  24. package/dist/output-schemas.js +265 -0
  25. package/dist/output-schemas.js.map +1 -0
  26. package/dist/tools/audit-page.d.ts +11 -0
  27. package/dist/tools/audit-page.d.ts.map +1 -1
  28. package/dist/tools/audit-page.js +49 -2
  29. package/dist/tools/audit-page.js.map +1 -1
  30. package/dist/tools/audit-schema.d.ts +2 -1
  31. package/dist/tools/audit-schema.d.ts.map +1 -1
  32. package/dist/tools/audit-schema.js +2 -1
  33. package/dist/tools/audit-schema.js.map +1 -1
  34. package/dist/tools/audit-site.d.ts +41 -0
  35. package/dist/tools/audit-site.d.ts.map +1 -0
  36. package/dist/tools/audit-site.js +120 -0
  37. package/dist/tools/audit-site.js.map +1 -0
  38. package/dist/tools/audit-sitemap.d.ts +66 -0
  39. package/dist/tools/audit-sitemap.d.ts.map +1 -0
  40. package/dist/tools/audit-sitemap.js +264 -0
  41. package/dist/tools/audit-sitemap.js.map +1 -0
  42. package/dist/tools/check-technical.d.ts +2 -1
  43. package/dist/tools/check-technical.d.ts.map +1 -1
  44. package/dist/tools/check-technical.js +2 -1
  45. package/dist/tools/check-technical.js.map +1 -1
  46. package/dist/tools/diff-pages.js +2 -2
  47. package/dist/tools/diff-pages.js.map +1 -1
  48. package/dist/tools/extract-entities.d.ts +8 -1
  49. package/dist/tools/extract-entities.d.ts.map +1 -1
  50. package/dist/tools/extract-entities.js +110 -3
  51. package/dist/tools/extract-entities.js.map +1 -1
  52. package/dist/tools/save-audit-report.d.ts +22 -0
  53. package/dist/tools/save-audit-report.d.ts.map +1 -0
  54. package/dist/tools/save-audit-report.js +133 -0
  55. package/dist/tools/save-audit-report.js.map +1 -0
  56. package/dist/tools/test-citation.d.ts +51 -0
  57. package/dist/tools/test-citation.d.ts.map +1 -0
  58. package/dist/tools/test-citation.js +159 -0
  59. package/dist/tools/test-citation.js.map +1 -0
  60. package/package.json +8 -1
  61. package/smithery.yaml +13 -0
@@ -0,0 +1,658 @@
1
+ import { z } from "zod";
2
+ export declare const findingSchema: z.ZodObject<{
3
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
4
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
5
+ where: z.ZodString;
6
+ message: z.ZodString;
7
+ fix: z.ZodString;
8
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ message: string;
11
+ where: string;
12
+ severity: "critical" | "warning" | "info";
13
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
14
+ fix: string;
15
+ estimated_impact?: "high" | "medium" | "low" | undefined;
16
+ }, {
17
+ message: string;
18
+ where: string;
19
+ severity: "critical" | "warning" | "info";
20
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
21
+ fix: string;
22
+ estimated_impact?: "high" | "medium" | "low" | undefined;
23
+ }>;
24
+ export declare const gradeSchema: z.ZodEnum<["A", "B", "C", "D", "F"]>;
25
+ export declare const auditPageOutputShape: {
26
+ readonly url: z.ZodString;
27
+ readonly fetched_at: z.ZodString;
28
+ readonly score: z.ZodNumber;
29
+ readonly grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
30
+ readonly findings: z.ZodArray<z.ZodObject<{
31
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
32
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
33
+ where: z.ZodString;
34
+ message: z.ZodString;
35
+ fix: z.ZodString;
36
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ message: string;
39
+ where: string;
40
+ severity: "critical" | "warning" | "info";
41
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
42
+ fix: string;
43
+ estimated_impact?: "high" | "medium" | "low" | undefined;
44
+ }, {
45
+ message: string;
46
+ where: string;
47
+ severity: "critical" | "warning" | "info";
48
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
49
+ fix: string;
50
+ estimated_impact?: "high" | "medium" | "low" | undefined;
51
+ }>, "many">;
52
+ readonly citation_verdict: z.ZodObject<{
53
+ will_ai_cite: z.ZodEnum<["unlikely", "marginal", "likely"]>;
54
+ top_3_blockers: z.ZodArray<z.ZodObject<{
55
+ category: z.ZodString;
56
+ message: z.ZodString;
57
+ fix: z.ZodString;
58
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ message: string;
61
+ category: string;
62
+ fix: string;
63
+ estimated_impact?: "high" | "medium" | "low" | undefined;
64
+ }, {
65
+ message: string;
66
+ category: string;
67
+ fix: string;
68
+ estimated_impact?: "high" | "medium" | "low" | undefined;
69
+ }>, "many">;
70
+ one_line_summary: z.ZodString;
71
+ }, "strip", z.ZodTypeAny, {
72
+ will_ai_cite: "likely" | "marginal" | "unlikely";
73
+ top_3_blockers: {
74
+ message: string;
75
+ category: string;
76
+ fix: string;
77
+ estimated_impact?: "high" | "medium" | "low" | undefined;
78
+ }[];
79
+ one_line_summary: string;
80
+ }, {
81
+ will_ai_cite: "likely" | "marginal" | "unlikely";
82
+ top_3_blockers: {
83
+ message: string;
84
+ category: string;
85
+ fix: string;
86
+ estimated_impact?: "high" | "medium" | "low" | undefined;
87
+ }[];
88
+ one_line_summary: string;
89
+ }>;
90
+ readonly dimension_scores: z.ZodObject<{
91
+ schema: z.ZodNumber;
92
+ robots: z.ZodNumber;
93
+ technical: z.ZodNumber;
94
+ freshness: z.ZodNumber;
95
+ structure: z.ZodNumber;
96
+ authority: z.ZodNumber;
97
+ entity_density: z.ZodNumber;
98
+ sitemap: z.ZodNumber;
99
+ }, "strip", z.ZodTypeAny, {
100
+ schema: number;
101
+ robots: number;
102
+ technical: number;
103
+ freshness: number;
104
+ structure: number;
105
+ authority: number;
106
+ sitemap: number;
107
+ entity_density: number;
108
+ }, {
109
+ schema: number;
110
+ robots: number;
111
+ technical: number;
112
+ freshness: number;
113
+ structure: number;
114
+ authority: number;
115
+ sitemap: number;
116
+ entity_density: number;
117
+ }>;
118
+ readonly content_quality: z.ZodEnum<["static_html", "ssr_likely", "spa_empty"]>;
119
+ readonly raw_html: z.ZodOptional<z.ZodString>;
120
+ readonly report_html: z.ZodOptional<z.ZodString>;
121
+ };
122
+ export declare const crawlerStatusSchema: z.ZodObject<{
123
+ allowed: z.ZodBoolean;
124
+ match_source: z.ZodOptional<z.ZodString>;
125
+ }, "strip", z.ZodTypeAny, {
126
+ allowed: boolean;
127
+ match_source?: string | undefined;
128
+ }, {
129
+ allowed: boolean;
130
+ match_source?: string | undefined;
131
+ }>;
132
+ export declare const checkRobotsOutputShape: {
133
+ readonly robots_url: z.ZodString;
134
+ readonly fetched_at: z.ZodString;
135
+ readonly training_crawlers: z.ZodRecord<z.ZodString, z.ZodObject<{
136
+ allowed: z.ZodBoolean;
137
+ match_source: z.ZodOptional<z.ZodString>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ allowed: boolean;
140
+ match_source?: string | undefined;
141
+ }, {
142
+ allowed: boolean;
143
+ match_source?: string | undefined;
144
+ }>>;
145
+ readonly search_crawlers: z.ZodRecord<z.ZodString, z.ZodObject<{
146
+ allowed: z.ZodBoolean;
147
+ match_source: z.ZodOptional<z.ZodString>;
148
+ }, "strip", z.ZodTypeAny, {
149
+ allowed: boolean;
150
+ match_source?: string | undefined;
151
+ }, {
152
+ allowed: boolean;
153
+ match_source?: string | undefined;
154
+ }>>;
155
+ readonly user_triggered: z.ZodRecord<z.ZodString, z.ZodObject<{
156
+ allowed: z.ZodBoolean;
157
+ match_source: z.ZodOptional<z.ZodString>;
158
+ }, "strip", z.ZodTypeAny, {
159
+ allowed: boolean;
160
+ match_source?: string | undefined;
161
+ }, {
162
+ allowed: boolean;
163
+ match_source?: string | undefined;
164
+ }>>;
165
+ readonly findings: z.ZodArray<z.ZodObject<{
166
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
167
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
168
+ where: z.ZodString;
169
+ message: z.ZodString;
170
+ fix: z.ZodString;
171
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
172
+ }, "strip", z.ZodTypeAny, {
173
+ message: string;
174
+ where: string;
175
+ severity: "critical" | "warning" | "info";
176
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
177
+ fix: string;
178
+ estimated_impact?: "high" | "medium" | "low" | undefined;
179
+ }, {
180
+ message: string;
181
+ where: string;
182
+ severity: "critical" | "warning" | "info";
183
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
184
+ fix: string;
185
+ estimated_impact?: "high" | "medium" | "low" | undefined;
186
+ }>, "many">;
187
+ readonly recommended_posture: z.ZodEnum<["block_training_allow_search", "allow_all", "block_all", "custom"]>;
188
+ };
189
+ export declare const checkSitemapOutputShape: {
190
+ readonly domain: z.ZodString;
191
+ readonly fetched_at: z.ZodString;
192
+ readonly status: z.ZodEnum<["found", "missing", "error"]>;
193
+ readonly sitemap_url: z.ZodNullable<z.ZodString>;
194
+ readonly total_urls: z.ZodNumber;
195
+ readonly urls_with_lastmod: z.ZodNumber;
196
+ readonly findings: z.ZodArray<z.ZodObject<{
197
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
198
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
199
+ where: z.ZodString;
200
+ message: z.ZodString;
201
+ fix: z.ZodString;
202
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
203
+ }, "strip", z.ZodTypeAny, {
204
+ message: string;
205
+ where: string;
206
+ severity: "critical" | "warning" | "info";
207
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
208
+ fix: string;
209
+ estimated_impact?: "high" | "medium" | "low" | undefined;
210
+ }, {
211
+ message: string;
212
+ where: string;
213
+ severity: "critical" | "warning" | "info";
214
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
215
+ fix: string;
216
+ estimated_impact?: "high" | "medium" | "low" | undefined;
217
+ }>, "many">;
218
+ };
219
+ export declare const checkTechnicalOutputShape: {
220
+ readonly url: z.ZodString;
221
+ readonly fetched_at: z.ZodString;
222
+ readonly https: z.ZodBoolean;
223
+ readonly canonical: z.ZodNullable<z.ZodString>;
224
+ readonly og_url: z.ZodNullable<z.ZodString>;
225
+ readonly noindex: z.ZodBoolean;
226
+ readonly title: z.ZodNullable<z.ZodString>;
227
+ readonly h1: z.ZodNullable<z.ZodString>;
228
+ readonly findings: z.ZodArray<z.ZodObject<{
229
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
230
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
231
+ where: z.ZodString;
232
+ message: z.ZodString;
233
+ fix: z.ZodString;
234
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
235
+ }, "strip", z.ZodTypeAny, {
236
+ message: string;
237
+ where: string;
238
+ severity: "critical" | "warning" | "info";
239
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
240
+ fix: string;
241
+ estimated_impact?: "high" | "medium" | "low" | undefined;
242
+ }, {
243
+ message: string;
244
+ where: string;
245
+ severity: "critical" | "warning" | "info";
246
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
247
+ fix: string;
248
+ estimated_impact?: "high" | "medium" | "low" | undefined;
249
+ }>, "many">;
250
+ };
251
+ export declare const auditSchemaOutputShape: {
252
+ readonly source: z.ZodEnum<["url", "inline"]>;
253
+ readonly url: z.ZodNullable<z.ZodString>;
254
+ readonly fetched_at: z.ZodNullable<z.ZodString>;
255
+ readonly found_types: z.ZodArray<z.ZodString, "many">;
256
+ readonly ai_citation_readiness_score: z.ZodNumber;
257
+ readonly findings: z.ZodArray<z.ZodObject<{
258
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
259
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
260
+ where: z.ZodString;
261
+ message: z.ZodString;
262
+ fix: z.ZodString;
263
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
264
+ }, "strip", z.ZodTypeAny, {
265
+ message: string;
266
+ where: string;
267
+ severity: "critical" | "warning" | "info";
268
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
269
+ fix: string;
270
+ estimated_impact?: "high" | "medium" | "low" | undefined;
271
+ }, {
272
+ message: string;
273
+ where: string;
274
+ severity: "critical" | "warning" | "info";
275
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
276
+ fix: string;
277
+ estimated_impact?: "high" | "medium" | "low" | undefined;
278
+ }>, "many">;
279
+ };
280
+ export declare const auditCanonicalOutputShape: {
281
+ readonly url: z.ZodString;
282
+ readonly fetched_at: z.ZodString;
283
+ readonly canonical: z.ZodNullable<z.ZodString>;
284
+ readonly og_url: z.ZodNullable<z.ZodString>;
285
+ readonly self_referencing: z.ZodBoolean;
286
+ readonly cross_domain: z.ZodBoolean;
287
+ readonly findings: z.ZodArray<z.ZodObject<{
288
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
289
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
290
+ where: z.ZodString;
291
+ message: z.ZodString;
292
+ fix: z.ZodString;
293
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
294
+ }, "strip", z.ZodTypeAny, {
295
+ message: string;
296
+ where: string;
297
+ severity: "critical" | "warning" | "info";
298
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
299
+ fix: string;
300
+ estimated_impact?: "high" | "medium" | "low" | undefined;
301
+ }, {
302
+ message: string;
303
+ where: string;
304
+ severity: "critical" | "warning" | "info";
305
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
306
+ fix: string;
307
+ estimated_impact?: "high" | "medium" | "low" | undefined;
308
+ }>, "many">;
309
+ };
310
+ export declare const scoreAiOverviewOutputShape: {
311
+ readonly url: z.ZodString;
312
+ readonly fetched_at: z.ZodString;
313
+ readonly overall_eligibility_score: z.ZodNumber;
314
+ readonly factors: z.ZodObject<{
315
+ semantic_completeness: z.ZodNumber;
316
+ structured_data: z.ZodNumber;
317
+ eeat_signals: z.ZodNumber;
318
+ entity_density: z.ZodNumber;
319
+ freshness: z.ZodNumber;
320
+ technical_hygiene: z.ZodNumber;
321
+ }, "strip", z.ZodTypeAny, {
322
+ freshness: number;
323
+ entity_density: number;
324
+ semantic_completeness: number;
325
+ structured_data: number;
326
+ eeat_signals: number;
327
+ technical_hygiene: number;
328
+ }, {
329
+ freshness: number;
330
+ entity_density: number;
331
+ semantic_completeness: number;
332
+ structured_data: number;
333
+ eeat_signals: number;
334
+ technical_hygiene: number;
335
+ }>;
336
+ readonly top_improvements: z.ZodArray<z.ZodObject<{
337
+ factor: z.ZodString;
338
+ suggestion: z.ZodString;
339
+ }, "strip", z.ZodTypeAny, {
340
+ factor: string;
341
+ suggestion: string;
342
+ }, {
343
+ factor: string;
344
+ suggestion: string;
345
+ }>, "many">;
346
+ };
347
+ export declare const scoreCitationOutputShape: {
348
+ readonly source: z.ZodEnum<["url", "text"]>;
349
+ readonly url: z.ZodNullable<z.ZodString>;
350
+ readonly target_query: z.ZodNullable<z.ZodString>;
351
+ readonly overall_score: z.ZodNumber;
352
+ readonly engine_scores: z.ZodObject<{
353
+ perplexity: z.ZodNumber;
354
+ chatgpt: z.ZodNumber;
355
+ google_ai_overviews: z.ZodNumber;
356
+ claude: z.ZodNumber;
357
+ }, "strip", z.ZodTypeAny, {
358
+ chatgpt: number;
359
+ claude: number;
360
+ perplexity: number;
361
+ google_ai_overviews: number;
362
+ }, {
363
+ chatgpt: number;
364
+ claude: number;
365
+ perplexity: number;
366
+ google_ai_overviews: number;
367
+ }>;
368
+ readonly signals: z.ZodRecord<z.ZodString, z.ZodNumber>;
369
+ readonly suggestions: z.ZodArray<z.ZodString, "many">;
370
+ };
371
+ export declare const generateLlmsTxtOutputShape: {
372
+ readonly domain: z.ZodString;
373
+ readonly llms_txt: z.ZodString;
374
+ readonly llms_full_txt: z.ZodOptional<z.ZodString>;
375
+ readonly pages_indexed: z.ZodNumber;
376
+ };
377
+ export declare const validateLlmsTxtOutputShape: {
378
+ readonly source: z.ZodEnum<["url", "content"]>;
379
+ readonly url: z.ZodNullable<z.ZodString>;
380
+ readonly valid: z.ZodBoolean;
381
+ readonly findings: z.ZodArray<z.ZodObject<{
382
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
383
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
384
+ where: z.ZodString;
385
+ message: z.ZodString;
386
+ fix: z.ZodString;
387
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
388
+ }, "strip", z.ZodTypeAny, {
389
+ message: string;
390
+ where: string;
391
+ severity: "critical" | "warning" | "info";
392
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
393
+ fix: string;
394
+ estimated_impact?: "high" | "medium" | "low" | undefined;
395
+ }, {
396
+ message: string;
397
+ where: string;
398
+ severity: "critical" | "warning" | "info";
399
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
400
+ fix: string;
401
+ estimated_impact?: "high" | "medium" | "low" | undefined;
402
+ }>, "many">;
403
+ };
404
+ export declare const rewriteOutputShape: {
405
+ readonly source: z.ZodEnum<["url", "text"]>;
406
+ readonly url: z.ZodNullable<z.ZodString>;
407
+ readonly target_query: z.ZodString;
408
+ readonly format: z.ZodOptional<z.ZodString>;
409
+ readonly rewritten: z.ZodString;
410
+ readonly notes: z.ZodArray<z.ZodString, "many">;
411
+ };
412
+ export declare const extractEntitiesOutputShape: {
413
+ readonly source: z.ZodEnum<["url", "text"]>;
414
+ readonly url: z.ZodNullable<z.ZodString>;
415
+ readonly entity_count: z.ZodNumber;
416
+ readonly entities: z.ZodArray<z.ZodObject<{
417
+ name: z.ZodString;
418
+ type: z.ZodOptional<z.ZodString>;
419
+ confidence: z.ZodOptional<z.ZodNumber>;
420
+ same_as: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
421
+ }, "strip", z.ZodTypeAny, {
422
+ name: string;
423
+ type?: string | undefined;
424
+ confidence?: number | undefined;
425
+ same_as?: string[] | undefined;
426
+ }, {
427
+ name: string;
428
+ type?: string | undefined;
429
+ confidence?: number | undefined;
430
+ same_as?: string[] | undefined;
431
+ }>, "many">;
432
+ readonly citation_density_score: z.ZodNumber;
433
+ };
434
+ export declare const diffPagesOutputShape: {
435
+ readonly url_a: z.ZodString;
436
+ readonly url_b: z.ZodString;
437
+ readonly query: z.ZodNullable<z.ZodString>;
438
+ readonly better_for_citation: z.ZodEnum<["a", "b", "tie"]>;
439
+ readonly scores: z.ZodObject<{
440
+ a: z.ZodNumber;
441
+ b: z.ZodNumber;
442
+ }, "strip", z.ZodTypeAny, {
443
+ a: number;
444
+ b: number;
445
+ }, {
446
+ a: number;
447
+ b: number;
448
+ }>;
449
+ readonly delta: z.ZodRecord<z.ZodString, z.ZodObject<{
450
+ a: z.ZodNumber;
451
+ b: z.ZodNumber;
452
+ advantage: z.ZodEnum<["a", "b", "tie"]>;
453
+ }, "strip", z.ZodTypeAny, {
454
+ a: number;
455
+ b: number;
456
+ advantage: "a" | "b" | "tie";
457
+ }, {
458
+ a: number;
459
+ b: number;
460
+ advantage: "a" | "b" | "tie";
461
+ }>>;
462
+ readonly missing_in_a: z.ZodArray<z.ZodString, "many">;
463
+ readonly missing_in_b: z.ZodArray<z.ZodString, "many">;
464
+ readonly fix_recommendations_for_a: z.ZodArray<z.ZodObject<{
465
+ category: z.ZodString;
466
+ message: z.ZodString;
467
+ fix: z.ZodString;
468
+ }, "strip", z.ZodTypeAny, {
469
+ message: string;
470
+ category: string;
471
+ fix: string;
472
+ }, {
473
+ message: string;
474
+ category: string;
475
+ fix: string;
476
+ }>, "many">;
477
+ };
478
+ export declare const auditSiteOutputShape: {
479
+ readonly domain: z.ZodString;
480
+ readonly homepage_url: z.ZodString;
481
+ readonly fetched_at: z.ZodString;
482
+ readonly overall_score: z.ZodNumber;
483
+ readonly overall_grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
484
+ readonly top_5_fixes: z.ZodArray<z.ZodObject<{
485
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
486
+ category: z.ZodEnum<["schema", "robots", "technical", "freshness", "structure", "authority", "presence", "sitemap", "llms_txt"]>;
487
+ where: z.ZodString;
488
+ message: z.ZodString;
489
+ fix: z.ZodString;
490
+ estimated_impact: z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>;
491
+ }, "strip", z.ZodTypeAny, {
492
+ message: string;
493
+ where: string;
494
+ severity: "critical" | "warning" | "info";
495
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
496
+ fix: string;
497
+ estimated_impact?: "high" | "medium" | "low" | undefined;
498
+ }, {
499
+ message: string;
500
+ where: string;
501
+ severity: "critical" | "warning" | "info";
502
+ category: "schema" | "robots" | "technical" | "freshness" | "structure" | "authority" | "presence" | "sitemap" | "llms_txt";
503
+ fix: string;
504
+ estimated_impact?: "high" | "medium" | "low" | undefined;
505
+ }>, "many">;
506
+ readonly parts: z.ZodObject<{
507
+ audit_page: z.ZodRecord<z.ZodString, z.ZodUnknown>;
508
+ check_robots: z.ZodRecord<z.ZodString, z.ZodUnknown>;
509
+ check_sitemap: z.ZodRecord<z.ZodString, z.ZodUnknown>;
510
+ audit_schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
511
+ }, "strip", z.ZodTypeAny, {
512
+ audit_page: Record<string, unknown>;
513
+ check_robots: Record<string, unknown>;
514
+ check_sitemap: Record<string, unknown>;
515
+ audit_schema: Record<string, unknown>;
516
+ }, {
517
+ audit_page: Record<string, unknown>;
518
+ check_robots: Record<string, unknown>;
519
+ check_sitemap: Record<string, unknown>;
520
+ audit_schema: Record<string, unknown>;
521
+ }>;
522
+ };
523
+ export declare const saveReportOutputShape: {
524
+ readonly saved_to: z.ZodString;
525
+ readonly bytes_written: z.ZodNumber;
526
+ readonly format: z.ZodEnum<["audit_page", "audit_site"]>;
527
+ };
528
+ export declare const testCitationOutputShape: {
529
+ readonly target_query: z.ZodString;
530
+ readonly engine: z.ZodEnum<["chatgpt", "claude", "perplexity", "google_ai_overviews", "any"]>;
531
+ readonly would_cite: z.ZodBoolean;
532
+ readonly confidence: z.ZodNumber;
533
+ readonly citation_excerpt: z.ZodNullable<z.ZodString>;
534
+ readonly reasoning: z.ZodString;
535
+ readonly blocking_issues: z.ZodArray<z.ZodString, "many">;
536
+ readonly improvements: z.ZodArray<z.ZodObject<{
537
+ change: z.ZodString;
538
+ estimated_impact: z.ZodEnum<["high", "medium", "low"]>;
539
+ }, "strip", z.ZodTypeAny, {
540
+ estimated_impact: "high" | "medium" | "low";
541
+ change: string;
542
+ }, {
543
+ estimated_impact: "high" | "medium" | "low";
544
+ change: string;
545
+ }>, "many">;
546
+ readonly mode: z.ZodEnum<["sampling", "static_heuristic"]>;
547
+ };
548
+ export declare const auditSitemapOutputShape: {
549
+ readonly domain: z.ZodString;
550
+ readonly sitemap_url: z.ZodNullable<z.ZodString>;
551
+ readonly total_urls_in_sitemap: z.ZodNumber;
552
+ readonly urls_sampled: z.ZodNumber;
553
+ readonly sampling: z.ZodLiteral<"uniform_stride">;
554
+ readonly audited: z.ZodArray<z.ZodObject<{
555
+ url: z.ZodString;
556
+ score: z.ZodNumber;
557
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
558
+ top_issue: z.ZodNullable<z.ZodString>;
559
+ }, "strip", z.ZodTypeAny, {
560
+ url: string;
561
+ score: number;
562
+ grade: "A" | "B" | "C" | "D" | "F";
563
+ top_issue: string | null;
564
+ }, {
565
+ url: string;
566
+ score: number;
567
+ grade: "A" | "B" | "C" | "D" | "F";
568
+ top_issue: string | null;
569
+ }>, "many">;
570
+ readonly failed: z.ZodArray<z.ZodObject<{
571
+ url: z.ZodString;
572
+ error: z.ZodString;
573
+ }, "strip", z.ZodTypeAny, {
574
+ error: string;
575
+ url: string;
576
+ }, {
577
+ error: string;
578
+ url: string;
579
+ }>, "many">;
580
+ readonly score_distribution: z.ZodObject<{
581
+ avg: z.ZodNumber;
582
+ median: z.ZodNumber;
583
+ min: z.ZodNumber;
584
+ max: z.ZodNumber;
585
+ p25: z.ZodNumber;
586
+ p75: z.ZodNumber;
587
+ }, "strip", z.ZodTypeAny, {
588
+ min: number;
589
+ max: number;
590
+ avg: number;
591
+ median: number;
592
+ p25: number;
593
+ p75: number;
594
+ }, {
595
+ min: number;
596
+ max: number;
597
+ avg: number;
598
+ median: number;
599
+ p25: number;
600
+ p75: number;
601
+ }>;
602
+ readonly grade_distribution: z.ZodObject<{
603
+ A: z.ZodNumber;
604
+ B: z.ZodNumber;
605
+ C: z.ZodNumber;
606
+ D: z.ZodNumber;
607
+ F: z.ZodNumber;
608
+ }, "strip", z.ZodTypeAny, {
609
+ A: number;
610
+ B: number;
611
+ C: number;
612
+ D: number;
613
+ F: number;
614
+ }, {
615
+ A: number;
616
+ B: number;
617
+ C: number;
618
+ D: number;
619
+ F: number;
620
+ }>;
621
+ readonly worst_pages: z.ZodArray<z.ZodObject<{
622
+ url: z.ZodString;
623
+ score: z.ZodNumber;
624
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
625
+ top_issue: z.ZodNullable<z.ZodString>;
626
+ }, "strip", z.ZodTypeAny, {
627
+ url: string;
628
+ score: number;
629
+ grade: "A" | "B" | "C" | "D" | "F";
630
+ top_issue: string | null;
631
+ }, {
632
+ url: string;
633
+ score: number;
634
+ grade: "A" | "B" | "C" | "D" | "F";
635
+ top_issue: string | null;
636
+ }>, "many">;
637
+ readonly top_findings: z.ZodArray<z.ZodObject<{
638
+ message: z.ZodString;
639
+ category: z.ZodString;
640
+ severity: z.ZodEnum<["critical", "warning", "info"]>;
641
+ count: z.ZodNumber;
642
+ fix: z.ZodString;
643
+ }, "strip", z.ZodTypeAny, {
644
+ message: string;
645
+ count: number;
646
+ severity: "critical" | "warning" | "info";
647
+ category: string;
648
+ fix: string;
649
+ }, {
650
+ message: string;
651
+ count: number;
652
+ severity: "critical" | "warning" | "info";
653
+ category: string;
654
+ fix: string;
655
+ }>, "many">;
656
+ readonly fetched_at: z.ZodString;
657
+ };
658
+ //# sourceMappingURL=output-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../src/output-schemas.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;EAmBxB,CAAC;AAEH,eAAO,MAAM,WAAW,sCAA6F,CAAC;AAEtH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCvB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUzB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ1B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU5B,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOzB,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ5B,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe7B,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;CAa3B,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;CAK7B,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;CAK7B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;CAOrB,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAa7B,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBvB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAevB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;CAe1B,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C1B,CAAC"}