@nuxtseo/protocol 0.4.1 → 0.5.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/actions.d.ts +101 -7
- package/dist/v1/actions.js +35 -8
- package/dist/v1/backlinks.d.ts +405 -6
- package/dist/v1/backlinks.js +81 -3
- package/dist/v1/gsc.d.ts +189 -29
- package/dist/v1/gsc.js +18 -3
- package/dist/v1/sitemaps.d.ts +42 -0
- package/dist/v1/sites.d.ts +187 -19
- package/dist/v1/sites.js +30 -8
- package/generated/openapi.v1.json +1 -1
- package/package.json +3 -3
package/dist/v1/actions.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ export declare const actionShowQuerySchema: z.ZodObject<{
|
|
|
18
18
|
export declare const actionResolveBodySchema: z.ZodObject<{
|
|
19
19
|
artifactVersion: z.ZodString;
|
|
20
20
|
}, z.core.$strict>;
|
|
21
|
+
export declare const actionDismissBodySchema: z.ZodObject<{
|
|
22
|
+
artifactVersion: z.ZodString;
|
|
23
|
+
note: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strict>;
|
|
21
25
|
/**
|
|
22
26
|
* `url` is the URL the finding was observed on and stays exactly as observed —
|
|
23
27
|
* it is what verification re-checks. `redirectsTo` is the read-time answer to
|
|
@@ -1229,6 +1233,8 @@ export declare const actionEvidenceGroupSchema: import("./core.js").CompatibleRe
|
|
|
1229
1233
|
export declare const actionShowDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
|
|
1230
1234
|
readonly id: z.ZodString;
|
|
1231
1235
|
readonly status: z.ZodString;
|
|
1236
|
+
readonly markedAt: z.ZodNullable<z.ZodString>;
|
|
1237
|
+
readonly checkBackAt: z.ZodNullable<z.ZodString>;
|
|
1232
1238
|
readonly findingType: z.ZodString;
|
|
1233
1239
|
readonly artifactVersion: z.ZodString;
|
|
1234
1240
|
readonly assessmentId: z.ZodString;
|
|
@@ -1321,6 +1327,8 @@ export declare const actionShowDataSchema: import("./core.js").CompatibleRespons
|
|
|
1321
1327
|
}, z.core.$strip>, z.ZodObject<{
|
|
1322
1328
|
readonly id: z.ZodString;
|
|
1323
1329
|
readonly status: z.ZodString;
|
|
1330
|
+
readonly markedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1331
|
+
readonly checkBackAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1324
1332
|
readonly findingType: z.ZodString;
|
|
1325
1333
|
readonly artifactVersion: z.ZodString;
|
|
1326
1334
|
readonly assessmentId: z.ZodString;
|
|
@@ -1415,6 +1423,8 @@ export declare const actionShowResponseSchema: import("./core.js").CompatibleRes
|
|
|
1415
1423
|
data: z.ZodObject<{
|
|
1416
1424
|
readonly id: z.ZodString;
|
|
1417
1425
|
readonly status: z.ZodString;
|
|
1426
|
+
readonly markedAt: z.ZodNullable<z.ZodString>;
|
|
1427
|
+
readonly checkBackAt: z.ZodNullable<z.ZodString>;
|
|
1418
1428
|
readonly findingType: z.ZodString;
|
|
1419
1429
|
readonly artifactVersion: z.ZodString;
|
|
1420
1430
|
readonly assessmentId: z.ZodString;
|
|
@@ -1513,6 +1523,8 @@ export declare const actionShowResponseSchema: import("./core.js").CompatibleRes
|
|
|
1513
1523
|
data: z.ZodObject<{
|
|
1514
1524
|
readonly id: z.ZodString;
|
|
1515
1525
|
readonly status: z.ZodString;
|
|
1526
|
+
readonly markedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1527
|
+
readonly checkBackAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1516
1528
|
readonly findingType: z.ZodString;
|
|
1517
1529
|
readonly artifactVersion: z.ZodString;
|
|
1518
1530
|
readonly assessmentId: z.ZodString;
|
|
@@ -1611,6 +1623,8 @@ export declare const actionShowResponseSchema: import("./core.js").CompatibleRes
|
|
|
1611
1623
|
export declare const actionResolveDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
|
|
1612
1624
|
readonly actionId: z.ZodString;
|
|
1613
1625
|
readonly status: z.ZodString;
|
|
1626
|
+
readonly markedAt: z.ZodNullable<z.ZodString>;
|
|
1627
|
+
readonly checkBackAt: z.ZodNullable<z.ZodString>;
|
|
1614
1628
|
readonly verification: z.ZodEnum<{
|
|
1615
1629
|
"metric-watch": "metric-watch";
|
|
1616
1630
|
"next-assessment": "next-assessment";
|
|
@@ -1621,6 +1635,8 @@ export declare const actionResolveDataSchema: import("./core.js").CompatibleResp
|
|
|
1621
1635
|
}, z.core.$strip>, z.ZodObject<{
|
|
1622
1636
|
readonly actionId: z.ZodString;
|
|
1623
1637
|
readonly status: z.ZodString;
|
|
1638
|
+
readonly markedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1639
|
+
readonly checkBackAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1624
1640
|
readonly verification: z.ZodEnum<{
|
|
1625
1641
|
"metric-watch": "metric-watch";
|
|
1626
1642
|
"next-assessment": "next-assessment";
|
|
@@ -1633,6 +1649,8 @@ export declare const actionResolveResponseSchema: import("./core.js").Compatible
|
|
|
1633
1649
|
data: z.ZodObject<{
|
|
1634
1650
|
readonly actionId: z.ZodString;
|
|
1635
1651
|
readonly status: z.ZodString;
|
|
1652
|
+
readonly markedAt: z.ZodNullable<z.ZodString>;
|
|
1653
|
+
readonly checkBackAt: z.ZodNullable<z.ZodString>;
|
|
1636
1654
|
readonly verification: z.ZodEnum<{
|
|
1637
1655
|
"metric-watch": "metric-watch";
|
|
1638
1656
|
"next-assessment": "next-assessment";
|
|
@@ -1649,6 +1667,8 @@ export declare const actionResolveResponseSchema: import("./core.js").Compatible
|
|
|
1649
1667
|
data: z.ZodObject<{
|
|
1650
1668
|
readonly actionId: z.ZodString;
|
|
1651
1669
|
readonly status: z.ZodString;
|
|
1670
|
+
readonly markedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1671
|
+
readonly checkBackAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1652
1672
|
readonly verification: z.ZodEnum<{
|
|
1653
1673
|
"metric-watch": "metric-watch";
|
|
1654
1674
|
"next-assessment": "next-assessment";
|
|
@@ -2182,6 +2202,8 @@ export declare const actionShowOperation: {
|
|
|
2182
2202
|
data: z.ZodObject<{
|
|
2183
2203
|
readonly id: z.ZodString;
|
|
2184
2204
|
readonly status: z.ZodString;
|
|
2205
|
+
readonly markedAt: z.ZodNullable<z.ZodString>;
|
|
2206
|
+
readonly checkBackAt: z.ZodNullable<z.ZodString>;
|
|
2185
2207
|
readonly findingType: z.ZodString;
|
|
2186
2208
|
readonly artifactVersion: z.ZodString;
|
|
2187
2209
|
readonly assessmentId: z.ZodString;
|
|
@@ -2280,6 +2302,8 @@ export declare const actionShowOperation: {
|
|
|
2280
2302
|
data: z.ZodObject<{
|
|
2281
2303
|
readonly id: z.ZodString;
|
|
2282
2304
|
readonly status: z.ZodString;
|
|
2305
|
+
readonly markedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2306
|
+
readonly checkBackAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2283
2307
|
readonly findingType: z.ZodString;
|
|
2284
2308
|
readonly artifactVersion: z.ZodString;
|
|
2285
2309
|
readonly assessmentId: z.ZodString;
|
|
@@ -2466,6 +2490,8 @@ export declare const actionShowOperation: {
|
|
|
2466
2490
|
readonly data: {
|
|
2467
2491
|
readonly id: 'action_01JXYZ';
|
|
2468
2492
|
readonly status: 'open';
|
|
2493
|
+
readonly markedAt: null;
|
|
2494
|
+
readonly checkBackAt: null;
|
|
2469
2495
|
readonly findingType: 'broken-pages';
|
|
2470
2496
|
readonly artifactVersion: 'te2:action_01JXYZ:scope';
|
|
2471
2497
|
readonly assessmentId: 'assessment_01JXYZ';
|
|
@@ -2530,6 +2556,8 @@ export declare const actionResolveOperation: {
|
|
|
2530
2556
|
data: z.ZodObject<{
|
|
2531
2557
|
readonly actionId: z.ZodString;
|
|
2532
2558
|
readonly status: z.ZodString;
|
|
2559
|
+
readonly markedAt: z.ZodNullable<z.ZodString>;
|
|
2560
|
+
readonly checkBackAt: z.ZodNullable<z.ZodString>;
|
|
2533
2561
|
readonly verification: z.ZodEnum<{
|
|
2534
2562
|
"metric-watch": "metric-watch";
|
|
2535
2563
|
"next-assessment": "next-assessment";
|
|
@@ -2546,6 +2574,8 @@ export declare const actionResolveOperation: {
|
|
|
2546
2574
|
data: z.ZodObject<{
|
|
2547
2575
|
readonly actionId: z.ZodString;
|
|
2548
2576
|
readonly status: z.ZodString;
|
|
2577
|
+
readonly markedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2578
|
+
readonly checkBackAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2549
2579
|
readonly verification: z.ZodEnum<{
|
|
2550
2580
|
"metric-watch": "metric-watch";
|
|
2551
2581
|
"next-assessment": "next-assessment";
|
|
@@ -2654,6 +2684,8 @@ export declare const actionResolveOperation: {
|
|
|
2654
2684
|
readonly actionId: 'action_01JXYZ';
|
|
2655
2685
|
readonly status: 'open';
|
|
2656
2686
|
readonly verification: 'recheck-queued';
|
|
2687
|
+
readonly markedAt: '2026-08-10T01:30:00.000Z';
|
|
2688
|
+
readonly checkBackAt: '2026-08-10T01:40:00.000Z';
|
|
2657
2689
|
};
|
|
2658
2690
|
readonly meta: {
|
|
2659
2691
|
readonly requestId: 'req_01JXYZ';
|
|
@@ -2696,11 +2728,9 @@ export declare const actionDismissResponseSchema: import("./core.js").Compatible
|
|
|
2696
2728
|
}, z.core.$strip>>;
|
|
2697
2729
|
export type ActionDismiss = z.output<typeof actionDismissDataSchema.client>;
|
|
2698
2730
|
/**
|
|
2699
|
-
*
|
|
2700
|
-
*
|
|
2701
|
-
*
|
|
2702
|
-
* `artifactVersion` fence as resolve applies, so a decision made against stale
|
|
2703
|
-
* evidence is rejected rather than applied.
|
|
2731
|
+
* An explicit note records the owner's decision to dismiss reviewed work.
|
|
2732
|
+
* Without a note, only complete, unlinked 404/410 evidence admits dismissal.
|
|
2733
|
+
* Both paths retain the artifactVersion fence and never claim a verified fix.
|
|
2704
2734
|
*/
|
|
2705
2735
|
export declare const actionDismissOperation: {
|
|
2706
2736
|
readonly id: 'actions.dismiss';
|
|
@@ -2728,6 +2758,7 @@ export declare const actionDismissOperation: {
|
|
|
2728
2758
|
readonly headers: null;
|
|
2729
2759
|
readonly body: z.ZodObject<{
|
|
2730
2760
|
artifactVersion: z.ZodString;
|
|
2761
|
+
note: z.ZodOptional<z.ZodString>;
|
|
2731
2762
|
}, z.core.$strict>;
|
|
2732
2763
|
};
|
|
2733
2764
|
readonly responses: {
|
|
@@ -2828,7 +2859,7 @@ export declare const actionDismissOperation: {
|
|
|
2828
2859
|
};
|
|
2829
2860
|
readonly docs: {
|
|
2830
2861
|
readonly summary: 'Dismiss an action';
|
|
2831
|
-
readonly description: '
|
|
2862
|
+
readonly description: 'Records an owner decision to dismiss an action when a note explains why it is intentional or incorrect. Without a note, only complete 404 or 410 evidence with no internal referrers is accepted. Stale details and decided actions are rejected. Dismissal preserves observations and does not verify a fix. The action stays dismissed until a person restores it.';
|
|
2832
2863
|
readonly tags: readonly ["Actions"];
|
|
2833
2864
|
readonly examples: readonly [{
|
|
2834
2865
|
readonly request: {
|
|
@@ -2854,6 +2885,31 @@ export declare const actionDismissOperation: {
|
|
|
2854
2885
|
};
|
|
2855
2886
|
};
|
|
2856
2887
|
};
|
|
2888
|
+
}, {
|
|
2889
|
+
readonly request: {
|
|
2890
|
+
readonly params: {
|
|
2891
|
+
readonly siteId: 'site_01JXYZ';
|
|
2892
|
+
readonly actionId: 'action_01JXYZ';
|
|
2893
|
+
};
|
|
2894
|
+
readonly body: {
|
|
2895
|
+
readonly artifactVersion: 'te2:action_01JXYZ:scope';
|
|
2896
|
+
readonly note: 'Temporary retired sitemap. Review after the recovery gate.';
|
|
2897
|
+
};
|
|
2898
|
+
};
|
|
2899
|
+
readonly response: {
|
|
2900
|
+
readonly status: 200;
|
|
2901
|
+
readonly body: {
|
|
2902
|
+
readonly data: {
|
|
2903
|
+
readonly actionId: 'action_01JXYZ';
|
|
2904
|
+
readonly status: 'dismissed';
|
|
2905
|
+
readonly message: 'Dismissed. Your note is saved. No fix was verified.';
|
|
2906
|
+
};
|
|
2907
|
+
readonly meta: {
|
|
2908
|
+
readonly requestId: 'req_01JXYZ';
|
|
2909
|
+
readonly version: '1.0';
|
|
2910
|
+
};
|
|
2911
|
+
};
|
|
2912
|
+
};
|
|
2857
2913
|
}];
|
|
2858
2914
|
};
|
|
2859
2915
|
};
|
|
@@ -3372,6 +3428,8 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
3372
3428
|
data: z.ZodObject<{
|
|
3373
3429
|
readonly id: z.ZodString;
|
|
3374
3430
|
readonly status: z.ZodString;
|
|
3431
|
+
readonly markedAt: z.ZodNullable<z.ZodString>;
|
|
3432
|
+
readonly checkBackAt: z.ZodNullable<z.ZodString>;
|
|
3375
3433
|
readonly findingType: z.ZodString;
|
|
3376
3434
|
readonly artifactVersion: z.ZodString;
|
|
3377
3435
|
readonly assessmentId: z.ZodString;
|
|
@@ -3470,6 +3528,8 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
3470
3528
|
data: z.ZodObject<{
|
|
3471
3529
|
readonly id: z.ZodString;
|
|
3472
3530
|
readonly status: z.ZodString;
|
|
3531
|
+
readonly markedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3532
|
+
readonly checkBackAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3473
3533
|
readonly findingType: z.ZodString;
|
|
3474
3534
|
readonly artifactVersion: z.ZodString;
|
|
3475
3535
|
readonly assessmentId: z.ZodString;
|
|
@@ -3656,6 +3716,8 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
3656
3716
|
readonly data: {
|
|
3657
3717
|
readonly id: 'action_01JXYZ';
|
|
3658
3718
|
readonly status: 'open';
|
|
3719
|
+
readonly markedAt: null;
|
|
3720
|
+
readonly checkBackAt: null;
|
|
3659
3721
|
readonly findingType: 'broken-pages';
|
|
3660
3722
|
readonly artifactVersion: 'te2:action_01JXYZ:scope';
|
|
3661
3723
|
readonly assessmentId: 'assessment_01JXYZ';
|
|
@@ -3720,6 +3782,8 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
3720
3782
|
data: z.ZodObject<{
|
|
3721
3783
|
readonly actionId: z.ZodString;
|
|
3722
3784
|
readonly status: z.ZodString;
|
|
3785
|
+
readonly markedAt: z.ZodNullable<z.ZodString>;
|
|
3786
|
+
readonly checkBackAt: z.ZodNullable<z.ZodString>;
|
|
3723
3787
|
readonly verification: z.ZodEnum<{
|
|
3724
3788
|
"metric-watch": "metric-watch";
|
|
3725
3789
|
"next-assessment": "next-assessment";
|
|
@@ -3736,6 +3800,8 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
3736
3800
|
data: z.ZodObject<{
|
|
3737
3801
|
readonly actionId: z.ZodString;
|
|
3738
3802
|
readonly status: z.ZodString;
|
|
3803
|
+
readonly markedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3804
|
+
readonly checkBackAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3739
3805
|
readonly verification: z.ZodEnum<{
|
|
3740
3806
|
"metric-watch": "metric-watch";
|
|
3741
3807
|
"next-assessment": "next-assessment";
|
|
@@ -3844,6 +3910,8 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
3844
3910
|
readonly actionId: 'action_01JXYZ';
|
|
3845
3911
|
readonly status: 'open';
|
|
3846
3912
|
readonly verification: 'recheck-queued';
|
|
3913
|
+
readonly markedAt: '2026-08-10T01:30:00.000Z';
|
|
3914
|
+
readonly checkBackAt: '2026-08-10T01:40:00.000Z';
|
|
3847
3915
|
};
|
|
3848
3916
|
readonly meta: {
|
|
3849
3917
|
readonly requestId: 'req_01JXYZ';
|
|
@@ -3880,6 +3948,7 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
3880
3948
|
readonly headers: null;
|
|
3881
3949
|
readonly body: z.ZodObject<{
|
|
3882
3950
|
artifactVersion: z.ZodString;
|
|
3951
|
+
note: z.ZodOptional<z.ZodString>;
|
|
3883
3952
|
}, z.core.$strict>;
|
|
3884
3953
|
};
|
|
3885
3954
|
readonly responses: {
|
|
@@ -3980,7 +4049,7 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
3980
4049
|
};
|
|
3981
4050
|
readonly docs: {
|
|
3982
4051
|
readonly summary: 'Dismiss an action';
|
|
3983
|
-
readonly description: '
|
|
4052
|
+
readonly description: 'Records an owner decision to dismiss an action when a note explains why it is intentional or incorrect. Without a note, only complete 404 or 410 evidence with no internal referrers is accepted. Stale details and decided actions are rejected. Dismissal preserves observations and does not verify a fix. The action stays dismissed until a person restores it.';
|
|
3984
4053
|
readonly tags: readonly ["Actions"];
|
|
3985
4054
|
readonly examples: readonly [{
|
|
3986
4055
|
readonly request: {
|
|
@@ -4006,6 +4075,31 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
|
|
|
4006
4075
|
};
|
|
4007
4076
|
};
|
|
4008
4077
|
};
|
|
4078
|
+
}, {
|
|
4079
|
+
readonly request: {
|
|
4080
|
+
readonly params: {
|
|
4081
|
+
readonly siteId: 'site_01JXYZ';
|
|
4082
|
+
readonly actionId: 'action_01JXYZ';
|
|
4083
|
+
};
|
|
4084
|
+
readonly body: {
|
|
4085
|
+
readonly artifactVersion: 'te2:action_01JXYZ:scope';
|
|
4086
|
+
readonly note: 'Temporary retired sitemap. Review after the recovery gate.';
|
|
4087
|
+
};
|
|
4088
|
+
};
|
|
4089
|
+
readonly response: {
|
|
4090
|
+
readonly status: 200;
|
|
4091
|
+
readonly body: {
|
|
4092
|
+
readonly data: {
|
|
4093
|
+
readonly actionId: 'action_01JXYZ';
|
|
4094
|
+
readonly status: 'dismissed';
|
|
4095
|
+
readonly message: 'Dismissed. Your note is saved. No fix was verified.';
|
|
4096
|
+
};
|
|
4097
|
+
readonly meta: {
|
|
4098
|
+
readonly requestId: 'req_01JXYZ';
|
|
4099
|
+
readonly version: '1.0';
|
|
4100
|
+
};
|
|
4101
|
+
};
|
|
4102
|
+
};
|
|
4009
4103
|
}];
|
|
4010
4104
|
};
|
|
4011
4105
|
};
|
package/dist/v1/actions.js
CHANGED
|
@@ -19,6 +19,10 @@ export const actionShowQuerySchema = schema.strictObject({
|
|
|
19
19
|
export const actionResolveBodySchema = schema.strictObject({
|
|
20
20
|
artifactVersion: schema.string().min(1),
|
|
21
21
|
});
|
|
22
|
+
export const actionDismissBodySchema = schema.strictObject({
|
|
23
|
+
artifactVersion: schema.string().min(1),
|
|
24
|
+
note: schema.string().trim().min(1).max(2000).optional(),
|
|
25
|
+
});
|
|
22
26
|
/**
|
|
23
27
|
* `url` is the URL the finding was observed on and stays exactly as observed —
|
|
24
28
|
* it is what verification re-checks. `redirectsTo` is the read-time answer to
|
|
@@ -292,6 +296,8 @@ export const actionEvidenceGroupSchema = defineResponseObject({
|
|
|
292
296
|
export const actionShowDataSchema = defineResponseObject({
|
|
293
297
|
id: schema.string().min(1),
|
|
294
298
|
status: schema.string().min(1),
|
|
299
|
+
markedAt: schema.string().datetime().nullable(),
|
|
300
|
+
checkBackAt: schema.string().datetime().nullable(),
|
|
295
301
|
findingType: schema.string().min(1),
|
|
296
302
|
artifactVersion: schema.string().min(1),
|
|
297
303
|
assessmentId: schema.string().min(1),
|
|
@@ -309,6 +315,8 @@ export const actionShowDataSchema = defineResponseObject({
|
|
|
309
315
|
}, {
|
|
310
316
|
id: schema.string().min(1),
|
|
311
317
|
status: schema.string().min(1),
|
|
318
|
+
markedAt: schema.string().datetime().nullable().optional(),
|
|
319
|
+
checkBackAt: schema.string().datetime().nullable().optional(),
|
|
312
320
|
findingType: schema.string().min(1),
|
|
313
321
|
artifactVersion: schema.string().min(1),
|
|
314
322
|
assessmentId: schema.string().min(1),
|
|
@@ -328,10 +336,14 @@ export const actionShowResponseSchema = defineSuccessEnvelope(actionShowDataSche
|
|
|
328
336
|
export const actionResolveDataSchema = defineResponseObject({
|
|
329
337
|
actionId: schema.string().min(1),
|
|
330
338
|
status: schema.string().min(1),
|
|
339
|
+
markedAt: schema.string().datetime().nullable(),
|
|
340
|
+
checkBackAt: schema.string().datetime().nullable(),
|
|
331
341
|
verification: schema.enum(['recheck-queued', 'scan-queued', 'next-assessment', 'metric-watch', 'user-resolved']),
|
|
332
342
|
}, {
|
|
333
343
|
actionId: schema.string().min(1),
|
|
334
344
|
status: schema.string().min(1),
|
|
345
|
+
markedAt: schema.string().datetime().nullable().optional(),
|
|
346
|
+
checkBackAt: schema.string().datetime().nullable().optional(),
|
|
335
347
|
verification: schema.enum(['recheck-queued', 'scan-queued', 'next-assessment', 'metric-watch', 'user-resolved']),
|
|
336
348
|
});
|
|
337
349
|
export const actionResolveResponseSchema = defineSuccessEnvelope(actionResolveDataSchema);
|
|
@@ -432,6 +444,8 @@ export const actionShowOperation = defineOperation({
|
|
|
432
444
|
data: {
|
|
433
445
|
id: 'action_01JXYZ',
|
|
434
446
|
status: 'open',
|
|
447
|
+
markedAt: null,
|
|
448
|
+
checkBackAt: null,
|
|
435
449
|
findingType: 'broken-pages',
|
|
436
450
|
artifactVersion: 'te2:action_01JXYZ:scope',
|
|
437
451
|
assessmentId: 'assessment_01JXYZ',
|
|
@@ -501,7 +515,7 @@ export const actionResolveOperation = defineOperation({
|
|
|
501
515
|
response: {
|
|
502
516
|
status: 200,
|
|
503
517
|
body: {
|
|
504
|
-
data: { actionId: 'action_01JXYZ', status: 'open', verification: 'recheck-queued' },
|
|
518
|
+
data: { actionId: 'action_01JXYZ', status: 'open', verification: 'recheck-queued', markedAt: '2026-08-10T01:30:00.000Z', checkBackAt: '2026-08-10T01:40:00.000Z' },
|
|
505
519
|
meta: { requestId: 'req_01JXYZ', version: '1.0' },
|
|
506
520
|
},
|
|
507
521
|
},
|
|
@@ -519,11 +533,9 @@ export const actionDismissDataSchema = defineResponseObject({
|
|
|
519
533
|
});
|
|
520
534
|
export const actionDismissResponseSchema = defineSuccessEnvelope(actionDismissDataSchema);
|
|
521
535
|
/**
|
|
522
|
-
*
|
|
523
|
-
*
|
|
524
|
-
*
|
|
525
|
-
* `artifactVersion` fence as resolve applies, so a decision made against stale
|
|
526
|
-
* evidence is rejected rather than applied.
|
|
536
|
+
* An explicit note records the owner's decision to dismiss reviewed work.
|
|
537
|
+
* Without a note, only complete, unlinked 404/410 evidence admits dismissal.
|
|
538
|
+
* Both paths retain the artifactVersion fence and never claim a verified fix.
|
|
527
539
|
*/
|
|
528
540
|
export const actionDismissOperation = defineOperation({
|
|
529
541
|
id: 'actions.dismiss',
|
|
@@ -537,7 +549,7 @@ export const actionDismissOperation = defineOperation({
|
|
|
537
549
|
minimumRole: 'member',
|
|
538
550
|
ownership: 'site',
|
|
539
551
|
},
|
|
540
|
-
request: { params: actionParamsSchema, query: null, headers: null, body:
|
|
552
|
+
request: { params: actionParamsSchema, query: null, headers: null, body: actionDismissBodySchema },
|
|
541
553
|
responses: { 200: actionDismissResponseSchema },
|
|
542
554
|
errors: [
|
|
543
555
|
'invalid_request',
|
|
@@ -566,7 +578,7 @@ export const actionDismissOperation = defineOperation({
|
|
|
566
578
|
lifecycle: { introduced: '1.2.0' },
|
|
567
579
|
docs: {
|
|
568
580
|
summary: 'Dismiss an action',
|
|
569
|
-
description: '
|
|
581
|
+
description: 'Records an owner decision to dismiss an action when a note explains why it is intentional or incorrect. Without a note, only complete 404 or 410 evidence with no internal referrers is accepted. Stale details and decided actions are rejected. Dismissal preserves observations and does not verify a fix. The action stays dismissed until a person restores it.',
|
|
570
582
|
tags: ['Actions'],
|
|
571
583
|
examples: [{
|
|
572
584
|
request: {
|
|
@@ -580,6 +592,21 @@ export const actionDismissOperation = defineOperation({
|
|
|
580
592
|
meta: { requestId: 'req_01JXYZ', version: '1.0' },
|
|
581
593
|
},
|
|
582
594
|
},
|
|
595
|
+
}, {
|
|
596
|
+
request: {
|
|
597
|
+
params: { siteId: 'site_01JXYZ', actionId: 'action_01JXYZ' },
|
|
598
|
+
body: {
|
|
599
|
+
artifactVersion: 'te2:action_01JXYZ:scope',
|
|
600
|
+
note: 'Temporary retired sitemap. Review after the recovery gate.',
|
|
601
|
+
},
|
|
602
|
+
},
|
|
603
|
+
response: {
|
|
604
|
+
status: 200,
|
|
605
|
+
body: {
|
|
606
|
+
data: { actionId: 'action_01JXYZ', status: 'dismissed', message: 'Dismissed. Your note is saved. No fix was verified.' },
|
|
607
|
+
meta: { requestId: 'req_01JXYZ', version: '1.0' },
|
|
608
|
+
},
|
|
609
|
+
},
|
|
583
610
|
}],
|
|
584
611
|
},
|
|
585
612
|
});
|