@chainpatrol/sdk 0.8.0 → 0.9.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/CHANGELOG.md +111 -0
- package/LICENSE +1 -1
- package/dist/api/index.d.mts +902 -0
- package/dist/api/index.d.ts +902 -0
- package/dist/api/index.js +476 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/index.mjs +422 -0
- package/dist/api/index.mjs.map +1 -0
- package/dist/chunk-4U7ZT42S.mjs +60 -0
- package/dist/chunk-4U7ZT42S.mjs.map +1 -0
- package/dist/chunk-UTEZF4EZ.mjs +1648 -0
- package/dist/chunk-UTEZF4EZ.mjs.map +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +9630 -327
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9624 -377
- package/dist/index.mjs.map +1 -1
- package/dist/skill/cli.d.mts +1 -0
- package/dist/skill/cli.d.ts +1 -0
- package/dist/skill/cli.js +1689 -0
- package/dist/skill/cli.js.map +1 -0
- package/dist/skill/cli.mjs +43 -0
- package/dist/skill/cli.mjs.map +1 -0
- package/dist/skill/index.d.mts +5 -0
- package/dist/skill/index.d.ts +5 -0
- package/dist/skill/index.js +1659 -0
- package/dist/skill/index.js.map +1 -0
- package/dist/skill/index.mjs +14 -0
- package/dist/skill/index.mjs.map +1 -0
- package/package.json +25 -23
|
@@ -0,0 +1,902 @@
|
|
|
1
|
+
type ApiCredential = {
|
|
2
|
+
kind: "api-key";
|
|
3
|
+
value: string;
|
|
4
|
+
} | {
|
|
5
|
+
kind: "bearer";
|
|
6
|
+
value: string;
|
|
7
|
+
};
|
|
8
|
+
type CredentialProvider = () => ApiCredential | Promise<ApiCredential>;
|
|
9
|
+
interface ChainPatrolApiClientOptions {
|
|
10
|
+
baseUrl?: string;
|
|
11
|
+
credential: CredentialProvider;
|
|
12
|
+
timeoutMs?: number;
|
|
13
|
+
}
|
|
14
|
+
interface ConfigEntry {
|
|
15
|
+
id: number;
|
|
16
|
+
title: string;
|
|
17
|
+
status: string;
|
|
18
|
+
cron: string | null;
|
|
19
|
+
config: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
interface DetectionSource {
|
|
22
|
+
source: string;
|
|
23
|
+
scope: "global" | "organization";
|
|
24
|
+
configs: ConfigEntry[];
|
|
25
|
+
}
|
|
26
|
+
interface ApiClient {
|
|
27
|
+
assetCheck: (input: AssetCheckInput) => Promise<AssetCheckResult>;
|
|
28
|
+
assetSearch: (input: AssetSearchInput) => Promise<AssetSearchResult>;
|
|
29
|
+
listAssets: (input: AssetListInput) => Promise<AssetListResult>;
|
|
30
|
+
listDetectionConfigs: (slug: string) => Promise<DetectionSource[]>;
|
|
31
|
+
updateDetectionConfig: (input: DetectionConfigUpdateInput) => Promise<DetectionConfigUpdateResult>;
|
|
32
|
+
runDetectionConfigs: (input: DetectionConfigRunInput) => Promise<DetectionConfigRunResult>;
|
|
33
|
+
validateDetectionConfigs: (input: DetectionConfigValidateInput) => Promise<DetectionConfigValidateResult>;
|
|
34
|
+
getDetectionDrift: (input: DetectionDriftInput) => Promise<DetectionDriftResult>;
|
|
35
|
+
listDetections: (input: DetectionListInput) => Promise<DetectionListResult>;
|
|
36
|
+
getOperationsQueuesSnapshot: (input: OperationsQueuesSnapshotInput) => Promise<OperationsQueuesSnapshotResult>;
|
|
37
|
+
getMetricsSummary: (input: MetricsSummaryInput) => Promise<MetricsSummaryResult>;
|
|
38
|
+
getMetricsFound: (input: MetricsFoundInput) => Promise<MetricsFoundResult>;
|
|
39
|
+
getMetricsBreakdown: (input: MetricsBreakdownInput) => Promise<MetricsBreakdownResult>;
|
|
40
|
+
createReport: (input: ReportCreateInput) => Promise<ReportCreateResult>;
|
|
41
|
+
listOrganizationReports: (input: OrganizationReportsListInput) => Promise<OrganizationReportsListResult>;
|
|
42
|
+
searchReports: (input: ReportsSearchInput) => Promise<ReportsSearchResult>;
|
|
43
|
+
listTakedowns: (input: TakedownsListInput) => Promise<TakedownsListResult>;
|
|
44
|
+
listThreats: (input: ThreatsListInput) => Promise<ThreatsListResult>;
|
|
45
|
+
getOrganizationMetrics: (input: OrganizationMetricsInput) => Promise<OrganizationMetricsResult>;
|
|
46
|
+
listOrganizationAssets: (input: OrganizationAssetsListInput) => Promise<OrganizationAssetsListResult>;
|
|
47
|
+
listOrganizationAssetGroups: () => Promise<OrganizationAssetGroupsListResult>;
|
|
48
|
+
listOrganizationBrands: () => Promise<OrganizationBrandsListResult>;
|
|
49
|
+
listHealthchecks: () => Promise<HealthchecksListResult>;
|
|
50
|
+
runHealthcheck: (endpoint: string, input: Record<string, unknown>) => Promise<HealthcheckResult>;
|
|
51
|
+
getUserOrgs: (input: UserOrgsInput) => Promise<UserOrgsResult>;
|
|
52
|
+
getUserOrg: (input: UserOrgGetInput) => Promise<UserOrgGetResult>;
|
|
53
|
+
getCurrentUser: () => Promise<UserMeResult>;
|
|
54
|
+
validateApiKey: () => Promise<ValidateApiKeyResult>;
|
|
55
|
+
}
|
|
56
|
+
interface AssetCheckInput {
|
|
57
|
+
content: string;
|
|
58
|
+
}
|
|
59
|
+
type AssetCheckStatus = "ALLOWED" | "BLOCKED" | "UNKNOWN";
|
|
60
|
+
interface AssetCheckSourceEntry {
|
|
61
|
+
source: string;
|
|
62
|
+
status: AssetCheckStatus;
|
|
63
|
+
}
|
|
64
|
+
interface AssetCheckResult {
|
|
65
|
+
status: AssetCheckStatus;
|
|
66
|
+
source: string;
|
|
67
|
+
reason?: string;
|
|
68
|
+
sources: AssetCheckSourceEntry[];
|
|
69
|
+
message?: string;
|
|
70
|
+
code?: string;
|
|
71
|
+
watchStatus?: "ENABLED" | "DISABLED";
|
|
72
|
+
}
|
|
73
|
+
interface AssetSearchInput {
|
|
74
|
+
content?: string;
|
|
75
|
+
assetId?: number;
|
|
76
|
+
assetIds?: number[];
|
|
77
|
+
}
|
|
78
|
+
interface AssetSearchResultItem {
|
|
79
|
+
asset: {
|
|
80
|
+
id: number;
|
|
81
|
+
content: string;
|
|
82
|
+
type: string;
|
|
83
|
+
status: string;
|
|
84
|
+
watchStatus: string;
|
|
85
|
+
createdAt: string;
|
|
86
|
+
updatedAt: string;
|
|
87
|
+
} | null;
|
|
88
|
+
reports: Array<{
|
|
89
|
+
id: number;
|
|
90
|
+
title: string | null;
|
|
91
|
+
status: string;
|
|
92
|
+
createdAt: string;
|
|
93
|
+
}>;
|
|
94
|
+
takedown: {
|
|
95
|
+
id: number;
|
|
96
|
+
status: string;
|
|
97
|
+
createdAt: string;
|
|
98
|
+
updatedAt: string;
|
|
99
|
+
tasks: Array<{
|
|
100
|
+
id: number;
|
|
101
|
+
type: string;
|
|
102
|
+
status: string;
|
|
103
|
+
retractionStatus: string;
|
|
104
|
+
externalId: string | null;
|
|
105
|
+
submittedAt: string | null;
|
|
106
|
+
retractedAt: string | null;
|
|
107
|
+
lastResponseAt: string | null;
|
|
108
|
+
createdAt: string;
|
|
109
|
+
updatedAt: string;
|
|
110
|
+
takedownProvider: {
|
|
111
|
+
name: string;
|
|
112
|
+
} | null;
|
|
113
|
+
}>;
|
|
114
|
+
} | null;
|
|
115
|
+
blockedBy: Array<{
|
|
116
|
+
consumer: string;
|
|
117
|
+
name: string | null;
|
|
118
|
+
consumedAt: string;
|
|
119
|
+
}>;
|
|
120
|
+
}
|
|
121
|
+
interface AssetSearchResult extends AssetSearchResultItem {
|
|
122
|
+
results?: AssetSearchResultItem[];
|
|
123
|
+
}
|
|
124
|
+
interface AssetListInput {
|
|
125
|
+
type: string;
|
|
126
|
+
status?: string;
|
|
127
|
+
startDate?: string;
|
|
128
|
+
endDate?: string;
|
|
129
|
+
perPage?: number;
|
|
130
|
+
nextPage?: string;
|
|
131
|
+
}
|
|
132
|
+
interface AssetListItem {
|
|
133
|
+
content: string;
|
|
134
|
+
type: string;
|
|
135
|
+
status: string;
|
|
136
|
+
watchStatus: string;
|
|
137
|
+
updatedAt: string;
|
|
138
|
+
}
|
|
139
|
+
interface AssetListResult {
|
|
140
|
+
assets: AssetListItem[];
|
|
141
|
+
next_page: string | null;
|
|
142
|
+
}
|
|
143
|
+
interface DetectionConfigUpdateInput {
|
|
144
|
+
slug: string;
|
|
145
|
+
configId: number;
|
|
146
|
+
status?: "ENABLED" | "DISABLED";
|
|
147
|
+
title?: string;
|
|
148
|
+
description?: string | null;
|
|
149
|
+
cron?: string | null;
|
|
150
|
+
config?: Record<string, unknown>;
|
|
151
|
+
mergeConfig?: boolean;
|
|
152
|
+
}
|
|
153
|
+
interface DetectionConfigUpdateResult {
|
|
154
|
+
config: {
|
|
155
|
+
id: number;
|
|
156
|
+
source: string;
|
|
157
|
+
status: string;
|
|
158
|
+
title: string;
|
|
159
|
+
description: string | null;
|
|
160
|
+
cron: string | null;
|
|
161
|
+
config: Record<string, unknown>;
|
|
162
|
+
updatedAt: string;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
interface DetectionConfigRunInput {
|
|
166
|
+
slug: string;
|
|
167
|
+
configId?: number;
|
|
168
|
+
source?: string;
|
|
169
|
+
includeDisabled?: boolean;
|
|
170
|
+
}
|
|
171
|
+
interface DetectionConfigRunResult {
|
|
172
|
+
ranCount: number;
|
|
173
|
+
successCount: number;
|
|
174
|
+
failedCount: number;
|
|
175
|
+
results: Array<{
|
|
176
|
+
configId: number;
|
|
177
|
+
source: string;
|
|
178
|
+
ok: boolean;
|
|
179
|
+
message: string | null;
|
|
180
|
+
assetsCount: number;
|
|
181
|
+
}>;
|
|
182
|
+
}
|
|
183
|
+
interface DetectionConfigValidateInput {
|
|
184
|
+
slug: string;
|
|
185
|
+
source?: string;
|
|
186
|
+
minResults?: number;
|
|
187
|
+
lookbackHours?: number;
|
|
188
|
+
runBeforeValidate?: boolean;
|
|
189
|
+
includeDisabled?: boolean;
|
|
190
|
+
}
|
|
191
|
+
interface DetectionConfigValidateResult {
|
|
192
|
+
ok: boolean;
|
|
193
|
+
summary: {
|
|
194
|
+
checkedConfigs: number;
|
|
195
|
+
passingConfigs: number;
|
|
196
|
+
failingConfigs: number;
|
|
197
|
+
lookbackHours: number;
|
|
198
|
+
minResults: number;
|
|
199
|
+
};
|
|
200
|
+
validations: Array<{
|
|
201
|
+
configId: number;
|
|
202
|
+
source: string;
|
|
203
|
+
status: string;
|
|
204
|
+
ran: boolean;
|
|
205
|
+
runOk: boolean;
|
|
206
|
+
runMessage: string | null;
|
|
207
|
+
recentResultCount: number;
|
|
208
|
+
valid: boolean;
|
|
209
|
+
}>;
|
|
210
|
+
}
|
|
211
|
+
interface DetectionDriftInput {
|
|
212
|
+
slug: string;
|
|
213
|
+
lookbackHours?: number;
|
|
214
|
+
startDate?: string;
|
|
215
|
+
endDate?: string;
|
|
216
|
+
source?: string;
|
|
217
|
+
configIds?: number[];
|
|
218
|
+
includeDisabled?: boolean;
|
|
219
|
+
thresholds?: {
|
|
220
|
+
zeroResultsMaxHours?: number;
|
|
221
|
+
noisyResultsPerDay?: number;
|
|
222
|
+
noisyAllowedRatioThreshold?: number;
|
|
223
|
+
staleConfigDays?: number;
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
interface DetectionDriftResult {
|
|
227
|
+
ok: boolean;
|
|
228
|
+
range: {
|
|
229
|
+
startDate: string;
|
|
230
|
+
endDate: string;
|
|
231
|
+
lookbackHours: number;
|
|
232
|
+
};
|
|
233
|
+
thresholds: {
|
|
234
|
+
zeroResultsMaxHours: number;
|
|
235
|
+
noisyResultsPerDay: number;
|
|
236
|
+
noisyAllowedRatioThreshold: number;
|
|
237
|
+
staleConfigDays: number;
|
|
238
|
+
};
|
|
239
|
+
summary: {
|
|
240
|
+
checkedConfigs: number;
|
|
241
|
+
signalCount: number;
|
|
242
|
+
zeroResultsCount: number;
|
|
243
|
+
noisyCount: number;
|
|
244
|
+
staleCount: number;
|
|
245
|
+
};
|
|
246
|
+
signals: Array<{
|
|
247
|
+
signal: "zero_results_too_long" | "noisy_source" | "stale_query";
|
|
248
|
+
configId: number;
|
|
249
|
+
source: string;
|
|
250
|
+
title: string | null;
|
|
251
|
+
status: string;
|
|
252
|
+
severity: "low" | "medium" | "high";
|
|
253
|
+
details: Record<string, unknown>;
|
|
254
|
+
}>;
|
|
255
|
+
}
|
|
256
|
+
interface OperationsQueuesSnapshotInput {
|
|
257
|
+
slug?: string;
|
|
258
|
+
all?: boolean;
|
|
259
|
+
windowHours?: number;
|
|
260
|
+
}
|
|
261
|
+
interface OperationsQueuesSnapshotResult {
|
|
262
|
+
generatedAt: string;
|
|
263
|
+
scope: {
|
|
264
|
+
slug: string | null;
|
|
265
|
+
all: boolean;
|
|
266
|
+
};
|
|
267
|
+
reviewQueue: {
|
|
268
|
+
totalPendingProposals: number;
|
|
269
|
+
distinctReports: number;
|
|
270
|
+
ageBuckets: {
|
|
271
|
+
lt24h: number;
|
|
272
|
+
h24to72: number;
|
|
273
|
+
h72to168: number;
|
|
274
|
+
gte168h: number;
|
|
275
|
+
};
|
|
276
|
+
slaBuckets: {
|
|
277
|
+
breached: number;
|
|
278
|
+
dueWithin24h: number;
|
|
279
|
+
dueWithin72h: number;
|
|
280
|
+
beyond72h: number;
|
|
281
|
+
missingSla: number;
|
|
282
|
+
};
|
|
283
|
+
byOrg: Array<{
|
|
284
|
+
slug: string;
|
|
285
|
+
pendingProposals: number;
|
|
286
|
+
}>;
|
|
287
|
+
};
|
|
288
|
+
takedownQueue: {
|
|
289
|
+
totalOpen: number;
|
|
290
|
+
statusCounts: {
|
|
291
|
+
todo: number;
|
|
292
|
+
inProgress: number;
|
|
293
|
+
pendingInput: number;
|
|
294
|
+
};
|
|
295
|
+
ageBuckets: {
|
|
296
|
+
lt24h: number;
|
|
297
|
+
h24to72: number;
|
|
298
|
+
h72to168: number;
|
|
299
|
+
gte168h: number;
|
|
300
|
+
};
|
|
301
|
+
staleInProgress: number;
|
|
302
|
+
byOrg: Array<{
|
|
303
|
+
slug: string;
|
|
304
|
+
openTakedowns: number;
|
|
305
|
+
}>;
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
interface MetricsSummaryInput {
|
|
309
|
+
slug: string;
|
|
310
|
+
startDate?: string;
|
|
311
|
+
endDate?: string;
|
|
312
|
+
brandIds?: number[];
|
|
313
|
+
}
|
|
314
|
+
interface MetricsSummaryResult {
|
|
315
|
+
metrics: {
|
|
316
|
+
reports: number;
|
|
317
|
+
newThreats: number;
|
|
318
|
+
threatsWatchlisted: number;
|
|
319
|
+
takedownsFiled: number;
|
|
320
|
+
takedownsCompleted: number;
|
|
321
|
+
domainThreats: number;
|
|
322
|
+
twitterThreats: number;
|
|
323
|
+
telegramThreats: number;
|
|
324
|
+
otherThreats: number;
|
|
325
|
+
};
|
|
326
|
+
blockedByDay: Array<{
|
|
327
|
+
date: string;
|
|
328
|
+
count: number;
|
|
329
|
+
}>;
|
|
330
|
+
blockedByType: Array<{
|
|
331
|
+
type: string;
|
|
332
|
+
count: number;
|
|
333
|
+
}>;
|
|
334
|
+
}
|
|
335
|
+
interface MetricsFoundInput {
|
|
336
|
+
slug: string;
|
|
337
|
+
startDate: string;
|
|
338
|
+
endDate: string;
|
|
339
|
+
brandIds?: number[];
|
|
340
|
+
}
|
|
341
|
+
interface MetricsFoundResult {
|
|
342
|
+
metric: "new_threats";
|
|
343
|
+
found: number;
|
|
344
|
+
range: {
|
|
345
|
+
startDate: string;
|
|
346
|
+
endDate: string;
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
interface MetricsBreakdownInput {
|
|
350
|
+
slug: string;
|
|
351
|
+
by: "day" | "type" | "brand";
|
|
352
|
+
startDate?: string;
|
|
353
|
+
endDate?: string;
|
|
354
|
+
brandIds?: number[];
|
|
355
|
+
}
|
|
356
|
+
interface MetricsBreakdownResult {
|
|
357
|
+
by: "day" | "type" | "brand";
|
|
358
|
+
points: Array<{
|
|
359
|
+
key: string;
|
|
360
|
+
count: number;
|
|
361
|
+
date?: string;
|
|
362
|
+
type?: string;
|
|
363
|
+
brandId?: number;
|
|
364
|
+
brandSlug?: string;
|
|
365
|
+
brandName?: string;
|
|
366
|
+
}>;
|
|
367
|
+
}
|
|
368
|
+
interface ReportAssetInput {
|
|
369
|
+
content: string;
|
|
370
|
+
status?: "BLOCKED" | "ALLOWED" | "UNKNOWN";
|
|
371
|
+
brandSlug?: string;
|
|
372
|
+
}
|
|
373
|
+
interface ReportCreateInput {
|
|
374
|
+
organizationSlug?: string;
|
|
375
|
+
title?: string;
|
|
376
|
+
description?: string;
|
|
377
|
+
contactInfo?: string;
|
|
378
|
+
attachmentUrls?: string[];
|
|
379
|
+
externalSubmissionLink?: string;
|
|
380
|
+
userAgent?: string;
|
|
381
|
+
referrer?: string;
|
|
382
|
+
assets: ReportAssetInput[];
|
|
383
|
+
rawAssetsInput?: string;
|
|
384
|
+
externalReporter?: {
|
|
385
|
+
avatarUrl?: string;
|
|
386
|
+
platformIdentifier: string;
|
|
387
|
+
platform: string;
|
|
388
|
+
displayName: string;
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
interface ReportCreateResult {
|
|
392
|
+
id: number;
|
|
393
|
+
createdAt: string;
|
|
394
|
+
organization: {
|
|
395
|
+
id: number;
|
|
396
|
+
slug: string;
|
|
397
|
+
name: string;
|
|
398
|
+
} | null;
|
|
399
|
+
}
|
|
400
|
+
declare const REPORT_REVIEW_DECISIONS: readonly ["APPROVE", "REJECT", "SKIP", "ESCALATE"];
|
|
401
|
+
type ReportReviewDecision = (typeof REPORT_REVIEW_DECISIONS)[number];
|
|
402
|
+
declare const REPORT_STATUSES: readonly ["TODO", "IN_PROGRESS", "CLOSED"];
|
|
403
|
+
type ReportStatus = (typeof REPORT_STATUSES)[number];
|
|
404
|
+
interface OrganizationReportsListInput {
|
|
405
|
+
slug: string;
|
|
406
|
+
limit?: number;
|
|
407
|
+
cursor?: number;
|
|
408
|
+
status?: string;
|
|
409
|
+
searchQuery?: string;
|
|
410
|
+
reporterQuery?: string;
|
|
411
|
+
reportedByCustomer?: boolean;
|
|
412
|
+
excludeAutomation?: boolean;
|
|
413
|
+
onlyRejected?: boolean;
|
|
414
|
+
reviewStatuses?: ReportReviewDecision[];
|
|
415
|
+
assetTypes?: string[];
|
|
416
|
+
brandIds?: number[];
|
|
417
|
+
countryCodes?: string[];
|
|
418
|
+
reviewedByUserId?: number;
|
|
419
|
+
startDate?: string;
|
|
420
|
+
endDate?: string;
|
|
421
|
+
updatedAtStartDate?: string;
|
|
422
|
+
updatedAtEndDate?: string;
|
|
423
|
+
}
|
|
424
|
+
interface OrganizationReportsListResult {
|
|
425
|
+
reports: Array<{
|
|
426
|
+
id: number;
|
|
427
|
+
title: string;
|
|
428
|
+
description: string;
|
|
429
|
+
status: string | null;
|
|
430
|
+
reportedByCustomer: boolean;
|
|
431
|
+
createdAt: string;
|
|
432
|
+
updatedAt: string;
|
|
433
|
+
proposals: Array<{
|
|
434
|
+
reviewStatus: string;
|
|
435
|
+
asset: {
|
|
436
|
+
id: number;
|
|
437
|
+
type: string;
|
|
438
|
+
content: string;
|
|
439
|
+
status: string;
|
|
440
|
+
};
|
|
441
|
+
}>;
|
|
442
|
+
reporter: {
|
|
443
|
+
id: number;
|
|
444
|
+
role: string;
|
|
445
|
+
fullName: string;
|
|
446
|
+
avatarUrl: string | null;
|
|
447
|
+
} | null;
|
|
448
|
+
externalReporter: {
|
|
449
|
+
id: number;
|
|
450
|
+
displayName: string | null;
|
|
451
|
+
avatarUrl: string | null;
|
|
452
|
+
platform: string;
|
|
453
|
+
} | null;
|
|
454
|
+
}>;
|
|
455
|
+
nextCursor: number | null;
|
|
456
|
+
totalCount: number;
|
|
457
|
+
}
|
|
458
|
+
declare const DETECTION_CONFIDENCE_LEVELS: readonly ["none", "low", "medium", "high"];
|
|
459
|
+
type DetectionConfidence = (typeof DETECTION_CONFIDENCE_LEVELS)[number];
|
|
460
|
+
type DetectionReportStatus = "REPORTED" | "NOT_REPORTED";
|
|
461
|
+
declare const DETECTION_REPORTED_FILTERS: readonly ["reported", "not_reported"];
|
|
462
|
+
type DetectionReportedFilter = (typeof DETECTION_REPORTED_FILTERS)[number];
|
|
463
|
+
declare const LIVENESS_FILTER_VALUES: readonly ["ALIVE", "DEAD", "UNKNOWN"];
|
|
464
|
+
type LivenessFilterValue = (typeof LIVENESS_FILTER_VALUES)[number];
|
|
465
|
+
declare const WATCHLIST_FILTER_VALUES: readonly ["ENABLED", "DISABLED"];
|
|
466
|
+
type WatchlistFilterValue = (typeof WATCHLIST_FILTER_VALUES)[number];
|
|
467
|
+
interface DetectionListInput {
|
|
468
|
+
slug: string;
|
|
469
|
+
cursor?: number;
|
|
470
|
+
limit?: number;
|
|
471
|
+
query?: string;
|
|
472
|
+
startDate?: string;
|
|
473
|
+
endDate?: string;
|
|
474
|
+
sources?: string[];
|
|
475
|
+
confidence?: DetectionConfidence[];
|
|
476
|
+
assetStatus?: string[];
|
|
477
|
+
assetType?: string[];
|
|
478
|
+
brandIds?: number[];
|
|
479
|
+
liveness?: LivenessFilterValue[];
|
|
480
|
+
watchlist?: WatchlistFilterValue[];
|
|
481
|
+
reported?: DetectionReportedFilter[];
|
|
482
|
+
countryCodes?: string[];
|
|
483
|
+
onlyDeleted?: boolean;
|
|
484
|
+
}
|
|
485
|
+
interface DetectionListItem {
|
|
486
|
+
id: number;
|
|
487
|
+
threatContent: string;
|
|
488
|
+
source: string;
|
|
489
|
+
createdAt: string;
|
|
490
|
+
confidence: DetectionConfidence;
|
|
491
|
+
reportStatus: DetectionReportStatus;
|
|
492
|
+
asset: {
|
|
493
|
+
id: number;
|
|
494
|
+
content: string;
|
|
495
|
+
type: string;
|
|
496
|
+
status: string;
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
interface DetectionListResult {
|
|
500
|
+
detections: DetectionListItem[];
|
|
501
|
+
nextCursor?: number;
|
|
502
|
+
}
|
|
503
|
+
interface ThreatsListInput {
|
|
504
|
+
query?: string;
|
|
505
|
+
startDate?: string;
|
|
506
|
+
endDate?: string;
|
|
507
|
+
assetType?: string[];
|
|
508
|
+
sorting?: Array<{
|
|
509
|
+
key: string;
|
|
510
|
+
direction: "asc" | "desc";
|
|
511
|
+
}>;
|
|
512
|
+
perPage?: number;
|
|
513
|
+
nextPage?: string;
|
|
514
|
+
}
|
|
515
|
+
interface ThreatItem {
|
|
516
|
+
id: number;
|
|
517
|
+
content: string;
|
|
518
|
+
type: string;
|
|
519
|
+
blockedAt: string;
|
|
520
|
+
}
|
|
521
|
+
interface ThreatsListResult {
|
|
522
|
+
threats: ThreatItem[];
|
|
523
|
+
next_page: string | null;
|
|
524
|
+
}
|
|
525
|
+
interface OrganizationAssetsListInput {
|
|
526
|
+
type?: string;
|
|
527
|
+
groupId?: number;
|
|
528
|
+
query?: string;
|
|
529
|
+
perPage?: number;
|
|
530
|
+
nextPage?: string;
|
|
531
|
+
}
|
|
532
|
+
interface OrganizationAssetItem {
|
|
533
|
+
id: number;
|
|
534
|
+
content: string;
|
|
535
|
+
type: string;
|
|
536
|
+
status: string;
|
|
537
|
+
name: string | null;
|
|
538
|
+
description: string | null;
|
|
539
|
+
group: {
|
|
540
|
+
id: number;
|
|
541
|
+
name: string;
|
|
542
|
+
} | null;
|
|
543
|
+
createdAt: string;
|
|
544
|
+
updatedAt: string;
|
|
545
|
+
}
|
|
546
|
+
interface OrganizationAssetsListResult {
|
|
547
|
+
assets: OrganizationAssetItem[];
|
|
548
|
+
next_page: string | null;
|
|
549
|
+
}
|
|
550
|
+
interface AssetGroupItem {
|
|
551
|
+
id: number;
|
|
552
|
+
name: string;
|
|
553
|
+
assetCount: number;
|
|
554
|
+
}
|
|
555
|
+
interface OrganizationAssetGroupsListResult {
|
|
556
|
+
groups: AssetGroupItem[];
|
|
557
|
+
}
|
|
558
|
+
type BrandType = "ORGANIZATION" | "INDIVIDUAL";
|
|
559
|
+
interface BrandItem {
|
|
560
|
+
id: number;
|
|
561
|
+
slug: string;
|
|
562
|
+
name: string;
|
|
563
|
+
type: BrandType;
|
|
564
|
+
description: string | null;
|
|
565
|
+
brandGroupId: number | null;
|
|
566
|
+
createdAt: string;
|
|
567
|
+
}
|
|
568
|
+
interface OrganizationBrandsListResult {
|
|
569
|
+
brands: BrandItem[];
|
|
570
|
+
}
|
|
571
|
+
interface ReportsSearchInput {
|
|
572
|
+
assetContents: string[];
|
|
573
|
+
reportedByCustomer?: boolean;
|
|
574
|
+
}
|
|
575
|
+
interface ReportsSearchResultItem {
|
|
576
|
+
id: number;
|
|
577
|
+
status: string;
|
|
578
|
+
reportedByCustomer: boolean;
|
|
579
|
+
assets: string[];
|
|
580
|
+
}
|
|
581
|
+
interface ReportsSearchResult {
|
|
582
|
+
reports: ReportsSearchResultItem[];
|
|
583
|
+
}
|
|
584
|
+
interface UserMeResult {
|
|
585
|
+
user: {
|
|
586
|
+
id: number;
|
|
587
|
+
name: string;
|
|
588
|
+
avatarUrl: string | null;
|
|
589
|
+
email: string;
|
|
590
|
+
role: string;
|
|
591
|
+
protectionConfig: {
|
|
592
|
+
linkMonitoring: boolean;
|
|
593
|
+
socialMediaScanning: boolean;
|
|
594
|
+
historyScanning: boolean;
|
|
595
|
+
} | null;
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
interface ValidateApiKeyResult {
|
|
599
|
+
status: "success";
|
|
600
|
+
message: string;
|
|
601
|
+
}
|
|
602
|
+
declare const TAKEDOWN_STATUSES: readonly ["TODO", "IN_PROGRESS", "COMPLETED", "CANCELLED", "PENDING_RETRACTION", "RETRACTION_SENT", "RETRACTED", "PENDING_INPUT"];
|
|
603
|
+
type TakedownStatus = (typeof TAKEDOWN_STATUSES)[number];
|
|
604
|
+
declare const LIVENESS_STATUSES: readonly ["UNKNOWN", "ALIVE", "DEAD"];
|
|
605
|
+
type LivenessStatus = (typeof LIVENESS_STATUSES)[number];
|
|
606
|
+
declare const TAKEDOWN_SORT_KEYS: readonly ["updatedAt", "createdAt", "takedownStatus", "takedownUpdatedAt", "assigneeId", "brandId"];
|
|
607
|
+
type TakedownSortKey = (typeof TAKEDOWN_SORT_KEYS)[number];
|
|
608
|
+
interface TakedownsListInput {
|
|
609
|
+
organizationSlug?: string;
|
|
610
|
+
query?: string;
|
|
611
|
+
startDate?: string;
|
|
612
|
+
endDate?: string;
|
|
613
|
+
assetType?: string[];
|
|
614
|
+
takedownStatus?: TakedownStatus[];
|
|
615
|
+
livenessStatus?: LivenessStatus[];
|
|
616
|
+
brandIds?: number[];
|
|
617
|
+
assigneeIds?: number[];
|
|
618
|
+
startedAtStartDate?: string;
|
|
619
|
+
startedAtEndDate?: string;
|
|
620
|
+
hideAutomatedTakedowns?: boolean;
|
|
621
|
+
hideAutomatedLivenessChecks?: boolean;
|
|
622
|
+
sorting?: Array<{
|
|
623
|
+
key: TakedownSortKey;
|
|
624
|
+
direction: "asc" | "desc";
|
|
625
|
+
}>;
|
|
626
|
+
perPage?: number;
|
|
627
|
+
nextPage?: string;
|
|
628
|
+
}
|
|
629
|
+
interface TakedownItem {
|
|
630
|
+
id: number;
|
|
631
|
+
status: TakedownStatus;
|
|
632
|
+
createdAt: string;
|
|
633
|
+
updatedAt: string;
|
|
634
|
+
asset: {
|
|
635
|
+
id: number;
|
|
636
|
+
content: string;
|
|
637
|
+
type: string;
|
|
638
|
+
livenessStatus: LivenessStatus | null;
|
|
639
|
+
};
|
|
640
|
+
assignee: {
|
|
641
|
+
id: number;
|
|
642
|
+
fullName: string | null;
|
|
643
|
+
} | null;
|
|
644
|
+
brand: {
|
|
645
|
+
id: number;
|
|
646
|
+
name: string;
|
|
647
|
+
slug: string | null;
|
|
648
|
+
} | null;
|
|
649
|
+
}
|
|
650
|
+
interface TakedownsListResult {
|
|
651
|
+
takedowns: TakedownItem[];
|
|
652
|
+
next_page: string | null;
|
|
653
|
+
}
|
|
654
|
+
declare const ORGANIZATION_METRICS_INCLUDE_FIELDS: readonly ["reports", "newThreats", "threatsWatchlisted", "takedownsFiled", "takedownsCompleted", "domainThreats", "twitterThreats", "telegramThreats", "otherThreats", "blockedByType", "blockedByDay"];
|
|
655
|
+
type OrganizationMetricsIncludeField = (typeof ORGANIZATION_METRICS_INCLUDE_FIELDS)[number];
|
|
656
|
+
interface OrganizationMetricsServicesFilter {
|
|
657
|
+
reporting?: {
|
|
658
|
+
active?: boolean;
|
|
659
|
+
};
|
|
660
|
+
reviewing?: {
|
|
661
|
+
active?: boolean;
|
|
662
|
+
};
|
|
663
|
+
protection?: {
|
|
664
|
+
active?: boolean;
|
|
665
|
+
};
|
|
666
|
+
takedowns?: {
|
|
667
|
+
active?: boolean;
|
|
668
|
+
automated?: boolean;
|
|
669
|
+
};
|
|
670
|
+
detection?: {
|
|
671
|
+
active?: boolean;
|
|
672
|
+
};
|
|
673
|
+
darkWebMonitoring?: {
|
|
674
|
+
active?: boolean;
|
|
675
|
+
};
|
|
676
|
+
}
|
|
677
|
+
interface OrganizationMetricsInput {
|
|
678
|
+
organizationSlug?: string;
|
|
679
|
+
slugs?: string[];
|
|
680
|
+
allMyOrgs?: boolean;
|
|
681
|
+
subscriptionStatus?: string[];
|
|
682
|
+
services?: OrganizationMetricsServicesFilter;
|
|
683
|
+
brandSlug?: string;
|
|
684
|
+
startDate?: string;
|
|
685
|
+
endDate?: string;
|
|
686
|
+
include?: OrganizationMetricsIncludeField[];
|
|
687
|
+
}
|
|
688
|
+
interface OrganizationMetricsResultMetrics {
|
|
689
|
+
reports: number | null;
|
|
690
|
+
newThreats: number | null;
|
|
691
|
+
threatsWatchlisted: number | null;
|
|
692
|
+
takedownsFiled: number | null;
|
|
693
|
+
takedownsCompleted: number | null;
|
|
694
|
+
domainThreats: number | null;
|
|
695
|
+
twitterThreats: number | null;
|
|
696
|
+
telegramThreats: number | null;
|
|
697
|
+
otherThreats: number | null;
|
|
698
|
+
}
|
|
699
|
+
interface OrganizationMetricsResult {
|
|
700
|
+
metrics: OrganizationMetricsResultMetrics;
|
|
701
|
+
blockedByType: Array<{
|
|
702
|
+
type: string;
|
|
703
|
+
count: number;
|
|
704
|
+
}> | null;
|
|
705
|
+
blockedByDay: Array<{
|
|
706
|
+
date: string;
|
|
707
|
+
count: number;
|
|
708
|
+
}> | null;
|
|
709
|
+
averages: {
|
|
710
|
+
perDay: OrganizationMetricsResultMetrics | null;
|
|
711
|
+
perOrgPerDay: OrganizationMetricsResultMetrics | null;
|
|
712
|
+
windowDays: number | null;
|
|
713
|
+
};
|
|
714
|
+
perOrg: Record<string, {
|
|
715
|
+
metrics: OrganizationMetricsResultMetrics;
|
|
716
|
+
blockedByType: Array<{
|
|
717
|
+
type: string;
|
|
718
|
+
count: number;
|
|
719
|
+
}> | null;
|
|
720
|
+
blockedByDay: Array<{
|
|
721
|
+
date: string;
|
|
722
|
+
count: number;
|
|
723
|
+
}> | null;
|
|
724
|
+
}> | null;
|
|
725
|
+
scope: {
|
|
726
|
+
mode: "single" | "multi";
|
|
727
|
+
orgs: string[];
|
|
728
|
+
resolvedFrom: "api-key" | "organizationSlug" | "slugs" | "allMyOrgs";
|
|
729
|
+
};
|
|
730
|
+
}
|
|
731
|
+
type HealthcheckCategory = "detection" | "reviewing" | "blocklisting" | "takedowns" | "assets" | "organization";
|
|
732
|
+
type HealthcheckSeverity = "ok" | "warn" | "fail";
|
|
733
|
+
interface HealthcheckFinding {
|
|
734
|
+
kind: string;
|
|
735
|
+
ref: string | null;
|
|
736
|
+
message: string;
|
|
737
|
+
severity: "warn" | "fail";
|
|
738
|
+
}
|
|
739
|
+
interface HealthcheckResult {
|
|
740
|
+
id: string;
|
|
741
|
+
title: string;
|
|
742
|
+
category: HealthcheckCategory;
|
|
743
|
+
generatedAt: string;
|
|
744
|
+
scope: {
|
|
745
|
+
slug: string | null;
|
|
746
|
+
};
|
|
747
|
+
ok: boolean;
|
|
748
|
+
severity: HealthcheckSeverity;
|
|
749
|
+
observed: Record<string, number | string | boolean | null>;
|
|
750
|
+
threshold: Record<string, number | string | boolean | null>;
|
|
751
|
+
findings: HealthcheckFinding[];
|
|
752
|
+
suggestedAction: string | null;
|
|
753
|
+
appUrl: string | null;
|
|
754
|
+
}
|
|
755
|
+
interface HealthcheckRegistryEntry {
|
|
756
|
+
id: string;
|
|
757
|
+
title: string;
|
|
758
|
+
description: string;
|
|
759
|
+
category: HealthcheckCategory;
|
|
760
|
+
implemented: boolean;
|
|
761
|
+
endpoint: string | null;
|
|
762
|
+
defaultThreshold?: Record<string, number | string>;
|
|
763
|
+
notImplementedReason?: string;
|
|
764
|
+
}
|
|
765
|
+
interface HealthchecksListResult {
|
|
766
|
+
checks: HealthcheckRegistryEntry[];
|
|
767
|
+
}
|
|
768
|
+
type UserOrgsSubscriptionStatus = "PROSPECT" | "TRIAL" | "ACTIVE" | "INTEGRATION";
|
|
769
|
+
type PendingApprovalService = "protection" | "takedowns";
|
|
770
|
+
interface PendingServiceApproval {
|
|
771
|
+
service: PendingApprovalService;
|
|
772
|
+
automated: boolean;
|
|
773
|
+
serviceType: string;
|
|
774
|
+
serviceName: string;
|
|
775
|
+
requestedAt: string;
|
|
776
|
+
}
|
|
777
|
+
interface UserOrgsServiceFilters {
|
|
778
|
+
reporting?: {
|
|
779
|
+
active?: boolean;
|
|
780
|
+
};
|
|
781
|
+
reviewing?: {
|
|
782
|
+
active?: boolean;
|
|
783
|
+
};
|
|
784
|
+
protection?: {
|
|
785
|
+
active?: boolean;
|
|
786
|
+
};
|
|
787
|
+
takedowns?: {
|
|
788
|
+
active?: boolean;
|
|
789
|
+
automated?: boolean;
|
|
790
|
+
};
|
|
791
|
+
detection?: {
|
|
792
|
+
active?: boolean;
|
|
793
|
+
};
|
|
794
|
+
darkWebMonitoring?: {
|
|
795
|
+
active?: boolean;
|
|
796
|
+
};
|
|
797
|
+
}
|
|
798
|
+
interface UserOrgsObligatoryAdminApprovalFilter {
|
|
799
|
+
active?: boolean;
|
|
800
|
+
assetTypes?: string[];
|
|
801
|
+
}
|
|
802
|
+
interface UserOrgsPendingServiceApprovalFilter {
|
|
803
|
+
active?: boolean;
|
|
804
|
+
services?: PendingApprovalService[];
|
|
805
|
+
}
|
|
806
|
+
interface UserOrgsInput {
|
|
807
|
+
query?: string;
|
|
808
|
+
subscriptionStatus?: UserOrgsSubscriptionStatus[];
|
|
809
|
+
services?: UserOrgsServiceFilters;
|
|
810
|
+
obligatoryAdminApproval?: UserOrgsObligatoryAdminApprovalFilter;
|
|
811
|
+
pendingServiceApproval?: UserOrgsPendingServiceApprovalFilter;
|
|
812
|
+
}
|
|
813
|
+
interface UserOrg {
|
|
814
|
+
id: number;
|
|
815
|
+
name: string;
|
|
816
|
+
slug: string;
|
|
817
|
+
avatarUrl: string | null;
|
|
818
|
+
contactUrl: string | null;
|
|
819
|
+
subscriptionStatus: "PROSPECT" | "TRIAL" | "ACTIVE" | "INTEGRATION" | "INACTIVE";
|
|
820
|
+
services: {
|
|
821
|
+
reporting: {
|
|
822
|
+
active: boolean;
|
|
823
|
+
};
|
|
824
|
+
reviewing: {
|
|
825
|
+
active: boolean;
|
|
826
|
+
};
|
|
827
|
+
protection: {
|
|
828
|
+
active: boolean;
|
|
829
|
+
};
|
|
830
|
+
takedowns: {
|
|
831
|
+
active: boolean;
|
|
832
|
+
automated: boolean;
|
|
833
|
+
};
|
|
834
|
+
detection: {
|
|
835
|
+
active: boolean;
|
|
836
|
+
};
|
|
837
|
+
darkWebMonitoring: {
|
|
838
|
+
active: boolean;
|
|
839
|
+
};
|
|
840
|
+
};
|
|
841
|
+
obligatoryAdminApproval: {
|
|
842
|
+
active: boolean;
|
|
843
|
+
assetTypes: string[];
|
|
844
|
+
};
|
|
845
|
+
pendingServiceApprovals: PendingServiceApproval[];
|
|
846
|
+
}
|
|
847
|
+
interface UserOrgsResult {
|
|
848
|
+
organizations: UserOrg[];
|
|
849
|
+
}
|
|
850
|
+
interface UserOrgGetInput {
|
|
851
|
+
slug: string;
|
|
852
|
+
}
|
|
853
|
+
interface UserOrgGetResult {
|
|
854
|
+
organization: UserOrg;
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
declare function staticApiKey(key: string): CredentialProvider;
|
|
858
|
+
declare function staticBearerToken(token: string): CredentialProvider;
|
|
859
|
+
declare class ChainPatrolApiClient implements ApiClient {
|
|
860
|
+
private readonly baseUrl;
|
|
861
|
+
private readonly credential;
|
|
862
|
+
private readonly timeoutMs;
|
|
863
|
+
constructor(options: ChainPatrolApiClientOptions);
|
|
864
|
+
private buildAuthHeaders;
|
|
865
|
+
private requestGet;
|
|
866
|
+
private request;
|
|
867
|
+
private wrapFetchError;
|
|
868
|
+
private handleResponse;
|
|
869
|
+
assetCheck(input: AssetCheckInput): Promise<AssetCheckResult>;
|
|
870
|
+
assetSearch(input: AssetSearchInput): Promise<AssetSearchResult>;
|
|
871
|
+
listDetectionConfigs(slug: string): Promise<DetectionSource[]>;
|
|
872
|
+
updateDetectionConfig(input: DetectionConfigUpdateInput): Promise<DetectionConfigUpdateResult>;
|
|
873
|
+
runDetectionConfigs(input: DetectionConfigRunInput): Promise<DetectionConfigRunResult>;
|
|
874
|
+
validateDetectionConfigs(input: DetectionConfigValidateInput): Promise<DetectionConfigValidateResult>;
|
|
875
|
+
getDetectionDrift(input: DetectionDriftInput): Promise<DetectionDriftResult>;
|
|
876
|
+
getOperationsQueuesSnapshot(input: OperationsQueuesSnapshotInput): Promise<OperationsQueuesSnapshotResult>;
|
|
877
|
+
getMetricsSummary(input: MetricsSummaryInput): Promise<MetricsSummaryResult>;
|
|
878
|
+
getMetricsFound(input: MetricsFoundInput): Promise<MetricsFoundResult>;
|
|
879
|
+
getMetricsBreakdown(input: MetricsBreakdownInput): Promise<MetricsBreakdownResult>;
|
|
880
|
+
createReport(input: ReportCreateInput): Promise<ReportCreateResult>;
|
|
881
|
+
listOrganizationReports(input: OrganizationReportsListInput): Promise<OrganizationReportsListResult>;
|
|
882
|
+
listTakedowns(input: TakedownsListInput): Promise<TakedownsListResult>;
|
|
883
|
+
getOrganizationMetrics(input: OrganizationMetricsInput): Promise<OrganizationMetricsResult>;
|
|
884
|
+
listHealthchecks(): Promise<HealthchecksListResult>;
|
|
885
|
+
runHealthcheck(endpoint: string, input: Record<string, unknown>): Promise<HealthcheckResult>;
|
|
886
|
+
getUserOrgs(input: UserOrgsInput): Promise<UserOrgsResult>;
|
|
887
|
+
getUserOrg(input: UserOrgGetInput): Promise<UserOrgGetResult>;
|
|
888
|
+
listAssets(input: AssetListInput): Promise<AssetListResult>;
|
|
889
|
+
listThreats(input: ThreatsListInput): Promise<ThreatsListResult>;
|
|
890
|
+
listDetections(input: DetectionListInput): Promise<DetectionListResult>;
|
|
891
|
+
searchReports(input: ReportsSearchInput): Promise<ReportsSearchResult>;
|
|
892
|
+
listOrganizationAssets(input: OrganizationAssetsListInput): Promise<OrganizationAssetsListResult>;
|
|
893
|
+
listOrganizationAssetGroups(): Promise<OrganizationAssetGroupsListResult>;
|
|
894
|
+
listOrganizationBrands(): Promise<OrganizationBrandsListResult>;
|
|
895
|
+
getCurrentUser(): Promise<UserMeResult>;
|
|
896
|
+
validateApiKey(): Promise<ValidateApiKeyResult>;
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
declare function parseIsoDate(value: string | undefined): Date | undefined;
|
|
900
|
+
declare function parseIsoDateString(value: string | undefined): string | undefined;
|
|
901
|
+
|
|
902
|
+
export { type ApiClient, type ApiCredential, type AssetCheckInput, type AssetCheckResult, type AssetCheckSourceEntry, type AssetCheckStatus, type AssetGroupItem, type AssetListInput, type AssetListItem, type AssetListResult, type AssetSearchInput, type AssetSearchResult, type AssetSearchResultItem, type BrandItem, type BrandType, ChainPatrolApiClient, type ChainPatrolApiClientOptions, type ConfigEntry, type CredentialProvider, DETECTION_CONFIDENCE_LEVELS, DETECTION_REPORTED_FILTERS, type DetectionConfidence, type DetectionConfigRunInput, type DetectionConfigRunResult, type DetectionConfigUpdateInput, type DetectionConfigUpdateResult, type DetectionConfigValidateInput, type DetectionConfigValidateResult, type DetectionDriftInput, type DetectionDriftResult, type DetectionListInput, type DetectionListItem, type DetectionListResult, type DetectionReportStatus, type DetectionReportedFilter, type DetectionSource, type HealthcheckCategory, type HealthcheckFinding, type HealthcheckRegistryEntry, type HealthcheckResult, type HealthcheckSeverity, type HealthchecksListResult, LIVENESS_FILTER_VALUES, LIVENESS_STATUSES, type LivenessFilterValue, type LivenessStatus, type MetricsBreakdownInput, type MetricsBreakdownResult, type MetricsFoundInput, type MetricsFoundResult, type MetricsSummaryInput, type MetricsSummaryResult, ORGANIZATION_METRICS_INCLUDE_FIELDS, type OperationsQueuesSnapshotInput, type OperationsQueuesSnapshotResult, type OrganizationAssetGroupsListResult, type OrganizationAssetItem, type OrganizationAssetsListInput, type OrganizationAssetsListResult, type OrganizationBrandsListResult, type OrganizationMetricsIncludeField, type OrganizationMetricsInput, type OrganizationMetricsResult, type OrganizationMetricsResultMetrics, type OrganizationMetricsServicesFilter, type OrganizationReportsListInput, type OrganizationReportsListResult, type PendingApprovalService, type PendingServiceApproval, REPORT_REVIEW_DECISIONS, REPORT_STATUSES, type ReportAssetInput, type ReportCreateInput, type ReportCreateResult, type ReportReviewDecision, type ReportStatus, type ReportsSearchInput, type ReportsSearchResult, type ReportsSearchResultItem, TAKEDOWN_SORT_KEYS, TAKEDOWN_STATUSES, type TakedownItem, type TakedownSortKey, type TakedownStatus, type TakedownsListInput, type TakedownsListResult, type ThreatItem, type ThreatsListInput, type ThreatsListResult, type UserMeResult, type UserOrg, type UserOrgGetInput, type UserOrgGetResult, type UserOrgsInput, type UserOrgsObligatoryAdminApprovalFilter, type UserOrgsPendingServiceApprovalFilter, type UserOrgsResult, type UserOrgsServiceFilters, type UserOrgsSubscriptionStatus, type ValidateApiKeyResult, WATCHLIST_FILTER_VALUES, type WatchlistFilterValue, parseIsoDate, parseIsoDateString, staticApiKey, staticBearerToken };
|