@nuxtseo/protocol 0.1.5 → 0.2.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.
@@ -987,11 +987,3672 @@ export declare const sitePerformanceOverviewOperation: {
987
987
  }];
988
988
  };
989
989
  };
990
+ export declare const fieldVitalsQuerySchema: z.ZodObject<{
991
+ url: z.ZodOptional<z.ZodString>;
992
+ formFactor: z.ZodDefault<z.ZodEnum<{
993
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
994
+ DESKTOP: "DESKTOP";
995
+ PHONE: "PHONE";
996
+ }>>;
997
+ view: z.ZodDefault<z.ZodEnum<{
998
+ summary: "summary";
999
+ trend: "trend";
1000
+ }>>;
1001
+ }, z.core.$strict>;
1002
+ export declare const fieldVitalSummarySchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1003
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1004
+ readonly status: z.ZodNullable<z.ZodEnum<{
1005
+ good: "good";
1006
+ "needs-improvement": "needs-improvement";
1007
+ poor: "poor";
1008
+ }>>;
1009
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1010
+ }, z.core.$strip>, z.ZodObject<{
1011
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1012
+ readonly status: z.ZodNullable<z.ZodEnum<{
1013
+ good: "good";
1014
+ "needs-improvement": "needs-improvement";
1015
+ poor: "poor";
1016
+ }>>;
1017
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1018
+ }, z.core.$strip>>;
1019
+ export declare const fieldVitalPointSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1020
+ readonly date: z.ZodString;
1021
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1022
+ }, z.core.$strip>, z.ZodObject<{
1023
+ readonly date: z.ZodString;
1024
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1025
+ }, z.core.$strip>>;
1026
+ /**
1027
+ * `available: false` is the "CrUX has no record for this target" answer, not an
1028
+ * error: an origin under the CrUX traffic floor is a normal state and a caller
1029
+ * should read `message` rather than retry.
1030
+ */
1031
+ export declare const fieldVitalsDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1032
+ readonly target: z.ZodString;
1033
+ readonly mode: z.ZodEnum<{
1034
+ origin: "origin";
1035
+ url: "url";
1036
+ }>;
1037
+ readonly formFactor: z.ZodEnum<{
1038
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
1039
+ DESKTOP: "DESKTOP";
1040
+ PHONE: "PHONE";
1041
+ }>;
1042
+ readonly view: z.ZodEnum<{
1043
+ summary: "summary";
1044
+ trend: "trend";
1045
+ }>;
1046
+ readonly available: z.ZodBoolean;
1047
+ readonly message: z.ZodNullable<z.ZodString>;
1048
+ readonly summary: z.ZodNullable<z.ZodObject<{
1049
+ lcp: z.ZodObject<{
1050
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1051
+ readonly status: z.ZodNullable<z.ZodEnum<{
1052
+ good: "good";
1053
+ "needs-improvement": "needs-improvement";
1054
+ poor: "poor";
1055
+ }>>;
1056
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1057
+ }, z.core.$strip>;
1058
+ inp: z.ZodObject<{
1059
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1060
+ readonly status: z.ZodNullable<z.ZodEnum<{
1061
+ good: "good";
1062
+ "needs-improvement": "needs-improvement";
1063
+ poor: "poor";
1064
+ }>>;
1065
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1066
+ }, z.core.$strip>;
1067
+ cls: z.ZodObject<{
1068
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1069
+ readonly status: z.ZodNullable<z.ZodEnum<{
1070
+ good: "good";
1071
+ "needs-improvement": "needs-improvement";
1072
+ poor: "poor";
1073
+ }>>;
1074
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1075
+ }, z.core.$strip>;
1076
+ overall: z.ZodNullable<z.ZodEnum<{
1077
+ fail: "fail";
1078
+ ni: "ni";
1079
+ pass: "pass";
1080
+ }>>;
1081
+ asOf: z.ZodNullable<z.ZodString>;
1082
+ }, z.core.$strict>>;
1083
+ readonly trend: z.ZodNullable<z.ZodObject<{
1084
+ lcp: z.ZodArray<z.ZodObject<{
1085
+ readonly date: z.ZodString;
1086
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1087
+ }, z.core.$strip>>;
1088
+ inp: z.ZodArray<z.ZodObject<{
1089
+ readonly date: z.ZodString;
1090
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1091
+ }, z.core.$strip>>;
1092
+ cls: z.ZodArray<z.ZodObject<{
1093
+ readonly date: z.ZodString;
1094
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1095
+ }, z.core.$strip>>;
1096
+ }, z.core.$strict>>;
1097
+ }, z.core.$strip>, z.ZodObject<{
1098
+ readonly target: z.ZodString;
1099
+ readonly mode: z.ZodEnum<{
1100
+ origin: "origin";
1101
+ url: "url";
1102
+ }>;
1103
+ readonly formFactor: z.ZodEnum<{
1104
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
1105
+ DESKTOP: "DESKTOP";
1106
+ PHONE: "PHONE";
1107
+ }>;
1108
+ readonly view: z.ZodEnum<{
1109
+ summary: "summary";
1110
+ trend: "trend";
1111
+ }>;
1112
+ readonly available: z.ZodBoolean;
1113
+ readonly message: z.ZodNullable<z.ZodString>;
1114
+ readonly summary: z.ZodNullable<z.ZodObject<{
1115
+ lcp: z.ZodObject<{
1116
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1117
+ readonly status: z.ZodNullable<z.ZodEnum<{
1118
+ good: "good";
1119
+ "needs-improvement": "needs-improvement";
1120
+ poor: "poor";
1121
+ }>>;
1122
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1123
+ }, z.core.$strip>;
1124
+ inp: z.ZodObject<{
1125
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1126
+ readonly status: z.ZodNullable<z.ZodEnum<{
1127
+ good: "good";
1128
+ "needs-improvement": "needs-improvement";
1129
+ poor: "poor";
1130
+ }>>;
1131
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1132
+ }, z.core.$strip>;
1133
+ cls: z.ZodObject<{
1134
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1135
+ readonly status: z.ZodNullable<z.ZodEnum<{
1136
+ good: "good";
1137
+ "needs-improvement": "needs-improvement";
1138
+ poor: "poor";
1139
+ }>>;
1140
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1141
+ }, z.core.$strip>;
1142
+ overall: z.ZodNullable<z.ZodEnum<{
1143
+ fail: "fail";
1144
+ ni: "ni";
1145
+ pass: "pass";
1146
+ }>>;
1147
+ asOf: z.ZodNullable<z.ZodString>;
1148
+ }, z.core.$loose>>;
1149
+ readonly trend: z.ZodNullable<z.ZodObject<{
1150
+ lcp: z.ZodArray<z.ZodObject<{
1151
+ readonly date: z.ZodString;
1152
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1153
+ }, z.core.$strip>>;
1154
+ inp: z.ZodArray<z.ZodObject<{
1155
+ readonly date: z.ZodString;
1156
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1157
+ }, z.core.$strip>>;
1158
+ cls: z.ZodArray<z.ZodObject<{
1159
+ readonly date: z.ZodString;
1160
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1161
+ }, z.core.$strip>>;
1162
+ }, z.core.$loose>>;
1163
+ }, z.core.$strip>>;
1164
+ export declare const fieldVitalsResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1165
+ data: z.ZodObject<{
1166
+ readonly target: z.ZodString;
1167
+ readonly mode: z.ZodEnum<{
1168
+ origin: "origin";
1169
+ url: "url";
1170
+ }>;
1171
+ readonly formFactor: z.ZodEnum<{
1172
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
1173
+ DESKTOP: "DESKTOP";
1174
+ PHONE: "PHONE";
1175
+ }>;
1176
+ readonly view: z.ZodEnum<{
1177
+ summary: "summary";
1178
+ trend: "trend";
1179
+ }>;
1180
+ readonly available: z.ZodBoolean;
1181
+ readonly message: z.ZodNullable<z.ZodString>;
1182
+ readonly summary: z.ZodNullable<z.ZodObject<{
1183
+ lcp: z.ZodObject<{
1184
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1185
+ readonly status: z.ZodNullable<z.ZodEnum<{
1186
+ good: "good";
1187
+ "needs-improvement": "needs-improvement";
1188
+ poor: "poor";
1189
+ }>>;
1190
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1191
+ }, z.core.$strip>;
1192
+ inp: z.ZodObject<{
1193
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1194
+ readonly status: z.ZodNullable<z.ZodEnum<{
1195
+ good: "good";
1196
+ "needs-improvement": "needs-improvement";
1197
+ poor: "poor";
1198
+ }>>;
1199
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1200
+ }, z.core.$strip>;
1201
+ cls: z.ZodObject<{
1202
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1203
+ readonly status: z.ZodNullable<z.ZodEnum<{
1204
+ good: "good";
1205
+ "needs-improvement": "needs-improvement";
1206
+ poor: "poor";
1207
+ }>>;
1208
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1209
+ }, z.core.$strip>;
1210
+ overall: z.ZodNullable<z.ZodEnum<{
1211
+ fail: "fail";
1212
+ ni: "ni";
1213
+ pass: "pass";
1214
+ }>>;
1215
+ asOf: z.ZodNullable<z.ZodString>;
1216
+ }, z.core.$strict>>;
1217
+ readonly trend: z.ZodNullable<z.ZodObject<{
1218
+ lcp: z.ZodArray<z.ZodObject<{
1219
+ readonly date: z.ZodString;
1220
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1221
+ }, z.core.$strip>>;
1222
+ inp: z.ZodArray<z.ZodObject<{
1223
+ readonly date: z.ZodString;
1224
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1225
+ }, z.core.$strip>>;
1226
+ cls: z.ZodArray<z.ZodObject<{
1227
+ readonly date: z.ZodString;
1228
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1229
+ }, z.core.$strip>>;
1230
+ }, z.core.$strict>>;
1231
+ }, z.core.$strip>;
1232
+ meta: z.ZodObject<{
1233
+ requestId: z.ZodString;
1234
+ version: z.ZodLiteral<"1.0">;
1235
+ }, z.core.$strict>;
1236
+ }, z.core.$strip>, z.ZodObject<{
1237
+ data: z.ZodObject<{
1238
+ readonly target: z.ZodString;
1239
+ readonly mode: z.ZodEnum<{
1240
+ origin: "origin";
1241
+ url: "url";
1242
+ }>;
1243
+ readonly formFactor: z.ZodEnum<{
1244
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
1245
+ DESKTOP: "DESKTOP";
1246
+ PHONE: "PHONE";
1247
+ }>;
1248
+ readonly view: z.ZodEnum<{
1249
+ summary: "summary";
1250
+ trend: "trend";
1251
+ }>;
1252
+ readonly available: z.ZodBoolean;
1253
+ readonly message: z.ZodNullable<z.ZodString>;
1254
+ readonly summary: z.ZodNullable<z.ZodObject<{
1255
+ lcp: z.ZodObject<{
1256
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1257
+ readonly status: z.ZodNullable<z.ZodEnum<{
1258
+ good: "good";
1259
+ "needs-improvement": "needs-improvement";
1260
+ poor: "poor";
1261
+ }>>;
1262
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1263
+ }, z.core.$strip>;
1264
+ inp: z.ZodObject<{
1265
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1266
+ readonly status: z.ZodNullable<z.ZodEnum<{
1267
+ good: "good";
1268
+ "needs-improvement": "needs-improvement";
1269
+ poor: "poor";
1270
+ }>>;
1271
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1272
+ }, z.core.$strip>;
1273
+ cls: z.ZodObject<{
1274
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1275
+ readonly status: z.ZodNullable<z.ZodEnum<{
1276
+ good: "good";
1277
+ "needs-improvement": "needs-improvement";
1278
+ poor: "poor";
1279
+ }>>;
1280
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1281
+ }, z.core.$strip>;
1282
+ overall: z.ZodNullable<z.ZodEnum<{
1283
+ fail: "fail";
1284
+ ni: "ni";
1285
+ pass: "pass";
1286
+ }>>;
1287
+ asOf: z.ZodNullable<z.ZodString>;
1288
+ }, z.core.$loose>>;
1289
+ readonly trend: z.ZodNullable<z.ZodObject<{
1290
+ lcp: z.ZodArray<z.ZodObject<{
1291
+ readonly date: z.ZodString;
1292
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1293
+ }, z.core.$strip>>;
1294
+ inp: z.ZodArray<z.ZodObject<{
1295
+ readonly date: z.ZodString;
1296
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1297
+ }, z.core.$strip>>;
1298
+ cls: z.ZodArray<z.ZodObject<{
1299
+ readonly date: z.ZodString;
1300
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1301
+ }, z.core.$strip>>;
1302
+ }, z.core.$loose>>;
1303
+ }, z.core.$strip>;
1304
+ meta: z.ZodObject<{
1305
+ requestId: z.ZodString;
1306
+ version: z.ZodLiteral<"1.0">;
1307
+ }, z.core.$loose>;
1308
+ }, z.core.$strip>>;
1309
+ export type FieldVitals = z.output<typeof fieldVitalsDataSchema.producer>;
1310
+ export declare const fieldVitalsOperation: {
1311
+ readonly id: 'page.vitals';
1312
+ readonly method: 'GET';
1313
+ readonly path: '/api/v1/sites/{siteId}/vitals';
1314
+ readonly visibility: 'public';
1315
+ readonly semantics: {
1316
+ readonly kind: 'query';
1317
+ readonly sideEffects: 'none';
1318
+ readonly retry: 'idempotent';
1319
+ readonly readConsistency: 'primary';
1320
+ };
1321
+ readonly auth: {
1322
+ readonly credentials: readonly ["session", "api_token"];
1323
+ readonly scopes: readonly ["page:read"];
1324
+ readonly minimumRole: 'viewer';
1325
+ readonly ownership: 'site';
1326
+ };
1327
+ readonly request: {
1328
+ readonly params: z.ZodObject<{
1329
+ siteId: z.ZodString;
1330
+ }, z.core.$strict>;
1331
+ readonly query: z.ZodObject<{
1332
+ url: z.ZodOptional<z.ZodString>;
1333
+ formFactor: z.ZodDefault<z.ZodEnum<{
1334
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
1335
+ DESKTOP: "DESKTOP";
1336
+ PHONE: "PHONE";
1337
+ }>>;
1338
+ view: z.ZodDefault<z.ZodEnum<{
1339
+ summary: "summary";
1340
+ trend: "trend";
1341
+ }>>;
1342
+ }, z.core.$strict>;
1343
+ readonly headers: null;
1344
+ readonly body: null;
1345
+ };
1346
+ readonly responses: {
1347
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1348
+ data: z.ZodObject<{
1349
+ readonly target: z.ZodString;
1350
+ readonly mode: z.ZodEnum<{
1351
+ origin: "origin";
1352
+ url: "url";
1353
+ }>;
1354
+ readonly formFactor: z.ZodEnum<{
1355
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
1356
+ DESKTOP: "DESKTOP";
1357
+ PHONE: "PHONE";
1358
+ }>;
1359
+ readonly view: z.ZodEnum<{
1360
+ summary: "summary";
1361
+ trend: "trend";
1362
+ }>;
1363
+ readonly available: z.ZodBoolean;
1364
+ readonly message: z.ZodNullable<z.ZodString>;
1365
+ readonly summary: z.ZodNullable<z.ZodObject<{
1366
+ lcp: z.ZodObject<{
1367
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1368
+ readonly status: z.ZodNullable<z.ZodEnum<{
1369
+ good: "good";
1370
+ "needs-improvement": "needs-improvement";
1371
+ poor: "poor";
1372
+ }>>;
1373
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1374
+ }, z.core.$strip>;
1375
+ inp: z.ZodObject<{
1376
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1377
+ readonly status: z.ZodNullable<z.ZodEnum<{
1378
+ good: "good";
1379
+ "needs-improvement": "needs-improvement";
1380
+ poor: "poor";
1381
+ }>>;
1382
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1383
+ }, z.core.$strip>;
1384
+ cls: z.ZodObject<{
1385
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1386
+ readonly status: z.ZodNullable<z.ZodEnum<{
1387
+ good: "good";
1388
+ "needs-improvement": "needs-improvement";
1389
+ poor: "poor";
1390
+ }>>;
1391
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1392
+ }, z.core.$strip>;
1393
+ overall: z.ZodNullable<z.ZodEnum<{
1394
+ fail: "fail";
1395
+ ni: "ni";
1396
+ pass: "pass";
1397
+ }>>;
1398
+ asOf: z.ZodNullable<z.ZodString>;
1399
+ }, z.core.$strict>>;
1400
+ readonly trend: z.ZodNullable<z.ZodObject<{
1401
+ lcp: z.ZodArray<z.ZodObject<{
1402
+ readonly date: z.ZodString;
1403
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1404
+ }, z.core.$strip>>;
1405
+ inp: z.ZodArray<z.ZodObject<{
1406
+ readonly date: z.ZodString;
1407
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1408
+ }, z.core.$strip>>;
1409
+ cls: z.ZodArray<z.ZodObject<{
1410
+ readonly date: z.ZodString;
1411
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1412
+ }, z.core.$strip>>;
1413
+ }, z.core.$strict>>;
1414
+ }, z.core.$strip>;
1415
+ meta: z.ZodObject<{
1416
+ requestId: z.ZodString;
1417
+ version: z.ZodLiteral<"1.0">;
1418
+ }, z.core.$strict>;
1419
+ }, z.core.$strip>, z.ZodObject<{
1420
+ data: z.ZodObject<{
1421
+ readonly target: z.ZodString;
1422
+ readonly mode: z.ZodEnum<{
1423
+ origin: "origin";
1424
+ url: "url";
1425
+ }>;
1426
+ readonly formFactor: z.ZodEnum<{
1427
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
1428
+ DESKTOP: "DESKTOP";
1429
+ PHONE: "PHONE";
1430
+ }>;
1431
+ readonly view: z.ZodEnum<{
1432
+ summary: "summary";
1433
+ trend: "trend";
1434
+ }>;
1435
+ readonly available: z.ZodBoolean;
1436
+ readonly message: z.ZodNullable<z.ZodString>;
1437
+ readonly summary: z.ZodNullable<z.ZodObject<{
1438
+ lcp: z.ZodObject<{
1439
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1440
+ readonly status: z.ZodNullable<z.ZodEnum<{
1441
+ good: "good";
1442
+ "needs-improvement": "needs-improvement";
1443
+ poor: "poor";
1444
+ }>>;
1445
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1446
+ }, z.core.$strip>;
1447
+ inp: z.ZodObject<{
1448
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1449
+ readonly status: z.ZodNullable<z.ZodEnum<{
1450
+ good: "good";
1451
+ "needs-improvement": "needs-improvement";
1452
+ poor: "poor";
1453
+ }>>;
1454
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1455
+ }, z.core.$strip>;
1456
+ cls: z.ZodObject<{
1457
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1458
+ readonly status: z.ZodNullable<z.ZodEnum<{
1459
+ good: "good";
1460
+ "needs-improvement": "needs-improvement";
1461
+ poor: "poor";
1462
+ }>>;
1463
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
1464
+ }, z.core.$strip>;
1465
+ overall: z.ZodNullable<z.ZodEnum<{
1466
+ fail: "fail";
1467
+ ni: "ni";
1468
+ pass: "pass";
1469
+ }>>;
1470
+ asOf: z.ZodNullable<z.ZodString>;
1471
+ }, z.core.$loose>>;
1472
+ readonly trend: z.ZodNullable<z.ZodObject<{
1473
+ lcp: z.ZodArray<z.ZodObject<{
1474
+ readonly date: z.ZodString;
1475
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1476
+ }, z.core.$strip>>;
1477
+ inp: z.ZodArray<z.ZodObject<{
1478
+ readonly date: z.ZodString;
1479
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1480
+ }, z.core.$strip>>;
1481
+ cls: z.ZodArray<z.ZodObject<{
1482
+ readonly date: z.ZodString;
1483
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1484
+ }, z.core.$strip>>;
1485
+ }, z.core.$loose>>;
1486
+ }, z.core.$strip>;
1487
+ meta: z.ZodObject<{
1488
+ requestId: z.ZodString;
1489
+ version: z.ZodLiteral<"1.0">;
1490
+ }, z.core.$loose>;
1491
+ }, z.core.$strip>>;
1492
+ };
1493
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
1494
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1495
+ readonly error: z.ZodObject<{
1496
+ code: z.ZodEnum<{
1497
+ auth_expired: "auth_expired";
1498
+ conflict: "conflict";
1499
+ contract_violation: "contract_violation";
1500
+ entitlement_required: "entitlement_required";
1501
+ forbidden: "forbidden";
1502
+ internal_error: "internal_error";
1503
+ invalid_request: "invalid_request";
1504
+ not_found: "not_found";
1505
+ provider_unavailable: "provider_unavailable";
1506
+ quota_exhausted: "quota_exhausted";
1507
+ rate_limited: "rate_limited";
1508
+ site_ambiguous: "site_ambiguous";
1509
+ stale_evidence: "stale_evidence";
1510
+ unauthorized: "unauthorized";
1511
+ }>;
1512
+ message: z.ZodString;
1513
+ requestId: z.ZodString;
1514
+ retryable: z.ZodBoolean;
1515
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1516
+ }, z.core.$strict>;
1517
+ }, z.core.$strip>, z.ZodObject<{
1518
+ readonly error: z.ZodObject<{
1519
+ code: z.ZodEnum<{
1520
+ auth_expired: "auth_expired";
1521
+ conflict: "conflict";
1522
+ contract_violation: "contract_violation";
1523
+ entitlement_required: "entitlement_required";
1524
+ forbidden: "forbidden";
1525
+ internal_error: "internal_error";
1526
+ invalid_request: "invalid_request";
1527
+ not_found: "not_found";
1528
+ provider_unavailable: "provider_unavailable";
1529
+ quota_exhausted: "quota_exhausted";
1530
+ rate_limited: "rate_limited";
1531
+ site_ambiguous: "site_ambiguous";
1532
+ stale_evidence: "stale_evidence";
1533
+ unauthorized: "unauthorized";
1534
+ }>;
1535
+ message: z.ZodString;
1536
+ requestId: z.ZodString;
1537
+ retryable: z.ZodBoolean;
1538
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1539
+ }, z.core.$loose>;
1540
+ }, z.core.$strip>>;
1541
+ readonly resources: {
1542
+ readonly reads: readonly [{
1543
+ readonly type: 'site.page';
1544
+ readonly idFrom: 'params.siteId';
1545
+ }];
1546
+ readonly changes: readonly [];
1547
+ };
1548
+ readonly policy: {
1549
+ readonly rate: {
1550
+ readonly name: 'public-v1-fixed-window';
1551
+ readonly limit: 50;
1552
+ readonly windowSeconds: 60;
1553
+ };
1554
+ readonly idempotency: {
1555
+ readonly _tag: 'none';
1556
+ };
1557
+ readonly entitlement: null;
1558
+ readonly meter: null;
1559
+ };
1560
+ readonly lifecycle: {
1561
+ readonly introduced: '1.2.0';
1562
+ };
1563
+ readonly docs: {
1564
+ readonly summary: 'Get field Core Web Vitals';
1565
+ readonly description: 'Returns Core Web Vitals from CrUX real-user field data for the Site origin, or for one Page when url is given. The summary view returns the latest p75 and its change over the window. The trend view returns the 25-week p75 series. For lab scan scores use the Site performance overview. For the DOM element behind a failing vital use the field vitals findings.';
1566
+ readonly tags: readonly ["Pages"];
1567
+ readonly examples: readonly [{
1568
+ readonly request: {
1569
+ readonly params: {
1570
+ readonly siteId: 'site_01JXYZ';
1571
+ };
1572
+ readonly query: {
1573
+ readonly formFactor: 'PHONE';
1574
+ readonly view: 'summary';
1575
+ };
1576
+ };
1577
+ readonly response: {
1578
+ readonly status: 200;
1579
+ readonly body: {
1580
+ readonly data: {
1581
+ readonly target: 'https://example.com';
1582
+ readonly mode: 'origin';
1583
+ readonly formFactor: 'PHONE';
1584
+ readonly view: 'summary';
1585
+ readonly available: true;
1586
+ readonly message: null;
1587
+ readonly summary: {
1588
+ readonly lcp: {
1589
+ readonly p75: 2400;
1590
+ readonly status: 'needs-improvement';
1591
+ readonly deltaOverPeriod: -150;
1592
+ };
1593
+ readonly inp: {
1594
+ readonly p75: 180;
1595
+ readonly status: 'good';
1596
+ readonly deltaOverPeriod: 10;
1597
+ };
1598
+ readonly cls: {
1599
+ readonly p75: 0.08;
1600
+ readonly status: 'good';
1601
+ readonly deltaOverPeriod: null;
1602
+ };
1603
+ readonly overall: 'ni';
1604
+ readonly asOf: '2026-08-24';
1605
+ };
1606
+ readonly trend: null;
1607
+ };
1608
+ readonly meta: {
1609
+ readonly requestId: 'req_01JXYZ';
1610
+ readonly version: '1.0';
1611
+ };
1612
+ };
1613
+ };
1614
+ }];
1615
+ };
1616
+ };
1617
+ export declare const fieldVitalFindingsQuerySchema: z.ZodObject<{
1618
+ metrics: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
1619
+ cls: "cls";
1620
+ inp: "inp";
1621
+ lcp: "lcp";
1622
+ }>>, z.ZodPipe<z.ZodEnum<{
1623
+ cls: "cls";
1624
+ inp: "inp";
1625
+ lcp: "lcp";
1626
+ }>, z.ZodTransform<("cls" | "inp" | "lcp")[], "cls" | "inp" | "lcp">>]>>;
1627
+ onlyFailing: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
1628
+ 0: "0";
1629
+ 1: "1";
1630
+ false: "false";
1631
+ true: "true";
1632
+ }>>, z.ZodTransform<boolean, "0" | "1" | "false" | "true">>;
1633
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1634
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1635
+ }, z.core.$strict>;
1636
+ export declare const fieldVitalFindingSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1637
+ readonly metric: z.ZodEnum<{
1638
+ cls: "cls";
1639
+ inp: "inp";
1640
+ lcp: "lcp";
1641
+ }>;
1642
+ readonly severity: z.ZodEnum<{
1643
+ good: "good";
1644
+ "needs-improvement": "needs-improvement";
1645
+ poor: "poor";
1646
+ }>;
1647
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1648
+ readonly route: z.ZodString;
1649
+ readonly selector: z.ZodString;
1650
+ readonly estimatedViews: z.ZodNumber;
1651
+ readonly fixPrompt: z.ZodString;
1652
+ }, z.core.$strip>, z.ZodObject<{
1653
+ readonly metric: z.ZodEnum<{
1654
+ cls: "cls";
1655
+ inp: "inp";
1656
+ lcp: "lcp";
1657
+ }>;
1658
+ readonly severity: z.ZodEnum<{
1659
+ good: "good";
1660
+ "needs-improvement": "needs-improvement";
1661
+ poor: "poor";
1662
+ }>;
1663
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1664
+ readonly route: z.ZodString;
1665
+ readonly selector: z.ZodString;
1666
+ readonly estimatedViews: z.ZodNumber;
1667
+ readonly fixPrompt: z.ZodString;
1668
+ }, z.core.$strip>>;
1669
+ export declare const fieldVitalFindingsDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1670
+ readonly source: z.ZodNullable<z.ZodString>;
1671
+ readonly message: z.ZodNullable<z.ZodString>;
1672
+ readonly findings: z.ZodArray<z.ZodObject<{
1673
+ readonly metric: z.ZodEnum<{
1674
+ cls: "cls";
1675
+ inp: "inp";
1676
+ lcp: "lcp";
1677
+ }>;
1678
+ readonly severity: z.ZodEnum<{
1679
+ good: "good";
1680
+ "needs-improvement": "needs-improvement";
1681
+ poor: "poor";
1682
+ }>;
1683
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1684
+ readonly route: z.ZodString;
1685
+ readonly selector: z.ZodString;
1686
+ readonly estimatedViews: z.ZodNumber;
1687
+ readonly fixPrompt: z.ZodString;
1688
+ }, z.core.$strip>>;
1689
+ readonly total: z.ZodNumber;
1690
+ readonly limit: z.ZodNumber;
1691
+ readonly offset: z.ZodNumber;
1692
+ }, z.core.$strip>, z.ZodObject<{
1693
+ readonly source: z.ZodNullable<z.ZodString>;
1694
+ readonly message: z.ZodNullable<z.ZodString>;
1695
+ readonly findings: z.ZodArray<z.ZodObject<{
1696
+ readonly metric: z.ZodEnum<{
1697
+ cls: "cls";
1698
+ inp: "inp";
1699
+ lcp: "lcp";
1700
+ }>;
1701
+ readonly severity: z.ZodEnum<{
1702
+ good: "good";
1703
+ "needs-improvement": "needs-improvement";
1704
+ poor: "poor";
1705
+ }>;
1706
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1707
+ readonly route: z.ZodString;
1708
+ readonly selector: z.ZodString;
1709
+ readonly estimatedViews: z.ZodNumber;
1710
+ readonly fixPrompt: z.ZodString;
1711
+ }, z.core.$strip>>;
1712
+ readonly total: z.ZodNumber;
1713
+ readonly limit: z.ZodNumber;
1714
+ readonly offset: z.ZodNumber;
1715
+ }, z.core.$strip>>;
1716
+ export declare const fieldVitalFindingsResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1717
+ data: z.ZodObject<{
1718
+ readonly source: z.ZodNullable<z.ZodString>;
1719
+ readonly message: z.ZodNullable<z.ZodString>;
1720
+ readonly findings: z.ZodArray<z.ZodObject<{
1721
+ readonly metric: z.ZodEnum<{
1722
+ cls: "cls";
1723
+ inp: "inp";
1724
+ lcp: "lcp";
1725
+ }>;
1726
+ readonly severity: z.ZodEnum<{
1727
+ good: "good";
1728
+ "needs-improvement": "needs-improvement";
1729
+ poor: "poor";
1730
+ }>;
1731
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1732
+ readonly route: z.ZodString;
1733
+ readonly selector: z.ZodString;
1734
+ readonly estimatedViews: z.ZodNumber;
1735
+ readonly fixPrompt: z.ZodString;
1736
+ }, z.core.$strip>>;
1737
+ readonly total: z.ZodNumber;
1738
+ readonly limit: z.ZodNumber;
1739
+ readonly offset: z.ZodNumber;
1740
+ }, z.core.$strip>;
1741
+ meta: z.ZodObject<{
1742
+ requestId: z.ZodString;
1743
+ version: z.ZodLiteral<"1.0">;
1744
+ }, z.core.$strict>;
1745
+ }, z.core.$strip>, z.ZodObject<{
1746
+ data: z.ZodObject<{
1747
+ readonly source: z.ZodNullable<z.ZodString>;
1748
+ readonly message: z.ZodNullable<z.ZodString>;
1749
+ readonly findings: z.ZodArray<z.ZodObject<{
1750
+ readonly metric: z.ZodEnum<{
1751
+ cls: "cls";
1752
+ inp: "inp";
1753
+ lcp: "lcp";
1754
+ }>;
1755
+ readonly severity: z.ZodEnum<{
1756
+ good: "good";
1757
+ "needs-improvement": "needs-improvement";
1758
+ poor: "poor";
1759
+ }>;
1760
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1761
+ readonly route: z.ZodString;
1762
+ readonly selector: z.ZodString;
1763
+ readonly estimatedViews: z.ZodNumber;
1764
+ readonly fixPrompt: z.ZodString;
1765
+ }, z.core.$strip>>;
1766
+ readonly total: z.ZodNumber;
1767
+ readonly limit: z.ZodNumber;
1768
+ readonly offset: z.ZodNumber;
1769
+ }, z.core.$strip>;
1770
+ meta: z.ZodObject<{
1771
+ requestId: z.ZodString;
1772
+ version: z.ZodLiteral<"1.0">;
1773
+ }, z.core.$loose>;
1774
+ }, z.core.$strip>>;
1775
+ export type FieldVitalFindings = z.output<typeof fieldVitalFindingsDataSchema.producer>;
1776
+ export declare const fieldVitalFindingsOperation: {
1777
+ readonly id: 'page.vitals.findings';
1778
+ readonly method: 'GET';
1779
+ readonly path: '/api/v1/sites/{siteId}/vitals/findings';
1780
+ readonly visibility: 'public';
1781
+ readonly semantics: {
1782
+ readonly kind: 'query';
1783
+ readonly sideEffects: 'none';
1784
+ readonly retry: 'idempotent';
1785
+ readonly readConsistency: 'primary';
1786
+ };
1787
+ readonly auth: {
1788
+ readonly credentials: readonly ["session", "api_token"];
1789
+ readonly scopes: readonly ["page:read"];
1790
+ readonly minimumRole: 'viewer';
1791
+ readonly ownership: 'site';
1792
+ };
1793
+ readonly request: {
1794
+ readonly params: z.ZodObject<{
1795
+ siteId: z.ZodString;
1796
+ }, z.core.$strict>;
1797
+ readonly query: z.ZodObject<{
1798
+ metrics: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
1799
+ cls: "cls";
1800
+ inp: "inp";
1801
+ lcp: "lcp";
1802
+ }>>, z.ZodPipe<z.ZodEnum<{
1803
+ cls: "cls";
1804
+ inp: "inp";
1805
+ lcp: "lcp";
1806
+ }>, z.ZodTransform<("cls" | "inp" | "lcp")[], "cls" | "inp" | "lcp">>]>>;
1807
+ onlyFailing: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
1808
+ 0: "0";
1809
+ 1: "1";
1810
+ false: "false";
1811
+ true: "true";
1812
+ }>>, z.ZodTransform<boolean, "0" | "1" | "false" | "true">>;
1813
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1814
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1815
+ }, z.core.$strict>;
1816
+ readonly headers: null;
1817
+ readonly body: null;
1818
+ };
1819
+ readonly responses: {
1820
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1821
+ data: z.ZodObject<{
1822
+ readonly source: z.ZodNullable<z.ZodString>;
1823
+ readonly message: z.ZodNullable<z.ZodString>;
1824
+ readonly findings: z.ZodArray<z.ZodObject<{
1825
+ readonly metric: z.ZodEnum<{
1826
+ cls: "cls";
1827
+ inp: "inp";
1828
+ lcp: "lcp";
1829
+ }>;
1830
+ readonly severity: z.ZodEnum<{
1831
+ good: "good";
1832
+ "needs-improvement": "needs-improvement";
1833
+ poor: "poor";
1834
+ }>;
1835
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1836
+ readonly route: z.ZodString;
1837
+ readonly selector: z.ZodString;
1838
+ readonly estimatedViews: z.ZodNumber;
1839
+ readonly fixPrompt: z.ZodString;
1840
+ }, z.core.$strip>>;
1841
+ readonly total: z.ZodNumber;
1842
+ readonly limit: z.ZodNumber;
1843
+ readonly offset: z.ZodNumber;
1844
+ }, z.core.$strip>;
1845
+ meta: z.ZodObject<{
1846
+ requestId: z.ZodString;
1847
+ version: z.ZodLiteral<"1.0">;
1848
+ }, z.core.$strict>;
1849
+ }, z.core.$strip>, z.ZodObject<{
1850
+ data: z.ZodObject<{
1851
+ readonly source: z.ZodNullable<z.ZodString>;
1852
+ readonly message: z.ZodNullable<z.ZodString>;
1853
+ readonly findings: z.ZodArray<z.ZodObject<{
1854
+ readonly metric: z.ZodEnum<{
1855
+ cls: "cls";
1856
+ inp: "inp";
1857
+ lcp: "lcp";
1858
+ }>;
1859
+ readonly severity: z.ZodEnum<{
1860
+ good: "good";
1861
+ "needs-improvement": "needs-improvement";
1862
+ poor: "poor";
1863
+ }>;
1864
+ readonly p75: z.ZodNullable<z.ZodNumber>;
1865
+ readonly route: z.ZodString;
1866
+ readonly selector: z.ZodString;
1867
+ readonly estimatedViews: z.ZodNumber;
1868
+ readonly fixPrompt: z.ZodString;
1869
+ }, z.core.$strip>>;
1870
+ readonly total: z.ZodNumber;
1871
+ readonly limit: z.ZodNumber;
1872
+ readonly offset: z.ZodNumber;
1873
+ }, z.core.$strip>;
1874
+ meta: z.ZodObject<{
1875
+ requestId: z.ZodString;
1876
+ version: z.ZodLiteral<"1.0">;
1877
+ }, z.core.$loose>;
1878
+ }, z.core.$strip>>;
1879
+ };
1880
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
1881
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1882
+ readonly error: z.ZodObject<{
1883
+ code: z.ZodEnum<{
1884
+ auth_expired: "auth_expired";
1885
+ conflict: "conflict";
1886
+ contract_violation: "contract_violation";
1887
+ entitlement_required: "entitlement_required";
1888
+ forbidden: "forbidden";
1889
+ internal_error: "internal_error";
1890
+ invalid_request: "invalid_request";
1891
+ not_found: "not_found";
1892
+ provider_unavailable: "provider_unavailable";
1893
+ quota_exhausted: "quota_exhausted";
1894
+ rate_limited: "rate_limited";
1895
+ site_ambiguous: "site_ambiguous";
1896
+ stale_evidence: "stale_evidence";
1897
+ unauthorized: "unauthorized";
1898
+ }>;
1899
+ message: z.ZodString;
1900
+ requestId: z.ZodString;
1901
+ retryable: z.ZodBoolean;
1902
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1903
+ }, z.core.$strict>;
1904
+ }, z.core.$strip>, z.ZodObject<{
1905
+ readonly error: z.ZodObject<{
1906
+ code: z.ZodEnum<{
1907
+ auth_expired: "auth_expired";
1908
+ conflict: "conflict";
1909
+ contract_violation: "contract_violation";
1910
+ entitlement_required: "entitlement_required";
1911
+ forbidden: "forbidden";
1912
+ internal_error: "internal_error";
1913
+ invalid_request: "invalid_request";
1914
+ not_found: "not_found";
1915
+ provider_unavailable: "provider_unavailable";
1916
+ quota_exhausted: "quota_exhausted";
1917
+ rate_limited: "rate_limited";
1918
+ site_ambiguous: "site_ambiguous";
1919
+ stale_evidence: "stale_evidence";
1920
+ unauthorized: "unauthorized";
1921
+ }>;
1922
+ message: z.ZodString;
1923
+ requestId: z.ZodString;
1924
+ retryable: z.ZodBoolean;
1925
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1926
+ }, z.core.$loose>;
1927
+ }, z.core.$strip>>;
1928
+ readonly resources: {
1929
+ readonly reads: readonly [{
1930
+ readonly type: 'site.page';
1931
+ readonly idFrom: 'params.siteId';
1932
+ }];
1933
+ readonly changes: readonly [];
1934
+ };
1935
+ readonly policy: {
1936
+ readonly rate: {
1937
+ readonly name: 'public-v1-fixed-window';
1938
+ readonly limit: 50;
1939
+ readonly windowSeconds: 60;
1940
+ };
1941
+ readonly idempotency: {
1942
+ readonly _tag: 'none';
1943
+ };
1944
+ readonly entitlement: null;
1945
+ readonly meter: null;
1946
+ };
1947
+ readonly lifecycle: {
1948
+ readonly introduced: '1.2.0';
1949
+ };
1950
+ readonly docs: {
1951
+ readonly summary: 'List field Core Web Vitals findings';
1952
+ readonly description: 'Returns each failing real-user vital attributed to the DOM element behind it, with the p75, the CSS selector, and a ready-to-apply fix prompt. It requires a connected Web Analytics provider. If no provider is connected, findings is empty and message says so.';
1953
+ readonly tags: readonly ["Pages"];
1954
+ readonly examples: readonly [{
1955
+ readonly request: {
1956
+ readonly params: {
1957
+ readonly siteId: 'site_01JXYZ';
1958
+ };
1959
+ readonly query: {
1960
+ readonly onlyFailing: '1';
1961
+ readonly limit: 20;
1962
+ readonly offset: 0;
1963
+ };
1964
+ };
1965
+ readonly response: {
1966
+ readonly status: 200;
1967
+ readonly body: {
1968
+ readonly data: {
1969
+ readonly source: 'cloudflare';
1970
+ readonly message: null;
1971
+ readonly findings: readonly [{
1972
+ readonly metric: 'lcp';
1973
+ readonly severity: 'poor';
1974
+ readonly p75: 4300;
1975
+ readonly route: '/blog';
1976
+ readonly selector: 'main > img.hero';
1977
+ readonly estimatedViews: 1840;
1978
+ readonly fixPrompt: 'The LCP element on /blog is main > img.hero at 4300ms.';
1979
+ }];
1980
+ readonly total: 1;
1981
+ readonly limit: 20;
1982
+ readonly offset: 0;
1983
+ };
1984
+ readonly meta: {
1985
+ readonly requestId: 'req_01JXYZ';
1986
+ readonly version: '1.0';
1987
+ };
1988
+ };
1989
+ };
1990
+ }];
1991
+ };
1992
+ };
1993
+ export declare const performanceScansQuerySchema: z.ZodObject<{
1994
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1995
+ }, z.core.$strict>;
1996
+ export declare const performanceScanParamsSchema: z.ZodObject<{
1997
+ siteId: z.ZodString;
1998
+ scanId: z.ZodString;
1999
+ }, z.core.$strict>;
2000
+ export declare const performanceScanSummarySchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2001
+ readonly id: z.ZodString;
2002
+ readonly url: z.ZodString;
2003
+ readonly strategy: z.ZodString;
2004
+ readonly status: z.ZodString;
2005
+ readonly trigger: z.ZodNullable<z.ZodString>;
2006
+ readonly scores: z.ZodObject<{
2007
+ perf: z.ZodNullable<z.ZodNumber>;
2008
+ a11y: z.ZodNullable<z.ZodNumber>;
2009
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2010
+ seo: z.ZodNullable<z.ZodNumber>;
2011
+ }, z.core.$strict>;
2012
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2013
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2014
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2015
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2016
+ readonly error: z.ZodNullable<z.ZodString>;
2017
+ }, z.core.$strip>, z.ZodObject<{
2018
+ readonly id: z.ZodString;
2019
+ readonly url: z.ZodString;
2020
+ readonly strategy: z.ZodString;
2021
+ readonly status: z.ZodString;
2022
+ readonly trigger: z.ZodNullable<z.ZodString>;
2023
+ readonly scores: z.ZodObject<{
2024
+ perf: z.ZodNullable<z.ZodNumber>;
2025
+ a11y: z.ZodNullable<z.ZodNumber>;
2026
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2027
+ seo: z.ZodNullable<z.ZodNumber>;
2028
+ }, z.core.$loose>;
2029
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2030
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2031
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2032
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2033
+ readonly error: z.ZodNullable<z.ZodString>;
2034
+ }, z.core.$strip>>;
2035
+ export declare const performanceScansDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2036
+ readonly scans: z.ZodArray<z.ZodObject<{
2037
+ readonly id: z.ZodString;
2038
+ readonly url: z.ZodString;
2039
+ readonly strategy: z.ZodString;
2040
+ readonly status: z.ZodString;
2041
+ readonly trigger: z.ZodNullable<z.ZodString>;
2042
+ readonly scores: z.ZodObject<{
2043
+ perf: z.ZodNullable<z.ZodNumber>;
2044
+ a11y: z.ZodNullable<z.ZodNumber>;
2045
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2046
+ seo: z.ZodNullable<z.ZodNumber>;
2047
+ }, z.core.$strict>;
2048
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2049
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2050
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2051
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2052
+ readonly error: z.ZodNullable<z.ZodString>;
2053
+ }, z.core.$strip>>;
2054
+ readonly total: z.ZodNumber;
2055
+ readonly limit: z.ZodNumber;
2056
+ }, z.core.$strip>, z.ZodObject<{
2057
+ readonly scans: z.ZodArray<z.ZodObject<{
2058
+ readonly id: z.ZodString;
2059
+ readonly url: z.ZodString;
2060
+ readonly strategy: z.ZodString;
2061
+ readonly status: z.ZodString;
2062
+ readonly trigger: z.ZodNullable<z.ZodString>;
2063
+ readonly scores: z.ZodObject<{
2064
+ perf: z.ZodNullable<z.ZodNumber>;
2065
+ a11y: z.ZodNullable<z.ZodNumber>;
2066
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2067
+ seo: z.ZodNullable<z.ZodNumber>;
2068
+ }, z.core.$loose>;
2069
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2070
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2071
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2072
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2073
+ readonly error: z.ZodNullable<z.ZodString>;
2074
+ }, z.core.$strip>>;
2075
+ readonly total: z.ZodNumber;
2076
+ readonly limit: z.ZodNumber;
2077
+ }, z.core.$strip>>;
2078
+ export declare const performanceScansResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2079
+ data: z.ZodObject<{
2080
+ readonly scans: z.ZodArray<z.ZodObject<{
2081
+ readonly id: z.ZodString;
2082
+ readonly url: z.ZodString;
2083
+ readonly strategy: z.ZodString;
2084
+ readonly status: z.ZodString;
2085
+ readonly trigger: z.ZodNullable<z.ZodString>;
2086
+ readonly scores: z.ZodObject<{
2087
+ perf: z.ZodNullable<z.ZodNumber>;
2088
+ a11y: z.ZodNullable<z.ZodNumber>;
2089
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2090
+ seo: z.ZodNullable<z.ZodNumber>;
2091
+ }, z.core.$strict>;
2092
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2093
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2094
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2095
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2096
+ readonly error: z.ZodNullable<z.ZodString>;
2097
+ }, z.core.$strip>>;
2098
+ readonly total: z.ZodNumber;
2099
+ readonly limit: z.ZodNumber;
2100
+ }, z.core.$strip>;
2101
+ meta: z.ZodObject<{
2102
+ requestId: z.ZodString;
2103
+ version: z.ZodLiteral<"1.0">;
2104
+ }, z.core.$strict>;
2105
+ }, z.core.$strip>, z.ZodObject<{
2106
+ data: z.ZodObject<{
2107
+ readonly scans: z.ZodArray<z.ZodObject<{
2108
+ readonly id: z.ZodString;
2109
+ readonly url: z.ZodString;
2110
+ readonly strategy: z.ZodString;
2111
+ readonly status: z.ZodString;
2112
+ readonly trigger: z.ZodNullable<z.ZodString>;
2113
+ readonly scores: z.ZodObject<{
2114
+ perf: z.ZodNullable<z.ZodNumber>;
2115
+ a11y: z.ZodNullable<z.ZodNumber>;
2116
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2117
+ seo: z.ZodNullable<z.ZodNumber>;
2118
+ }, z.core.$loose>;
2119
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2120
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2121
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2122
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2123
+ readonly error: z.ZodNullable<z.ZodString>;
2124
+ }, z.core.$strip>>;
2125
+ readonly total: z.ZodNumber;
2126
+ readonly limit: z.ZodNumber;
2127
+ }, z.core.$strip>;
2128
+ meta: z.ZodObject<{
2129
+ requestId: z.ZodString;
2130
+ version: z.ZodLiteral<"1.0">;
2131
+ }, z.core.$loose>;
2132
+ }, z.core.$strip>>;
2133
+ export type PerformanceScans = z.output<typeof performanceScansDataSchema.producer>;
2134
+ export declare const performanceScansOperation: {
2135
+ readonly id: 'page.performance.scans';
2136
+ readonly method: 'GET';
2137
+ readonly path: '/api/v1/sites/{siteId}/performance/scans';
2138
+ readonly visibility: 'public';
2139
+ readonly semantics: {
2140
+ readonly kind: 'query';
2141
+ readonly sideEffects: 'none';
2142
+ readonly retry: 'idempotent';
2143
+ readonly readConsistency: 'primary';
2144
+ };
2145
+ readonly auth: {
2146
+ readonly credentials: readonly ["session", "api_token"];
2147
+ readonly scopes: readonly ["page:read"];
2148
+ readonly minimumRole: 'viewer';
2149
+ readonly ownership: 'site';
2150
+ };
2151
+ readonly request: {
2152
+ readonly params: z.ZodObject<{
2153
+ siteId: z.ZodString;
2154
+ }, z.core.$strict>;
2155
+ readonly query: z.ZodObject<{
2156
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
2157
+ }, z.core.$strict>;
2158
+ readonly headers: null;
2159
+ readonly body: null;
2160
+ };
2161
+ readonly responses: {
2162
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2163
+ data: z.ZodObject<{
2164
+ readonly scans: z.ZodArray<z.ZodObject<{
2165
+ readonly id: z.ZodString;
2166
+ readonly url: z.ZodString;
2167
+ readonly strategy: z.ZodString;
2168
+ readonly status: z.ZodString;
2169
+ readonly trigger: z.ZodNullable<z.ZodString>;
2170
+ readonly scores: z.ZodObject<{
2171
+ perf: z.ZodNullable<z.ZodNumber>;
2172
+ a11y: z.ZodNullable<z.ZodNumber>;
2173
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2174
+ seo: z.ZodNullable<z.ZodNumber>;
2175
+ }, z.core.$strict>;
2176
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2177
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2178
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2179
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2180
+ readonly error: z.ZodNullable<z.ZodString>;
2181
+ }, z.core.$strip>>;
2182
+ readonly total: z.ZodNumber;
2183
+ readonly limit: z.ZodNumber;
2184
+ }, z.core.$strip>;
2185
+ meta: z.ZodObject<{
2186
+ requestId: z.ZodString;
2187
+ version: z.ZodLiteral<"1.0">;
2188
+ }, z.core.$strict>;
2189
+ }, z.core.$strip>, z.ZodObject<{
2190
+ data: z.ZodObject<{
2191
+ readonly scans: z.ZodArray<z.ZodObject<{
2192
+ readonly id: z.ZodString;
2193
+ readonly url: z.ZodString;
2194
+ readonly strategy: z.ZodString;
2195
+ readonly status: z.ZodString;
2196
+ readonly trigger: z.ZodNullable<z.ZodString>;
2197
+ readonly scores: z.ZodObject<{
2198
+ perf: z.ZodNullable<z.ZodNumber>;
2199
+ a11y: z.ZodNullable<z.ZodNumber>;
2200
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2201
+ seo: z.ZodNullable<z.ZodNumber>;
2202
+ }, z.core.$loose>;
2203
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2204
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2205
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2206
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2207
+ readonly error: z.ZodNullable<z.ZodString>;
2208
+ }, z.core.$strip>>;
2209
+ readonly total: z.ZodNumber;
2210
+ readonly limit: z.ZodNumber;
2211
+ }, z.core.$strip>;
2212
+ meta: z.ZodObject<{
2213
+ requestId: z.ZodString;
2214
+ version: z.ZodLiteral<"1.0">;
2215
+ }, z.core.$loose>;
2216
+ }, z.core.$strip>>;
2217
+ };
2218
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
2219
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2220
+ readonly error: z.ZodObject<{
2221
+ code: z.ZodEnum<{
2222
+ auth_expired: "auth_expired";
2223
+ conflict: "conflict";
2224
+ contract_violation: "contract_violation";
2225
+ entitlement_required: "entitlement_required";
2226
+ forbidden: "forbidden";
2227
+ internal_error: "internal_error";
2228
+ invalid_request: "invalid_request";
2229
+ not_found: "not_found";
2230
+ provider_unavailable: "provider_unavailable";
2231
+ quota_exhausted: "quota_exhausted";
2232
+ rate_limited: "rate_limited";
2233
+ site_ambiguous: "site_ambiguous";
2234
+ stale_evidence: "stale_evidence";
2235
+ unauthorized: "unauthorized";
2236
+ }>;
2237
+ message: z.ZodString;
2238
+ requestId: z.ZodString;
2239
+ retryable: z.ZodBoolean;
2240
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2241
+ }, z.core.$strict>;
2242
+ }, z.core.$strip>, z.ZodObject<{
2243
+ readonly error: z.ZodObject<{
2244
+ code: z.ZodEnum<{
2245
+ auth_expired: "auth_expired";
2246
+ conflict: "conflict";
2247
+ contract_violation: "contract_violation";
2248
+ entitlement_required: "entitlement_required";
2249
+ forbidden: "forbidden";
2250
+ internal_error: "internal_error";
2251
+ invalid_request: "invalid_request";
2252
+ not_found: "not_found";
2253
+ provider_unavailable: "provider_unavailable";
2254
+ quota_exhausted: "quota_exhausted";
2255
+ rate_limited: "rate_limited";
2256
+ site_ambiguous: "site_ambiguous";
2257
+ stale_evidence: "stale_evidence";
2258
+ unauthorized: "unauthorized";
2259
+ }>;
2260
+ message: z.ZodString;
2261
+ requestId: z.ZodString;
2262
+ retryable: z.ZodBoolean;
2263
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2264
+ }, z.core.$loose>;
2265
+ }, z.core.$strip>>;
2266
+ readonly resources: {
2267
+ readonly reads: readonly [{
2268
+ readonly type: 'site.page';
2269
+ readonly idFrom: 'params.siteId';
2270
+ }];
2271
+ readonly changes: readonly [];
2272
+ };
2273
+ readonly policy: {
2274
+ readonly rate: {
2275
+ readonly name: 'public-v1-fixed-window';
2276
+ readonly limit: 50;
2277
+ readonly windowSeconds: 60;
2278
+ };
2279
+ readonly idempotency: {
2280
+ readonly _tag: 'none';
2281
+ };
2282
+ readonly entitlement: null;
2283
+ readonly meter: null;
2284
+ };
2285
+ readonly lifecycle: {
2286
+ readonly introduced: '1.2.0';
2287
+ };
2288
+ readonly docs: {
2289
+ readonly summary: 'List Lighthouse Scans';
2290
+ readonly description: 'Returns retained Lighthouse Scans for the Site, newest first, with the scores and lab vitals each one recorded. A failed Scan carries its error. Use one Scan id with the Scan read for the failing checks behind a score.';
2291
+ readonly tags: readonly ["Pages"];
2292
+ readonly examples: readonly [{
2293
+ readonly request: {
2294
+ readonly params: {
2295
+ readonly siteId: 'site_01JXYZ';
2296
+ };
2297
+ readonly query: {
2298
+ readonly limit: 25;
2299
+ };
2300
+ };
2301
+ readonly response: {
2302
+ readonly status: 200;
2303
+ readonly body: {
2304
+ readonly data: {
2305
+ readonly scans: readonly [{
2306
+ readonly id: 'scan_01JXYZ';
2307
+ readonly url: 'https://example.com/';
2308
+ readonly strategy: 'mobile';
2309
+ readonly status: 'complete';
2310
+ readonly trigger: 'scheduled';
2311
+ readonly scores: {
2312
+ readonly perf: 82;
2313
+ readonly a11y: 96;
2314
+ readonly bestPractices: 92;
2315
+ readonly seo: 98;
2316
+ };
2317
+ readonly lcp: 2200;
2318
+ readonly tbt: 180;
2319
+ readonly cls: 0.08;
2320
+ readonly completedAt: '2026-08-10T01:00:00.000Z';
2321
+ readonly error: null;
2322
+ }];
2323
+ readonly total: 1;
2324
+ readonly limit: 25;
2325
+ };
2326
+ readonly meta: {
2327
+ readonly requestId: 'req_01JXYZ';
2328
+ readonly version: '1.0';
2329
+ };
2330
+ };
2331
+ };
2332
+ }];
2333
+ };
2334
+ };
2335
+ export declare const monitoredPageSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2336
+ readonly id: z.ZodString;
2337
+ readonly path: z.ZodString;
2338
+ readonly source: z.ZodNullable<z.ZodString>;
2339
+ readonly enabled: z.ZodBoolean;
2340
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
2341
+ }, z.core.$strip>, z.ZodObject<{
2342
+ readonly id: z.ZodString;
2343
+ readonly path: z.ZodString;
2344
+ readonly source: z.ZodNullable<z.ZodString>;
2345
+ readonly enabled: z.ZodBoolean;
2346
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
2347
+ }, z.core.$strip>>;
2348
+ export declare const monitoredPagesDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2349
+ readonly pages: z.ZodArray<z.ZodObject<{
2350
+ readonly id: z.ZodString;
2351
+ readonly path: z.ZodString;
2352
+ readonly source: z.ZodNullable<z.ZodString>;
2353
+ readonly enabled: z.ZodBoolean;
2354
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
2355
+ }, z.core.$strip>>;
2356
+ readonly total: z.ZodNumber;
2357
+ }, z.core.$strip>, z.ZodObject<{
2358
+ readonly pages: z.ZodArray<z.ZodObject<{
2359
+ readonly id: z.ZodString;
2360
+ readonly path: z.ZodString;
2361
+ readonly source: z.ZodNullable<z.ZodString>;
2362
+ readonly enabled: z.ZodBoolean;
2363
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
2364
+ }, z.core.$strip>>;
2365
+ readonly total: z.ZodNumber;
2366
+ }, z.core.$strip>>;
2367
+ export declare const monitoredPagesResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2368
+ data: z.ZodObject<{
2369
+ readonly pages: z.ZodArray<z.ZodObject<{
2370
+ readonly id: z.ZodString;
2371
+ readonly path: z.ZodString;
2372
+ readonly source: z.ZodNullable<z.ZodString>;
2373
+ readonly enabled: z.ZodBoolean;
2374
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
2375
+ }, z.core.$strip>>;
2376
+ readonly total: z.ZodNumber;
2377
+ }, z.core.$strip>;
2378
+ meta: z.ZodObject<{
2379
+ requestId: z.ZodString;
2380
+ version: z.ZodLiteral<"1.0">;
2381
+ }, z.core.$strict>;
2382
+ }, z.core.$strip>, z.ZodObject<{
2383
+ data: z.ZodObject<{
2384
+ readonly pages: z.ZodArray<z.ZodObject<{
2385
+ readonly id: z.ZodString;
2386
+ readonly path: z.ZodString;
2387
+ readonly source: z.ZodNullable<z.ZodString>;
2388
+ readonly enabled: z.ZodBoolean;
2389
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
2390
+ }, z.core.$strip>>;
2391
+ readonly total: z.ZodNumber;
2392
+ }, z.core.$strip>;
2393
+ meta: z.ZodObject<{
2394
+ requestId: z.ZodString;
2395
+ version: z.ZodLiteral<"1.0">;
2396
+ }, z.core.$loose>;
2397
+ }, z.core.$strip>>;
2398
+ export type MonitoredPages = z.output<typeof monitoredPagesDataSchema.producer>;
2399
+ export declare const monitoredPagesOperation: {
2400
+ readonly id: 'page.performance.pages';
2401
+ readonly method: 'GET';
2402
+ readonly path: '/api/v1/sites/{siteId}/performance/pages';
2403
+ readonly visibility: 'public';
2404
+ readonly semantics: {
2405
+ readonly kind: 'query';
2406
+ readonly sideEffects: 'none';
2407
+ readonly retry: 'idempotent';
2408
+ readonly readConsistency: 'primary';
2409
+ };
2410
+ readonly auth: {
2411
+ readonly credentials: readonly ["session", "api_token"];
2412
+ readonly scopes: readonly ["page:read"];
2413
+ readonly minimumRole: 'viewer';
2414
+ readonly ownership: 'site';
2415
+ };
2416
+ readonly request: {
2417
+ readonly params: z.ZodObject<{
2418
+ siteId: z.ZodString;
2419
+ }, z.core.$strict>;
2420
+ readonly query: null;
2421
+ readonly headers: null;
2422
+ readonly body: null;
2423
+ };
2424
+ readonly responses: {
2425
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2426
+ data: z.ZodObject<{
2427
+ readonly pages: z.ZodArray<z.ZodObject<{
2428
+ readonly id: z.ZodString;
2429
+ readonly path: z.ZodString;
2430
+ readonly source: z.ZodNullable<z.ZodString>;
2431
+ readonly enabled: z.ZodBoolean;
2432
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
2433
+ }, z.core.$strip>>;
2434
+ readonly total: z.ZodNumber;
2435
+ }, z.core.$strip>;
2436
+ meta: z.ZodObject<{
2437
+ requestId: z.ZodString;
2438
+ version: z.ZodLiteral<"1.0">;
2439
+ }, z.core.$strict>;
2440
+ }, z.core.$strip>, z.ZodObject<{
2441
+ data: z.ZodObject<{
2442
+ readonly pages: z.ZodArray<z.ZodObject<{
2443
+ readonly id: z.ZodString;
2444
+ readonly path: z.ZodString;
2445
+ readonly source: z.ZodNullable<z.ZodString>;
2446
+ readonly enabled: z.ZodBoolean;
2447
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
2448
+ }, z.core.$strip>>;
2449
+ readonly total: z.ZodNumber;
2450
+ }, z.core.$strip>;
2451
+ meta: z.ZodObject<{
2452
+ requestId: z.ZodString;
2453
+ version: z.ZodLiteral<"1.0">;
2454
+ }, z.core.$loose>;
2455
+ }, z.core.$strip>>;
2456
+ };
2457
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
2458
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2459
+ readonly error: z.ZodObject<{
2460
+ code: z.ZodEnum<{
2461
+ auth_expired: "auth_expired";
2462
+ conflict: "conflict";
2463
+ contract_violation: "contract_violation";
2464
+ entitlement_required: "entitlement_required";
2465
+ forbidden: "forbidden";
2466
+ internal_error: "internal_error";
2467
+ invalid_request: "invalid_request";
2468
+ not_found: "not_found";
2469
+ provider_unavailable: "provider_unavailable";
2470
+ quota_exhausted: "quota_exhausted";
2471
+ rate_limited: "rate_limited";
2472
+ site_ambiguous: "site_ambiguous";
2473
+ stale_evidence: "stale_evidence";
2474
+ unauthorized: "unauthorized";
2475
+ }>;
2476
+ message: z.ZodString;
2477
+ requestId: z.ZodString;
2478
+ retryable: z.ZodBoolean;
2479
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2480
+ }, z.core.$strict>;
2481
+ }, z.core.$strip>, z.ZodObject<{
2482
+ readonly error: z.ZodObject<{
2483
+ code: z.ZodEnum<{
2484
+ auth_expired: "auth_expired";
2485
+ conflict: "conflict";
2486
+ contract_violation: "contract_violation";
2487
+ entitlement_required: "entitlement_required";
2488
+ forbidden: "forbidden";
2489
+ internal_error: "internal_error";
2490
+ invalid_request: "invalid_request";
2491
+ not_found: "not_found";
2492
+ provider_unavailable: "provider_unavailable";
2493
+ quota_exhausted: "quota_exhausted";
2494
+ rate_limited: "rate_limited";
2495
+ site_ambiguous: "site_ambiguous";
2496
+ stale_evidence: "stale_evidence";
2497
+ unauthorized: "unauthorized";
2498
+ }>;
2499
+ message: z.ZodString;
2500
+ requestId: z.ZodString;
2501
+ retryable: z.ZodBoolean;
2502
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2503
+ }, z.core.$loose>;
2504
+ }, z.core.$strip>>;
2505
+ readonly resources: {
2506
+ readonly reads: readonly [{
2507
+ readonly type: 'site.page';
2508
+ readonly idFrom: 'params.siteId';
2509
+ }];
2510
+ readonly changes: readonly [];
2511
+ };
2512
+ readonly policy: {
2513
+ readonly rate: {
2514
+ readonly name: 'public-v1-fixed-window';
2515
+ readonly limit: 50;
2516
+ readonly windowSeconds: 60;
2517
+ };
2518
+ readonly idempotency: {
2519
+ readonly _tag: 'none';
2520
+ };
2521
+ readonly entitlement: null;
2522
+ readonly meter: null;
2523
+ };
2524
+ readonly lifecycle: {
2525
+ readonly introduced: '1.2.0';
2526
+ };
2527
+ readonly docs: {
2528
+ readonly summary: 'List monitored Pages';
2529
+ readonly description: 'Returns the Pages this Site scans on a schedule, in display order, with the last time each one was scanned. Start a Scan for a new Page with the Page scan operation.';
2530
+ readonly tags: readonly ["Pages"];
2531
+ readonly examples: readonly [{
2532
+ readonly request: {
2533
+ readonly params: {
2534
+ readonly siteId: 'site_01JXYZ';
2535
+ };
2536
+ };
2537
+ readonly response: {
2538
+ readonly status: 200;
2539
+ readonly body: {
2540
+ readonly data: {
2541
+ readonly pages: readonly [{
2542
+ readonly id: 'lhp_01JXYZ';
2543
+ readonly path: '/';
2544
+ readonly source: 'homepage';
2545
+ readonly enabled: true;
2546
+ readonly lastScanAt: '2026-08-10T01:00:00.000Z';
2547
+ }];
2548
+ readonly total: 1;
2549
+ };
2550
+ readonly meta: {
2551
+ readonly requestId: 'req_01JXYZ';
2552
+ readonly version: '1.0';
2553
+ };
2554
+ };
2555
+ };
2556
+ }];
2557
+ };
2558
+ };
2559
+ export declare const scanElementSampleSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2560
+ selector: z.ZodNullable<z.ZodString>;
2561
+ snippet: z.ZodNullable<z.ZodString>;
2562
+ message: z.ZodNullable<z.ZodString>;
2563
+ explanation: z.ZodNullable<z.ZodString>;
2564
+ sourceUrl: z.ZodNullable<z.ZodString>;
2565
+ }, z.core.$strip>, z.ZodObject<{
2566
+ selector: z.ZodNullable<z.ZodString>;
2567
+ snippet: z.ZodNullable<z.ZodString>;
2568
+ message: z.ZodNullable<z.ZodString>;
2569
+ explanation: z.ZodNullable<z.ZodString>;
2570
+ sourceUrl: z.ZodNullable<z.ZodString>;
2571
+ }, z.core.$strip>>;
2572
+ export declare const scanFailingCheckSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2573
+ readonly auditId: z.ZodString;
2574
+ readonly title: z.ZodString;
2575
+ readonly severity: z.ZodString;
2576
+ readonly description: z.ZodNullable<z.ZodString>;
2577
+ readonly wcag: z.ZodArray<z.ZodString>;
2578
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2579
+ readonly instanceCount: z.ZodNumber;
2580
+ readonly elements: z.ZodArray<z.ZodObject<{
2581
+ selector: z.ZodNullable<z.ZodString>;
2582
+ snippet: z.ZodNullable<z.ZodString>;
2583
+ message: z.ZodNullable<z.ZodString>;
2584
+ explanation: z.ZodNullable<z.ZodString>;
2585
+ sourceUrl: z.ZodNullable<z.ZodString>;
2586
+ }, z.core.$strip>>;
2587
+ /** Elements that actually failed, when more than the sample above. */
2588
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2589
+ }, z.core.$strip>, z.ZodObject<{
2590
+ readonly auditId: z.ZodString;
2591
+ readonly title: z.ZodString;
2592
+ readonly severity: z.ZodString;
2593
+ readonly description: z.ZodNullable<z.ZodString>;
2594
+ readonly wcag: z.ZodArray<z.ZodString>;
2595
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2596
+ readonly instanceCount: z.ZodNumber;
2597
+ readonly elements: z.ZodArray<z.ZodObject<{
2598
+ selector: z.ZodNullable<z.ZodString>;
2599
+ snippet: z.ZodNullable<z.ZodString>;
2600
+ message: z.ZodNullable<z.ZodString>;
2601
+ explanation: z.ZodNullable<z.ZodString>;
2602
+ sourceUrl: z.ZodNullable<z.ZodString>;
2603
+ }, z.core.$strip>>;
2604
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2605
+ }, z.core.$strip>>;
2606
+ export declare const scanPerformanceIssueSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2607
+ readonly type: z.ZodString;
2608
+ readonly subtype: z.ZodNullable<z.ZodString>;
2609
+ readonly url: z.ZodNullable<z.ZodString>;
2610
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
2611
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
2612
+ }, z.core.$strip>, z.ZodObject<{
2613
+ readonly type: z.ZodString;
2614
+ readonly subtype: z.ZodNullable<z.ZodString>;
2615
+ readonly url: z.ZodNullable<z.ZodString>;
2616
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
2617
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
2618
+ }, z.core.$strip>>;
2619
+ export declare const scanCachePolicySchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2620
+ readonly url: z.ZodNullable<z.ZodString>;
2621
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
2622
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
2623
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
2624
+ readonly resourceType: z.ZodNullable<z.ZodString>;
2625
+ readonly mimeType: z.ZodNullable<z.ZodString>;
2626
+ readonly versioning: z.ZodEnum<{
2627
+ fingerprinted: "fingerprinted";
2628
+ unknown: "unknown";
2629
+ }>;
2630
+ }, z.core.$strip>, z.ZodObject<{
2631
+ readonly url: z.ZodNullable<z.ZodString>;
2632
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
2633
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
2634
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
2635
+ readonly resourceType: z.ZodNullable<z.ZodString>;
2636
+ readonly mimeType: z.ZodNullable<z.ZodString>;
2637
+ readonly versioning: z.ZodEnum<{
2638
+ fingerprinted: "fingerprinted";
2639
+ unknown: "unknown";
2640
+ }>;
2641
+ }, z.core.$strip>>;
2642
+ export declare const scanThirdPartySchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2643
+ readonly entity: z.ZodNullable<z.ZodString>;
2644
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
2645
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
2646
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
2647
+ }, z.core.$strip>, z.ZodObject<{
2648
+ readonly entity: z.ZodNullable<z.ZodString>;
2649
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
2650
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
2651
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
2652
+ }, z.core.$strip>>;
2653
+ export declare const performanceScanDetailDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2654
+ readonly id: z.ZodString;
2655
+ readonly url: z.ZodString;
2656
+ readonly strategy: z.ZodString;
2657
+ readonly status: z.ZodString;
2658
+ readonly scores: z.ZodObject<{
2659
+ perf: z.ZodNullable<z.ZodNumber>;
2660
+ a11y: z.ZodNullable<z.ZodNumber>;
2661
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2662
+ seo: z.ZodNullable<z.ZodNumber>;
2663
+ }, z.core.$strict>;
2664
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2665
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2666
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2667
+ readonly fcp: z.ZodNullable<z.ZodNumber>;
2668
+ readonly speedIndex: z.ZodNullable<z.ZodNumber>;
2669
+ readonly ttfb: z.ZodNullable<z.ZodNumber>;
2670
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2671
+ readonly performanceIssues: z.ZodArray<z.ZodObject<{
2672
+ readonly type: z.ZodString;
2673
+ readonly subtype: z.ZodNullable<z.ZodString>;
2674
+ readonly url: z.ZodNullable<z.ZodString>;
2675
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
2676
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
2677
+ }, z.core.$strip>>;
2678
+ readonly cachePolicy: z.ZodArray<z.ZodObject<{
2679
+ readonly url: z.ZodNullable<z.ZodString>;
2680
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
2681
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
2682
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
2683
+ readonly resourceType: z.ZodNullable<z.ZodString>;
2684
+ readonly mimeType: z.ZodNullable<z.ZodString>;
2685
+ readonly versioning: z.ZodEnum<{
2686
+ fingerprinted: "fingerprinted";
2687
+ unknown: "unknown";
2688
+ }>;
2689
+ }, z.core.$strip>>;
2690
+ readonly thirdParties: z.ZodArray<z.ZodObject<{
2691
+ readonly entity: z.ZodNullable<z.ZodString>;
2692
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
2693
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
2694
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
2695
+ }, z.core.$strip>>;
2696
+ readonly lcpElement: z.ZodNullable<z.ZodObject<{
2697
+ selector: z.ZodNullable<z.ZodString>;
2698
+ elementType: z.ZodNullable<z.ZodString>;
2699
+ nodeLabel: z.ZodNullable<z.ZodString>;
2700
+ }, z.core.$strict>>;
2701
+ readonly accessibility: z.ZodArray<z.ZodObject<{
2702
+ readonly auditId: z.ZodString;
2703
+ readonly title: z.ZodString;
2704
+ readonly severity: z.ZodString;
2705
+ readonly description: z.ZodNullable<z.ZodString>;
2706
+ readonly wcag: z.ZodArray<z.ZodString>;
2707
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2708
+ readonly instanceCount: z.ZodNumber;
2709
+ readonly elements: z.ZodArray<z.ZodObject<{
2710
+ selector: z.ZodNullable<z.ZodString>;
2711
+ snippet: z.ZodNullable<z.ZodString>;
2712
+ message: z.ZodNullable<z.ZodString>;
2713
+ explanation: z.ZodNullable<z.ZodString>;
2714
+ sourceUrl: z.ZodNullable<z.ZodString>;
2715
+ }, z.core.$strip>>;
2716
+ /** Elements that actually failed, when more than the sample above. */
2717
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2718
+ }, z.core.$strip>>;
2719
+ readonly bestPractices: z.ZodArray<z.ZodObject<{
2720
+ readonly auditId: z.ZodString;
2721
+ readonly title: z.ZodString;
2722
+ readonly severity: z.ZodString;
2723
+ readonly description: z.ZodNullable<z.ZodString>;
2724
+ readonly wcag: z.ZodArray<z.ZodString>;
2725
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2726
+ readonly instanceCount: z.ZodNumber;
2727
+ readonly elements: z.ZodArray<z.ZodObject<{
2728
+ selector: z.ZodNullable<z.ZodString>;
2729
+ snippet: z.ZodNullable<z.ZodString>;
2730
+ message: z.ZodNullable<z.ZodString>;
2731
+ explanation: z.ZodNullable<z.ZodString>;
2732
+ sourceUrl: z.ZodNullable<z.ZodString>;
2733
+ }, z.core.$strip>>;
2734
+ /** Elements that actually failed, when more than the sample above. */
2735
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2736
+ }, z.core.$strip>>;
2737
+ readonly coverage: z.ZodObject<{
2738
+ perCheckElementCap: z.ZodNumber;
2739
+ perScanCheckCap: z.ZodNumber;
2740
+ accessibilityChecksTotal: z.ZodNumber;
2741
+ bestPracticesChecksTotal: z.ZodNumber;
2742
+ possiblyTruncated: z.ZodBoolean;
2743
+ }, z.core.$strict>;
2744
+ }, z.core.$strip>, z.ZodObject<{
2745
+ readonly id: z.ZodString;
2746
+ readonly url: z.ZodString;
2747
+ readonly strategy: z.ZodString;
2748
+ readonly status: z.ZodString;
2749
+ readonly scores: z.ZodObject<{
2750
+ perf: z.ZodNullable<z.ZodNumber>;
2751
+ a11y: z.ZodNullable<z.ZodNumber>;
2752
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2753
+ seo: z.ZodNullable<z.ZodNumber>;
2754
+ }, z.core.$loose>;
2755
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2756
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2757
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2758
+ readonly fcp: z.ZodNullable<z.ZodNumber>;
2759
+ readonly speedIndex: z.ZodNullable<z.ZodNumber>;
2760
+ readonly ttfb: z.ZodNullable<z.ZodNumber>;
2761
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2762
+ readonly performanceIssues: z.ZodArray<z.ZodObject<{
2763
+ readonly type: z.ZodString;
2764
+ readonly subtype: z.ZodNullable<z.ZodString>;
2765
+ readonly url: z.ZodNullable<z.ZodString>;
2766
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
2767
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
2768
+ }, z.core.$strip>>;
2769
+ readonly cachePolicy: z.ZodArray<z.ZodObject<{
2770
+ readonly url: z.ZodNullable<z.ZodString>;
2771
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
2772
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
2773
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
2774
+ readonly resourceType: z.ZodNullable<z.ZodString>;
2775
+ readonly mimeType: z.ZodNullable<z.ZodString>;
2776
+ readonly versioning: z.ZodEnum<{
2777
+ fingerprinted: "fingerprinted";
2778
+ unknown: "unknown";
2779
+ }>;
2780
+ }, z.core.$strip>>;
2781
+ readonly thirdParties: z.ZodArray<z.ZodObject<{
2782
+ readonly entity: z.ZodNullable<z.ZodString>;
2783
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
2784
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
2785
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
2786
+ }, z.core.$strip>>;
2787
+ readonly lcpElement: z.ZodNullable<z.ZodObject<{
2788
+ selector: z.ZodNullable<z.ZodString>;
2789
+ elementType: z.ZodNullable<z.ZodString>;
2790
+ nodeLabel: z.ZodNullable<z.ZodString>;
2791
+ }, z.core.$loose>>;
2792
+ readonly accessibility: z.ZodArray<z.ZodObject<{
2793
+ readonly auditId: z.ZodString;
2794
+ readonly title: z.ZodString;
2795
+ readonly severity: z.ZodString;
2796
+ readonly description: z.ZodNullable<z.ZodString>;
2797
+ readonly wcag: z.ZodArray<z.ZodString>;
2798
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2799
+ readonly instanceCount: z.ZodNumber;
2800
+ readonly elements: z.ZodArray<z.ZodObject<{
2801
+ selector: z.ZodNullable<z.ZodString>;
2802
+ snippet: z.ZodNullable<z.ZodString>;
2803
+ message: z.ZodNullable<z.ZodString>;
2804
+ explanation: z.ZodNullable<z.ZodString>;
2805
+ sourceUrl: z.ZodNullable<z.ZodString>;
2806
+ }, z.core.$strip>>;
2807
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2808
+ }, z.core.$strip>>;
2809
+ readonly bestPractices: z.ZodArray<z.ZodObject<{
2810
+ readonly auditId: z.ZodString;
2811
+ readonly title: z.ZodString;
2812
+ readonly severity: z.ZodString;
2813
+ readonly description: z.ZodNullable<z.ZodString>;
2814
+ readonly wcag: z.ZodArray<z.ZodString>;
2815
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2816
+ readonly instanceCount: z.ZodNumber;
2817
+ readonly elements: z.ZodArray<z.ZodObject<{
2818
+ selector: z.ZodNullable<z.ZodString>;
2819
+ snippet: z.ZodNullable<z.ZodString>;
2820
+ message: z.ZodNullable<z.ZodString>;
2821
+ explanation: z.ZodNullable<z.ZodString>;
2822
+ sourceUrl: z.ZodNullable<z.ZodString>;
2823
+ }, z.core.$strip>>;
2824
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2825
+ }, z.core.$strip>>;
2826
+ readonly coverage: z.ZodObject<{
2827
+ perCheckElementCap: z.ZodNumber;
2828
+ perScanCheckCap: z.ZodNumber;
2829
+ accessibilityChecksTotal: z.ZodNumber;
2830
+ bestPracticesChecksTotal: z.ZodNumber;
2831
+ possiblyTruncated: z.ZodBoolean;
2832
+ }, z.core.$loose>;
2833
+ }, z.core.$strip>>;
2834
+ export declare const performanceScanDetailResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2835
+ data: z.ZodObject<{
2836
+ readonly id: z.ZodString;
2837
+ readonly url: z.ZodString;
2838
+ readonly strategy: z.ZodString;
2839
+ readonly status: z.ZodString;
2840
+ readonly scores: z.ZodObject<{
2841
+ perf: z.ZodNullable<z.ZodNumber>;
2842
+ a11y: z.ZodNullable<z.ZodNumber>;
2843
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2844
+ seo: z.ZodNullable<z.ZodNumber>;
2845
+ }, z.core.$strict>;
2846
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2847
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2848
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2849
+ readonly fcp: z.ZodNullable<z.ZodNumber>;
2850
+ readonly speedIndex: z.ZodNullable<z.ZodNumber>;
2851
+ readonly ttfb: z.ZodNullable<z.ZodNumber>;
2852
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2853
+ readonly performanceIssues: z.ZodArray<z.ZodObject<{
2854
+ readonly type: z.ZodString;
2855
+ readonly subtype: z.ZodNullable<z.ZodString>;
2856
+ readonly url: z.ZodNullable<z.ZodString>;
2857
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
2858
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
2859
+ }, z.core.$strip>>;
2860
+ readonly cachePolicy: z.ZodArray<z.ZodObject<{
2861
+ readonly url: z.ZodNullable<z.ZodString>;
2862
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
2863
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
2864
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
2865
+ readonly resourceType: z.ZodNullable<z.ZodString>;
2866
+ readonly mimeType: z.ZodNullable<z.ZodString>;
2867
+ readonly versioning: z.ZodEnum<{
2868
+ fingerprinted: "fingerprinted";
2869
+ unknown: "unknown";
2870
+ }>;
2871
+ }, z.core.$strip>>;
2872
+ readonly thirdParties: z.ZodArray<z.ZodObject<{
2873
+ readonly entity: z.ZodNullable<z.ZodString>;
2874
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
2875
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
2876
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
2877
+ }, z.core.$strip>>;
2878
+ readonly lcpElement: z.ZodNullable<z.ZodObject<{
2879
+ selector: z.ZodNullable<z.ZodString>;
2880
+ elementType: z.ZodNullable<z.ZodString>;
2881
+ nodeLabel: z.ZodNullable<z.ZodString>;
2882
+ }, z.core.$strict>>;
2883
+ readonly accessibility: z.ZodArray<z.ZodObject<{
2884
+ readonly auditId: z.ZodString;
2885
+ readonly title: z.ZodString;
2886
+ readonly severity: z.ZodString;
2887
+ readonly description: z.ZodNullable<z.ZodString>;
2888
+ readonly wcag: z.ZodArray<z.ZodString>;
2889
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2890
+ readonly instanceCount: z.ZodNumber;
2891
+ readonly elements: z.ZodArray<z.ZodObject<{
2892
+ selector: z.ZodNullable<z.ZodString>;
2893
+ snippet: z.ZodNullable<z.ZodString>;
2894
+ message: z.ZodNullable<z.ZodString>;
2895
+ explanation: z.ZodNullable<z.ZodString>;
2896
+ sourceUrl: z.ZodNullable<z.ZodString>;
2897
+ }, z.core.$strip>>;
2898
+ /** Elements that actually failed, when more than the sample above. */
2899
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2900
+ }, z.core.$strip>>;
2901
+ readonly bestPractices: z.ZodArray<z.ZodObject<{
2902
+ readonly auditId: z.ZodString;
2903
+ readonly title: z.ZodString;
2904
+ readonly severity: z.ZodString;
2905
+ readonly description: z.ZodNullable<z.ZodString>;
2906
+ readonly wcag: z.ZodArray<z.ZodString>;
2907
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2908
+ readonly instanceCount: z.ZodNumber;
2909
+ readonly elements: z.ZodArray<z.ZodObject<{
2910
+ selector: z.ZodNullable<z.ZodString>;
2911
+ snippet: z.ZodNullable<z.ZodString>;
2912
+ message: z.ZodNullable<z.ZodString>;
2913
+ explanation: z.ZodNullable<z.ZodString>;
2914
+ sourceUrl: z.ZodNullable<z.ZodString>;
2915
+ }, z.core.$strip>>;
2916
+ /** Elements that actually failed, when more than the sample above. */
2917
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2918
+ }, z.core.$strip>>;
2919
+ readonly coverage: z.ZodObject<{
2920
+ perCheckElementCap: z.ZodNumber;
2921
+ perScanCheckCap: z.ZodNumber;
2922
+ accessibilityChecksTotal: z.ZodNumber;
2923
+ bestPracticesChecksTotal: z.ZodNumber;
2924
+ possiblyTruncated: z.ZodBoolean;
2925
+ }, z.core.$strict>;
2926
+ }, z.core.$strip>;
2927
+ meta: z.ZodObject<{
2928
+ requestId: z.ZodString;
2929
+ version: z.ZodLiteral<"1.0">;
2930
+ }, z.core.$strict>;
2931
+ }, z.core.$strip>, z.ZodObject<{
2932
+ data: z.ZodObject<{
2933
+ readonly id: z.ZodString;
2934
+ readonly url: z.ZodString;
2935
+ readonly strategy: z.ZodString;
2936
+ readonly status: z.ZodString;
2937
+ readonly scores: z.ZodObject<{
2938
+ perf: z.ZodNullable<z.ZodNumber>;
2939
+ a11y: z.ZodNullable<z.ZodNumber>;
2940
+ bestPractices: z.ZodNullable<z.ZodNumber>;
2941
+ seo: z.ZodNullable<z.ZodNumber>;
2942
+ }, z.core.$loose>;
2943
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
2944
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
2945
+ readonly cls: z.ZodNullable<z.ZodNumber>;
2946
+ readonly fcp: z.ZodNullable<z.ZodNumber>;
2947
+ readonly speedIndex: z.ZodNullable<z.ZodNumber>;
2948
+ readonly ttfb: z.ZodNullable<z.ZodNumber>;
2949
+ readonly completedAt: z.ZodNullable<z.ZodString>;
2950
+ readonly performanceIssues: z.ZodArray<z.ZodObject<{
2951
+ readonly type: z.ZodString;
2952
+ readonly subtype: z.ZodNullable<z.ZodString>;
2953
+ readonly url: z.ZodNullable<z.ZodString>;
2954
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
2955
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
2956
+ }, z.core.$strip>>;
2957
+ readonly cachePolicy: z.ZodArray<z.ZodObject<{
2958
+ readonly url: z.ZodNullable<z.ZodString>;
2959
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
2960
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
2961
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
2962
+ readonly resourceType: z.ZodNullable<z.ZodString>;
2963
+ readonly mimeType: z.ZodNullable<z.ZodString>;
2964
+ readonly versioning: z.ZodEnum<{
2965
+ fingerprinted: "fingerprinted";
2966
+ unknown: "unknown";
2967
+ }>;
2968
+ }, z.core.$strip>>;
2969
+ readonly thirdParties: z.ZodArray<z.ZodObject<{
2970
+ readonly entity: z.ZodNullable<z.ZodString>;
2971
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
2972
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
2973
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
2974
+ }, z.core.$strip>>;
2975
+ readonly lcpElement: z.ZodNullable<z.ZodObject<{
2976
+ selector: z.ZodNullable<z.ZodString>;
2977
+ elementType: z.ZodNullable<z.ZodString>;
2978
+ nodeLabel: z.ZodNullable<z.ZodString>;
2979
+ }, z.core.$loose>>;
2980
+ readonly accessibility: z.ZodArray<z.ZodObject<{
2981
+ readonly auditId: z.ZodString;
2982
+ readonly title: z.ZodString;
2983
+ readonly severity: z.ZodString;
2984
+ readonly description: z.ZodNullable<z.ZodString>;
2985
+ readonly wcag: z.ZodArray<z.ZodString>;
2986
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
2987
+ readonly instanceCount: z.ZodNumber;
2988
+ readonly elements: z.ZodArray<z.ZodObject<{
2989
+ selector: z.ZodNullable<z.ZodString>;
2990
+ snippet: z.ZodNullable<z.ZodString>;
2991
+ message: z.ZodNullable<z.ZodString>;
2992
+ explanation: z.ZodNullable<z.ZodString>;
2993
+ sourceUrl: z.ZodNullable<z.ZodString>;
2994
+ }, z.core.$strip>>;
2995
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
2996
+ }, z.core.$strip>>;
2997
+ readonly bestPractices: z.ZodArray<z.ZodObject<{
2998
+ readonly auditId: z.ZodString;
2999
+ readonly title: z.ZodString;
3000
+ readonly severity: z.ZodString;
3001
+ readonly description: z.ZodNullable<z.ZodString>;
3002
+ readonly wcag: z.ZodArray<z.ZodString>;
3003
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
3004
+ readonly instanceCount: z.ZodNumber;
3005
+ readonly elements: z.ZodArray<z.ZodObject<{
3006
+ selector: z.ZodNullable<z.ZodString>;
3007
+ snippet: z.ZodNullable<z.ZodString>;
3008
+ message: z.ZodNullable<z.ZodString>;
3009
+ explanation: z.ZodNullable<z.ZodString>;
3010
+ sourceUrl: z.ZodNullable<z.ZodString>;
3011
+ }, z.core.$strip>>;
3012
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
3013
+ }, z.core.$strip>>;
3014
+ readonly coverage: z.ZodObject<{
3015
+ perCheckElementCap: z.ZodNumber;
3016
+ perScanCheckCap: z.ZodNumber;
3017
+ accessibilityChecksTotal: z.ZodNumber;
3018
+ bestPracticesChecksTotal: z.ZodNumber;
3019
+ possiblyTruncated: z.ZodBoolean;
3020
+ }, z.core.$loose>;
3021
+ }, z.core.$strip>;
3022
+ meta: z.ZodObject<{
3023
+ requestId: z.ZodString;
3024
+ version: z.ZodLiteral<"1.0">;
3025
+ }, z.core.$loose>;
3026
+ }, z.core.$strip>>;
3027
+ export type PerformanceScanDetail = z.output<typeof performanceScanDetailDataSchema.producer>;
3028
+ export declare const performanceScanDetailOperation: {
3029
+ readonly id: 'page.performance.scan';
3030
+ readonly method: 'GET';
3031
+ readonly path: '/api/v1/sites/{siteId}/performance/scans/{scanId}';
3032
+ readonly visibility: 'public';
3033
+ readonly semantics: {
3034
+ readonly kind: 'query';
3035
+ readonly sideEffects: 'none';
3036
+ readonly retry: 'idempotent';
3037
+ readonly readConsistency: 'primary';
3038
+ };
3039
+ readonly auth: {
3040
+ readonly credentials: readonly ["session", "api_token"];
3041
+ readonly scopes: readonly ["page:read"];
3042
+ readonly minimumRole: 'viewer';
3043
+ readonly ownership: 'site';
3044
+ };
3045
+ readonly request: {
3046
+ readonly params: z.ZodObject<{
3047
+ siteId: z.ZodString;
3048
+ scanId: z.ZodString;
3049
+ }, z.core.$strict>;
3050
+ readonly query: null;
3051
+ readonly headers: null;
3052
+ readonly body: null;
3053
+ };
3054
+ readonly responses: {
3055
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3056
+ data: z.ZodObject<{
3057
+ readonly id: z.ZodString;
3058
+ readonly url: z.ZodString;
3059
+ readonly strategy: z.ZodString;
3060
+ readonly status: z.ZodString;
3061
+ readonly scores: z.ZodObject<{
3062
+ perf: z.ZodNullable<z.ZodNumber>;
3063
+ a11y: z.ZodNullable<z.ZodNumber>;
3064
+ bestPractices: z.ZodNullable<z.ZodNumber>;
3065
+ seo: z.ZodNullable<z.ZodNumber>;
3066
+ }, z.core.$strict>;
3067
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3068
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3069
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3070
+ readonly fcp: z.ZodNullable<z.ZodNumber>;
3071
+ readonly speedIndex: z.ZodNullable<z.ZodNumber>;
3072
+ readonly ttfb: z.ZodNullable<z.ZodNumber>;
3073
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3074
+ readonly performanceIssues: z.ZodArray<z.ZodObject<{
3075
+ readonly type: z.ZodString;
3076
+ readonly subtype: z.ZodNullable<z.ZodString>;
3077
+ readonly url: z.ZodNullable<z.ZodString>;
3078
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
3079
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
3080
+ }, z.core.$strip>>;
3081
+ readonly cachePolicy: z.ZodArray<z.ZodObject<{
3082
+ readonly url: z.ZodNullable<z.ZodString>;
3083
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
3084
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
3085
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
3086
+ readonly resourceType: z.ZodNullable<z.ZodString>;
3087
+ readonly mimeType: z.ZodNullable<z.ZodString>;
3088
+ readonly versioning: z.ZodEnum<{
3089
+ fingerprinted: "fingerprinted";
3090
+ unknown: "unknown";
3091
+ }>;
3092
+ }, z.core.$strip>>;
3093
+ readonly thirdParties: z.ZodArray<z.ZodObject<{
3094
+ readonly entity: z.ZodNullable<z.ZodString>;
3095
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
3096
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
3097
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
3098
+ }, z.core.$strip>>;
3099
+ readonly lcpElement: z.ZodNullable<z.ZodObject<{
3100
+ selector: z.ZodNullable<z.ZodString>;
3101
+ elementType: z.ZodNullable<z.ZodString>;
3102
+ nodeLabel: z.ZodNullable<z.ZodString>;
3103
+ }, z.core.$strict>>;
3104
+ readonly accessibility: z.ZodArray<z.ZodObject<{
3105
+ readonly auditId: z.ZodString;
3106
+ readonly title: z.ZodString;
3107
+ readonly severity: z.ZodString;
3108
+ readonly description: z.ZodNullable<z.ZodString>;
3109
+ readonly wcag: z.ZodArray<z.ZodString>;
3110
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
3111
+ readonly instanceCount: z.ZodNumber;
3112
+ readonly elements: z.ZodArray<z.ZodObject<{
3113
+ selector: z.ZodNullable<z.ZodString>;
3114
+ snippet: z.ZodNullable<z.ZodString>;
3115
+ message: z.ZodNullable<z.ZodString>;
3116
+ explanation: z.ZodNullable<z.ZodString>;
3117
+ sourceUrl: z.ZodNullable<z.ZodString>;
3118
+ }, z.core.$strip>>;
3119
+ /** Elements that actually failed, when more than the sample above. */
3120
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
3121
+ }, z.core.$strip>>;
3122
+ readonly bestPractices: z.ZodArray<z.ZodObject<{
3123
+ readonly auditId: z.ZodString;
3124
+ readonly title: z.ZodString;
3125
+ readonly severity: z.ZodString;
3126
+ readonly description: z.ZodNullable<z.ZodString>;
3127
+ readonly wcag: z.ZodArray<z.ZodString>;
3128
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
3129
+ readonly instanceCount: z.ZodNumber;
3130
+ readonly elements: z.ZodArray<z.ZodObject<{
3131
+ selector: z.ZodNullable<z.ZodString>;
3132
+ snippet: z.ZodNullable<z.ZodString>;
3133
+ message: z.ZodNullable<z.ZodString>;
3134
+ explanation: z.ZodNullable<z.ZodString>;
3135
+ sourceUrl: z.ZodNullable<z.ZodString>;
3136
+ }, z.core.$strip>>;
3137
+ /** Elements that actually failed, when more than the sample above. */
3138
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
3139
+ }, z.core.$strip>>;
3140
+ readonly coverage: z.ZodObject<{
3141
+ perCheckElementCap: z.ZodNumber;
3142
+ perScanCheckCap: z.ZodNumber;
3143
+ accessibilityChecksTotal: z.ZodNumber;
3144
+ bestPracticesChecksTotal: z.ZodNumber;
3145
+ possiblyTruncated: z.ZodBoolean;
3146
+ }, z.core.$strict>;
3147
+ }, z.core.$strip>;
3148
+ meta: z.ZodObject<{
3149
+ requestId: z.ZodString;
3150
+ version: z.ZodLiteral<"1.0">;
3151
+ }, z.core.$strict>;
3152
+ }, z.core.$strip>, z.ZodObject<{
3153
+ data: z.ZodObject<{
3154
+ readonly id: z.ZodString;
3155
+ readonly url: z.ZodString;
3156
+ readonly strategy: z.ZodString;
3157
+ readonly status: z.ZodString;
3158
+ readonly scores: z.ZodObject<{
3159
+ perf: z.ZodNullable<z.ZodNumber>;
3160
+ a11y: z.ZodNullable<z.ZodNumber>;
3161
+ bestPractices: z.ZodNullable<z.ZodNumber>;
3162
+ seo: z.ZodNullable<z.ZodNumber>;
3163
+ }, z.core.$loose>;
3164
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3165
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3166
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3167
+ readonly fcp: z.ZodNullable<z.ZodNumber>;
3168
+ readonly speedIndex: z.ZodNullable<z.ZodNumber>;
3169
+ readonly ttfb: z.ZodNullable<z.ZodNumber>;
3170
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3171
+ readonly performanceIssues: z.ZodArray<z.ZodObject<{
3172
+ readonly type: z.ZodString;
3173
+ readonly subtype: z.ZodNullable<z.ZodString>;
3174
+ readonly url: z.ZodNullable<z.ZodString>;
3175
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
3176
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
3177
+ }, z.core.$strip>>;
3178
+ readonly cachePolicy: z.ZodArray<z.ZodObject<{
3179
+ readonly url: z.ZodNullable<z.ZodString>;
3180
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
3181
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
3182
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
3183
+ readonly resourceType: z.ZodNullable<z.ZodString>;
3184
+ readonly mimeType: z.ZodNullable<z.ZodString>;
3185
+ readonly versioning: z.ZodEnum<{
3186
+ fingerprinted: "fingerprinted";
3187
+ unknown: "unknown";
3188
+ }>;
3189
+ }, z.core.$strip>>;
3190
+ readonly thirdParties: z.ZodArray<z.ZodObject<{
3191
+ readonly entity: z.ZodNullable<z.ZodString>;
3192
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
3193
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
3194
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
3195
+ }, z.core.$strip>>;
3196
+ readonly lcpElement: z.ZodNullable<z.ZodObject<{
3197
+ selector: z.ZodNullable<z.ZodString>;
3198
+ elementType: z.ZodNullable<z.ZodString>;
3199
+ nodeLabel: z.ZodNullable<z.ZodString>;
3200
+ }, z.core.$loose>>;
3201
+ readonly accessibility: z.ZodArray<z.ZodObject<{
3202
+ readonly auditId: z.ZodString;
3203
+ readonly title: z.ZodString;
3204
+ readonly severity: z.ZodString;
3205
+ readonly description: z.ZodNullable<z.ZodString>;
3206
+ readonly wcag: z.ZodArray<z.ZodString>;
3207
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
3208
+ readonly instanceCount: z.ZodNumber;
3209
+ readonly elements: z.ZodArray<z.ZodObject<{
3210
+ selector: z.ZodNullable<z.ZodString>;
3211
+ snippet: z.ZodNullable<z.ZodString>;
3212
+ message: z.ZodNullable<z.ZodString>;
3213
+ explanation: z.ZodNullable<z.ZodString>;
3214
+ sourceUrl: z.ZodNullable<z.ZodString>;
3215
+ }, z.core.$strip>>;
3216
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
3217
+ }, z.core.$strip>>;
3218
+ readonly bestPractices: z.ZodArray<z.ZodObject<{
3219
+ readonly auditId: z.ZodString;
3220
+ readonly title: z.ZodString;
3221
+ readonly severity: z.ZodString;
3222
+ readonly description: z.ZodNullable<z.ZodString>;
3223
+ readonly wcag: z.ZodArray<z.ZodString>;
3224
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
3225
+ readonly instanceCount: z.ZodNumber;
3226
+ readonly elements: z.ZodArray<z.ZodObject<{
3227
+ selector: z.ZodNullable<z.ZodString>;
3228
+ snippet: z.ZodNullable<z.ZodString>;
3229
+ message: z.ZodNullable<z.ZodString>;
3230
+ explanation: z.ZodNullable<z.ZodString>;
3231
+ sourceUrl: z.ZodNullable<z.ZodString>;
3232
+ }, z.core.$strip>>;
3233
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
3234
+ }, z.core.$strip>>;
3235
+ readonly coverage: z.ZodObject<{
3236
+ perCheckElementCap: z.ZodNumber;
3237
+ perScanCheckCap: z.ZodNumber;
3238
+ accessibilityChecksTotal: z.ZodNumber;
3239
+ bestPracticesChecksTotal: z.ZodNumber;
3240
+ possiblyTruncated: z.ZodBoolean;
3241
+ }, z.core.$loose>;
3242
+ }, z.core.$strip>;
3243
+ meta: z.ZodObject<{
3244
+ requestId: z.ZodString;
3245
+ version: z.ZodLiteral<"1.0">;
3246
+ }, z.core.$loose>;
3247
+ }, z.core.$strip>>;
3248
+ };
3249
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
3250
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3251
+ readonly error: z.ZodObject<{
3252
+ code: z.ZodEnum<{
3253
+ auth_expired: "auth_expired";
3254
+ conflict: "conflict";
3255
+ contract_violation: "contract_violation";
3256
+ entitlement_required: "entitlement_required";
3257
+ forbidden: "forbidden";
3258
+ internal_error: "internal_error";
3259
+ invalid_request: "invalid_request";
3260
+ not_found: "not_found";
3261
+ provider_unavailable: "provider_unavailable";
3262
+ quota_exhausted: "quota_exhausted";
3263
+ rate_limited: "rate_limited";
3264
+ site_ambiguous: "site_ambiguous";
3265
+ stale_evidence: "stale_evidence";
3266
+ unauthorized: "unauthorized";
3267
+ }>;
3268
+ message: z.ZodString;
3269
+ requestId: z.ZodString;
3270
+ retryable: z.ZodBoolean;
3271
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3272
+ }, z.core.$strict>;
3273
+ }, z.core.$strip>, z.ZodObject<{
3274
+ readonly error: z.ZodObject<{
3275
+ code: z.ZodEnum<{
3276
+ auth_expired: "auth_expired";
3277
+ conflict: "conflict";
3278
+ contract_violation: "contract_violation";
3279
+ entitlement_required: "entitlement_required";
3280
+ forbidden: "forbidden";
3281
+ internal_error: "internal_error";
3282
+ invalid_request: "invalid_request";
3283
+ not_found: "not_found";
3284
+ provider_unavailable: "provider_unavailable";
3285
+ quota_exhausted: "quota_exhausted";
3286
+ rate_limited: "rate_limited";
3287
+ site_ambiguous: "site_ambiguous";
3288
+ stale_evidence: "stale_evidence";
3289
+ unauthorized: "unauthorized";
3290
+ }>;
3291
+ message: z.ZodString;
3292
+ requestId: z.ZodString;
3293
+ retryable: z.ZodBoolean;
3294
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3295
+ }, z.core.$loose>;
3296
+ }, z.core.$strip>>;
3297
+ readonly resources: {
3298
+ readonly reads: readonly [{
3299
+ readonly type: 'site.page';
3300
+ readonly idFrom: 'params.siteId';
3301
+ }];
3302
+ readonly changes: readonly [];
3303
+ };
3304
+ readonly policy: {
3305
+ readonly rate: {
3306
+ readonly name: 'public-v1-fixed-window';
3307
+ readonly limit: 50;
3308
+ readonly windowSeconds: 60;
3309
+ };
3310
+ readonly idempotency: {
3311
+ readonly _tag: 'none';
3312
+ };
3313
+ readonly entitlement: null;
3314
+ readonly meter: null;
3315
+ };
3316
+ readonly lifecycle: {
3317
+ readonly introduced: '1.2.0';
3318
+ };
3319
+ readonly docs: {
3320
+ readonly summary: 'Get one Lighthouse Scan';
3321
+ readonly description: 'Returns one Scan with the evidence behind its scores: the wasteful assets, the repeat-visit cache policy, the third-party scripts, the LCP element, and every failing accessibility and best-practices check with the CSS selectors and DOM snippets that failed. Read coverage before quoting a total: elements and checks are both capped per Scan.';
3322
+ readonly tags: readonly ["Pages"];
3323
+ readonly examples: readonly [{
3324
+ readonly request: {
3325
+ readonly params: {
3326
+ readonly siteId: 'site_01JXYZ';
3327
+ readonly scanId: 'scan_01JXYZ';
3328
+ };
3329
+ };
3330
+ readonly response: {
3331
+ readonly status: 200;
3332
+ readonly body: {
3333
+ readonly data: {
3334
+ readonly id: 'scan_01JXYZ';
3335
+ readonly url: 'https://example.com/';
3336
+ readonly strategy: 'mobile';
3337
+ readonly status: 'complete';
3338
+ readonly scores: {
3339
+ readonly perf: 82;
3340
+ readonly a11y: 96;
3341
+ readonly bestPractices: 92;
3342
+ readonly seo: 98;
3343
+ };
3344
+ readonly lcp: 2200;
3345
+ readonly tbt: 180;
3346
+ readonly cls: 0.08;
3347
+ readonly fcp: 1100;
3348
+ readonly speedIndex: 2400;
3349
+ readonly ttfb: 210;
3350
+ readonly completedAt: '2026-08-10T01:00:00.000Z';
3351
+ readonly performanceIssues: readonly [];
3352
+ readonly cachePolicy: readonly [];
3353
+ readonly thirdParties: readonly [];
3354
+ readonly lcpElement: {
3355
+ readonly selector: 'main > img.hero';
3356
+ readonly elementType: 'image';
3357
+ readonly nodeLabel: 'Hero';
3358
+ };
3359
+ readonly accessibility: readonly [];
3360
+ readonly bestPractices: readonly [];
3361
+ readonly coverage: {
3362
+ readonly perCheckElementCap: 5;
3363
+ readonly perScanCheckCap: 12;
3364
+ readonly accessibilityChecksTotal: 0;
3365
+ readonly bestPracticesChecksTotal: 0;
3366
+ readonly possiblyTruncated: false;
3367
+ };
3368
+ };
3369
+ readonly meta: {
3370
+ readonly requestId: 'req_01JXYZ';
3371
+ readonly version: '1.0';
3372
+ };
3373
+ };
3374
+ };
3375
+ }];
3376
+ };
3377
+ };
990
3378
  export declare const performanceV1Registry: import("./core.js").PublicV1Registry<{
991
3379
  readonly overview: {
992
3380
  readonly id: 'page.performance';
993
3381
  readonly method: 'GET';
994
- readonly path: '/api/v1/sites/{siteId}/performance';
3382
+ readonly path: '/api/v1/sites/{siteId}/performance';
3383
+ readonly visibility: 'public';
3384
+ readonly semantics: {
3385
+ readonly kind: 'query';
3386
+ readonly sideEffects: 'none';
3387
+ readonly retry: 'idempotent';
3388
+ readonly readConsistency: 'primary';
3389
+ };
3390
+ readonly auth: {
3391
+ readonly credentials: readonly ["session", "api_token"];
3392
+ readonly scopes: readonly ["page:read"];
3393
+ readonly minimumRole: 'viewer';
3394
+ readonly ownership: 'site';
3395
+ };
3396
+ readonly request: {
3397
+ readonly params: z.ZodObject<{
3398
+ siteId: z.ZodString;
3399
+ }, z.core.$strict>;
3400
+ readonly query: null;
3401
+ readonly headers: null;
3402
+ readonly body: null;
3403
+ };
3404
+ readonly responses: {
3405
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3406
+ data: z.ZodObject<{
3407
+ readonly health: z.ZodNullable<z.ZodObject<{
3408
+ readonly perf: z.ZodObject<{
3409
+ readonly median: z.ZodNullable<z.ZodNumber>;
3410
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3411
+ readonly best: z.ZodNullable<z.ZodNumber>;
3412
+ }, z.core.$strip>;
3413
+ readonly a11y: z.ZodObject<{
3414
+ readonly median: z.ZodNullable<z.ZodNumber>;
3415
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3416
+ }, z.core.$strip>;
3417
+ readonly bestPractices: z.ZodObject<{
3418
+ readonly median: z.ZodNullable<z.ZodNumber>;
3419
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3420
+ }, z.core.$strip>;
3421
+ readonly seo: z.ZodObject<{
3422
+ readonly median: z.ZodNullable<z.ZodNumber>;
3423
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3424
+ }, z.core.$strip>;
3425
+ readonly lcp: z.ZodObject<{
3426
+ readonly median: z.ZodNullable<z.ZodNumber>;
3427
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3428
+ readonly statusCounts: z.ZodObject<{
3429
+ good: z.ZodNumber;
3430
+ ni: z.ZodNumber;
3431
+ poor: z.ZodNumber;
3432
+ }, z.core.$strict>;
3433
+ }, z.core.$strip>;
3434
+ readonly tbt: z.ZodObject<{
3435
+ readonly median: z.ZodNullable<z.ZodNumber>;
3436
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3437
+ readonly statusCounts: z.ZodObject<{
3438
+ good: z.ZodNumber;
3439
+ ni: z.ZodNumber;
3440
+ poor: z.ZodNumber;
3441
+ }, z.core.$strict>;
3442
+ }, z.core.$strip>;
3443
+ readonly cls: z.ZodObject<{
3444
+ readonly median: z.ZodNullable<z.ZodNumber>;
3445
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3446
+ readonly statusCounts: z.ZodObject<{
3447
+ good: z.ZodNumber;
3448
+ ni: z.ZodNumber;
3449
+ poor: z.ZodNumber;
3450
+ }, z.core.$strict>;
3451
+ }, z.core.$strip>;
3452
+ readonly scannedPageCount: z.ZodNumber;
3453
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
3454
+ }, z.core.$strip>>;
3455
+ readonly homepage: z.ZodNullable<z.ZodObject<{
3456
+ readonly scanId: z.ZodString;
3457
+ readonly url: z.ZodString;
3458
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3459
+ readonly perf: z.ZodNullable<z.ZodNumber>;
3460
+ readonly a11y: z.ZodNullable<z.ZodNumber>;
3461
+ readonly bestPractices: z.ZodNullable<z.ZodNumber>;
3462
+ readonly seo: z.ZodNullable<z.ZodNumber>;
3463
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3464
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3465
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3466
+ }, z.core.$strip>>;
3467
+ readonly homepageDesktop: z.ZodNullable<z.ZodObject<{
3468
+ readonly scanId: z.ZodString;
3469
+ readonly url: z.ZodString;
3470
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3471
+ readonly perf: z.ZodNullable<z.ZodNumber>;
3472
+ readonly a11y: z.ZodNullable<z.ZodNumber>;
3473
+ readonly bestPractices: z.ZodNullable<z.ZodNumber>;
3474
+ readonly seo: z.ZodNullable<z.ZodNumber>;
3475
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3476
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3477
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3478
+ }, z.core.$strip>>;
3479
+ readonly routes: z.ZodArray<z.ZodObject<{
3480
+ readonly pageId: z.ZodString;
3481
+ readonly path: z.ZodString;
3482
+ readonly url: z.ZodString;
3483
+ readonly latestScanId: z.ZodNullable<z.ZodString>;
3484
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3485
+ readonly perf: z.ZodNullable<z.ZodNumber>;
3486
+ readonly a11y: z.ZodNullable<z.ZodNumber>;
3487
+ readonly bestPractices: z.ZodNullable<z.ZodNumber>;
3488
+ readonly seo: z.ZodNullable<z.ZodNumber>;
3489
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3490
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3491
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3492
+ }, z.core.$strip>>;
3493
+ readonly routesDesktop: z.ZodArray<z.ZodObject<{
3494
+ readonly pageId: z.ZodString;
3495
+ readonly path: z.ZodString;
3496
+ readonly url: z.ZodString;
3497
+ readonly latestScanId: z.ZodNullable<z.ZodString>;
3498
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3499
+ readonly perf: z.ZodNullable<z.ZodNumber>;
3500
+ readonly a11y: z.ZodNullable<z.ZodNumber>;
3501
+ readonly bestPractices: z.ZodNullable<z.ZodNumber>;
3502
+ readonly seo: z.ZodNullable<z.ZodNumber>;
3503
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3504
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3505
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3506
+ }, z.core.$strip>>;
3507
+ }, z.core.$strip>;
3508
+ meta: z.ZodObject<{
3509
+ requestId: z.ZodString;
3510
+ version: z.ZodLiteral<"1.0">;
3511
+ }, z.core.$strict>;
3512
+ }, z.core.$strip>, z.ZodObject<{
3513
+ data: z.ZodObject<{
3514
+ readonly health: z.ZodNullable<z.ZodObject<{
3515
+ readonly perf: z.ZodObject<{
3516
+ readonly median: z.ZodNullable<z.ZodNumber>;
3517
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3518
+ readonly best: z.ZodNullable<z.ZodNumber>;
3519
+ }, z.core.$strip>;
3520
+ readonly a11y: z.ZodObject<{
3521
+ readonly median: z.ZodNullable<z.ZodNumber>;
3522
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3523
+ }, z.core.$strip>;
3524
+ readonly bestPractices: z.ZodObject<{
3525
+ readonly median: z.ZodNullable<z.ZodNumber>;
3526
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3527
+ }, z.core.$strip>;
3528
+ readonly seo: z.ZodObject<{
3529
+ readonly median: z.ZodNullable<z.ZodNumber>;
3530
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3531
+ }, z.core.$strip>;
3532
+ readonly lcp: z.ZodObject<{
3533
+ readonly median: z.ZodNullable<z.ZodNumber>;
3534
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3535
+ readonly statusCounts: z.ZodObject<{
3536
+ good: z.ZodNumber;
3537
+ ni: z.ZodNumber;
3538
+ poor: z.ZodNumber;
3539
+ }, z.core.$loose>;
3540
+ }, z.core.$strip>;
3541
+ readonly tbt: z.ZodObject<{
3542
+ readonly median: z.ZodNullable<z.ZodNumber>;
3543
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3544
+ readonly statusCounts: z.ZodObject<{
3545
+ good: z.ZodNumber;
3546
+ ni: z.ZodNumber;
3547
+ poor: z.ZodNumber;
3548
+ }, z.core.$loose>;
3549
+ }, z.core.$strip>;
3550
+ readonly cls: z.ZodObject<{
3551
+ readonly median: z.ZodNullable<z.ZodNumber>;
3552
+ readonly worst: z.ZodNullable<z.ZodNumber>;
3553
+ readonly statusCounts: z.ZodObject<{
3554
+ good: z.ZodNumber;
3555
+ ni: z.ZodNumber;
3556
+ poor: z.ZodNumber;
3557
+ }, z.core.$loose>;
3558
+ }, z.core.$strip>;
3559
+ readonly scannedPageCount: z.ZodNumber;
3560
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
3561
+ }, z.core.$strip>>;
3562
+ readonly homepage: z.ZodNullable<z.ZodObject<{
3563
+ readonly scanId: z.ZodString;
3564
+ readonly url: z.ZodString;
3565
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3566
+ readonly perf: z.ZodNullable<z.ZodNumber>;
3567
+ readonly a11y: z.ZodNullable<z.ZodNumber>;
3568
+ readonly bestPractices: z.ZodNullable<z.ZodNumber>;
3569
+ readonly seo: z.ZodNullable<z.ZodNumber>;
3570
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3571
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3572
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3573
+ }, z.core.$strip>>;
3574
+ readonly homepageDesktop: z.ZodNullable<z.ZodObject<{
3575
+ readonly scanId: z.ZodString;
3576
+ readonly url: z.ZodString;
3577
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3578
+ readonly perf: z.ZodNullable<z.ZodNumber>;
3579
+ readonly a11y: z.ZodNullable<z.ZodNumber>;
3580
+ readonly bestPractices: z.ZodNullable<z.ZodNumber>;
3581
+ readonly seo: z.ZodNullable<z.ZodNumber>;
3582
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3583
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3584
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3585
+ }, z.core.$strip>>;
3586
+ readonly routes: z.ZodArray<z.ZodObject<{
3587
+ readonly pageId: z.ZodString;
3588
+ readonly path: z.ZodString;
3589
+ readonly url: z.ZodString;
3590
+ readonly latestScanId: z.ZodNullable<z.ZodString>;
3591
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3592
+ readonly perf: z.ZodNullable<z.ZodNumber>;
3593
+ readonly a11y: z.ZodNullable<z.ZodNumber>;
3594
+ readonly bestPractices: z.ZodNullable<z.ZodNumber>;
3595
+ readonly seo: z.ZodNullable<z.ZodNumber>;
3596
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3597
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3598
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3599
+ }, z.core.$strip>>;
3600
+ readonly routesDesktop: z.ZodArray<z.ZodObject<{
3601
+ readonly pageId: z.ZodString;
3602
+ readonly path: z.ZodString;
3603
+ readonly url: z.ZodString;
3604
+ readonly latestScanId: z.ZodNullable<z.ZodString>;
3605
+ readonly completedAt: z.ZodNullable<z.ZodString>;
3606
+ readonly perf: z.ZodNullable<z.ZodNumber>;
3607
+ readonly a11y: z.ZodNullable<z.ZodNumber>;
3608
+ readonly bestPractices: z.ZodNullable<z.ZodNumber>;
3609
+ readonly seo: z.ZodNullable<z.ZodNumber>;
3610
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
3611
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
3612
+ readonly cls: z.ZodNullable<z.ZodNumber>;
3613
+ }, z.core.$strip>>;
3614
+ }, z.core.$strip>;
3615
+ meta: z.ZodObject<{
3616
+ requestId: z.ZodString;
3617
+ version: z.ZodLiteral<"1.0">;
3618
+ }, z.core.$loose>;
3619
+ }, z.core.$strip>>;
3620
+ };
3621
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
3622
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3623
+ readonly error: z.ZodObject<{
3624
+ code: z.ZodEnum<{
3625
+ auth_expired: "auth_expired";
3626
+ conflict: "conflict";
3627
+ contract_violation: "contract_violation";
3628
+ entitlement_required: "entitlement_required";
3629
+ forbidden: "forbidden";
3630
+ internal_error: "internal_error";
3631
+ invalid_request: "invalid_request";
3632
+ not_found: "not_found";
3633
+ provider_unavailable: "provider_unavailable";
3634
+ quota_exhausted: "quota_exhausted";
3635
+ rate_limited: "rate_limited";
3636
+ site_ambiguous: "site_ambiguous";
3637
+ stale_evidence: "stale_evidence";
3638
+ unauthorized: "unauthorized";
3639
+ }>;
3640
+ message: z.ZodString;
3641
+ requestId: z.ZodString;
3642
+ retryable: z.ZodBoolean;
3643
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3644
+ }, z.core.$strict>;
3645
+ }, z.core.$strip>, z.ZodObject<{
3646
+ readonly error: z.ZodObject<{
3647
+ code: z.ZodEnum<{
3648
+ auth_expired: "auth_expired";
3649
+ conflict: "conflict";
3650
+ contract_violation: "contract_violation";
3651
+ entitlement_required: "entitlement_required";
3652
+ forbidden: "forbidden";
3653
+ internal_error: "internal_error";
3654
+ invalid_request: "invalid_request";
3655
+ not_found: "not_found";
3656
+ provider_unavailable: "provider_unavailable";
3657
+ quota_exhausted: "quota_exhausted";
3658
+ rate_limited: "rate_limited";
3659
+ site_ambiguous: "site_ambiguous";
3660
+ stale_evidence: "stale_evidence";
3661
+ unauthorized: "unauthorized";
3662
+ }>;
3663
+ message: z.ZodString;
3664
+ requestId: z.ZodString;
3665
+ retryable: z.ZodBoolean;
3666
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3667
+ }, z.core.$loose>;
3668
+ }, z.core.$strip>>;
3669
+ readonly resources: {
3670
+ readonly reads: readonly [{
3671
+ readonly type: 'site.page';
3672
+ readonly idFrom: 'params.siteId';
3673
+ }];
3674
+ readonly changes: readonly [];
3675
+ };
3676
+ readonly policy: {
3677
+ readonly rate: {
3678
+ readonly name: 'public-v1-fixed-window';
3679
+ readonly limit: 50;
3680
+ readonly windowSeconds: 60;
3681
+ };
3682
+ readonly idempotency: {
3683
+ readonly _tag: 'none';
3684
+ };
3685
+ readonly entitlement: null;
3686
+ readonly meter: null;
3687
+ };
3688
+ readonly lifecycle: {
3689
+ readonly introduced: '1.0.0';
3690
+ };
3691
+ readonly docs: {
3692
+ readonly summary: 'Get Site Performance';
3693
+ readonly description: 'Returns stored fleet-level Lighthouse health and the latest mobile and desktop evidence for monitored Pages. Use Page inspection for one Page.';
3694
+ readonly tags: readonly ["Pages"];
3695
+ readonly examples: readonly [{
3696
+ readonly request: {
3697
+ readonly params: {
3698
+ readonly siteId: 'site_01JXYZ';
3699
+ };
3700
+ };
3701
+ readonly response: {
3702
+ readonly status: 200;
3703
+ readonly body: {
3704
+ readonly data: {
3705
+ readonly health: {
3706
+ readonly perf: {
3707
+ readonly median: 82;
3708
+ readonly worst: 68;
3709
+ readonly best: 94;
3710
+ };
3711
+ readonly a11y: {
3712
+ readonly median: 96;
3713
+ readonly worst: 91;
3714
+ };
3715
+ readonly bestPractices: {
3716
+ readonly median: 92;
3717
+ readonly worst: 86;
3718
+ };
3719
+ readonly seo: {
3720
+ readonly median: 98;
3721
+ readonly worst: 94;
3722
+ };
3723
+ readonly lcp: {
3724
+ readonly median: 2200;
3725
+ readonly worst: 4100;
3726
+ readonly statusCounts: {
3727
+ readonly good: 3;
3728
+ readonly ni: 1;
3729
+ readonly poor: 1;
3730
+ };
3731
+ };
3732
+ readonly tbt: {
3733
+ readonly median: 180;
3734
+ readonly worst: 650;
3735
+ readonly statusCounts: {
3736
+ readonly good: 3;
3737
+ readonly ni: 1;
3738
+ readonly poor: 1;
3739
+ };
3740
+ };
3741
+ readonly cls: {
3742
+ readonly median: 80;
3743
+ readonly worst: 260;
3744
+ readonly statusCounts: {
3745
+ readonly good: 4;
3746
+ readonly ni: 0;
3747
+ readonly poor: 1;
3748
+ };
3749
+ };
3750
+ readonly scannedPageCount: 5;
3751
+ readonly lastScanAt: '2026-08-10T01:00:00.000Z';
3752
+ };
3753
+ readonly homepage: null;
3754
+ readonly homepageDesktop: null;
3755
+ readonly routes: readonly [];
3756
+ readonly routesDesktop: readonly [];
3757
+ };
3758
+ readonly meta: {
3759
+ readonly requestId: 'req_01JXYZ';
3760
+ readonly version: '1.0';
3761
+ };
3762
+ };
3763
+ };
3764
+ }];
3765
+ };
3766
+ };
3767
+ readonly vitals: {
3768
+ readonly id: 'page.vitals';
3769
+ readonly method: 'GET';
3770
+ readonly path: '/api/v1/sites/{siteId}/vitals';
3771
+ readonly visibility: 'public';
3772
+ readonly semantics: {
3773
+ readonly kind: 'query';
3774
+ readonly sideEffects: 'none';
3775
+ readonly retry: 'idempotent';
3776
+ readonly readConsistency: 'primary';
3777
+ };
3778
+ readonly auth: {
3779
+ readonly credentials: readonly ["session", "api_token"];
3780
+ readonly scopes: readonly ["page:read"];
3781
+ readonly minimumRole: 'viewer';
3782
+ readonly ownership: 'site';
3783
+ };
3784
+ readonly request: {
3785
+ readonly params: z.ZodObject<{
3786
+ siteId: z.ZodString;
3787
+ }, z.core.$strict>;
3788
+ readonly query: z.ZodObject<{
3789
+ url: z.ZodOptional<z.ZodString>;
3790
+ formFactor: z.ZodDefault<z.ZodEnum<{
3791
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
3792
+ DESKTOP: "DESKTOP";
3793
+ PHONE: "PHONE";
3794
+ }>>;
3795
+ view: z.ZodDefault<z.ZodEnum<{
3796
+ summary: "summary";
3797
+ trend: "trend";
3798
+ }>>;
3799
+ }, z.core.$strict>;
3800
+ readonly headers: null;
3801
+ readonly body: null;
3802
+ };
3803
+ readonly responses: {
3804
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3805
+ data: z.ZodObject<{
3806
+ readonly target: z.ZodString;
3807
+ readonly mode: z.ZodEnum<{
3808
+ origin: "origin";
3809
+ url: "url";
3810
+ }>;
3811
+ readonly formFactor: z.ZodEnum<{
3812
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
3813
+ DESKTOP: "DESKTOP";
3814
+ PHONE: "PHONE";
3815
+ }>;
3816
+ readonly view: z.ZodEnum<{
3817
+ summary: "summary";
3818
+ trend: "trend";
3819
+ }>;
3820
+ readonly available: z.ZodBoolean;
3821
+ readonly message: z.ZodNullable<z.ZodString>;
3822
+ readonly summary: z.ZodNullable<z.ZodObject<{
3823
+ lcp: z.ZodObject<{
3824
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3825
+ readonly status: z.ZodNullable<z.ZodEnum<{
3826
+ good: "good";
3827
+ "needs-improvement": "needs-improvement";
3828
+ poor: "poor";
3829
+ }>>;
3830
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
3831
+ }, z.core.$strip>;
3832
+ inp: z.ZodObject<{
3833
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3834
+ readonly status: z.ZodNullable<z.ZodEnum<{
3835
+ good: "good";
3836
+ "needs-improvement": "needs-improvement";
3837
+ poor: "poor";
3838
+ }>>;
3839
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
3840
+ }, z.core.$strip>;
3841
+ cls: z.ZodObject<{
3842
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3843
+ readonly status: z.ZodNullable<z.ZodEnum<{
3844
+ good: "good";
3845
+ "needs-improvement": "needs-improvement";
3846
+ poor: "poor";
3847
+ }>>;
3848
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
3849
+ }, z.core.$strip>;
3850
+ overall: z.ZodNullable<z.ZodEnum<{
3851
+ fail: "fail";
3852
+ ni: "ni";
3853
+ pass: "pass";
3854
+ }>>;
3855
+ asOf: z.ZodNullable<z.ZodString>;
3856
+ }, z.core.$strict>>;
3857
+ readonly trend: z.ZodNullable<z.ZodObject<{
3858
+ lcp: z.ZodArray<z.ZodObject<{
3859
+ readonly date: z.ZodString;
3860
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3861
+ }, z.core.$strip>>;
3862
+ inp: z.ZodArray<z.ZodObject<{
3863
+ readonly date: z.ZodString;
3864
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3865
+ }, z.core.$strip>>;
3866
+ cls: z.ZodArray<z.ZodObject<{
3867
+ readonly date: z.ZodString;
3868
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3869
+ }, z.core.$strip>>;
3870
+ }, z.core.$strict>>;
3871
+ }, z.core.$strip>;
3872
+ meta: z.ZodObject<{
3873
+ requestId: z.ZodString;
3874
+ version: z.ZodLiteral<"1.0">;
3875
+ }, z.core.$strict>;
3876
+ }, z.core.$strip>, z.ZodObject<{
3877
+ data: z.ZodObject<{
3878
+ readonly target: z.ZodString;
3879
+ readonly mode: z.ZodEnum<{
3880
+ origin: "origin";
3881
+ url: "url";
3882
+ }>;
3883
+ readonly formFactor: z.ZodEnum<{
3884
+ ALL_FORM_FACTORS: "ALL_FORM_FACTORS";
3885
+ DESKTOP: "DESKTOP";
3886
+ PHONE: "PHONE";
3887
+ }>;
3888
+ readonly view: z.ZodEnum<{
3889
+ summary: "summary";
3890
+ trend: "trend";
3891
+ }>;
3892
+ readonly available: z.ZodBoolean;
3893
+ readonly message: z.ZodNullable<z.ZodString>;
3894
+ readonly summary: z.ZodNullable<z.ZodObject<{
3895
+ lcp: z.ZodObject<{
3896
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3897
+ readonly status: z.ZodNullable<z.ZodEnum<{
3898
+ good: "good";
3899
+ "needs-improvement": "needs-improvement";
3900
+ poor: "poor";
3901
+ }>>;
3902
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
3903
+ }, z.core.$strip>;
3904
+ inp: z.ZodObject<{
3905
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3906
+ readonly status: z.ZodNullable<z.ZodEnum<{
3907
+ good: "good";
3908
+ "needs-improvement": "needs-improvement";
3909
+ poor: "poor";
3910
+ }>>;
3911
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
3912
+ }, z.core.$strip>;
3913
+ cls: z.ZodObject<{
3914
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3915
+ readonly status: z.ZodNullable<z.ZodEnum<{
3916
+ good: "good";
3917
+ "needs-improvement": "needs-improvement";
3918
+ poor: "poor";
3919
+ }>>;
3920
+ readonly deltaOverPeriod: z.ZodNullable<z.ZodNumber>;
3921
+ }, z.core.$strip>;
3922
+ overall: z.ZodNullable<z.ZodEnum<{
3923
+ fail: "fail";
3924
+ ni: "ni";
3925
+ pass: "pass";
3926
+ }>>;
3927
+ asOf: z.ZodNullable<z.ZodString>;
3928
+ }, z.core.$loose>>;
3929
+ readonly trend: z.ZodNullable<z.ZodObject<{
3930
+ lcp: z.ZodArray<z.ZodObject<{
3931
+ readonly date: z.ZodString;
3932
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3933
+ }, z.core.$strip>>;
3934
+ inp: z.ZodArray<z.ZodObject<{
3935
+ readonly date: z.ZodString;
3936
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3937
+ }, z.core.$strip>>;
3938
+ cls: z.ZodArray<z.ZodObject<{
3939
+ readonly date: z.ZodString;
3940
+ readonly p75: z.ZodNullable<z.ZodNumber>;
3941
+ }, z.core.$strip>>;
3942
+ }, z.core.$loose>>;
3943
+ }, z.core.$strip>;
3944
+ meta: z.ZodObject<{
3945
+ requestId: z.ZodString;
3946
+ version: z.ZodLiteral<"1.0">;
3947
+ }, z.core.$loose>;
3948
+ }, z.core.$strip>>;
3949
+ };
3950
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
3951
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
3952
+ readonly error: z.ZodObject<{
3953
+ code: z.ZodEnum<{
3954
+ auth_expired: "auth_expired";
3955
+ conflict: "conflict";
3956
+ contract_violation: "contract_violation";
3957
+ entitlement_required: "entitlement_required";
3958
+ forbidden: "forbidden";
3959
+ internal_error: "internal_error";
3960
+ invalid_request: "invalid_request";
3961
+ not_found: "not_found";
3962
+ provider_unavailable: "provider_unavailable";
3963
+ quota_exhausted: "quota_exhausted";
3964
+ rate_limited: "rate_limited";
3965
+ site_ambiguous: "site_ambiguous";
3966
+ stale_evidence: "stale_evidence";
3967
+ unauthorized: "unauthorized";
3968
+ }>;
3969
+ message: z.ZodString;
3970
+ requestId: z.ZodString;
3971
+ retryable: z.ZodBoolean;
3972
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3973
+ }, z.core.$strict>;
3974
+ }, z.core.$strip>, z.ZodObject<{
3975
+ readonly error: z.ZodObject<{
3976
+ code: z.ZodEnum<{
3977
+ auth_expired: "auth_expired";
3978
+ conflict: "conflict";
3979
+ contract_violation: "contract_violation";
3980
+ entitlement_required: "entitlement_required";
3981
+ forbidden: "forbidden";
3982
+ internal_error: "internal_error";
3983
+ invalid_request: "invalid_request";
3984
+ not_found: "not_found";
3985
+ provider_unavailable: "provider_unavailable";
3986
+ quota_exhausted: "quota_exhausted";
3987
+ rate_limited: "rate_limited";
3988
+ site_ambiguous: "site_ambiguous";
3989
+ stale_evidence: "stale_evidence";
3990
+ unauthorized: "unauthorized";
3991
+ }>;
3992
+ message: z.ZodString;
3993
+ requestId: z.ZodString;
3994
+ retryable: z.ZodBoolean;
3995
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3996
+ }, z.core.$loose>;
3997
+ }, z.core.$strip>>;
3998
+ readonly resources: {
3999
+ readonly reads: readonly [{
4000
+ readonly type: 'site.page';
4001
+ readonly idFrom: 'params.siteId';
4002
+ }];
4003
+ readonly changes: readonly [];
4004
+ };
4005
+ readonly policy: {
4006
+ readonly rate: {
4007
+ readonly name: 'public-v1-fixed-window';
4008
+ readonly limit: 50;
4009
+ readonly windowSeconds: 60;
4010
+ };
4011
+ readonly idempotency: {
4012
+ readonly _tag: 'none';
4013
+ };
4014
+ readonly entitlement: null;
4015
+ readonly meter: null;
4016
+ };
4017
+ readonly lifecycle: {
4018
+ readonly introduced: '1.2.0';
4019
+ };
4020
+ readonly docs: {
4021
+ readonly summary: 'Get field Core Web Vitals';
4022
+ readonly description: 'Returns Core Web Vitals from CrUX real-user field data for the Site origin, or for one Page when url is given. The summary view returns the latest p75 and its change over the window. The trend view returns the 25-week p75 series. For lab scan scores use the Site performance overview. For the DOM element behind a failing vital use the field vitals findings.';
4023
+ readonly tags: readonly ["Pages"];
4024
+ readonly examples: readonly [{
4025
+ readonly request: {
4026
+ readonly params: {
4027
+ readonly siteId: 'site_01JXYZ';
4028
+ };
4029
+ readonly query: {
4030
+ readonly formFactor: 'PHONE';
4031
+ readonly view: 'summary';
4032
+ };
4033
+ };
4034
+ readonly response: {
4035
+ readonly status: 200;
4036
+ readonly body: {
4037
+ readonly data: {
4038
+ readonly target: 'https://example.com';
4039
+ readonly mode: 'origin';
4040
+ readonly formFactor: 'PHONE';
4041
+ readonly view: 'summary';
4042
+ readonly available: true;
4043
+ readonly message: null;
4044
+ readonly summary: {
4045
+ readonly lcp: {
4046
+ readonly p75: 2400;
4047
+ readonly status: 'needs-improvement';
4048
+ readonly deltaOverPeriod: -150;
4049
+ };
4050
+ readonly inp: {
4051
+ readonly p75: 180;
4052
+ readonly status: 'good';
4053
+ readonly deltaOverPeriod: 10;
4054
+ };
4055
+ readonly cls: {
4056
+ readonly p75: 0.08;
4057
+ readonly status: 'good';
4058
+ readonly deltaOverPeriod: null;
4059
+ };
4060
+ readonly overall: 'ni';
4061
+ readonly asOf: '2026-08-24';
4062
+ };
4063
+ readonly trend: null;
4064
+ };
4065
+ readonly meta: {
4066
+ readonly requestId: 'req_01JXYZ';
4067
+ readonly version: '1.0';
4068
+ };
4069
+ };
4070
+ };
4071
+ }];
4072
+ };
4073
+ };
4074
+ readonly vitalFindings: {
4075
+ readonly id: 'page.vitals.findings';
4076
+ readonly method: 'GET';
4077
+ readonly path: '/api/v1/sites/{siteId}/vitals/findings';
4078
+ readonly visibility: 'public';
4079
+ readonly semantics: {
4080
+ readonly kind: 'query';
4081
+ readonly sideEffects: 'none';
4082
+ readonly retry: 'idempotent';
4083
+ readonly readConsistency: 'primary';
4084
+ };
4085
+ readonly auth: {
4086
+ readonly credentials: readonly ["session", "api_token"];
4087
+ readonly scopes: readonly ["page:read"];
4088
+ readonly minimumRole: 'viewer';
4089
+ readonly ownership: 'site';
4090
+ };
4091
+ readonly request: {
4092
+ readonly params: z.ZodObject<{
4093
+ siteId: z.ZodString;
4094
+ }, z.core.$strict>;
4095
+ readonly query: z.ZodObject<{
4096
+ metrics: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
4097
+ cls: "cls";
4098
+ inp: "inp";
4099
+ lcp: "lcp";
4100
+ }>>, z.ZodPipe<z.ZodEnum<{
4101
+ cls: "cls";
4102
+ inp: "inp";
4103
+ lcp: "lcp";
4104
+ }>, z.ZodTransform<("cls" | "inp" | "lcp")[], "cls" | "inp" | "lcp">>]>>;
4105
+ onlyFailing: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
4106
+ 0: "0";
4107
+ 1: "1";
4108
+ false: "false";
4109
+ true: "true";
4110
+ }>>, z.ZodTransform<boolean, "0" | "1" | "false" | "true">>;
4111
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
4112
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
4113
+ }, z.core.$strict>;
4114
+ readonly headers: null;
4115
+ readonly body: null;
4116
+ };
4117
+ readonly responses: {
4118
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
4119
+ data: z.ZodObject<{
4120
+ readonly source: z.ZodNullable<z.ZodString>;
4121
+ readonly message: z.ZodNullable<z.ZodString>;
4122
+ readonly findings: z.ZodArray<z.ZodObject<{
4123
+ readonly metric: z.ZodEnum<{
4124
+ cls: "cls";
4125
+ inp: "inp";
4126
+ lcp: "lcp";
4127
+ }>;
4128
+ readonly severity: z.ZodEnum<{
4129
+ good: "good";
4130
+ "needs-improvement": "needs-improvement";
4131
+ poor: "poor";
4132
+ }>;
4133
+ readonly p75: z.ZodNullable<z.ZodNumber>;
4134
+ readonly route: z.ZodString;
4135
+ readonly selector: z.ZodString;
4136
+ readonly estimatedViews: z.ZodNumber;
4137
+ readonly fixPrompt: z.ZodString;
4138
+ }, z.core.$strip>>;
4139
+ readonly total: z.ZodNumber;
4140
+ readonly limit: z.ZodNumber;
4141
+ readonly offset: z.ZodNumber;
4142
+ }, z.core.$strip>;
4143
+ meta: z.ZodObject<{
4144
+ requestId: z.ZodString;
4145
+ version: z.ZodLiteral<"1.0">;
4146
+ }, z.core.$strict>;
4147
+ }, z.core.$strip>, z.ZodObject<{
4148
+ data: z.ZodObject<{
4149
+ readonly source: z.ZodNullable<z.ZodString>;
4150
+ readonly message: z.ZodNullable<z.ZodString>;
4151
+ readonly findings: z.ZodArray<z.ZodObject<{
4152
+ readonly metric: z.ZodEnum<{
4153
+ cls: "cls";
4154
+ inp: "inp";
4155
+ lcp: "lcp";
4156
+ }>;
4157
+ readonly severity: z.ZodEnum<{
4158
+ good: "good";
4159
+ "needs-improvement": "needs-improvement";
4160
+ poor: "poor";
4161
+ }>;
4162
+ readonly p75: z.ZodNullable<z.ZodNumber>;
4163
+ readonly route: z.ZodString;
4164
+ readonly selector: z.ZodString;
4165
+ readonly estimatedViews: z.ZodNumber;
4166
+ readonly fixPrompt: z.ZodString;
4167
+ }, z.core.$strip>>;
4168
+ readonly total: z.ZodNumber;
4169
+ readonly limit: z.ZodNumber;
4170
+ readonly offset: z.ZodNumber;
4171
+ }, z.core.$strip>;
4172
+ meta: z.ZodObject<{
4173
+ requestId: z.ZodString;
4174
+ version: z.ZodLiteral<"1.0">;
4175
+ }, z.core.$loose>;
4176
+ }, z.core.$strip>>;
4177
+ };
4178
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
4179
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
4180
+ readonly error: z.ZodObject<{
4181
+ code: z.ZodEnum<{
4182
+ auth_expired: "auth_expired";
4183
+ conflict: "conflict";
4184
+ contract_violation: "contract_violation";
4185
+ entitlement_required: "entitlement_required";
4186
+ forbidden: "forbidden";
4187
+ internal_error: "internal_error";
4188
+ invalid_request: "invalid_request";
4189
+ not_found: "not_found";
4190
+ provider_unavailable: "provider_unavailable";
4191
+ quota_exhausted: "quota_exhausted";
4192
+ rate_limited: "rate_limited";
4193
+ site_ambiguous: "site_ambiguous";
4194
+ stale_evidence: "stale_evidence";
4195
+ unauthorized: "unauthorized";
4196
+ }>;
4197
+ message: z.ZodString;
4198
+ requestId: z.ZodString;
4199
+ retryable: z.ZodBoolean;
4200
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4201
+ }, z.core.$strict>;
4202
+ }, z.core.$strip>, z.ZodObject<{
4203
+ readonly error: z.ZodObject<{
4204
+ code: z.ZodEnum<{
4205
+ auth_expired: "auth_expired";
4206
+ conflict: "conflict";
4207
+ contract_violation: "contract_violation";
4208
+ entitlement_required: "entitlement_required";
4209
+ forbidden: "forbidden";
4210
+ internal_error: "internal_error";
4211
+ invalid_request: "invalid_request";
4212
+ not_found: "not_found";
4213
+ provider_unavailable: "provider_unavailable";
4214
+ quota_exhausted: "quota_exhausted";
4215
+ rate_limited: "rate_limited";
4216
+ site_ambiguous: "site_ambiguous";
4217
+ stale_evidence: "stale_evidence";
4218
+ unauthorized: "unauthorized";
4219
+ }>;
4220
+ message: z.ZodString;
4221
+ requestId: z.ZodString;
4222
+ retryable: z.ZodBoolean;
4223
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4224
+ }, z.core.$loose>;
4225
+ }, z.core.$strip>>;
4226
+ readonly resources: {
4227
+ readonly reads: readonly [{
4228
+ readonly type: 'site.page';
4229
+ readonly idFrom: 'params.siteId';
4230
+ }];
4231
+ readonly changes: readonly [];
4232
+ };
4233
+ readonly policy: {
4234
+ readonly rate: {
4235
+ readonly name: 'public-v1-fixed-window';
4236
+ readonly limit: 50;
4237
+ readonly windowSeconds: 60;
4238
+ };
4239
+ readonly idempotency: {
4240
+ readonly _tag: 'none';
4241
+ };
4242
+ readonly entitlement: null;
4243
+ readonly meter: null;
4244
+ };
4245
+ readonly lifecycle: {
4246
+ readonly introduced: '1.2.0';
4247
+ };
4248
+ readonly docs: {
4249
+ readonly summary: 'List field Core Web Vitals findings';
4250
+ readonly description: 'Returns each failing real-user vital attributed to the DOM element behind it, with the p75, the CSS selector, and a ready-to-apply fix prompt. It requires a connected Web Analytics provider. If no provider is connected, findings is empty and message says so.';
4251
+ readonly tags: readonly ["Pages"];
4252
+ readonly examples: readonly [{
4253
+ readonly request: {
4254
+ readonly params: {
4255
+ readonly siteId: 'site_01JXYZ';
4256
+ };
4257
+ readonly query: {
4258
+ readonly onlyFailing: '1';
4259
+ readonly limit: 20;
4260
+ readonly offset: 0;
4261
+ };
4262
+ };
4263
+ readonly response: {
4264
+ readonly status: 200;
4265
+ readonly body: {
4266
+ readonly data: {
4267
+ readonly source: 'cloudflare';
4268
+ readonly message: null;
4269
+ readonly findings: readonly [{
4270
+ readonly metric: 'lcp';
4271
+ readonly severity: 'poor';
4272
+ readonly p75: 4300;
4273
+ readonly route: '/blog';
4274
+ readonly selector: 'main > img.hero';
4275
+ readonly estimatedViews: 1840;
4276
+ readonly fixPrompt: 'The LCP element on /blog is main > img.hero at 4300ms.';
4277
+ }];
4278
+ readonly total: 1;
4279
+ readonly limit: 20;
4280
+ readonly offset: 0;
4281
+ };
4282
+ readonly meta: {
4283
+ readonly requestId: 'req_01JXYZ';
4284
+ readonly version: '1.0';
4285
+ };
4286
+ };
4287
+ };
4288
+ }];
4289
+ };
4290
+ };
4291
+ readonly scans: {
4292
+ readonly id: 'page.performance.scans';
4293
+ readonly method: 'GET';
4294
+ readonly path: '/api/v1/sites/{siteId}/performance/scans';
4295
+ readonly visibility: 'public';
4296
+ readonly semantics: {
4297
+ readonly kind: 'query';
4298
+ readonly sideEffects: 'none';
4299
+ readonly retry: 'idempotent';
4300
+ readonly readConsistency: 'primary';
4301
+ };
4302
+ readonly auth: {
4303
+ readonly credentials: readonly ["session", "api_token"];
4304
+ readonly scopes: readonly ["page:read"];
4305
+ readonly minimumRole: 'viewer';
4306
+ readonly ownership: 'site';
4307
+ };
4308
+ readonly request: {
4309
+ readonly params: z.ZodObject<{
4310
+ siteId: z.ZodString;
4311
+ }, z.core.$strict>;
4312
+ readonly query: z.ZodObject<{
4313
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
4314
+ }, z.core.$strict>;
4315
+ readonly headers: null;
4316
+ readonly body: null;
4317
+ };
4318
+ readonly responses: {
4319
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
4320
+ data: z.ZodObject<{
4321
+ readonly scans: z.ZodArray<z.ZodObject<{
4322
+ readonly id: z.ZodString;
4323
+ readonly url: z.ZodString;
4324
+ readonly strategy: z.ZodString;
4325
+ readonly status: z.ZodString;
4326
+ readonly trigger: z.ZodNullable<z.ZodString>;
4327
+ readonly scores: z.ZodObject<{
4328
+ perf: z.ZodNullable<z.ZodNumber>;
4329
+ a11y: z.ZodNullable<z.ZodNumber>;
4330
+ bestPractices: z.ZodNullable<z.ZodNumber>;
4331
+ seo: z.ZodNullable<z.ZodNumber>;
4332
+ }, z.core.$strict>;
4333
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
4334
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
4335
+ readonly cls: z.ZodNullable<z.ZodNumber>;
4336
+ readonly completedAt: z.ZodNullable<z.ZodString>;
4337
+ readonly error: z.ZodNullable<z.ZodString>;
4338
+ }, z.core.$strip>>;
4339
+ readonly total: z.ZodNumber;
4340
+ readonly limit: z.ZodNumber;
4341
+ }, z.core.$strip>;
4342
+ meta: z.ZodObject<{
4343
+ requestId: z.ZodString;
4344
+ version: z.ZodLiteral<"1.0">;
4345
+ }, z.core.$strict>;
4346
+ }, z.core.$strip>, z.ZodObject<{
4347
+ data: z.ZodObject<{
4348
+ readonly scans: z.ZodArray<z.ZodObject<{
4349
+ readonly id: z.ZodString;
4350
+ readonly url: z.ZodString;
4351
+ readonly strategy: z.ZodString;
4352
+ readonly status: z.ZodString;
4353
+ readonly trigger: z.ZodNullable<z.ZodString>;
4354
+ readonly scores: z.ZodObject<{
4355
+ perf: z.ZodNullable<z.ZodNumber>;
4356
+ a11y: z.ZodNullable<z.ZodNumber>;
4357
+ bestPractices: z.ZodNullable<z.ZodNumber>;
4358
+ seo: z.ZodNullable<z.ZodNumber>;
4359
+ }, z.core.$loose>;
4360
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
4361
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
4362
+ readonly cls: z.ZodNullable<z.ZodNumber>;
4363
+ readonly completedAt: z.ZodNullable<z.ZodString>;
4364
+ readonly error: z.ZodNullable<z.ZodString>;
4365
+ }, z.core.$strip>>;
4366
+ readonly total: z.ZodNumber;
4367
+ readonly limit: z.ZodNumber;
4368
+ }, z.core.$strip>;
4369
+ meta: z.ZodObject<{
4370
+ requestId: z.ZodString;
4371
+ version: z.ZodLiteral<"1.0">;
4372
+ }, z.core.$loose>;
4373
+ }, z.core.$strip>>;
4374
+ };
4375
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
4376
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
4377
+ readonly error: z.ZodObject<{
4378
+ code: z.ZodEnum<{
4379
+ auth_expired: "auth_expired";
4380
+ conflict: "conflict";
4381
+ contract_violation: "contract_violation";
4382
+ entitlement_required: "entitlement_required";
4383
+ forbidden: "forbidden";
4384
+ internal_error: "internal_error";
4385
+ invalid_request: "invalid_request";
4386
+ not_found: "not_found";
4387
+ provider_unavailable: "provider_unavailable";
4388
+ quota_exhausted: "quota_exhausted";
4389
+ rate_limited: "rate_limited";
4390
+ site_ambiguous: "site_ambiguous";
4391
+ stale_evidence: "stale_evidence";
4392
+ unauthorized: "unauthorized";
4393
+ }>;
4394
+ message: z.ZodString;
4395
+ requestId: z.ZodString;
4396
+ retryable: z.ZodBoolean;
4397
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4398
+ }, z.core.$strict>;
4399
+ }, z.core.$strip>, z.ZodObject<{
4400
+ readonly error: z.ZodObject<{
4401
+ code: z.ZodEnum<{
4402
+ auth_expired: "auth_expired";
4403
+ conflict: "conflict";
4404
+ contract_violation: "contract_violation";
4405
+ entitlement_required: "entitlement_required";
4406
+ forbidden: "forbidden";
4407
+ internal_error: "internal_error";
4408
+ invalid_request: "invalid_request";
4409
+ not_found: "not_found";
4410
+ provider_unavailable: "provider_unavailable";
4411
+ quota_exhausted: "quota_exhausted";
4412
+ rate_limited: "rate_limited";
4413
+ site_ambiguous: "site_ambiguous";
4414
+ stale_evidence: "stale_evidence";
4415
+ unauthorized: "unauthorized";
4416
+ }>;
4417
+ message: z.ZodString;
4418
+ requestId: z.ZodString;
4419
+ retryable: z.ZodBoolean;
4420
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4421
+ }, z.core.$loose>;
4422
+ }, z.core.$strip>>;
4423
+ readonly resources: {
4424
+ readonly reads: readonly [{
4425
+ readonly type: 'site.page';
4426
+ readonly idFrom: 'params.siteId';
4427
+ }];
4428
+ readonly changes: readonly [];
4429
+ };
4430
+ readonly policy: {
4431
+ readonly rate: {
4432
+ readonly name: 'public-v1-fixed-window';
4433
+ readonly limit: 50;
4434
+ readonly windowSeconds: 60;
4435
+ };
4436
+ readonly idempotency: {
4437
+ readonly _tag: 'none';
4438
+ };
4439
+ readonly entitlement: null;
4440
+ readonly meter: null;
4441
+ };
4442
+ readonly lifecycle: {
4443
+ readonly introduced: '1.2.0';
4444
+ };
4445
+ readonly docs: {
4446
+ readonly summary: 'List Lighthouse Scans';
4447
+ readonly description: 'Returns retained Lighthouse Scans for the Site, newest first, with the scores and lab vitals each one recorded. A failed Scan carries its error. Use one Scan id with the Scan read for the failing checks behind a score.';
4448
+ readonly tags: readonly ["Pages"];
4449
+ readonly examples: readonly [{
4450
+ readonly request: {
4451
+ readonly params: {
4452
+ readonly siteId: 'site_01JXYZ';
4453
+ };
4454
+ readonly query: {
4455
+ readonly limit: 25;
4456
+ };
4457
+ };
4458
+ readonly response: {
4459
+ readonly status: 200;
4460
+ readonly body: {
4461
+ readonly data: {
4462
+ readonly scans: readonly [{
4463
+ readonly id: 'scan_01JXYZ';
4464
+ readonly url: 'https://example.com/';
4465
+ readonly strategy: 'mobile';
4466
+ readonly status: 'complete';
4467
+ readonly trigger: 'scheduled';
4468
+ readonly scores: {
4469
+ readonly perf: 82;
4470
+ readonly a11y: 96;
4471
+ readonly bestPractices: 92;
4472
+ readonly seo: 98;
4473
+ };
4474
+ readonly lcp: 2200;
4475
+ readonly tbt: 180;
4476
+ readonly cls: 0.08;
4477
+ readonly completedAt: '2026-08-10T01:00:00.000Z';
4478
+ readonly error: null;
4479
+ }];
4480
+ readonly total: 1;
4481
+ readonly limit: 25;
4482
+ };
4483
+ readonly meta: {
4484
+ readonly requestId: 'req_01JXYZ';
4485
+ readonly version: '1.0';
4486
+ };
4487
+ };
4488
+ };
4489
+ }];
4490
+ };
4491
+ };
4492
+ readonly monitoredPages: {
4493
+ readonly id: 'page.performance.pages';
4494
+ readonly method: 'GET';
4495
+ readonly path: '/api/v1/sites/{siteId}/performance/pages';
4496
+ readonly visibility: 'public';
4497
+ readonly semantics: {
4498
+ readonly kind: 'query';
4499
+ readonly sideEffects: 'none';
4500
+ readonly retry: 'idempotent';
4501
+ readonly readConsistency: 'primary';
4502
+ };
4503
+ readonly auth: {
4504
+ readonly credentials: readonly ["session", "api_token"];
4505
+ readonly scopes: readonly ["page:read"];
4506
+ readonly minimumRole: 'viewer';
4507
+ readonly ownership: 'site';
4508
+ };
4509
+ readonly request: {
4510
+ readonly params: z.ZodObject<{
4511
+ siteId: z.ZodString;
4512
+ }, z.core.$strict>;
4513
+ readonly query: null;
4514
+ readonly headers: null;
4515
+ readonly body: null;
4516
+ };
4517
+ readonly responses: {
4518
+ readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
4519
+ data: z.ZodObject<{
4520
+ readonly pages: z.ZodArray<z.ZodObject<{
4521
+ readonly id: z.ZodString;
4522
+ readonly path: z.ZodString;
4523
+ readonly source: z.ZodNullable<z.ZodString>;
4524
+ readonly enabled: z.ZodBoolean;
4525
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
4526
+ }, z.core.$strip>>;
4527
+ readonly total: z.ZodNumber;
4528
+ }, z.core.$strip>;
4529
+ meta: z.ZodObject<{
4530
+ requestId: z.ZodString;
4531
+ version: z.ZodLiteral<"1.0">;
4532
+ }, z.core.$strict>;
4533
+ }, z.core.$strip>, z.ZodObject<{
4534
+ data: z.ZodObject<{
4535
+ readonly pages: z.ZodArray<z.ZodObject<{
4536
+ readonly id: z.ZodString;
4537
+ readonly path: z.ZodString;
4538
+ readonly source: z.ZodNullable<z.ZodString>;
4539
+ readonly enabled: z.ZodBoolean;
4540
+ readonly lastScanAt: z.ZodNullable<z.ZodString>;
4541
+ }, z.core.$strip>>;
4542
+ readonly total: z.ZodNumber;
4543
+ }, z.core.$strip>;
4544
+ meta: z.ZodObject<{
4545
+ requestId: z.ZodString;
4546
+ version: z.ZodLiteral<"1.0">;
4547
+ }, z.core.$loose>;
4548
+ }, z.core.$strip>>;
4549
+ };
4550
+ readonly errors: readonly ["invalid_request", "unauthorized", "auth_expired", "forbidden", "not_found", "rate_limited", "contract_violation", "internal_error"];
4551
+ readonly errorResponse: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
4552
+ readonly error: z.ZodObject<{
4553
+ code: z.ZodEnum<{
4554
+ auth_expired: "auth_expired";
4555
+ conflict: "conflict";
4556
+ contract_violation: "contract_violation";
4557
+ entitlement_required: "entitlement_required";
4558
+ forbidden: "forbidden";
4559
+ internal_error: "internal_error";
4560
+ invalid_request: "invalid_request";
4561
+ not_found: "not_found";
4562
+ provider_unavailable: "provider_unavailable";
4563
+ quota_exhausted: "quota_exhausted";
4564
+ rate_limited: "rate_limited";
4565
+ site_ambiguous: "site_ambiguous";
4566
+ stale_evidence: "stale_evidence";
4567
+ unauthorized: "unauthorized";
4568
+ }>;
4569
+ message: z.ZodString;
4570
+ requestId: z.ZodString;
4571
+ retryable: z.ZodBoolean;
4572
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4573
+ }, z.core.$strict>;
4574
+ }, z.core.$strip>, z.ZodObject<{
4575
+ readonly error: z.ZodObject<{
4576
+ code: z.ZodEnum<{
4577
+ auth_expired: "auth_expired";
4578
+ conflict: "conflict";
4579
+ contract_violation: "contract_violation";
4580
+ entitlement_required: "entitlement_required";
4581
+ forbidden: "forbidden";
4582
+ internal_error: "internal_error";
4583
+ invalid_request: "invalid_request";
4584
+ not_found: "not_found";
4585
+ provider_unavailable: "provider_unavailable";
4586
+ quota_exhausted: "quota_exhausted";
4587
+ rate_limited: "rate_limited";
4588
+ site_ambiguous: "site_ambiguous";
4589
+ stale_evidence: "stale_evidence";
4590
+ unauthorized: "unauthorized";
4591
+ }>;
4592
+ message: z.ZodString;
4593
+ requestId: z.ZodString;
4594
+ retryable: z.ZodBoolean;
4595
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4596
+ }, z.core.$loose>;
4597
+ }, z.core.$strip>>;
4598
+ readonly resources: {
4599
+ readonly reads: readonly [{
4600
+ readonly type: 'site.page';
4601
+ readonly idFrom: 'params.siteId';
4602
+ }];
4603
+ readonly changes: readonly [];
4604
+ };
4605
+ readonly policy: {
4606
+ readonly rate: {
4607
+ readonly name: 'public-v1-fixed-window';
4608
+ readonly limit: 50;
4609
+ readonly windowSeconds: 60;
4610
+ };
4611
+ readonly idempotency: {
4612
+ readonly _tag: 'none';
4613
+ };
4614
+ readonly entitlement: null;
4615
+ readonly meter: null;
4616
+ };
4617
+ readonly lifecycle: {
4618
+ readonly introduced: '1.2.0';
4619
+ };
4620
+ readonly docs: {
4621
+ readonly summary: 'List monitored Pages';
4622
+ readonly description: 'Returns the Pages this Site scans on a schedule, in display order, with the last time each one was scanned. Start a Scan for a new Page with the Page scan operation.';
4623
+ readonly tags: readonly ["Pages"];
4624
+ readonly examples: readonly [{
4625
+ readonly request: {
4626
+ readonly params: {
4627
+ readonly siteId: 'site_01JXYZ';
4628
+ };
4629
+ };
4630
+ readonly response: {
4631
+ readonly status: 200;
4632
+ readonly body: {
4633
+ readonly data: {
4634
+ readonly pages: readonly [{
4635
+ readonly id: 'lhp_01JXYZ';
4636
+ readonly path: '/';
4637
+ readonly source: 'homepage';
4638
+ readonly enabled: true;
4639
+ readonly lastScanAt: '2026-08-10T01:00:00.000Z';
4640
+ }];
4641
+ readonly total: 1;
4642
+ };
4643
+ readonly meta: {
4644
+ readonly requestId: 'req_01JXYZ';
4645
+ readonly version: '1.0';
4646
+ };
4647
+ };
4648
+ };
4649
+ }];
4650
+ };
4651
+ };
4652
+ readonly scanDetail: {
4653
+ readonly id: 'page.performance.scan';
4654
+ readonly method: 'GET';
4655
+ readonly path: '/api/v1/sites/{siteId}/performance/scans/{scanId}';
995
4656
  readonly visibility: 'public';
996
4657
  readonly semantics: {
997
4658
  readonly kind: 'query';
@@ -1008,6 +4669,7 @@ export declare const performanceV1Registry: import("./core.js").PublicV1Registry
1008
4669
  readonly request: {
1009
4670
  readonly params: z.ZodObject<{
1010
4671
  siteId: z.ZodString;
4672
+ scanId: z.ZodString;
1011
4673
  }, z.core.$strict>;
1012
4674
  readonly query: null;
1013
4675
  readonly headers: null;
@@ -1016,106 +4678,96 @@ export declare const performanceV1Registry: import("./core.js").PublicV1Registry
1016
4678
  readonly responses: {
1017
4679
  readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1018
4680
  data: z.ZodObject<{
1019
- readonly health: z.ZodNullable<z.ZodObject<{
1020
- readonly perf: z.ZodObject<{
1021
- readonly median: z.ZodNullable<z.ZodNumber>;
1022
- readonly worst: z.ZodNullable<z.ZodNumber>;
1023
- readonly best: z.ZodNullable<z.ZodNumber>;
1024
- }, z.core.$strip>;
1025
- readonly a11y: z.ZodObject<{
1026
- readonly median: z.ZodNullable<z.ZodNumber>;
1027
- readonly worst: z.ZodNullable<z.ZodNumber>;
1028
- }, z.core.$strip>;
1029
- readonly bestPractices: z.ZodObject<{
1030
- readonly median: z.ZodNullable<z.ZodNumber>;
1031
- readonly worst: z.ZodNullable<z.ZodNumber>;
1032
- }, z.core.$strip>;
1033
- readonly seo: z.ZodObject<{
1034
- readonly median: z.ZodNullable<z.ZodNumber>;
1035
- readonly worst: z.ZodNullable<z.ZodNumber>;
1036
- }, z.core.$strip>;
1037
- readonly lcp: z.ZodObject<{
1038
- readonly median: z.ZodNullable<z.ZodNumber>;
1039
- readonly worst: z.ZodNullable<z.ZodNumber>;
1040
- readonly statusCounts: z.ZodObject<{
1041
- good: z.ZodNumber;
1042
- ni: z.ZodNumber;
1043
- poor: z.ZodNumber;
1044
- }, z.core.$strict>;
1045
- }, z.core.$strip>;
1046
- readonly tbt: z.ZodObject<{
1047
- readonly median: z.ZodNullable<z.ZodNumber>;
1048
- readonly worst: z.ZodNullable<z.ZodNumber>;
1049
- readonly statusCounts: z.ZodObject<{
1050
- good: z.ZodNumber;
1051
- ni: z.ZodNumber;
1052
- poor: z.ZodNumber;
1053
- }, z.core.$strict>;
1054
- }, z.core.$strip>;
1055
- readonly cls: z.ZodObject<{
1056
- readonly median: z.ZodNullable<z.ZodNumber>;
1057
- readonly worst: z.ZodNullable<z.ZodNumber>;
1058
- readonly statusCounts: z.ZodObject<{
1059
- good: z.ZodNumber;
1060
- ni: z.ZodNumber;
1061
- poor: z.ZodNumber;
1062
- }, z.core.$strict>;
1063
- }, z.core.$strip>;
1064
- readonly scannedPageCount: z.ZodNumber;
1065
- readonly lastScanAt: z.ZodNullable<z.ZodString>;
4681
+ readonly id: z.ZodString;
4682
+ readonly url: z.ZodString;
4683
+ readonly strategy: z.ZodString;
4684
+ readonly status: z.ZodString;
4685
+ readonly scores: z.ZodObject<{
4686
+ perf: z.ZodNullable<z.ZodNumber>;
4687
+ a11y: z.ZodNullable<z.ZodNumber>;
4688
+ bestPractices: z.ZodNullable<z.ZodNumber>;
4689
+ seo: z.ZodNullable<z.ZodNumber>;
4690
+ }, z.core.$strict>;
4691
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
4692
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
4693
+ readonly cls: z.ZodNullable<z.ZodNumber>;
4694
+ readonly fcp: z.ZodNullable<z.ZodNumber>;
4695
+ readonly speedIndex: z.ZodNullable<z.ZodNumber>;
4696
+ readonly ttfb: z.ZodNullable<z.ZodNumber>;
4697
+ readonly completedAt: z.ZodNullable<z.ZodString>;
4698
+ readonly performanceIssues: z.ZodArray<z.ZodObject<{
4699
+ readonly type: z.ZodString;
4700
+ readonly subtype: z.ZodNullable<z.ZodString>;
4701
+ readonly url: z.ZodNullable<z.ZodString>;
4702
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
4703
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
1066
4704
  }, z.core.$strip>>;
1067
- readonly homepage: z.ZodNullable<z.ZodObject<{
1068
- readonly scanId: z.ZodString;
1069
- readonly url: z.ZodString;
1070
- readonly completedAt: z.ZodNullable<z.ZodString>;
1071
- readonly perf: z.ZodNullable<z.ZodNumber>;
1072
- readonly a11y: z.ZodNullable<z.ZodNumber>;
1073
- readonly bestPractices: z.ZodNullable<z.ZodNumber>;
1074
- readonly seo: z.ZodNullable<z.ZodNumber>;
1075
- readonly lcp: z.ZodNullable<z.ZodNumber>;
1076
- readonly tbt: z.ZodNullable<z.ZodNumber>;
1077
- readonly cls: z.ZodNullable<z.ZodNumber>;
4705
+ readonly cachePolicy: z.ZodArray<z.ZodObject<{
4706
+ readonly url: z.ZodNullable<z.ZodString>;
4707
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
4708
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
4709
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
4710
+ readonly resourceType: z.ZodNullable<z.ZodString>;
4711
+ readonly mimeType: z.ZodNullable<z.ZodString>;
4712
+ readonly versioning: z.ZodEnum<{
4713
+ fingerprinted: "fingerprinted";
4714
+ unknown: "unknown";
4715
+ }>;
1078
4716
  }, z.core.$strip>>;
1079
- readonly homepageDesktop: z.ZodNullable<z.ZodObject<{
1080
- readonly scanId: z.ZodString;
1081
- readonly url: z.ZodString;
1082
- readonly completedAt: z.ZodNullable<z.ZodString>;
1083
- readonly perf: z.ZodNullable<z.ZodNumber>;
1084
- readonly a11y: z.ZodNullable<z.ZodNumber>;
1085
- readonly bestPractices: z.ZodNullable<z.ZodNumber>;
1086
- readonly seo: z.ZodNullable<z.ZodNumber>;
1087
- readonly lcp: z.ZodNullable<z.ZodNumber>;
1088
- readonly tbt: z.ZodNullable<z.ZodNumber>;
1089
- readonly cls: z.ZodNullable<z.ZodNumber>;
4717
+ readonly thirdParties: z.ZodArray<z.ZodObject<{
4718
+ readonly entity: z.ZodNullable<z.ZodString>;
4719
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
4720
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
4721
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
1090
4722
  }, z.core.$strip>>;
1091
- readonly routes: z.ZodArray<z.ZodObject<{
1092
- readonly pageId: z.ZodString;
1093
- readonly path: z.ZodString;
1094
- readonly url: z.ZodString;
1095
- readonly latestScanId: z.ZodNullable<z.ZodString>;
1096
- readonly completedAt: z.ZodNullable<z.ZodString>;
1097
- readonly perf: z.ZodNullable<z.ZodNumber>;
1098
- readonly a11y: z.ZodNullable<z.ZodNumber>;
1099
- readonly bestPractices: z.ZodNullable<z.ZodNumber>;
1100
- readonly seo: z.ZodNullable<z.ZodNumber>;
1101
- readonly lcp: z.ZodNullable<z.ZodNumber>;
1102
- readonly tbt: z.ZodNullable<z.ZodNumber>;
1103
- readonly cls: z.ZodNullable<z.ZodNumber>;
4723
+ readonly lcpElement: z.ZodNullable<z.ZodObject<{
4724
+ selector: z.ZodNullable<z.ZodString>;
4725
+ elementType: z.ZodNullable<z.ZodString>;
4726
+ nodeLabel: z.ZodNullable<z.ZodString>;
4727
+ }, z.core.$strict>>;
4728
+ readonly accessibility: z.ZodArray<z.ZodObject<{
4729
+ readonly auditId: z.ZodString;
4730
+ readonly title: z.ZodString;
4731
+ readonly severity: z.ZodString;
4732
+ readonly description: z.ZodNullable<z.ZodString>;
4733
+ readonly wcag: z.ZodArray<z.ZodString>;
4734
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
4735
+ readonly instanceCount: z.ZodNumber;
4736
+ readonly elements: z.ZodArray<z.ZodObject<{
4737
+ selector: z.ZodNullable<z.ZodString>;
4738
+ snippet: z.ZodNullable<z.ZodString>;
4739
+ message: z.ZodNullable<z.ZodString>;
4740
+ explanation: z.ZodNullable<z.ZodString>;
4741
+ sourceUrl: z.ZodNullable<z.ZodString>;
4742
+ }, z.core.$strip>>;
4743
+ /** Elements that actually failed, when more than the sample above. */
4744
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
1104
4745
  }, z.core.$strip>>;
1105
- readonly routesDesktop: z.ZodArray<z.ZodObject<{
1106
- readonly pageId: z.ZodString;
1107
- readonly path: z.ZodString;
1108
- readonly url: z.ZodString;
1109
- readonly latestScanId: z.ZodNullable<z.ZodString>;
1110
- readonly completedAt: z.ZodNullable<z.ZodString>;
1111
- readonly perf: z.ZodNullable<z.ZodNumber>;
1112
- readonly a11y: z.ZodNullable<z.ZodNumber>;
1113
- readonly bestPractices: z.ZodNullable<z.ZodNumber>;
1114
- readonly seo: z.ZodNullable<z.ZodNumber>;
1115
- readonly lcp: z.ZodNullable<z.ZodNumber>;
1116
- readonly tbt: z.ZodNullable<z.ZodNumber>;
1117
- readonly cls: z.ZodNullable<z.ZodNumber>;
4746
+ readonly bestPractices: z.ZodArray<z.ZodObject<{
4747
+ readonly auditId: z.ZodString;
4748
+ readonly title: z.ZodString;
4749
+ readonly severity: z.ZodString;
4750
+ readonly description: z.ZodNullable<z.ZodString>;
4751
+ readonly wcag: z.ZodArray<z.ZodString>;
4752
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
4753
+ readonly instanceCount: z.ZodNumber;
4754
+ readonly elements: z.ZodArray<z.ZodObject<{
4755
+ selector: z.ZodNullable<z.ZodString>;
4756
+ snippet: z.ZodNullable<z.ZodString>;
4757
+ message: z.ZodNullable<z.ZodString>;
4758
+ explanation: z.ZodNullable<z.ZodString>;
4759
+ sourceUrl: z.ZodNullable<z.ZodString>;
4760
+ }, z.core.$strip>>;
4761
+ /** Elements that actually failed, when more than the sample above. */
4762
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
1118
4763
  }, z.core.$strip>>;
4764
+ readonly coverage: z.ZodObject<{
4765
+ perCheckElementCap: z.ZodNumber;
4766
+ perScanCheckCap: z.ZodNumber;
4767
+ accessibilityChecksTotal: z.ZodNumber;
4768
+ bestPracticesChecksTotal: z.ZodNumber;
4769
+ possiblyTruncated: z.ZodBoolean;
4770
+ }, z.core.$strict>;
1119
4771
  }, z.core.$strip>;
1120
4772
  meta: z.ZodObject<{
1121
4773
  requestId: z.ZodString;
@@ -1123,106 +4775,94 @@ export declare const performanceV1Registry: import("./core.js").PublicV1Registry
1123
4775
  }, z.core.$strict>;
1124
4776
  }, z.core.$strip>, z.ZodObject<{
1125
4777
  data: z.ZodObject<{
1126
- readonly health: z.ZodNullable<z.ZodObject<{
1127
- readonly perf: z.ZodObject<{
1128
- readonly median: z.ZodNullable<z.ZodNumber>;
1129
- readonly worst: z.ZodNullable<z.ZodNumber>;
1130
- readonly best: z.ZodNullable<z.ZodNumber>;
1131
- }, z.core.$strip>;
1132
- readonly a11y: z.ZodObject<{
1133
- readonly median: z.ZodNullable<z.ZodNumber>;
1134
- readonly worst: z.ZodNullable<z.ZodNumber>;
1135
- }, z.core.$strip>;
1136
- readonly bestPractices: z.ZodObject<{
1137
- readonly median: z.ZodNullable<z.ZodNumber>;
1138
- readonly worst: z.ZodNullable<z.ZodNumber>;
1139
- }, z.core.$strip>;
1140
- readonly seo: z.ZodObject<{
1141
- readonly median: z.ZodNullable<z.ZodNumber>;
1142
- readonly worst: z.ZodNullable<z.ZodNumber>;
1143
- }, z.core.$strip>;
1144
- readonly lcp: z.ZodObject<{
1145
- readonly median: z.ZodNullable<z.ZodNumber>;
1146
- readonly worst: z.ZodNullable<z.ZodNumber>;
1147
- readonly statusCounts: z.ZodObject<{
1148
- good: z.ZodNumber;
1149
- ni: z.ZodNumber;
1150
- poor: z.ZodNumber;
1151
- }, z.core.$loose>;
1152
- }, z.core.$strip>;
1153
- readonly tbt: z.ZodObject<{
1154
- readonly median: z.ZodNullable<z.ZodNumber>;
1155
- readonly worst: z.ZodNullable<z.ZodNumber>;
1156
- readonly statusCounts: z.ZodObject<{
1157
- good: z.ZodNumber;
1158
- ni: z.ZodNumber;
1159
- poor: z.ZodNumber;
1160
- }, z.core.$loose>;
1161
- }, z.core.$strip>;
1162
- readonly cls: z.ZodObject<{
1163
- readonly median: z.ZodNullable<z.ZodNumber>;
1164
- readonly worst: z.ZodNullable<z.ZodNumber>;
1165
- readonly statusCounts: z.ZodObject<{
1166
- good: z.ZodNumber;
1167
- ni: z.ZodNumber;
1168
- poor: z.ZodNumber;
1169
- }, z.core.$loose>;
1170
- }, z.core.$strip>;
1171
- readonly scannedPageCount: z.ZodNumber;
1172
- readonly lastScanAt: z.ZodNullable<z.ZodString>;
4778
+ readonly id: z.ZodString;
4779
+ readonly url: z.ZodString;
4780
+ readonly strategy: z.ZodString;
4781
+ readonly status: z.ZodString;
4782
+ readonly scores: z.ZodObject<{
4783
+ perf: z.ZodNullable<z.ZodNumber>;
4784
+ a11y: z.ZodNullable<z.ZodNumber>;
4785
+ bestPractices: z.ZodNullable<z.ZodNumber>;
4786
+ seo: z.ZodNullable<z.ZodNumber>;
4787
+ }, z.core.$loose>;
4788
+ readonly lcp: z.ZodNullable<z.ZodNumber>;
4789
+ readonly tbt: z.ZodNullable<z.ZodNumber>;
4790
+ readonly cls: z.ZodNullable<z.ZodNumber>;
4791
+ readonly fcp: z.ZodNullable<z.ZodNumber>;
4792
+ readonly speedIndex: z.ZodNullable<z.ZodNumber>;
4793
+ readonly ttfb: z.ZodNullable<z.ZodNumber>;
4794
+ readonly completedAt: z.ZodNullable<z.ZodString>;
4795
+ readonly performanceIssues: z.ZodArray<z.ZodObject<{
4796
+ readonly type: z.ZodString;
4797
+ readonly subtype: z.ZodNullable<z.ZodString>;
4798
+ readonly url: z.ZodNullable<z.ZodString>;
4799
+ readonly wastedMs: z.ZodNullable<z.ZodNumber>;
4800
+ readonly wastedBytes: z.ZodNullable<z.ZodNumber>;
1173
4801
  }, z.core.$strip>>;
1174
- readonly homepage: z.ZodNullable<z.ZodObject<{
1175
- readonly scanId: z.ZodString;
1176
- readonly url: z.ZodString;
1177
- readonly completedAt: z.ZodNullable<z.ZodString>;
1178
- readonly perf: z.ZodNullable<z.ZodNumber>;
1179
- readonly a11y: z.ZodNullable<z.ZodNumber>;
1180
- readonly bestPractices: z.ZodNullable<z.ZodNumber>;
1181
- readonly seo: z.ZodNullable<z.ZodNumber>;
1182
- readonly lcp: z.ZodNullable<z.ZodNumber>;
1183
- readonly tbt: z.ZodNullable<z.ZodNumber>;
1184
- readonly cls: z.ZodNullable<z.ZodNumber>;
4802
+ readonly cachePolicy: z.ZodArray<z.ZodObject<{
4803
+ readonly url: z.ZodNullable<z.ZodString>;
4804
+ readonly repeatVisitBytes: z.ZodNullable<z.ZodNumber>;
4805
+ readonly cacheLifetimeMs: z.ZodNullable<z.ZodNumber>;
4806
+ readonly totalBytes: z.ZodNullable<z.ZodNumber>;
4807
+ readonly resourceType: z.ZodNullable<z.ZodString>;
4808
+ readonly mimeType: z.ZodNullable<z.ZodString>;
4809
+ readonly versioning: z.ZodEnum<{
4810
+ fingerprinted: "fingerprinted";
4811
+ unknown: "unknown";
4812
+ }>;
1185
4813
  }, z.core.$strip>>;
1186
- readonly homepageDesktop: z.ZodNullable<z.ZodObject<{
1187
- readonly scanId: z.ZodString;
1188
- readonly url: z.ZodString;
1189
- readonly completedAt: z.ZodNullable<z.ZodString>;
1190
- readonly perf: z.ZodNullable<z.ZodNumber>;
1191
- readonly a11y: z.ZodNullable<z.ZodNumber>;
1192
- readonly bestPractices: z.ZodNullable<z.ZodNumber>;
1193
- readonly seo: z.ZodNullable<z.ZodNumber>;
1194
- readonly lcp: z.ZodNullable<z.ZodNumber>;
1195
- readonly tbt: z.ZodNullable<z.ZodNumber>;
1196
- readonly cls: z.ZodNullable<z.ZodNumber>;
4814
+ readonly thirdParties: z.ZodArray<z.ZodObject<{
4815
+ readonly entity: z.ZodNullable<z.ZodString>;
4816
+ readonly blockingTime: z.ZodNullable<z.ZodNumber>;
4817
+ readonly mainThreadTime: z.ZodNullable<z.ZodNumber>;
4818
+ readonly transferSize: z.ZodNullable<z.ZodNumber>;
1197
4819
  }, z.core.$strip>>;
1198
- readonly routes: z.ZodArray<z.ZodObject<{
1199
- readonly pageId: z.ZodString;
1200
- readonly path: z.ZodString;
1201
- readonly url: z.ZodString;
1202
- readonly latestScanId: z.ZodNullable<z.ZodString>;
1203
- readonly completedAt: z.ZodNullable<z.ZodString>;
1204
- readonly perf: z.ZodNullable<z.ZodNumber>;
1205
- readonly a11y: z.ZodNullable<z.ZodNumber>;
1206
- readonly bestPractices: z.ZodNullable<z.ZodNumber>;
1207
- readonly seo: z.ZodNullable<z.ZodNumber>;
1208
- readonly lcp: z.ZodNullable<z.ZodNumber>;
1209
- readonly tbt: z.ZodNullable<z.ZodNumber>;
1210
- readonly cls: z.ZodNullable<z.ZodNumber>;
4820
+ readonly lcpElement: z.ZodNullable<z.ZodObject<{
4821
+ selector: z.ZodNullable<z.ZodString>;
4822
+ elementType: z.ZodNullable<z.ZodString>;
4823
+ nodeLabel: z.ZodNullable<z.ZodString>;
4824
+ }, z.core.$loose>>;
4825
+ readonly accessibility: z.ZodArray<z.ZodObject<{
4826
+ readonly auditId: z.ZodString;
4827
+ readonly title: z.ZodString;
4828
+ readonly severity: z.ZodString;
4829
+ readonly description: z.ZodNullable<z.ZodString>;
4830
+ readonly wcag: z.ZodArray<z.ZodString>;
4831
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
4832
+ readonly instanceCount: z.ZodNumber;
4833
+ readonly elements: z.ZodArray<z.ZodObject<{
4834
+ selector: z.ZodNullable<z.ZodString>;
4835
+ snippet: z.ZodNullable<z.ZodString>;
4836
+ message: z.ZodNullable<z.ZodString>;
4837
+ explanation: z.ZodNullable<z.ZodString>;
4838
+ sourceUrl: z.ZodNullable<z.ZodString>;
4839
+ }, z.core.$strip>>;
4840
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
1211
4841
  }, z.core.$strip>>;
1212
- readonly routesDesktop: z.ZodArray<z.ZodObject<{
1213
- readonly pageId: z.ZodString;
1214
- readonly path: z.ZodString;
1215
- readonly url: z.ZodString;
1216
- readonly latestScanId: z.ZodNullable<z.ZodString>;
1217
- readonly completedAt: z.ZodNullable<z.ZodString>;
1218
- readonly perf: z.ZodNullable<z.ZodNumber>;
1219
- readonly a11y: z.ZodNullable<z.ZodNumber>;
1220
- readonly bestPractices: z.ZodNullable<z.ZodNumber>;
1221
- readonly seo: z.ZodNullable<z.ZodNumber>;
1222
- readonly lcp: z.ZodNullable<z.ZodNumber>;
1223
- readonly tbt: z.ZodNullable<z.ZodNumber>;
1224
- readonly cls: z.ZodNullable<z.ZodNumber>;
4842
+ readonly bestPractices: z.ZodArray<z.ZodObject<{
4843
+ readonly auditId: z.ZodString;
4844
+ readonly title: z.ZodString;
4845
+ readonly severity: z.ZodString;
4846
+ readonly description: z.ZodNullable<z.ZodString>;
4847
+ readonly wcag: z.ZodArray<z.ZodString>;
4848
+ readonly wcagLevel: z.ZodNullable<z.ZodString>;
4849
+ readonly instanceCount: z.ZodNumber;
4850
+ readonly elements: z.ZodArray<z.ZodObject<{
4851
+ selector: z.ZodNullable<z.ZodString>;
4852
+ snippet: z.ZodNullable<z.ZodString>;
4853
+ message: z.ZodNullable<z.ZodString>;
4854
+ explanation: z.ZodNullable<z.ZodString>;
4855
+ sourceUrl: z.ZodNullable<z.ZodString>;
4856
+ }, z.core.$strip>>;
4857
+ readonly elementsTotal: z.ZodNullable<z.ZodNumber>;
1225
4858
  }, z.core.$strip>>;
4859
+ readonly coverage: z.ZodObject<{
4860
+ perCheckElementCap: z.ZodNumber;
4861
+ perScanCheckCap: z.ZodNumber;
4862
+ accessibilityChecksTotal: z.ZodNumber;
4863
+ bestPracticesChecksTotal: z.ZodNumber;
4864
+ possiblyTruncated: z.ZodBoolean;
4865
+ }, z.core.$loose>;
1226
4866
  }, z.core.$strip>;
1227
4867
  meta: z.ZodObject<{
1228
4868
  requestId: z.ZodString;
@@ -1298,74 +4938,57 @@ export declare const performanceV1Registry: import("./core.js").PublicV1Registry
1298
4938
  readonly meter: null;
1299
4939
  };
1300
4940
  readonly lifecycle: {
1301
- readonly introduced: '1.0.0';
4941
+ readonly introduced: '1.2.0';
1302
4942
  };
1303
4943
  readonly docs: {
1304
- readonly summary: 'Get Site Performance';
1305
- readonly description: 'Returns stored fleet-level Lighthouse health and the latest mobile and desktop evidence for monitored Pages. Use Page inspection for one Page.';
4944
+ readonly summary: 'Get one Lighthouse Scan';
4945
+ readonly description: 'Returns one Scan with the evidence behind its scores: the wasteful assets, the repeat-visit cache policy, the third-party scripts, the LCP element, and every failing accessibility and best-practices check with the CSS selectors and DOM snippets that failed. Read coverage before quoting a total: elements and checks are both capped per Scan.';
1306
4946
  readonly tags: readonly ["Pages"];
1307
4947
  readonly examples: readonly [{
1308
4948
  readonly request: {
1309
4949
  readonly params: {
1310
4950
  readonly siteId: 'site_01JXYZ';
4951
+ readonly scanId: 'scan_01JXYZ';
1311
4952
  };
1312
4953
  };
1313
4954
  readonly response: {
1314
4955
  readonly status: 200;
1315
4956
  readonly body: {
1316
4957
  readonly data: {
1317
- readonly health: {
1318
- readonly perf: {
1319
- readonly median: 82;
1320
- readonly worst: 68;
1321
- readonly best: 94;
1322
- };
1323
- readonly a11y: {
1324
- readonly median: 96;
1325
- readonly worst: 91;
1326
- };
1327
- readonly bestPractices: {
1328
- readonly median: 92;
1329
- readonly worst: 86;
1330
- };
1331
- readonly seo: {
1332
- readonly median: 98;
1333
- readonly worst: 94;
1334
- };
1335
- readonly lcp: {
1336
- readonly median: 2200;
1337
- readonly worst: 4100;
1338
- readonly statusCounts: {
1339
- readonly good: 3;
1340
- readonly ni: 1;
1341
- readonly poor: 1;
1342
- };
1343
- };
1344
- readonly tbt: {
1345
- readonly median: 180;
1346
- readonly worst: 650;
1347
- readonly statusCounts: {
1348
- readonly good: 3;
1349
- readonly ni: 1;
1350
- readonly poor: 1;
1351
- };
1352
- };
1353
- readonly cls: {
1354
- readonly median: 80;
1355
- readonly worst: 260;
1356
- readonly statusCounts: {
1357
- readonly good: 4;
1358
- readonly ni: 0;
1359
- readonly poor: 1;
1360
- };
1361
- };
1362
- readonly scannedPageCount: 5;
1363
- readonly lastScanAt: '2026-08-10T01:00:00.000Z';
4958
+ readonly id: 'scan_01JXYZ';
4959
+ readonly url: 'https://example.com/';
4960
+ readonly strategy: 'mobile';
4961
+ readonly status: 'complete';
4962
+ readonly scores: {
4963
+ readonly perf: 82;
4964
+ readonly a11y: 96;
4965
+ readonly bestPractices: 92;
4966
+ readonly seo: 98;
4967
+ };
4968
+ readonly lcp: 2200;
4969
+ readonly tbt: 180;
4970
+ readonly cls: 0.08;
4971
+ readonly fcp: 1100;
4972
+ readonly speedIndex: 2400;
4973
+ readonly ttfb: 210;
4974
+ readonly completedAt: '2026-08-10T01:00:00.000Z';
4975
+ readonly performanceIssues: readonly [];
4976
+ readonly cachePolicy: readonly [];
4977
+ readonly thirdParties: readonly [];
4978
+ readonly lcpElement: {
4979
+ readonly selector: 'main > img.hero';
4980
+ readonly elementType: 'image';
4981
+ readonly nodeLabel: 'Hero';
4982
+ };
4983
+ readonly accessibility: readonly [];
4984
+ readonly bestPractices: readonly [];
4985
+ readonly coverage: {
4986
+ readonly perCheckElementCap: 5;
4987
+ readonly perScanCheckCap: 12;
4988
+ readonly accessibilityChecksTotal: 0;
4989
+ readonly bestPracticesChecksTotal: 0;
4990
+ readonly possiblyTruncated: false;
1364
4991
  };
1365
- readonly homepage: null;
1366
- readonly homepageDesktop: null;
1367
- readonly routes: readonly [];
1368
- readonly routesDesktop: readonly [];
1369
4992
  };
1370
4993
  readonly meta: {
1371
4994
  readonly requestId: 'req_01JXYZ';