@nuxtseo/protocol 0.1.1 → 0.1.2

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.
@@ -5,20 +5,14 @@ export declare const usageMeterGroupSchema: z.ZodEnum<{
5
5
  integrations: "integrations";
6
6
  }>;
7
7
  export declare const usageUpgradeTierSchema: z.ZodEnum<{
8
- agency: "agency";
9
8
  free: "free";
10
- full: "full";
11
9
  lifetime: "lifetime";
12
10
  pro: "pro";
13
- search: "search";
14
11
  }>;
15
12
  export declare const usagePlanSchema: z.ZodEnum<{
16
- agency: "agency";
17
13
  free: "free";
18
- full: "full";
19
14
  lifetime: "lifetime";
20
15
  pro: "pro";
21
- search: "search";
22
16
  }>;
23
17
  export declare const accountUsageQuerySchema: z.ZodObject<{
24
18
  group: z.ZodOptional<z.ZodEnum<{
@@ -44,12 +38,9 @@ export declare const usageMeterProducerSchema: z.ZodObject<{
44
38
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
45
39
  upgradeCopy: z.ZodArray<z.ZodObject<{
46
40
  tier: z.ZodEnum<{
47
- agency: "agency";
48
41
  free: "free";
49
- full: "full";
50
42
  lifetime: "lifetime";
51
43
  pro: "pro";
52
- search: "search";
53
44
  }>;
54
45
  gain: z.ZodString;
55
46
  }, z.core.$strict>>;
@@ -71,24 +62,18 @@ export declare const usageMeterClientSchema: z.ZodObject<{
71
62
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
72
63
  upgradeCopy: z.ZodArray<z.ZodObject<{
73
64
  tier: z.ZodEnum<{
74
- agency: "agency";
75
65
  free: "free";
76
- full: "full";
77
66
  lifetime: "lifetime";
78
67
  pro: "pro";
79
- search: "search";
80
68
  }>;
81
69
  gain: z.ZodString;
82
70
  }, z.core.$loose>>;
83
71
  }, z.core.$loose>;
84
72
  export declare const accountUsageDataSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
85
73
  readonly plan: z.ZodEnum<{
86
- agency: "agency";
87
74
  free: "free";
88
- full: "full";
89
75
  lifetime: "lifetime";
90
76
  pro: "pro";
91
- search: "search";
92
77
  }>;
93
78
  readonly meters: z.ZodArray<z.ZodObject<{
94
79
  key: z.ZodString;
@@ -107,24 +92,18 @@ export declare const accountUsageDataSchema: import("./core.js").CompatibleRespo
107
92
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
108
93
  upgradeCopy: z.ZodArray<z.ZodObject<{
109
94
  tier: z.ZodEnum<{
110
- agency: "agency";
111
95
  free: "free";
112
- full: "full";
113
96
  lifetime: "lifetime";
114
97
  pro: "pro";
115
- search: "search";
116
98
  }>;
117
99
  gain: z.ZodString;
118
100
  }, z.core.$strict>>;
119
101
  }, z.core.$strict>>;
120
102
  }, z.core.$strip>, z.ZodObject<{
121
103
  readonly plan: z.ZodEnum<{
122
- agency: "agency";
123
104
  free: "free";
124
- full: "full";
125
105
  lifetime: "lifetime";
126
106
  pro: "pro";
127
- search: "search";
128
107
  }>;
129
108
  readonly meters: z.ZodArray<z.ZodObject<{
130
109
  key: z.ZodString;
@@ -143,12 +122,9 @@ export declare const accountUsageDataSchema: import("./core.js").CompatibleRespo
143
122
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
144
123
  upgradeCopy: z.ZodArray<z.ZodObject<{
145
124
  tier: z.ZodEnum<{
146
- agency: "agency";
147
125
  free: "free";
148
- full: "full";
149
126
  lifetime: "lifetime";
150
127
  pro: "pro";
151
- search: "search";
152
128
  }>;
153
129
  gain: z.ZodString;
154
130
  }, z.core.$loose>>;
@@ -166,12 +142,9 @@ export declare const accountUsageMetaSchema: import("./core.js").CompatibleRespo
166
142
  export declare const accountUsageResponseSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
167
143
  data: z.ZodObject<{
168
144
  readonly plan: z.ZodEnum<{
169
- agency: "agency";
170
145
  free: "free";
171
- full: "full";
172
146
  lifetime: "lifetime";
173
147
  pro: "pro";
174
- search: "search";
175
148
  }>;
176
149
  readonly meters: z.ZodArray<z.ZodObject<{
177
150
  key: z.ZodString;
@@ -190,12 +163,9 @@ export declare const accountUsageResponseSchema: import("./core.js").CompatibleR
190
163
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
191
164
  upgradeCopy: z.ZodArray<z.ZodObject<{
192
165
  tier: z.ZodEnum<{
193
- agency: "agency";
194
166
  free: "free";
195
- full: "full";
196
167
  lifetime: "lifetime";
197
168
  pro: "pro";
198
- search: "search";
199
169
  }>;
200
170
  gain: z.ZodString;
201
171
  }, z.core.$strict>>;
@@ -209,12 +179,9 @@ export declare const accountUsageResponseSchema: import("./core.js").CompatibleR
209
179
  }, z.core.$strip>, z.ZodObject<{
210
180
  data: z.ZodObject<{
211
181
  readonly plan: z.ZodEnum<{
212
- agency: "agency";
213
182
  free: "free";
214
- full: "full";
215
183
  lifetime: "lifetime";
216
184
  pro: "pro";
217
- search: "search";
218
185
  }>;
219
186
  readonly meters: z.ZodArray<z.ZodObject<{
220
187
  key: z.ZodString;
@@ -233,12 +200,9 @@ export declare const accountUsageResponseSchema: import("./core.js").CompatibleR
233
200
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
234
201
  upgradeCopy: z.ZodArray<z.ZodObject<{
235
202
  tier: z.ZodEnum<{
236
- agency: "agency";
237
203
  free: "free";
238
- full: "full";
239
204
  lifetime: "lifetime";
240
205
  pro: "pro";
241
- search: "search";
242
206
  }>;
243
207
  gain: z.ZodString;
244
208
  }, z.core.$loose>>;
@@ -288,12 +252,9 @@ export declare const accountUsageOperation: {
288
252
  readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
289
253
  data: z.ZodObject<{
290
254
  readonly plan: z.ZodEnum<{
291
- agency: "agency";
292
255
  free: "free";
293
- full: "full";
294
256
  lifetime: "lifetime";
295
257
  pro: "pro";
296
- search: "search";
297
258
  }>;
298
259
  readonly meters: z.ZodArray<z.ZodObject<{
299
260
  key: z.ZodString;
@@ -312,12 +273,9 @@ export declare const accountUsageOperation: {
312
273
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
313
274
  upgradeCopy: z.ZodArray<z.ZodObject<{
314
275
  tier: z.ZodEnum<{
315
- agency: "agency";
316
276
  free: "free";
317
- full: "full";
318
277
  lifetime: "lifetime";
319
278
  pro: "pro";
320
- search: "search";
321
279
  }>;
322
280
  gain: z.ZodString;
323
281
  }, z.core.$strict>>;
@@ -331,12 +289,9 @@ export declare const accountUsageOperation: {
331
289
  }, z.core.$strip>, z.ZodObject<{
332
290
  data: z.ZodObject<{
333
291
  readonly plan: z.ZodEnum<{
334
- agency: "agency";
335
292
  free: "free";
336
- full: "full";
337
293
  lifetime: "lifetime";
338
294
  pro: "pro";
339
- search: "search";
340
295
  }>;
341
296
  readonly meters: z.ZodArray<z.ZodObject<{
342
297
  key: z.ZodString;
@@ -355,12 +310,9 @@ export declare const accountUsageOperation: {
355
310
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
356
311
  upgradeCopy: z.ZodArray<z.ZodObject<{
357
312
  tier: z.ZodEnum<{
358
- agency: "agency";
359
313
  free: "free";
360
- full: "full";
361
314
  lifetime: "lifetime";
362
315
  pro: "pro";
363
- search: "search";
364
316
  }>;
365
317
  gain: z.ZodString;
366
318
  }, z.core.$loose>>;
@@ -468,7 +420,7 @@ export declare const accountUsageOperation: {
468
420
  readonly overCap: false;
469
421
  readonly resetsAt: '2026-09-01T00:00:00.000Z';
470
422
  readonly upgradeCopy: readonly [{
471
- readonly tier: 'agency';
423
+ readonly tier: 'pro';
472
424
  readonly gain: 'Increase monthly research capacity.';
473
425
  }];
474
426
  }];
@@ -517,12 +469,9 @@ export declare const accountV1Registry: import("./core.js").PublicV1Registry<{
517
469
  readonly 200: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
518
470
  data: z.ZodObject<{
519
471
  readonly plan: z.ZodEnum<{
520
- agency: "agency";
521
472
  free: "free";
522
- full: "full";
523
473
  lifetime: "lifetime";
524
474
  pro: "pro";
525
- search: "search";
526
475
  }>;
527
476
  readonly meters: z.ZodArray<z.ZodObject<{
528
477
  key: z.ZodString;
@@ -541,12 +490,9 @@ export declare const accountV1Registry: import("./core.js").PublicV1Registry<{
541
490
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
542
491
  upgradeCopy: z.ZodArray<z.ZodObject<{
543
492
  tier: z.ZodEnum<{
544
- agency: "agency";
545
493
  free: "free";
546
- full: "full";
547
494
  lifetime: "lifetime";
548
495
  pro: "pro";
549
- search: "search";
550
496
  }>;
551
497
  gain: z.ZodString;
552
498
  }, z.core.$strict>>;
@@ -560,12 +506,9 @@ export declare const accountV1Registry: import("./core.js").PublicV1Registry<{
560
506
  }, z.core.$strip>, z.ZodObject<{
561
507
  data: z.ZodObject<{
562
508
  readonly plan: z.ZodEnum<{
563
- agency: "agency";
564
509
  free: "free";
565
- full: "full";
566
510
  lifetime: "lifetime";
567
511
  pro: "pro";
568
- search: "search";
569
512
  }>;
570
513
  readonly meters: z.ZodArray<z.ZodObject<{
571
514
  key: z.ZodString;
@@ -584,12 +527,9 @@ export declare const accountV1Registry: import("./core.js").PublicV1Registry<{
584
527
  resetsAt: z.ZodNullable<z.ZodISODateTime>;
585
528
  upgradeCopy: z.ZodArray<z.ZodObject<{
586
529
  tier: z.ZodEnum<{
587
- agency: "agency";
588
530
  free: "free";
589
- full: "full";
590
531
  lifetime: "lifetime";
591
532
  pro: "pro";
592
- search: "search";
593
533
  }>;
594
534
  gain: z.ZodString;
595
535
  }, z.core.$loose>>;
@@ -697,7 +637,7 @@ export declare const accountV1Registry: import("./core.js").PublicV1Registry<{
697
637
  readonly overCap: false;
698
638
  readonly resetsAt: '2026-09-01T00:00:00.000Z';
699
639
  readonly upgradeCopy: readonly [{
700
- readonly tier: 'agency';
640
+ readonly tier: 'pro';
701
641
  readonly gain: 'Increase monthly research capacity.';
702
642
  }];
703
643
  }];
@@ -1,7 +1,7 @@
1
1
  import { z as schema } from 'zod';
2
2
  import { defineOperation, defineRegistry, defineResponseObject, defineSuccessEnvelope, publicV1ErrorEnvelope, publicV1MetaClientSchema, publicV1MetaProducerSchema, publicV1StandardRatePolicy, } from './core.js';
3
3
  export const usageMeterGroupSchema = schema.enum(['integrations', 'compute', 'capacity']);
4
- export const usageUpgradeTierSchema = schema.enum(['free', 'search', 'full', 'pro', 'agency', 'lifetime']);
4
+ export const usageUpgradeTierSchema = schema.enum(['free', 'pro', 'lifetime']);
5
5
  export const usagePlanSchema = usageUpgradeTierSchema;
6
6
  export const accountUsageQuerySchema = schema.strictObject({
7
7
  group: usageMeterGroupSchema.optional(),
@@ -106,7 +106,7 @@ export const accountUsageOperation = defineOperation({
106
106
  blocked: false,
107
107
  overCap: false,
108
108
  resetsAt: '2026-09-01T00:00:00.000Z',
109
- upgradeCopy: [{ tier: 'agency', gain: 'Increase monthly research capacity.' }],
109
+ upgradeCopy: [{ tier: 'pro', gain: 'Increase monthly research capacity.' }],
110
110
  }],
111
111
  },
112
112
  meta: { requestId: 'req_01JXYZ', version: '1.0', total: 1 },
@@ -43,6 +43,32 @@ export declare const actionSourceSchema: import("./core.js").CompatibleResponseS
43
43
  readonly label: z.ZodString;
44
44
  readonly url: z.ZodString;
45
45
  }, z.core.$strip>>;
46
+ /**
47
+ * Evidence age computed at read time, so a listing cannot present a stale
48
+ * observation as current work. `verdict` is `aged` past 24 hours. `source`
49
+ * names which clock answered: `producer` is the sealed collection clock,
50
+ * `ticket-observation` is the ticket's own reasserted clock, `none` means no
51
+ * observation clock exists and the verdict is `unknown`.
52
+ */
53
+ export declare const actionEvidenceFreshnessSchema: z.ZodObject<{
54
+ observedAt: z.ZodNullable<z.ZodString>;
55
+ ageHours: z.ZodNullable<z.ZodNumber>;
56
+ verdict: z.ZodEnum<{
57
+ aged: "aged";
58
+ recent: "recent";
59
+ unknown: "unknown";
60
+ }>;
61
+ source: z.ZodEnum<{
62
+ none: "none";
63
+ producer: "producer";
64
+ "ticket-observation": "ticket-observation";
65
+ }>;
66
+ confidence: z.ZodEnum<{
67
+ reasserted: "reasserted";
68
+ sealed: "sealed";
69
+ unknown: "unknown";
70
+ }>;
71
+ }, z.core.$strict>;
46
72
  export declare const actionEvidenceSummarySchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
47
73
  readonly artifactVersion: z.ZodNullable<z.ZodString>;
48
74
  readonly coverage: z.ZodEnum<{
@@ -58,6 +84,25 @@ export declare const actionEvidenceSummarySchema: import("./core.js").Compatible
58
84
  readonly groupCount: z.ZodNumber;
59
85
  readonly observedAt: z.ZodNullable<z.ZodString>;
60
86
  readonly asOf: z.ZodNullable<z.ZodString>;
87
+ readonly freshness: z.ZodObject<{
88
+ observedAt: z.ZodNullable<z.ZodString>;
89
+ ageHours: z.ZodNullable<z.ZodNumber>;
90
+ verdict: z.ZodEnum<{
91
+ aged: "aged";
92
+ recent: "recent";
93
+ unknown: "unknown";
94
+ }>;
95
+ source: z.ZodEnum<{
96
+ none: "none";
97
+ producer: "producer";
98
+ "ticket-observation": "ticket-observation";
99
+ }>;
100
+ confidence: z.ZodEnum<{
101
+ reasserted: "reasserted";
102
+ sealed: "sealed";
103
+ unknown: "unknown";
104
+ }>;
105
+ }, z.core.$strict>;
61
106
  }, z.core.$strip>, z.ZodObject<{
62
107
  readonly artifactVersion: z.ZodNullable<z.ZodString>;
63
108
  readonly coverage: z.ZodEnum<{
@@ -73,6 +118,25 @@ export declare const actionEvidenceSummarySchema: import("./core.js").Compatible
73
118
  readonly groupCount: z.ZodNumber;
74
119
  readonly observedAt: z.ZodNullable<z.ZodString>;
75
120
  readonly asOf: z.ZodNullable<z.ZodString>;
121
+ readonly freshness: z.ZodObject<{
122
+ observedAt: z.ZodNullable<z.ZodString>;
123
+ ageHours: z.ZodNullable<z.ZodNumber>;
124
+ verdict: z.ZodEnum<{
125
+ aged: "aged";
126
+ recent: "recent";
127
+ unknown: "unknown";
128
+ }>;
129
+ source: z.ZodEnum<{
130
+ none: "none";
131
+ producer: "producer";
132
+ "ticket-observation": "ticket-observation";
133
+ }>;
134
+ confidence: z.ZodEnum<{
135
+ reasserted: "reasserted";
136
+ sealed: "sealed";
137
+ unknown: "unknown";
138
+ }>;
139
+ }, z.core.$strict>;
76
140
  }, z.core.$strip>>;
77
141
  export declare const actionListItemSchema: import("./core.js").CompatibleResponseSchema<z.ZodObject<{
78
142
  readonly id: z.ZodString;
@@ -119,6 +183,25 @@ export declare const actionListItemSchema: import("./core.js").CompatibleRespons
119
183
  readonly groupCount: z.ZodNumber;
120
184
  readonly observedAt: z.ZodNullable<z.ZodString>;
121
185
  readonly asOf: z.ZodNullable<z.ZodString>;
186
+ readonly freshness: z.ZodObject<{
187
+ observedAt: z.ZodNullable<z.ZodString>;
188
+ ageHours: z.ZodNullable<z.ZodNumber>;
189
+ verdict: z.ZodEnum<{
190
+ aged: "aged";
191
+ recent: "recent";
192
+ unknown: "unknown";
193
+ }>;
194
+ source: z.ZodEnum<{
195
+ none: "none";
196
+ producer: "producer";
197
+ "ticket-observation": "ticket-observation";
198
+ }>;
199
+ confidence: z.ZodEnum<{
200
+ reasserted: "reasserted";
201
+ sealed: "sealed";
202
+ unknown: "unknown";
203
+ }>;
204
+ }, z.core.$strict>;
122
205
  }, z.core.$strip>;
123
206
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
124
207
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -176,6 +259,25 @@ export declare const actionListItemSchema: import("./core.js").CompatibleRespons
176
259
  readonly groupCount: z.ZodNumber;
177
260
  readonly observedAt: z.ZodNullable<z.ZodString>;
178
261
  readonly asOf: z.ZodNullable<z.ZodString>;
262
+ readonly freshness: z.ZodObject<{
263
+ observedAt: z.ZodNullable<z.ZodString>;
264
+ ageHours: z.ZodNullable<z.ZodNumber>;
265
+ verdict: z.ZodEnum<{
266
+ aged: "aged";
267
+ recent: "recent";
268
+ unknown: "unknown";
269
+ }>;
270
+ source: z.ZodEnum<{
271
+ none: "none";
272
+ producer: "producer";
273
+ "ticket-observation": "ticket-observation";
274
+ }>;
275
+ confidence: z.ZodEnum<{
276
+ reasserted: "reasserted";
277
+ sealed: "sealed";
278
+ unknown: "unknown";
279
+ }>;
280
+ }, z.core.$strict>;
179
281
  }, z.core.$strip>;
180
282
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
181
283
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -235,6 +337,25 @@ export declare const actionListDataSchema: import("./core.js").CompatibleRespons
235
337
  readonly groupCount: z.ZodNumber;
236
338
  readonly observedAt: z.ZodNullable<z.ZodString>;
237
339
  readonly asOf: z.ZodNullable<z.ZodString>;
340
+ readonly freshness: z.ZodObject<{
341
+ observedAt: z.ZodNullable<z.ZodString>;
342
+ ageHours: z.ZodNullable<z.ZodNumber>;
343
+ verdict: z.ZodEnum<{
344
+ aged: "aged";
345
+ recent: "recent";
346
+ unknown: "unknown";
347
+ }>;
348
+ source: z.ZodEnum<{
349
+ none: "none";
350
+ producer: "producer";
351
+ "ticket-observation": "ticket-observation";
352
+ }>;
353
+ confidence: z.ZodEnum<{
354
+ reasserted: "reasserted";
355
+ sealed: "sealed";
356
+ unknown: "unknown";
357
+ }>;
358
+ }, z.core.$strict>;
238
359
  }, z.core.$strip>;
239
360
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
240
361
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -301,6 +422,25 @@ export declare const actionListDataSchema: import("./core.js").CompatibleRespons
301
422
  readonly groupCount: z.ZodNumber;
302
423
  readonly observedAt: z.ZodNullable<z.ZodString>;
303
424
  readonly asOf: z.ZodNullable<z.ZodString>;
425
+ readonly freshness: z.ZodObject<{
426
+ observedAt: z.ZodNullable<z.ZodString>;
427
+ ageHours: z.ZodNullable<z.ZodNumber>;
428
+ verdict: z.ZodEnum<{
429
+ aged: "aged";
430
+ recent: "recent";
431
+ unknown: "unknown";
432
+ }>;
433
+ source: z.ZodEnum<{
434
+ none: "none";
435
+ producer: "producer";
436
+ "ticket-observation": "ticket-observation";
437
+ }>;
438
+ confidence: z.ZodEnum<{
439
+ reasserted: "reasserted";
440
+ sealed: "sealed";
441
+ unknown: "unknown";
442
+ }>;
443
+ }, z.core.$strict>;
304
444
  }, z.core.$strip>;
305
445
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
306
446
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -369,6 +509,25 @@ export declare const actionListResponseSchema: import("./core.js").CompatibleRes
369
509
  readonly groupCount: z.ZodNumber;
370
510
  readonly observedAt: z.ZodNullable<z.ZodString>;
371
511
  readonly asOf: z.ZodNullable<z.ZodString>;
512
+ readonly freshness: z.ZodObject<{
513
+ observedAt: z.ZodNullable<z.ZodString>;
514
+ ageHours: z.ZodNullable<z.ZodNumber>;
515
+ verdict: z.ZodEnum<{
516
+ aged: "aged";
517
+ recent: "recent";
518
+ unknown: "unknown";
519
+ }>;
520
+ source: z.ZodEnum<{
521
+ none: "none";
522
+ producer: "producer";
523
+ "ticket-observation": "ticket-observation";
524
+ }>;
525
+ confidence: z.ZodEnum<{
526
+ reasserted: "reasserted";
527
+ sealed: "sealed";
528
+ unknown: "unknown";
529
+ }>;
530
+ }, z.core.$strict>;
372
531
  }, z.core.$strip>;
373
532
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
374
533
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -441,6 +600,25 @@ export declare const actionListResponseSchema: import("./core.js").CompatibleRes
441
600
  readonly groupCount: z.ZodNumber;
442
601
  readonly observedAt: z.ZodNullable<z.ZodString>;
443
602
  readonly asOf: z.ZodNullable<z.ZodString>;
603
+ readonly freshness: z.ZodObject<{
604
+ observedAt: z.ZodNullable<z.ZodString>;
605
+ ageHours: z.ZodNullable<z.ZodNumber>;
606
+ verdict: z.ZodEnum<{
607
+ aged: "aged";
608
+ recent: "recent";
609
+ unknown: "unknown";
610
+ }>;
611
+ source: z.ZodEnum<{
612
+ none: "none";
613
+ producer: "producer";
614
+ "ticket-observation": "ticket-observation";
615
+ }>;
616
+ confidence: z.ZodEnum<{
617
+ reasserted: "reasserted";
618
+ sealed: "sealed";
619
+ unknown: "unknown";
620
+ }>;
621
+ }, z.core.$strict>;
444
622
  }, z.core.$strip>;
445
623
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
446
624
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -1174,6 +1352,25 @@ export declare const actionListOperation: {
1174
1352
  readonly groupCount: z.ZodNumber;
1175
1353
  readonly observedAt: z.ZodNullable<z.ZodString>;
1176
1354
  readonly asOf: z.ZodNullable<z.ZodString>;
1355
+ readonly freshness: z.ZodObject<{
1356
+ observedAt: z.ZodNullable<z.ZodString>;
1357
+ ageHours: z.ZodNullable<z.ZodNumber>;
1358
+ verdict: z.ZodEnum<{
1359
+ aged: "aged";
1360
+ recent: "recent";
1361
+ unknown: "unknown";
1362
+ }>;
1363
+ source: z.ZodEnum<{
1364
+ none: "none";
1365
+ producer: "producer";
1366
+ "ticket-observation": "ticket-observation";
1367
+ }>;
1368
+ confidence: z.ZodEnum<{
1369
+ reasserted: "reasserted";
1370
+ sealed: "sealed";
1371
+ unknown: "unknown";
1372
+ }>;
1373
+ }, z.core.$strict>;
1177
1374
  }, z.core.$strip>;
1178
1375
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
1179
1376
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -1246,6 +1443,25 @@ export declare const actionListOperation: {
1246
1443
  readonly groupCount: z.ZodNumber;
1247
1444
  readonly observedAt: z.ZodNullable<z.ZodString>;
1248
1445
  readonly asOf: z.ZodNullable<z.ZodString>;
1446
+ readonly freshness: z.ZodObject<{
1447
+ observedAt: z.ZodNullable<z.ZodString>;
1448
+ ageHours: z.ZodNullable<z.ZodNumber>;
1449
+ verdict: z.ZodEnum<{
1450
+ aged: "aged";
1451
+ recent: "recent";
1452
+ unknown: "unknown";
1453
+ }>;
1454
+ source: z.ZodEnum<{
1455
+ none: "none";
1456
+ producer: "producer";
1457
+ "ticket-observation": "ticket-observation";
1458
+ }>;
1459
+ confidence: z.ZodEnum<{
1460
+ reasserted: "reasserted";
1461
+ sealed: "sealed";
1462
+ unknown: "unknown";
1463
+ }>;
1464
+ }, z.core.$strict>;
1249
1465
  }, z.core.$strip>;
1250
1466
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
1251
1467
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -1958,6 +2174,25 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
1958
2174
  readonly groupCount: z.ZodNumber;
1959
2175
  readonly observedAt: z.ZodNullable<z.ZodString>;
1960
2176
  readonly asOf: z.ZodNullable<z.ZodString>;
2177
+ readonly freshness: z.ZodObject<{
2178
+ observedAt: z.ZodNullable<z.ZodString>;
2179
+ ageHours: z.ZodNullable<z.ZodNumber>;
2180
+ verdict: z.ZodEnum<{
2181
+ aged: "aged";
2182
+ recent: "recent";
2183
+ unknown: "unknown";
2184
+ }>;
2185
+ source: z.ZodEnum<{
2186
+ none: "none";
2187
+ producer: "producer";
2188
+ "ticket-observation": "ticket-observation";
2189
+ }>;
2190
+ confidence: z.ZodEnum<{
2191
+ reasserted: "reasserted";
2192
+ sealed: "sealed";
2193
+ unknown: "unknown";
2194
+ }>;
2195
+ }, z.core.$strict>;
1961
2196
  }, z.core.$strip>;
1962
2197
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
1963
2198
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -2030,6 +2265,25 @@ export declare const actionsV1Registry: import("./core.js").PublicV1Registry<{
2030
2265
  readonly groupCount: z.ZodNumber;
2031
2266
  readonly observedAt: z.ZodNullable<z.ZodString>;
2032
2267
  readonly asOf: z.ZodNullable<z.ZodString>;
2268
+ readonly freshness: z.ZodObject<{
2269
+ observedAt: z.ZodNullable<z.ZodString>;
2270
+ ageHours: z.ZodNullable<z.ZodNumber>;
2271
+ verdict: z.ZodEnum<{
2272
+ aged: "aged";
2273
+ recent: "recent";
2274
+ unknown: "unknown";
2275
+ }>;
2276
+ source: z.ZodEnum<{
2277
+ none: "none";
2278
+ producer: "producer";
2279
+ "ticket-observation": "ticket-observation";
2280
+ }>;
2281
+ confidence: z.ZodEnum<{
2282
+ reasserted: "reasserted";
2283
+ sealed: "sealed";
2284
+ unknown: "unknown";
2285
+ }>;
2286
+ }, z.core.$strict>;
2033
2287
  }, z.core.$strip>;
2034
2288
  readonly firstSeenAt: z.ZodNullable<z.ZodString>;
2035
2289
  readonly relatedActionIds: z.ZodArray<z.ZodString>;
@@ -38,6 +38,20 @@ export const actionSubjectSchema = defineResponseObject({
38
38
  redirectsTo: schema.string().optional(),
39
39
  });
40
40
  export const actionSourceSchema = defineResponseObject({ label: schema.string().min(1), url: schema.string().url() }, { label: schema.string().min(1), url: schema.string().url() });
41
+ /**
42
+ * Evidence age computed at read time, so a listing cannot present a stale
43
+ * observation as current work. `verdict` is `aged` past 24 hours. `source`
44
+ * names which clock answered: `producer` is the sealed collection clock,
45
+ * `ticket-observation` is the ticket's own reasserted clock, `none` means no
46
+ * observation clock exists and the verdict is `unknown`.
47
+ */
48
+ export const actionEvidenceFreshnessSchema = schema.strictObject({
49
+ observedAt: schema.string().datetime().nullable(),
50
+ ageHours: schema.number().int().nonnegative().nullable(),
51
+ verdict: schema.enum(['recent', 'aged', 'unknown']),
52
+ source: schema.enum(['producer', 'ticket-observation', 'none']),
53
+ confidence: schema.enum(['sealed', 'reasserted', 'unknown']),
54
+ });
41
55
  export const actionEvidenceSummarySchema = defineResponseObject({
42
56
  artifactVersion: schema.string().min(1).nullable(),
43
57
  coverage: schema.enum(['complete', 'partial', 'count-only', 'unknown', 'unavailable']),
@@ -47,6 +61,7 @@ export const actionEvidenceSummarySchema = defineResponseObject({
47
61
  groupCount: schema.number().int().nonnegative(),
48
62
  observedAt: schema.string().datetime().nullable(),
49
63
  asOf: schema.string().datetime().nullable(),
64
+ freshness: actionEvidenceFreshnessSchema,
50
65
  }, {
51
66
  artifactVersion: schema.string().min(1).nullable(),
52
67
  coverage: schema.enum(['complete', 'partial', 'count-only', 'unknown', 'unavailable']),
@@ -56,6 +71,7 @@ export const actionEvidenceSummarySchema = defineResponseObject({
56
71
  groupCount: schema.number().int().nonnegative(),
57
72
  observedAt: schema.string().datetime().nullable(),
58
73
  asOf: schema.string().datetime().nullable(),
74
+ freshness: actionEvidenceFreshnessSchema,
59
75
  });
60
76
  export const actionListItemSchema = defineResponseObject({
61
77
  id: schema.string().min(1),