@cdot65/prisma-airs-sdk 0.11.0 → 0.13.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/README.md +16 -100
- package/dist/index.cjs +712 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1837 -23
- package/dist/index.d.ts +1837 -23
- package/dist/index.js +682 -24
- package/dist/index.js.map +1 -1
- package/package.json +4 -22
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ var MAX_NUMBER_OF_BATCH_SCAN_OBJECTS = 5;
|
|
|
29
29
|
var MAX_CONNECTION_POOL_SIZE = 100;
|
|
30
30
|
var MAX_NUMBER_OF_RETRIES = 5;
|
|
31
31
|
var HTTP_FORCE_RETRY_STATUS_CODES = [500, 502, 503, 504];
|
|
32
|
-
var SDK_VERSION = "0.
|
|
32
|
+
var SDK_VERSION = "0.13.0";
|
|
33
33
|
var USER_AGENT = `PAN-AIRS/${SDK_VERSION}-typescript-sdk`;
|
|
34
34
|
var DEFAULT_MGMT_ENDPOINT = "https://api.sase.paloaltonetworks.com/aisec";
|
|
35
35
|
var DEFAULT_TOKEN_ENDPOINT = "https://auth.apps.paloaltonetworks.com/oauth2/access_token";
|
|
@@ -58,6 +58,7 @@ var MGMT_OAUTH_INVALIDATE_PATH = "/v1/mgmt/oauth/invalidateToken";
|
|
|
58
58
|
var MGMT_OAUTH_TOKEN_PATH = "/v1/mgmt/oauth/client_credential/accesstoken";
|
|
59
59
|
var MGMT_DASHBOARD_APPLICATION_PATH = "/v1/mgmt/dashboard/v2/apps/application";
|
|
60
60
|
var MGMT_DASHBOARD_APPLICATION_VIOLATION_BREAKDOWN_PATH = "/v1/mgmt/dashboard/v2/apps/applicationviolationbreakdown";
|
|
61
|
+
var MGMT_DASHBOARD_APPLICATIONS_OVERVIEW_PATH = "/v1/mgmt/dashboard/v2/apps/applicationsoverview";
|
|
61
62
|
var DEFAULT_DLP_ENDPOINT = "https://api.dlp.paloaltonetworks.com";
|
|
62
63
|
var DLP_DATA_FILTERING_PROFILES_PATH = "/v2/api/data-filtering-profiles";
|
|
63
64
|
var DLP_DATA_PATTERNS_PATH = "/v2/api/data-patterns";
|
|
@@ -74,17 +75,21 @@ var MODEL_SEC_TOKEN_ENDPOINT = "PANW_MODEL_SEC_TOKEN_ENDPOINT";
|
|
|
74
75
|
var MODEL_SEC_SCANS_PATH = "/v1/scans";
|
|
75
76
|
var MODEL_SEC_EVALUATIONS_PATH = "/v1/evaluations";
|
|
76
77
|
var MODEL_SEC_VIOLATIONS_PATH = "/v1/violations";
|
|
78
|
+
var MODEL_SEC_MODELS_PATH = "/v1/models";
|
|
79
|
+
var MODEL_SEC_MODEL_VERSIONS_PATH = "/v1/model-versions";
|
|
77
80
|
var MODEL_SEC_SECURITY_GROUPS_PATH = "/v1/security-groups";
|
|
78
81
|
var MODEL_SEC_SECURITY_RULES_PATH = "/v1/security-rules";
|
|
79
82
|
var MODEL_SEC_PYPI_AUTH_PATH = "/v1/pypi/authenticate";
|
|
80
83
|
var DEFAULT_RED_TEAM_DATA_ENDPOINT = "https://api.sase.paloaltonetworks.com/ai-red-teaming/data-plane";
|
|
81
84
|
var DEFAULT_RED_TEAM_MGMT_ENDPOINT = "https://api.sase.paloaltonetworks.com/ai-red-teaming/mgmt-plane";
|
|
85
|
+
var DEFAULT_RED_TEAM_NETWORK_BROKER_ENDPOINT = "https://api.sase.paloaltonetworks.com/ai-red-teaming/data-plane/network-broker";
|
|
82
86
|
var RED_TEAM_CLIENT_ID = "PANW_RED_TEAM_CLIENT_ID";
|
|
83
87
|
var RED_TEAM_CLIENT_SECRET = "PANW_RED_TEAM_CLIENT_SECRET";
|
|
84
88
|
var RED_TEAM_TSG_ID = "PANW_RED_TEAM_TSG_ID";
|
|
85
89
|
var RED_TEAM_DATA_ENDPOINT = "PANW_RED_TEAM_DATA_ENDPOINT";
|
|
86
90
|
var RED_TEAM_MGMT_ENDPOINT = "PANW_RED_TEAM_MGMT_ENDPOINT";
|
|
87
91
|
var RED_TEAM_TOKEN_ENDPOINT = "PANW_RED_TEAM_TOKEN_ENDPOINT";
|
|
92
|
+
var RED_TEAM_NETWORK_BROKER_ENDPOINT = "PANW_RED_TEAM_NETWORK_BROKER_ENDPOINT";
|
|
88
93
|
var RED_TEAM_SCAN_PATH = "/v1/scan";
|
|
89
94
|
var RED_TEAM_CATEGORIES_PATH = "/v1/categories";
|
|
90
95
|
var RED_TEAM_REPORT_STATIC_PATH = "/v1/report/static";
|
|
@@ -95,6 +100,8 @@ var RED_TEAM_DASHBOARD_PATH = "/v1/dashboard";
|
|
|
95
100
|
var RED_TEAM_QUOTA_PATH = "/v1/metering/quota";
|
|
96
101
|
var RED_TEAM_ERROR_LOG_PATH = "/v1/error-log/job";
|
|
97
102
|
var RED_TEAM_SENTIMENT_PATH = "/v1/sentiment";
|
|
103
|
+
var RED_TEAM_LANGUAGES_PATH = "/v1/languages";
|
|
104
|
+
var RED_TEAM_ERROR_LOG_TARGET_PROFILE_PATH = "/v1/error-log/target-profile";
|
|
98
105
|
var RED_TEAM_TARGET_PATH = "/v1/target";
|
|
99
106
|
var RED_TEAM_TARGET_VALIDATE_AUTH_PATH = "/v1/target/validate-auth";
|
|
100
107
|
var RED_TEAM_TEMPLATE_PATH = "/v1/template";
|
|
@@ -103,6 +110,8 @@ var RED_TEAM_INSTANCES_PATH = "/v1/instances";
|
|
|
103
110
|
var RED_TEAM_REGISTRY_CREDENTIALS_PATH = "/v1/registry-credentials";
|
|
104
111
|
var RED_TEAM_CUSTOM_ATTACK_PATH = "/v1/custom-attack";
|
|
105
112
|
var RED_TEAM_MGMT_DASHBOARD_PATH = "/v1/dashboard/overview";
|
|
113
|
+
var RED_TEAM_CHANNELS_PATH = "/v1/channels";
|
|
114
|
+
var RED_TEAM_CHANNELS_STATS_PATH = "/v1/channels/stats";
|
|
106
115
|
|
|
107
116
|
// src/errors.ts
|
|
108
117
|
var ErrorType = /* @__PURE__ */ ((ErrorType2) => {
|
|
@@ -307,9 +316,38 @@ async function executeWithRetry(opts) {
|
|
|
307
316
|
);
|
|
308
317
|
}
|
|
309
318
|
|
|
319
|
+
// src/http/debug.ts
|
|
320
|
+
import { createHash } from "crypto";
|
|
321
|
+
var TRUTHY = /* @__PURE__ */ new Set(["1", "true", "yes", "on"]);
|
|
322
|
+
var SENSITIVE_HEADERS = /* @__PURE__ */ new Set([HEADER_AUTH_TOKEN.toLowerCase(), HEADER_API_KEY.toLowerCase()]);
|
|
323
|
+
var PREFIX = "[airs-sdk]";
|
|
324
|
+
function isDebugEnabled() {
|
|
325
|
+
const raw = process.env.PANW_AI_SEC_DEBUG;
|
|
326
|
+
return raw !== void 0 && TRUTHY.has(raw.trim().toLowerCase());
|
|
327
|
+
}
|
|
328
|
+
function hashToken(value) {
|
|
329
|
+
return "sha256:" + createHash("sha256").update(value).digest("hex").slice(0, 12);
|
|
330
|
+
}
|
|
331
|
+
function sanitizeHeaders(headers) {
|
|
332
|
+
const out = {};
|
|
333
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
334
|
+
out[key] = SENSITIVE_HEADERS.has(key.toLowerCase()) ? hashToken(value) : value;
|
|
335
|
+
}
|
|
336
|
+
return out;
|
|
337
|
+
}
|
|
338
|
+
function logRequest(method, url, headers, body) {
|
|
339
|
+
console.error(`${PREFIX} \u2192 ${method} ${url}`);
|
|
340
|
+
console.error(`${PREFIX} headers ${JSON.stringify(sanitizeHeaders(headers))}`);
|
|
341
|
+
if (body !== void 0) console.error(`${PREFIX} body ${body}`);
|
|
342
|
+
}
|
|
343
|
+
function logResponse(status, ms, body) {
|
|
344
|
+
console.error(`${PREFIX} \u2190 ${status} (${ms}ms)${body !== void 0 ? ` ${body}` : ""}`);
|
|
345
|
+
}
|
|
346
|
+
|
|
310
347
|
// src/http/request.ts
|
|
311
348
|
async function request(spec) {
|
|
312
349
|
let hasRetriedAuth = false;
|
|
350
|
+
const debug = isDebugEnabled();
|
|
313
351
|
const response = await executeWithRetry({
|
|
314
352
|
maxRetries: spec.numRetries,
|
|
315
353
|
execute: async () => {
|
|
@@ -339,11 +377,25 @@ async function request(spec) {
|
|
|
339
377
|
}
|
|
340
378
|
const prepared = { method: spec.method, url, headers, bodyText };
|
|
341
379
|
const final = await spec.auth.prepare(prepared);
|
|
342
|
-
|
|
380
|
+
const startedAt = debug ? Date.now() : 0;
|
|
381
|
+
if (debug) {
|
|
382
|
+
const logBody = spec.formData !== void 0 ? "[multipart/form-data]" : final.bodyText;
|
|
383
|
+
logRequest(final.method, final.url.toString(), final.headers, logBody);
|
|
384
|
+
}
|
|
385
|
+
const res = await fetch(final.url.toString(), {
|
|
343
386
|
method: final.method,
|
|
344
387
|
headers: final.headers,
|
|
345
388
|
body: spec.formData !== void 0 ? bodyForFetch : final.bodyText
|
|
346
389
|
});
|
|
390
|
+
if (debug) {
|
|
391
|
+
let respBody;
|
|
392
|
+
try {
|
|
393
|
+
respBody = await res.clone().text();
|
|
394
|
+
} catch {
|
|
395
|
+
}
|
|
396
|
+
logResponse(res.status, Date.now() - startedAt, respBody);
|
|
397
|
+
}
|
|
398
|
+
return res;
|
|
347
399
|
},
|
|
348
400
|
onRetryableFailure: async (res) => {
|
|
349
401
|
if (hasRetriedAuth) return false;
|
|
@@ -1510,6 +1562,31 @@ var DashboardApplicationViolationBreakdownSchema = z21.object({
|
|
|
1510
1562
|
detection_type_violation_breakdown: z21.array(DetectorViolationBreakdownEntrySchema).optional(),
|
|
1511
1563
|
total_violating: z21.number().optional()
|
|
1512
1564
|
}).passthrough();
|
|
1565
|
+
var DashboardApplicationSessionsBucketSchema = z21.object({
|
|
1566
|
+
bucket_number: z21.number().optional(),
|
|
1567
|
+
date: z21.string().nullable().optional(),
|
|
1568
|
+
total: z21.number().optional(),
|
|
1569
|
+
violated: z21.number().optional()
|
|
1570
|
+
}).passthrough();
|
|
1571
|
+
var DashboardApplicationsOverviewItemSchema = z21.object({
|
|
1572
|
+
id: z21.string().nullable().optional(),
|
|
1573
|
+
name: z21.string().nullable().optional(),
|
|
1574
|
+
cloud: z21.string().nullable().optional(),
|
|
1575
|
+
source: z21.string().nullable().optional(),
|
|
1576
|
+
created_at: z21.string().nullable().optional(),
|
|
1577
|
+
sessions: z21.array(DashboardApplicationSessionsBucketSchema).nullable().optional(),
|
|
1578
|
+
sessions_total: z21.number().nullable().optional(),
|
|
1579
|
+
sessions_violated: z21.number().nullable().optional()
|
|
1580
|
+
}).passthrough();
|
|
1581
|
+
var DashboardPaginationSchema = z21.object({
|
|
1582
|
+
limit: z21.number().optional(),
|
|
1583
|
+
skip: z21.number().optional(),
|
|
1584
|
+
total_items: z21.number().optional()
|
|
1585
|
+
}).passthrough();
|
|
1586
|
+
var DashboardApplicationsOverviewSchema = z21.object({
|
|
1587
|
+
items: z21.array(DashboardApplicationsOverviewItemSchema).optional(),
|
|
1588
|
+
pagination: DashboardPaginationSchema.optional()
|
|
1589
|
+
}).passthrough();
|
|
1513
1590
|
|
|
1514
1591
|
// src/models/mgmt-deployment-profile.ts
|
|
1515
1592
|
import { z as z22 } from "zod";
|
|
@@ -2280,7 +2357,8 @@ var ScanDetailsSchema = z32.object({
|
|
|
2280
2357
|
var ScanCreateRequestSchema = z32.object({
|
|
2281
2358
|
model_uri: z32.string(),
|
|
2282
2359
|
security_group_uuid: z32.string(),
|
|
2283
|
-
|
|
2360
|
+
// Optional per the OpenAPI spec (server defaults it); the scans-client example still sets it.
|
|
2361
|
+
scan_origin: z32.string().optional(),
|
|
2284
2362
|
allow_patterns: z32.array(z32.string()).nullable().optional(),
|
|
2285
2363
|
ignore_patterns: z32.array(z32.string()).nullable().optional(),
|
|
2286
2364
|
labels: z32.array(LabelSchema).nullable().optional(),
|
|
@@ -2299,7 +2377,8 @@ var ScanBaseResponseSchema = z32.object({
|
|
|
2299
2377
|
scan_origin: z32.string(),
|
|
2300
2378
|
security_group_uuid: z32.string(),
|
|
2301
2379
|
security_group_name: z32.string(),
|
|
2302
|
-
|
|
2380
|
+
// Optional per the OpenAPI spec — a scan may not have a resolved model version yet.
|
|
2381
|
+
model_version_uuid: z32.string().nullable().optional(),
|
|
2303
2382
|
eval_outcome: z32.string(),
|
|
2304
2383
|
source_type: z32.string(),
|
|
2305
2384
|
created_by: z32.string().nullable().optional(),
|
|
@@ -2336,6 +2415,50 @@ var FileListSchema = z32.object({
|
|
|
2336
2415
|
pagination: ModelSecurityPaginationSchema,
|
|
2337
2416
|
files: z32.array(FileResponseSchema)
|
|
2338
2417
|
}).passthrough();
|
|
2418
|
+
var ModelResponseSchema = z32.object({
|
|
2419
|
+
uuid: z32.string(),
|
|
2420
|
+
tsg_id: z32.string(),
|
|
2421
|
+
created_at: z32.string(),
|
|
2422
|
+
updated_at: z32.string(),
|
|
2423
|
+
name: z32.string(),
|
|
2424
|
+
latest_version_uuid: z32.string().nullable().optional(),
|
|
2425
|
+
latest_version_fingerprint: z32.string().nullable().optional(),
|
|
2426
|
+
latest_version_revision: z32.string().nullable().optional(),
|
|
2427
|
+
latest_version_hf_commit_sha: z32.string().nullable().optional(),
|
|
2428
|
+
latest_version_outcome: z32.string().nullable().optional(),
|
|
2429
|
+
latest_version_formats: z32.array(z32.string()).nullable().optional(),
|
|
2430
|
+
latest_version_source_types: z32.array(z32.string()).nullable().optional(),
|
|
2431
|
+
latest_version_scan_time: z32.string().nullable().optional()
|
|
2432
|
+
}).passthrough();
|
|
2433
|
+
var ModelListSchema = z32.object({
|
|
2434
|
+
pagination: ModelSecurityPaginationSchema,
|
|
2435
|
+
models: z32.array(ModelResponseSchema)
|
|
2436
|
+
}).passthrough();
|
|
2437
|
+
var ModelVersionResponseSchema = z32.object({
|
|
2438
|
+
uuid: z32.string(),
|
|
2439
|
+
tsg_id: z32.string(),
|
|
2440
|
+
created_at: z32.string(),
|
|
2441
|
+
updated_at: z32.string(),
|
|
2442
|
+
revision: z32.string(),
|
|
2443
|
+
model_uuid: z32.string(),
|
|
2444
|
+
fingerprint: z32.string().nullable().optional(),
|
|
2445
|
+
file_count: z32.number().int().nullable().optional(),
|
|
2446
|
+
license: z32.string().nullable().optional(),
|
|
2447
|
+
latest_scan_time: z32.string().nullable().optional(),
|
|
2448
|
+
hf_commit_sha: z32.string().nullable().optional(),
|
|
2449
|
+
hf_commit_title: z32.string().nullable().optional(),
|
|
2450
|
+
hf_commit_authors: z32.array(z32.string()).nullable().optional(),
|
|
2451
|
+
hf_model_name: z32.string().nullable().optional(),
|
|
2452
|
+
hf_organization: z32.string().nullable().optional(),
|
|
2453
|
+
model_formats: z32.array(z32.string()).nullable().optional(),
|
|
2454
|
+
source_types: z32.array(z32.string()).nullable().optional(),
|
|
2455
|
+
last_eval_outcome: z32.string().nullable().optional(),
|
|
2456
|
+
last_eval_summary: EvalSummarySchema.nullable().optional()
|
|
2457
|
+
}).passthrough();
|
|
2458
|
+
var ModelVersionListSchema = z32.object({
|
|
2459
|
+
pagination: ModelSecurityPaginationSchema,
|
|
2460
|
+
model_versions: z32.array(ModelVersionResponseSchema)
|
|
2461
|
+
}).passthrough();
|
|
2339
2462
|
var RuleEvaluationResponseSchema = z32.object({
|
|
2340
2463
|
uuid: z32.string(),
|
|
2341
2464
|
tsg_id: z32.string(),
|
|
@@ -2353,6 +2476,10 @@ var RuleEvaluationListSchema = z32.object({
|
|
|
2353
2476
|
pagination: ModelSecurityPaginationSchema,
|
|
2354
2477
|
evaluations: z32.array(RuleEvaluationResponseSchema)
|
|
2355
2478
|
}).passthrough();
|
|
2479
|
+
var ViolationRemediationSchema = z32.object({
|
|
2480
|
+
steps: z32.array(z32.string()),
|
|
2481
|
+
url: z32.string()
|
|
2482
|
+
}).passthrough();
|
|
2356
2483
|
var ViolationResponseSchema = z32.object({
|
|
2357
2484
|
uuid: z32.string(),
|
|
2358
2485
|
tsg_id: z32.string(),
|
|
@@ -2363,6 +2490,7 @@ var ViolationResponseSchema = z32.object({
|
|
|
2363
2490
|
rule_name: z32.string(),
|
|
2364
2491
|
rule_description: z32.string(),
|
|
2365
2492
|
rule_instance_state: z32.string(),
|
|
2493
|
+
remediation: ViolationRemediationSchema,
|
|
2366
2494
|
file: z32.string().nullable().optional(),
|
|
2367
2495
|
hash: z32.string().nullable().optional(),
|
|
2368
2496
|
module: z32.string().nullable().optional(),
|
|
@@ -2498,6 +2626,11 @@ var BrandSubCategory = {
|
|
|
2498
2626
|
DISCRIMINATING_CLAIMS: "DISCRIMINATING_CLAIMS",
|
|
2499
2627
|
POLITICAL_ENDORSEMENTS: "POLITICAL_ENDORSEMENTS"
|
|
2500
2628
|
};
|
|
2629
|
+
var ChannelStatus = {
|
|
2630
|
+
ONLINE: "ONLINE",
|
|
2631
|
+
OFFLINE: "OFFLINE",
|
|
2632
|
+
DRAFT: "DRAFT"
|
|
2633
|
+
};
|
|
2501
2634
|
var ComplianceSubCategory = {
|
|
2502
2635
|
OWASP: "OWASP",
|
|
2503
2636
|
MITRE_ATLAS: "MITRE_ATLAS",
|
|
@@ -3321,6 +3454,12 @@ var ErrorLogSchema = z33.object({
|
|
|
3321
3454
|
version: z33.number().int().optional()
|
|
3322
3455
|
}).passthrough();
|
|
3323
3456
|
var ErrorLogListResponseSchema = z33.object({ pagination: RedTeamPaginationSchema, data: z33.array(ErrorLogSchema) }).passthrough();
|
|
3457
|
+
var LanguageOptionSchema = z33.object({ code: z33.string(), name: z33.string() }).passthrough();
|
|
3458
|
+
var TenantLanguagesResponseSchema = z33.object({
|
|
3459
|
+
multilingual_enabled: z33.boolean(),
|
|
3460
|
+
supported_job_types: z33.array(z33.string()),
|
|
3461
|
+
languages: z33.array(LanguageOptionSchema)
|
|
3462
|
+
}).passthrough();
|
|
3324
3463
|
var TargetRequestBaseFields = {
|
|
3325
3464
|
name: z33.string(),
|
|
3326
3465
|
description: z33.string().nullable().optional(),
|
|
@@ -3675,6 +3814,48 @@ var RegistryCredentialsSchema = z33.object({
|
|
|
3675
3814
|
expiry: z33.string()
|
|
3676
3815
|
}).passthrough();
|
|
3677
3816
|
|
|
3817
|
+
// src/models/red-team-network-broker.ts
|
|
3818
|
+
import { z as z34 } from "zod";
|
|
3819
|
+
var ChannelStatusSchema = z34.nativeEnum(ChannelStatus);
|
|
3820
|
+
var CreateChannelRequestSchema = z34.object({
|
|
3821
|
+
name: z34.string(),
|
|
3822
|
+
description: z34.string().optional()
|
|
3823
|
+
}).passthrough();
|
|
3824
|
+
var UpdateChannelRequestSchema = z34.object({
|
|
3825
|
+
name: z34.string().optional(),
|
|
3826
|
+
description: z34.string().optional()
|
|
3827
|
+
}).passthrough();
|
|
3828
|
+
var ChannelSchema = z34.object({
|
|
3829
|
+
uuid: z34.string().optional(),
|
|
3830
|
+
name: z34.string().nullable().optional(),
|
|
3831
|
+
description: z34.string().nullable().optional(),
|
|
3832
|
+
// Kept as a plain string (not the enum) so unknown upstream statuses never fail parsing.
|
|
3833
|
+
status: z34.string().nullable().optional(),
|
|
3834
|
+
added_by: z34.string().nullable().optional(),
|
|
3835
|
+
created_at: z34.string().nullable().optional(),
|
|
3836
|
+
updated_at: z34.string().nullable().optional(),
|
|
3837
|
+
last_online_at: z34.string().nullable().optional(),
|
|
3838
|
+
// Present on live responses (not in the base OpenAPI Channel schema).
|
|
3839
|
+
connected_clients_count: z34.number().int().nullable().optional(),
|
|
3840
|
+
outdated_clients_count: z34.number().int().nullable().optional(),
|
|
3841
|
+
features: z34.record(z34.boolean()).nullable().optional()
|
|
3842
|
+
}).passthrough();
|
|
3843
|
+
var ChannelListPaginationSchema = z34.object({ total_items: z34.number().int().nullable().optional() }).passthrough();
|
|
3844
|
+
var ChannelListResponseSchema = z34.object({
|
|
3845
|
+
pagination: ChannelListPaginationSchema.optional(),
|
|
3846
|
+
data: z34.array(ChannelSchema).default([])
|
|
3847
|
+
}).passthrough();
|
|
3848
|
+
var ChannelStatsSchema = z34.object({
|
|
3849
|
+
network_channels_server_domain: z34.string().nullable().optional(),
|
|
3850
|
+
docker_registry: z34.string().nullable().optional(),
|
|
3851
|
+
helm_chart: z34.string().nullable().optional(),
|
|
3852
|
+
docker_image: z34.string().nullable().optional(),
|
|
3853
|
+
online_channels: z34.number().int().nullable().optional(),
|
|
3854
|
+
total_channels: z34.number().int().nullable().optional(),
|
|
3855
|
+
// Present on live responses (not in the base OpenAPI ChannelStats schema).
|
|
3856
|
+
client_version: z34.string().nullable().optional()
|
|
3857
|
+
}).passthrough();
|
|
3858
|
+
|
|
3678
3859
|
// src/http/auth/oauth.ts
|
|
3679
3860
|
var OAuthAuth = class {
|
|
3680
3861
|
constructor(oauthClient) {
|
|
@@ -3697,12 +3878,12 @@ var OAuthAuth = class {
|
|
|
3697
3878
|
};
|
|
3698
3879
|
|
|
3699
3880
|
// src/models/oauth-token.ts
|
|
3700
|
-
import { z as
|
|
3701
|
-
var OAuthTokenResponseSchema =
|
|
3702
|
-
access_token:
|
|
3703
|
-
token_type:
|
|
3704
|
-
expires_in:
|
|
3705
|
-
scope:
|
|
3881
|
+
import { z as z35 } from "zod";
|
|
3882
|
+
var OAuthTokenResponseSchema = z35.object({
|
|
3883
|
+
access_token: z35.string(),
|
|
3884
|
+
token_type: z35.string().optional(),
|
|
3885
|
+
expires_in: z35.number(),
|
|
3886
|
+
scope: z35.string().optional()
|
|
3706
3887
|
}).passthrough();
|
|
3707
3888
|
|
|
3708
3889
|
// src/management/oauth-client.ts
|
|
@@ -4493,7 +4674,7 @@ var CustomerAppsClient = class {
|
|
|
4493
4674
|
return request({
|
|
4494
4675
|
method: "GET",
|
|
4495
4676
|
baseUrl: this.baseUrl,
|
|
4496
|
-
path: `${MGMT_CUSTOMER_APPS_TSG_PATH}/${this.tsgId}`,
|
|
4677
|
+
path: `${MGMT_CUSTOMER_APPS_TSG_PATH}/${encodeURIComponent(this.tsgId)}`,
|
|
4497
4678
|
params,
|
|
4498
4679
|
responseSchema: CustomerAppListResponseSchema,
|
|
4499
4680
|
auth: this.auth,
|
|
@@ -4687,7 +4868,7 @@ var ScanLogsClient = class {
|
|
|
4687
4868
|
};
|
|
4688
4869
|
|
|
4689
4870
|
// src/management/oauth-management.ts
|
|
4690
|
-
import { z as
|
|
4871
|
+
import { z as z36 } from "zod";
|
|
4691
4872
|
var OAuthManagementClient = class {
|
|
4692
4873
|
baseUrl;
|
|
4693
4874
|
auth;
|
|
@@ -4721,7 +4902,7 @@ var OAuthManagementClient = class {
|
|
|
4721
4902
|
path: MGMT_OAUTH_INVALIDATE_PATH,
|
|
4722
4903
|
params: { token },
|
|
4723
4904
|
body,
|
|
4724
|
-
responseSchema:
|
|
4905
|
+
responseSchema: z36.string(),
|
|
4725
4906
|
auth: this.auth,
|
|
4726
4907
|
numRetries: this.numRetries
|
|
4727
4908
|
});
|
|
@@ -4855,6 +5036,53 @@ var DashboardClient = class {
|
|
|
4855
5036
|
numRetries: this.numRetries
|
|
4856
5037
|
});
|
|
4857
5038
|
}
|
|
5039
|
+
/**
|
|
5040
|
+
* Enumerate all dashboard application buckets the tenant has data for.
|
|
5041
|
+
*
|
|
5042
|
+
* This is the canonical apps-list source for the dashboard. The customer-apps endpoint
|
|
5043
|
+
* (`mgmt.customerApps.list`) lists registered customer applications, but each registered
|
|
5044
|
+
* customer-app can have **multiple dashboard buckets** when its API key is used to send scan
|
|
5045
|
+
* requests carrying different `metadata.app_name` values - one bucket per distinct
|
|
5046
|
+
* scan-payload name. This endpoint returns every bucket, so it is what you want for
|
|
5047
|
+
* per-app token-consumption reporting and dashboard inventory.
|
|
5048
|
+
*
|
|
5049
|
+
* The `id` field on each item is the registered `customer_appId` UUID; the `name` field is
|
|
5050
|
+
* the scan-payload value. Pass that `(id, name)` pair to {@link application} or
|
|
5051
|
+
* {@link applicationViolationBreakdown} to retrieve drill-down data for a specific bucket.
|
|
5052
|
+
*
|
|
5053
|
+
* @param query - Time window and pagination.
|
|
5054
|
+
* @returns Paginated bucket list plus pagination metadata.
|
|
5055
|
+
* @example
|
|
5056
|
+
* ```ts
|
|
5057
|
+
* import { ManagementClient } from '@cdot65/prisma-airs-sdk';
|
|
5058
|
+
* const mgmt = new ManagementClient();
|
|
5059
|
+
*
|
|
5060
|
+
* const { items } = await mgmt.dashboard.applicationsOverview();
|
|
5061
|
+
* for (const item of items ?? []) {
|
|
5062
|
+
* const overview = await mgmt.dashboard.application({
|
|
5063
|
+
* appId: item.id ?? '',
|
|
5064
|
+
* appName: item.name ?? '',
|
|
5065
|
+
* });
|
|
5066
|
+
* console.log(item.name, overview.token_stats?.monthly_total_tokens);
|
|
5067
|
+
* }
|
|
5068
|
+
* ```
|
|
5069
|
+
*/
|
|
5070
|
+
async applicationsOverview(query) {
|
|
5071
|
+
return request({
|
|
5072
|
+
method: "GET",
|
|
5073
|
+
baseUrl: this.baseUrl,
|
|
5074
|
+
path: MGMT_DASHBOARD_APPLICATIONS_OVERVIEW_PATH,
|
|
5075
|
+
params: {
|
|
5076
|
+
time_interval: String(query?.timeInterval ?? 30),
|
|
5077
|
+
time_unit: query?.timeUnit ?? "days",
|
|
5078
|
+
limit: String(query?.limit ?? 25),
|
|
5079
|
+
offset: String(query?.offset ?? 0)
|
|
5080
|
+
},
|
|
5081
|
+
responseSchema: DashboardApplicationsOverviewSchema,
|
|
5082
|
+
auth: this.auth,
|
|
5083
|
+
numRetries: this.numRetries
|
|
5084
|
+
});
|
|
5085
|
+
}
|
|
4858
5086
|
};
|
|
4859
5087
|
|
|
4860
5088
|
// src/management/dlp/data-filtering-profiles.ts
|
|
@@ -6302,6 +6530,170 @@ var ModelSecurityRulesClient = class {
|
|
|
6302
6530
|
}
|
|
6303
6531
|
};
|
|
6304
6532
|
|
|
6533
|
+
// src/model-security/models-client.ts
|
|
6534
|
+
function buildModelListParams(opts) {
|
|
6535
|
+
const params = serializeListing(opts);
|
|
6536
|
+
if (opts?.search_query !== void 0) params.search_query = opts.search_query;
|
|
6537
|
+
if (opts?.sort_field !== void 0) params.sort_field = opts.sort_field;
|
|
6538
|
+
if (opts?.sort_order !== void 0) params.sort_order = opts.sort_order;
|
|
6539
|
+
if (opts?.latest_version_outcomes !== void 0)
|
|
6540
|
+
params.latest_version_outcomes = opts.latest_version_outcomes;
|
|
6541
|
+
if (opts?.latest_version_formats !== void 0)
|
|
6542
|
+
params.latest_version_formats = opts.latest_version_formats;
|
|
6543
|
+
if (opts?.latest_version_source_types !== void 0)
|
|
6544
|
+
params.latest_version_source_types = opts.latest_version_source_types;
|
|
6545
|
+
if (opts?.latest_version_scan_time_before !== void 0)
|
|
6546
|
+
params.latest_version_scan_time_before = opts.latest_version_scan_time_before;
|
|
6547
|
+
if (opts?.start_time !== void 0) params.start_time = opts.start_time;
|
|
6548
|
+
if (opts?.end_time !== void 0) params.end_time = opts.end_time;
|
|
6549
|
+
return params;
|
|
6550
|
+
}
|
|
6551
|
+
var ModelSecurityModelsClient = class {
|
|
6552
|
+
baseUrl;
|
|
6553
|
+
auth;
|
|
6554
|
+
numRetries;
|
|
6555
|
+
constructor(opts) {
|
|
6556
|
+
this.baseUrl = opts.baseUrl;
|
|
6557
|
+
this.auth = opts.auth;
|
|
6558
|
+
this.numRetries = opts.numRetries;
|
|
6559
|
+
}
|
|
6560
|
+
/**
|
|
6561
|
+
* List models with optional search, sort, and latest-version filters.
|
|
6562
|
+
* @param opts - Pagination and filter options.
|
|
6563
|
+
* @returns Paginated list of models.
|
|
6564
|
+
* @example
|
|
6565
|
+
* ```ts
|
|
6566
|
+
* import { ModelSecurityClient } from '@cdot65/prisma-airs-sdk';
|
|
6567
|
+
* const ms = new ModelSecurityClient();
|
|
6568
|
+
*
|
|
6569
|
+
* const models = await ms.models.listModels({ limit: 10, search_query: 'llama' });
|
|
6570
|
+
* // models =>
|
|
6571
|
+
* // { pagination: { total_items: 3 }, models: [{ uuid: '550e8400-...', name: 'org/llama', latest_version_outcome: 'PASSED' }] }
|
|
6572
|
+
* ```
|
|
6573
|
+
*/
|
|
6574
|
+
async listModels(opts) {
|
|
6575
|
+
return request({
|
|
6576
|
+
method: "GET",
|
|
6577
|
+
baseUrl: this.baseUrl,
|
|
6578
|
+
path: MODEL_SEC_MODELS_PATH,
|
|
6579
|
+
params: buildModelListParams(opts),
|
|
6580
|
+
responseSchema: ModelListSchema,
|
|
6581
|
+
auth: this.auth,
|
|
6582
|
+
numRetries: this.numRetries
|
|
6583
|
+
});
|
|
6584
|
+
}
|
|
6585
|
+
/**
|
|
6586
|
+
* Get a single model by UUID.
|
|
6587
|
+
* @param uuid - Model UUID.
|
|
6588
|
+
* @returns The model.
|
|
6589
|
+
* @example
|
|
6590
|
+
* ```ts
|
|
6591
|
+
* import { ModelSecurityClient } from '@cdot65/prisma-airs-sdk';
|
|
6592
|
+
* const ms = new ModelSecurityClient();
|
|
6593
|
+
*
|
|
6594
|
+
* const model = await ms.models.getModel('550e8400-e29b-41d4-a716-446655440000');
|
|
6595
|
+
* // model =>
|
|
6596
|
+
* // { uuid: '550e8400-...', name: 'org/model', latest_version_uuid: '660e8400-...', latest_version_outcome: 'PASSED' }
|
|
6597
|
+
* ```
|
|
6598
|
+
*/
|
|
6599
|
+
async getModel(uuid) {
|
|
6600
|
+
assertUuid(uuid, "model uuid");
|
|
6601
|
+
return request({
|
|
6602
|
+
method: "GET",
|
|
6603
|
+
baseUrl: this.baseUrl,
|
|
6604
|
+
path: `${MODEL_SEC_MODELS_PATH}/${uuid}`,
|
|
6605
|
+
responseSchema: ModelResponseSchema,
|
|
6606
|
+
auth: this.auth,
|
|
6607
|
+
numRetries: this.numRetries
|
|
6608
|
+
});
|
|
6609
|
+
}
|
|
6610
|
+
/**
|
|
6611
|
+
* List the versions of a model.
|
|
6612
|
+
* @param modelUuid - Model UUID.
|
|
6613
|
+
* @param opts - Pagination and sort options.
|
|
6614
|
+
* @returns Paginated list of model versions.
|
|
6615
|
+
* @example
|
|
6616
|
+
* ```ts
|
|
6617
|
+
* import { ModelSecurityClient } from '@cdot65/prisma-airs-sdk';
|
|
6618
|
+
* const ms = new ModelSecurityClient();
|
|
6619
|
+
*
|
|
6620
|
+
* const versions = await ms.models.listModelVersions('550e8400-e29b-41d4-a716-446655440000', {
|
|
6621
|
+
* sort_order: 'desc',
|
|
6622
|
+
* });
|
|
6623
|
+
* // versions =>
|
|
6624
|
+
* // { pagination: { total_items: 2 }, model_versions: [{ uuid: '660e8400-...', revision: 'main', file_count: 12 }] }
|
|
6625
|
+
* ```
|
|
6626
|
+
*/
|
|
6627
|
+
async listModelVersions(modelUuid, opts) {
|
|
6628
|
+
assertUuid(modelUuid, "model uuid");
|
|
6629
|
+
const params = serializeListing(opts);
|
|
6630
|
+
if (opts?.sort_order !== void 0) params.sort_order = opts.sort_order;
|
|
6631
|
+
return request({
|
|
6632
|
+
method: "GET",
|
|
6633
|
+
baseUrl: this.baseUrl,
|
|
6634
|
+
path: `${MODEL_SEC_MODELS_PATH}/${modelUuid}/model-versions`,
|
|
6635
|
+
params,
|
|
6636
|
+
responseSchema: ModelVersionListSchema,
|
|
6637
|
+
auth: this.auth,
|
|
6638
|
+
numRetries: this.numRetries
|
|
6639
|
+
});
|
|
6640
|
+
}
|
|
6641
|
+
/**
|
|
6642
|
+
* Get a single model version by UUID.
|
|
6643
|
+
* @param uuid - Model version UUID.
|
|
6644
|
+
* @returns The model version.
|
|
6645
|
+
* @example
|
|
6646
|
+
* ```ts
|
|
6647
|
+
* import { ModelSecurityClient } from '@cdot65/prisma-airs-sdk';
|
|
6648
|
+
* const ms = new ModelSecurityClient();
|
|
6649
|
+
*
|
|
6650
|
+
* const version = await ms.models.getModelVersion('660e8400-e29b-41d4-a716-446655440000');
|
|
6651
|
+
* // version =>
|
|
6652
|
+
* // { uuid: '660e8400-...', revision: 'main', model_uuid: '550e8400-...', last_eval_outcome: 'PASSED' }
|
|
6653
|
+
* ```
|
|
6654
|
+
*/
|
|
6655
|
+
async getModelVersion(uuid) {
|
|
6656
|
+
assertUuid(uuid, "model version uuid");
|
|
6657
|
+
return request({
|
|
6658
|
+
method: "GET",
|
|
6659
|
+
baseUrl: this.baseUrl,
|
|
6660
|
+
path: `${MODEL_SEC_MODEL_VERSIONS_PATH}/${uuid}`,
|
|
6661
|
+
responseSchema: ModelVersionResponseSchema,
|
|
6662
|
+
auth: this.auth,
|
|
6663
|
+
numRetries: this.numRetries
|
|
6664
|
+
});
|
|
6665
|
+
}
|
|
6666
|
+
/**
|
|
6667
|
+
* List the files of a model version.
|
|
6668
|
+
* @param modelVersionUuid - Model version UUID.
|
|
6669
|
+
* @param opts - Pagination options.
|
|
6670
|
+
* @returns Paginated list of files (same shape as scan files).
|
|
6671
|
+
* @example
|
|
6672
|
+
* ```ts
|
|
6673
|
+
* import { ModelSecurityClient } from '@cdot65/prisma-airs-sdk';
|
|
6674
|
+
* const ms = new ModelSecurityClient();
|
|
6675
|
+
*
|
|
6676
|
+
* const files = await ms.models.listModelVersionFiles('660e8400-e29b-41d4-a716-446655440000', {
|
|
6677
|
+
* limit: 50,
|
|
6678
|
+
* });
|
|
6679
|
+
* // files =>
|
|
6680
|
+
* // { pagination: { total_items: 12 }, files: [{ uuid: '770e8400-...', path: '/model.safetensors', type: 'FILE', result: 'SUCCESS' }] }
|
|
6681
|
+
* ```
|
|
6682
|
+
*/
|
|
6683
|
+
async listModelVersionFiles(modelVersionUuid, opts) {
|
|
6684
|
+
assertUuid(modelVersionUuid, "model version uuid");
|
|
6685
|
+
return request({
|
|
6686
|
+
method: "GET",
|
|
6687
|
+
baseUrl: this.baseUrl,
|
|
6688
|
+
path: `${MODEL_SEC_MODEL_VERSIONS_PATH}/${modelVersionUuid}/files`,
|
|
6689
|
+
params: serializeListing(opts),
|
|
6690
|
+
responseSchema: FileListSchema,
|
|
6691
|
+
auth: this.auth,
|
|
6692
|
+
numRetries: this.numRetries
|
|
6693
|
+
});
|
|
6694
|
+
}
|
|
6695
|
+
};
|
|
6696
|
+
|
|
6305
6697
|
// src/model-security/client.ts
|
|
6306
6698
|
var ModelSecurityClient = class {
|
|
6307
6699
|
/** Data plane scan operations. */
|
|
@@ -6310,6 +6702,8 @@ var ModelSecurityClient = class {
|
|
|
6310
6702
|
securityGroups;
|
|
6311
6703
|
/** Management plane security rule operations (read-only). */
|
|
6312
6704
|
securityRules;
|
|
6705
|
+
/** Data plane model and model-version operations (read-only). */
|
|
6706
|
+
models;
|
|
6313
6707
|
mgmtEndpoint;
|
|
6314
6708
|
auth;
|
|
6315
6709
|
numRetries;
|
|
@@ -6331,6 +6725,7 @@ var ModelSecurityClient = class {
|
|
|
6331
6725
|
this.mgmtEndpoint = mgmtEndpoint;
|
|
6332
6726
|
this.numRetries = numRetries;
|
|
6333
6727
|
this.scans = new ModelSecurityScansClient({ baseUrl: dataEndpoint, auth, numRetries });
|
|
6728
|
+
this.models = new ModelSecurityModelsClient({ baseUrl: dataEndpoint, auth, numRetries });
|
|
6334
6729
|
this.securityGroups = new ModelSecurityGroupsClient({
|
|
6335
6730
|
baseUrl: mgmtEndpoint,
|
|
6336
6731
|
auth,
|
|
@@ -6368,7 +6763,7 @@ var ModelSecurityClient = class {
|
|
|
6368
6763
|
};
|
|
6369
6764
|
|
|
6370
6765
|
// src/red-team/scans-client.ts
|
|
6371
|
-
import { z as
|
|
6766
|
+
import { z as z37 } from "zod";
|
|
6372
6767
|
var RedTeamScansClient = class {
|
|
6373
6768
|
baseUrl;
|
|
6374
6769
|
auth;
|
|
@@ -6505,7 +6900,7 @@ var RedTeamScansClient = class {
|
|
|
6505
6900
|
method: "GET",
|
|
6506
6901
|
baseUrl: this.baseUrl,
|
|
6507
6902
|
path: RED_TEAM_CATEGORIES_PATH,
|
|
6508
|
-
responseSchema:
|
|
6903
|
+
responseSchema: z37.array(CategoryModelSchema),
|
|
6509
6904
|
auth: this.auth,
|
|
6510
6905
|
numRetries: this.numRetries
|
|
6511
6906
|
});
|
|
@@ -6513,7 +6908,7 @@ var RedTeamScansClient = class {
|
|
|
6513
6908
|
};
|
|
6514
6909
|
|
|
6515
6910
|
// src/red-team/reports-client.ts
|
|
6516
|
-
import { z as
|
|
6911
|
+
import { z as z38 } from "zod";
|
|
6517
6912
|
var RedTeamReportsClient = class {
|
|
6518
6913
|
baseUrl;
|
|
6519
6914
|
auth;
|
|
@@ -6888,7 +7283,7 @@ var RedTeamReportsClient = class {
|
|
|
6888
7283
|
baseUrl: this.baseUrl,
|
|
6889
7284
|
path: `${RED_TEAM_REPORT_PATH}/${jobId}/download`,
|
|
6890
7285
|
params: { file_format: format },
|
|
6891
|
-
responseSchema:
|
|
7286
|
+
responseSchema: z38.unknown(),
|
|
6892
7287
|
auth: this.auth,
|
|
6893
7288
|
numRetries: this.numRetries
|
|
6894
7289
|
});
|
|
@@ -6912,7 +7307,7 @@ var RedTeamReportsClient = class {
|
|
|
6912
7307
|
method: "POST",
|
|
6913
7308
|
baseUrl: this.baseUrl,
|
|
6914
7309
|
path: `${RED_TEAM_REPORT_PATH}/${jobId}/generate-partial-report`,
|
|
6915
|
-
responseSchema:
|
|
7310
|
+
responseSchema: z38.unknown(),
|
|
6916
7311
|
auth: this.auth,
|
|
6917
7312
|
numRetries: this.numRetries
|
|
6918
7313
|
});
|
|
@@ -6920,7 +7315,7 @@ var RedTeamReportsClient = class {
|
|
|
6920
7315
|
};
|
|
6921
7316
|
|
|
6922
7317
|
// src/red-team/custom-attack-reports-client.ts
|
|
6923
|
-
import { z as
|
|
7318
|
+
import { z as z39 } from "zod";
|
|
6924
7319
|
var RedTeamCustomAttackReportsClient = class {
|
|
6925
7320
|
baseUrl;
|
|
6926
7321
|
auth;
|
|
@@ -7010,7 +7405,7 @@ var RedTeamCustomAttackReportsClient = class {
|
|
|
7010
7405
|
baseUrl: this.baseUrl,
|
|
7011
7406
|
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/report/${jobId}/prompt-set/${promptSetId}/prompts`,
|
|
7012
7407
|
params,
|
|
7013
|
-
responseSchema:
|
|
7408
|
+
responseSchema: z39.array(PromptDetailResponseSchema),
|
|
7014
7409
|
auth: this.auth,
|
|
7015
7410
|
numRetries: this.numRetries
|
|
7016
7411
|
});
|
|
@@ -7104,7 +7499,7 @@ var RedTeamCustomAttackReportsClient = class {
|
|
|
7104
7499
|
method: "GET",
|
|
7105
7500
|
baseUrl: this.baseUrl,
|
|
7106
7501
|
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/job/${jobId}/attack/${attackId}/list-outputs`,
|
|
7107
|
-
responseSchema:
|
|
7502
|
+
responseSchema: z39.array(CustomAttackOutputSchema),
|
|
7108
7503
|
auth: this.auth,
|
|
7109
7504
|
numRetries: this.numRetries
|
|
7110
7505
|
});
|
|
@@ -7129,7 +7524,7 @@ var RedTeamCustomAttackReportsClient = class {
|
|
|
7129
7524
|
method: "GET",
|
|
7130
7525
|
baseUrl: this.baseUrl,
|
|
7131
7526
|
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/job/${jobId}/property-stats`,
|
|
7132
|
-
responseSchema:
|
|
7527
|
+
responseSchema: z39.array(PropertyStatisticSchema),
|
|
7133
7528
|
auth: this.auth,
|
|
7134
7529
|
numRetries: this.numRetries
|
|
7135
7530
|
});
|
|
@@ -7137,7 +7532,7 @@ var RedTeamCustomAttackReportsClient = class {
|
|
|
7137
7532
|
};
|
|
7138
7533
|
|
|
7139
7534
|
// src/red-team/targets-client.ts
|
|
7140
|
-
import { z as
|
|
7535
|
+
import { z as z40 } from "zod";
|
|
7141
7536
|
var RedTeamTargetsClient = class {
|
|
7142
7537
|
baseUrl;
|
|
7143
7538
|
auth;
|
|
@@ -7430,7 +7825,7 @@ var RedTeamTargetsClient = class {
|
|
|
7430
7825
|
method: "GET",
|
|
7431
7826
|
baseUrl: this.baseUrl,
|
|
7432
7827
|
path: `${RED_TEAM_TEMPLATE_PATH}/target-metadata`,
|
|
7433
|
-
responseSchema:
|
|
7828
|
+
responseSchema: z40.record(z40.unknown()),
|
|
7434
7829
|
auth: this.auth,
|
|
7435
7830
|
numRetries: this.numRetries
|
|
7436
7831
|
});
|
|
@@ -8379,6 +8774,155 @@ var RedTeamInstancesClient = class {
|
|
|
8379
8774
|
}
|
|
8380
8775
|
};
|
|
8381
8776
|
|
|
8777
|
+
// src/red-team/network-broker-client.ts
|
|
8778
|
+
var RedTeamNetworkBrokerClient = class {
|
|
8779
|
+
baseUrl;
|
|
8780
|
+
auth;
|
|
8781
|
+
numRetries;
|
|
8782
|
+
constructor(opts) {
|
|
8783
|
+
this.baseUrl = opts.baseUrl;
|
|
8784
|
+
this.auth = opts.auth;
|
|
8785
|
+
this.numRetries = opts.numRetries;
|
|
8786
|
+
}
|
|
8787
|
+
/**
|
|
8788
|
+
* List network broker channels with optional filters.
|
|
8789
|
+
* @param opts - Optional pagination, search, and status filter options.
|
|
8790
|
+
* @returns The paginated list of channels.
|
|
8791
|
+
* @example
|
|
8792
|
+
* ```ts
|
|
8793
|
+
* import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
|
|
8794
|
+
* const rt = new RedTeamClient();
|
|
8795
|
+
*
|
|
8796
|
+
* const channels = await rt.networkBroker.listChannels({ status: ['ONLINE', 'DRAFT'], limit: 10 });
|
|
8797
|
+
* // channels =>
|
|
8798
|
+
* // { pagination: { total_items: 2 }, data: [{ uuid: '550e8400-...', name: 'prod-broker', status: 'ONLINE' }] }
|
|
8799
|
+
* ```
|
|
8800
|
+
*/
|
|
8801
|
+
async listChannels(opts) {
|
|
8802
|
+
const params = serializeListing(opts);
|
|
8803
|
+
if (opts?.status !== void 0) {
|
|
8804
|
+
params.status = Array.isArray(opts.status) ? opts.status : [opts.status];
|
|
8805
|
+
}
|
|
8806
|
+
if (opts?.include_all_if_empty !== void 0) {
|
|
8807
|
+
params.include_all_if_empty = String(opts.include_all_if_empty);
|
|
8808
|
+
}
|
|
8809
|
+
return request({
|
|
8810
|
+
method: "GET",
|
|
8811
|
+
baseUrl: this.baseUrl,
|
|
8812
|
+
path: RED_TEAM_CHANNELS_PATH,
|
|
8813
|
+
params,
|
|
8814
|
+
responseSchema: ChannelListResponseSchema,
|
|
8815
|
+
auth: this.auth,
|
|
8816
|
+
numRetries: this.numRetries
|
|
8817
|
+
});
|
|
8818
|
+
}
|
|
8819
|
+
/**
|
|
8820
|
+
* Create a network broker channel.
|
|
8821
|
+
* @param body - Channel creation request body (requires `name`).
|
|
8822
|
+
* @returns The created channel.
|
|
8823
|
+
* @example
|
|
8824
|
+
* ```ts
|
|
8825
|
+
* import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
|
|
8826
|
+
* const rt = new RedTeamClient();
|
|
8827
|
+
*
|
|
8828
|
+
* const channel = await rt.networkBroker.createChannel({
|
|
8829
|
+
* name: 'prod-broker',
|
|
8830
|
+
* description: 'Production network broker channel',
|
|
8831
|
+
* });
|
|
8832
|
+
* // channel =>
|
|
8833
|
+
* // { uuid: '550e8400-...', name: 'prod-broker', status: 'DRAFT' }
|
|
8834
|
+
* ```
|
|
8835
|
+
*/
|
|
8836
|
+
async createChannel(body) {
|
|
8837
|
+
return request({
|
|
8838
|
+
method: "POST",
|
|
8839
|
+
baseUrl: this.baseUrl,
|
|
8840
|
+
path: RED_TEAM_CHANNELS_PATH,
|
|
8841
|
+
body,
|
|
8842
|
+
responseSchema: ChannelSchema,
|
|
8843
|
+
auth: this.auth,
|
|
8844
|
+
numRetries: this.numRetries
|
|
8845
|
+
});
|
|
8846
|
+
}
|
|
8847
|
+
/**
|
|
8848
|
+
* Get network broker channel stats.
|
|
8849
|
+
* @returns The channel stats (broker server, registry, chart, image, channel counts).
|
|
8850
|
+
* @example
|
|
8851
|
+
* ```ts
|
|
8852
|
+
* import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
|
|
8853
|
+
* const rt = new RedTeamClient();
|
|
8854
|
+
*
|
|
8855
|
+
* const stats = await rt.networkBroker.getChannelStats();
|
|
8856
|
+
* // stats =>
|
|
8857
|
+
* // { network_channels_server_domain: 'broker.example.com', online_channels: 3, total_channels: 5, client_version: '1.4.0' }
|
|
8858
|
+
* ```
|
|
8859
|
+
*/
|
|
8860
|
+
async getChannelStats() {
|
|
8861
|
+
return request({
|
|
8862
|
+
method: "GET",
|
|
8863
|
+
baseUrl: this.baseUrl,
|
|
8864
|
+
path: RED_TEAM_CHANNELS_STATS_PATH,
|
|
8865
|
+
responseSchema: ChannelStatsSchema,
|
|
8866
|
+
auth: this.auth,
|
|
8867
|
+
numRetries: this.numRetries
|
|
8868
|
+
});
|
|
8869
|
+
}
|
|
8870
|
+
/**
|
|
8871
|
+
* Get a network broker channel by UUID.
|
|
8872
|
+
* @param channelId - The channel UUID.
|
|
8873
|
+
* @returns The channel.
|
|
8874
|
+
* @example
|
|
8875
|
+
* ```ts
|
|
8876
|
+
* import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
|
|
8877
|
+
* const rt = new RedTeamClient();
|
|
8878
|
+
*
|
|
8879
|
+
* const channel = await rt.networkBroker.getChannel('550e8400-e29b-41d4-a716-446655440000');
|
|
8880
|
+
* // channel =>
|
|
8881
|
+
* // { uuid: '550e8400-...', name: 'prod-broker', status: 'ONLINE' }
|
|
8882
|
+
* ```
|
|
8883
|
+
*/
|
|
8884
|
+
async getChannel(channelId) {
|
|
8885
|
+
assertUuid(channelId, "channel id");
|
|
8886
|
+
return request({
|
|
8887
|
+
method: "GET",
|
|
8888
|
+
baseUrl: this.baseUrl,
|
|
8889
|
+
path: `${RED_TEAM_CHANNELS_PATH}/${channelId}`,
|
|
8890
|
+
responseSchema: ChannelSchema,
|
|
8891
|
+
auth: this.auth,
|
|
8892
|
+
numRetries: this.numRetries
|
|
8893
|
+
});
|
|
8894
|
+
}
|
|
8895
|
+
/**
|
|
8896
|
+
* Update a network broker channel's name or description.
|
|
8897
|
+
* @param channelId - The channel UUID.
|
|
8898
|
+
* @param body - Channel update request body.
|
|
8899
|
+
* @returns The updated channel.
|
|
8900
|
+
* @example
|
|
8901
|
+
* ```ts
|
|
8902
|
+
* import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
|
|
8903
|
+
* const rt = new RedTeamClient();
|
|
8904
|
+
*
|
|
8905
|
+
* const channel = await rt.networkBroker.updateChannel('550e8400-e29b-41d4-a716-446655440000', {
|
|
8906
|
+
* description: 'Updated description',
|
|
8907
|
+
* });
|
|
8908
|
+
* // channel =>
|
|
8909
|
+
* // { uuid: '550e8400-...', name: 'prod-broker', description: 'Updated description', status: 'ONLINE' }
|
|
8910
|
+
* ```
|
|
8911
|
+
*/
|
|
8912
|
+
async updateChannel(channelId, body) {
|
|
8913
|
+
assertUuid(channelId, "channel id");
|
|
8914
|
+
return request({
|
|
8915
|
+
method: "PATCH",
|
|
8916
|
+
baseUrl: this.baseUrl,
|
|
8917
|
+
path: `${RED_TEAM_CHANNELS_PATH}/${channelId}`,
|
|
8918
|
+
body,
|
|
8919
|
+
responseSchema: ChannelSchema,
|
|
8920
|
+
auth: this.auth,
|
|
8921
|
+
numRetries: this.numRetries
|
|
8922
|
+
});
|
|
8923
|
+
}
|
|
8924
|
+
};
|
|
8925
|
+
|
|
8382
8926
|
// src/red-team/client.ts
|
|
8383
8927
|
var RedTeamClient = class {
|
|
8384
8928
|
/** Data plane scan operations. */
|
|
@@ -8395,6 +8939,8 @@ var RedTeamClient = class {
|
|
|
8395
8939
|
eula;
|
|
8396
8940
|
/** Management plane instance/licensing operations. */
|
|
8397
8941
|
instances;
|
|
8942
|
+
/** Network broker channel operations (distinct network broker base URL). */
|
|
8943
|
+
networkBroker;
|
|
8398
8944
|
dataEndpoint;
|
|
8399
8945
|
mgmtEndpoint;
|
|
8400
8946
|
auth;
|
|
@@ -8402,6 +8948,7 @@ var RedTeamClient = class {
|
|
|
8402
8948
|
constructor(opts = {}) {
|
|
8403
8949
|
const dataEndpoint = opts.dataEndpoint ?? process.env[RED_TEAM_DATA_ENDPOINT] ?? DEFAULT_RED_TEAM_DATA_ENDPOINT;
|
|
8404
8950
|
const mgmtEndpoint = opts.mgmtEndpoint ?? process.env[RED_TEAM_MGMT_ENDPOINT] ?? DEFAULT_RED_TEAM_MGMT_ENDPOINT;
|
|
8951
|
+
const networkBrokerEndpoint = opts.networkBrokerEndpoint ?? process.env[RED_TEAM_NETWORK_BROKER_ENDPOINT] ?? DEFAULT_RED_TEAM_NETWORK_BROKER_ENDPOINT;
|
|
8405
8952
|
const { oauthClient, numRetries } = resolveOAuthConfig({
|
|
8406
8953
|
clientId: opts.clientId,
|
|
8407
8954
|
clientSecret: opts.clientSecret,
|
|
@@ -8432,6 +8979,11 @@ var RedTeamClient = class {
|
|
|
8432
8979
|
});
|
|
8433
8980
|
this.eula = new RedTeamEulaClient({ baseUrl: mgmtEndpoint, auth, numRetries });
|
|
8434
8981
|
this.instances = new RedTeamInstancesClient({ baseUrl: mgmtEndpoint, auth, numRetries });
|
|
8982
|
+
this.networkBroker = new RedTeamNetworkBrokerClient({
|
|
8983
|
+
baseUrl: networkBrokerEndpoint,
|
|
8984
|
+
auth,
|
|
8985
|
+
numRetries
|
|
8986
|
+
});
|
|
8435
8987
|
}
|
|
8436
8988
|
// -----------------------------------------------------------------------
|
|
8437
8989
|
// Data plane convenience methods
|
|
@@ -8540,6 +9092,82 @@ var RedTeamClient = class {
|
|
|
8540
9092
|
numRetries: this.numRetries
|
|
8541
9093
|
});
|
|
8542
9094
|
}
|
|
9095
|
+
/**
|
|
9096
|
+
* List profiling error logs for a target (data plane).
|
|
9097
|
+
* @param targetId - The target UUID.
|
|
9098
|
+
* @param opts - Optional pagination/search options (the endpoint honors `limit`).
|
|
9099
|
+
* @returns The paginated list of target-profile error logs.
|
|
9100
|
+
* @example
|
|
9101
|
+
* ```ts
|
|
9102
|
+
* import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
|
|
9103
|
+
* const rt = new RedTeamClient();
|
|
9104
|
+
*
|
|
9105
|
+
* const logs = await rt.getTargetProfileErrorLogs('550e8400-e29b-41d4-a716-446655440000', { limit: 10 });
|
|
9106
|
+
* // logs =>
|
|
9107
|
+
* // { pagination: { total_items: 1 }, data: [{ target_id: '550e8400-...', error_type: 'PROBE', error_message: '...', created_at: '2025-01-01T00:00:00Z' }] }
|
|
9108
|
+
* ```
|
|
9109
|
+
*/
|
|
9110
|
+
async getTargetProfileErrorLogs(targetId, opts) {
|
|
9111
|
+
assertUuid(targetId, "target id");
|
|
9112
|
+
return request({
|
|
9113
|
+
method: "GET",
|
|
9114
|
+
baseUrl: this.dataEndpoint,
|
|
9115
|
+
path: `${RED_TEAM_ERROR_LOG_TARGET_PROFILE_PATH}/${targetId}`,
|
|
9116
|
+
params: serializeListing(opts),
|
|
9117
|
+
responseSchema: ErrorLogListResponseSchema,
|
|
9118
|
+
auth: this.auth,
|
|
9119
|
+
numRetries: this.numRetries
|
|
9120
|
+
});
|
|
9121
|
+
}
|
|
9122
|
+
/**
|
|
9123
|
+
* Get the tenant's allowed languages for Red Team scans (data plane).
|
|
9124
|
+
* @returns The supported-languages response.
|
|
9125
|
+
* @example
|
|
9126
|
+
* ```ts
|
|
9127
|
+
* import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
|
|
9128
|
+
* const rt = new RedTeamClient();
|
|
9129
|
+
*
|
|
9130
|
+
* const langs = await rt.getLanguages();
|
|
9131
|
+
* // langs =>
|
|
9132
|
+
* // { multilingual_enabled: true, supported_job_types: ['STATIC', 'DYNAMIC'],
|
|
9133
|
+
* // languages: [{ code: 'en', name: 'English' }, { code: 'es', name: 'Spanish' }] }
|
|
9134
|
+
* ```
|
|
9135
|
+
*/
|
|
9136
|
+
async getLanguages() {
|
|
9137
|
+
return request({
|
|
9138
|
+
method: "GET",
|
|
9139
|
+
baseUrl: this.dataEndpoint,
|
|
9140
|
+
path: RED_TEAM_LANGUAGES_PATH,
|
|
9141
|
+
responseSchema: TenantLanguagesResponseSchema,
|
|
9142
|
+
auth: this.auth,
|
|
9143
|
+
numRetries: this.numRetries
|
|
9144
|
+
});
|
|
9145
|
+
}
|
|
9146
|
+
/**
|
|
9147
|
+
* Get the tenant's allowed languages from the management plane.
|
|
9148
|
+
* Same response shape as {@link RedTeamClient.getLanguages}, served from the management endpoint.
|
|
9149
|
+
* @returns The supported-languages response.
|
|
9150
|
+
* @example
|
|
9151
|
+
* ```ts
|
|
9152
|
+
* import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
|
|
9153
|
+
* const rt = new RedTeamClient();
|
|
9154
|
+
*
|
|
9155
|
+
* const langs = await rt.getManagementLanguages();
|
|
9156
|
+
* // langs =>
|
|
9157
|
+
* // { multilingual_enabled: true, supported_job_types: ['STATIC', 'DYNAMIC'],
|
|
9158
|
+
* // languages: [{ code: 'en', name: 'English' }] }
|
|
9159
|
+
* ```
|
|
9160
|
+
*/
|
|
9161
|
+
async getManagementLanguages() {
|
|
9162
|
+
return request({
|
|
9163
|
+
method: "GET",
|
|
9164
|
+
baseUrl: this.mgmtEndpoint,
|
|
9165
|
+
path: RED_TEAM_LANGUAGES_PATH,
|
|
9166
|
+
responseSchema: TenantLanguagesResponseSchema,
|
|
9167
|
+
auth: this.auth,
|
|
9168
|
+
numRetries: this.numRetries
|
|
9169
|
+
});
|
|
9170
|
+
}
|
|
8543
9171
|
/**
|
|
8544
9172
|
* Update sentiment for a scan report.
|
|
8545
9173
|
* @param body - The sentiment request body.
|
|
@@ -8667,6 +9295,12 @@ export {
|
|
|
8667
9295
|
CategoryModelSchema,
|
|
8668
9296
|
CategoryReportSchema,
|
|
8669
9297
|
CgReportSchema,
|
|
9298
|
+
ChannelListPaginationSchema,
|
|
9299
|
+
ChannelListResponseSchema,
|
|
9300
|
+
ChannelSchema,
|
|
9301
|
+
ChannelStatsSchema,
|
|
9302
|
+
ChannelStatus,
|
|
9303
|
+
ChannelStatusSchema,
|
|
8670
9304
|
ClientIdAndCustomerAppSchema,
|
|
8671
9305
|
CmdEntrySchema,
|
|
8672
9306
|
CmdInjectReportSchema,
|
|
@@ -8680,6 +9314,7 @@ export {
|
|
|
8680
9314
|
ContentErrorType,
|
|
8681
9315
|
CountByNameSchema,
|
|
8682
9316
|
CountedQuotaEnum,
|
|
9317
|
+
CreateChannelRequestSchema,
|
|
8683
9318
|
CreateCustomTopicRequestSchema,
|
|
8684
9319
|
CreateSecurityProfileRequestSchema,
|
|
8685
9320
|
CustomAttackOutputSchema,
|
|
@@ -8714,6 +9349,7 @@ export {
|
|
|
8714
9349
|
DEFAULT_MODEL_SEC_MGMT_ENDPOINT,
|
|
8715
9350
|
DEFAULT_RED_TEAM_DATA_ENDPOINT,
|
|
8716
9351
|
DEFAULT_RED_TEAM_MGMT_ENDPOINT,
|
|
9352
|
+
DEFAULT_RED_TEAM_NETWORK_BROKER_ENDPOINT,
|
|
8717
9353
|
DEFAULT_TOKEN_ENDPOINT,
|
|
8718
9354
|
DLP_DATA_FILTERING_PROFILES_PATH,
|
|
8719
9355
|
DLP_DATA_PATTERNS_PATH,
|
|
@@ -8722,9 +9358,13 @@ export {
|
|
|
8722
9358
|
DSDetailResultSchema,
|
|
8723
9359
|
DSResultMetadataSchema,
|
|
8724
9360
|
DashboardApplicationSchema,
|
|
9361
|
+
DashboardApplicationSessionsBucketSchema,
|
|
8725
9362
|
DashboardApplicationViolationBreakdownSchema,
|
|
9363
|
+
DashboardApplicationsOverviewItemSchema,
|
|
9364
|
+
DashboardApplicationsOverviewSchema,
|
|
8726
9365
|
DashboardClient,
|
|
8727
9366
|
DashboardOverviewResponseSchema,
|
|
9367
|
+
DashboardPaginationSchema,
|
|
8728
9368
|
DashboardSessionStatsSchema,
|
|
8729
9369
|
DataFilteringDetailsSchema,
|
|
8730
9370
|
DataFilteringProfileRequestSchema,
|
|
@@ -8851,6 +9491,7 @@ export {
|
|
|
8851
9491
|
LabelValueListSchema,
|
|
8852
9492
|
LabelsCreateRequestSchema,
|
|
8853
9493
|
LabelsResponseSchema,
|
|
9494
|
+
LanguageOptionSchema,
|
|
8854
9495
|
ListModelSecurityGroupsResponseSchema,
|
|
8855
9496
|
ListModelSecurityRuleInstancesResponseSchema,
|
|
8856
9497
|
ListModelSecurityRulesResponseSchema,
|
|
@@ -8875,6 +9516,7 @@ export {
|
|
|
8875
9516
|
MGMT_CLIENT_SECRET,
|
|
8876
9517
|
MGMT_CUSTOMER_APPS_TSG_PATH,
|
|
8877
9518
|
MGMT_CUSTOMER_APP_PATH,
|
|
9519
|
+
MGMT_DASHBOARD_APPLICATIONS_OVERVIEW_PATH,
|
|
8878
9520
|
MGMT_DASHBOARD_APPLICATION_PATH,
|
|
8879
9521
|
MGMT_DASHBOARD_APPLICATION_VIOLATION_BREAKDOWN_PATH,
|
|
8880
9522
|
MGMT_DEPLOYMENT_PROFILES_PATH,
|
|
@@ -8895,6 +9537,8 @@ export {
|
|
|
8895
9537
|
MODEL_SEC_DATA_ENDPOINT,
|
|
8896
9538
|
MODEL_SEC_EVALUATIONS_PATH,
|
|
8897
9539
|
MODEL_SEC_MGMT_ENDPOINT,
|
|
9540
|
+
MODEL_SEC_MODELS_PATH,
|
|
9541
|
+
MODEL_SEC_MODEL_VERSIONS_PATH,
|
|
8898
9542
|
MODEL_SEC_PYPI_AUTH_PATH,
|
|
8899
9543
|
MODEL_SEC_SCANS_PATH,
|
|
8900
9544
|
MODEL_SEC_SECURITY_GROUPS_PATH,
|
|
@@ -8911,7 +9555,9 @@ export {
|
|
|
8911
9555
|
MetadataCriterionSchema,
|
|
8912
9556
|
MetadataSchema,
|
|
8913
9557
|
ModelConfigurationSchema,
|
|
9558
|
+
ModelListSchema,
|
|
8914
9559
|
ModelProtectionItemSchema,
|
|
9560
|
+
ModelResponseSchema,
|
|
8915
9561
|
ModelScanIssueSchema,
|
|
8916
9562
|
ModelScanStatus,
|
|
8917
9563
|
ModelSecurityClient,
|
|
@@ -8920,12 +9566,15 @@ export {
|
|
|
8920
9566
|
ModelSecurityGroupState,
|
|
8921
9567
|
ModelSecurityGroupUpdateRequestSchema,
|
|
8922
9568
|
ModelSecurityGroupsClient,
|
|
9569
|
+
ModelSecurityModelsClient,
|
|
8923
9570
|
ModelSecurityPaginationSchema,
|
|
8924
9571
|
ModelSecurityRuleInstanceResponseSchema,
|
|
8925
9572
|
ModelSecurityRuleInstanceUpdateRequestSchema,
|
|
8926
9573
|
ModelSecurityRuleResponseSchema,
|
|
8927
9574
|
ModelSecurityRulesClient,
|
|
8928
9575
|
ModelSecurityScansClient,
|
|
9576
|
+
ModelVersionListSchema,
|
|
9577
|
+
ModelVersionResponseSchema,
|
|
8929
9578
|
MultiProfileDataNodeSchema,
|
|
8930
9579
|
MultiProfileDetectionRuleSchema,
|
|
8931
9580
|
MultiTurnStatefulConfigSchema,
|
|
@@ -8970,6 +9619,8 @@ export {
|
|
|
8970
9619
|
QuotaDetailsSchema,
|
|
8971
9620
|
QuotaSummarySchema,
|
|
8972
9621
|
RED_TEAM_CATEGORIES_PATH,
|
|
9622
|
+
RED_TEAM_CHANNELS_PATH,
|
|
9623
|
+
RED_TEAM_CHANNELS_STATS_PATH,
|
|
8973
9624
|
RED_TEAM_CLIENT_ID,
|
|
8974
9625
|
RED_TEAM_CLIENT_SECRET,
|
|
8975
9626
|
RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH,
|
|
@@ -8977,10 +9628,13 @@ export {
|
|
|
8977
9628
|
RED_TEAM_DASHBOARD_PATH,
|
|
8978
9629
|
RED_TEAM_DATA_ENDPOINT,
|
|
8979
9630
|
RED_TEAM_ERROR_LOG_PATH,
|
|
9631
|
+
RED_TEAM_ERROR_LOG_TARGET_PROFILE_PATH,
|
|
8980
9632
|
RED_TEAM_EULA_PATH,
|
|
8981
9633
|
RED_TEAM_INSTANCES_PATH,
|
|
9634
|
+
RED_TEAM_LANGUAGES_PATH,
|
|
8982
9635
|
RED_TEAM_MGMT_DASHBOARD_PATH,
|
|
8983
9636
|
RED_TEAM_MGMT_ENDPOINT,
|
|
9637
|
+
RED_TEAM_NETWORK_BROKER_ENDPOINT,
|
|
8984
9638
|
RED_TEAM_QUOTA_PATH,
|
|
8985
9639
|
RED_TEAM_REGISTRY_CREDENTIALS_PATH,
|
|
8986
9640
|
RED_TEAM_REPORT_DYNAMIC_PATH,
|
|
@@ -9000,6 +9654,7 @@ export {
|
|
|
9000
9654
|
RedTeamErrorType,
|
|
9001
9655
|
RedTeamEulaClient,
|
|
9002
9656
|
RedTeamInstancesClient,
|
|
9657
|
+
RedTeamNetworkBrokerClient,
|
|
9003
9658
|
RedTeamPaginationSchema,
|
|
9004
9659
|
RedTeamReportsClient,
|
|
9005
9660
|
RedTeamScansClient,
|
|
@@ -9102,6 +9757,7 @@ export {
|
|
|
9102
9757
|
TargetType,
|
|
9103
9758
|
TargetUpdateRequestSchema,
|
|
9104
9759
|
TcReportSchema,
|
|
9760
|
+
TenantLanguagesResponseSchema,
|
|
9105
9761
|
TgReportSchema,
|
|
9106
9762
|
ThreatCategory,
|
|
9107
9763
|
ThreatScanReportSchema,
|
|
@@ -9117,11 +9773,13 @@ export {
|
|
|
9117
9773
|
TopicsClient,
|
|
9118
9774
|
URLExclusionSchema,
|
|
9119
9775
|
USER_AGENT,
|
|
9776
|
+
UpdateChannelRequestSchema,
|
|
9120
9777
|
UrlCategorySchema,
|
|
9121
9778
|
UrlfEntrySchema,
|
|
9122
9779
|
ValidationErrorSchema,
|
|
9123
9780
|
Verdict,
|
|
9124
9781
|
ViolationListSchema,
|
|
9782
|
+
ViolationRemediationSchema,
|
|
9125
9783
|
ViolationResponseSchema,
|
|
9126
9784
|
ViolationSeverityCountsSchema,
|
|
9127
9785
|
WebSocketConnectionParamsSchema,
|