@cookiemunch/sdk 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/LICENSE +21 -0
- package/dist/index.cjs +25 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +483 -10
- package/dist/index.d.ts +483 -10
- package/dist/index.js +24 -3
- package/dist/index.js.map +1 -1
- package/package.json +14 -6
package/dist/index.d.cts
CHANGED
|
@@ -57,6 +57,144 @@ interface Site {
|
|
|
57
57
|
cbid: string;
|
|
58
58
|
orgId: string;
|
|
59
59
|
domain: string;
|
|
60
|
+
/** The business name data subjects see on the rights page, in notices and the policy. Absent: the domain is shown. */
|
|
61
|
+
name?: string;
|
|
62
|
+
/** Other hosts serving the site: accepted consent-ingest origins, never verified claims. */
|
|
63
|
+
aliases?: string[];
|
|
64
|
+
verified?: boolean;
|
|
65
|
+
}
|
|
66
|
+
/** PATCH /v1/sites/{cbid} — rename or move a site. `name: null` clears the name; `aliases: []` clears them. */
|
|
67
|
+
interface SiteUpdate {
|
|
68
|
+
domain?: string;
|
|
69
|
+
name?: string | null;
|
|
70
|
+
aliases?: string[];
|
|
71
|
+
}
|
|
72
|
+
interface SiteUpdateResult {
|
|
73
|
+
dryRun?: true;
|
|
74
|
+
site: Site;
|
|
75
|
+
diff: Array<{
|
|
76
|
+
field: 'domain' | 'name' | 'aliases' | 'verified';
|
|
77
|
+
before: unknown;
|
|
78
|
+
after: unknown;
|
|
79
|
+
}>;
|
|
80
|
+
effects: {
|
|
81
|
+
/** `reset`: the domain moved; verify the new one. */
|
|
82
|
+
verification: 'kept' | 'reset';
|
|
83
|
+
scanTarget: string;
|
|
84
|
+
previewDefaultUrl: string;
|
|
85
|
+
displayName: string;
|
|
86
|
+
/** Custom rights-page hostnames no longer under the domain or an alias (left in place). */
|
|
87
|
+
staleRightsDomains: string[];
|
|
88
|
+
};
|
|
89
|
+
warnings?: Array<{
|
|
90
|
+
field: string;
|
|
91
|
+
reason: string;
|
|
92
|
+
}>;
|
|
93
|
+
}
|
|
94
|
+
/** One row of GET /v1/integration-health. `ok: null` = the check could not run (see `detail`). */
|
|
95
|
+
interface HealthRow {
|
|
96
|
+
check: string;
|
|
97
|
+
ok: boolean | null;
|
|
98
|
+
severity: 'error' | 'warning' | 'info';
|
|
99
|
+
subject: string;
|
|
100
|
+
fixHint?: string;
|
|
101
|
+
detail?: string;
|
|
102
|
+
lastCheckedAt: number;
|
|
103
|
+
}
|
|
104
|
+
interface IntegrationHealthReport {
|
|
105
|
+
cbid: string;
|
|
106
|
+
checkedAt: number;
|
|
107
|
+
ok: boolean;
|
|
108
|
+
counts: {
|
|
109
|
+
error: number;
|
|
110
|
+
warning: number;
|
|
111
|
+
notChecked: number;
|
|
112
|
+
};
|
|
113
|
+
checks: HealthRow[];
|
|
114
|
+
}
|
|
115
|
+
/** POST /v1/provision. Secrets are used for the request only and never returned. */
|
|
116
|
+
interface ProvisionRequest {
|
|
117
|
+
product: string;
|
|
118
|
+
domain: string;
|
|
119
|
+
name?: string;
|
|
120
|
+
aliases?: string[];
|
|
121
|
+
cbid?: string;
|
|
122
|
+
/** `frontendApiHost` (e.g. auth.example.com) lets provision declare Atlas's sign-in cookies on the site. */
|
|
123
|
+
atlas?: {
|
|
124
|
+
secretKey: string;
|
|
125
|
+
cookieConsent?: boolean;
|
|
126
|
+
dsrWebhook?: boolean;
|
|
127
|
+
frontendApiHost?: string;
|
|
128
|
+
};
|
|
129
|
+
forumulate?: {
|
|
130
|
+
token: string;
|
|
131
|
+
orgId: string;
|
|
132
|
+
consent?: boolean;
|
|
133
|
+
executorKey?: boolean;
|
|
134
|
+
label?: string;
|
|
135
|
+
};
|
|
136
|
+
rightsApi?: {
|
|
137
|
+
baseUrl: string;
|
|
138
|
+
secretKey: string;
|
|
139
|
+
profilePreset?: string;
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
interface ProvisionStep {
|
|
143
|
+
step: string;
|
|
144
|
+
status: 'created' | 'updated' | 'unchanged' | 'would_create' | 'would_update' | 'skipped' | 'waiting' | 'failed' | 'passed';
|
|
145
|
+
detail?: string;
|
|
146
|
+
diff?: Array<{
|
|
147
|
+
field: string;
|
|
148
|
+
before: unknown;
|
|
149
|
+
after: unknown;
|
|
150
|
+
}>;
|
|
151
|
+
waitingOn?: string;
|
|
152
|
+
}
|
|
153
|
+
interface ProvisionResult {
|
|
154
|
+
dryRun: boolean;
|
|
155
|
+
product: string;
|
|
156
|
+
cbid: string | null;
|
|
157
|
+
steps: ProvisionStep[];
|
|
158
|
+
summary: {
|
|
159
|
+
changed: number;
|
|
160
|
+
unchanged: number;
|
|
161
|
+
waiting: number;
|
|
162
|
+
failed: number;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
type PartnerId = 'forumulate' | 'atlas';
|
|
166
|
+
interface PartnerLinkCreate {
|
|
167
|
+
partner: PartnerId;
|
|
168
|
+
/** The partner's id for the receiving account (a Forumulate organisation id, an Atlas instance id). */
|
|
169
|
+
externalId: string;
|
|
170
|
+
label?: string;
|
|
171
|
+
events?: Array<'consent.recorded' | 'consent.withdrawn'>;
|
|
172
|
+
}
|
|
173
|
+
interface PartnerLink {
|
|
174
|
+
id: string;
|
|
175
|
+
cbid: string;
|
|
176
|
+
partner: PartnerId;
|
|
177
|
+
externalId: string;
|
|
178
|
+
label?: string;
|
|
179
|
+
events: string[];
|
|
180
|
+
status: 'active' | 'waiting_on_partner' | 'revoked';
|
|
181
|
+
/** e.g. "Forumulate (docs) — receiving consent events". */
|
|
182
|
+
summary: string;
|
|
183
|
+
waitingOn?: string;
|
|
184
|
+
createdAt: number;
|
|
185
|
+
createdBy?: string;
|
|
186
|
+
revokedAt?: number;
|
|
187
|
+
revokedBy?: string | null;
|
|
188
|
+
lastDeliveryAt: number | null;
|
|
189
|
+
lastError: string | null;
|
|
190
|
+
}
|
|
191
|
+
interface PartnerCatalogEntry {
|
|
192
|
+
id: PartnerId;
|
|
193
|
+
label: string;
|
|
194
|
+
externalIdLabel: string;
|
|
195
|
+
events: string[];
|
|
196
|
+
available: boolean;
|
|
197
|
+
waitingOn?: string;
|
|
60
198
|
}
|
|
61
199
|
interface SiteCreate {
|
|
62
200
|
domain: string;
|
|
@@ -110,7 +248,10 @@ interface DsarRequest {
|
|
|
110
248
|
dueAt: number;
|
|
111
249
|
/** Where the subject said they are, when the intake captured it. */
|
|
112
250
|
jurisdiction?: string;
|
|
251
|
+
/** INTERNAL: intake note plus the audit lines `/erase` and `/export` append. Never shown to the subject. */
|
|
113
252
|
note?: string;
|
|
253
|
+
/** The line the subject reads in the response notice. */
|
|
254
|
+
messageToSubject?: string;
|
|
114
255
|
/** A test request: off the SLA board, labelled, and deletable with `dsar.delete`. A closed request can be marked one with `dsar.markTest`. */
|
|
115
256
|
test?: boolean;
|
|
116
257
|
}
|
|
@@ -158,7 +299,10 @@ interface DsarCreate {
|
|
|
158
299
|
* shares one `regulation` for the deadline.
|
|
159
300
|
*/
|
|
160
301
|
jurisdiction?: string;
|
|
302
|
+
/** INTERNAL: kept on the request, never shown to the subject. */
|
|
161
303
|
note?: string;
|
|
304
|
+
/** The one free-text line the subject reads in the notice (≤2000 chars; an API key or key prefix is refused). */
|
|
305
|
+
messageToSubject?: string;
|
|
162
306
|
/** The property this request belongs to; decides which connected systems answer it. */
|
|
163
307
|
cbid?: string;
|
|
164
308
|
/** The subject's consent-receipt id. */
|
|
@@ -256,12 +400,24 @@ declare function verifyWebhookSignature(input: VerifyWebhookInput): boolean;
|
|
|
256
400
|
* const sites = await fc.sites.list();
|
|
257
401
|
*/
|
|
258
402
|
|
|
403
|
+
/**
|
|
404
|
+
* This package's version, sent in the default User-Agent. Cloudflare answers a request with
|
|
405
|
+
* no recognisable User-Agent with `403 error code: 1010`; a test pins this to package.json.
|
|
406
|
+
*/
|
|
407
|
+
declare const SDK_VERSION = "0.4.1";
|
|
259
408
|
interface CookieMunchOptions {
|
|
260
409
|
apiKey: string;
|
|
261
410
|
/** "https://api.cookiemunch.net" — the /v1 prefix is appended automatically. */
|
|
262
411
|
baseUrl: string;
|
|
263
412
|
/** Injectable for tests / custom runtimes. Defaults to the global fetch. */
|
|
264
413
|
fetch?: typeof fetch;
|
|
414
|
+
/**
|
|
415
|
+
* Send `Prefer: strict-unknown-fields` on every write: a body field the operation does not
|
|
416
|
+
* declare is refused (`400 unknown_field`, with `field`) instead of ignored. Catches typos.
|
|
417
|
+
*/
|
|
418
|
+
strictUnknownFields?: boolean;
|
|
419
|
+
/** The `User-Agent` sent on every request. Default `cookiemunch-js/<version>`. */
|
|
420
|
+
userAgent?: string;
|
|
265
421
|
}
|
|
266
422
|
/**
|
|
267
423
|
* Thrown for any non-2xx response. `message` is the server's `error` field when present;
|
|
@@ -299,9 +455,12 @@ interface CategorizedCookie {
|
|
|
299
455
|
/**
|
|
300
456
|
* Why a person should look at it. Visitors see unclassified and category ones under
|
|
301
457
|
* "Unclassified"; `retired_but_seen` = retired, but a crawl or a visit saw it since, so the
|
|
302
|
-
* site still sets it and it is listed again.
|
|
458
|
+
* site still sets it and it is listed again. `awaiting_corroboration` / `suspicious_report` =
|
|
459
|
+
* only visitors reported it (not enough of them yet, or in one injection-shaped report), owner
|
|
460
|
+
* views only; `foreign_cmp` = another consent platform's cookie, filed unclassified;
|
|
461
|
+
* `not_seen_recently` = unseen for the site's `staleAfterDays`, owner views only.
|
|
303
462
|
*/
|
|
304
|
-
review?: 'unclassified' | 'category_disabled' | 'category_unknown' | 'retired_but_seen';
|
|
463
|
+
review?: 'unclassified' | 'category_disabled' | 'category_unknown' | 'retired_but_seen' | 'awaiting_corroboration' | 'suspicious_report' | 'foreign_cmp' | 'not_seen_recently';
|
|
305
464
|
/** Epoch-ms a crawl or a real visit last saw it. Absent on older rows. */
|
|
306
465
|
lastSeenAt?: number;
|
|
307
466
|
/** Owner views only: the site owner retired this cookie (see `sites.retireCookie`). */
|
|
@@ -312,7 +471,21 @@ interface CategorizedCookie {
|
|
|
312
471
|
by?: string;
|
|
313
472
|
pattern?: string;
|
|
314
473
|
};
|
|
315
|
-
|
|
474
|
+
/** A cookie (default, also when absent) or a key in browser storage. */
|
|
475
|
+
type?: StorageType;
|
|
476
|
+
/** Where the row came from: a real visit, a crawl, the owner (`api`) or a vendor preset (`import`). */
|
|
477
|
+
source?: 'embed' | 'scan' | 'api' | 'import';
|
|
478
|
+
/** Epoch-ms it was first stored. Absent on rows from before provenance was recorded. */
|
|
479
|
+
firstSeen?: number;
|
|
480
|
+
/** Distinct visits that reported it. */
|
|
481
|
+
visits?: number;
|
|
482
|
+
/** Owner views only: reported by a real visit, but not yet by enough distinct visits to be listed publicly. */
|
|
483
|
+
quarantined?: boolean;
|
|
484
|
+
/** "Declared by <vendor>": the vendor preset that declared it. */
|
|
485
|
+
vendor?: string;
|
|
486
|
+
}
|
|
487
|
+
/** What a declaration row describes. */
|
|
488
|
+
type StorageType = 'cookie' | 'localStorage' | 'sessionStorage' | 'indexedDB';
|
|
316
489
|
/** A cookie the site owner retired: the site renamed or stopped setting it. */
|
|
317
490
|
interface RetiredCookie {
|
|
318
491
|
/** Exact name, or a `prefix*` wildcard. */
|
|
@@ -353,11 +526,72 @@ interface DeclaredCookieInput {
|
|
|
353
526
|
domain?: string;
|
|
354
527
|
/** Treat the name as a prefix wildcard (a trailing `*` does the same). */
|
|
355
528
|
pattern?: boolean;
|
|
529
|
+
/** A cookie (default) or a key in localStorage, sessionStorage or IndexedDB. */
|
|
530
|
+
type?: StorageType;
|
|
356
531
|
}
|
|
357
532
|
/** A stored declaration. */
|
|
358
533
|
interface DeclaredCookie extends DeclaredCookieInput {
|
|
359
534
|
name: string;
|
|
360
535
|
updatedAt: number;
|
|
536
|
+
/** `import` when a vendor preset wrote it. */
|
|
537
|
+
source?: 'import';
|
|
538
|
+
/** The vendor whose preset declared it. */
|
|
539
|
+
vendor?: string;
|
|
540
|
+
}
|
|
541
|
+
/** A platform whose cookies and storage a preset declares. */
|
|
542
|
+
type CookiePresetVendor = 'atlas' | 'forumulate' | 'chatly' | 'cookiemunch' | 'referally';
|
|
543
|
+
/** Where a vendor's live manifest will come from, and whether it exists yet. */
|
|
544
|
+
interface CookiePresetManifest {
|
|
545
|
+
status: 'builtin' | 'waiting_on_vendor';
|
|
546
|
+
waitingOn?: string;
|
|
547
|
+
item?: string;
|
|
548
|
+
contract?: string;
|
|
549
|
+
}
|
|
550
|
+
/** Preset parameters: Atlas `frontendApiHost`/`crossSubdomainCookies`; Chatly `publicId`/`dragging`/`category`; Referally `cookieDomain`/`cookieDays`/`category`. */
|
|
551
|
+
interface CookiePresetParams {
|
|
552
|
+
frontendApiHost?: string;
|
|
553
|
+
crossSubdomainCookies?: boolean;
|
|
554
|
+
publicId?: string;
|
|
555
|
+
dragging?: boolean;
|
|
556
|
+
category?: string;
|
|
557
|
+
cookieDomain?: string;
|
|
558
|
+
cookieDays?: number;
|
|
559
|
+
}
|
|
560
|
+
/** One preset in GET /v1/sites/:cbid/cookies/presets. */
|
|
561
|
+
interface CookiePreset {
|
|
562
|
+
vendor: CookiePresetVendor;
|
|
563
|
+
params: Array<{
|
|
564
|
+
name: string;
|
|
565
|
+
type: string;
|
|
566
|
+
required: boolean;
|
|
567
|
+
description?: string;
|
|
568
|
+
}>;
|
|
569
|
+
applied: boolean;
|
|
570
|
+
declared: string[];
|
|
571
|
+
manifest: CookiePresetManifest;
|
|
572
|
+
}
|
|
573
|
+
/** What applying a preset declared. */
|
|
574
|
+
interface CookiePresetResult {
|
|
575
|
+
vendor: CookiePresetVendor;
|
|
576
|
+
cookies: DeclaredCookie[];
|
|
577
|
+
removed: string[];
|
|
578
|
+
skipped?: Array<{
|
|
579
|
+
name: string;
|
|
580
|
+
reason: string;
|
|
581
|
+
}>;
|
|
582
|
+
note?: string;
|
|
583
|
+
manifest: CookiePresetManifest;
|
|
584
|
+
dryRun?: true;
|
|
585
|
+
declared?: DeclaredCookie[];
|
|
586
|
+
diff?: DeclarationDiff;
|
|
587
|
+
}
|
|
588
|
+
/** What removing observed rows removed (or, with `dryRun`, would). */
|
|
589
|
+
interface ObservedPurgeResult {
|
|
590
|
+
removed: string[];
|
|
591
|
+
count: number;
|
|
592
|
+
since?: number;
|
|
593
|
+
until?: number;
|
|
594
|
+
dryRun?: true;
|
|
361
595
|
}
|
|
362
596
|
/** What a declaration write would change (`dryRun`). */
|
|
363
597
|
interface DeclarationDiff {
|
|
@@ -418,6 +652,8 @@ interface ScanStatus {
|
|
|
418
652
|
cookieCount?: number;
|
|
419
653
|
keptFromEarlier?: number;
|
|
420
654
|
pagesVisited?: number;
|
|
655
|
+
/** Where the site's address redirected to (its canonical host), when it did. */
|
|
656
|
+
finalUrl?: string;
|
|
421
657
|
/** Why it failed. */
|
|
422
658
|
error?: string;
|
|
423
659
|
}
|
|
@@ -740,9 +976,12 @@ interface RightsLinkInput {
|
|
|
740
976
|
}
|
|
741
977
|
/** A signed, single-use link to the hosted rights page for one signed-in person. */
|
|
742
978
|
interface RightsLink {
|
|
979
|
+
/** `https://<customDomain>/?t=…`, or `https://cookiemunch.net/r/<cbid>?t=…` when `customDomain` is null. */
|
|
743
980
|
url: string;
|
|
744
981
|
/** Epoch milliseconds. */
|
|
745
982
|
expiresAt: number;
|
|
983
|
+
/** The site's active custom rights-page host the link opens on, or null. */
|
|
984
|
+
customDomain: string | null;
|
|
746
985
|
}
|
|
747
986
|
/** One DNS record to create, exactly as written. */
|
|
748
987
|
interface DnsRecordInstruction {
|
|
@@ -885,6 +1124,31 @@ interface Member {
|
|
|
885
1124
|
interface ApiKeyPrefix {
|
|
886
1125
|
prefix: string;
|
|
887
1126
|
createdAt?: number;
|
|
1127
|
+
/** Epoch ms the key stops working; null = never. */
|
|
1128
|
+
expiresAt?: number | null;
|
|
1129
|
+
name?: string | null;
|
|
1130
|
+
/** null = full access. */
|
|
1131
|
+
scopes?: string[] | null;
|
|
1132
|
+
cbids?: string[] | null;
|
|
1133
|
+
/** Epoch ms it last authenticated a request (recorded at most hourly); null = not since recording began. */
|
|
1134
|
+
lastUsedAt?: number | null;
|
|
1135
|
+
}
|
|
1136
|
+
/** GET /v1/keys/report — key hygiene. */
|
|
1137
|
+
interface ApiKeyReport {
|
|
1138
|
+
generatedAt: number;
|
|
1139
|
+
unusedDays: number;
|
|
1140
|
+
expiringDays: number;
|
|
1141
|
+
unused: Array<ApiKeyPrefix & {
|
|
1142
|
+
reason: string;
|
|
1143
|
+
}>;
|
|
1144
|
+
broad: Array<ApiKeyPrefix & {
|
|
1145
|
+
reason: string;
|
|
1146
|
+
}>;
|
|
1147
|
+
expiringSoon: Array<ApiKeyPrefix & {
|
|
1148
|
+
reason: string;
|
|
1149
|
+
}>;
|
|
1150
|
+
noExpiry: number;
|
|
1151
|
+
total: number;
|
|
888
1152
|
}
|
|
889
1153
|
/** A newly issued key. `key` is returned ONCE and never again. Returned by keys.issue(). */
|
|
890
1154
|
interface ApiKeyIssued {
|
|
@@ -920,6 +1184,8 @@ interface ApiKeyIssueInput {
|
|
|
920
1184
|
cbids?: string[];
|
|
921
1185
|
/** Expire the key after this many days (1–3650). */
|
|
922
1186
|
expiresInDays?: number;
|
|
1187
|
+
/** Or when it expires: epoch ms or an ISO date-time (not with expiresInDays). Omit both: never. */
|
|
1188
|
+
expiresAt?: number | string;
|
|
923
1189
|
}
|
|
924
1190
|
/** Org usage/quota summary. Matches the server's Usage schema. */
|
|
925
1191
|
interface Usage {
|
|
@@ -1168,6 +1434,8 @@ interface ApiKeyUpdate {
|
|
|
1168
1434
|
name?: string;
|
|
1169
1435
|
scopes?: string[];
|
|
1170
1436
|
cbids?: string[];
|
|
1437
|
+
/** A new expiry (epoch ms or ISO date-time), or null to remove it. */
|
|
1438
|
+
expiresAt?: number | string | null;
|
|
1171
1439
|
}
|
|
1172
1440
|
/** An image to upload: base64 (or a `data:` URL) plus its type. */
|
|
1173
1441
|
interface AssetUpload {
|
|
@@ -1467,6 +1735,11 @@ interface ExecutorProfile {
|
|
|
1467
1735
|
statusPath: string;
|
|
1468
1736
|
values: string[];
|
|
1469
1737
|
};
|
|
1738
|
+
/** How this system says the person was already removed; closes the task as `already_erased`. Checked before `noMatch`. */
|
|
1739
|
+
alreadyErased?: {
|
|
1740
|
+
statusPath: string;
|
|
1741
|
+
values: string[];
|
|
1742
|
+
};
|
|
1470
1743
|
};
|
|
1471
1744
|
/** Response header carrying the system's version, recorded in the task log. Default `X-Version`. */
|
|
1472
1745
|
versionHeader?: string;
|
|
@@ -1500,6 +1773,23 @@ interface ExecutorProfile {
|
|
|
1500
1773
|
failed: string[];
|
|
1501
1774
|
};
|
|
1502
1775
|
idempotencyHeader?: string;
|
|
1776
|
+
/**
|
|
1777
|
+
* An identity platform's app grant, revoked on erasure before anything else: look it up by
|
|
1778
|
+
* `{email}`, then end it with `{grant}`. A test looks it up but never revokes it.
|
|
1779
|
+
*/
|
|
1780
|
+
grantRevoke?: {
|
|
1781
|
+
lookup: {
|
|
1782
|
+
method: 'GET' | 'POST';
|
|
1783
|
+
path: string;
|
|
1784
|
+
body?: unknown;
|
|
1785
|
+
grantIdPath: string;
|
|
1786
|
+
};
|
|
1787
|
+
revoke: {
|
|
1788
|
+
method: 'POST' | 'DELETE';
|
|
1789
|
+
path: string;
|
|
1790
|
+
body?: unknown;
|
|
1791
|
+
};
|
|
1792
|
+
};
|
|
1503
1793
|
/** How that system signs its webhooks, if it sends any. */
|
|
1504
1794
|
webhook?: {
|
|
1505
1795
|
algorithm: 'hmac-sha256';
|
|
@@ -1527,9 +1817,80 @@ interface DsarExecutor {
|
|
|
1527
1817
|
hasWebhookSecret: boolean;
|
|
1528
1818
|
/** Open a sub-task automatically when a request reaches fulfilment. */
|
|
1529
1819
|
auto: boolean;
|
|
1820
|
+
/** What the subject reads on this system's notice line when it holds nothing about them. */
|
|
1821
|
+
subjectNote?: string;
|
|
1530
1822
|
createdAt: number;
|
|
1531
1823
|
/** Where that system should send its completion webhooks. On every connection, secret or not. */
|
|
1532
1824
|
webhookUrl: string;
|
|
1825
|
+
/**
|
|
1826
|
+
* The last canary health check (hourly, and on `testExecutor(id, { canary: true })`). null
|
|
1827
|
+
* until the first; cleared when the address, profile or key changes.
|
|
1828
|
+
*/
|
|
1829
|
+
health: ExecutorHealth | null;
|
|
1830
|
+
/** The preset it was built from; absent when hand-written. */
|
|
1831
|
+
preset?: ExecutorPresetName;
|
|
1832
|
+
presetVersion?: number;
|
|
1833
|
+
/** Newer than `presetVersion`: `upgradeExecutorPreset` applies it. */
|
|
1834
|
+
presetLatestVersion?: number;
|
|
1835
|
+
/** The non-secret params it was built with, e.g. `{ orgId }`. */
|
|
1836
|
+
presetParams?: Record<string, string>;
|
|
1837
|
+
/** How the stored address and profile differ from what its preset version builds. Empty: unmodified. */
|
|
1838
|
+
presetDiff?: ConfigChange[];
|
|
1839
|
+
}
|
|
1840
|
+
/** A connection's last canary health check. */
|
|
1841
|
+
interface ExecutorHealth {
|
|
1842
|
+
lastCheckedAt: number;
|
|
1843
|
+
ok: boolean;
|
|
1844
|
+
verdict: string;
|
|
1845
|
+
/** e.g. `base_url_redirects`, `credential_unavailable`. */
|
|
1846
|
+
code?: string;
|
|
1847
|
+
}
|
|
1848
|
+
/** A preset's name, as `executorPresets()` lists them. Not enumerated here: presets are data. */
|
|
1849
|
+
type ExecutorPresetName = string;
|
|
1850
|
+
/**
|
|
1851
|
+
* Connect a system from a versioned preset instead of a hand-written profile. Each preset
|
|
1852
|
+
* lists the params it takes (`executorPresets()`); a preset waiting on another platform is
|
|
1853
|
+
* refused with `preset_waiting_on_platform`.
|
|
1854
|
+
*/
|
|
1855
|
+
interface DsarExecutorPresetInput {
|
|
1856
|
+
preset: ExecutorPresetName;
|
|
1857
|
+
presetVersion?: number;
|
|
1858
|
+
secretKey: string;
|
|
1859
|
+
system?: string;
|
|
1860
|
+
baseUrl?: string;
|
|
1861
|
+
orgId?: string;
|
|
1862
|
+
atlasIdAppId?: string;
|
|
1863
|
+
webhookSecret?: string;
|
|
1864
|
+
auto?: boolean;
|
|
1865
|
+
cbid?: string;
|
|
1866
|
+
}
|
|
1867
|
+
/** What `upgradeExecutorPreset` takes: a version, a preset to adopt, or params to add. */
|
|
1868
|
+
interface ExecutorPresetUpgrade {
|
|
1869
|
+
preset?: ExecutorPresetName;
|
|
1870
|
+
presetVersion?: number;
|
|
1871
|
+
orgId?: string;
|
|
1872
|
+
atlasIdAppId?: string;
|
|
1873
|
+
}
|
|
1874
|
+
/** The presets, which are usable now, and this org's canary address. */
|
|
1875
|
+
interface ExecutorPresets {
|
|
1876
|
+
canaryEmail: string;
|
|
1877
|
+
presets: Array<{
|
|
1878
|
+
name: ExecutorPresetName;
|
|
1879
|
+
title: string;
|
|
1880
|
+
latestVersion: number;
|
|
1881
|
+
defaultSystem?: string;
|
|
1882
|
+
params: Array<{
|
|
1883
|
+
name: string;
|
|
1884
|
+
required: boolean;
|
|
1885
|
+
description: string;
|
|
1886
|
+
}>;
|
|
1887
|
+
available: boolean;
|
|
1888
|
+
waitingOn?: {
|
|
1889
|
+
platform: string;
|
|
1890
|
+
items: string[];
|
|
1891
|
+
operations: string[];
|
|
1892
|
+
};
|
|
1893
|
+
}>;
|
|
1533
1894
|
}
|
|
1534
1895
|
/** What a connection write would do (`?dryRun=1`). Nothing was stored. */
|
|
1535
1896
|
interface DsarExecutorDryRun {
|
|
@@ -1586,6 +1947,8 @@ interface DsarExecutorInput {
|
|
|
1586
1947
|
*/
|
|
1587
1948
|
webhookSecret?: string;
|
|
1588
1949
|
auto?: boolean;
|
|
1950
|
+
/** What the subject reads when this system holds nothing about them (≤500 chars, never a key). */
|
|
1951
|
+
subjectNote?: string;
|
|
1589
1952
|
/** How to drive it. */
|
|
1590
1953
|
profile: ExecutorProfile;
|
|
1591
1954
|
}
|
|
@@ -1597,6 +1960,8 @@ interface DsarExecutorPatch {
|
|
|
1597
1960
|
secretKey?: string;
|
|
1598
1961
|
webhookSecret?: string | null;
|
|
1599
1962
|
auto?: boolean;
|
|
1963
|
+
/** null removes it. */
|
|
1964
|
+
subjectNote?: string | null;
|
|
1600
1965
|
}
|
|
1601
1966
|
/** One entry in a fulfilment task's status history. */
|
|
1602
1967
|
interface DsarTaskEvent {
|
|
@@ -1609,12 +1974,12 @@ interface DsarTaskEvent {
|
|
|
1609
1974
|
externalRef?: string;
|
|
1610
1975
|
}
|
|
1611
1976
|
/** What a task's answer means for the person. `exported` only once the export was fetched. */
|
|
1612
|
-
type DsarTaskOutcome = 'located' | 'exported' | 'erased' | 'no_record' | 'done_without_artifact' | 'not_applicable';
|
|
1977
|
+
type DsarTaskOutcome = 'located' | 'exported' | 'erased' | 'no_record' | 'done_without_artifact' | 'not_applicable' | 'already_erased' | 'external_identity';
|
|
1613
1978
|
/** One request made to a connected system on a task's behalf, credentials removed. Kept 30 days. */
|
|
1614
1979
|
interface DsarTaskLogEntry {
|
|
1615
1980
|
id?: string;
|
|
1616
1981
|
system?: string;
|
|
1617
|
-
step: 'lookup' | 'open' | 'poll' | 'export';
|
|
1982
|
+
step: 'lookup' | 'open' | 'poll' | 'export' | 'grant';
|
|
1618
1983
|
method: string;
|
|
1619
1984
|
path: string;
|
|
1620
1985
|
/** Absent when the system never answered. */
|
|
@@ -1628,6 +1993,11 @@ interface DsarTaskLogEntry {
|
|
|
1628
1993
|
error?: string;
|
|
1629
1994
|
/** The system's version header on this answer. */
|
|
1630
1995
|
version?: string;
|
|
1996
|
+
/** This answer was a redirect (origin and path; never the query). Only same-origin, method-keeping ones are followed. */
|
|
1997
|
+
redirect?: {
|
|
1998
|
+
status: number;
|
|
1999
|
+
location: string;
|
|
2000
|
+
};
|
|
1631
2001
|
at: number;
|
|
1632
2002
|
}
|
|
1633
2003
|
/** One fulfilment task with its history and its upstream request log. */
|
|
@@ -1673,11 +2043,21 @@ interface ExecutorTestResult {
|
|
|
1673
2043
|
/** One sentence: what a real request would have done. */
|
|
1674
2044
|
verdict: string;
|
|
1675
2045
|
ok: boolean;
|
|
2046
|
+
/** Why not, when there is a code: `base_url_redirects` — the baseUrl redirected; the verdict names the status and target. */
|
|
2047
|
+
code?: string;
|
|
2048
|
+
/** The subject's app grant at an identity platform, when the profile has a grant step. Never revoked by a test. */
|
|
2049
|
+
grant?: string;
|
|
2050
|
+
/** Present when the test used the org canary address, with the address in `email`. */
|
|
2051
|
+
canary?: boolean;
|
|
2052
|
+
email?: string;
|
|
1676
2053
|
/** Every upstream answer, as the system gave it (credentials removed). */
|
|
1677
2054
|
exchanges: DsarTaskLogEntry[];
|
|
1678
2055
|
}
|
|
1679
2056
|
interface ExecutorTestInput {
|
|
1680
|
-
|
|
2057
|
+
/** The address to look up. Required unless `canary` is true. */
|
|
2058
|
+
email?: string;
|
|
2059
|
+
/** Use this org's canary address — no real person. A canary `locate` also updates `health`. */
|
|
2060
|
+
canary?: boolean;
|
|
1681
2061
|
/** Default `locate`. */
|
|
1682
2062
|
operation?: 'locate' | 'export' | 'erase';
|
|
1683
2063
|
/** For `export` only: open a real export and poll it once. An erasure is never sent. */
|
|
@@ -1737,7 +2117,31 @@ interface CookieMunchClient {
|
|
|
1737
2117
|
list(): Promise<Site[]>;
|
|
1738
2118
|
create(input: SiteCreate): Promise<Site>;
|
|
1739
2119
|
get(cbid: string): Promise<Site>;
|
|
2120
|
+
/**
|
|
2121
|
+
* Rename or move a site: domain, display name, aliases. The cbid and the consent ledger stay; a domain
|
|
2122
|
+
* move clears verification. `{ dryRun: true }` answers with the diff and stores nothing.
|
|
2123
|
+
*/
|
|
2124
|
+
update(cbid: string, patch: SiteUpdate, opts?: {
|
|
2125
|
+
dryRun?: boolean;
|
|
2126
|
+
}): Promise<SiteUpdateResult>;
|
|
1740
2127
|
delete(cbid: string): Promise<void>;
|
|
2128
|
+
/** Partner platforms granted this site's consent events, and the partners on offer. */
|
|
2129
|
+
listPartners(cbid: string): Promise<{
|
|
2130
|
+
links: PartnerLink[];
|
|
2131
|
+
partners: PartnerCatalogEntry[];
|
|
2132
|
+
}>;
|
|
2133
|
+
/** Grant a partner (Forumulate, Atlas) the site's consent events — no secret is created. Idempotent. */
|
|
2134
|
+
linkPartner(cbid: string, input: PartnerLinkCreate, opts?: {
|
|
2135
|
+
dryRun?: boolean;
|
|
2136
|
+
}): Promise<{
|
|
2137
|
+
change: 'created' | 'updated' | 'unchanged';
|
|
2138
|
+
link: PartnerLink;
|
|
2139
|
+
dryRun?: true;
|
|
2140
|
+
}>;
|
|
2141
|
+
/** Revoke a partner link: deliveries stop at once. */
|
|
2142
|
+
unlinkPartner(cbid: string, linkId: string): Promise<{
|
|
2143
|
+
link: PartnerLink;
|
|
2144
|
+
}>;
|
|
1741
2145
|
getConfig(cbid: string): Promise<SiteConfig>;
|
|
1742
2146
|
/**
|
|
1743
2147
|
* Replaces the whole config — a top-level field you omit reverts to its default. With
|
|
@@ -1858,6 +2262,43 @@ interface CookieMunchClient {
|
|
|
1858
2262
|
dryRun: true;
|
|
1859
2263
|
retired: RetiredCookie[];
|
|
1860
2264
|
}>;
|
|
2265
|
+
/** Every declaration preset (atlas, forumulate, chatly, cookiemunch, referally): params, what it declared here, manifest status. */
|
|
2266
|
+
cookiePresets(cbid: string): Promise<{
|
|
2267
|
+
presets: CookiePreset[];
|
|
2268
|
+
}>;
|
|
2269
|
+
/**
|
|
2270
|
+
* Apply (or re-sync) a vendor preset: declares what that platform writes, marked
|
|
2271
|
+
* `vendor`. Names you declared yourself are kept (`skipped`). `dryRun` stores nothing.
|
|
2272
|
+
*/
|
|
2273
|
+
applyCookiePreset(cbid: string, vendor: CookiePresetVendor, params?: CookiePresetParams, opts?: {
|
|
2274
|
+
dryRun?: boolean;
|
|
2275
|
+
}): Promise<CookiePresetResult>;
|
|
2276
|
+
/** Remove every declaration a vendor preset made. */
|
|
2277
|
+
removeCookiePreset(cbid: string, vendor: CookiePresetVendor, opts?: {
|
|
2278
|
+
dryRun?: boolean;
|
|
2279
|
+
}): Promise<{
|
|
2280
|
+
vendor: CookiePresetVendor;
|
|
2281
|
+
removed: string[];
|
|
2282
|
+
dryRun?: true;
|
|
2283
|
+
declared?: DeclaredCookie[];
|
|
2284
|
+
diff?: DeclarationDiff;
|
|
2285
|
+
}>;
|
|
2286
|
+
/** Remove every stored (scanned or observed) row of this name. A declaration of it stays. */
|
|
2287
|
+
deleteObservedCookie(cbid: string, name: string): Promise<void>;
|
|
2288
|
+
/** What deleting it would remove; nothing is removed. */
|
|
2289
|
+
deleteObservedCookie(cbid: string, name: string, opts: {
|
|
2290
|
+
dryRun: true;
|
|
2291
|
+
}): Promise<ObservedPurgeResult>;
|
|
2292
|
+
/**
|
|
2293
|
+
* Purge observed since T: remove every row a real visit first reported at or after
|
|
2294
|
+
* `since` (and before `until`). Crawled rows and declarations stay. ISO-8601 or epoch ms.
|
|
2295
|
+
*/
|
|
2296
|
+
purgeObservedCookies(cbid: string, input: {
|
|
2297
|
+
since: string | number;
|
|
2298
|
+
until?: string | number;
|
|
2299
|
+
}, opts?: {
|
|
2300
|
+
dryRun?: boolean;
|
|
2301
|
+
}): Promise<ObservedPurgeResult>;
|
|
1861
2302
|
/** Remove a declaration; the scanned classification applies again. */
|
|
1862
2303
|
undeclareCookie(cbid: string, name: string): Promise<void>;
|
|
1863
2304
|
/** What removing a declaration would leave; nothing is removed. */
|
|
@@ -1941,7 +2382,10 @@ interface CookieMunchClient {
|
|
|
1941
2382
|
create(input: DsarCreate): Promise<{
|
|
1942
2383
|
request: DsarRequest;
|
|
1943
2384
|
}>;
|
|
1944
|
-
|
|
2385
|
+
/** `opts.messageToSubject` replaces the line the subject reads in the notice — for a rejection, why. */
|
|
2386
|
+
advance(id: string, toStatus: DsarStatus, opts?: {
|
|
2387
|
+
messageToSubject?: string;
|
|
2388
|
+
}): Promise<{
|
|
1945
2389
|
request: DsarRequest;
|
|
1946
2390
|
}>;
|
|
1947
2391
|
/** The subject-facing response notice for a request, as plain text. */
|
|
@@ -2213,7 +2657,7 @@ interface CookieMunchClient {
|
|
|
2213
2657
|
* Connect one. The secret is stored encrypted and never returned; the response carries
|
|
2214
2658
|
* the URL to point that system's webhook at.
|
|
2215
2659
|
*/
|
|
2216
|
-
connectExecutor(input: DsarExecutorInput): Promise<DsarExecutorCreated>;
|
|
2660
|
+
connectExecutor(input: DsarExecutorInput | DsarExecutorPresetInput): Promise<DsarExecutorCreated>;
|
|
2217
2661
|
/**
|
|
2218
2662
|
* Change a connection in place. Only what you send changes, and the stored credential
|
|
2219
2663
|
* is kept unless you pass a new `secretKey` — so adding a field to a profile does not
|
|
@@ -2221,7 +2665,22 @@ interface CookieMunchClient {
|
|
|
2221
2665
|
*/
|
|
2222
2666
|
updateExecutor(id: string, patch: DsarExecutorPatch): Promise<DsarExecutor>;
|
|
2223
2667
|
/** What `connectExecutor` would create, validated in full; nothing is stored (`?dryRun=1`). */
|
|
2224
|
-
dryRunConnectExecutor(input: DsarExecutorInput): Promise<DsarExecutorDryRun>;
|
|
2668
|
+
dryRunConnectExecutor(input: DsarExecutorInput | DsarExecutorPresetInput): Promise<DsarExecutorDryRun>;
|
|
2669
|
+
/** The versioned presets, whether each is usable now (or waits on another platform), and the org canary address. */
|
|
2670
|
+
executorPresets(): Promise<ExecutorPresets>;
|
|
2671
|
+
/**
|
|
2672
|
+
* Rebuild a connection from its preset's latest version (or `presetVersion`), keeping its id
|
|
2673
|
+
* and credentials; or adopt a preset on a hand-written one by naming it. Answers with `diff`.
|
|
2674
|
+
*/
|
|
2675
|
+
upgradeExecutorPreset(id: string, input?: ExecutorPresetUpgrade): Promise<DsarExecutor & {
|
|
2676
|
+
diff: ConfigChange[];
|
|
2677
|
+
warnings?: Array<{
|
|
2678
|
+
field: string;
|
|
2679
|
+
reason: string;
|
|
2680
|
+
}>;
|
|
2681
|
+
}>;
|
|
2682
|
+
/** What `upgradeExecutorPreset` would change; nothing is stored (`?dryRun=1`). */
|
|
2683
|
+
dryRunUpgradeExecutorPreset(id: string, input?: ExecutorPresetUpgrade): Promise<DsarExecutorDryRun>;
|
|
2225
2684
|
/** What `updateExecutor` would change, with a diff; the stored connection is untouched (`?dryRun=1`). */
|
|
2226
2685
|
dryRunUpdateExecutor(id: string, patch: DsarExecutorPatch): Promise<DsarExecutorDryRun>;
|
|
2227
2686
|
/**
|
|
@@ -2293,8 +2752,22 @@ interface CookieMunchClient {
|
|
|
2293
2752
|
update(prefix: string, patch: ApiKeyUpdate): Promise<{
|
|
2294
2753
|
ok: true;
|
|
2295
2754
|
}>;
|
|
2755
|
+
/** Key hygiene: keys unused for `unusedDays` (default 90), broad keys, keys expiring within `expiringDays` (default 14). */
|
|
2756
|
+
report(opts?: {
|
|
2757
|
+
unusedDays?: number;
|
|
2758
|
+
expiringDays?: number;
|
|
2759
|
+
}): Promise<ApiKeyReport>;
|
|
2296
2760
|
};
|
|
2297
2761
|
usage(): Promise<Usage>;
|
|
2762
|
+
/** Every link a site's privacy wiring depends on, one row each with `ok` and a fix hint. `cbid` may be omitted with one site. */
|
|
2763
|
+
integrationHealth(cbid?: string): Promise<IntegrationHealthReport>;
|
|
2764
|
+
/**
|
|
2765
|
+
* Wire a product's privacy in one call: the site, connected systems, Atlas and Forumulate. Idempotent;
|
|
2766
|
+
* `{ dryRun: true }` writes nothing anywhere. No secret appears in the answer.
|
|
2767
|
+
*/
|
|
2768
|
+
provision(input: ProvisionRequest, opts?: {
|
|
2769
|
+
dryRun?: boolean;
|
|
2770
|
+
}): Promise<ProvisionResult>;
|
|
2298
2771
|
/** The key's organisation. Requires an unscoped key that is not property-locked. */
|
|
2299
2772
|
org: {
|
|
2300
2773
|
get(): Promise<Org>;
|
|
@@ -2449,4 +2922,4 @@ interface CookieMunchClient {
|
|
|
2449
2922
|
}
|
|
2450
2923
|
declare function createCookieMunch(opts: CookieMunchOptions): CookieMunchClient;
|
|
2451
2924
|
|
|
2452
|
-
export { type AbResult, type AccountOrg, type AccountOrgs, type AdPersonalizationInput, type AiInspectInput, type AiInspectResult, type ApiKey, type ApiKeyIssueInput, type ApiKeyIssued, type ApiKeyPrefix, type ApiKeyUpdate, type AppliedImport, type AssetUpload, type AuditEntry, type BannerRecord, type BannerSummary, type BlockedReport, type BrandExtractionResult, type BrandKit, type BrandKitCreate, type BrandSuggestion, type BulkSiteInput, type BulkSiteResult, type ButtonParityFinding, type ButtonParityLint, type ButtonParityScan, type CategorizedCookie, type ChildKeyInput, type ConfigChange, type ConfigDryRun, type ConfigWarning, type ConsentDay, type ConsentDecisionInput, type ConsentIngestInput, type ConsentLogRow, type CookieDeclaration, CookieMunchApiError, type CookieMunchClient, type CookieMunchOptions, type CspSources, type DeclarationDiff, type DeclarationDryRun, type DeclarationWarning, type DeclaredCookie, type DeclaredCookieInput, type DnsRecordInstruction, type DsarCreate, type DsarEraseResult, type DsarExecutor, type DsarExecutorCreated, type DsarExecutorDryRun, type DsarExecutorInput, type DsarExecutorPatch, type DsarExportResult, type DsarRequest, type DsarStatus, type DsarTask, type DsarTaskEvent, type DsarTaskExport, type DsarTaskLogEntry, type DsarTaskOutcome, type DsarType, type EnforcementRuleInput, type ExecutorProfile, type ExecutorTestInput, type ExecutorTestResult, type ExecutorWebhookDelivery, type ExecutorWebhookTestResult, type FlowIssue, type FlowOp, type FlowOpResponse, type FulfillmentOp, type Identifier, type Identity, type ImportedCookie, type ImportedDeclaration, type InstallSnippet, type LegalBasis, type LogQuery, type MailProvider, type MailProviderInput, type MailProviderKind, type MailProviderTestResult, type Member, type OptInMethod, type Org, type OrgUpdate, type ParityControlSummary, type PlanSource, type PolicyOptions, type PreferenceItem, type PreferenceRecord, type PreviewToken, type PreviewTokenOptions, type ProfileAttributeInput, type PublicDsarFiled, type PublicDsarPending, type PublicVerification, type PutConfigOptions, type RangeQuery, type Regulation, type RegulationSummary, type RegulatoryFeedResult, type ResellerChild, type ResellerChildCreate, type ResellerChildList, type ResellerChildPatch, type RetiredCookie, type RightKind, type RightsCaptcha, type RightsCaptchaInput, type RightsCaptchaProvider, type RightsIdentity, type RightsIdentityInput, type RightsIdentityType, type RightsLink, type RightsLinkInput, type RightsPageDocument, type RightsPageDomain, type RightsPageDomainList, type RightsPageDraft, type RightsPageDraftConflict, type RightsPageDryRun, type RightsPageIssue, type RightsPagePublishResult, type RightsPagePublished, type RightsPagePublisher, type RightsPageVersions, type RightsPageWriteOptions, type RiskScore, type RopaEntry, type RopaInput, type ScanResult, type ScanStatus, type ScoredVendor, type ScrollbarTheme, type SessionAnalysisInput, type SignedReceipt, type Site, type SiteConfig, type SiteCookie, type SiteCreate, type SiteFlow, type SnippetOptions, type SubscriptionTopicInput, type SuggestedRejectStyle, type SupportedLanguage, type Usage, type VendorInput, type VendorRecord, type VerifyResult, type VerifyWebhookInput, type WebhookCreate, type WebhookDeadLetter, type WebhookKeyForm, type WebhookStage, type WebhookSubscription, type WebhookTestResult, type WebhookUpdate, createCookieMunch, verifyWebhookSignature };
|
|
2925
|
+
export { type AbResult, type AccountOrg, type AccountOrgs, type AdPersonalizationInput, type AiInspectInput, type AiInspectResult, type ApiKey, type ApiKeyIssueInput, type ApiKeyIssued, type ApiKeyPrefix, type ApiKeyReport, type ApiKeyUpdate, type AppliedImport, type AssetUpload, type AuditEntry, type BannerRecord, type BannerSummary, type BlockedReport, type BrandExtractionResult, type BrandKit, type BrandKitCreate, type BrandSuggestion, type BulkSiteInput, type BulkSiteResult, type ButtonParityFinding, type ButtonParityLint, type ButtonParityScan, type CategorizedCookie, type ChildKeyInput, type ConfigChange, type ConfigDryRun, type ConfigWarning, type ConsentDay, type ConsentDecisionInput, type ConsentIngestInput, type ConsentLogRow, type CookieDeclaration, CookieMunchApiError, type CookieMunchClient, type CookieMunchOptions, type CookiePreset, type CookiePresetManifest, type CookiePresetParams, type CookiePresetResult, type CookiePresetVendor, type CspSources, type DeclarationDiff, type DeclarationDryRun, type DeclarationWarning, type DeclaredCookie, type DeclaredCookieInput, type DnsRecordInstruction, type DsarCreate, type DsarEraseResult, type DsarExecutor, type DsarExecutorCreated, type DsarExecutorDryRun, type DsarExecutorInput, type DsarExecutorPatch, type DsarExecutorPresetInput, type DsarExportResult, type DsarRequest, type DsarStatus, type DsarTask, type DsarTaskEvent, type DsarTaskExport, type DsarTaskLogEntry, type DsarTaskOutcome, type DsarType, type EnforcementRuleInput, type ExecutorHealth, type ExecutorPresetName, type ExecutorPresetUpgrade, type ExecutorPresets, type ExecutorProfile, type ExecutorTestInput, type ExecutorTestResult, type ExecutorWebhookDelivery, type ExecutorWebhookTestResult, type FlowIssue, type FlowOp, type FlowOpResponse, type FulfillmentOp, type HealthRow, type Identifier, type Identity, type ImportedCookie, type ImportedDeclaration, type InstallSnippet, type IntegrationHealthReport, type LegalBasis, type LogQuery, type MailProvider, type MailProviderInput, type MailProviderKind, type MailProviderTestResult, type Member, type ObservedPurgeResult, type OptInMethod, type Org, type OrgUpdate, type ParityControlSummary, type PartnerCatalogEntry, type PartnerId, type PartnerLink, type PartnerLinkCreate, type PlanSource, type PolicyOptions, type PreferenceItem, type PreferenceRecord, type PreviewToken, type PreviewTokenOptions, type ProfileAttributeInput, type ProvisionRequest, type ProvisionResult, type ProvisionStep, type PublicDsarFiled, type PublicDsarPending, type PublicVerification, type PutConfigOptions, type RangeQuery, type Regulation, type RegulationSummary, type RegulatoryFeedResult, type ResellerChild, type ResellerChildCreate, type ResellerChildList, type ResellerChildPatch, type RetiredCookie, type RightKind, type RightsCaptcha, type RightsCaptchaInput, type RightsCaptchaProvider, type RightsIdentity, type RightsIdentityInput, type RightsIdentityType, type RightsLink, type RightsLinkInput, type RightsPageDocument, type RightsPageDomain, type RightsPageDomainList, type RightsPageDraft, type RightsPageDraftConflict, type RightsPageDryRun, type RightsPageIssue, type RightsPagePublishResult, type RightsPagePublished, type RightsPagePublisher, type RightsPageVersions, type RightsPageWriteOptions, type RiskScore, type RopaEntry, type RopaInput, SDK_VERSION, type ScanResult, type ScanStatus, type ScoredVendor, type ScrollbarTheme, type SessionAnalysisInput, type SignedReceipt, type Site, type SiteConfig, type SiteCookie, type SiteCreate, type SiteFlow, type SiteUpdate, type SiteUpdateResult, type SnippetOptions, type StorageType, type SubscriptionTopicInput, type SuggestedRejectStyle, type SupportedLanguage, type Usage, type VendorInput, type VendorRecord, type VerifyResult, type VerifyWebhookInput, type WebhookCreate, type WebhookDeadLetter, type WebhookKeyForm, type WebhookStage, type WebhookSubscription, type WebhookTestResult, type WebhookUpdate, createCookieMunch, verifyWebhookSignature };
|