@oxyhq/crowdsource-contracts 0.3.0 → 0.4.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.
- package/dist/appeals.d.ts +323 -0
- package/dist/appeals.d.ts.map +1 -0
- package/dist/appeals.js +203 -0
- package/dist/appeals.js.map +1 -0
- package/dist/case-envelope.d.ts +3 -3
- package/dist/case-envelope.d.ts.map +1 -1
- package/dist/case-envelope.js +32 -32
- package/dist/case-envelope.js.map +1 -1
- package/dist/decisions.d.ts +1 -1
- package/dist/decisions.d.ts.map +1 -1
- package/dist/decisions.js +28 -28
- package/dist/decisions.js.map +1 -1
- package/dist/esm/appeals.js +200 -0
- package/dist/esm/appeals.js.map +1 -0
- package/dist/esm/case-envelope.js +380 -0
- package/dist/esm/case-envelope.js.map +1 -0
- package/dist/esm/closed.js +32 -0
- package/dist/esm/closed.js.map +1 -0
- package/dist/esm/decisions.js +195 -0
- package/dist/esm/decisions.js.map +1 -0
- package/dist/esm/index.js +48 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/json-schema.js +84 -0
- package/dist/esm/json-schema.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/policies.js +175 -0
- package/dist/esm/policies.js.map +1 -0
- package/dist/esm/primitives.js +249 -0
- package/dist/esm/primitives.js.map +1 -0
- package/dist/esm/reputation-events.js +125 -0
- package/dist/esm/reputation-events.js.map +1 -0
- package/dist/esm/resources.js +455 -0
- package/dist/esm/resources.js.map +1 -0
- package/dist/esm/reviewer-surface.js +612 -0
- package/dist/esm/reviewer-surface.js.map +1 -0
- package/dist/esm/reviews.js +141 -0
- package/dist/esm/reviews.js.map +1 -0
- package/dist/esm/taxonomy.js +278 -0
- package/dist/esm/taxonomy.js.map +1 -0
- package/dist/esm/webhooks.js +188 -0
- package/dist/esm/webhooks.js.map +1 -0
- package/dist/index.d.ts +13 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -11
- package/dist/index.js.map +1 -1
- package/dist/json-schema.d.ts +1 -1
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/json-schema.js +25 -20
- package/dist/json-schema.js.map +1 -1
- package/dist/policies.d.ts +1 -1
- package/dist/policies.d.ts.map +1 -1
- package/dist/policies.js +14 -14
- package/dist/policies.js.map +1 -1
- package/dist/reputation-events.js +19 -19
- package/dist/reputation-events.js.map +1 -1
- package/dist/resources.d.ts +60 -2
- package/dist/resources.d.ts.map +1 -1
- package/dist/resources.js +116 -103
- package/dist/resources.js.map +1 -1
- package/dist/reviewer-surface.d.ts +1956 -0
- package/dist/reviewer-surface.d.ts.map +1 -0
- package/dist/reviewer-surface.js +615 -0
- package/dist/reviewer-surface.js.map +1 -0
- package/dist/reviews.js +15 -15
- package/dist/reviews.js.map +1 -1
- package/dist/webhooks.d.ts +1 -1
- package/dist/webhooks.d.ts.map +1 -1
- package/dist/webhooks.js +18 -18
- package/dist/webhooks.js.map +1 -1
- package/package.json +4 -4
- package/src/appeals.ts +229 -0
- package/src/case-envelope.ts +5 -5
- package/src/decisions.ts +6 -6
- package/src/index.ts +13 -11
- package/src/json-schema.ts +12 -7
- package/src/policies.ts +3 -3
- package/src/reputation-events.ts +4 -4
- package/src/resources.ts +99 -73
- package/src/reviewer-surface.ts +715 -0
- package/src/reviews.ts +4 -4
- package/src/webhooks.ts +4 -4
|
@@ -0,0 +1,1956 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Reviewer API wire contract (§10.3) — what the backend sends and the
|
|
3
|
+
* reviewer app receives, declared once.
|
|
4
|
+
*
|
|
5
|
+
* ## Why this module exists at all
|
|
6
|
+
*
|
|
7
|
+
* It exists because the alternative was tried and failed silently. The backend
|
|
8
|
+
* and the reviewer app each wrote their own version of these shapes, and they
|
|
9
|
+
* agreed on almost nothing: the state vocabularies differed outright
|
|
10
|
+
* (`community` against `community_reviewer`), so did the sensitivity classes
|
|
11
|
+
* (`standard`/`sensitive`/`restricted` against an invented
|
|
12
|
+
* `none`/`low`/`high`/`critical`); the assignment package disagreed on
|
|
13
|
+
* `allegation` against `allegations`, on `policyVersion` against `version`, and
|
|
14
|
+
* on five fields that existed on one side only. Nothing caught it, because there
|
|
15
|
+
* was no shared declaration for anything to be checked against.
|
|
16
|
+
*
|
|
17
|
+
* So the rule this module encodes: **a field that crosses the reviewer boundary
|
|
18
|
+
* is declared here and nowhere else.**
|
|
19
|
+
*
|
|
20
|
+
* ## Schemas, and types inferred from them
|
|
21
|
+
*
|
|
22
|
+
* Every shape is a Zod schema, and its TypeScript type is `z.infer` of that
|
|
23
|
+
* schema. One declaration, so the two cannot disagree — which is a property worth
|
|
24
|
+
* more here than the hand-written interfaces it replaces, since "two declarations
|
|
25
|
+
* of one shape drifted apart" is the exact bug this file was written to end.
|
|
26
|
+
*
|
|
27
|
+
* Both halves are load-bearing and they catch different failures:
|
|
28
|
+
*
|
|
29
|
+
* - The **type** is what the backend's builders return and what the app's
|
|
30
|
+
* projections return, so a renamed field is a compile error on BOTH sides at
|
|
31
|
+
* once — the check that would have caught every drift listed above on the day
|
|
32
|
+
* it appeared.
|
|
33
|
+
* - The **schema** is what the app parses the response WITH, and it is
|
|
34
|
+
* `.strict()` at every level. §9.1's hidden column has no field on any shape
|
|
35
|
+
* here, so a server that starts sending a report count or an author's
|
|
36
|
+
* reputation is REFUSED rather than having it quietly reach a screen. A type
|
|
37
|
+
* cannot do that: types are gone at runtime, and the wire is where an
|
|
38
|
+
* unexpected field actually arrives.
|
|
39
|
+
*
|
|
40
|
+
* Strict is the right direction for this surface specifically. A reviewer seeing
|
|
41
|
+
* a blank screen is a bug somebody fixes today; a reviewer seeing an author's
|
|
42
|
+
* reputation is a bug nobody notices.
|
|
43
|
+
*
|
|
44
|
+
* ## What is deliberately NOT here
|
|
45
|
+
*
|
|
46
|
+
* No case id, on any shape. §8.7 pseudonymises what a reviewer does not need and
|
|
47
|
+
* a case id is not needed to judge material; more to the point, a case id on the
|
|
48
|
+
* wire is a case id in a URL, and "nobody chooses the case they review" holds
|
|
49
|
+
* because the assignment is the only handle. No reporter, no report count, no
|
|
50
|
+
* reputation, no juror identity, no partial tally.
|
|
51
|
+
*/
|
|
52
|
+
import { z } from 'zod';
|
|
53
|
+
import { type Resource } from './resources.js';
|
|
54
|
+
/**
|
|
55
|
+
* §8.1's seven onboarding states, ordered from least to most capable.
|
|
56
|
+
*
|
|
57
|
+
* §8.1 writes them as English prose labels ("Community Reviewer", "Category
|
|
58
|
+
* Specialist"). These are the identifiers, and they are the SHORT forms on
|
|
59
|
+
* purpose: the `_reviewer` suffix says nothing a `ReviewerState` type does not
|
|
60
|
+
* already say, and `specialist` pairs with a separate `specialistCategories`
|
|
61
|
+
* field, so `category_specialist` would name the category twice.
|
|
62
|
+
*
|
|
63
|
+
* `suspended` is apart from the ordering rather than at the bottom of it — see
|
|
64
|
+
* the backend's `REVIEWER_STATE_RANK`, which gives it -1 so every capability
|
|
65
|
+
* comparison fails for it, including one against `applicant`.
|
|
66
|
+
*/
|
|
67
|
+
export declare const REVIEWER_STATES: readonly ["applicant", "calibrating", "community", "trusted", "specialist", "appeals", "suspended"];
|
|
68
|
+
export declare const ReviewerStateSchema: z.ZodEnum<{
|
|
69
|
+
applicant: "applicant";
|
|
70
|
+
calibrating: "calibrating";
|
|
71
|
+
community: "community";
|
|
72
|
+
trusted: "trusted";
|
|
73
|
+
specialist: "specialist";
|
|
74
|
+
appeals: "appeals";
|
|
75
|
+
suspended: "suspended";
|
|
76
|
+
}>;
|
|
77
|
+
export type ReviewerState = z.infer<typeof ReviewerStateSchema>;
|
|
78
|
+
/**
|
|
79
|
+
* The sensitivity classes a jury can be shown, ranked (§7.5, §13.7).
|
|
80
|
+
*
|
|
81
|
+
* Triage computes a fourth, `prohibited`, and it is absent here on purpose: §7.5
|
|
82
|
+
* routes that material to a specialist team under legal protocol and never to a
|
|
83
|
+
* jury, so a reviewer-facing type that could express it would eventually be
|
|
84
|
+
* handed it. The backend's `sensitivityRank` throws rather than returning a
|
|
85
|
+
* number for it, for the same reason.
|
|
86
|
+
*
|
|
87
|
+
* This is also the vocabulary a reviewer's own consent is stored in, as a rank —
|
|
88
|
+
* which is why it could never have been the app's invented
|
|
89
|
+
* `none`/`low`/`high`/`critical`: those four map onto nothing the server computes
|
|
90
|
+
* or the reviewer consented to.
|
|
91
|
+
*/
|
|
92
|
+
export declare const REVIEWER_SENSITIVITY_CLASSES: readonly ["standard", "sensitive", "restricted"];
|
|
93
|
+
export declare const ReviewerSensitivityClassSchema: z.ZodEnum<{
|
|
94
|
+
standard: "standard";
|
|
95
|
+
sensitive: "sensitive";
|
|
96
|
+
restricted: "restricted";
|
|
97
|
+
}>;
|
|
98
|
+
export type ReviewerSensitivityClass = z.infer<typeof ReviewerSensitivityClassSchema>;
|
|
99
|
+
/**
|
|
100
|
+
* The eligibility requirements a reviewer may be TOLD about (§8.2).
|
|
101
|
+
*
|
|
102
|
+
* §8.2 lists ten conditions and this list is eight, which is the interesting
|
|
103
|
+
* part. Two groups are missing and neither is an oversight:
|
|
104
|
+
*
|
|
105
|
+
* - **Relative to a case.** Conflict with a party, prior participation in the
|
|
106
|
+
* case or incident, and coordination-cluster overlap are properties of a
|
|
107
|
+
* candidate against a specific case's parties — they live in
|
|
108
|
+
* `sortition/exclusions.ts` where the parties are known, and outside a draw
|
|
109
|
+
* there is no answer to give.
|
|
110
|
+
* - **Anti-abuse signals.** A sock-puppet suspicion is deliberately not
|
|
111
|
+
* disclosed. Telling somebody they are flagged tells them what to change,
|
|
112
|
+
* which is the same reasoning that keeps `suspectedSockPuppet` and
|
|
113
|
+
* `riskClusterId` out of the profile projection entirely.
|
|
114
|
+
*
|
|
115
|
+
* Exposure is absent too, but only because it has a richer home of its own:
|
|
116
|
+
* `ReviewerExposureView` gives the numbers rather than a boolean.
|
|
117
|
+
*
|
|
118
|
+
* Every id here maps to a check the server actually performs, so the app can
|
|
119
|
+
* never display a requirement nobody enforces. There is no server-authored
|
|
120
|
+
* explanation string: the app is translated (`locales/*.json`) and a sentence
|
|
121
|
+
* composed by a backend with no locale would arrive in the wrong language.
|
|
122
|
+
*/
|
|
123
|
+
export declare const REVIEWER_ELIGIBILITY_REQUIREMENTS: readonly ["oxy_account", "personhood", "age", "rules_accepted", "languages_selected", "categories_selected", "training_current", "calibration_current"];
|
|
124
|
+
export declare const ReviewerEligibilityRequirementIdSchema: z.ZodEnum<{
|
|
125
|
+
oxy_account: "oxy_account";
|
|
126
|
+
personhood: "personhood";
|
|
127
|
+
age: "age";
|
|
128
|
+
rules_accepted: "rules_accepted";
|
|
129
|
+
languages_selected: "languages_selected";
|
|
130
|
+
categories_selected: "categories_selected";
|
|
131
|
+
training_current: "training_current";
|
|
132
|
+
calibration_current: "calibration_current";
|
|
133
|
+
}>;
|
|
134
|
+
export type ReviewerEligibilityRequirementId = z.infer<typeof ReviewerEligibilityRequirementIdSchema>;
|
|
135
|
+
/**
|
|
136
|
+
* §13.7's ceiling on a self-chosen daily limit.
|
|
137
|
+
*
|
|
138
|
+
* Declared here because the request schema below bounds the body with it and the
|
|
139
|
+
* app's control has to offer the same range — two numbers that must agree, so
|
|
140
|
+
* there is one.
|
|
141
|
+
*/
|
|
142
|
+
export declare const REVIEWER_DAILY_LIMIT_MAX = 40;
|
|
143
|
+
/** The header §8.7's assignment token travels in. One spelling, both sides. */
|
|
144
|
+
export declare const ASSIGNMENT_TOKEN_HEADER = "x-assignment-token";
|
|
145
|
+
/**
|
|
146
|
+
* A resource asset as a reviewer receives it (§8.7, §9.1).
|
|
147
|
+
*
|
|
148
|
+
* The envelope's `AssetRef` carries `uploadId` OR `url`, plus a `sha256`. None of
|
|
149
|
+
* the three reaches a reviewer:
|
|
150
|
+
*
|
|
151
|
+
* - `url` is a location on the REPORTING APPLICATION's own host, so sending it
|
|
152
|
+
* puts that application's brand in front of the jury — §9.1's last hidden row
|
|
153
|
+
* — and it bypasses the media chokepoint every Oxy surface resolves files
|
|
154
|
+
* through.
|
|
155
|
+
* - `sha256` is what pins a case to the exact bytes reported. A reviewer does
|
|
156
|
+
* not verify that; the case does.
|
|
157
|
+
*
|
|
158
|
+
* What replaces them is `fileId`, a bare Oxy file id resolved through
|
|
159
|
+
* `getFileDownloadUrl` at the app root, and `retrievable`, which is the honest
|
|
160
|
+
* answer when there is nothing a reviewer can be shown. A reviewer facing an
|
|
161
|
+
* unretrievable resource has an outcome for exactly that (`content_unavailable`),
|
|
162
|
+
* which is why this is a flag rather than an omission: dropping the resource
|
|
163
|
+
* would hide from the jury that material existed at all.
|
|
164
|
+
*/
|
|
165
|
+
export declare const ReviewerAssetSchema: z.ZodObject<{
|
|
166
|
+
mediaType: z.ZodString;
|
|
167
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
168
|
+
retrievable: z.ZodBoolean;
|
|
169
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
170
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
171
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
172
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
173
|
+
}, z.core.$strict>;
|
|
174
|
+
export type ReviewerAssetView = z.infer<typeof ReviewerAssetSchema>;
|
|
175
|
+
/**
|
|
176
|
+
* One resource of case material, as a reviewer receives it.
|
|
177
|
+
*
|
|
178
|
+
* Built from the same `*DataSchema` exports the envelope's own resources are
|
|
179
|
+
* built from, so the twelve content shapes exist once. What differs is exactly
|
|
180
|
+
* the two things the reviewer projection changes: no `sha256`, and `asset` is a
|
|
181
|
+
* media handle rather than a locator.
|
|
182
|
+
*
|
|
183
|
+
* A strict parse rather than a hand-written field-by-field copy, and the reason
|
|
184
|
+
* is the direction each fails in. A copy can only drop what somebody thought to
|
|
185
|
+
* drop, and it can also DROP MATERIAL by accident — a jury shown less than the
|
|
186
|
+
* application sent is the worse failure of the two. A strict parse against a
|
|
187
|
+
* closed union refuses an unknown field outright and cannot silently lose a known
|
|
188
|
+
* one.
|
|
189
|
+
*
|
|
190
|
+
* `__tests__/reviewer-surface.test.ts` asserts this union still covers every
|
|
191
|
+
* `RESOURCE_TYPES` member and every base field of an envelope resource, so a new
|
|
192
|
+
* resource type or field in `resources.ts` cannot quietly stop reaching a jury.
|
|
193
|
+
*/
|
|
194
|
+
export declare const ReviewerResourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
195
|
+
type: z.ZodLiteral<"text">;
|
|
196
|
+
data: z.ZodObject<{
|
|
197
|
+
text: z.ZodString;
|
|
198
|
+
formatting: z.ZodOptional<z.ZodEnum<{
|
|
199
|
+
plain: "plain";
|
|
200
|
+
markdown_subset: "markdown_subset";
|
|
201
|
+
}>>;
|
|
202
|
+
}, z.core.$strict>;
|
|
203
|
+
id: z.ZodString;
|
|
204
|
+
role: z.ZodEnum<{
|
|
205
|
+
metadata: "metadata";
|
|
206
|
+
subject: "subject";
|
|
207
|
+
attachment: "attachment";
|
|
208
|
+
context: "context";
|
|
209
|
+
parent: "parent";
|
|
210
|
+
quoted: "quoted";
|
|
211
|
+
evidence: "evidence";
|
|
212
|
+
policy_context: "policy_context";
|
|
213
|
+
}>;
|
|
214
|
+
language: z.ZodOptional<z.ZodString>;
|
|
215
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
216
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
217
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
218
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
219
|
+
type: z.ZodLiteral<"link">;
|
|
220
|
+
data: z.ZodObject<{
|
|
221
|
+
url: z.ZodURL;
|
|
222
|
+
title: z.ZodOptional<z.ZodString>;
|
|
223
|
+
resolvedHost: z.ZodOptional<z.ZodString>;
|
|
224
|
+
snapshot: z.ZodOptional<z.ZodString>;
|
|
225
|
+
}, z.core.$strict>;
|
|
226
|
+
id: z.ZodString;
|
|
227
|
+
role: z.ZodEnum<{
|
|
228
|
+
metadata: "metadata";
|
|
229
|
+
subject: "subject";
|
|
230
|
+
attachment: "attachment";
|
|
231
|
+
context: "context";
|
|
232
|
+
parent: "parent";
|
|
233
|
+
quoted: "quoted";
|
|
234
|
+
evidence: "evidence";
|
|
235
|
+
policy_context: "policy_context";
|
|
236
|
+
}>;
|
|
237
|
+
language: z.ZodOptional<z.ZodString>;
|
|
238
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
239
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
240
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
241
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
242
|
+
type: z.ZodLiteral<"profile">;
|
|
243
|
+
data: z.ZodObject<{
|
|
244
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
245
|
+
bio: z.ZodOptional<z.ZodString>;
|
|
246
|
+
avatarRef: z.ZodOptional<z.ZodString>;
|
|
247
|
+
claims: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
248
|
+
}, z.core.$strict>;
|
|
249
|
+
id: z.ZodString;
|
|
250
|
+
role: z.ZodEnum<{
|
|
251
|
+
metadata: "metadata";
|
|
252
|
+
subject: "subject";
|
|
253
|
+
attachment: "attachment";
|
|
254
|
+
context: "context";
|
|
255
|
+
parent: "parent";
|
|
256
|
+
quoted: "quoted";
|
|
257
|
+
evidence: "evidence";
|
|
258
|
+
policy_context: "policy_context";
|
|
259
|
+
}>;
|
|
260
|
+
language: z.ZodOptional<z.ZodString>;
|
|
261
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
262
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
263
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
264
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
265
|
+
type: z.ZodLiteral<"conversation">;
|
|
266
|
+
data: z.ZodObject<{
|
|
267
|
+
messageResourceIds: z.ZodArray<z.ZodString>;
|
|
268
|
+
}, z.core.$strict>;
|
|
269
|
+
id: z.ZodString;
|
|
270
|
+
role: z.ZodEnum<{
|
|
271
|
+
metadata: "metadata";
|
|
272
|
+
subject: "subject";
|
|
273
|
+
attachment: "attachment";
|
|
274
|
+
context: "context";
|
|
275
|
+
parent: "parent";
|
|
276
|
+
quoted: "quoted";
|
|
277
|
+
evidence: "evidence";
|
|
278
|
+
policy_context: "policy_context";
|
|
279
|
+
}>;
|
|
280
|
+
language: z.ZodOptional<z.ZodString>;
|
|
281
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
282
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
283
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
284
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
285
|
+
type: z.ZodLiteral<"listing">;
|
|
286
|
+
data: z.ZodObject<{
|
|
287
|
+
title: z.ZodString;
|
|
288
|
+
description: z.ZodOptional<z.ZodString>;
|
|
289
|
+
price: z.ZodOptional<z.ZodNumber>;
|
|
290
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
291
|
+
sellerRef: z.ZodOptional<z.ZodString>;
|
|
292
|
+
mediaRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
293
|
+
}, z.core.$strict>;
|
|
294
|
+
id: z.ZodString;
|
|
295
|
+
role: z.ZodEnum<{
|
|
296
|
+
metadata: "metadata";
|
|
297
|
+
subject: "subject";
|
|
298
|
+
attachment: "attachment";
|
|
299
|
+
context: "context";
|
|
300
|
+
parent: "parent";
|
|
301
|
+
quoted: "quoted";
|
|
302
|
+
evidence: "evidence";
|
|
303
|
+
policy_context: "policy_context";
|
|
304
|
+
}>;
|
|
305
|
+
language: z.ZodOptional<z.ZodString>;
|
|
306
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
307
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
308
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
309
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
310
|
+
type: z.ZodLiteral<"location">;
|
|
311
|
+
data: z.ZodObject<{
|
|
312
|
+
label: z.ZodOptional<z.ZodString>;
|
|
313
|
+
latitude: z.ZodOptional<z.ZodNumber>;
|
|
314
|
+
longitude: z.ZodOptional<z.ZodNumber>;
|
|
315
|
+
}, z.core.$strict>;
|
|
316
|
+
id: z.ZodString;
|
|
317
|
+
role: z.ZodEnum<{
|
|
318
|
+
metadata: "metadata";
|
|
319
|
+
subject: "subject";
|
|
320
|
+
attachment: "attachment";
|
|
321
|
+
context: "context";
|
|
322
|
+
parent: "parent";
|
|
323
|
+
quoted: "quoted";
|
|
324
|
+
evidence: "evidence";
|
|
325
|
+
policy_context: "policy_context";
|
|
326
|
+
}>;
|
|
327
|
+
language: z.ZodOptional<z.ZodString>;
|
|
328
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
329
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
330
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
331
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
332
|
+
type: z.ZodLiteral<"metadata">;
|
|
333
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
|
|
334
|
+
id: z.ZodString;
|
|
335
|
+
role: z.ZodEnum<{
|
|
336
|
+
metadata: "metadata";
|
|
337
|
+
subject: "subject";
|
|
338
|
+
attachment: "attachment";
|
|
339
|
+
context: "context";
|
|
340
|
+
parent: "parent";
|
|
341
|
+
quoted: "quoted";
|
|
342
|
+
evidence: "evidence";
|
|
343
|
+
policy_context: "policy_context";
|
|
344
|
+
}>;
|
|
345
|
+
language: z.ZodOptional<z.ZodString>;
|
|
346
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
347
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
348
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
349
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
350
|
+
type: z.ZodLiteral<"custom">;
|
|
351
|
+
schemaId: z.ZodString;
|
|
352
|
+
payload: z.ZodRecord<z.ZodString, z.ZodType<import("./primitives.js").CustomPayloadValue, unknown, z.core.$ZodTypeInternals<import("./primitives.js").CustomPayloadValue, unknown>>>;
|
|
353
|
+
id: z.ZodString;
|
|
354
|
+
role: z.ZodEnum<{
|
|
355
|
+
metadata: "metadata";
|
|
356
|
+
subject: "subject";
|
|
357
|
+
attachment: "attachment";
|
|
358
|
+
context: "context";
|
|
359
|
+
parent: "parent";
|
|
360
|
+
quoted: "quoted";
|
|
361
|
+
evidence: "evidence";
|
|
362
|
+
policy_context: "policy_context";
|
|
363
|
+
}>;
|
|
364
|
+
language: z.ZodOptional<z.ZodString>;
|
|
365
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
366
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
367
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
368
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
369
|
+
type: z.ZodLiteral<"image">;
|
|
370
|
+
asset: z.ZodObject<{
|
|
371
|
+
mediaType: z.ZodString;
|
|
372
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
373
|
+
retrievable: z.ZodBoolean;
|
|
374
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
375
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
376
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
377
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
378
|
+
}, z.core.$strict>;
|
|
379
|
+
id: z.ZodString;
|
|
380
|
+
role: z.ZodEnum<{
|
|
381
|
+
metadata: "metadata";
|
|
382
|
+
subject: "subject";
|
|
383
|
+
attachment: "attachment";
|
|
384
|
+
context: "context";
|
|
385
|
+
parent: "parent";
|
|
386
|
+
quoted: "quoted";
|
|
387
|
+
evidence: "evidence";
|
|
388
|
+
policy_context: "policy_context";
|
|
389
|
+
}>;
|
|
390
|
+
language: z.ZodOptional<z.ZodString>;
|
|
391
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
392
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
393
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
394
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
395
|
+
type: z.ZodLiteral<"video">;
|
|
396
|
+
asset: z.ZodObject<{
|
|
397
|
+
mediaType: z.ZodString;
|
|
398
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
399
|
+
retrievable: z.ZodBoolean;
|
|
400
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
401
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
402
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
403
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
404
|
+
}, z.core.$strict>;
|
|
405
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
406
|
+
timeRange: z.ZodOptional<z.ZodObject<{
|
|
407
|
+
startSeconds: z.ZodNumber;
|
|
408
|
+
endSeconds: z.ZodNumber;
|
|
409
|
+
}, z.core.$strict>>;
|
|
410
|
+
}, z.core.$strict>>;
|
|
411
|
+
id: z.ZodString;
|
|
412
|
+
role: z.ZodEnum<{
|
|
413
|
+
metadata: "metadata";
|
|
414
|
+
subject: "subject";
|
|
415
|
+
attachment: "attachment";
|
|
416
|
+
context: "context";
|
|
417
|
+
parent: "parent";
|
|
418
|
+
quoted: "quoted";
|
|
419
|
+
evidence: "evidence";
|
|
420
|
+
policy_context: "policy_context";
|
|
421
|
+
}>;
|
|
422
|
+
language: z.ZodOptional<z.ZodString>;
|
|
423
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
424
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
425
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
426
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
427
|
+
type: z.ZodLiteral<"audio">;
|
|
428
|
+
asset: z.ZodObject<{
|
|
429
|
+
mediaType: z.ZodString;
|
|
430
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
431
|
+
retrievable: z.ZodBoolean;
|
|
432
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
433
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
434
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
435
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
436
|
+
}, z.core.$strict>;
|
|
437
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
438
|
+
transcript: z.ZodOptional<z.ZodString>;
|
|
439
|
+
}, z.core.$strict>>;
|
|
440
|
+
id: z.ZodString;
|
|
441
|
+
role: z.ZodEnum<{
|
|
442
|
+
metadata: "metadata";
|
|
443
|
+
subject: "subject";
|
|
444
|
+
attachment: "attachment";
|
|
445
|
+
context: "context";
|
|
446
|
+
parent: "parent";
|
|
447
|
+
quoted: "quoted";
|
|
448
|
+
evidence: "evidence";
|
|
449
|
+
policy_context: "policy_context";
|
|
450
|
+
}>;
|
|
451
|
+
language: z.ZodOptional<z.ZodString>;
|
|
452
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
453
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
454
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
455
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
456
|
+
type: z.ZodLiteral<"document">;
|
|
457
|
+
asset: z.ZodObject<{
|
|
458
|
+
mediaType: z.ZodString;
|
|
459
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
460
|
+
retrievable: z.ZodBoolean;
|
|
461
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
462
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
463
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
464
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
465
|
+
}, z.core.$strict>;
|
|
466
|
+
data: z.ZodObject<{
|
|
467
|
+
title: z.ZodString;
|
|
468
|
+
extractedText: z.ZodOptional<z.ZodString>;
|
|
469
|
+
}, z.core.$strict>;
|
|
470
|
+
id: z.ZodString;
|
|
471
|
+
role: z.ZodEnum<{
|
|
472
|
+
metadata: "metadata";
|
|
473
|
+
subject: "subject";
|
|
474
|
+
attachment: "attachment";
|
|
475
|
+
context: "context";
|
|
476
|
+
parent: "parent";
|
|
477
|
+
quoted: "quoted";
|
|
478
|
+
evidence: "evidence";
|
|
479
|
+
policy_context: "policy_context";
|
|
480
|
+
}>;
|
|
481
|
+
language: z.ZodOptional<z.ZodString>;
|
|
482
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
483
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
484
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
485
|
+
}, z.core.$strict>], "type">;
|
|
486
|
+
export type ReviewerResource = z.infer<typeof ReviewerResourceSchema>;
|
|
487
|
+
/**
|
|
488
|
+
* The reviewer view of an envelope resource, derived rather than written.
|
|
489
|
+
*
|
|
490
|
+
* Not the type the two sides use — `ReviewerResource` above is. This exists so
|
|
491
|
+
* the test can compare the WRITTEN union against what the envelope's own
|
|
492
|
+
* `Resource` union implies, which is the only way a new resource type in
|
|
493
|
+
* `resources.ts` produces a failure rather than a resource that silently never
|
|
494
|
+
* reaches a jury.
|
|
495
|
+
*/
|
|
496
|
+
export type ReviewerResourceOf<R = Resource> = R extends {
|
|
497
|
+
asset: unknown;
|
|
498
|
+
} ? Omit<R, 'sha256' | 'asset'> & {
|
|
499
|
+
asset: ReviewerAssetView;
|
|
500
|
+
} : Omit<R, 'sha256'>;
|
|
501
|
+
/**
|
|
502
|
+
* The renderable package for ONE assignment (§8.7, §9.1).
|
|
503
|
+
*
|
|
504
|
+
* `language` is nullable because an envelope's resources may declare none, and
|
|
505
|
+
* `families` is plural because a case can allege several: a reviewer is only
|
|
506
|
+
* drawn when they accept ALL of them (§8.2), so naming one would misdescribe what
|
|
507
|
+
* they were asked to judge.
|
|
508
|
+
*
|
|
509
|
+
* `allegations.unverified` is a constant `true` on the wire. It is redundant to a
|
|
510
|
+
* reader of this file and it is not redundant to a screen: §9.1's requirement is
|
|
511
|
+
* that the claim is presented AS a claim, and a flag that must be read to render
|
|
512
|
+
* the label cannot be forgotten the way a comment can. `codes` is plural because
|
|
513
|
+
* a case is the union of every report about the same material (§7.3) and
|
|
514
|
+
* reporters do not all choose the same code — a singular field would silently
|
|
515
|
+
* show a jury one allegation out of several.
|
|
516
|
+
*
|
|
517
|
+
* `watermark` is §13.8's pseudonymous per-assignment mark. Server-issued so a
|
|
518
|
+
* leaked screenshot is traceable to one assignment; never synthesised on the
|
|
519
|
+
* device, because a watermark the client composes is one the client can also omit
|
|
520
|
+
* or forge, leaving a reviewer with the impression of a sealed screen and no
|
|
521
|
+
* actual trace.
|
|
522
|
+
*/
|
|
523
|
+
export declare const AssignmentPackageSchema: z.ZodObject<{
|
|
524
|
+
assignmentId: z.ZodString;
|
|
525
|
+
caseRevision: z.ZodNumber;
|
|
526
|
+
expiresAt: z.ZodISODateTime;
|
|
527
|
+
language: z.ZodNullable<z.ZodString>;
|
|
528
|
+
families: z.ZodArray<z.ZodEnum<{
|
|
529
|
+
integrity: "integrity";
|
|
530
|
+
harassment: "harassment";
|
|
531
|
+
hate: "hate";
|
|
532
|
+
violence: "violence";
|
|
533
|
+
sexual_content: "sexual_content";
|
|
534
|
+
child_safety: "child_safety";
|
|
535
|
+
self_harm: "self_harm";
|
|
536
|
+
privacy: "privacy";
|
|
537
|
+
commerce: "commerce";
|
|
538
|
+
platform_abuse: "platform_abuse";
|
|
539
|
+
other: "other";
|
|
540
|
+
}>>;
|
|
541
|
+
allegations: z.ZodObject<{
|
|
542
|
+
unverified: z.ZodLiteral<true>;
|
|
543
|
+
codes: z.ZodArray<z.ZodEnum<{
|
|
544
|
+
"integrity.spam": "integrity.spam";
|
|
545
|
+
"integrity.scam": "integrity.scam";
|
|
546
|
+
"integrity.fraud": "integrity.fraud";
|
|
547
|
+
"integrity.impersonation": "integrity.impersonation";
|
|
548
|
+
"integrity.coordinated_manipulation": "integrity.coordinated_manipulation";
|
|
549
|
+
"harassment.insult": "harassment.insult";
|
|
550
|
+
"harassment.targeted_abuse": "harassment.targeted_abuse";
|
|
551
|
+
"harassment.sexual_harassment": "harassment.sexual_harassment";
|
|
552
|
+
"harassment.doxxing": "harassment.doxxing";
|
|
553
|
+
"harassment.credible_threat": "harassment.credible_threat";
|
|
554
|
+
"hate.dehumanization": "hate.dehumanization";
|
|
555
|
+
"hate.slur": "hate.slur";
|
|
556
|
+
"hate.incitement": "hate.incitement";
|
|
557
|
+
"hate.protected_targeting": "hate.protected_targeting";
|
|
558
|
+
"violence.graphic": "violence.graphic";
|
|
559
|
+
"violence.threat": "violence.threat";
|
|
560
|
+
"violence.instruction": "violence.instruction";
|
|
561
|
+
"violence.celebration": "violence.celebration";
|
|
562
|
+
"sexual_content.nudity": "sexual_content.nudity";
|
|
563
|
+
"sexual_content.explicit_activity": "sexual_content.explicit_activity";
|
|
564
|
+
"sexual_content.non_consensual": "sexual_content.non_consensual";
|
|
565
|
+
"sexual_content.exploitation": "sexual_content.exploitation";
|
|
566
|
+
"child_safety.sexualization": "child_safety.sexualization";
|
|
567
|
+
"child_safety.grooming": "child_safety.grooming";
|
|
568
|
+
"child_safety.exploitation": "child_safety.exploitation";
|
|
569
|
+
"self_harm.promotion": "self_harm.promotion";
|
|
570
|
+
"self_harm.instruction": "self_harm.instruction";
|
|
571
|
+
"self_harm.imminent_risk": "self_harm.imminent_risk";
|
|
572
|
+
"privacy.personal_information": "privacy.personal_information";
|
|
573
|
+
"privacy.intimate_media": "privacy.intimate_media";
|
|
574
|
+
"privacy.location_exposure": "privacy.location_exposure";
|
|
575
|
+
"commerce.prohibited_item": "commerce.prohibited_item";
|
|
576
|
+
"commerce.counterfeit": "commerce.counterfeit";
|
|
577
|
+
"commerce.misleading_listing": "commerce.misleading_listing";
|
|
578
|
+
"commerce.unsafe_product": "commerce.unsafe_product";
|
|
579
|
+
"platform_abuse.ban_evasion": "platform_abuse.ban_evasion";
|
|
580
|
+
"platform_abuse.report_abuse": "platform_abuse.report_abuse";
|
|
581
|
+
"platform_abuse.automation_abuse": "platform_abuse.automation_abuse";
|
|
582
|
+
"other.policy_specific": "other.policy_specific";
|
|
583
|
+
"other.unclassifiable": "other.unclassifiable";
|
|
584
|
+
}>>;
|
|
585
|
+
}, z.core.$strict>;
|
|
586
|
+
policy: z.ZodObject<{
|
|
587
|
+
policySetId: z.ZodString;
|
|
588
|
+
version: z.ZodString;
|
|
589
|
+
taxonomyVersion: z.ZodString;
|
|
590
|
+
rules: z.ZodArray<z.ZodObject<{
|
|
591
|
+
id: z.ZodString;
|
|
592
|
+
title: z.ZodString;
|
|
593
|
+
description: z.ZodOptional<z.ZodString>;
|
|
594
|
+
taxonomyCodes: z.ZodArray<z.ZodEnum<{
|
|
595
|
+
"integrity.spam": "integrity.spam";
|
|
596
|
+
"integrity.scam": "integrity.scam";
|
|
597
|
+
"integrity.fraud": "integrity.fraud";
|
|
598
|
+
"integrity.impersonation": "integrity.impersonation";
|
|
599
|
+
"integrity.coordinated_manipulation": "integrity.coordinated_manipulation";
|
|
600
|
+
"harassment.insult": "harassment.insult";
|
|
601
|
+
"harassment.targeted_abuse": "harassment.targeted_abuse";
|
|
602
|
+
"harassment.sexual_harassment": "harassment.sexual_harassment";
|
|
603
|
+
"harassment.doxxing": "harassment.doxxing";
|
|
604
|
+
"harassment.credible_threat": "harassment.credible_threat";
|
|
605
|
+
"hate.dehumanization": "hate.dehumanization";
|
|
606
|
+
"hate.slur": "hate.slur";
|
|
607
|
+
"hate.incitement": "hate.incitement";
|
|
608
|
+
"hate.protected_targeting": "hate.protected_targeting";
|
|
609
|
+
"violence.graphic": "violence.graphic";
|
|
610
|
+
"violence.threat": "violence.threat";
|
|
611
|
+
"violence.instruction": "violence.instruction";
|
|
612
|
+
"violence.celebration": "violence.celebration";
|
|
613
|
+
"sexual_content.nudity": "sexual_content.nudity";
|
|
614
|
+
"sexual_content.explicit_activity": "sexual_content.explicit_activity";
|
|
615
|
+
"sexual_content.non_consensual": "sexual_content.non_consensual";
|
|
616
|
+
"sexual_content.exploitation": "sexual_content.exploitation";
|
|
617
|
+
"child_safety.sexualization": "child_safety.sexualization";
|
|
618
|
+
"child_safety.grooming": "child_safety.grooming";
|
|
619
|
+
"child_safety.exploitation": "child_safety.exploitation";
|
|
620
|
+
"self_harm.promotion": "self_harm.promotion";
|
|
621
|
+
"self_harm.instruction": "self_harm.instruction";
|
|
622
|
+
"self_harm.imminent_risk": "self_harm.imminent_risk";
|
|
623
|
+
"privacy.personal_information": "privacy.personal_information";
|
|
624
|
+
"privacy.intimate_media": "privacy.intimate_media";
|
|
625
|
+
"privacy.location_exposure": "privacy.location_exposure";
|
|
626
|
+
"commerce.prohibited_item": "commerce.prohibited_item";
|
|
627
|
+
"commerce.counterfeit": "commerce.counterfeit";
|
|
628
|
+
"commerce.misleading_listing": "commerce.misleading_listing";
|
|
629
|
+
"commerce.unsafe_product": "commerce.unsafe_product";
|
|
630
|
+
"platform_abuse.ban_evasion": "platform_abuse.ban_evasion";
|
|
631
|
+
"platform_abuse.report_abuse": "platform_abuse.report_abuse";
|
|
632
|
+
"platform_abuse.automation_abuse": "platform_abuse.automation_abuse";
|
|
633
|
+
"other.policy_specific": "other.policy_specific";
|
|
634
|
+
"other.unclassifiable": "other.unclassifiable";
|
|
635
|
+
}>>;
|
|
636
|
+
defaultSeverity: z.ZodOptional<z.ZodEnum<{
|
|
637
|
+
low: "low";
|
|
638
|
+
medium: "medium";
|
|
639
|
+
high: "high";
|
|
640
|
+
critical: "critical";
|
|
641
|
+
}>>;
|
|
642
|
+
recommendedActions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
643
|
+
remove_or_restrict: "remove_or_restrict";
|
|
644
|
+
allow_with_label: "allow_with_label";
|
|
645
|
+
remove: "remove";
|
|
646
|
+
hide: "hide";
|
|
647
|
+
label: "label";
|
|
648
|
+
age_gate: "age_gate";
|
|
649
|
+
reduce_distribution: "reduce_distribution";
|
|
650
|
+
freeze_transaction: "freeze_transaction";
|
|
651
|
+
suspend_user: "suspend_user";
|
|
652
|
+
request_changes: "request_changes";
|
|
653
|
+
allow: "allow";
|
|
654
|
+
restore: "restore";
|
|
655
|
+
no_action: "no_action";
|
|
656
|
+
request_more_context: "request_more_context";
|
|
657
|
+
hold: "hold";
|
|
658
|
+
local_manual_review: "local_manual_review";
|
|
659
|
+
keep_restricted_temporarily: "keep_restricted_temporarily";
|
|
660
|
+
escalate: "escalate";
|
|
661
|
+
no_global_effect: "no_global_effect";
|
|
662
|
+
specialist_queue: "specialist_queue";
|
|
663
|
+
legal_queue: "legal_queue";
|
|
664
|
+
safety_queue: "safety_queue";
|
|
665
|
+
}>>>;
|
|
666
|
+
}, z.core.$strict>>;
|
|
667
|
+
}, z.core.$strict>;
|
|
668
|
+
presentation: z.ZodObject<{
|
|
669
|
+
sensitivityClass: z.ZodEnum<{
|
|
670
|
+
standard: "standard";
|
|
671
|
+
sensitive: "sensitive";
|
|
672
|
+
restricted: "restricted";
|
|
673
|
+
}>;
|
|
674
|
+
requiresRedaction: z.ZodBoolean;
|
|
675
|
+
blurBeforeReveal: z.ZodBoolean;
|
|
676
|
+
}, z.core.$strict>;
|
|
677
|
+
resources: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
678
|
+
type: z.ZodLiteral<"text">;
|
|
679
|
+
data: z.ZodObject<{
|
|
680
|
+
text: z.ZodString;
|
|
681
|
+
formatting: z.ZodOptional<z.ZodEnum<{
|
|
682
|
+
plain: "plain";
|
|
683
|
+
markdown_subset: "markdown_subset";
|
|
684
|
+
}>>;
|
|
685
|
+
}, z.core.$strict>;
|
|
686
|
+
id: z.ZodString;
|
|
687
|
+
role: z.ZodEnum<{
|
|
688
|
+
metadata: "metadata";
|
|
689
|
+
subject: "subject";
|
|
690
|
+
attachment: "attachment";
|
|
691
|
+
context: "context";
|
|
692
|
+
parent: "parent";
|
|
693
|
+
quoted: "quoted";
|
|
694
|
+
evidence: "evidence";
|
|
695
|
+
policy_context: "policy_context";
|
|
696
|
+
}>;
|
|
697
|
+
language: z.ZodOptional<z.ZodString>;
|
|
698
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
699
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
700
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
701
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
702
|
+
type: z.ZodLiteral<"link">;
|
|
703
|
+
data: z.ZodObject<{
|
|
704
|
+
url: z.ZodURL;
|
|
705
|
+
title: z.ZodOptional<z.ZodString>;
|
|
706
|
+
resolvedHost: z.ZodOptional<z.ZodString>;
|
|
707
|
+
snapshot: z.ZodOptional<z.ZodString>;
|
|
708
|
+
}, z.core.$strict>;
|
|
709
|
+
id: z.ZodString;
|
|
710
|
+
role: z.ZodEnum<{
|
|
711
|
+
metadata: "metadata";
|
|
712
|
+
subject: "subject";
|
|
713
|
+
attachment: "attachment";
|
|
714
|
+
context: "context";
|
|
715
|
+
parent: "parent";
|
|
716
|
+
quoted: "quoted";
|
|
717
|
+
evidence: "evidence";
|
|
718
|
+
policy_context: "policy_context";
|
|
719
|
+
}>;
|
|
720
|
+
language: z.ZodOptional<z.ZodString>;
|
|
721
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
722
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
723
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
724
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
725
|
+
type: z.ZodLiteral<"profile">;
|
|
726
|
+
data: z.ZodObject<{
|
|
727
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
728
|
+
bio: z.ZodOptional<z.ZodString>;
|
|
729
|
+
avatarRef: z.ZodOptional<z.ZodString>;
|
|
730
|
+
claims: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
731
|
+
}, z.core.$strict>;
|
|
732
|
+
id: z.ZodString;
|
|
733
|
+
role: z.ZodEnum<{
|
|
734
|
+
metadata: "metadata";
|
|
735
|
+
subject: "subject";
|
|
736
|
+
attachment: "attachment";
|
|
737
|
+
context: "context";
|
|
738
|
+
parent: "parent";
|
|
739
|
+
quoted: "quoted";
|
|
740
|
+
evidence: "evidence";
|
|
741
|
+
policy_context: "policy_context";
|
|
742
|
+
}>;
|
|
743
|
+
language: z.ZodOptional<z.ZodString>;
|
|
744
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
745
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
746
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
747
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
748
|
+
type: z.ZodLiteral<"conversation">;
|
|
749
|
+
data: z.ZodObject<{
|
|
750
|
+
messageResourceIds: z.ZodArray<z.ZodString>;
|
|
751
|
+
}, z.core.$strict>;
|
|
752
|
+
id: z.ZodString;
|
|
753
|
+
role: z.ZodEnum<{
|
|
754
|
+
metadata: "metadata";
|
|
755
|
+
subject: "subject";
|
|
756
|
+
attachment: "attachment";
|
|
757
|
+
context: "context";
|
|
758
|
+
parent: "parent";
|
|
759
|
+
quoted: "quoted";
|
|
760
|
+
evidence: "evidence";
|
|
761
|
+
policy_context: "policy_context";
|
|
762
|
+
}>;
|
|
763
|
+
language: z.ZodOptional<z.ZodString>;
|
|
764
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
765
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
766
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
767
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
768
|
+
type: z.ZodLiteral<"listing">;
|
|
769
|
+
data: z.ZodObject<{
|
|
770
|
+
title: z.ZodString;
|
|
771
|
+
description: z.ZodOptional<z.ZodString>;
|
|
772
|
+
price: z.ZodOptional<z.ZodNumber>;
|
|
773
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
774
|
+
sellerRef: z.ZodOptional<z.ZodString>;
|
|
775
|
+
mediaRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
776
|
+
}, z.core.$strict>;
|
|
777
|
+
id: z.ZodString;
|
|
778
|
+
role: z.ZodEnum<{
|
|
779
|
+
metadata: "metadata";
|
|
780
|
+
subject: "subject";
|
|
781
|
+
attachment: "attachment";
|
|
782
|
+
context: "context";
|
|
783
|
+
parent: "parent";
|
|
784
|
+
quoted: "quoted";
|
|
785
|
+
evidence: "evidence";
|
|
786
|
+
policy_context: "policy_context";
|
|
787
|
+
}>;
|
|
788
|
+
language: z.ZodOptional<z.ZodString>;
|
|
789
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
790
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
791
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
792
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
793
|
+
type: z.ZodLiteral<"location">;
|
|
794
|
+
data: z.ZodObject<{
|
|
795
|
+
label: z.ZodOptional<z.ZodString>;
|
|
796
|
+
latitude: z.ZodOptional<z.ZodNumber>;
|
|
797
|
+
longitude: z.ZodOptional<z.ZodNumber>;
|
|
798
|
+
}, z.core.$strict>;
|
|
799
|
+
id: z.ZodString;
|
|
800
|
+
role: z.ZodEnum<{
|
|
801
|
+
metadata: "metadata";
|
|
802
|
+
subject: "subject";
|
|
803
|
+
attachment: "attachment";
|
|
804
|
+
context: "context";
|
|
805
|
+
parent: "parent";
|
|
806
|
+
quoted: "quoted";
|
|
807
|
+
evidence: "evidence";
|
|
808
|
+
policy_context: "policy_context";
|
|
809
|
+
}>;
|
|
810
|
+
language: z.ZodOptional<z.ZodString>;
|
|
811
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
812
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
813
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
814
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
815
|
+
type: z.ZodLiteral<"metadata">;
|
|
816
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
|
|
817
|
+
id: z.ZodString;
|
|
818
|
+
role: z.ZodEnum<{
|
|
819
|
+
metadata: "metadata";
|
|
820
|
+
subject: "subject";
|
|
821
|
+
attachment: "attachment";
|
|
822
|
+
context: "context";
|
|
823
|
+
parent: "parent";
|
|
824
|
+
quoted: "quoted";
|
|
825
|
+
evidence: "evidence";
|
|
826
|
+
policy_context: "policy_context";
|
|
827
|
+
}>;
|
|
828
|
+
language: z.ZodOptional<z.ZodString>;
|
|
829
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
830
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
831
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
832
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
833
|
+
type: z.ZodLiteral<"custom">;
|
|
834
|
+
schemaId: z.ZodString;
|
|
835
|
+
payload: z.ZodRecord<z.ZodString, z.ZodType<import("./primitives.js").CustomPayloadValue, unknown, z.core.$ZodTypeInternals<import("./primitives.js").CustomPayloadValue, unknown>>>;
|
|
836
|
+
id: z.ZodString;
|
|
837
|
+
role: z.ZodEnum<{
|
|
838
|
+
metadata: "metadata";
|
|
839
|
+
subject: "subject";
|
|
840
|
+
attachment: "attachment";
|
|
841
|
+
context: "context";
|
|
842
|
+
parent: "parent";
|
|
843
|
+
quoted: "quoted";
|
|
844
|
+
evidence: "evidence";
|
|
845
|
+
policy_context: "policy_context";
|
|
846
|
+
}>;
|
|
847
|
+
language: z.ZodOptional<z.ZodString>;
|
|
848
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
849
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
850
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
851
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
852
|
+
type: z.ZodLiteral<"image">;
|
|
853
|
+
asset: z.ZodObject<{
|
|
854
|
+
mediaType: z.ZodString;
|
|
855
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
856
|
+
retrievable: z.ZodBoolean;
|
|
857
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
858
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
859
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
860
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
861
|
+
}, z.core.$strict>;
|
|
862
|
+
id: z.ZodString;
|
|
863
|
+
role: z.ZodEnum<{
|
|
864
|
+
metadata: "metadata";
|
|
865
|
+
subject: "subject";
|
|
866
|
+
attachment: "attachment";
|
|
867
|
+
context: "context";
|
|
868
|
+
parent: "parent";
|
|
869
|
+
quoted: "quoted";
|
|
870
|
+
evidence: "evidence";
|
|
871
|
+
policy_context: "policy_context";
|
|
872
|
+
}>;
|
|
873
|
+
language: z.ZodOptional<z.ZodString>;
|
|
874
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
875
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
876
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
877
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
878
|
+
type: z.ZodLiteral<"video">;
|
|
879
|
+
asset: z.ZodObject<{
|
|
880
|
+
mediaType: z.ZodString;
|
|
881
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
882
|
+
retrievable: z.ZodBoolean;
|
|
883
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
884
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
885
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
886
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
887
|
+
}, z.core.$strict>;
|
|
888
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
889
|
+
timeRange: z.ZodOptional<z.ZodObject<{
|
|
890
|
+
startSeconds: z.ZodNumber;
|
|
891
|
+
endSeconds: z.ZodNumber;
|
|
892
|
+
}, z.core.$strict>>;
|
|
893
|
+
}, z.core.$strict>>;
|
|
894
|
+
id: z.ZodString;
|
|
895
|
+
role: z.ZodEnum<{
|
|
896
|
+
metadata: "metadata";
|
|
897
|
+
subject: "subject";
|
|
898
|
+
attachment: "attachment";
|
|
899
|
+
context: "context";
|
|
900
|
+
parent: "parent";
|
|
901
|
+
quoted: "quoted";
|
|
902
|
+
evidence: "evidence";
|
|
903
|
+
policy_context: "policy_context";
|
|
904
|
+
}>;
|
|
905
|
+
language: z.ZodOptional<z.ZodString>;
|
|
906
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
907
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
908
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
909
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
910
|
+
type: z.ZodLiteral<"audio">;
|
|
911
|
+
asset: z.ZodObject<{
|
|
912
|
+
mediaType: z.ZodString;
|
|
913
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
914
|
+
retrievable: z.ZodBoolean;
|
|
915
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
916
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
917
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
918
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
919
|
+
}, z.core.$strict>;
|
|
920
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
921
|
+
transcript: z.ZodOptional<z.ZodString>;
|
|
922
|
+
}, z.core.$strict>>;
|
|
923
|
+
id: z.ZodString;
|
|
924
|
+
role: z.ZodEnum<{
|
|
925
|
+
metadata: "metadata";
|
|
926
|
+
subject: "subject";
|
|
927
|
+
attachment: "attachment";
|
|
928
|
+
context: "context";
|
|
929
|
+
parent: "parent";
|
|
930
|
+
quoted: "quoted";
|
|
931
|
+
evidence: "evidence";
|
|
932
|
+
policy_context: "policy_context";
|
|
933
|
+
}>;
|
|
934
|
+
language: z.ZodOptional<z.ZodString>;
|
|
935
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
936
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
937
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
938
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
939
|
+
type: z.ZodLiteral<"document">;
|
|
940
|
+
asset: z.ZodObject<{
|
|
941
|
+
mediaType: z.ZodString;
|
|
942
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
943
|
+
retrievable: z.ZodBoolean;
|
|
944
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
945
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
946
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
947
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
948
|
+
}, z.core.$strict>;
|
|
949
|
+
data: z.ZodObject<{
|
|
950
|
+
title: z.ZodString;
|
|
951
|
+
extractedText: z.ZodOptional<z.ZodString>;
|
|
952
|
+
}, z.core.$strict>;
|
|
953
|
+
id: z.ZodString;
|
|
954
|
+
role: z.ZodEnum<{
|
|
955
|
+
metadata: "metadata";
|
|
956
|
+
subject: "subject";
|
|
957
|
+
attachment: "attachment";
|
|
958
|
+
context: "context";
|
|
959
|
+
parent: "parent";
|
|
960
|
+
quoted: "quoted";
|
|
961
|
+
evidence: "evidence";
|
|
962
|
+
policy_context: "policy_context";
|
|
963
|
+
}>;
|
|
964
|
+
language: z.ZodOptional<z.ZodString>;
|
|
965
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
966
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
967
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
968
|
+
}, z.core.$strict>], "type">>;
|
|
969
|
+
relations: z.ZodArray<z.ZodObject<{
|
|
970
|
+
from: z.ZodString;
|
|
971
|
+
type: z.ZodEnum<{
|
|
972
|
+
has_attachment: "has_attachment";
|
|
973
|
+
replies_to: "replies_to";
|
|
974
|
+
quotes: "quotes";
|
|
975
|
+
authored_by: "authored_by";
|
|
976
|
+
contextualizes: "contextualizes";
|
|
977
|
+
previous_version: "previous_version";
|
|
978
|
+
contains: "contains";
|
|
979
|
+
refers_to: "refers_to";
|
|
980
|
+
}>;
|
|
981
|
+
to: z.ZodString;
|
|
982
|
+
}, z.core.$strict>>;
|
|
983
|
+
watermark: z.ZodNullable<z.ZodString>;
|
|
984
|
+
authorContext: z.ZodOptional<z.ZodObject<{
|
|
985
|
+
unverified: z.ZodLiteral<true>;
|
|
986
|
+
statement: z.ZodString;
|
|
987
|
+
resourceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
988
|
+
fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
989
|
+
}, z.core.$strict>>;
|
|
990
|
+
}, z.core.$strict>;
|
|
991
|
+
export type AssignmentPackage = z.infer<typeof AssignmentPackageSchema>;
|
|
992
|
+
/**
|
|
993
|
+
* What `POST /v1/reviewer/assignments/next` returns.
|
|
994
|
+
*
|
|
995
|
+
* The token is here and on no other response, because it is handed over exactly
|
|
996
|
+
* once and only its hash is stored (§8.7). Every later call on this assignment
|
|
997
|
+
* presents it in `x-assignment-token`.
|
|
998
|
+
*/
|
|
999
|
+
export declare const IssuedAssignmentPackageSchema: z.ZodObject<{
|
|
1000
|
+
assignmentId: z.ZodString;
|
|
1001
|
+
caseRevision: z.ZodNumber;
|
|
1002
|
+
expiresAt: z.ZodISODateTime;
|
|
1003
|
+
language: z.ZodNullable<z.ZodString>;
|
|
1004
|
+
families: z.ZodArray<z.ZodEnum<{
|
|
1005
|
+
integrity: "integrity";
|
|
1006
|
+
harassment: "harassment";
|
|
1007
|
+
hate: "hate";
|
|
1008
|
+
violence: "violence";
|
|
1009
|
+
sexual_content: "sexual_content";
|
|
1010
|
+
child_safety: "child_safety";
|
|
1011
|
+
self_harm: "self_harm";
|
|
1012
|
+
privacy: "privacy";
|
|
1013
|
+
commerce: "commerce";
|
|
1014
|
+
platform_abuse: "platform_abuse";
|
|
1015
|
+
other: "other";
|
|
1016
|
+
}>>;
|
|
1017
|
+
allegations: z.ZodObject<{
|
|
1018
|
+
unverified: z.ZodLiteral<true>;
|
|
1019
|
+
codes: z.ZodArray<z.ZodEnum<{
|
|
1020
|
+
"integrity.spam": "integrity.spam";
|
|
1021
|
+
"integrity.scam": "integrity.scam";
|
|
1022
|
+
"integrity.fraud": "integrity.fraud";
|
|
1023
|
+
"integrity.impersonation": "integrity.impersonation";
|
|
1024
|
+
"integrity.coordinated_manipulation": "integrity.coordinated_manipulation";
|
|
1025
|
+
"harassment.insult": "harassment.insult";
|
|
1026
|
+
"harassment.targeted_abuse": "harassment.targeted_abuse";
|
|
1027
|
+
"harassment.sexual_harassment": "harassment.sexual_harassment";
|
|
1028
|
+
"harassment.doxxing": "harassment.doxxing";
|
|
1029
|
+
"harassment.credible_threat": "harassment.credible_threat";
|
|
1030
|
+
"hate.dehumanization": "hate.dehumanization";
|
|
1031
|
+
"hate.slur": "hate.slur";
|
|
1032
|
+
"hate.incitement": "hate.incitement";
|
|
1033
|
+
"hate.protected_targeting": "hate.protected_targeting";
|
|
1034
|
+
"violence.graphic": "violence.graphic";
|
|
1035
|
+
"violence.threat": "violence.threat";
|
|
1036
|
+
"violence.instruction": "violence.instruction";
|
|
1037
|
+
"violence.celebration": "violence.celebration";
|
|
1038
|
+
"sexual_content.nudity": "sexual_content.nudity";
|
|
1039
|
+
"sexual_content.explicit_activity": "sexual_content.explicit_activity";
|
|
1040
|
+
"sexual_content.non_consensual": "sexual_content.non_consensual";
|
|
1041
|
+
"sexual_content.exploitation": "sexual_content.exploitation";
|
|
1042
|
+
"child_safety.sexualization": "child_safety.sexualization";
|
|
1043
|
+
"child_safety.grooming": "child_safety.grooming";
|
|
1044
|
+
"child_safety.exploitation": "child_safety.exploitation";
|
|
1045
|
+
"self_harm.promotion": "self_harm.promotion";
|
|
1046
|
+
"self_harm.instruction": "self_harm.instruction";
|
|
1047
|
+
"self_harm.imminent_risk": "self_harm.imminent_risk";
|
|
1048
|
+
"privacy.personal_information": "privacy.personal_information";
|
|
1049
|
+
"privacy.intimate_media": "privacy.intimate_media";
|
|
1050
|
+
"privacy.location_exposure": "privacy.location_exposure";
|
|
1051
|
+
"commerce.prohibited_item": "commerce.prohibited_item";
|
|
1052
|
+
"commerce.counterfeit": "commerce.counterfeit";
|
|
1053
|
+
"commerce.misleading_listing": "commerce.misleading_listing";
|
|
1054
|
+
"commerce.unsafe_product": "commerce.unsafe_product";
|
|
1055
|
+
"platform_abuse.ban_evasion": "platform_abuse.ban_evasion";
|
|
1056
|
+
"platform_abuse.report_abuse": "platform_abuse.report_abuse";
|
|
1057
|
+
"platform_abuse.automation_abuse": "platform_abuse.automation_abuse";
|
|
1058
|
+
"other.policy_specific": "other.policy_specific";
|
|
1059
|
+
"other.unclassifiable": "other.unclassifiable";
|
|
1060
|
+
}>>;
|
|
1061
|
+
}, z.core.$strict>;
|
|
1062
|
+
policy: z.ZodObject<{
|
|
1063
|
+
policySetId: z.ZodString;
|
|
1064
|
+
version: z.ZodString;
|
|
1065
|
+
taxonomyVersion: z.ZodString;
|
|
1066
|
+
rules: z.ZodArray<z.ZodObject<{
|
|
1067
|
+
id: z.ZodString;
|
|
1068
|
+
title: z.ZodString;
|
|
1069
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1070
|
+
taxonomyCodes: z.ZodArray<z.ZodEnum<{
|
|
1071
|
+
"integrity.spam": "integrity.spam";
|
|
1072
|
+
"integrity.scam": "integrity.scam";
|
|
1073
|
+
"integrity.fraud": "integrity.fraud";
|
|
1074
|
+
"integrity.impersonation": "integrity.impersonation";
|
|
1075
|
+
"integrity.coordinated_manipulation": "integrity.coordinated_manipulation";
|
|
1076
|
+
"harassment.insult": "harassment.insult";
|
|
1077
|
+
"harassment.targeted_abuse": "harassment.targeted_abuse";
|
|
1078
|
+
"harassment.sexual_harassment": "harassment.sexual_harassment";
|
|
1079
|
+
"harassment.doxxing": "harassment.doxxing";
|
|
1080
|
+
"harassment.credible_threat": "harassment.credible_threat";
|
|
1081
|
+
"hate.dehumanization": "hate.dehumanization";
|
|
1082
|
+
"hate.slur": "hate.slur";
|
|
1083
|
+
"hate.incitement": "hate.incitement";
|
|
1084
|
+
"hate.protected_targeting": "hate.protected_targeting";
|
|
1085
|
+
"violence.graphic": "violence.graphic";
|
|
1086
|
+
"violence.threat": "violence.threat";
|
|
1087
|
+
"violence.instruction": "violence.instruction";
|
|
1088
|
+
"violence.celebration": "violence.celebration";
|
|
1089
|
+
"sexual_content.nudity": "sexual_content.nudity";
|
|
1090
|
+
"sexual_content.explicit_activity": "sexual_content.explicit_activity";
|
|
1091
|
+
"sexual_content.non_consensual": "sexual_content.non_consensual";
|
|
1092
|
+
"sexual_content.exploitation": "sexual_content.exploitation";
|
|
1093
|
+
"child_safety.sexualization": "child_safety.sexualization";
|
|
1094
|
+
"child_safety.grooming": "child_safety.grooming";
|
|
1095
|
+
"child_safety.exploitation": "child_safety.exploitation";
|
|
1096
|
+
"self_harm.promotion": "self_harm.promotion";
|
|
1097
|
+
"self_harm.instruction": "self_harm.instruction";
|
|
1098
|
+
"self_harm.imminent_risk": "self_harm.imminent_risk";
|
|
1099
|
+
"privacy.personal_information": "privacy.personal_information";
|
|
1100
|
+
"privacy.intimate_media": "privacy.intimate_media";
|
|
1101
|
+
"privacy.location_exposure": "privacy.location_exposure";
|
|
1102
|
+
"commerce.prohibited_item": "commerce.prohibited_item";
|
|
1103
|
+
"commerce.counterfeit": "commerce.counterfeit";
|
|
1104
|
+
"commerce.misleading_listing": "commerce.misleading_listing";
|
|
1105
|
+
"commerce.unsafe_product": "commerce.unsafe_product";
|
|
1106
|
+
"platform_abuse.ban_evasion": "platform_abuse.ban_evasion";
|
|
1107
|
+
"platform_abuse.report_abuse": "platform_abuse.report_abuse";
|
|
1108
|
+
"platform_abuse.automation_abuse": "platform_abuse.automation_abuse";
|
|
1109
|
+
"other.policy_specific": "other.policy_specific";
|
|
1110
|
+
"other.unclassifiable": "other.unclassifiable";
|
|
1111
|
+
}>>;
|
|
1112
|
+
defaultSeverity: z.ZodOptional<z.ZodEnum<{
|
|
1113
|
+
low: "low";
|
|
1114
|
+
medium: "medium";
|
|
1115
|
+
high: "high";
|
|
1116
|
+
critical: "critical";
|
|
1117
|
+
}>>;
|
|
1118
|
+
recommendedActions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1119
|
+
remove_or_restrict: "remove_or_restrict";
|
|
1120
|
+
allow_with_label: "allow_with_label";
|
|
1121
|
+
remove: "remove";
|
|
1122
|
+
hide: "hide";
|
|
1123
|
+
label: "label";
|
|
1124
|
+
age_gate: "age_gate";
|
|
1125
|
+
reduce_distribution: "reduce_distribution";
|
|
1126
|
+
freeze_transaction: "freeze_transaction";
|
|
1127
|
+
suspend_user: "suspend_user";
|
|
1128
|
+
request_changes: "request_changes";
|
|
1129
|
+
allow: "allow";
|
|
1130
|
+
restore: "restore";
|
|
1131
|
+
no_action: "no_action";
|
|
1132
|
+
request_more_context: "request_more_context";
|
|
1133
|
+
hold: "hold";
|
|
1134
|
+
local_manual_review: "local_manual_review";
|
|
1135
|
+
keep_restricted_temporarily: "keep_restricted_temporarily";
|
|
1136
|
+
escalate: "escalate";
|
|
1137
|
+
no_global_effect: "no_global_effect";
|
|
1138
|
+
specialist_queue: "specialist_queue";
|
|
1139
|
+
legal_queue: "legal_queue";
|
|
1140
|
+
safety_queue: "safety_queue";
|
|
1141
|
+
}>>>;
|
|
1142
|
+
}, z.core.$strict>>;
|
|
1143
|
+
}, z.core.$strict>;
|
|
1144
|
+
presentation: z.ZodObject<{
|
|
1145
|
+
sensitivityClass: z.ZodEnum<{
|
|
1146
|
+
standard: "standard";
|
|
1147
|
+
sensitive: "sensitive";
|
|
1148
|
+
restricted: "restricted";
|
|
1149
|
+
}>;
|
|
1150
|
+
requiresRedaction: z.ZodBoolean;
|
|
1151
|
+
blurBeforeReveal: z.ZodBoolean;
|
|
1152
|
+
}, z.core.$strict>;
|
|
1153
|
+
resources: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1154
|
+
type: z.ZodLiteral<"text">;
|
|
1155
|
+
data: z.ZodObject<{
|
|
1156
|
+
text: z.ZodString;
|
|
1157
|
+
formatting: z.ZodOptional<z.ZodEnum<{
|
|
1158
|
+
plain: "plain";
|
|
1159
|
+
markdown_subset: "markdown_subset";
|
|
1160
|
+
}>>;
|
|
1161
|
+
}, z.core.$strict>;
|
|
1162
|
+
id: z.ZodString;
|
|
1163
|
+
role: z.ZodEnum<{
|
|
1164
|
+
metadata: "metadata";
|
|
1165
|
+
subject: "subject";
|
|
1166
|
+
attachment: "attachment";
|
|
1167
|
+
context: "context";
|
|
1168
|
+
parent: "parent";
|
|
1169
|
+
quoted: "quoted";
|
|
1170
|
+
evidence: "evidence";
|
|
1171
|
+
policy_context: "policy_context";
|
|
1172
|
+
}>;
|
|
1173
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1174
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1175
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1176
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1177
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1178
|
+
type: z.ZodLiteral<"link">;
|
|
1179
|
+
data: z.ZodObject<{
|
|
1180
|
+
url: z.ZodURL;
|
|
1181
|
+
title: z.ZodOptional<z.ZodString>;
|
|
1182
|
+
resolvedHost: z.ZodOptional<z.ZodString>;
|
|
1183
|
+
snapshot: z.ZodOptional<z.ZodString>;
|
|
1184
|
+
}, z.core.$strict>;
|
|
1185
|
+
id: z.ZodString;
|
|
1186
|
+
role: z.ZodEnum<{
|
|
1187
|
+
metadata: "metadata";
|
|
1188
|
+
subject: "subject";
|
|
1189
|
+
attachment: "attachment";
|
|
1190
|
+
context: "context";
|
|
1191
|
+
parent: "parent";
|
|
1192
|
+
quoted: "quoted";
|
|
1193
|
+
evidence: "evidence";
|
|
1194
|
+
policy_context: "policy_context";
|
|
1195
|
+
}>;
|
|
1196
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1197
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1198
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1199
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1200
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1201
|
+
type: z.ZodLiteral<"profile">;
|
|
1202
|
+
data: z.ZodObject<{
|
|
1203
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
1204
|
+
bio: z.ZodOptional<z.ZodString>;
|
|
1205
|
+
avatarRef: z.ZodOptional<z.ZodString>;
|
|
1206
|
+
claims: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
1207
|
+
}, z.core.$strict>;
|
|
1208
|
+
id: z.ZodString;
|
|
1209
|
+
role: z.ZodEnum<{
|
|
1210
|
+
metadata: "metadata";
|
|
1211
|
+
subject: "subject";
|
|
1212
|
+
attachment: "attachment";
|
|
1213
|
+
context: "context";
|
|
1214
|
+
parent: "parent";
|
|
1215
|
+
quoted: "quoted";
|
|
1216
|
+
evidence: "evidence";
|
|
1217
|
+
policy_context: "policy_context";
|
|
1218
|
+
}>;
|
|
1219
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1220
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1221
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1222
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1223
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1224
|
+
type: z.ZodLiteral<"conversation">;
|
|
1225
|
+
data: z.ZodObject<{
|
|
1226
|
+
messageResourceIds: z.ZodArray<z.ZodString>;
|
|
1227
|
+
}, z.core.$strict>;
|
|
1228
|
+
id: z.ZodString;
|
|
1229
|
+
role: z.ZodEnum<{
|
|
1230
|
+
metadata: "metadata";
|
|
1231
|
+
subject: "subject";
|
|
1232
|
+
attachment: "attachment";
|
|
1233
|
+
context: "context";
|
|
1234
|
+
parent: "parent";
|
|
1235
|
+
quoted: "quoted";
|
|
1236
|
+
evidence: "evidence";
|
|
1237
|
+
policy_context: "policy_context";
|
|
1238
|
+
}>;
|
|
1239
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1240
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1241
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1242
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1243
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1244
|
+
type: z.ZodLiteral<"listing">;
|
|
1245
|
+
data: z.ZodObject<{
|
|
1246
|
+
title: z.ZodString;
|
|
1247
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1248
|
+
price: z.ZodOptional<z.ZodNumber>;
|
|
1249
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
1250
|
+
sellerRef: z.ZodOptional<z.ZodString>;
|
|
1251
|
+
mediaRefs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1252
|
+
}, z.core.$strict>;
|
|
1253
|
+
id: z.ZodString;
|
|
1254
|
+
role: z.ZodEnum<{
|
|
1255
|
+
metadata: "metadata";
|
|
1256
|
+
subject: "subject";
|
|
1257
|
+
attachment: "attachment";
|
|
1258
|
+
context: "context";
|
|
1259
|
+
parent: "parent";
|
|
1260
|
+
quoted: "quoted";
|
|
1261
|
+
evidence: "evidence";
|
|
1262
|
+
policy_context: "policy_context";
|
|
1263
|
+
}>;
|
|
1264
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1265
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1266
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1267
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1268
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1269
|
+
type: z.ZodLiteral<"location">;
|
|
1270
|
+
data: z.ZodObject<{
|
|
1271
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1272
|
+
latitude: z.ZodOptional<z.ZodNumber>;
|
|
1273
|
+
longitude: z.ZodOptional<z.ZodNumber>;
|
|
1274
|
+
}, z.core.$strict>;
|
|
1275
|
+
id: z.ZodString;
|
|
1276
|
+
role: z.ZodEnum<{
|
|
1277
|
+
metadata: "metadata";
|
|
1278
|
+
subject: "subject";
|
|
1279
|
+
attachment: "attachment";
|
|
1280
|
+
context: "context";
|
|
1281
|
+
parent: "parent";
|
|
1282
|
+
quoted: "quoted";
|
|
1283
|
+
evidence: "evidence";
|
|
1284
|
+
policy_context: "policy_context";
|
|
1285
|
+
}>;
|
|
1286
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1287
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1288
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1289
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1290
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1291
|
+
type: z.ZodLiteral<"metadata">;
|
|
1292
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
|
|
1293
|
+
id: z.ZodString;
|
|
1294
|
+
role: z.ZodEnum<{
|
|
1295
|
+
metadata: "metadata";
|
|
1296
|
+
subject: "subject";
|
|
1297
|
+
attachment: "attachment";
|
|
1298
|
+
context: "context";
|
|
1299
|
+
parent: "parent";
|
|
1300
|
+
quoted: "quoted";
|
|
1301
|
+
evidence: "evidence";
|
|
1302
|
+
policy_context: "policy_context";
|
|
1303
|
+
}>;
|
|
1304
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1305
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1306
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1307
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1308
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1309
|
+
type: z.ZodLiteral<"custom">;
|
|
1310
|
+
schemaId: z.ZodString;
|
|
1311
|
+
payload: z.ZodRecord<z.ZodString, z.ZodType<import("./primitives.js").CustomPayloadValue, unknown, z.core.$ZodTypeInternals<import("./primitives.js").CustomPayloadValue, unknown>>>;
|
|
1312
|
+
id: z.ZodString;
|
|
1313
|
+
role: z.ZodEnum<{
|
|
1314
|
+
metadata: "metadata";
|
|
1315
|
+
subject: "subject";
|
|
1316
|
+
attachment: "attachment";
|
|
1317
|
+
context: "context";
|
|
1318
|
+
parent: "parent";
|
|
1319
|
+
quoted: "quoted";
|
|
1320
|
+
evidence: "evidence";
|
|
1321
|
+
policy_context: "policy_context";
|
|
1322
|
+
}>;
|
|
1323
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1324
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1325
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1326
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1327
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1328
|
+
type: z.ZodLiteral<"image">;
|
|
1329
|
+
asset: z.ZodObject<{
|
|
1330
|
+
mediaType: z.ZodString;
|
|
1331
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
1332
|
+
retrievable: z.ZodBoolean;
|
|
1333
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
1334
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1335
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1336
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
1337
|
+
}, z.core.$strict>;
|
|
1338
|
+
id: z.ZodString;
|
|
1339
|
+
role: z.ZodEnum<{
|
|
1340
|
+
metadata: "metadata";
|
|
1341
|
+
subject: "subject";
|
|
1342
|
+
attachment: "attachment";
|
|
1343
|
+
context: "context";
|
|
1344
|
+
parent: "parent";
|
|
1345
|
+
quoted: "quoted";
|
|
1346
|
+
evidence: "evidence";
|
|
1347
|
+
policy_context: "policy_context";
|
|
1348
|
+
}>;
|
|
1349
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1350
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1351
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1352
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1353
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1354
|
+
type: z.ZodLiteral<"video">;
|
|
1355
|
+
asset: z.ZodObject<{
|
|
1356
|
+
mediaType: z.ZodString;
|
|
1357
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
1358
|
+
retrievable: z.ZodBoolean;
|
|
1359
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
1360
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1361
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1362
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
1363
|
+
}, z.core.$strict>;
|
|
1364
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
1365
|
+
timeRange: z.ZodOptional<z.ZodObject<{
|
|
1366
|
+
startSeconds: z.ZodNumber;
|
|
1367
|
+
endSeconds: z.ZodNumber;
|
|
1368
|
+
}, z.core.$strict>>;
|
|
1369
|
+
}, z.core.$strict>>;
|
|
1370
|
+
id: z.ZodString;
|
|
1371
|
+
role: z.ZodEnum<{
|
|
1372
|
+
metadata: "metadata";
|
|
1373
|
+
subject: "subject";
|
|
1374
|
+
attachment: "attachment";
|
|
1375
|
+
context: "context";
|
|
1376
|
+
parent: "parent";
|
|
1377
|
+
quoted: "quoted";
|
|
1378
|
+
evidence: "evidence";
|
|
1379
|
+
policy_context: "policy_context";
|
|
1380
|
+
}>;
|
|
1381
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1382
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1383
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1384
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1385
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1386
|
+
type: z.ZodLiteral<"audio">;
|
|
1387
|
+
asset: z.ZodObject<{
|
|
1388
|
+
mediaType: z.ZodString;
|
|
1389
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
1390
|
+
retrievable: z.ZodBoolean;
|
|
1391
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
1392
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1393
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1394
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
1395
|
+
}, z.core.$strict>;
|
|
1396
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
1397
|
+
transcript: z.ZodOptional<z.ZodString>;
|
|
1398
|
+
}, z.core.$strict>>;
|
|
1399
|
+
id: z.ZodString;
|
|
1400
|
+
role: z.ZodEnum<{
|
|
1401
|
+
metadata: "metadata";
|
|
1402
|
+
subject: "subject";
|
|
1403
|
+
attachment: "attachment";
|
|
1404
|
+
context: "context";
|
|
1405
|
+
parent: "parent";
|
|
1406
|
+
quoted: "quoted";
|
|
1407
|
+
evidence: "evidence";
|
|
1408
|
+
policy_context: "policy_context";
|
|
1409
|
+
}>;
|
|
1410
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1411
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1412
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1413
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1414
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1415
|
+
type: z.ZodLiteral<"document">;
|
|
1416
|
+
asset: z.ZodObject<{
|
|
1417
|
+
mediaType: z.ZodString;
|
|
1418
|
+
fileId: z.ZodOptional<z.ZodString>;
|
|
1419
|
+
retrievable: z.ZodBoolean;
|
|
1420
|
+
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
1421
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1422
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1423
|
+
durationSeconds: z.ZodOptional<z.ZodNumber>;
|
|
1424
|
+
}, z.core.$strict>;
|
|
1425
|
+
data: z.ZodObject<{
|
|
1426
|
+
title: z.ZodString;
|
|
1427
|
+
extractedText: z.ZodOptional<z.ZodString>;
|
|
1428
|
+
}, z.core.$strict>;
|
|
1429
|
+
id: z.ZodString;
|
|
1430
|
+
role: z.ZodEnum<{
|
|
1431
|
+
metadata: "metadata";
|
|
1432
|
+
subject: "subject";
|
|
1433
|
+
attachment: "attachment";
|
|
1434
|
+
context: "context";
|
|
1435
|
+
parent: "parent";
|
|
1436
|
+
quoted: "quoted";
|
|
1437
|
+
evidence: "evidence";
|
|
1438
|
+
policy_context: "policy_context";
|
|
1439
|
+
}>;
|
|
1440
|
+
language: z.ZodOptional<z.ZodString>;
|
|
1441
|
+
createdAt: z.ZodOptional<z.ZodISODateTime>;
|
|
1442
|
+
authorPrincipalRef: z.ZodOptional<z.ZodString>;
|
|
1443
|
+
sensitivity: z.ZodOptional<z.ZodString>;
|
|
1444
|
+
}, z.core.$strict>], "type">>;
|
|
1445
|
+
relations: z.ZodArray<z.ZodObject<{
|
|
1446
|
+
from: z.ZodString;
|
|
1447
|
+
type: z.ZodEnum<{
|
|
1448
|
+
has_attachment: "has_attachment";
|
|
1449
|
+
replies_to: "replies_to";
|
|
1450
|
+
quotes: "quotes";
|
|
1451
|
+
authored_by: "authored_by";
|
|
1452
|
+
contextualizes: "contextualizes";
|
|
1453
|
+
previous_version: "previous_version";
|
|
1454
|
+
contains: "contains";
|
|
1455
|
+
refers_to: "refers_to";
|
|
1456
|
+
}>;
|
|
1457
|
+
to: z.ZodString;
|
|
1458
|
+
}, z.core.$strict>>;
|
|
1459
|
+
watermark: z.ZodNullable<z.ZodString>;
|
|
1460
|
+
authorContext: z.ZodOptional<z.ZodObject<{
|
|
1461
|
+
unverified: z.ZodLiteral<true>;
|
|
1462
|
+
statement: z.ZodString;
|
|
1463
|
+
resourceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1464
|
+
fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
1465
|
+
}, z.core.$strict>>;
|
|
1466
|
+
token: z.ZodString;
|
|
1467
|
+
}, z.core.$strict>;
|
|
1468
|
+
export type IssuedAssignmentPackage = z.infer<typeof IssuedAssignmentPackageSchema>;
|
|
1469
|
+
export declare const ReviewerEligibilityRequirementSchema: z.ZodObject<{
|
|
1470
|
+
id: z.ZodEnum<{
|
|
1471
|
+
oxy_account: "oxy_account";
|
|
1472
|
+
personhood: "personhood";
|
|
1473
|
+
age: "age";
|
|
1474
|
+
rules_accepted: "rules_accepted";
|
|
1475
|
+
languages_selected: "languages_selected";
|
|
1476
|
+
categories_selected: "categories_selected";
|
|
1477
|
+
training_current: "training_current";
|
|
1478
|
+
calibration_current: "calibration_current";
|
|
1479
|
+
}>;
|
|
1480
|
+
met: z.ZodBoolean;
|
|
1481
|
+
}, z.core.$strict>;
|
|
1482
|
+
export type ReviewerEligibilityRequirement = z.infer<typeof ReviewerEligibilityRequirementSchema>;
|
|
1483
|
+
/**
|
|
1484
|
+
* §4.1's "Fiabilidad" — the reviewer's OWN standing in one category.
|
|
1485
|
+
*
|
|
1486
|
+
* Per category and not per (category, language): reliability is seeded by
|
|
1487
|
+
* calibration and moved by gold cases and audits, none of which are measured per
|
|
1488
|
+
* language, so a per-language figure would be the same number repeated. §4.1 asks
|
|
1489
|
+
* for both axes and this is the honest half of it.
|
|
1490
|
+
*
|
|
1491
|
+
* It is never anybody else's figure. §9.1 forbids a reviewer seeing another
|
|
1492
|
+
* person's reputation, and no shape on this surface could carry one.
|
|
1493
|
+
*/
|
|
1494
|
+
export declare const ReviewerCategoryStandingSchema: z.ZodObject<{
|
|
1495
|
+
category: z.ZodEnum<{
|
|
1496
|
+
integrity: "integrity";
|
|
1497
|
+
harassment: "harassment";
|
|
1498
|
+
hate: "hate";
|
|
1499
|
+
violence: "violence";
|
|
1500
|
+
sexual_content: "sexual_content";
|
|
1501
|
+
child_safety: "child_safety";
|
|
1502
|
+
self_harm: "self_harm";
|
|
1503
|
+
privacy: "privacy";
|
|
1504
|
+
commerce: "commerce";
|
|
1505
|
+
platform_abuse: "platform_abuse";
|
|
1506
|
+
other: "other";
|
|
1507
|
+
}>;
|
|
1508
|
+
reliability: z.ZodNumber;
|
|
1509
|
+
specialist: z.ZodBoolean;
|
|
1510
|
+
}, z.core.$strict>;
|
|
1511
|
+
export type ReviewerCategoryStanding = z.infer<typeof ReviewerCategoryStandingSchema>;
|
|
1512
|
+
/**
|
|
1513
|
+
* §13.7's exposure and rest, as numbers rather than as a verdict.
|
|
1514
|
+
*
|
|
1515
|
+
* `breakRequiredUntil` is the sensitive-material rest of the backend's
|
|
1516
|
+
* `eligibility.ts`: after `SENSITIVE_EXPOSURE_MAX` sensitive cases inside
|
|
1517
|
+
* `SENSITIVE_EXPOSURE_WINDOW_HOURS`, the oldest of them leaving the window is
|
|
1518
|
+
* when the reviewer may be drawn for sensitive material again. It rests only the
|
|
1519
|
+
* SENSITIVE route — somebody who has worked through several distressing cases can
|
|
1520
|
+
* still judge a spam report — so it is not a blanket block, and a screen showing
|
|
1521
|
+
* it has to say which route it applies to.
|
|
1522
|
+
*/
|
|
1523
|
+
export declare const ReviewerExposureViewSchema: z.ZodObject<{
|
|
1524
|
+
reviewedToday: z.ZodNumber;
|
|
1525
|
+
dailyLimit: z.ZodNumber;
|
|
1526
|
+
openAssignments: z.ZodNumber;
|
|
1527
|
+
maxOpenAssignments: z.ZodNumber;
|
|
1528
|
+
breakRequiredUntil: z.ZodNullable<z.ZodISODateTime>;
|
|
1529
|
+
}, z.core.$strict>;
|
|
1530
|
+
export type ReviewerExposureView = z.infer<typeof ReviewerExposureViewSchema>;
|
|
1531
|
+
/**
|
|
1532
|
+
* §13.7 — consent, per category and revocable at any moment.
|
|
1533
|
+
*
|
|
1534
|
+
* `maxSensitivity` lives here rather than in preferences because it IS consent:
|
|
1535
|
+
* the ceiling of what this person agreed to be shown. Keeping a second copy of
|
|
1536
|
+
* `sensitiveCategories` under preferences — which is what the app used to declare
|
|
1537
|
+
* — guarantees two fields that can disagree about the same fact.
|
|
1538
|
+
*/
|
|
1539
|
+
export declare const ReviewerConsentViewSchema: z.ZodObject<{
|
|
1540
|
+
rulesAcceptedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
1541
|
+
ageConfirmed: z.ZodBoolean;
|
|
1542
|
+
maxSensitivity: z.ZodEnum<{
|
|
1543
|
+
standard: "standard";
|
|
1544
|
+
sensitive: "sensitive";
|
|
1545
|
+
restricted: "restricted";
|
|
1546
|
+
}>;
|
|
1547
|
+
sensitiveCategories: z.ZodArray<z.ZodEnum<{
|
|
1548
|
+
integrity: "integrity";
|
|
1549
|
+
harassment: "harassment";
|
|
1550
|
+
hate: "hate";
|
|
1551
|
+
violence: "violence";
|
|
1552
|
+
sexual_content: "sexual_content";
|
|
1553
|
+
child_safety: "child_safety";
|
|
1554
|
+
self_harm: "self_harm";
|
|
1555
|
+
privacy: "privacy";
|
|
1556
|
+
commerce: "commerce";
|
|
1557
|
+
platform_abuse: "platform_abuse";
|
|
1558
|
+
other: "other";
|
|
1559
|
+
}>>;
|
|
1560
|
+
}, z.core.$strict>;
|
|
1561
|
+
export type ReviewerConsentView = z.infer<typeof ReviewerConsentViewSchema>;
|
|
1562
|
+
export declare const ReviewerPreferencesViewSchema: z.ZodObject<{
|
|
1563
|
+
languages: z.ZodArray<z.ZodString>;
|
|
1564
|
+
categories: z.ZodArray<z.ZodEnum<{
|
|
1565
|
+
integrity: "integrity";
|
|
1566
|
+
harassment: "harassment";
|
|
1567
|
+
hate: "hate";
|
|
1568
|
+
violence: "violence";
|
|
1569
|
+
sexual_content: "sexual_content";
|
|
1570
|
+
child_safety: "child_safety";
|
|
1571
|
+
self_harm: "self_harm";
|
|
1572
|
+
privacy: "privacy";
|
|
1573
|
+
commerce: "commerce";
|
|
1574
|
+
platform_abuse: "platform_abuse";
|
|
1575
|
+
other: "other";
|
|
1576
|
+
}>>;
|
|
1577
|
+
dailyLimit: z.ZodNumber;
|
|
1578
|
+
availableForAssignment: z.ZodBoolean;
|
|
1579
|
+
}, z.core.$strict>;
|
|
1580
|
+
export type ReviewerPreferencesView = z.infer<typeof ReviewerPreferencesViewSchema>;
|
|
1581
|
+
/**
|
|
1582
|
+
* `GET /v1/reviewer/profile` (§10.3: "eligibility, categories and PRIVATE
|
|
1583
|
+
* reliability").
|
|
1584
|
+
*
|
|
1585
|
+
* Private meaning shown to its owner and to nobody else. What the document holds
|
|
1586
|
+
* and this does not: `oxyUserId` (§8.7 keeps the identity and the reviewer id
|
|
1587
|
+
* apart), `samplingKey` (publishing it would let somebody reason about when they
|
|
1588
|
+
* are likely to be considered), `personhoodConfidence` (the threshold is what
|
|
1589
|
+
* matters; a bare number invites optimising a figure whose inputs are invisible),
|
|
1590
|
+
* and the anti-abuse signals.
|
|
1591
|
+
*/
|
|
1592
|
+
export declare const ReviewerProfileViewSchema: z.ZodObject<{
|
|
1593
|
+
reviewerId: z.ZodString;
|
|
1594
|
+
state: z.ZodEnum<{
|
|
1595
|
+
applicant: "applicant";
|
|
1596
|
+
calibrating: "calibrating";
|
|
1597
|
+
community: "community";
|
|
1598
|
+
trusted: "trusted";
|
|
1599
|
+
specialist: "specialist";
|
|
1600
|
+
appeals: "appeals";
|
|
1601
|
+
suspended: "suspended";
|
|
1602
|
+
}>;
|
|
1603
|
+
eligibility: z.ZodArray<z.ZodObject<{
|
|
1604
|
+
id: z.ZodEnum<{
|
|
1605
|
+
oxy_account: "oxy_account";
|
|
1606
|
+
personhood: "personhood";
|
|
1607
|
+
age: "age";
|
|
1608
|
+
rules_accepted: "rules_accepted";
|
|
1609
|
+
languages_selected: "languages_selected";
|
|
1610
|
+
categories_selected: "categories_selected";
|
|
1611
|
+
training_current: "training_current";
|
|
1612
|
+
calibration_current: "calibration_current";
|
|
1613
|
+
}>;
|
|
1614
|
+
met: z.ZodBoolean;
|
|
1615
|
+
}, z.core.$strict>>;
|
|
1616
|
+
standings: z.ZodArray<z.ZodObject<{
|
|
1617
|
+
category: z.ZodEnum<{
|
|
1618
|
+
integrity: "integrity";
|
|
1619
|
+
harassment: "harassment";
|
|
1620
|
+
hate: "hate";
|
|
1621
|
+
violence: "violence";
|
|
1622
|
+
sexual_content: "sexual_content";
|
|
1623
|
+
child_safety: "child_safety";
|
|
1624
|
+
self_harm: "self_harm";
|
|
1625
|
+
privacy: "privacy";
|
|
1626
|
+
commerce: "commerce";
|
|
1627
|
+
platform_abuse: "platform_abuse";
|
|
1628
|
+
other: "other";
|
|
1629
|
+
}>;
|
|
1630
|
+
reliability: z.ZodNumber;
|
|
1631
|
+
specialist: z.ZodBoolean;
|
|
1632
|
+
}, z.core.$strict>>;
|
|
1633
|
+
completedReviewCount: z.ZodNumber;
|
|
1634
|
+
preferences: z.ZodObject<{
|
|
1635
|
+
languages: z.ZodArray<z.ZodString>;
|
|
1636
|
+
categories: z.ZodArray<z.ZodEnum<{
|
|
1637
|
+
integrity: "integrity";
|
|
1638
|
+
harassment: "harassment";
|
|
1639
|
+
hate: "hate";
|
|
1640
|
+
violence: "violence";
|
|
1641
|
+
sexual_content: "sexual_content";
|
|
1642
|
+
child_safety: "child_safety";
|
|
1643
|
+
self_harm: "self_harm";
|
|
1644
|
+
privacy: "privacy";
|
|
1645
|
+
commerce: "commerce";
|
|
1646
|
+
platform_abuse: "platform_abuse";
|
|
1647
|
+
other: "other";
|
|
1648
|
+
}>>;
|
|
1649
|
+
dailyLimit: z.ZodNumber;
|
|
1650
|
+
availableForAssignment: z.ZodBoolean;
|
|
1651
|
+
}, z.core.$strict>;
|
|
1652
|
+
consent: z.ZodObject<{
|
|
1653
|
+
rulesAcceptedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
1654
|
+
ageConfirmed: z.ZodBoolean;
|
|
1655
|
+
maxSensitivity: z.ZodEnum<{
|
|
1656
|
+
standard: "standard";
|
|
1657
|
+
sensitive: "sensitive";
|
|
1658
|
+
restricted: "restricted";
|
|
1659
|
+
}>;
|
|
1660
|
+
sensitiveCategories: z.ZodArray<z.ZodEnum<{
|
|
1661
|
+
integrity: "integrity";
|
|
1662
|
+
harassment: "harassment";
|
|
1663
|
+
hate: "hate";
|
|
1664
|
+
violence: "violence";
|
|
1665
|
+
sexual_content: "sexual_content";
|
|
1666
|
+
child_safety: "child_safety";
|
|
1667
|
+
self_harm: "self_harm";
|
|
1668
|
+
privacy: "privacy";
|
|
1669
|
+
commerce: "commerce";
|
|
1670
|
+
platform_abuse: "platform_abuse";
|
|
1671
|
+
other: "other";
|
|
1672
|
+
}>>;
|
|
1673
|
+
}, z.core.$strict>;
|
|
1674
|
+
exposure: z.ZodObject<{
|
|
1675
|
+
reviewedToday: z.ZodNumber;
|
|
1676
|
+
dailyLimit: z.ZodNumber;
|
|
1677
|
+
openAssignments: z.ZodNumber;
|
|
1678
|
+
maxOpenAssignments: z.ZodNumber;
|
|
1679
|
+
breakRequiredUntil: z.ZodNullable<z.ZodISODateTime>;
|
|
1680
|
+
}, z.core.$strict>;
|
|
1681
|
+
}, z.core.$strict>;
|
|
1682
|
+
export type ReviewerProfileView = z.infer<typeof ReviewerProfileViewSchema>;
|
|
1683
|
+
/**
|
|
1684
|
+
* The body of `POST /v1/reviewer/preferences` (§10.3).
|
|
1685
|
+
*
|
|
1686
|
+
* This is also §4.1's onboarding submission. There is no
|
|
1687
|
+
* `POST /v1/reviewer/onboarding`: §10.3's route table has no such endpoint, and
|
|
1688
|
+
* everything the onboarding screen collects — languages, categories, sensitive
|
|
1689
|
+
* consent, age — is precisely what §10.3 says this route updates. Rules
|
|
1690
|
+
* acceptance is the one thing that had no home, so it is a field here.
|
|
1691
|
+
*
|
|
1692
|
+
* `.strict()` matters more here than anywhere else on this surface. `state`,
|
|
1693
|
+
* `personhoodConfidence`, `reliabilityByCategory` and `completedReviewCount` are
|
|
1694
|
+
* the fields that decide who sits on a jury, and a lenient schema plus a
|
|
1695
|
+
* spread-based update is exactly how a reviewer would promote themselves. The
|
|
1696
|
+
* schema refuses unknown keys and the service takes named arguments, so there are
|
|
1697
|
+
* two independent reasons it cannot happen.
|
|
1698
|
+
*
|
|
1699
|
+
* Every field is optional and at least one must be present: a partial update is
|
|
1700
|
+
* the normal case (the wellbeing screen changes one toggle), and an empty body is
|
|
1701
|
+
* a mistake worth naming rather than a no-op worth accepting.
|
|
1702
|
+
*/
|
|
1703
|
+
export declare const ReviewerPreferencesUpdateSchema: z.ZodObject<{
|
|
1704
|
+
languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1705
|
+
categories: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1706
|
+
integrity: "integrity";
|
|
1707
|
+
harassment: "harassment";
|
|
1708
|
+
hate: "hate";
|
|
1709
|
+
violence: "violence";
|
|
1710
|
+
sexual_content: "sexual_content";
|
|
1711
|
+
child_safety: "child_safety";
|
|
1712
|
+
self_harm: "self_harm";
|
|
1713
|
+
privacy: "privacy";
|
|
1714
|
+
commerce: "commerce";
|
|
1715
|
+
platform_abuse: "platform_abuse";
|
|
1716
|
+
other: "other";
|
|
1717
|
+
}>>>;
|
|
1718
|
+
rulesAccepted: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1719
|
+
isAdult: z.ZodOptional<z.ZodBoolean>;
|
|
1720
|
+
available: z.ZodOptional<z.ZodBoolean>;
|
|
1721
|
+
dailyReviewLimit: z.ZodOptional<z.ZodNumber>;
|
|
1722
|
+
maxSensitivity: z.ZodOptional<z.ZodEnum<{
|
|
1723
|
+
standard: "standard";
|
|
1724
|
+
sensitive: "sensitive";
|
|
1725
|
+
restricted: "restricted";
|
|
1726
|
+
}>>;
|
|
1727
|
+
consentedSensitiveCategories: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1728
|
+
integrity: "integrity";
|
|
1729
|
+
harassment: "harassment";
|
|
1730
|
+
hate: "hate";
|
|
1731
|
+
violence: "violence";
|
|
1732
|
+
sexual_content: "sexual_content";
|
|
1733
|
+
child_safety: "child_safety";
|
|
1734
|
+
self_harm: "self_harm";
|
|
1735
|
+
privacy: "privacy";
|
|
1736
|
+
commerce: "commerce";
|
|
1737
|
+
platform_abuse: "platform_abuse";
|
|
1738
|
+
other: "other";
|
|
1739
|
+
}>>>;
|
|
1740
|
+
declaredConflictApplications: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1741
|
+
principalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1742
|
+
applicationId: z.ZodString;
|
|
1743
|
+
externalPrincipalId: z.ZodString;
|
|
1744
|
+
}, z.core.$strict>>>;
|
|
1745
|
+
}, z.core.$strict>;
|
|
1746
|
+
export type ReviewerPreferencesUpdate = z.infer<typeof ReviewerPreferencesUpdateSchema>;
|
|
1747
|
+
/** `GET /v1/reviewer/training` (§10.3: "list modules and calibration"). */
|
|
1748
|
+
export declare const ReviewerTrainingViewSchema: z.ZodObject<{
|
|
1749
|
+
modules: z.ZodArray<z.ZodObject<{
|
|
1750
|
+
moduleId: z.ZodString;
|
|
1751
|
+
title: z.ZodString;
|
|
1752
|
+
families: z.ZodArray<z.ZodEnum<{
|
|
1753
|
+
integrity: "integrity";
|
|
1754
|
+
harassment: "harassment";
|
|
1755
|
+
hate: "hate";
|
|
1756
|
+
violence: "violence";
|
|
1757
|
+
sexual_content: "sexual_content";
|
|
1758
|
+
child_safety: "child_safety";
|
|
1759
|
+
self_harm: "self_harm";
|
|
1760
|
+
privacy: "privacy";
|
|
1761
|
+
commerce: "commerce";
|
|
1762
|
+
platform_abuse: "platform_abuse";
|
|
1763
|
+
other: "other";
|
|
1764
|
+
}>>;
|
|
1765
|
+
completed: z.ZodBoolean;
|
|
1766
|
+
}, z.core.$strict>>;
|
|
1767
|
+
trainingComplete: z.ZodBoolean;
|
|
1768
|
+
calibrationItems: z.ZodArray<z.ZodObject<{
|
|
1769
|
+
itemId: z.ZodString;
|
|
1770
|
+
text: z.ZodString;
|
|
1771
|
+
}, z.core.$strict>>;
|
|
1772
|
+
calibrationOpen: z.ZodBoolean;
|
|
1773
|
+
calibrationPassedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
1774
|
+
calibrationCurrentUntil: z.ZodNullable<z.ZodISODateTime>;
|
|
1775
|
+
calibrationScore: z.ZodNullable<z.ZodNumber>;
|
|
1776
|
+
calibrationAttempts: z.ZodNumber;
|
|
1777
|
+
calibrationPassScore: z.ZodNumber;
|
|
1778
|
+
}, z.core.$strict>;
|
|
1779
|
+
export type ReviewerTrainingView = z.infer<typeof ReviewerTrainingViewSchema>;
|
|
1780
|
+
/** The body of `POST /v1/reviewer/training/calibration`. */
|
|
1781
|
+
export declare const ReviewerCalibrationSubmissionSchema: z.ZodObject<{
|
|
1782
|
+
answers: z.ZodArray<z.ZodObject<{
|
|
1783
|
+
itemId: z.ZodString;
|
|
1784
|
+
violation: z.ZodBoolean;
|
|
1785
|
+
code: z.ZodOptional<z.ZodEnum<{
|
|
1786
|
+
"integrity.spam": "integrity.spam";
|
|
1787
|
+
"integrity.scam": "integrity.scam";
|
|
1788
|
+
"integrity.fraud": "integrity.fraud";
|
|
1789
|
+
"integrity.impersonation": "integrity.impersonation";
|
|
1790
|
+
"integrity.coordinated_manipulation": "integrity.coordinated_manipulation";
|
|
1791
|
+
"harassment.insult": "harassment.insult";
|
|
1792
|
+
"harassment.targeted_abuse": "harassment.targeted_abuse";
|
|
1793
|
+
"harassment.sexual_harassment": "harassment.sexual_harassment";
|
|
1794
|
+
"harassment.doxxing": "harassment.doxxing";
|
|
1795
|
+
"harassment.credible_threat": "harassment.credible_threat";
|
|
1796
|
+
"hate.dehumanization": "hate.dehumanization";
|
|
1797
|
+
"hate.slur": "hate.slur";
|
|
1798
|
+
"hate.incitement": "hate.incitement";
|
|
1799
|
+
"hate.protected_targeting": "hate.protected_targeting";
|
|
1800
|
+
"violence.graphic": "violence.graphic";
|
|
1801
|
+
"violence.threat": "violence.threat";
|
|
1802
|
+
"violence.instruction": "violence.instruction";
|
|
1803
|
+
"violence.celebration": "violence.celebration";
|
|
1804
|
+
"sexual_content.nudity": "sexual_content.nudity";
|
|
1805
|
+
"sexual_content.explicit_activity": "sexual_content.explicit_activity";
|
|
1806
|
+
"sexual_content.non_consensual": "sexual_content.non_consensual";
|
|
1807
|
+
"sexual_content.exploitation": "sexual_content.exploitation";
|
|
1808
|
+
"child_safety.sexualization": "child_safety.sexualization";
|
|
1809
|
+
"child_safety.grooming": "child_safety.grooming";
|
|
1810
|
+
"child_safety.exploitation": "child_safety.exploitation";
|
|
1811
|
+
"self_harm.promotion": "self_harm.promotion";
|
|
1812
|
+
"self_harm.instruction": "self_harm.instruction";
|
|
1813
|
+
"self_harm.imminent_risk": "self_harm.imminent_risk";
|
|
1814
|
+
"privacy.personal_information": "privacy.personal_information";
|
|
1815
|
+
"privacy.intimate_media": "privacy.intimate_media";
|
|
1816
|
+
"privacy.location_exposure": "privacy.location_exposure";
|
|
1817
|
+
"commerce.prohibited_item": "commerce.prohibited_item";
|
|
1818
|
+
"commerce.counterfeit": "commerce.counterfeit";
|
|
1819
|
+
"commerce.misleading_listing": "commerce.misleading_listing";
|
|
1820
|
+
"commerce.unsafe_product": "commerce.unsafe_product";
|
|
1821
|
+
"platform_abuse.ban_evasion": "platform_abuse.ban_evasion";
|
|
1822
|
+
"platform_abuse.report_abuse": "platform_abuse.report_abuse";
|
|
1823
|
+
"platform_abuse.automation_abuse": "platform_abuse.automation_abuse";
|
|
1824
|
+
"other.policy_specific": "other.policy_specific";
|
|
1825
|
+
"other.unclassifiable": "other.unclassifiable";
|
|
1826
|
+
}>>;
|
|
1827
|
+
}, z.core.$strict>>;
|
|
1828
|
+
}, z.core.$strict>;
|
|
1829
|
+
export type ReviewerCalibrationSubmission = z.infer<typeof ReviewerCalibrationSubmissionSchema>;
|
|
1830
|
+
/**
|
|
1831
|
+
* What a graded attempt reports back.
|
|
1832
|
+
*
|
|
1833
|
+
* The score and which items were wrong, never which answer was right — see
|
|
1834
|
+
* `calibrationItems` above.
|
|
1835
|
+
*/
|
|
1836
|
+
export declare const ReviewerCalibrationResultViewSchema: z.ZodObject<{
|
|
1837
|
+
passed: z.ZodBoolean;
|
|
1838
|
+
score: z.ZodNumber;
|
|
1839
|
+
incorrectItemIds: z.ZodArray<z.ZodString>;
|
|
1840
|
+
state: z.ZodEnum<{
|
|
1841
|
+
applicant: "applicant";
|
|
1842
|
+
calibrating: "calibrating";
|
|
1843
|
+
community: "community";
|
|
1844
|
+
trusted: "trusted";
|
|
1845
|
+
specialist: "specialist";
|
|
1846
|
+
appeals: "appeals";
|
|
1847
|
+
suspended: "suspended";
|
|
1848
|
+
}>;
|
|
1849
|
+
}, z.core.$strict>;
|
|
1850
|
+
export type ReviewerCalibrationResultView = z.infer<typeof ReviewerCalibrationResultViewSchema>;
|
|
1851
|
+
export declare const REVIEW_HISTORY_PAGE_SIZE_MAX = 50;
|
|
1852
|
+
export declare const REVIEW_HISTORY_PAGE_SIZE_DEFAULT = 20;
|
|
1853
|
+
/**
|
|
1854
|
+
* §4.1's "Historial" — one completed review as its author may see it back.
|
|
1855
|
+
*
|
|
1856
|
+
* `outcome` is the reviewer's OWN submitted outcome. `decision` is populated only
|
|
1857
|
+
* once a decision has been PUBLISHED for the revision this reviewer judged, and
|
|
1858
|
+
* carries the outcome and the moment and nothing else — no agreement figure, no
|
|
1859
|
+
* jury size, no vote count, no findings. §4.1 asks the history to show "results
|
|
1860
|
+
* that may already be revealed"; §9.1 forbids previous votes and partial results.
|
|
1861
|
+
* Both hold: a published decision is not partial, and an agreement ratio IS a
|
|
1862
|
+
* tally, so it has no field here rather than merely being left unset.
|
|
1863
|
+
*/
|
|
1864
|
+
export declare const ReviewHistoryEntrySchema: z.ZodObject<{
|
|
1865
|
+
reviewId: z.ZodString;
|
|
1866
|
+
submittedAt: z.ZodISODateTime;
|
|
1867
|
+
families: z.ZodArray<z.ZodEnum<{
|
|
1868
|
+
integrity: "integrity";
|
|
1869
|
+
harassment: "harassment";
|
|
1870
|
+
hate: "hate";
|
|
1871
|
+
violence: "violence";
|
|
1872
|
+
sexual_content: "sexual_content";
|
|
1873
|
+
child_safety: "child_safety";
|
|
1874
|
+
self_harm: "self_harm";
|
|
1875
|
+
privacy: "privacy";
|
|
1876
|
+
commerce: "commerce";
|
|
1877
|
+
platform_abuse: "platform_abuse";
|
|
1878
|
+
other: "other";
|
|
1879
|
+
}>>;
|
|
1880
|
+
language: z.ZodNullable<z.ZodString>;
|
|
1881
|
+
outcome: z.ZodEnum<{
|
|
1882
|
+
violation: "violation";
|
|
1883
|
+
no_violation: "no_violation";
|
|
1884
|
+
insufficient_context: "insufficient_context";
|
|
1885
|
+
content_unavailable: "content_unavailable";
|
|
1886
|
+
}>;
|
|
1887
|
+
decision: z.ZodNullable<z.ZodObject<{
|
|
1888
|
+
outcome: z.ZodEnum<{
|
|
1889
|
+
violation: "violation";
|
|
1890
|
+
no_violation: "no_violation";
|
|
1891
|
+
insufficient_context: "insufficient_context";
|
|
1892
|
+
content_unavailable: "content_unavailable";
|
|
1893
|
+
inconclusive: "inconclusive";
|
|
1894
|
+
duplicate: "duplicate";
|
|
1895
|
+
escalated: "escalated";
|
|
1896
|
+
}>;
|
|
1897
|
+
publishedAt: z.ZodISODateTime;
|
|
1898
|
+
}, z.core.$strict>>;
|
|
1899
|
+
}, z.core.$strict>;
|
|
1900
|
+
export type ReviewHistoryEntry = z.infer<typeof ReviewHistoryEntrySchema>;
|
|
1901
|
+
/** `GET /v1/reviewer/reviews`. */
|
|
1902
|
+
export declare const ReviewHistoryPageSchema: z.ZodObject<{
|
|
1903
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
1904
|
+
reviewId: z.ZodString;
|
|
1905
|
+
submittedAt: z.ZodISODateTime;
|
|
1906
|
+
families: z.ZodArray<z.ZodEnum<{
|
|
1907
|
+
integrity: "integrity";
|
|
1908
|
+
harassment: "harassment";
|
|
1909
|
+
hate: "hate";
|
|
1910
|
+
violence: "violence";
|
|
1911
|
+
sexual_content: "sexual_content";
|
|
1912
|
+
child_safety: "child_safety";
|
|
1913
|
+
self_harm: "self_harm";
|
|
1914
|
+
privacy: "privacy";
|
|
1915
|
+
commerce: "commerce";
|
|
1916
|
+
platform_abuse: "platform_abuse";
|
|
1917
|
+
other: "other";
|
|
1918
|
+
}>>;
|
|
1919
|
+
language: z.ZodNullable<z.ZodString>;
|
|
1920
|
+
outcome: z.ZodEnum<{
|
|
1921
|
+
violation: "violation";
|
|
1922
|
+
no_violation: "no_violation";
|
|
1923
|
+
insufficient_context: "insufficient_context";
|
|
1924
|
+
content_unavailable: "content_unavailable";
|
|
1925
|
+
}>;
|
|
1926
|
+
decision: z.ZodNullable<z.ZodObject<{
|
|
1927
|
+
outcome: z.ZodEnum<{
|
|
1928
|
+
violation: "violation";
|
|
1929
|
+
no_violation: "no_violation";
|
|
1930
|
+
insufficient_context: "insufficient_context";
|
|
1931
|
+
content_unavailable: "content_unavailable";
|
|
1932
|
+
inconclusive: "inconclusive";
|
|
1933
|
+
duplicate: "duplicate";
|
|
1934
|
+
escalated: "escalated";
|
|
1935
|
+
}>;
|
|
1936
|
+
publishedAt: z.ZodISODateTime;
|
|
1937
|
+
}, z.core.$strict>>;
|
|
1938
|
+
}, z.core.$strict>>;
|
|
1939
|
+
nextCursor: z.ZodNullable<z.ZodString>;
|
|
1940
|
+
}, z.core.$strict>;
|
|
1941
|
+
export type ReviewHistoryPage = z.infer<typeof ReviewHistoryPageSchema>;
|
|
1942
|
+
/**
|
|
1943
|
+
* The query of `GET /v1/reviewer/reviews`.
|
|
1944
|
+
*
|
|
1945
|
+
* The cursor is opaque to the client and meaningful to the server, which is what
|
|
1946
|
+
* lets the pagination change without a client change. It is not an offset: a
|
|
1947
|
+
* reviewer submitting a review between two pages would shift every offset by one
|
|
1948
|
+
* and silently skip an entry — in a list whose only purpose is somebody checking
|
|
1949
|
+
* their own record.
|
|
1950
|
+
*/
|
|
1951
|
+
export declare const ReviewHistoryQuerySchema: z.ZodObject<{
|
|
1952
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
1953
|
+
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
1954
|
+
}, z.core.$strict>;
|
|
1955
|
+
export type ReviewHistoryQuery = z.infer<typeof ReviewHistoryQuerySchema>;
|
|
1956
|
+
//# sourceMappingURL=reviewer-surface.d.ts.map
|