@nuxtseo/protocol 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/v1/gsc.d.ts CHANGED
@@ -1092,119 +1092,70 @@ export declare const searchAnalyticsResponseSchema: import("./core.js").Compatib
1092
1092
  version: z.ZodLiteral<"1.0">;
1093
1093
  }, z.core.$loose>;
1094
1094
  }, z.core.$strip>>;
1095
- declare const searchStatusDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1096
- readonly site: z.ZodString;
1097
- readonly connected: z.ZodLiteral<true>;
1098
- readonly syncStatus: z.ZodString;
1099
- readonly progress: z.ZodObject<{
1100
- percent: z.ZodNumber;
1101
- succeeded: z.ZodNumber;
1102
- failed: z.ZodNumber;
1103
- terminal: z.ZodNumber;
1104
- pending: z.ZodNumber;
1105
- total: z.ZodNumber;
1106
- }, z.core.$strict>;
1107
- readonly dateRange: z.ZodObject<{
1108
- oldest: z.ZodNullable<z.ZodString>;
1109
- newest: z.ZodNullable<z.ZodString>;
1110
- }, z.core.$strict>;
1111
- readonly lastSyncAt: z.ZodNullable<z.ZodString>;
1112
- readonly isSyncing: z.ZodBoolean;
1113
- readonly hasData: z.ZodBoolean;
1114
- readonly completion: z.ZodObject<{
1115
- jobsTerminal: z.ZodBoolean;
1116
- dateCoverageComplete: z.ZodBoolean;
1117
- missingDays: z.ZodNumber;
1118
- }, z.core.$strict>;
1119
- readonly daysSynced: z.ZodNumber;
1120
- readonly daysAvailable: z.ZodNumber;
1121
- }, z.core.$strip>, z.ZodObject<{
1122
- readonly site: z.ZodString;
1123
- readonly connected: z.ZodLiteral<true>;
1124
- readonly syncStatus: z.ZodString;
1125
- readonly progress: z.ZodObject<{
1126
- percent: z.ZodNumber;
1127
- succeeded: z.ZodNumber;
1128
- failed: z.ZodNumber;
1129
- terminal: z.ZodNumber;
1130
- pending: z.ZodNumber;
1131
- total: z.ZodNumber;
1132
- }, z.core.$loose>;
1133
- readonly dateRange: z.ZodObject<{
1134
- oldest: z.ZodNullable<z.ZodString>;
1135
- newest: z.ZodNullable<z.ZodString>;
1136
- }, z.core.$loose>;
1137
- readonly lastSyncAt: z.ZodNullable<z.ZodString>;
1138
- readonly isSyncing: z.ZodBoolean;
1139
- readonly hasData: z.ZodBoolean;
1140
- readonly completion: z.ZodObject<{
1141
- jobsTerminal: z.ZodBoolean;
1142
- dateCoverageComplete: z.ZodBoolean;
1143
- missingDays: z.ZodNumber;
1144
- }, z.core.$loose>;
1145
- readonly daysSynced: z.ZodNumber;
1146
- readonly daysAvailable: z.ZodNumber;
1147
- }, z.core.$strip>>;
1095
+ export declare const searchStatusDataSchema: {
1096
+ producer: z.ZodDiscriminatedUnion<[z.ZodObject<{
1097
+ _tag: z.ZodLiteral<"Connected">;
1098
+ site: z.ZodString;
1099
+ }, z.core.$strict>, z.ZodObject<{
1100
+ _tag: z.ZodLiteral<"ActionRequired">;
1101
+ site: z.ZodString;
1102
+ reason: z.ZodEnum<{
1103
+ credential_inactive: "credential_inactive";
1104
+ credential_missing: "credential_missing";
1105
+ }>;
1106
+ }, z.core.$strict>, z.ZodObject<{
1107
+ _tag: z.ZodLiteral<"Disconnected">;
1108
+ site: z.ZodString;
1109
+ }, z.core.$strict>], "_tag">;
1110
+ client: z.ZodDiscriminatedUnion<[z.ZodObject<{
1111
+ _tag: z.ZodLiteral<"Connected">;
1112
+ site: z.ZodString;
1113
+ }, z.core.$loose>, z.ZodObject<{
1114
+ _tag: z.ZodLiteral<"ActionRequired">;
1115
+ site: z.ZodString;
1116
+ reason: z.ZodEnum<{
1117
+ credential_inactive: "credential_inactive";
1118
+ credential_missing: "credential_missing";
1119
+ }>;
1120
+ }, z.core.$loose>, z.ZodObject<{
1121
+ _tag: z.ZodLiteral<"Disconnected">;
1122
+ site: z.ZodString;
1123
+ }, z.core.$loose>], "_tag">;
1124
+ };
1148
1125
  export declare const searchStatusResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
1149
- data: z.ZodObject<{
1150
- readonly site: z.ZodString;
1151
- readonly connected: z.ZodLiteral<true>;
1152
- readonly syncStatus: z.ZodString;
1153
- readonly progress: z.ZodObject<{
1154
- percent: z.ZodNumber;
1155
- succeeded: z.ZodNumber;
1156
- failed: z.ZodNumber;
1157
- terminal: z.ZodNumber;
1158
- pending: z.ZodNumber;
1159
- total: z.ZodNumber;
1160
- }, z.core.$strict>;
1161
- readonly dateRange: z.ZodObject<{
1162
- oldest: z.ZodNullable<z.ZodString>;
1163
- newest: z.ZodNullable<z.ZodString>;
1164
- }, z.core.$strict>;
1165
- readonly lastSyncAt: z.ZodNullable<z.ZodString>;
1166
- readonly isSyncing: z.ZodBoolean;
1167
- readonly hasData: z.ZodBoolean;
1168
- readonly completion: z.ZodObject<{
1169
- jobsTerminal: z.ZodBoolean;
1170
- dateCoverageComplete: z.ZodBoolean;
1171
- missingDays: z.ZodNumber;
1172
- }, z.core.$strict>;
1173
- readonly daysSynced: z.ZodNumber;
1174
- readonly daysAvailable: z.ZodNumber;
1175
- }, z.core.$strip>;
1126
+ data: z.ZodDiscriminatedUnion<[z.ZodObject<{
1127
+ _tag: z.ZodLiteral<"Connected">;
1128
+ site: z.ZodString;
1129
+ }, z.core.$strict>, z.ZodObject<{
1130
+ _tag: z.ZodLiteral<"ActionRequired">;
1131
+ site: z.ZodString;
1132
+ reason: z.ZodEnum<{
1133
+ credential_inactive: "credential_inactive";
1134
+ credential_missing: "credential_missing";
1135
+ }>;
1136
+ }, z.core.$strict>, z.ZodObject<{
1137
+ _tag: z.ZodLiteral<"Disconnected">;
1138
+ site: z.ZodString;
1139
+ }, z.core.$strict>], "_tag">;
1176
1140
  meta: z.ZodObject<{
1177
1141
  requestId: z.ZodString;
1178
1142
  version: z.ZodLiteral<"1.0">;
1179
1143
  }, z.core.$strict>;
1180
1144
  }, z.core.$strip>, z.ZodObject<{
1181
- data: z.ZodObject<{
1182
- readonly site: z.ZodString;
1183
- readonly connected: z.ZodLiteral<true>;
1184
- readonly syncStatus: z.ZodString;
1185
- readonly progress: z.ZodObject<{
1186
- percent: z.ZodNumber;
1187
- succeeded: z.ZodNumber;
1188
- failed: z.ZodNumber;
1189
- terminal: z.ZodNumber;
1190
- pending: z.ZodNumber;
1191
- total: z.ZodNumber;
1192
- }, z.core.$loose>;
1193
- readonly dateRange: z.ZodObject<{
1194
- oldest: z.ZodNullable<z.ZodString>;
1195
- newest: z.ZodNullable<z.ZodString>;
1196
- }, z.core.$loose>;
1197
- readonly lastSyncAt: z.ZodNullable<z.ZodString>;
1198
- readonly isSyncing: z.ZodBoolean;
1199
- readonly hasData: z.ZodBoolean;
1200
- readonly completion: z.ZodObject<{
1201
- jobsTerminal: z.ZodBoolean;
1202
- dateCoverageComplete: z.ZodBoolean;
1203
- missingDays: z.ZodNumber;
1204
- }, z.core.$loose>;
1205
- readonly daysSynced: z.ZodNumber;
1206
- readonly daysAvailable: z.ZodNumber;
1207
- }, z.core.$strip>;
1145
+ data: z.ZodDiscriminatedUnion<[z.ZodObject<{
1146
+ _tag: z.ZodLiteral<"Connected">;
1147
+ site: z.ZodString;
1148
+ }, z.core.$loose>, z.ZodObject<{
1149
+ _tag: z.ZodLiteral<"ActionRequired">;
1150
+ site: z.ZodString;
1151
+ reason: z.ZodEnum<{
1152
+ credential_inactive: "credential_inactive";
1153
+ credential_missing: "credential_missing";
1154
+ }>;
1155
+ }, z.core.$loose>, z.ZodObject<{
1156
+ _tag: z.ZodLiteral<"Disconnected">;
1157
+ site: z.ZodString;
1158
+ }, z.core.$loose>], "_tag">;
1208
1159
  meta: z.ZodObject<{
1209
1160
  requestId: z.ZodString;
1210
1161
  version: z.ZodLiteral<"1.0">;
@@ -2647,65 +2598,39 @@ export declare const searchStatusReadOperation: {
2647
2598
  };
2648
2599
  readonly responses: {
2649
2600
  readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
2650
- data: z.ZodObject<{
2651
- readonly site: z.ZodString;
2652
- readonly connected: z.ZodLiteral<true>;
2653
- readonly syncStatus: z.ZodString;
2654
- readonly progress: z.ZodObject<{
2655
- percent: z.ZodNumber;
2656
- succeeded: z.ZodNumber;
2657
- failed: z.ZodNumber;
2658
- terminal: z.ZodNumber;
2659
- pending: z.ZodNumber;
2660
- total: z.ZodNumber;
2661
- }, z.core.$strict>;
2662
- readonly dateRange: z.ZodObject<{
2663
- oldest: z.ZodNullable<z.ZodString>;
2664
- newest: z.ZodNullable<z.ZodString>;
2665
- }, z.core.$strict>;
2666
- readonly lastSyncAt: z.ZodNullable<z.ZodString>;
2667
- readonly isSyncing: z.ZodBoolean;
2668
- readonly hasData: z.ZodBoolean;
2669
- readonly completion: z.ZodObject<{
2670
- jobsTerminal: z.ZodBoolean;
2671
- dateCoverageComplete: z.ZodBoolean;
2672
- missingDays: z.ZodNumber;
2673
- }, z.core.$strict>;
2674
- readonly daysSynced: z.ZodNumber;
2675
- readonly daysAvailable: z.ZodNumber;
2676
- }, z.core.$strip>;
2601
+ data: z.ZodDiscriminatedUnion<[z.ZodObject<{
2602
+ _tag: z.ZodLiteral<"Connected">;
2603
+ site: z.ZodString;
2604
+ }, z.core.$strict>, z.ZodObject<{
2605
+ _tag: z.ZodLiteral<"ActionRequired">;
2606
+ site: z.ZodString;
2607
+ reason: z.ZodEnum<{
2608
+ credential_inactive: "credential_inactive";
2609
+ credential_missing: "credential_missing";
2610
+ }>;
2611
+ }, z.core.$strict>, z.ZodObject<{
2612
+ _tag: z.ZodLiteral<"Disconnected">;
2613
+ site: z.ZodString;
2614
+ }, z.core.$strict>], "_tag">;
2677
2615
  meta: z.ZodObject<{
2678
2616
  requestId: z.ZodString;
2679
2617
  version: z.ZodLiteral<"1.0">;
2680
2618
  }, z.core.$strict>;
2681
2619
  }, z.core.$strip>, z.ZodObject<{
2682
- data: z.ZodObject<{
2683
- readonly site: z.ZodString;
2684
- readonly connected: z.ZodLiteral<true>;
2685
- readonly syncStatus: z.ZodString;
2686
- readonly progress: z.ZodObject<{
2687
- percent: z.ZodNumber;
2688
- succeeded: z.ZodNumber;
2689
- failed: z.ZodNumber;
2690
- terminal: z.ZodNumber;
2691
- pending: z.ZodNumber;
2692
- total: z.ZodNumber;
2693
- }, z.core.$loose>;
2694
- readonly dateRange: z.ZodObject<{
2695
- oldest: z.ZodNullable<z.ZodString>;
2696
- newest: z.ZodNullable<z.ZodString>;
2697
- }, z.core.$loose>;
2698
- readonly lastSyncAt: z.ZodNullable<z.ZodString>;
2699
- readonly isSyncing: z.ZodBoolean;
2700
- readonly hasData: z.ZodBoolean;
2701
- readonly completion: z.ZodObject<{
2702
- jobsTerminal: z.ZodBoolean;
2703
- dateCoverageComplete: z.ZodBoolean;
2704
- missingDays: z.ZodNumber;
2705
- }, z.core.$loose>;
2706
- readonly daysSynced: z.ZodNumber;
2707
- readonly daysAvailable: z.ZodNumber;
2708
- }, z.core.$strip>;
2620
+ data: z.ZodDiscriminatedUnion<[z.ZodObject<{
2621
+ _tag: z.ZodLiteral<"Connected">;
2622
+ site: z.ZodString;
2623
+ }, z.core.$loose>, z.ZodObject<{
2624
+ _tag: z.ZodLiteral<"ActionRequired">;
2625
+ site: z.ZodString;
2626
+ reason: z.ZodEnum<{
2627
+ credential_inactive: "credential_inactive";
2628
+ credential_missing: "credential_missing";
2629
+ }>;
2630
+ }, z.core.$loose>, z.ZodObject<{
2631
+ _tag: z.ZodLiteral<"Disconnected">;
2632
+ site: z.ZodString;
2633
+ }, z.core.$loose>], "_tag">;
2709
2634
  meta: z.ZodObject<{
2710
2635
  requestId: z.ZodString;
2711
2636
  version: z.ZodLiteral<"1.0">;
@@ -2720,8 +2645,8 @@ export declare const searchStatusReadOperation: {
2720
2645
  readonly changes: readonly [];
2721
2646
  };
2722
2647
  readonly docs: {
2723
- readonly summary: 'Read Site search status';
2724
- readonly description: 'Returns aggregate Search Console synchronization reach for the credential authoritatively bound to the Site Team.';
2648
+ readonly summary: 'Read Site Search Console connection';
2649
+ readonly description: 'Returns the stored Search Console connection state. It never waits for Google or another provider.';
2725
2650
  readonly tags: readonly ["Sites", "Search"];
2726
2651
  readonly examples: readonly [{
2727
2652
  readonly request: {
@@ -2733,31 +2658,8 @@ export declare const searchStatusReadOperation: {
2733
2658
  readonly status: 200;
2734
2659
  readonly body: {
2735
2660
  readonly data: {
2661
+ readonly _tag: 'Connected';
2736
2662
  readonly site: 'https://example.com';
2737
- readonly connected: true;
2738
- readonly syncStatus: 'synced';
2739
- readonly progress: {
2740
- readonly percent: 100;
2741
- readonly succeeded: 4;
2742
- readonly failed: 0;
2743
- readonly terminal: 4;
2744
- readonly pending: 0;
2745
- readonly total: 4;
2746
- };
2747
- readonly dateRange: {
2748
- readonly oldest: '2026-01-01';
2749
- readonly newest: '2026-08-09';
2750
- };
2751
- readonly lastSyncAt: '2026-08-10T00:00:00.000Z';
2752
- readonly isSyncing: false;
2753
- readonly hasData: true;
2754
- readonly completion: {
2755
- readonly jobsTerminal: true;
2756
- readonly dateCoverageComplete: true;
2757
- readonly missingDays: 0;
2758
- };
2759
- readonly daysSynced: 221;
2760
- readonly daysAvailable: 221;
2761
2663
  };
2762
2664
  readonly meta: {
2763
2665
  readonly requestId: 'req_01JXYZ';
@@ -4310,65 +4212,39 @@ export declare const searchV1Registry: import("./core.js").PublicV1Registry<{
4310
4212
  };
4311
4213
  readonly responses: {
4312
4214
  readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
4313
- data: z.ZodObject<{
4314
- readonly site: z.ZodString;
4315
- readonly connected: z.ZodLiteral<true>;
4316
- readonly syncStatus: z.ZodString;
4317
- readonly progress: z.ZodObject<{
4318
- percent: z.ZodNumber;
4319
- succeeded: z.ZodNumber;
4320
- failed: z.ZodNumber;
4321
- terminal: z.ZodNumber;
4322
- pending: z.ZodNumber;
4323
- total: z.ZodNumber;
4324
- }, z.core.$strict>;
4325
- readonly dateRange: z.ZodObject<{
4326
- oldest: z.ZodNullable<z.ZodString>;
4327
- newest: z.ZodNullable<z.ZodString>;
4328
- }, z.core.$strict>;
4329
- readonly lastSyncAt: z.ZodNullable<z.ZodString>;
4330
- readonly isSyncing: z.ZodBoolean;
4331
- readonly hasData: z.ZodBoolean;
4332
- readonly completion: z.ZodObject<{
4333
- jobsTerminal: z.ZodBoolean;
4334
- dateCoverageComplete: z.ZodBoolean;
4335
- missingDays: z.ZodNumber;
4336
- }, z.core.$strict>;
4337
- readonly daysSynced: z.ZodNumber;
4338
- readonly daysAvailable: z.ZodNumber;
4339
- }, z.core.$strip>;
4215
+ data: z.ZodDiscriminatedUnion<[z.ZodObject<{
4216
+ _tag: z.ZodLiteral<"Connected">;
4217
+ site: z.ZodString;
4218
+ }, z.core.$strict>, z.ZodObject<{
4219
+ _tag: z.ZodLiteral<"ActionRequired">;
4220
+ site: z.ZodString;
4221
+ reason: z.ZodEnum<{
4222
+ credential_inactive: "credential_inactive";
4223
+ credential_missing: "credential_missing";
4224
+ }>;
4225
+ }, z.core.$strict>, z.ZodObject<{
4226
+ _tag: z.ZodLiteral<"Disconnected">;
4227
+ site: z.ZodString;
4228
+ }, z.core.$strict>], "_tag">;
4340
4229
  meta: z.ZodObject<{
4341
4230
  requestId: z.ZodString;
4342
4231
  version: z.ZodLiteral<"1.0">;
4343
4232
  }, z.core.$strict>;
4344
4233
  }, z.core.$strip>, z.ZodObject<{
4345
- data: z.ZodObject<{
4346
- readonly site: z.ZodString;
4347
- readonly connected: z.ZodLiteral<true>;
4348
- readonly syncStatus: z.ZodString;
4349
- readonly progress: z.ZodObject<{
4350
- percent: z.ZodNumber;
4351
- succeeded: z.ZodNumber;
4352
- failed: z.ZodNumber;
4353
- terminal: z.ZodNumber;
4354
- pending: z.ZodNumber;
4355
- total: z.ZodNumber;
4356
- }, z.core.$loose>;
4357
- readonly dateRange: z.ZodObject<{
4358
- oldest: z.ZodNullable<z.ZodString>;
4359
- newest: z.ZodNullable<z.ZodString>;
4360
- }, z.core.$loose>;
4361
- readonly lastSyncAt: z.ZodNullable<z.ZodString>;
4362
- readonly isSyncing: z.ZodBoolean;
4363
- readonly hasData: z.ZodBoolean;
4364
- readonly completion: z.ZodObject<{
4365
- jobsTerminal: z.ZodBoolean;
4366
- dateCoverageComplete: z.ZodBoolean;
4367
- missingDays: z.ZodNumber;
4368
- }, z.core.$loose>;
4369
- readonly daysSynced: z.ZodNumber;
4370
- readonly daysAvailable: z.ZodNumber;
4371
- }, z.core.$strip>;
4234
+ data: z.ZodDiscriminatedUnion<[z.ZodObject<{
4235
+ _tag: z.ZodLiteral<"Connected">;
4236
+ site: z.ZodString;
4237
+ }, z.core.$loose>, z.ZodObject<{
4238
+ _tag: z.ZodLiteral<"ActionRequired">;
4239
+ site: z.ZodString;
4240
+ reason: z.ZodEnum<{
4241
+ credential_inactive: "credential_inactive";
4242
+ credential_missing: "credential_missing";
4243
+ }>;
4244
+ }, z.core.$loose>, z.ZodObject<{
4245
+ _tag: z.ZodLiteral<"Disconnected">;
4246
+ site: z.ZodString;
4247
+ }, z.core.$loose>], "_tag">;
4372
4248
  meta: z.ZodObject<{
4373
4249
  requestId: z.ZodString;
4374
4250
  version: z.ZodLiteral<"1.0">;
@@ -4383,8 +4259,8 @@ export declare const searchV1Registry: import("./core.js").PublicV1Registry<{
4383
4259
  readonly changes: readonly [];
4384
4260
  };
4385
4261
  readonly docs: {
4386
- readonly summary: 'Read Site search status';
4387
- readonly description: 'Returns aggregate Search Console synchronization reach for the credential authoritatively bound to the Site Team.';
4262
+ readonly summary: 'Read Site Search Console connection';
4263
+ readonly description: 'Returns the stored Search Console connection state. It never waits for Google or another provider.';
4388
4264
  readonly tags: readonly ["Sites", "Search"];
4389
4265
  readonly examples: readonly [{
4390
4266
  readonly request: {
@@ -4396,31 +4272,8 @@ export declare const searchV1Registry: import("./core.js").PublicV1Registry<{
4396
4272
  readonly status: 200;
4397
4273
  readonly body: {
4398
4274
  readonly data: {
4275
+ readonly _tag: 'Connected';
4399
4276
  readonly site: 'https://example.com';
4400
- readonly connected: true;
4401
- readonly syncStatus: 'synced';
4402
- readonly progress: {
4403
- readonly percent: 100;
4404
- readonly succeeded: 4;
4405
- readonly failed: 0;
4406
- readonly terminal: 4;
4407
- readonly pending: 0;
4408
- readonly total: 4;
4409
- };
4410
- readonly dateRange: {
4411
- readonly oldest: '2026-01-01';
4412
- readonly newest: '2026-08-09';
4413
- };
4414
- readonly lastSyncAt: '2026-08-10T00:00:00.000Z';
4415
- readonly isSyncing: false;
4416
- readonly hasData: true;
4417
- readonly completion: {
4418
- readonly jobsTerminal: true;
4419
- readonly dateCoverageComplete: true;
4420
- readonly missingDays: 0;
4421
- };
4422
- readonly daysSynced: 221;
4423
- readonly daysAvailable: 221;
4424
4277
  };
4425
4278
  readonly meta: {
4426
4279
  readonly requestId: 'req_01JXYZ';
@@ -5169,4 +5022,3 @@ export type IndexingDiagnosticsData = z.output<typeof indexingDiagnosticsDataSch
5169
5022
  export type IndexingHistoryQuery = z.input<typeof indexingHistoryQuerySchema>;
5170
5023
  export type IndexingHistoryData = z.output<typeof indexingHistoryDataSchema.client>;
5171
5024
  export type UrlInspectionData = z.output<typeof urlInspectionDataSchema.client>;
5172
- export {};
package/dist/v1/gsc.js CHANGED
@@ -247,53 +247,26 @@ export const searchAnalyticsDataSchema = {
247
247
  ]),
248
248
  };
249
249
  export const searchAnalyticsResponseSchema = defineSuccessEnvelope(searchAnalyticsDataSchema);
250
- const searchStatusDataSchema = defineResponseObject({
251
- site: schema.string().min(1),
252
- connected: schema.literal(true),
253
- syncStatus: schema.string().min(1),
254
- progress: schema.strictObject({
255
- percent: schema.number().min(0).max(100),
256
- succeeded: schema.number().int().nonnegative(),
257
- failed: schema.number().int().nonnegative(),
258
- terminal: schema.number().int().nonnegative(),
259
- pending: schema.number().int().nonnegative(),
260
- total: schema.number().int().nonnegative(),
261
- }),
262
- dateRange: schema.strictObject({ oldest: schema.string().nullable(), newest: schema.string().nullable() }),
263
- lastSyncAt: schema.string().datetime().nullable(),
264
- isSyncing: schema.boolean(),
265
- hasData: schema.boolean(),
266
- completion: schema.strictObject({
267
- jobsTerminal: schema.boolean(),
268
- dateCoverageComplete: schema.boolean(),
269
- missingDays: schema.number().int().nonnegative(),
270
- }),
271
- daysSynced: schema.number().int().nonnegative(),
272
- daysAvailable: schema.number().int().nonnegative(),
273
- }, {
274
- site: schema.string().min(1),
275
- connected: schema.literal(true),
276
- syncStatus: schema.string().min(1),
277
- progress: schema.looseObject({
278
- percent: schema.number().min(0).max(100),
279
- succeeded: schema.number().int().nonnegative(),
280
- failed: schema.number().int().nonnegative(),
281
- terminal: schema.number().int().nonnegative(),
282
- pending: schema.number().int().nonnegative(),
283
- total: schema.number().int().nonnegative(),
284
- }),
285
- dateRange: schema.looseObject({ oldest: schema.string().nullable(), newest: schema.string().nullable() }),
286
- lastSyncAt: schema.string().datetime().nullable(),
287
- isSyncing: schema.boolean(),
288
- hasData: schema.boolean(),
289
- completion: schema.looseObject({
290
- jobsTerminal: schema.boolean(),
291
- dateCoverageComplete: schema.boolean(),
292
- missingDays: schema.number().int().nonnegative(),
293
- }),
294
- daysSynced: schema.number().int().nonnegative(),
295
- daysAvailable: schema.number().int().nonnegative(),
296
- });
250
+ export const searchStatusDataSchema = {
251
+ producer: schema.discriminatedUnion('_tag', [
252
+ schema.strictObject({ _tag: schema.literal('Connected'), site: schema.string().min(1) }),
253
+ schema.strictObject({
254
+ _tag: schema.literal('ActionRequired'),
255
+ site: schema.string().min(1),
256
+ reason: schema.enum(['credential_missing', 'credential_inactive']),
257
+ }),
258
+ schema.strictObject({ _tag: schema.literal('Disconnected'), site: schema.string().min(1) }),
259
+ ]),
260
+ client: schema.discriminatedUnion('_tag', [
261
+ schema.looseObject({ _tag: schema.literal('Connected'), site: schema.string().min(1) }),
262
+ schema.looseObject({
263
+ _tag: schema.literal('ActionRequired'),
264
+ site: schema.string().min(1),
265
+ reason: schema.enum(['credential_missing', 'credential_inactive']),
266
+ }),
267
+ schema.looseObject({ _tag: schema.literal('Disconnected'), site: schema.string().min(1) }),
268
+ ]),
269
+ };
297
270
  export const searchStatusResponseSchema = defineSuccessEnvelope(searchStatusDataSchema);
298
271
  export const indexingDiagnosticsQuerySchema = schema.strictObject({
299
272
  view: schema.enum(['summary', 'urls']).default('summary'),
@@ -520,10 +493,10 @@ export const searchStatusReadOperation = defineOperation({
520
493
  responses: { 200: searchStatusResponseSchema },
521
494
  resources: { reads: [{ type: 'site.identity', idFrom: 'params.siteId' }], changes: [] },
522
495
  docs: {
523
- summary: 'Read Site search status',
524
- description: 'Returns aggregate Search Console synchronization reach for the credential authoritatively bound to the Site Team.',
496
+ summary: 'Read Site Search Console connection',
497
+ description: 'Returns the stored Search Console connection state. It never waits for Google or another provider.',
525
498
  tags: ['Sites', 'Search'],
526
- examples: [{ request: { params: { siteId: 'site_01JXYZ' } }, response: { status: 200, body: { data: { site: 'https://example.com', connected: true, syncStatus: 'synced', progress: { percent: 100, succeeded: 4, failed: 0, terminal: 4, pending: 0, total: 4 }, dateRange: { oldest: '2026-01-01', newest: '2026-08-09' }, lastSyncAt: '2026-08-10T00:00:00.000Z', isSyncing: false, hasData: true, completion: { jobsTerminal: true, dateCoverageComplete: true, missingDays: 0 }, daysSynced: 221, daysAvailable: 221 }, meta: { requestId: 'req_01JXYZ', version: '1.0' } } } }],
499
+ examples: [{ request: { params: { siteId: 'site_01JXYZ' } }, response: { status: 200, body: { data: { _tag: 'Connected', site: 'https://example.com' }, meta: { requestId: 'req_01JXYZ', version: '1.0' } } } }],
527
500
  },
528
501
  });
529
502
  export const indexingDiagnosticsReadOperation = defineOperation({
@@ -33,6 +33,7 @@ export declare const pageObservationSchema: import("./core.js").CompatibleRespon
33
33
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
34
34
  readonly resolution: z.ZodNullable<z.ZodEnum<{
35
35
  excluded: "excluded";
36
+ expired: "expired";
36
37
  fixed: "fixed";
37
38
  removed: "removed";
38
39
  unmonitored: "unmonitored";
@@ -54,6 +55,7 @@ export declare const pageObservationSchema: import("./core.js").CompatibleRespon
54
55
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
55
56
  readonly resolution: z.ZodNullable<z.ZodEnum<{
56
57
  excluded: "excluded";
58
+ expired: "expired";
57
59
  fixed: "fixed";
58
60
  removed: "removed";
59
61
  unmonitored: "unmonitored";
@@ -122,6 +124,7 @@ export declare const pageInspectDataSchema: import("./core.js").CompatibleRespon
122
124
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
123
125
  readonly resolution: z.ZodNullable<z.ZodEnum<{
124
126
  excluded: "excluded";
127
+ expired: "expired";
125
128
  fixed: "fixed";
126
129
  removed: "removed";
127
130
  unmonitored: "unmonitored";
@@ -182,6 +185,7 @@ export declare const pageInspectDataSchema: import("./core.js").CompatibleRespon
182
185
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
183
186
  readonly resolution: z.ZodNullable<z.ZodEnum<{
184
187
  excluded: "excluded";
188
+ expired: "expired";
185
189
  fixed: "fixed";
186
190
  removed: "removed";
187
191
  unmonitored: "unmonitored";
@@ -244,6 +248,7 @@ export declare const pageInspectResponseSchema: import("./core.js").CompatibleRe
244
248
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
245
249
  readonly resolution: z.ZodNullable<z.ZodEnum<{
246
250
  excluded: "excluded";
251
+ expired: "expired";
247
252
  fixed: "fixed";
248
253
  removed: "removed";
249
254
  unmonitored: "unmonitored";
@@ -310,6 +315,7 @@ export declare const pageInspectResponseSchema: import("./core.js").CompatibleRe
310
315
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
311
316
  readonly resolution: z.ZodNullable<z.ZodEnum<{
312
317
  excluded: "excluded";
318
+ expired: "expired";
313
319
  fixed: "fixed";
314
320
  removed: "removed";
315
321
  unmonitored: "unmonitored";
@@ -504,6 +510,7 @@ export declare const pageInspectOperation: {
504
510
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
505
511
  readonly resolution: z.ZodNullable<z.ZodEnum<{
506
512
  excluded: "excluded";
513
+ expired: "expired";
507
514
  fixed: "fixed";
508
515
  removed: "removed";
509
516
  unmonitored: "unmonitored";
@@ -570,6 +577,7 @@ export declare const pageInspectOperation: {
570
577
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
571
578
  readonly resolution: z.ZodNullable<z.ZodEnum<{
572
579
  excluded: "excluded";
580
+ expired: "expired";
573
581
  fixed: "fixed";
574
582
  removed: "removed";
575
583
  unmonitored: "unmonitored";
@@ -983,6 +991,7 @@ export declare const pagesV1Registry: import("./core.js").PublicV1Registry<{
983
991
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
984
992
  readonly resolution: z.ZodNullable<z.ZodEnum<{
985
993
  excluded: "excluded";
994
+ expired: "expired";
986
995
  fixed: "fixed";
987
996
  removed: "removed";
988
997
  unmonitored: "unmonitored";
@@ -1049,6 +1058,7 @@ export declare const pagesV1Registry: import("./core.js").PublicV1Registry<{
1049
1058
  readonly resolvedAt: z.ZodNullable<z.ZodString>;
1050
1059
  readonly resolution: z.ZodNullable<z.ZodEnum<{
1051
1060
  excluded: "excluded";
1061
+ expired: "expired";
1052
1062
  fixed: "fixed";
1053
1063
  removed: "removed";
1054
1064
  unmonitored: "unmonitored";
package/dist/v1/pages.js CHANGED
@@ -23,7 +23,7 @@ export const pageObservationSchema = defineResponseObject({
23
23
  firstSeenAt: schema.string().datetime().nullable(),
24
24
  lastSeenAt: schema.string().datetime().nullable(),
25
25
  resolvedAt: schema.string().datetime().nullable(),
26
- resolution: schema.enum(['fixed', 'removed', 'excluded', 'unmonitored']).nullable(),
26
+ resolution: schema.enum(['fixed', 'removed', 'excluded', 'unmonitored', 'expired']).nullable(),
27
27
  }, {
28
28
  url: schema.string().url(),
29
29
  path: schema.string(),
@@ -35,7 +35,7 @@ export const pageObservationSchema = defineResponseObject({
35
35
  firstSeenAt: schema.string().datetime().nullable(),
36
36
  lastSeenAt: schema.string().datetime().nullable(),
37
37
  resolvedAt: schema.string().datetime().nullable(),
38
- resolution: schema.enum(['fixed', 'removed', 'excluded', 'unmonitored']).nullable(),
38
+ resolution: schema.enum(['fixed', 'removed', 'excluded', 'unmonitored', 'expired']).nullable(),
39
39
  });
40
40
  export const pageLighthouseSchema = defineResponseObject({
41
41
  scanId: schema.string().min(1),