@cdot65/prisma-airs-sdk 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3791 -112
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22191 -116
- package/dist/index.d.ts +22191 -116
- package/dist/index.js +3566 -112
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -25,33 +25,115 @@ __export(index_exports, {
|
|
|
25
25
|
AI_SEC_API_KEY: () => AI_SEC_API_KEY,
|
|
26
26
|
AI_SEC_API_TOKEN: () => AI_SEC_API_TOKEN,
|
|
27
27
|
ASYNC_SCAN_PATH: () => ASYNC_SCAN_PATH,
|
|
28
|
+
Action: () => Action,
|
|
28
29
|
AgentMetaSchema: () => AgentMetaSchema,
|
|
29
30
|
AiProfileSchema: () => AiProfileSchema,
|
|
31
|
+
ApiEndpointType: () => ApiEndpointType,
|
|
30
32
|
AsyncScanObjectSchema: () => AsyncScanObjectSchema,
|
|
31
33
|
AsyncScanResponseSchema: () => AsyncScanResponseSchema,
|
|
34
|
+
AttackDetailResponseSchema: () => AttackDetailResponseSchema,
|
|
35
|
+
AttackListItemSchema: () => AttackListItemSchema,
|
|
36
|
+
AttackListResponseSchema: () => AttackListResponseSchema,
|
|
37
|
+
AttackMultiTurnDetailResponseSchema: () => AttackMultiTurnDetailResponseSchema,
|
|
38
|
+
AttackMultiTurnOutputSchema: () => AttackMultiTurnOutputSchema,
|
|
39
|
+
AttackOutputSchema: () => AttackOutputSchema,
|
|
40
|
+
AttackStatus: () => AttackStatus,
|
|
41
|
+
AttackType: () => AttackType,
|
|
42
|
+
AuthType: () => AuthType,
|
|
32
43
|
BEARER: () => BEARER,
|
|
44
|
+
BaseResponseSchema: () => BaseResponseSchema,
|
|
45
|
+
BrandSubCategory: () => BrandSubCategory,
|
|
46
|
+
Category: () => Category,
|
|
47
|
+
CategoryModelSchema: () => CategoryModelSchema,
|
|
48
|
+
CategoryReportSchema: () => CategoryReportSchema,
|
|
49
|
+
ComplianceReportSchema: () => ComplianceReportSchema,
|
|
50
|
+
ComplianceSubCategory: () => ComplianceSubCategory,
|
|
51
|
+
ComplianceTechniqueSchema: () => ComplianceTechniqueSchema,
|
|
33
52
|
Content: () => Content,
|
|
53
|
+
CountByNameSchema: () => CountByNameSchema,
|
|
54
|
+
CountedQuotaEnum: () => CountedQuotaEnum,
|
|
34
55
|
CreateCustomTopicRequestSchema: () => CreateCustomTopicRequestSchema,
|
|
35
56
|
CreateSecurityProfileRequestSchema: () => CreateSecurityProfileRequestSchema,
|
|
57
|
+
CustomAttackOutputSchema: () => CustomAttackOutputSchema,
|
|
58
|
+
CustomAttackReportResponseSchema: () => CustomAttackReportResponseSchema,
|
|
59
|
+
CustomAttacksListResponseSchema: () => CustomAttacksListResponseSchema,
|
|
60
|
+
CustomJobMetadataSchema: () => CustomJobMetadataSchema,
|
|
61
|
+
CustomPromptCreateRequestSchema: () => CustomPromptCreateRequestSchema,
|
|
62
|
+
CustomPromptListItemSchema: () => CustomPromptListItemSchema,
|
|
63
|
+
CustomPromptListSchema: () => CustomPromptListSchema,
|
|
64
|
+
CustomPromptResponseSchema: () => CustomPromptResponseSchema,
|
|
65
|
+
CustomPromptSetArchiveRequestSchema: () => CustomPromptSetArchiveRequestSchema,
|
|
66
|
+
CustomPromptSetCreateRequestSchema: () => CustomPromptSetCreateRequestSchema,
|
|
67
|
+
CustomPromptSetListActiveSchema: () => CustomPromptSetListActiveSchema,
|
|
68
|
+
CustomPromptSetListItemSchema: () => CustomPromptSetListItemSchema,
|
|
69
|
+
CustomPromptSetListSchema: () => CustomPromptSetListSchema,
|
|
70
|
+
CustomPromptSetReferenceSchema: () => CustomPromptSetReferenceSchema,
|
|
71
|
+
CustomPromptSetResponseSchema: () => CustomPromptSetResponseSchema,
|
|
72
|
+
CustomPromptSetUpdateRequestSchema: () => CustomPromptSetUpdateRequestSchema,
|
|
73
|
+
CustomPromptSetVersionInfoSchema: () => CustomPromptSetVersionInfoSchema,
|
|
74
|
+
CustomPromptUpdateRequestSchema: () => CustomPromptUpdateRequestSchema,
|
|
36
75
|
CustomTopicListResponseSchema: () => CustomTopicListResponseSchema,
|
|
37
76
|
CustomTopicSchema: () => CustomTopicSchema,
|
|
38
77
|
DEFAULT_ENDPOINT: () => DEFAULT_ENDPOINT,
|
|
39
78
|
DEFAULT_MGMT_ENDPOINT: () => DEFAULT_MGMT_ENDPOINT,
|
|
79
|
+
DEFAULT_MODEL_SEC_DATA_ENDPOINT: () => DEFAULT_MODEL_SEC_DATA_ENDPOINT,
|
|
80
|
+
DEFAULT_MODEL_SEC_MGMT_ENDPOINT: () => DEFAULT_MODEL_SEC_MGMT_ENDPOINT,
|
|
81
|
+
DEFAULT_RED_TEAM_DATA_ENDPOINT: () => DEFAULT_RED_TEAM_DATA_ENDPOINT,
|
|
82
|
+
DEFAULT_RED_TEAM_MGMT_ENDPOINT: () => DEFAULT_RED_TEAM_MGMT_ENDPOINT,
|
|
40
83
|
DEFAULT_TOKEN_ENDPOINT: () => DEFAULT_TOKEN_ENDPOINT,
|
|
41
84
|
DSDetailResultSchema: () => DSDetailResultSchema,
|
|
42
85
|
DSResultMetadataSchema: () => DSResultMetadataSchema,
|
|
86
|
+
DashboardOverviewResponseSchema: () => DashboardOverviewResponseSchema,
|
|
87
|
+
DateRangeFilter: () => DateRangeFilter,
|
|
43
88
|
DeleteProfileConflictSchema: () => DeleteProfileConflictSchema,
|
|
44
89
|
DeleteProfileResponseSchema: () => DeleteProfileResponseSchema,
|
|
45
90
|
DeleteTopicConflictSchema: () => DeleteTopicConflictSchema,
|
|
46
91
|
DeleteTopicResponseSchema: () => DeleteTopicResponseSchema,
|
|
47
92
|
DetectionServiceResultSchema: () => DetectionServiceResultSchema,
|
|
48
93
|
DlpReportSchema: () => DlpReportSchema,
|
|
94
|
+
DynamicJobMetadataSchema: () => DynamicJobMetadataSchema,
|
|
95
|
+
DynamicJobReportSchema: () => DynamicJobReportSchema,
|
|
96
|
+
DynamicJobReportStatsSchema: () => DynamicJobReportStatsSchema,
|
|
97
|
+
ErrorCodes: () => ErrorCodes,
|
|
98
|
+
ErrorLogListResponseSchema: () => ErrorLogListResponseSchema,
|
|
99
|
+
ErrorLogSchema: () => ErrorLogSchema,
|
|
49
100
|
ErrorResponseSchema: () => ErrorResponseSchema,
|
|
101
|
+
ErrorSource: () => ErrorSource,
|
|
50
102
|
ErrorType: () => ErrorType,
|
|
103
|
+
EvalOutcome: () => EvalOutcome,
|
|
104
|
+
EvalSummarySchema: () => EvalSummarySchema,
|
|
105
|
+
FileFormat: () => FileFormat,
|
|
106
|
+
FileListSchema: () => FileListSchema,
|
|
107
|
+
FileResponseSchema: () => FileResponseSchema,
|
|
108
|
+
FileScanDataSchema: () => FileScanDataSchema,
|
|
109
|
+
FileScanResult: () => FileScanResult,
|
|
110
|
+
FileType: () => FileType,
|
|
111
|
+
GoalListResponseSchema: () => GoalListResponseSchema,
|
|
112
|
+
GoalSchema: () => GoalSchema,
|
|
113
|
+
GoalType: () => GoalType,
|
|
114
|
+
GoalTypeQueryParam: () => GoalTypeQueryParam,
|
|
115
|
+
GuardrailAction: () => GuardrailAction,
|
|
51
116
|
HEADER_API_KEY: () => HEADER_API_KEY,
|
|
52
117
|
HEADER_AUTH_TOKEN: () => HEADER_AUTH_TOKEN,
|
|
118
|
+
HTTPValidationErrorSchema: () => HTTPValidationErrorSchema,
|
|
53
119
|
HTTP_FORCE_RETRY_STATUS_CODES: () => HTTP_FORCE_RETRY_STATUS_CODES,
|
|
54
120
|
IODetectedSchema: () => IODetectedSchema,
|
|
121
|
+
JobAbortResponseSchema: () => JobAbortResponseSchema,
|
|
122
|
+
JobCreateRequestSchema: () => JobCreateRequestSchema,
|
|
123
|
+
JobListResponseSchema: () => JobListResponseSchema,
|
|
124
|
+
JobResponseSchema: () => JobResponseSchema,
|
|
125
|
+
JobStatus: () => JobStatus,
|
|
126
|
+
JobStatusFilter: () => JobStatusFilter,
|
|
127
|
+
JobTimeRecordSchema: () => JobTimeRecordSchema,
|
|
128
|
+
JobType: () => JobType,
|
|
129
|
+
LabelKeyListSchema: () => LabelKeyListSchema,
|
|
130
|
+
LabelSchema: () => LabelSchema,
|
|
131
|
+
LabelValueListSchema: () => LabelValueListSchema,
|
|
132
|
+
LabelsCreateRequestSchema: () => LabelsCreateRequestSchema,
|
|
133
|
+
LabelsResponseSchema: () => LabelsResponseSchema,
|
|
134
|
+
ListModelSecurityGroupsResponseSchema: () => ListModelSecurityGroupsResponseSchema,
|
|
135
|
+
ListModelSecurityRuleInstancesResponseSchema: () => ListModelSecurityRuleInstancesResponseSchema,
|
|
136
|
+
ListModelSecurityRulesResponseSchema: () => ListModelSecurityRulesResponseSchema,
|
|
55
137
|
MAX_AI_PROFILE_NAME_LENGTH: () => MAX_AI_PROFILE_NAME_LENGTH,
|
|
56
138
|
MAX_API_KEY_LENGTH: () => MAX_API_KEY_LENGTH,
|
|
57
139
|
MAX_CONNECTION_POOL_SIZE: () => MAX_CONNECTION_POOL_SIZE,
|
|
@@ -77,28 +159,167 @@ __export(index_exports, {
|
|
|
77
159
|
MGMT_TOPIC_FORCE_PATH: () => MGMT_TOPIC_FORCE_PATH,
|
|
78
160
|
MGMT_TOPIC_PATH: () => MGMT_TOPIC_PATH,
|
|
79
161
|
MGMT_TSG_ID: () => MGMT_TSG_ID,
|
|
162
|
+
MODEL_SEC_CLIENT_ID: () => MODEL_SEC_CLIENT_ID,
|
|
163
|
+
MODEL_SEC_CLIENT_SECRET: () => MODEL_SEC_CLIENT_SECRET,
|
|
164
|
+
MODEL_SEC_DATA_ENDPOINT: () => MODEL_SEC_DATA_ENDPOINT,
|
|
165
|
+
MODEL_SEC_EVALUATIONS_PATH: () => MODEL_SEC_EVALUATIONS_PATH,
|
|
166
|
+
MODEL_SEC_MGMT_ENDPOINT: () => MODEL_SEC_MGMT_ENDPOINT,
|
|
167
|
+
MODEL_SEC_PYPI_AUTH_PATH: () => MODEL_SEC_PYPI_AUTH_PATH,
|
|
168
|
+
MODEL_SEC_SCANS_PATH: () => MODEL_SEC_SCANS_PATH,
|
|
169
|
+
MODEL_SEC_SECURITY_GROUPS_PATH: () => MODEL_SEC_SECURITY_GROUPS_PATH,
|
|
170
|
+
MODEL_SEC_SECURITY_RULES_PATH: () => MODEL_SEC_SECURITY_RULES_PATH,
|
|
171
|
+
MODEL_SEC_TOKEN_ENDPOINT: () => MODEL_SEC_TOKEN_ENDPOINT,
|
|
172
|
+
MODEL_SEC_TSG_ID: () => MODEL_SEC_TSG_ID,
|
|
173
|
+
MODEL_SEC_VIOLATIONS_PATH: () => MODEL_SEC_VIOLATIONS_PATH,
|
|
80
174
|
ManagementClient: () => ManagementClient,
|
|
81
175
|
MaskedDataSchema: () => MaskedDataSchema,
|
|
82
176
|
MetadataSchema: () => MetadataSchema,
|
|
177
|
+
ModelScanIssueSchema: () => ModelScanIssueSchema,
|
|
178
|
+
ModelScanStatus: () => ModelScanStatus,
|
|
179
|
+
ModelSecurityClient: () => ModelSecurityClient,
|
|
180
|
+
ModelSecurityGroupCreateRequestSchema: () => ModelSecurityGroupCreateRequestSchema,
|
|
181
|
+
ModelSecurityGroupResponseSchema: () => ModelSecurityGroupResponseSchema,
|
|
182
|
+
ModelSecurityGroupState: () => ModelSecurityGroupState,
|
|
183
|
+
ModelSecurityGroupUpdateRequestSchema: () => ModelSecurityGroupUpdateRequestSchema,
|
|
184
|
+
ModelSecurityGroupsClient: () => ModelSecurityGroupsClient,
|
|
185
|
+
ModelSecurityPaginationSchema: () => ModelSecurityPaginationSchema,
|
|
186
|
+
ModelSecurityRuleInstanceResponseSchema: () => ModelSecurityRuleInstanceResponseSchema,
|
|
187
|
+
ModelSecurityRuleInstanceUpdateRequestSchema: () => ModelSecurityRuleInstanceUpdateRequestSchema,
|
|
188
|
+
ModelSecurityRuleResponseSchema: () => ModelSecurityRuleResponseSchema,
|
|
189
|
+
ModelSecurityRulesClient: () => ModelSecurityRulesClient,
|
|
190
|
+
ModelSecurityScansClient: () => ModelSecurityScansClient,
|
|
83
191
|
PAYLOAD_HASH: () => PAYLOAD_HASH,
|
|
84
192
|
PolicySchema: () => PolicySchema,
|
|
193
|
+
PolicyType: () => PolicyType,
|
|
194
|
+
PrerequisiteModelSchema: () => PrerequisiteModelSchema,
|
|
85
195
|
ProfilesClient: () => ProfilesClient,
|
|
196
|
+
ProfilingStatus: () => ProfilingStatus,
|
|
197
|
+
PromptDetailResponseSchema: () => PromptDetailResponseSchema,
|
|
86
198
|
PromptDetectedSchema: () => PromptDetectedSchema,
|
|
87
199
|
PromptDetectionDetailsSchema: () => PromptDetectionDetailsSchema,
|
|
200
|
+
PromptSetStatsSchema: () => PromptSetStatsSchema,
|
|
201
|
+
PromptSetSummarySchema: () => PromptSetSummarySchema,
|
|
202
|
+
PromptSetsReportResponseSchema: () => PromptSetsReportResponseSchema,
|
|
203
|
+
PropertyAssignmentSchema: () => PropertyAssignmentSchema,
|
|
204
|
+
PropertyDefinitionSchema: () => PropertyDefinitionSchema,
|
|
205
|
+
PropertyNameCreateRequestSchema: () => PropertyNameCreateRequestSchema,
|
|
206
|
+
PropertyNamesListResponseSchema: () => PropertyNamesListResponseSchema,
|
|
207
|
+
PropertyStatisticSchema: () => PropertyStatisticSchema,
|
|
208
|
+
PropertyValueCreateRequestSchema: () => PropertyValueCreateRequestSchema,
|
|
209
|
+
PropertyValueStatisticSchema: () => PropertyValueStatisticSchema,
|
|
210
|
+
PropertyValuesMultipleResponseSchema: () => PropertyValuesMultipleResponseSchema,
|
|
211
|
+
PropertyValuesResponseSchema: () => PropertyValuesResponseSchema,
|
|
212
|
+
PyPIAuthResponseSchema: () => PyPIAuthResponseSchema,
|
|
213
|
+
QuotaDetailsSchema: () => QuotaDetailsSchema,
|
|
214
|
+
QuotaSummarySchema: () => QuotaSummarySchema,
|
|
215
|
+
RED_TEAM_CATEGORIES_PATH: () => RED_TEAM_CATEGORIES_PATH,
|
|
216
|
+
RED_TEAM_CLIENT_ID: () => RED_TEAM_CLIENT_ID,
|
|
217
|
+
RED_TEAM_CLIENT_SECRET: () => RED_TEAM_CLIENT_SECRET,
|
|
218
|
+
RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH: () => RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH,
|
|
219
|
+
RED_TEAM_CUSTOM_ATTACK_PATH: () => RED_TEAM_CUSTOM_ATTACK_PATH,
|
|
220
|
+
RED_TEAM_DASHBOARD_PATH: () => RED_TEAM_DASHBOARD_PATH,
|
|
221
|
+
RED_TEAM_DATA_ENDPOINT: () => RED_TEAM_DATA_ENDPOINT,
|
|
222
|
+
RED_TEAM_ERROR_LOG_PATH: () => RED_TEAM_ERROR_LOG_PATH,
|
|
223
|
+
RED_TEAM_MGMT_DASHBOARD_PATH: () => RED_TEAM_MGMT_DASHBOARD_PATH,
|
|
224
|
+
RED_TEAM_MGMT_ENDPOINT: () => RED_TEAM_MGMT_ENDPOINT,
|
|
225
|
+
RED_TEAM_QUOTA_PATH: () => RED_TEAM_QUOTA_PATH,
|
|
226
|
+
RED_TEAM_REPORT_DYNAMIC_PATH: () => RED_TEAM_REPORT_DYNAMIC_PATH,
|
|
227
|
+
RED_TEAM_REPORT_PATH: () => RED_TEAM_REPORT_PATH,
|
|
228
|
+
RED_TEAM_REPORT_STATIC_PATH: () => RED_TEAM_REPORT_STATIC_PATH,
|
|
229
|
+
RED_TEAM_SCAN_PATH: () => RED_TEAM_SCAN_PATH,
|
|
230
|
+
RED_TEAM_SENTIMENT_PATH: () => RED_TEAM_SENTIMENT_PATH,
|
|
231
|
+
RED_TEAM_TARGET_PATH: () => RED_TEAM_TARGET_PATH,
|
|
232
|
+
RED_TEAM_TOKEN_ENDPOINT: () => RED_TEAM_TOKEN_ENDPOINT,
|
|
233
|
+
RED_TEAM_TSG_ID: () => RED_TEAM_TSG_ID,
|
|
234
|
+
RedTeamCategory: () => RedTeamCategory,
|
|
235
|
+
RedTeamClient: () => RedTeamClient,
|
|
236
|
+
RedTeamCustomAttackReportsClient: () => RedTeamCustomAttackReportsClient,
|
|
237
|
+
RedTeamCustomAttacksClient: () => RedTeamCustomAttacksClient,
|
|
238
|
+
RedTeamErrorType: () => RedTeamErrorType,
|
|
239
|
+
RedTeamPaginationSchema: () => RedTeamPaginationSchema,
|
|
240
|
+
RedTeamReportsClient: () => RedTeamReportsClient,
|
|
241
|
+
RedTeamScansClient: () => RedTeamScansClient,
|
|
242
|
+
RedTeamTargetsClient: () => RedTeamTargetsClient,
|
|
243
|
+
RemediationDetailSchema: () => RemediationDetailSchema,
|
|
244
|
+
RemediationResponseSchema: () => RemediationResponseSchema,
|
|
88
245
|
ResponseDetectedSchema: () => ResponseDetectedSchema,
|
|
89
246
|
ResponseDetectionDetailsSchema: () => ResponseDetectionDetailsSchema,
|
|
247
|
+
ResponseMode: () => ResponseMode,
|
|
248
|
+
RiskLevelSchema: () => RiskLevelSchema,
|
|
249
|
+
RiskRating: () => RiskRating,
|
|
250
|
+
RuleConfigurationSchema: () => RuleConfigurationSchema,
|
|
251
|
+
RuleEditableFieldDropdownSchema: () => RuleEditableFieldDropdownSchema,
|
|
252
|
+
RuleEditableFieldSchema: () => RuleEditableFieldSchema,
|
|
253
|
+
RuleEditableFieldType: () => RuleEditableFieldType,
|
|
254
|
+
RuleEvaluationListSchema: () => RuleEvaluationListSchema,
|
|
255
|
+
RuleEvaluationResponseSchema: () => RuleEvaluationResponseSchema,
|
|
256
|
+
RuleEvaluationResult: () => RuleEvaluationResult,
|
|
257
|
+
RuleFieldValueKey: () => RuleFieldValueKey,
|
|
258
|
+
RuleRemediationSchema: () => RuleRemediationSchema,
|
|
259
|
+
RuleState: () => RuleState,
|
|
260
|
+
RuleType: () => RuleType,
|
|
261
|
+
RuntimeSecurityPolicySchema: () => RuntimeSecurityPolicySchema,
|
|
262
|
+
RuntimeSecurityProfileResponseSchema: () => RuntimeSecurityProfileResponseSchema,
|
|
90
263
|
SCAN_REPORTS_PATH: () => SCAN_REPORTS_PATH,
|
|
91
264
|
SCAN_RESULTS_PATH: () => SCAN_RESULTS_PATH,
|
|
92
265
|
SDK_VERSION: () => SDK_VERSION,
|
|
93
266
|
SYNC_SCAN_PATH: () => SYNC_SCAN_PATH,
|
|
267
|
+
SafetySubCategory: () => SafetySubCategory,
|
|
268
|
+
ScanBaseResponseSchema: () => ScanBaseResponseSchema,
|
|
269
|
+
ScanCreateRequestSchema: () => ScanCreateRequestSchema,
|
|
270
|
+
ScanDetailsSchema: () => ScanDetailsSchema,
|
|
94
271
|
ScanIdResultSchema: () => ScanIdResultSchema,
|
|
272
|
+
ScanListSchema: () => ScanListSchema,
|
|
273
|
+
ScanOrigin: () => ScanOrigin,
|
|
95
274
|
ScanRequestContentsInnerSchema: () => ScanRequestContentsInnerSchema,
|
|
96
275
|
ScanRequestSchema: () => ScanRequestSchema,
|
|
97
276
|
ScanResponseSchema: () => ScanResponseSchema,
|
|
277
|
+
ScanStatisticsResponseSchema: () => ScanStatisticsResponseSchema,
|
|
98
278
|
ScanSummarySchema: () => ScanSummarySchema,
|
|
99
279
|
Scanner: () => Scanner,
|
|
280
|
+
ScoreTrendResponseSchema: () => ScoreTrendResponseSchema,
|
|
281
|
+
ScoreTrendSeriesSchema: () => ScoreTrendSeriesSchema,
|
|
100
282
|
SecurityProfileListResponseSchema: () => SecurityProfileListResponseSchema,
|
|
101
283
|
SecurityProfileSchema: () => SecurityProfileSchema,
|
|
284
|
+
SecuritySubCategory: () => SecuritySubCategory,
|
|
285
|
+
SentimentRequestSchema: () => SentimentRequestSchema,
|
|
286
|
+
SentimentResponseSchema: () => SentimentResponseSchema,
|
|
287
|
+
SeverityFilter: () => SeverityFilter,
|
|
288
|
+
SeverityReportSchema: () => SeverityReportSchema,
|
|
289
|
+
SeverityStatsSchema: () => SeverityStatsSchema,
|
|
290
|
+
SortByDateField: () => SortByDateField,
|
|
291
|
+
SortByFileField: () => SortByFileField,
|
|
292
|
+
SortDirection: () => SortDirection,
|
|
293
|
+
SourceType: () => SourceType,
|
|
294
|
+
StaticJobMetadataSchema: () => StaticJobMetadataSchema,
|
|
295
|
+
StaticJobRemediationRecommendationSchema: () => StaticJobRemediationRecommendationSchema,
|
|
296
|
+
StaticJobRemediationSchema: () => StaticJobRemediationSchema,
|
|
297
|
+
StaticJobReportSchema: () => StaticJobReportSchema,
|
|
298
|
+
StaticJobReportStatsSchema: () => StaticJobReportStatsSchema,
|
|
299
|
+
StatusQueryParam: () => StatusQueryParam,
|
|
300
|
+
StreamDetailResponseSchema: () => StreamDetailResponseSchema,
|
|
301
|
+
StreamIterationDataSchema: () => StreamIterationDataSchema,
|
|
302
|
+
StreamListResponseSchema: () => StreamListResponseSchema,
|
|
303
|
+
StreamType: () => StreamType,
|
|
304
|
+
SubCategoryModelSchema: () => SubCategoryModelSchema,
|
|
305
|
+
SubCategoryStatsSchema: () => SubCategoryStatsSchema,
|
|
306
|
+
TargetAdditionalContextSchema: () => TargetAdditionalContextSchema,
|
|
307
|
+
TargetBackgroundSchema: () => TargetBackgroundSchema,
|
|
308
|
+
TargetConnectionType: () => TargetConnectionType,
|
|
309
|
+
TargetContextUpdateSchema: () => TargetContextUpdateSchema,
|
|
310
|
+
TargetCreateRequestSchema: () => TargetCreateRequestSchema,
|
|
311
|
+
TargetJobRequestSchema: () => TargetJobRequestSchema,
|
|
312
|
+
TargetListItemSchema: () => TargetListItemSchema,
|
|
313
|
+
TargetListSchema: () => TargetListSchema,
|
|
314
|
+
TargetMetadataSchema: () => TargetMetadataSchema,
|
|
315
|
+
TargetProbeRequestSchema: () => TargetProbeRequestSchema,
|
|
316
|
+
TargetProfileResponseSchema: () => TargetProfileResponseSchema,
|
|
317
|
+
TargetReferenceSchema: () => TargetReferenceSchema,
|
|
318
|
+
TargetResponseSchema: () => TargetResponseSchema,
|
|
319
|
+
TargetStatus: () => TargetStatus,
|
|
320
|
+
TargetType: () => TargetType,
|
|
321
|
+
TargetUpdateRequestSchema: () => TargetUpdateRequestSchema,
|
|
322
|
+
ThreatCategory: () => ThreatCategory,
|
|
102
323
|
ThreatScanReportSchema: () => ThreatScanReportSchema,
|
|
103
324
|
ToolDetectedSchema: () => ToolDetectedSchema,
|
|
104
325
|
ToolEventMetadataSchema: () => ToolEventMetadataSchema,
|
|
@@ -106,6 +327,10 @@ __export(index_exports, {
|
|
|
106
327
|
TopicsClient: () => TopicsClient,
|
|
107
328
|
USER_AGENT: () => USER_AGENT,
|
|
108
329
|
UrlfEntrySchema: () => UrlfEntrySchema,
|
|
330
|
+
ValidationErrorSchema: () => ValidationErrorSchema,
|
|
331
|
+
Verdict: () => Verdict,
|
|
332
|
+
ViolationListSchema: () => ViolationListSchema,
|
|
333
|
+
ViolationResponseSchema: () => ViolationResponseSchema,
|
|
109
334
|
globalConfiguration: () => globalConfiguration,
|
|
110
335
|
init: () => init
|
|
111
336
|
});
|
|
@@ -136,7 +361,7 @@ var MAX_NUMBER_OF_BATCH_SCAN_OBJECTS = 5;
|
|
|
136
361
|
var MAX_CONNECTION_POOL_SIZE = 100;
|
|
137
362
|
var MAX_NUMBER_OF_RETRIES = 5;
|
|
138
363
|
var HTTP_FORCE_RETRY_STATUS_CODES = [500, 502, 503, 504];
|
|
139
|
-
var SDK_VERSION = "0.
|
|
364
|
+
var SDK_VERSION = "0.4.0";
|
|
140
365
|
var USER_AGENT = `PAN-AIRS/${SDK_VERSION}-typescript-sdk`;
|
|
141
366
|
var DEFAULT_MGMT_ENDPOINT = "https://api.sase.paloaltonetworks.com/aisec";
|
|
142
367
|
var DEFAULT_TOKEN_ENDPOINT = "https://auth.apps.paloaltonetworks.com/oauth2/access_token";
|
|
@@ -154,6 +379,41 @@ var MGMT_PROFILES_TSG_PATH = "/v1/mgmt/profiles/tsg";
|
|
|
154
379
|
var MGMT_TOPIC_PATH = "/v1/mgmt/topic";
|
|
155
380
|
var MGMT_TOPICS_TSG_PATH = "/v1/mgmt/topics/tsg";
|
|
156
381
|
var MGMT_TOPIC_FORCE_PATH = "/v1/mgmt/topic/force";
|
|
382
|
+
var DEFAULT_MODEL_SEC_DATA_ENDPOINT = "https://api.sase.paloaltonetworks.com/aims/data";
|
|
383
|
+
var DEFAULT_MODEL_SEC_MGMT_ENDPOINT = "https://api.sase.paloaltonetworks.com/aims/mgmt";
|
|
384
|
+
var MODEL_SEC_CLIENT_ID = "PANW_MODEL_SEC_CLIENT_ID";
|
|
385
|
+
var MODEL_SEC_CLIENT_SECRET = "PANW_MODEL_SEC_CLIENT_SECRET";
|
|
386
|
+
var MODEL_SEC_TSG_ID = "PANW_MODEL_SEC_TSG_ID";
|
|
387
|
+
var MODEL_SEC_DATA_ENDPOINT = "PANW_MODEL_SEC_DATA_ENDPOINT";
|
|
388
|
+
var MODEL_SEC_MGMT_ENDPOINT = "PANW_MODEL_SEC_MGMT_ENDPOINT";
|
|
389
|
+
var MODEL_SEC_TOKEN_ENDPOINT = "PANW_MODEL_SEC_TOKEN_ENDPOINT";
|
|
390
|
+
var MODEL_SEC_SCANS_PATH = "/v1/scans";
|
|
391
|
+
var MODEL_SEC_EVALUATIONS_PATH = "/v1/evaluations";
|
|
392
|
+
var MODEL_SEC_VIOLATIONS_PATH = "/v1/violations";
|
|
393
|
+
var MODEL_SEC_SECURITY_GROUPS_PATH = "/v1/security-groups";
|
|
394
|
+
var MODEL_SEC_SECURITY_RULES_PATH = "/v1/security-rules";
|
|
395
|
+
var MODEL_SEC_PYPI_AUTH_PATH = "/v1/pypi/authenticate";
|
|
396
|
+
var DEFAULT_RED_TEAM_DATA_ENDPOINT = "https://api.sase.paloaltonetworks.com/ai-red-teaming/data-plane";
|
|
397
|
+
var DEFAULT_RED_TEAM_MGMT_ENDPOINT = "https://api.sase.paloaltonetworks.com/ai-red-teaming/mgmt-plane";
|
|
398
|
+
var RED_TEAM_CLIENT_ID = "PANW_RED_TEAM_CLIENT_ID";
|
|
399
|
+
var RED_TEAM_CLIENT_SECRET = "PANW_RED_TEAM_CLIENT_SECRET";
|
|
400
|
+
var RED_TEAM_TSG_ID = "PANW_RED_TEAM_TSG_ID";
|
|
401
|
+
var RED_TEAM_DATA_ENDPOINT = "PANW_RED_TEAM_DATA_ENDPOINT";
|
|
402
|
+
var RED_TEAM_MGMT_ENDPOINT = "PANW_RED_TEAM_MGMT_ENDPOINT";
|
|
403
|
+
var RED_TEAM_TOKEN_ENDPOINT = "PANW_RED_TEAM_TOKEN_ENDPOINT";
|
|
404
|
+
var RED_TEAM_SCAN_PATH = "/v1/scan";
|
|
405
|
+
var RED_TEAM_CATEGORIES_PATH = "/v1/categories";
|
|
406
|
+
var RED_TEAM_REPORT_STATIC_PATH = "/v1/report/static";
|
|
407
|
+
var RED_TEAM_REPORT_DYNAMIC_PATH = "/v1/report/dynamic";
|
|
408
|
+
var RED_TEAM_REPORT_PATH = "/v1/report";
|
|
409
|
+
var RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH = "/v1/custom-attacks";
|
|
410
|
+
var RED_TEAM_DASHBOARD_PATH = "/v1/dashboard";
|
|
411
|
+
var RED_TEAM_QUOTA_PATH = "/v1/metering/quota";
|
|
412
|
+
var RED_TEAM_ERROR_LOG_PATH = "/v1/error-log/job";
|
|
413
|
+
var RED_TEAM_SENTIMENT_PATH = "/v1/sentiment";
|
|
414
|
+
var RED_TEAM_TARGET_PATH = "/v1/target";
|
|
415
|
+
var RED_TEAM_CUSTOM_ATTACK_PATH = "/v1/custom-attack";
|
|
416
|
+
var RED_TEAM_MGMT_DASHBOARD_PATH = "/v1/dashboard/overview";
|
|
157
417
|
|
|
158
418
|
// src/errors.ts
|
|
159
419
|
var ErrorType = /* @__PURE__ */ ((ErrorType2) => {
|
|
@@ -167,6 +427,10 @@ var ErrorType = /* @__PURE__ */ ((ErrorType2) => {
|
|
|
167
427
|
})(ErrorType || {});
|
|
168
428
|
var AISecSDKException = class _AISecSDKException extends Error {
|
|
169
429
|
errorType;
|
|
430
|
+
/**
|
|
431
|
+
* @param message - Human-readable error description.
|
|
432
|
+
* @param errorType - Classification of the error.
|
|
433
|
+
*/
|
|
170
434
|
constructor(message, errorType) {
|
|
171
435
|
super(errorType ? `${errorType}:${message}` : message);
|
|
172
436
|
this.name = "AISecSDKException";
|
|
@@ -248,6 +512,68 @@ function init(opts = {}) {
|
|
|
248
512
|
globalConfiguration.init(opts);
|
|
249
513
|
}
|
|
250
514
|
|
|
515
|
+
// src/http-retry.ts
|
|
516
|
+
function sleep(ms) {
|
|
517
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
518
|
+
}
|
|
519
|
+
function backoffDelay(attempt) {
|
|
520
|
+
return Math.pow(2, attempt) * 1e3;
|
|
521
|
+
}
|
|
522
|
+
function isRetryableStatus(status) {
|
|
523
|
+
return HTTP_FORCE_RETRY_STATUS_CODES.includes(status);
|
|
524
|
+
}
|
|
525
|
+
function classifyErrorType(status) {
|
|
526
|
+
return status >= 500 ? "AISEC_SERVER_SIDE_ERROR" /* SERVER_SIDE_ERROR */ : "AISEC_CLIENT_SIDE_ERROR" /* CLIENT_SIDE_ERROR */;
|
|
527
|
+
}
|
|
528
|
+
function extractErrorMessage(body, status) {
|
|
529
|
+
try {
|
|
530
|
+
const parsed = JSON.parse(body);
|
|
531
|
+
return parsed.error_message ?? parsed.message ?? parsed.error?.message ?? `API error ${status}`;
|
|
532
|
+
} catch {
|
|
533
|
+
return body ? `API error ${status}: ${body}` : `API error ${status}`;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
async function executeWithRetry(opts) {
|
|
537
|
+
const { maxRetries, execute, onRetryableFailure } = opts;
|
|
538
|
+
let lastError;
|
|
539
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
540
|
+
let response;
|
|
541
|
+
try {
|
|
542
|
+
response = await execute(attempt);
|
|
543
|
+
} catch (err) {
|
|
544
|
+
if (err instanceof AISecSDKException) throw err;
|
|
545
|
+
lastError = err;
|
|
546
|
+
if (attempt < maxRetries) {
|
|
547
|
+
await sleep(backoffDelay(attempt));
|
|
548
|
+
continue;
|
|
549
|
+
}
|
|
550
|
+
throw new AISecSDKException(
|
|
551
|
+
lastError.message ?? "Network error",
|
|
552
|
+
"AISEC_CLIENT_SIDE_ERROR" /* CLIENT_SIDE_ERROR */
|
|
553
|
+
);
|
|
554
|
+
}
|
|
555
|
+
if (response.ok) return response;
|
|
556
|
+
if (onRetryableFailure) {
|
|
557
|
+
const handled = await onRetryableFailure(response, attempt);
|
|
558
|
+
if (handled) {
|
|
559
|
+
attempt--;
|
|
560
|
+
continue;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
if (isRetryableStatus(response.status) && attempt < maxRetries) {
|
|
564
|
+
await sleep(backoffDelay(attempt));
|
|
565
|
+
continue;
|
|
566
|
+
}
|
|
567
|
+
const errorText = await response.text();
|
|
568
|
+
const errorMessage = extractErrorMessage(errorText, response.status);
|
|
569
|
+
throw new AISecSDKException(errorMessage, classifyErrorType(response.status));
|
|
570
|
+
}
|
|
571
|
+
throw new AISecSDKException(
|
|
572
|
+
lastError?.message ?? "Max retries exceeded",
|
|
573
|
+
"AISEC_CLIENT_SIDE_ERROR" /* CLIENT_SIDE_ERROR */
|
|
574
|
+
);
|
|
575
|
+
}
|
|
576
|
+
|
|
251
577
|
// src/utils.ts
|
|
252
578
|
var import_node_crypto = require("crypto");
|
|
253
579
|
var UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
@@ -273,9 +599,6 @@ function buildHeaders() {
|
|
|
273
599
|
}
|
|
274
600
|
return headers;
|
|
275
601
|
}
|
|
276
|
-
function sleep(ms) {
|
|
277
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
278
|
-
}
|
|
279
602
|
async function httpRequest(opts) {
|
|
280
603
|
if (!globalConfiguration.initialized) {
|
|
281
604
|
throw new AISecSDKException(
|
|
@@ -298,48 +621,27 @@ async function httpRequest(opts) {
|
|
|
298
621
|
headers[PAYLOAD_HASH] = generatePayloadHash(bodyStr, globalConfiguration.apiKey);
|
|
299
622
|
}
|
|
300
623
|
}
|
|
301
|
-
const
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
const data = await response.json();
|
|
312
|
-
return { status: response.status, data };
|
|
313
|
-
}
|
|
314
|
-
if (HTTP_FORCE_RETRY_STATUS_CODES.includes(response.status) && attempt < maxRetries) {
|
|
315
|
-
await sleep(Math.pow(2, attempt) * 1e3);
|
|
316
|
-
continue;
|
|
317
|
-
}
|
|
318
|
-
let errorMessage;
|
|
319
|
-
try {
|
|
320
|
-
const errorBody = await response.json();
|
|
321
|
-
errorMessage = errorBody.message ?? errorBody.error?.message ?? `API error ${response.status}`;
|
|
322
|
-
} catch {
|
|
323
|
-
errorMessage = `API error ${response.status}`;
|
|
324
|
-
}
|
|
325
|
-
const errorType = response.status >= 500 ? "AISEC_SERVER_SIDE_ERROR" /* SERVER_SIDE_ERROR */ : "AISEC_CLIENT_SIDE_ERROR" /* CLIENT_SIDE_ERROR */;
|
|
326
|
-
throw new AISecSDKException(errorMessage, errorType);
|
|
327
|
-
} catch (err) {
|
|
328
|
-
if (err instanceof AISecSDKException) {
|
|
329
|
-
throw err;
|
|
330
|
-
}
|
|
331
|
-
lastError = err;
|
|
332
|
-
if (attempt < maxRetries) {
|
|
333
|
-
await sleep(Math.pow(2, attempt) * 1e3);
|
|
334
|
-
continue;
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
throw new AISecSDKException(lastError?.message ?? "Network error", "AISEC_CLIENT_SIDE_ERROR" /* CLIENT_SIDE_ERROR */);
|
|
624
|
+
const response = await executeWithRetry({
|
|
625
|
+
maxRetries: globalConfiguration.numRetries,
|
|
626
|
+
execute: () => fetch(url.toString(), {
|
|
627
|
+
method: opts.method,
|
|
628
|
+
headers,
|
|
629
|
+
body: bodyStr
|
|
630
|
+
})
|
|
631
|
+
});
|
|
632
|
+
const data = await response.json();
|
|
633
|
+
return { status: response.status, data };
|
|
339
634
|
}
|
|
340
635
|
|
|
341
636
|
// src/scan/scanner.ts
|
|
342
637
|
var Scanner = class {
|
|
638
|
+
/**
|
|
639
|
+
* Perform a synchronous content scan.
|
|
640
|
+
* @param aiProfile - AI security profile to scan against.
|
|
641
|
+
* @param content - Content to scan.
|
|
642
|
+
* @param opts - Optional transaction/session IDs and metadata.
|
|
643
|
+
* @returns Scan response with verdict, action, and detection details.
|
|
644
|
+
*/
|
|
343
645
|
async syncScan(aiProfile, content, opts = {}) {
|
|
344
646
|
if (opts.trId && opts.trId.length > MAX_TRANSACTION_ID_STR_LENGTH) {
|
|
345
647
|
throw new AISecSDKException(
|
|
@@ -367,6 +669,11 @@ var Scanner = class {
|
|
|
367
669
|
});
|
|
368
670
|
return res.data;
|
|
369
671
|
}
|
|
672
|
+
/**
|
|
673
|
+
* Submit content for asynchronous scanning.
|
|
674
|
+
* @param scanObjects - Array of scan objects (1–5 items).
|
|
675
|
+
* @returns Response containing scan IDs for later querying.
|
|
676
|
+
*/
|
|
370
677
|
async asyncScan(scanObjects) {
|
|
371
678
|
if (scanObjects.length < 1) {
|
|
372
679
|
throw new AISecSDKException(
|
|
@@ -387,6 +694,11 @@ var Scanner = class {
|
|
|
387
694
|
});
|
|
388
695
|
return res.data;
|
|
389
696
|
}
|
|
697
|
+
/**
|
|
698
|
+
* Query scan results by scan IDs.
|
|
699
|
+
* @param scanIds - Array of scan UUIDs (1–5 items).
|
|
700
|
+
* @returns Array of scan results with status and response data.
|
|
701
|
+
*/
|
|
390
702
|
async queryByScanIds(scanIds) {
|
|
391
703
|
if (scanIds.length < 1) {
|
|
392
704
|
throw new AISecSDKException(
|
|
@@ -412,6 +724,11 @@ var Scanner = class {
|
|
|
412
724
|
});
|
|
413
725
|
return res.data;
|
|
414
726
|
}
|
|
727
|
+
/**
|
|
728
|
+
* Query detailed threat reports by report IDs.
|
|
729
|
+
* @param reportIds - Array of report IDs (1–5 items).
|
|
730
|
+
* @returns Array of threat scan reports with detection details.
|
|
731
|
+
*/
|
|
415
732
|
async queryByReportIds(reportIds) {
|
|
416
733
|
if (reportIds.length < 1) {
|
|
417
734
|
throw new AISecSDKException(
|
|
@@ -523,6 +840,7 @@ var Content = class _Content {
|
|
|
523
840
|
set toolEvent(value) {
|
|
524
841
|
this._toolEvent = value;
|
|
525
842
|
}
|
|
843
|
+
/** Total byte length of all text content fields. */
|
|
526
844
|
get length() {
|
|
527
845
|
let total = 0;
|
|
528
846
|
if (this._prompt) total += Buffer.byteLength(this._prompt);
|
|
@@ -532,6 +850,7 @@ var Content = class _Content {
|
|
|
532
850
|
if (this._codeResponse) total += Buffer.byteLength(this._codeResponse);
|
|
533
851
|
return total;
|
|
534
852
|
}
|
|
853
|
+
/** Serialize to the API request format. */
|
|
535
854
|
toJSON() {
|
|
536
855
|
const obj = {};
|
|
537
856
|
if (this._prompt !== void 0) obj.prompt = this._prompt;
|
|
@@ -542,6 +861,10 @@ var Content = class _Content {
|
|
|
542
861
|
if (this._toolEvent !== void 0) obj.tool_event = this._toolEvent;
|
|
543
862
|
return obj;
|
|
544
863
|
}
|
|
864
|
+
/**
|
|
865
|
+
* Create a Content instance from an API response object.
|
|
866
|
+
* @param json - Scan request contents inner object.
|
|
867
|
+
*/
|
|
545
868
|
static fromJSON(json) {
|
|
546
869
|
return new _Content({
|
|
547
870
|
prompt: json.prompt,
|
|
@@ -552,6 +875,10 @@ var Content = class _Content {
|
|
|
552
875
|
toolEvent: json.tool_event
|
|
553
876
|
});
|
|
554
877
|
}
|
|
878
|
+
/**
|
|
879
|
+
* Load content from a JSON file.
|
|
880
|
+
* @param filePath - Path to JSON file containing scan request contents.
|
|
881
|
+
*/
|
|
555
882
|
static fromJSONFile(filePath) {
|
|
556
883
|
const raw = (0, import_node_fs.readFileSync)(filePath, "utf-8");
|
|
557
884
|
const parsed = JSON.parse(raw);
|
|
@@ -559,6 +886,23 @@ var Content = class _Content {
|
|
|
559
886
|
}
|
|
560
887
|
};
|
|
561
888
|
|
|
889
|
+
// src/models/enums.ts
|
|
890
|
+
var Verdict = {
|
|
891
|
+
BENIGN: "benign",
|
|
892
|
+
MALICIOUS: "malicious",
|
|
893
|
+
UNKNOWN: "unknown"
|
|
894
|
+
};
|
|
895
|
+
var Action = {
|
|
896
|
+
ALLOW: "allow",
|
|
897
|
+
BLOCK: "block",
|
|
898
|
+
ALERT: "alert"
|
|
899
|
+
};
|
|
900
|
+
var Category = {
|
|
901
|
+
BENIGN: "benign",
|
|
902
|
+
MALICIOUS: "malicious",
|
|
903
|
+
UNKNOWN: "unknown"
|
|
904
|
+
};
|
|
905
|
+
|
|
562
906
|
// src/models/ai-profile.ts
|
|
563
907
|
var import_zod = require("zod");
|
|
564
908
|
var AiProfileSchema = import_zod.z.object({
|
|
@@ -904,13 +1248,1402 @@ var DeleteTopicConflictSchema = import_zod16.z.object({
|
|
|
904
1248
|
)
|
|
905
1249
|
}).passthrough();
|
|
906
1250
|
|
|
907
|
-
// src/models/
|
|
1251
|
+
// src/models/model-security-enums.ts
|
|
1252
|
+
var ErrorCodes = {
|
|
1253
|
+
UNKNOWN_ERROR: "UNKNOWN_ERROR",
|
|
1254
|
+
SCAN_ERROR: "SCAN_ERROR",
|
|
1255
|
+
INVALID_RESPONSE: "INVALID_RESPONSE",
|
|
1256
|
+
ACCESS_DENIED: "ACCESS_DENIED",
|
|
1257
|
+
MISSING_CREDENTIALS: "MISSING_CREDENTIALS",
|
|
1258
|
+
NO_SUCH_KEY: "NO_SUCH_KEY",
|
|
1259
|
+
NO_SUCH_BUCKET: "NO_SUCH_BUCKET",
|
|
1260
|
+
INVALID_BUCKET_NAME: "INVALID_BUCKET_NAME",
|
|
1261
|
+
INTERNAL_ERROR: "INTERNAL_ERROR",
|
|
1262
|
+
SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE",
|
|
1263
|
+
INVALID_OBJECT_STATE: "INVALID_OBJECT_STATE",
|
|
1264
|
+
UNKNOWN_REMOTE_SERVICE_ERROR: "UNKNOWN_REMOTE_SERVICE_ERROR",
|
|
1265
|
+
UNSUPPORTED_REMOTE_STORAGE: "UNSUPPORTED_REMOTE_STORAGE",
|
|
1266
|
+
MISSING_ARTIFACTS: "MISSING_ARTIFACTS",
|
|
1267
|
+
WORKER_ERROR: "WORKER_ERROR",
|
|
1268
|
+
POLICY_EVAL_ERROR: "POLICY_EVAL_ERROR"
|
|
1269
|
+
};
|
|
1270
|
+
var EvalOutcome = {
|
|
1271
|
+
PENDING: "PENDING",
|
|
1272
|
+
ALLOWED: "ALLOWED",
|
|
1273
|
+
BLOCKED: "BLOCKED",
|
|
1274
|
+
ERROR: "ERROR"
|
|
1275
|
+
};
|
|
1276
|
+
var FileScanResult = {
|
|
1277
|
+
SKIPPED: "SKIPPED",
|
|
1278
|
+
SUCCESS: "SUCCESS",
|
|
1279
|
+
ERROR: "ERROR",
|
|
1280
|
+
FAILED: "FAILED"
|
|
1281
|
+
};
|
|
1282
|
+
var FileType = {
|
|
1283
|
+
DIRECTORY: "DIRECTORY",
|
|
1284
|
+
FILE: "FILE"
|
|
1285
|
+
};
|
|
1286
|
+
var ModelScanStatus = {
|
|
1287
|
+
SCANNED: "SCANNED",
|
|
1288
|
+
SKIPPED: "SKIPPED",
|
|
1289
|
+
ERROR: "ERROR"
|
|
1290
|
+
};
|
|
1291
|
+
var RuleEvaluationResult = {
|
|
1292
|
+
PASSED: "PASSED",
|
|
1293
|
+
FAILED: "FAILED",
|
|
1294
|
+
ERROR: "ERROR"
|
|
1295
|
+
};
|
|
1296
|
+
var RuleState = {
|
|
1297
|
+
DISABLED: "DISABLED",
|
|
1298
|
+
ALLOWING: "ALLOWING",
|
|
1299
|
+
BLOCKING: "BLOCKING"
|
|
1300
|
+
};
|
|
1301
|
+
var ScanOrigin = {
|
|
1302
|
+
MODEL_SECURITY_SDK: "MODEL_SECURITY_SDK",
|
|
1303
|
+
HUGGING_FACE: "HUGGING_FACE"
|
|
1304
|
+
};
|
|
1305
|
+
var SortByDateField = {
|
|
1306
|
+
CREATED_AT: "created_at",
|
|
1307
|
+
UPDATED_AT: "updated_at"
|
|
1308
|
+
};
|
|
1309
|
+
var SortByFileField = {
|
|
1310
|
+
PATH: "path",
|
|
1311
|
+
TYPE: "type"
|
|
1312
|
+
};
|
|
1313
|
+
var SortDirection = {
|
|
1314
|
+
ASC: "asc",
|
|
1315
|
+
DESC: "desc"
|
|
1316
|
+
};
|
|
1317
|
+
var SourceType = {
|
|
1318
|
+
LOCAL: "LOCAL",
|
|
1319
|
+
HUGGING_FACE: "HUGGING_FACE",
|
|
1320
|
+
S3: "S3",
|
|
1321
|
+
GCS: "GCS",
|
|
1322
|
+
AZURE: "AZURE",
|
|
1323
|
+
ARTIFACTORY: "ARTIFACTORY",
|
|
1324
|
+
GITLAB: "GITLAB",
|
|
1325
|
+
ALL: "ALL"
|
|
1326
|
+
};
|
|
1327
|
+
var ThreatCategory = {
|
|
1328
|
+
PAIT_ARV_100: "PAIT-ARV-100",
|
|
1329
|
+
PAIT_GGUF_100: "PAIT-GGUF-100",
|
|
1330
|
+
PAIT_GGUF_101: "PAIT-GGUF-101",
|
|
1331
|
+
PAIT_KERAS_100: "PAIT-KERAS-100",
|
|
1332
|
+
PAIT_KERAS_101: "PAIT-KERAS-101",
|
|
1333
|
+
PAIT_KERAS_102: "PAIT-KERAS-102",
|
|
1334
|
+
PAIT_JOBLIB_100: "PAIT-JOBLIB-100",
|
|
1335
|
+
PAIT_JOBLIB_101: "PAIT-JOBLIB-101",
|
|
1336
|
+
PAIT_PKL_100: "PAIT-PKL-100",
|
|
1337
|
+
PAIT_PKL_101: "PAIT-PKL-101",
|
|
1338
|
+
PAIT_PYTCH_100: "PAIT-PYTCH-100",
|
|
1339
|
+
PAIT_PYTCH_101: "PAIT-PYTCH-101",
|
|
1340
|
+
PAIT_EXDIR_100: "PAIT-EXDIR-100",
|
|
1341
|
+
PAIT_EXDIR_101: "PAIT-EXDIR-101",
|
|
1342
|
+
PAIT_ONNX_200: "PAIT-ONNX-200",
|
|
1343
|
+
PAIT_TF_200: "PAIT-TF-200",
|
|
1344
|
+
PAIT_LMAFL_300: "PAIT-LMAFL-300",
|
|
1345
|
+
PAIT_LITERT_300: "PAIT-LITERT-300",
|
|
1346
|
+
PAIT_LITERT_301: "PAIT-LITERT-301",
|
|
1347
|
+
PAIT_LITERT_302: "PAIT-LITERT-302",
|
|
1348
|
+
PAIT_KERAS_300: "PAIT-KERAS-300",
|
|
1349
|
+
PAIT_KERAS_301: "PAIT-KERAS-301",
|
|
1350
|
+
PAIT_TCHST_300: "PAIT-TCHST-300",
|
|
1351
|
+
PAIT_TCHST_301: "PAIT-TCHST-301",
|
|
1352
|
+
PAIT_TF_300: "PAIT-TF-300",
|
|
1353
|
+
PAIT_TF_301: "PAIT-TF-301",
|
|
1354
|
+
PAIT_TF_302: "PAIT-TF-302",
|
|
1355
|
+
PAIT_TMT_300: "PAIT-TMT-300",
|
|
1356
|
+
PAIT_TMT_301: "PAIT-TMT-301",
|
|
1357
|
+
UNAPPROVED_FORMATS: "UNAPPROVED_FORMATS"
|
|
1358
|
+
};
|
|
1359
|
+
var ModelSecurityGroupState = {
|
|
1360
|
+
PENDING: "PENDING",
|
|
1361
|
+
ACTIVE: "ACTIVE"
|
|
1362
|
+
};
|
|
1363
|
+
var RuleType = {
|
|
1364
|
+
METADATA: "METADATA",
|
|
1365
|
+
ARTIFACT: "ARTIFACT"
|
|
1366
|
+
};
|
|
1367
|
+
var RuleEditableFieldType = {
|
|
1368
|
+
SELECT: "SELECT",
|
|
1369
|
+
LIST: "LIST"
|
|
1370
|
+
};
|
|
1371
|
+
var RuleFieldValueKey = {
|
|
1372
|
+
APPROVED_FORMATS: "approved_formats",
|
|
1373
|
+
APPROVED_LOCATIONS: "approved_locations",
|
|
1374
|
+
APPROVED_LICENSES: "approved_licenses",
|
|
1375
|
+
DENY_ORGS: "deny_orgs",
|
|
1376
|
+
DENIED_ORG_MODELS: "denied_org_models",
|
|
1377
|
+
APPROVED_ORG_MODELS: "approved_org_models"
|
|
1378
|
+
};
|
|
1379
|
+
|
|
1380
|
+
// src/models/model-security.ts
|
|
908
1381
|
var import_zod17 = require("zod");
|
|
909
|
-
var
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
1382
|
+
var ModelSecurityPaginationSchema = import_zod17.z.object({
|
|
1383
|
+
total_items: import_zod17.z.number().int().nullable().optional()
|
|
1384
|
+
}).passthrough();
|
|
1385
|
+
var LabelSchema = import_zod17.z.object({
|
|
1386
|
+
key: import_zod17.z.string(),
|
|
1387
|
+
value: import_zod17.z.string()
|
|
1388
|
+
});
|
|
1389
|
+
var LabelsCreateRequestSchema = import_zod17.z.object({
|
|
1390
|
+
labels: import_zod17.z.array(LabelSchema)
|
|
1391
|
+
});
|
|
1392
|
+
var LabelsResponseSchema = import_zod17.z.object({}).passthrough();
|
|
1393
|
+
var LabelKeyListSchema = import_zod17.z.object({
|
|
1394
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1395
|
+
keys: import_zod17.z.array(import_zod17.z.string())
|
|
1396
|
+
}).passthrough();
|
|
1397
|
+
var LabelValueListSchema = import_zod17.z.object({
|
|
1398
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1399
|
+
values: import_zod17.z.array(import_zod17.z.string())
|
|
1400
|
+
}).passthrough();
|
|
1401
|
+
var EvalSummarySchema = import_zod17.z.object({
|
|
1402
|
+
rules_failed: import_zod17.z.number().int().optional().default(0),
|
|
1403
|
+
rules_passed: import_zod17.z.number().int().optional().default(0),
|
|
1404
|
+
total_rules: import_zod17.z.number().int().optional().default(0)
|
|
1405
|
+
}).passthrough();
|
|
1406
|
+
var ModelScanIssueSchema = import_zod17.z.object({
|
|
1407
|
+
description: import_zod17.z.string(),
|
|
1408
|
+
source: import_zod17.z.string(),
|
|
1409
|
+
threat: import_zod17.z.string().nullable().optional(),
|
|
1410
|
+
module: import_zod17.z.string().nullable().optional(),
|
|
1411
|
+
operator: import_zod17.z.string().nullable().optional()
|
|
1412
|
+
}).passthrough();
|
|
1413
|
+
var FileScanDataSchema = import_zod17.z.object({
|
|
1414
|
+
file_path: import_zod17.z.string(),
|
|
1415
|
+
modelscan_status: import_zod17.z.string(),
|
|
1416
|
+
blob_id: import_zod17.z.string(),
|
|
1417
|
+
error_message: import_zod17.z.string().nullable().optional(),
|
|
1418
|
+
formats: import_zod17.z.array(import_zod17.z.string()).nullable().optional(),
|
|
1419
|
+
issues_detected: import_zod17.z.array(ModelScanIssueSchema).nullable().optional()
|
|
1420
|
+
}).passthrough();
|
|
1421
|
+
var ScanDetailsSchema = import_zod17.z.object({
|
|
1422
|
+
scanner_version: import_zod17.z.string(),
|
|
1423
|
+
time_started: import_zod17.z.string(),
|
|
1424
|
+
files: import_zod17.z.array(FileScanDataSchema),
|
|
1425
|
+
total_files_scanned: import_zod17.z.number().int(),
|
|
1426
|
+
total_files_skipped: import_zod17.z.number().int(),
|
|
1427
|
+
model_formats: import_zod17.z.array(import_zod17.z.string()),
|
|
1428
|
+
model_size_bytes: import_zod17.z.number().int(),
|
|
1429
|
+
scan_duration_ms: import_zod17.z.number().int(),
|
|
1430
|
+
error_code: import_zod17.z.string().nullable().optional(),
|
|
1431
|
+
error_message: import_zod17.z.string().nullable().optional()
|
|
1432
|
+
});
|
|
1433
|
+
var ScanCreateRequestSchema = import_zod17.z.object({
|
|
1434
|
+
model_uri: import_zod17.z.string(),
|
|
1435
|
+
security_group_uuid: import_zod17.z.string(),
|
|
1436
|
+
scan_origin: import_zod17.z.string(),
|
|
1437
|
+
allow_patterns: import_zod17.z.array(import_zod17.z.string()).nullable().optional(),
|
|
1438
|
+
ignore_patterns: import_zod17.z.array(import_zod17.z.string()).nullable().optional(),
|
|
1439
|
+
labels: import_zod17.z.array(LabelSchema).nullable().optional(),
|
|
1440
|
+
model_author: import_zod17.z.string().nullable().optional(),
|
|
1441
|
+
model_name: import_zod17.z.string().nullable().optional(),
|
|
1442
|
+
model_version: import_zod17.z.string().nullable().optional(),
|
|
1443
|
+
scan_details: ScanDetailsSchema.nullable().optional()
|
|
1444
|
+
});
|
|
1445
|
+
var ScanBaseResponseSchema = import_zod17.z.object({
|
|
1446
|
+
uuid: import_zod17.z.string(),
|
|
1447
|
+
tsg_id: import_zod17.z.string(),
|
|
1448
|
+
created_at: import_zod17.z.string(),
|
|
1449
|
+
updated_at: import_zod17.z.string(),
|
|
1450
|
+
model_uri: import_zod17.z.string(),
|
|
1451
|
+
owner: import_zod17.z.string(),
|
|
1452
|
+
scan_origin: import_zod17.z.string(),
|
|
1453
|
+
security_group_uuid: import_zod17.z.string(),
|
|
1454
|
+
security_group_name: import_zod17.z.string(),
|
|
1455
|
+
model_version_uuid: import_zod17.z.string(),
|
|
1456
|
+
eval_outcome: import_zod17.z.string(),
|
|
1457
|
+
source_type: import_zod17.z.string(),
|
|
1458
|
+
created_by: import_zod17.z.string().nullable().optional(),
|
|
1459
|
+
enabled_rule_count_snapshot: import_zod17.z.number().int().nullable().optional(),
|
|
1460
|
+
error_code: import_zod17.z.string().nullable().optional(),
|
|
1461
|
+
error_message: import_zod17.z.string().nullable().optional(),
|
|
1462
|
+
eval_summary: EvalSummarySchema.nullable().optional(),
|
|
1463
|
+
labels: import_zod17.z.array(LabelSchema).optional(),
|
|
1464
|
+
model_formats: import_zod17.z.array(import_zod17.z.string()).nullable().optional(),
|
|
1465
|
+
scanner_version: import_zod17.z.string().nullable().optional(),
|
|
1466
|
+
time_started: import_zod17.z.string().nullable().optional(),
|
|
1467
|
+
total_files_scanned: import_zod17.z.number().int().nullable().optional(),
|
|
1468
|
+
total_files_skipped: import_zod17.z.number().int().nullable().optional()
|
|
1469
|
+
}).passthrough();
|
|
1470
|
+
var ScanListSchema = import_zod17.z.object({
|
|
1471
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1472
|
+
scans: import_zod17.z.array(ScanBaseResponseSchema)
|
|
1473
|
+
}).passthrough();
|
|
1474
|
+
var FileResponseSchema = import_zod17.z.object({
|
|
1475
|
+
uuid: import_zod17.z.string(),
|
|
1476
|
+
tsg_id: import_zod17.z.string(),
|
|
1477
|
+
created_at: import_zod17.z.string(),
|
|
1478
|
+
updated_at: import_zod17.z.string(),
|
|
1479
|
+
path: import_zod17.z.string(),
|
|
1480
|
+
parent_path: import_zod17.z.string(),
|
|
1481
|
+
type: import_zod17.z.string(),
|
|
1482
|
+
result: import_zod17.z.string(),
|
|
1483
|
+
model_version_uuid: import_zod17.z.string(),
|
|
1484
|
+
blob_id: import_zod17.z.string().nullable().optional(),
|
|
1485
|
+
formats: import_zod17.z.array(import_zod17.z.string()).nullable().optional(),
|
|
1486
|
+
scan_uuid: import_zod17.z.string().nullable().optional()
|
|
1487
|
+
}).passthrough();
|
|
1488
|
+
var FileListSchema = import_zod17.z.object({
|
|
1489
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1490
|
+
files: import_zod17.z.array(FileResponseSchema)
|
|
1491
|
+
}).passthrough();
|
|
1492
|
+
var RuleEvaluationResponseSchema = import_zod17.z.object({
|
|
1493
|
+
uuid: import_zod17.z.string(),
|
|
1494
|
+
tsg_id: import_zod17.z.string(),
|
|
1495
|
+
created_at: import_zod17.z.string(),
|
|
1496
|
+
updated_at: import_zod17.z.string(),
|
|
1497
|
+
result: import_zod17.z.string(),
|
|
1498
|
+
violation_count: import_zod17.z.number().int(),
|
|
1499
|
+
rule_instance_uuid: import_zod17.z.string(),
|
|
1500
|
+
scan_uuid: import_zod17.z.string(),
|
|
1501
|
+
rule_name: import_zod17.z.string(),
|
|
1502
|
+
rule_description: import_zod17.z.string(),
|
|
1503
|
+
rule_instance_state: import_zod17.z.string()
|
|
1504
|
+
}).passthrough();
|
|
1505
|
+
var RuleEvaluationListSchema = import_zod17.z.object({
|
|
1506
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1507
|
+
evaluations: import_zod17.z.array(RuleEvaluationResponseSchema)
|
|
1508
|
+
}).passthrough();
|
|
1509
|
+
var ViolationResponseSchema = import_zod17.z.object({
|
|
1510
|
+
uuid: import_zod17.z.string(),
|
|
1511
|
+
tsg_id: import_zod17.z.string(),
|
|
1512
|
+
created_at: import_zod17.z.string(),
|
|
1513
|
+
updated_at: import_zod17.z.string(),
|
|
1514
|
+
description: import_zod17.z.string(),
|
|
1515
|
+
rule_instance_uuid: import_zod17.z.string(),
|
|
1516
|
+
rule_name: import_zod17.z.string(),
|
|
1517
|
+
rule_description: import_zod17.z.string(),
|
|
1518
|
+
rule_instance_state: import_zod17.z.string(),
|
|
1519
|
+
file: import_zod17.z.string().nullable().optional(),
|
|
1520
|
+
hash: import_zod17.z.string().nullable().optional(),
|
|
1521
|
+
module: import_zod17.z.string().nullable().optional(),
|
|
1522
|
+
operator: import_zod17.z.string().nullable().optional(),
|
|
1523
|
+
threat: import_zod17.z.string().nullable().optional(),
|
|
1524
|
+
threat_description: import_zod17.z.string().nullable().optional()
|
|
1525
|
+
}).passthrough();
|
|
1526
|
+
var ViolationListSchema = import_zod17.z.object({
|
|
1527
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1528
|
+
violations: import_zod17.z.array(ViolationResponseSchema)
|
|
1529
|
+
}).passthrough();
|
|
1530
|
+
var RuleEditableFieldDropdownSchema = import_zod17.z.object({
|
|
1531
|
+
value: import_zod17.z.string(),
|
|
1532
|
+
label: import_zod17.z.string()
|
|
1533
|
+
}).passthrough();
|
|
1534
|
+
var RuleEditableFieldSchema = import_zod17.z.object({
|
|
1535
|
+
attribute_name: import_zod17.z.string(),
|
|
1536
|
+
type: import_zod17.z.string(),
|
|
1537
|
+
display_name: import_zod17.z.string(),
|
|
1538
|
+
display_type: import_zod17.z.string(),
|
|
1539
|
+
description: import_zod17.z.string().nullable().optional(),
|
|
1540
|
+
dropdown_values: import_zod17.z.array(RuleEditableFieldDropdownSchema).nullable().optional()
|
|
1541
|
+
}).passthrough();
|
|
1542
|
+
var RuleRemediationSchema = import_zod17.z.object({
|
|
1543
|
+
description: import_zod17.z.string(),
|
|
1544
|
+
steps: import_zod17.z.array(import_zod17.z.string()),
|
|
1545
|
+
url: import_zod17.z.string()
|
|
1546
|
+
}).passthrough();
|
|
1547
|
+
var RuleConfigurationSchema = import_zod17.z.object({
|
|
1548
|
+
field_values: import_zod17.z.record(import_zod17.z.unknown()).optional(),
|
|
1549
|
+
state: import_zod17.z.string().nullable().optional()
|
|
1550
|
+
}).passthrough();
|
|
1551
|
+
var ModelSecurityRuleResponseSchema = import_zod17.z.object({
|
|
1552
|
+
uuid: import_zod17.z.string(),
|
|
1553
|
+
name: import_zod17.z.string(),
|
|
1554
|
+
description: import_zod17.z.string(),
|
|
1555
|
+
rule_type: import_zod17.z.string(),
|
|
1556
|
+
compatible_sources: import_zod17.z.array(import_zod17.z.string()),
|
|
1557
|
+
default_state: import_zod17.z.string(),
|
|
1558
|
+
remediation: RuleRemediationSchema,
|
|
1559
|
+
editable_fields: import_zod17.z.array(RuleEditableFieldSchema),
|
|
1560
|
+
constant_values: import_zod17.z.record(import_zod17.z.unknown()),
|
|
1561
|
+
default_values: import_zod17.z.record(import_zod17.z.unknown())
|
|
1562
|
+
}).passthrough();
|
|
1563
|
+
var ListModelSecurityRulesResponseSchema = import_zod17.z.object({
|
|
1564
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1565
|
+
rules: import_zod17.z.array(ModelSecurityRuleResponseSchema)
|
|
1566
|
+
}).passthrough();
|
|
1567
|
+
var ModelSecurityRuleInstanceResponseSchema = import_zod17.z.object({
|
|
1568
|
+
uuid: import_zod17.z.string(),
|
|
1569
|
+
tsg_id: import_zod17.z.string(),
|
|
1570
|
+
created_at: import_zod17.z.string(),
|
|
1571
|
+
updated_at: import_zod17.z.string(),
|
|
1572
|
+
security_group_uuid: import_zod17.z.string(),
|
|
1573
|
+
security_rule_uuid: import_zod17.z.string(),
|
|
1574
|
+
state: import_zod17.z.string(),
|
|
1575
|
+
rule: ModelSecurityRuleResponseSchema,
|
|
1576
|
+
field_values: import_zod17.z.record(import_zod17.z.unknown()).optional()
|
|
1577
|
+
}).passthrough();
|
|
1578
|
+
var ModelSecurityRuleInstanceUpdateRequestSchema = import_zod17.z.object({
|
|
1579
|
+
security_group_uuid: import_zod17.z.string(),
|
|
1580
|
+
state: import_zod17.z.string().nullable().optional(),
|
|
1581
|
+
field_values: import_zod17.z.record(import_zod17.z.unknown()).nullable().optional()
|
|
1582
|
+
});
|
|
1583
|
+
var ListModelSecurityRuleInstancesResponseSchema = import_zod17.z.object({
|
|
1584
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1585
|
+
rule_instances: import_zod17.z.array(ModelSecurityRuleInstanceResponseSchema)
|
|
1586
|
+
}).passthrough();
|
|
1587
|
+
var ModelSecurityGroupCreateRequestSchema = import_zod17.z.object({
|
|
1588
|
+
name: import_zod17.z.string(),
|
|
1589
|
+
source_type: import_zod17.z.string(),
|
|
1590
|
+
description: import_zod17.z.string().optional().default(""),
|
|
1591
|
+
rule_configurations: import_zod17.z.record(RuleConfigurationSchema).optional()
|
|
1592
|
+
});
|
|
1593
|
+
var ModelSecurityGroupResponseSchema = import_zod17.z.object({
|
|
1594
|
+
uuid: import_zod17.z.string(),
|
|
1595
|
+
tsg_id: import_zod17.z.string(),
|
|
1596
|
+
created_at: import_zod17.z.string(),
|
|
1597
|
+
updated_at: import_zod17.z.string(),
|
|
1598
|
+
name: import_zod17.z.string(),
|
|
1599
|
+
description: import_zod17.z.string(),
|
|
1600
|
+
source_type: import_zod17.z.string(),
|
|
1601
|
+
state: import_zod17.z.string(),
|
|
1602
|
+
is_tombstone: import_zod17.z.boolean()
|
|
1603
|
+
}).passthrough();
|
|
1604
|
+
var ModelSecurityGroupUpdateRequestSchema = import_zod17.z.object({
|
|
1605
|
+
name: import_zod17.z.string().nullable().optional(),
|
|
1606
|
+
description: import_zod17.z.string().nullable().optional()
|
|
1607
|
+
});
|
|
1608
|
+
var ListModelSecurityGroupsResponseSchema = import_zod17.z.object({
|
|
1609
|
+
pagination: ModelSecurityPaginationSchema,
|
|
1610
|
+
security_groups: import_zod17.z.array(ModelSecurityGroupResponseSchema)
|
|
1611
|
+
}).passthrough();
|
|
1612
|
+
var PyPIAuthResponseSchema = import_zod17.z.object({
|
|
1613
|
+
url: import_zod17.z.string(),
|
|
1614
|
+
expires_at: import_zod17.z.string()
|
|
1615
|
+
}).passthrough();
|
|
1616
|
+
|
|
1617
|
+
// src/models/red-team-enums.ts
|
|
1618
|
+
var ApiEndpointType = {
|
|
1619
|
+
PUBLIC: "PUBLIC",
|
|
1620
|
+
PRIVATE: "PRIVATE",
|
|
1621
|
+
NETWORK_BROKER: "NETWORK_BROKER"
|
|
1622
|
+
};
|
|
1623
|
+
var AttackStatus = {
|
|
1624
|
+
INIT: "INIT",
|
|
1625
|
+
ATTACK: "ATTACK",
|
|
1626
|
+
DETECTION: "DETECTION",
|
|
1627
|
+
REPORT: "REPORT",
|
|
1628
|
+
COMPLETED: "COMPLETED",
|
|
1629
|
+
FAILED: "FAILED"
|
|
1630
|
+
};
|
|
1631
|
+
var AttackType = {
|
|
1632
|
+
NORMAL: "NORMAL",
|
|
1633
|
+
CUSTOM: "CUSTOM"
|
|
1634
|
+
};
|
|
1635
|
+
var AuthType = {
|
|
1636
|
+
OAUTH: "OAUTH",
|
|
1637
|
+
ACCESS_TOKEN: "ACCESS_TOKEN"
|
|
1638
|
+
};
|
|
1639
|
+
var BrandSubCategory = {
|
|
1640
|
+
COMPETITOR_ENDORSEMENTS: "COMPETITOR_ENDORSEMENTS",
|
|
1641
|
+
BRAND_TARNISHING_SELF_CRITICISM: "BRAND_TARNISHING_SELF_CRITICISM",
|
|
1642
|
+
DISCRIMINATING_CLAIMS: "DISCRIMINATING_CLAIMS",
|
|
1643
|
+
POLITICAL_ENDORSEMENTS: "POLITICAL_ENDORSEMENTS"
|
|
1644
|
+
};
|
|
1645
|
+
var ComplianceSubCategory = {
|
|
1646
|
+
OWASP: "OWASP",
|
|
1647
|
+
MITRE_ATLAS: "MITRE_ATLAS",
|
|
1648
|
+
NIST: "NIST",
|
|
1649
|
+
DASF_V2: "DASF_V2"
|
|
1650
|
+
};
|
|
1651
|
+
var CountedQuotaEnum = {
|
|
1652
|
+
HELD: "HELD",
|
|
1653
|
+
COUNTED: "COUNTED",
|
|
1654
|
+
NOT_COUNTED: "NOT_COUNTED"
|
|
1655
|
+
};
|
|
1656
|
+
var DateRangeFilter = {
|
|
1657
|
+
LAST_7_DAYS: "LAST_7_DAYS",
|
|
1658
|
+
LAST_15_DAYS: "LAST_15_DAYS",
|
|
1659
|
+
LAST_30_DAYS: "LAST_30_DAYS",
|
|
1660
|
+
ALL: "ALL"
|
|
1661
|
+
};
|
|
1662
|
+
var ErrorSource = {
|
|
1663
|
+
TARGET: "TARGET",
|
|
1664
|
+
JOB: "JOB",
|
|
1665
|
+
SYSTEM: "SYSTEM",
|
|
1666
|
+
VALIDATION: "VALIDATION",
|
|
1667
|
+
TARGET_PROFILING: "TARGET_PROFILING"
|
|
1668
|
+
};
|
|
1669
|
+
var RedTeamErrorType = {
|
|
1670
|
+
CONTENT_FILTER: "CONTENT_FILTER",
|
|
1671
|
+
RATE_LIMIT: "RATE_LIMIT",
|
|
1672
|
+
AUTHENTICATION: "AUTHENTICATION",
|
|
1673
|
+
NETWORK: "NETWORK",
|
|
1674
|
+
VALIDATION: "VALIDATION",
|
|
1675
|
+
NETWORK_CHANNEL: "NETWORK_CHANNEL",
|
|
1676
|
+
UNKNOWN: "UNKNOWN"
|
|
1677
|
+
};
|
|
1678
|
+
var FileFormat = {
|
|
1679
|
+
CSV: "CSV",
|
|
1680
|
+
JSON: "JSON",
|
|
1681
|
+
ALL: "ALL"
|
|
1682
|
+
};
|
|
1683
|
+
var GoalType = {
|
|
1684
|
+
BASE: "BASE",
|
|
1685
|
+
TOOL_MISUSE: "TOOL_MISUSE",
|
|
1686
|
+
GOAL_MANIPULATION: "GOAL_MANIPULATION"
|
|
1687
|
+
};
|
|
1688
|
+
var GoalTypeQueryParam = {
|
|
1689
|
+
AGENT: "AGENT",
|
|
1690
|
+
HUMAN_AUGMENTED: "HUMAN_AUGMENTED"
|
|
1691
|
+
};
|
|
1692
|
+
var GuardrailAction = {
|
|
1693
|
+
ALLOW: "ALLOW",
|
|
1694
|
+
BLOCK: "BLOCK"
|
|
1695
|
+
};
|
|
1696
|
+
var JobStatus = {
|
|
1697
|
+
INIT: "INIT",
|
|
1698
|
+
QUEUED: "QUEUED",
|
|
1699
|
+
RUNNING: "RUNNING",
|
|
1700
|
+
COMPLETED: "COMPLETED",
|
|
1701
|
+
PARTIALLY_COMPLETE: "PARTIALLY_COMPLETE",
|
|
1702
|
+
FAILED: "FAILED",
|
|
1703
|
+
ABORTED: "ABORTED"
|
|
1704
|
+
};
|
|
1705
|
+
var JobStatusFilter = {
|
|
1706
|
+
QUEUED: "QUEUED",
|
|
1707
|
+
RUNNING: "RUNNING",
|
|
1708
|
+
COMPLETED: "COMPLETED",
|
|
1709
|
+
PARTIALLY_COMPLETE: "PARTIALLY_COMPLETE",
|
|
1710
|
+
FAILED: "FAILED",
|
|
1711
|
+
ABORTED: "ABORTED"
|
|
1712
|
+
};
|
|
1713
|
+
var JobType = {
|
|
1714
|
+
STATIC: "STATIC",
|
|
1715
|
+
DYNAMIC: "DYNAMIC",
|
|
1716
|
+
CUSTOM: "CUSTOM"
|
|
1717
|
+
};
|
|
1718
|
+
var PolicyType = {
|
|
1719
|
+
PROMPT_INJECTION: "PROMPT_INJECTION",
|
|
1720
|
+
TOXIC_CONTENT: "TOXIC_CONTENT",
|
|
1721
|
+
CUSTOM_TOPIC_GUARDRAILS: "CUSTOM_TOPIC_GUARDRAILS",
|
|
1722
|
+
MALICIOUS_CODE_DETECTION: "MALICIOUS_CODE_DETECTION",
|
|
1723
|
+
MALICIOUS_URL_DETECTION: "MALICIOUS_URL_DETECTION",
|
|
1724
|
+
SENSITIVE_DATA_PROTECTION: "SENSITIVE_DATA_PROTECTION"
|
|
1725
|
+
};
|
|
1726
|
+
var ProfilingStatus = {
|
|
1727
|
+
INIT: "INIT",
|
|
1728
|
+
QUEUED: "QUEUED",
|
|
1729
|
+
IN_PROGRESS: "IN_PROGRESS",
|
|
1730
|
+
COMPLETED: "COMPLETED",
|
|
1731
|
+
FAILED: "FAILED"
|
|
1732
|
+
};
|
|
1733
|
+
var RedTeamCategory = {
|
|
1734
|
+
SECURITY: "SECURITY",
|
|
1735
|
+
SAFETY: "SAFETY",
|
|
1736
|
+
COMPLIANCE: "COMPLIANCE",
|
|
1737
|
+
BRAND: "BRAND"
|
|
1738
|
+
};
|
|
1739
|
+
var ResponseMode = {
|
|
1740
|
+
REST: "REST",
|
|
1741
|
+
STREAMING: "STREAMING"
|
|
1742
|
+
};
|
|
1743
|
+
var RiskRating = {
|
|
1744
|
+
LOW: "LOW",
|
|
1745
|
+
MEDIUM: "MEDIUM",
|
|
1746
|
+
HIGH: "HIGH",
|
|
1747
|
+
CRITICAL: "CRITICAL"
|
|
1748
|
+
};
|
|
1749
|
+
var SafetySubCategory = {
|
|
1750
|
+
BIAS: "BIAS",
|
|
1751
|
+
CBRN: "CBRN",
|
|
1752
|
+
CYBERCRIME: "CYBERCRIME",
|
|
1753
|
+
DRUGS: "DRUGS",
|
|
1754
|
+
HATE_TOXIC_ABUSE: "HATE_TOXIC_ABUSE",
|
|
1755
|
+
NON_VIOLENT_CRIMES: "NON_VIOLENT_CRIMES",
|
|
1756
|
+
POLITICAL: "POLITICAL",
|
|
1757
|
+
SELF_HARM: "SELF_HARM",
|
|
1758
|
+
SEXUAL: "SEXUAL",
|
|
1759
|
+
VIOLENT_CRIMES_WEAPONS: "VIOLENT_CRIMES_WEAPONS"
|
|
1760
|
+
};
|
|
1761
|
+
var SecuritySubCategory = {
|
|
1762
|
+
ADVERSARIAL_SUFFIX: "ADVERSARIAL_SUFFIX",
|
|
1763
|
+
EVASION: "EVASION",
|
|
1764
|
+
INDIRECT_PROMPT_INJECTION: "INDIRECT_PROMPT_INJECTION",
|
|
1765
|
+
JAILBREAK: "JAILBREAK",
|
|
1766
|
+
MULTI_TURN: "MULTI_TURN",
|
|
1767
|
+
PROMPT_INJECTION: "PROMPT_INJECTION",
|
|
1768
|
+
REMOTE_CODE_EXECUTION: "REMOTE_CODE_EXECUTION",
|
|
1769
|
+
SYSTEM_PROMPT_LEAK: "SYSTEM_PROMPT_LEAK",
|
|
1770
|
+
TOOL_LEAK: "TOOL_LEAK",
|
|
1771
|
+
MALWARE_GENERATION: "MALWARE_GENERATION"
|
|
1772
|
+
};
|
|
1773
|
+
var SeverityFilter = {
|
|
1774
|
+
LOW: "LOW",
|
|
1775
|
+
MEDIUM: "MEDIUM",
|
|
1776
|
+
HIGH: "HIGH",
|
|
1777
|
+
CRITICAL: "CRITICAL"
|
|
1778
|
+
};
|
|
1779
|
+
var StatusQueryParam = {
|
|
1780
|
+
SUCCESSFUL: "SUCCESSFUL",
|
|
1781
|
+
FAILED: "FAILED"
|
|
1782
|
+
};
|
|
1783
|
+
var StreamType = {
|
|
1784
|
+
NORMAL: "NORMAL",
|
|
1785
|
+
ADVERSARIAL: "ADVERSARIAL"
|
|
1786
|
+
};
|
|
1787
|
+
var TargetConnectionType = {
|
|
1788
|
+
DATABRICKS: "DATABRICKS",
|
|
1789
|
+
BEDROCK: "BEDROCK",
|
|
1790
|
+
OPENAI: "OPENAI",
|
|
1791
|
+
HUGGING_FACE: "HUGGING_FACE",
|
|
1792
|
+
CUSTOM: "CUSTOM",
|
|
1793
|
+
REST: "REST",
|
|
1794
|
+
STREAMING: "STREAMING"
|
|
1795
|
+
};
|
|
1796
|
+
var TargetStatus = {
|
|
1797
|
+
DRAFT: "DRAFT",
|
|
1798
|
+
VALIDATING: "VALIDATING",
|
|
1799
|
+
VALIDATED: "VALIDATED",
|
|
1800
|
+
ACTIVE: "ACTIVE",
|
|
1801
|
+
INACTIVE: "INACTIVE",
|
|
1802
|
+
FAILED: "FAILED",
|
|
1803
|
+
PENDING_AUTH: "PENDING_AUTH"
|
|
1804
|
+
};
|
|
1805
|
+
var TargetType = {
|
|
1806
|
+
APPLICATION: "APPLICATION",
|
|
1807
|
+
AGENT: "AGENT",
|
|
1808
|
+
MODEL: "MODEL"
|
|
1809
|
+
};
|
|
1810
|
+
|
|
1811
|
+
// src/models/red-team.ts
|
|
1812
|
+
var import_zod18 = require("zod");
|
|
1813
|
+
var RedTeamPaginationSchema = import_zod18.z.object({ total_items: import_zod18.z.number().int().nullable().optional() }).passthrough();
|
|
1814
|
+
var CountByNameSchema = import_zod18.z.object({ name: import_zod18.z.string(), count: import_zod18.z.number().int() });
|
|
1815
|
+
var ValidationErrorSchema = import_zod18.z.object({
|
|
1816
|
+
loc: import_zod18.z.array(import_zod18.z.union([import_zod18.z.string(), import_zod18.z.number()])),
|
|
1817
|
+
msg: import_zod18.z.string(),
|
|
1818
|
+
type: import_zod18.z.string()
|
|
1819
|
+
});
|
|
1820
|
+
var HTTPValidationErrorSchema = import_zod18.z.object({ detail: import_zod18.z.array(ValidationErrorSchema).optional() }).passthrough();
|
|
1821
|
+
var TargetBackgroundSchema = import_zod18.z.object({
|
|
1822
|
+
industry: import_zod18.z.unknown().optional(),
|
|
1823
|
+
use_case: import_zod18.z.unknown().optional(),
|
|
1824
|
+
competitors: import_zod18.z.unknown().optional()
|
|
1825
|
+
}).passthrough();
|
|
1826
|
+
var TargetAdditionalContextSchema = import_zod18.z.object({
|
|
1827
|
+
base_model: import_zod18.z.unknown().optional(),
|
|
1828
|
+
core_architecture: import_zod18.z.unknown().optional(),
|
|
1829
|
+
system_prompt: import_zod18.z.unknown().optional(),
|
|
1830
|
+
languages_supported: import_zod18.z.unknown().optional(),
|
|
1831
|
+
banned_keywords: import_zod18.z.unknown().optional(),
|
|
1832
|
+
tools_accessible: import_zod18.z.unknown().optional()
|
|
1833
|
+
}).passthrough();
|
|
1834
|
+
var TargetMetadataSchema = import_zod18.z.object({
|
|
1835
|
+
multi_turn: import_zod18.z.boolean().optional(),
|
|
1836
|
+
multi_turn_error_message: import_zod18.z.unknown().optional(),
|
|
1837
|
+
rate_limit: import_zod18.z.unknown().optional(),
|
|
1838
|
+
rate_limit_enabled: import_zod18.z.boolean().optional(),
|
|
1839
|
+
rate_limit_error_code: import_zod18.z.unknown().optional(),
|
|
1840
|
+
rate_limit_error_json: import_zod18.z.unknown().optional(),
|
|
1841
|
+
rate_limit_error_message: import_zod18.z.unknown().optional(),
|
|
1842
|
+
content_filter_enabled: import_zod18.z.boolean().optional(),
|
|
1843
|
+
content_filter_error_code: import_zod18.z.unknown().optional(),
|
|
1844
|
+
content_filter_error_json: import_zod18.z.unknown().optional(),
|
|
1845
|
+
content_filter_error_message: import_zod18.z.unknown().optional(),
|
|
1846
|
+
probe_message: import_zod18.z.string().optional(),
|
|
1847
|
+
request_timeout: import_zod18.z.number().optional()
|
|
1848
|
+
}).passthrough();
|
|
1849
|
+
var TargetJobRequestSchema = import_zod18.z.object({
|
|
1850
|
+
uuid: import_zod18.z.string(),
|
|
1851
|
+
version: import_zod18.z.number().int().nullable().optional()
|
|
1852
|
+
});
|
|
1853
|
+
var JobTimeRecordSchema = import_zod18.z.object({
|
|
1854
|
+
queued_at: import_zod18.z.string().nullable().optional(),
|
|
1855
|
+
started_at: import_zod18.z.string().nullable().optional(),
|
|
1856
|
+
completed_at: import_zod18.z.string().nullable().optional(),
|
|
1857
|
+
time_taken: import_zod18.z.string().nullable().optional()
|
|
1858
|
+
}).passthrough();
|
|
1859
|
+
var StaticJobMetadataSchema = import_zod18.z.object({
|
|
1860
|
+
categories: import_zod18.z.record(import_zod18.z.unknown()),
|
|
1861
|
+
rate_limit_enabled: import_zod18.z.boolean().optional(),
|
|
1862
|
+
rate_limit: import_zod18.z.number().int().nullable().optional(),
|
|
1863
|
+
rate_limit_error_code: import_zod18.z.number().int().nullable().optional(),
|
|
1864
|
+
rate_limit_error_message: import_zod18.z.string().nullable().optional(),
|
|
1865
|
+
rate_limit_error_json: import_zod18.z.unknown().optional(),
|
|
1866
|
+
content_filter_enabled: import_zod18.z.boolean().optional(),
|
|
1867
|
+
content_filter_error_code: import_zod18.z.number().int().nullable().optional(),
|
|
1868
|
+
content_filter_error_message: import_zod18.z.string().nullable().optional(),
|
|
1869
|
+
content_filter_error_json: import_zod18.z.unknown().optional()
|
|
1870
|
+
}).passthrough();
|
|
1871
|
+
var DynamicJobMetadataSchema = import_zod18.z.object({
|
|
1872
|
+
rate_limit_enabled: import_zod18.z.boolean().optional(),
|
|
1873
|
+
rate_limit: import_zod18.z.number().int().nullable().optional(),
|
|
1874
|
+
rate_limit_error_code: import_zod18.z.number().int().nullable().optional(),
|
|
1875
|
+
rate_limit_error_message: import_zod18.z.string().nullable().optional(),
|
|
1876
|
+
rate_limit_error_json: import_zod18.z.unknown().optional(),
|
|
1877
|
+
content_filter_enabled: import_zod18.z.boolean().optional(),
|
|
1878
|
+
content_filter_error_code: import_zod18.z.number().int().nullable().optional(),
|
|
1879
|
+
content_filter_error_message: import_zod18.z.string().nullable().optional(),
|
|
1880
|
+
content_filter_error_json: import_zod18.z.unknown().optional(),
|
|
1881
|
+
stream_breadth: import_zod18.z.number().int().optional(),
|
|
1882
|
+
stream_depth: import_zod18.z.number().int().optional(),
|
|
1883
|
+
max_tokens: import_zod18.z.number().int().optional(),
|
|
1884
|
+
context_size: import_zod18.z.number().int().optional(),
|
|
1885
|
+
attack_goals: import_zod18.z.array(import_zod18.z.unknown()).optional(),
|
|
1886
|
+
base_model: import_zod18.z.string().nullable().optional(),
|
|
1887
|
+
use_case: import_zod18.z.string().nullable().optional(),
|
|
1888
|
+
system_prompt: import_zod18.z.string().nullable().optional()
|
|
1889
|
+
}).passthrough();
|
|
1890
|
+
var CustomJobMetadataSchema = import_zod18.z.object({
|
|
1891
|
+
custom_prompt_sets: import_zod18.z.array(import_zod18.z.unknown()),
|
|
1892
|
+
rate_limit_enabled: import_zod18.z.boolean().optional(),
|
|
1893
|
+
rate_limit: import_zod18.z.number().int().nullable().optional(),
|
|
1894
|
+
rate_limit_error_code: import_zod18.z.number().int().nullable().optional(),
|
|
1895
|
+
rate_limit_error_message: import_zod18.z.string().nullable().optional(),
|
|
1896
|
+
rate_limit_error_json: import_zod18.z.unknown().optional(),
|
|
1897
|
+
content_filter_enabled: import_zod18.z.boolean().optional(),
|
|
1898
|
+
content_filter_error_code: import_zod18.z.number().int().nullable().optional(),
|
|
1899
|
+
content_filter_error_message: import_zod18.z.string().nullable().optional(),
|
|
1900
|
+
content_filter_error_json: import_zod18.z.unknown().optional()
|
|
1901
|
+
}).passthrough();
|
|
1902
|
+
var JobCreateRequestSchema = import_zod18.z.object({
|
|
1903
|
+
name: import_zod18.z.string(),
|
|
1904
|
+
target: TargetJobRequestSchema,
|
|
1905
|
+
job_type: import_zod18.z.string(),
|
|
1906
|
+
job_metadata: import_zod18.z.union([
|
|
1907
|
+
StaticJobMetadataSchema,
|
|
1908
|
+
DynamicJobMetadataSchema,
|
|
1909
|
+
CustomJobMetadataSchema
|
|
1910
|
+
]),
|
|
1911
|
+
version: import_zod18.z.number().int().nullable().optional(),
|
|
1912
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).nullable().optional()
|
|
1913
|
+
});
|
|
1914
|
+
var StaticJobReportStatsSchema = import_zod18.z.object({
|
|
1915
|
+
output_completion_percentage: import_zod18.z.number(),
|
|
1916
|
+
partial_report_unlocked: import_zod18.z.boolean().optional(),
|
|
1917
|
+
partial_report_unlocked_at: import_zod18.z.string().nullable().optional(),
|
|
1918
|
+
report_summary: import_zod18.z.string().nullable().optional()
|
|
1919
|
+
}).passthrough();
|
|
1920
|
+
var DynamicJobReportStatsSchema = import_zod18.z.object({
|
|
1921
|
+
total_goals: import_zod18.z.number().int().optional(),
|
|
1922
|
+
total_streams: import_zod18.z.number().int().optional(),
|
|
1923
|
+
total_threats: import_zod18.z.number().int().optional(),
|
|
1924
|
+
goals_achieved: import_zod18.z.number().int().optional(),
|
|
1925
|
+
report_summary: import_zod18.z.string().nullable().optional()
|
|
1926
|
+
}).passthrough();
|
|
1927
|
+
var TargetReferenceSchema = import_zod18.z.object({
|
|
1928
|
+
uuid: import_zod18.z.string(),
|
|
1929
|
+
tsg_id: import_zod18.z.string(),
|
|
1930
|
+
name: import_zod18.z.string(),
|
|
1931
|
+
description: import_zod18.z.string().nullable().optional(),
|
|
1932
|
+
target_type: import_zod18.z.string().nullable().optional(),
|
|
1933
|
+
connection_type: import_zod18.z.string().nullable().optional(),
|
|
1934
|
+
api_endpoint_type: import_zod18.z.string().nullable().optional(),
|
|
1935
|
+
response_mode: import_zod18.z.string().nullable().optional(),
|
|
1936
|
+
session_supported: import_zod18.z.boolean().optional(),
|
|
1937
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).nullable().optional(),
|
|
1938
|
+
status: import_zod18.z.string(),
|
|
1939
|
+
active: import_zod18.z.boolean(),
|
|
1940
|
+
validated: import_zod18.z.boolean(),
|
|
1941
|
+
version: import_zod18.z.number().int().nullable().optional(),
|
|
1942
|
+
secret_version: import_zod18.z.string().nullable().optional(),
|
|
1943
|
+
created_by_user_id: import_zod18.z.string().nullable().optional(),
|
|
1944
|
+
updated_by_user_id: import_zod18.z.string().nullable().optional(),
|
|
1945
|
+
created_at: import_zod18.z.string(),
|
|
1946
|
+
updated_at: import_zod18.z.string(),
|
|
1947
|
+
target_metadata: TargetMetadataSchema.optional(),
|
|
1948
|
+
target_background: TargetBackgroundSchema.nullable().optional(),
|
|
1949
|
+
profiling_status: import_zod18.z.string().nullable().optional(),
|
|
1950
|
+
additional_context: TargetAdditionalContextSchema.nullable().optional()
|
|
1951
|
+
}).passthrough();
|
|
1952
|
+
var JobResponseSchema = import_zod18.z.object({
|
|
1953
|
+
uuid: import_zod18.z.string(),
|
|
1954
|
+
tsg_id: import_zod18.z.string(),
|
|
1955
|
+
name: import_zod18.z.string(),
|
|
1956
|
+
target: TargetReferenceSchema,
|
|
1957
|
+
job_type: import_zod18.z.string(),
|
|
1958
|
+
job_metadata: import_zod18.z.unknown(),
|
|
1959
|
+
version: import_zod18.z.number().int().nullable().optional(),
|
|
1960
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).nullable().optional(),
|
|
1961
|
+
target_id: import_zod18.z.string(),
|
|
1962
|
+
target_type: import_zod18.z.string(),
|
|
1963
|
+
total: import_zod18.z.number().int().nullable().optional(),
|
|
1964
|
+
completed: import_zod18.z.number().int().nullable().optional(),
|
|
1965
|
+
status: import_zod18.z.string().optional(),
|
|
1966
|
+
score: import_zod18.z.number().nullable().optional(),
|
|
1967
|
+
asr: import_zod18.z.number().nullable().optional(),
|
|
1968
|
+
time_record: JobTimeRecordSchema.nullable().optional(),
|
|
1969
|
+
created_at: import_zod18.z.string().nullable().optional(),
|
|
1970
|
+
updated_at: import_zod18.z.string().nullable().optional(),
|
|
1971
|
+
created_by_user_id: import_zod18.z.string().nullable().optional(),
|
|
1972
|
+
report_stats: import_zod18.z.unknown().optional(),
|
|
1973
|
+
metering_quota_uuid: import_zod18.z.string().nullable().optional(),
|
|
1974
|
+
counted_towards_quota: import_zod18.z.string().optional(),
|
|
1975
|
+
invocation_id: import_zod18.z.string().nullable().optional()
|
|
1976
|
+
}).passthrough();
|
|
1977
|
+
var JobListResponseSchema = import_zod18.z.object({
|
|
1978
|
+
pagination: RedTeamPaginationSchema,
|
|
1979
|
+
data: import_zod18.z.array(JobResponseSchema)
|
|
1980
|
+
}).passthrough();
|
|
1981
|
+
var JobAbortResponseSchema = import_zod18.z.object({
|
|
1982
|
+
job_id: import_zod18.z.string(),
|
|
1983
|
+
message: import_zod18.z.string()
|
|
1984
|
+
});
|
|
1985
|
+
var PrerequisiteModelSchema = import_zod18.z.object({
|
|
1986
|
+
id: import_zod18.z.string(),
|
|
1987
|
+
display_name: import_zod18.z.string(),
|
|
1988
|
+
description: import_zod18.z.string()
|
|
1989
|
+
});
|
|
1990
|
+
var SubCategoryModelSchema = import_zod18.z.object({
|
|
1991
|
+
id: import_zod18.z.string(),
|
|
1992
|
+
display_name: import_zod18.z.string(),
|
|
1993
|
+
description: import_zod18.z.string(),
|
|
1994
|
+
preselect: import_zod18.z.boolean().optional(),
|
|
1995
|
+
prerequisites: import_zod18.z.array(PrerequisiteModelSchema).nullable().optional(),
|
|
1996
|
+
active: import_zod18.z.boolean().optional()
|
|
1997
|
+
}).passthrough();
|
|
1998
|
+
var CategoryModelSchema = import_zod18.z.object({
|
|
1999
|
+
id: import_zod18.z.string(),
|
|
2000
|
+
display_name: import_zod18.z.string(),
|
|
2001
|
+
description: import_zod18.z.string(),
|
|
2002
|
+
preselect: import_zod18.z.boolean().optional(),
|
|
2003
|
+
sub_categories: import_zod18.z.array(SubCategoryModelSchema)
|
|
2004
|
+
}).passthrough();
|
|
2005
|
+
var AttackOutputSchema = import_zod18.z.object({
|
|
2006
|
+
uuid: import_zod18.z.string(),
|
|
2007
|
+
tsg_id: import_zod18.z.string(),
|
|
2008
|
+
attack_id: import_zod18.z.string(),
|
|
2009
|
+
job_id: import_zod18.z.string(),
|
|
2010
|
+
target_id: import_zod18.z.string(),
|
|
2011
|
+
output: import_zod18.z.string(),
|
|
2012
|
+
threat: import_zod18.z.boolean().nullable().optional(),
|
|
2013
|
+
marked_safe: import_zod18.z.boolean().nullable().optional()
|
|
2014
|
+
}).passthrough();
|
|
2015
|
+
var AttackMultiTurnOutputSchema = import_zod18.z.object({
|
|
2016
|
+
uuid: import_zod18.z.string(),
|
|
2017
|
+
tsg_id: import_zod18.z.string(),
|
|
2018
|
+
attack_id: import_zod18.z.string(),
|
|
2019
|
+
job_id: import_zod18.z.string(),
|
|
2020
|
+
target_id: import_zod18.z.string(),
|
|
2021
|
+
output: import_zod18.z.string(),
|
|
2022
|
+
prompt: import_zod18.z.string(),
|
|
2023
|
+
turn: import_zod18.z.number().int(),
|
|
2024
|
+
threat: import_zod18.z.boolean().nullable().optional(),
|
|
2025
|
+
marked_safe: import_zod18.z.boolean().nullable().optional(),
|
|
2026
|
+
generation: import_zod18.z.number().int().optional(),
|
|
2027
|
+
multi_turn: import_zod18.z.boolean().optional()
|
|
2028
|
+
}).passthrough();
|
|
2029
|
+
var AttackListItemSchema = import_zod18.z.object({
|
|
2030
|
+
uuid: import_zod18.z.string(),
|
|
2031
|
+
tsg_id: import_zod18.z.string(),
|
|
2032
|
+
job_id: import_zod18.z.string(),
|
|
2033
|
+
target_id: import_zod18.z.string(),
|
|
2034
|
+
prompt: import_zod18.z.string(),
|
|
2035
|
+
prompt_mapping_id: import_zod18.z.string(),
|
|
2036
|
+
prompt_id: import_zod18.z.string(),
|
|
2037
|
+
category: import_zod18.z.string(),
|
|
2038
|
+
sub_category: import_zod18.z.string(),
|
|
2039
|
+
category_display_name: import_zod18.z.string(),
|
|
2040
|
+
sub_category_display_name: import_zod18.z.string(),
|
|
2041
|
+
status: import_zod18.z.string().optional(),
|
|
2042
|
+
marked_safe: import_zod18.z.boolean().nullable().optional(),
|
|
2043
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).optional(),
|
|
2044
|
+
threat: import_zod18.z.boolean().nullable().optional(),
|
|
2045
|
+
attack_type: import_zod18.z.string().optional(),
|
|
2046
|
+
multi_turn: import_zod18.z.boolean().optional(),
|
|
2047
|
+
asr: import_zod18.z.number().nullable().optional(),
|
|
2048
|
+
version: import_zod18.z.number().int().nullable().optional(),
|
|
2049
|
+
severity: import_zod18.z.string().optional()
|
|
2050
|
+
}).passthrough();
|
|
2051
|
+
var AttackListResponseSchema = import_zod18.z.object({
|
|
2052
|
+
pagination: RedTeamPaginationSchema,
|
|
2053
|
+
data: import_zod18.z.array(AttackListItemSchema)
|
|
2054
|
+
}).passthrough();
|
|
2055
|
+
var AttackDetailResponseSchema = import_zod18.z.object({
|
|
2056
|
+
uuid: import_zod18.z.string(),
|
|
2057
|
+
tsg_id: import_zod18.z.string(),
|
|
2058
|
+
job_id: import_zod18.z.string(),
|
|
2059
|
+
target_id: import_zod18.z.string(),
|
|
2060
|
+
prompt: import_zod18.z.string(),
|
|
2061
|
+
prompt_mapping_id: import_zod18.z.string(),
|
|
2062
|
+
prompt_id: import_zod18.z.string(),
|
|
2063
|
+
category: import_zod18.z.string(),
|
|
2064
|
+
sub_category: import_zod18.z.string(),
|
|
2065
|
+
category_display_name: import_zod18.z.string(),
|
|
2066
|
+
sub_category_display_name: import_zod18.z.string(),
|
|
2067
|
+
compliance_frameworks: import_zod18.z.array(import_zod18.z.unknown()),
|
|
2068
|
+
goal: import_zod18.z.string().nullable(),
|
|
2069
|
+
status: import_zod18.z.string().optional(),
|
|
2070
|
+
marked_safe: import_zod18.z.boolean().nullable().optional(),
|
|
2071
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).optional(),
|
|
2072
|
+
threat: import_zod18.z.boolean().nullable().optional(),
|
|
2073
|
+
attack_type: import_zod18.z.string().optional(),
|
|
2074
|
+
multi_turn: import_zod18.z.boolean().optional(),
|
|
2075
|
+
asr: import_zod18.z.number().nullable().optional(),
|
|
2076
|
+
version: import_zod18.z.number().int().nullable().optional(),
|
|
2077
|
+
severity: import_zod18.z.string().optional(),
|
|
2078
|
+
outputs: import_zod18.z.array(AttackOutputSchema).optional()
|
|
2079
|
+
}).passthrough();
|
|
2080
|
+
var AttackMultiTurnDetailResponseSchema = import_zod18.z.object({
|
|
2081
|
+
uuid: import_zod18.z.string(),
|
|
2082
|
+
tsg_id: import_zod18.z.string(),
|
|
2083
|
+
job_id: import_zod18.z.string(),
|
|
2084
|
+
target_id: import_zod18.z.string(),
|
|
2085
|
+
prompt: import_zod18.z.string(),
|
|
2086
|
+
prompt_mapping_id: import_zod18.z.string(),
|
|
2087
|
+
prompt_id: import_zod18.z.string(),
|
|
2088
|
+
category: import_zod18.z.string(),
|
|
2089
|
+
sub_category: import_zod18.z.string(),
|
|
2090
|
+
category_display_name: import_zod18.z.string(),
|
|
2091
|
+
sub_category_display_name: import_zod18.z.string(),
|
|
2092
|
+
compliance_frameworks: import_zod18.z.array(import_zod18.z.unknown()),
|
|
2093
|
+
goal: import_zod18.z.string().nullable(),
|
|
2094
|
+
status: import_zod18.z.string().optional(),
|
|
2095
|
+
marked_safe: import_zod18.z.boolean().nullable().optional(),
|
|
2096
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).optional(),
|
|
2097
|
+
threat: import_zod18.z.boolean().nullable().optional(),
|
|
2098
|
+
attack_type: import_zod18.z.string().optional(),
|
|
2099
|
+
multi_turn: import_zod18.z.boolean().optional(),
|
|
2100
|
+
asr: import_zod18.z.number().nullable().optional(),
|
|
2101
|
+
version: import_zod18.z.number().int().nullable().optional(),
|
|
2102
|
+
severity: import_zod18.z.string().optional(),
|
|
2103
|
+
outputs: import_zod18.z.array(AttackMultiTurnOutputSchema).optional()
|
|
2104
|
+
}).passthrough();
|
|
2105
|
+
var SubCategoryStatsSchema = import_zod18.z.object({
|
|
2106
|
+
id: import_zod18.z.string(),
|
|
2107
|
+
display_name: import_zod18.z.string(),
|
|
2108
|
+
description: import_zod18.z.string(),
|
|
2109
|
+
preselect: import_zod18.z.boolean().optional(),
|
|
2110
|
+
prerequisites: import_zod18.z.array(PrerequisiteModelSchema).nullable().optional(),
|
|
2111
|
+
active: import_zod18.z.boolean().optional(),
|
|
2112
|
+
successful: import_zod18.z.number().int(),
|
|
2113
|
+
failed: import_zod18.z.number().int(),
|
|
2114
|
+
total: import_zod18.z.number().int().optional()
|
|
2115
|
+
}).passthrough();
|
|
2116
|
+
var CategoryReportSchema = import_zod18.z.object({
|
|
2117
|
+
id: import_zod18.z.string(),
|
|
2118
|
+
display_name: import_zod18.z.string(),
|
|
2119
|
+
description: import_zod18.z.string(),
|
|
2120
|
+
preselect: import_zod18.z.boolean().optional(),
|
|
2121
|
+
sub_categories: import_zod18.z.array(SubCategoryStatsSchema),
|
|
2122
|
+
asr: import_zod18.z.number(),
|
|
2123
|
+
total_prompts: import_zod18.z.number().int(),
|
|
2124
|
+
total_attacks: import_zod18.z.number().int(),
|
|
2125
|
+
successful: import_zod18.z.number().int(),
|
|
2126
|
+
failed: import_zod18.z.number().int()
|
|
2127
|
+
}).passthrough();
|
|
2128
|
+
var SeverityStatsSchema = import_zod18.z.object({
|
|
2129
|
+
severity: import_zod18.z.string(),
|
|
2130
|
+
successful: import_zod18.z.number().int().optional(),
|
|
2131
|
+
failed: import_zod18.z.number().int().optional()
|
|
2132
|
+
}).passthrough();
|
|
2133
|
+
var SeverityReportSchema = import_zod18.z.object({
|
|
2134
|
+
stats: import_zod18.z.array(SeverityStatsSchema),
|
|
2135
|
+
successful: import_zod18.z.number().int().optional(),
|
|
2136
|
+
failed: import_zod18.z.number().int().optional(),
|
|
2137
|
+
total_attacks: import_zod18.z.number().int().optional()
|
|
2138
|
+
}).passthrough();
|
|
2139
|
+
var ComplianceTechniqueSchema = import_zod18.z.object({
|
|
2140
|
+
id: import_zod18.z.string(),
|
|
2141
|
+
display_name: import_zod18.z.string(),
|
|
2142
|
+
compliance_id: import_zod18.z.string(),
|
|
2143
|
+
description: import_zod18.z.string(),
|
|
2144
|
+
link: import_zod18.z.string(),
|
|
2145
|
+
version: import_zod18.z.string(),
|
|
2146
|
+
active: import_zod18.z.boolean(),
|
|
2147
|
+
successful: import_zod18.z.number().int().optional(),
|
|
2148
|
+
failed: import_zod18.z.number().int().optional(),
|
|
2149
|
+
total: import_zod18.z.number().int().optional()
|
|
2150
|
+
}).passthrough();
|
|
2151
|
+
var ComplianceReportSchema = import_zod18.z.object({
|
|
2152
|
+
id: import_zod18.z.string(),
|
|
2153
|
+
display_name: import_zod18.z.string(),
|
|
2154
|
+
description: import_zod18.z.string(),
|
|
2155
|
+
active: import_zod18.z.boolean(),
|
|
2156
|
+
version: import_zod18.z.string(),
|
|
2157
|
+
link: import_zod18.z.string(),
|
|
2158
|
+
techniques: import_zod18.z.array(ComplianceTechniqueSchema),
|
|
2159
|
+
score: import_zod18.z.number().int().optional()
|
|
2160
|
+
}).passthrough();
|
|
2161
|
+
var RuntimeSecurityPolicySchema = import_zod18.z.object({
|
|
2162
|
+
policy_id: import_zod18.z.string(),
|
|
2163
|
+
display_name: import_zod18.z.string(),
|
|
2164
|
+
config: import_zod18.z.record(import_zod18.z.unknown())
|
|
2165
|
+
}).passthrough();
|
|
2166
|
+
var StaticJobRemediationSchema = import_zod18.z.object({
|
|
2167
|
+
remediation: import_zod18.z.string(),
|
|
2168
|
+
description: import_zod18.z.string(),
|
|
2169
|
+
mapping_remediation_id: import_zod18.z.string().nullable().optional(),
|
|
2170
|
+
subcategories: import_zod18.z.array(import_zod18.z.string()).nullable().optional(),
|
|
2171
|
+
effectiveness: import_zod18.z.number().int().optional(),
|
|
2172
|
+
ease_of_implementation: import_zod18.z.number().int().optional(),
|
|
2173
|
+
priority: import_zod18.z.number().int().optional(),
|
|
2174
|
+
resource_links: import_zod18.z.array(import_zod18.z.string()).optional(),
|
|
2175
|
+
categories: import_zod18.z.array(import_zod18.z.string()).nullable().optional()
|
|
2176
|
+
}).passthrough();
|
|
2177
|
+
var StaticJobRemediationRecommendationSchema = import_zod18.z.object({
|
|
2178
|
+
runtime_security_policy_configuration: import_zod18.z.array(RuntimeSecurityPolicySchema).nullable().optional(),
|
|
2179
|
+
other_measures: import_zod18.z.array(StaticJobRemediationSchema).optional()
|
|
2180
|
+
}).passthrough();
|
|
2181
|
+
var StaticJobReportSchema = import_zod18.z.object({
|
|
2182
|
+
severity_report: SeverityReportSchema,
|
|
2183
|
+
asr: import_zod18.z.number().nullable().optional(),
|
|
2184
|
+
score: import_zod18.z.number().nullable().optional(),
|
|
2185
|
+
security_report: CategoryReportSchema.nullable().optional(),
|
|
2186
|
+
safety_report: CategoryReportSchema.nullable().optional(),
|
|
2187
|
+
brand_report: CategoryReportSchema.nullable().optional(),
|
|
2188
|
+
compliance_report: import_zod18.z.array(ComplianceReportSchema).nullable().optional(),
|
|
2189
|
+
report_summary: import_zod18.z.string().nullable().optional(),
|
|
2190
|
+
recommendations: StaticJobRemediationRecommendationSchema.nullable().optional()
|
|
2191
|
+
}).passthrough();
|
|
2192
|
+
var DynamicJobReportSchema = import_zod18.z.object({
|
|
2193
|
+
total_goals: import_zod18.z.number().int().optional(),
|
|
2194
|
+
total_streams: import_zod18.z.number().int().optional(),
|
|
2195
|
+
total_threats: import_zod18.z.number().int().optional(),
|
|
2196
|
+
goals_achieved: import_zod18.z.number().int().optional(),
|
|
2197
|
+
report_summary: import_zod18.z.string().nullable().optional(),
|
|
2198
|
+
score: import_zod18.z.number().optional(),
|
|
2199
|
+
asr: import_zod18.z.number().optional()
|
|
2200
|
+
}).passthrough();
|
|
2201
|
+
var RemediationDetailSchema = import_zod18.z.object({
|
|
2202
|
+
remediation: import_zod18.z.string(),
|
|
2203
|
+
description: import_zod18.z.string(),
|
|
2204
|
+
resource_links: import_zod18.z.array(import_zod18.z.string()).optional(),
|
|
2205
|
+
priority_level: import_zod18.z.string().optional(),
|
|
2206
|
+
ease_of_implementation_level: import_zod18.z.string().optional(),
|
|
2207
|
+
effectiveness_level: import_zod18.z.string().optional()
|
|
2208
|
+
}).passthrough();
|
|
2209
|
+
var RemediationResponseSchema = import_zod18.z.object({ remediations: import_zod18.z.array(RemediationDetailSchema).optional() }).passthrough();
|
|
2210
|
+
var RuntimeSecurityProfileResponseSchema = import_zod18.z.object({
|
|
2211
|
+
runtime_security_profile: import_zod18.z.array(RuntimeSecurityPolicySchema).nullable().optional()
|
|
2212
|
+
}).passthrough();
|
|
2213
|
+
var GoalSchema = import_zod18.z.object({
|
|
2214
|
+
goal: import_zod18.z.string(),
|
|
2215
|
+
safe_response: import_zod18.z.string(),
|
|
2216
|
+
jailbroken_response: import_zod18.z.string(),
|
|
2217
|
+
goal_metadata: import_zod18.z.record(import_zod18.z.unknown()).optional(),
|
|
2218
|
+
custom_goal: import_zod18.z.boolean().optional(),
|
|
2219
|
+
goal_type: import_zod18.z.string().optional(),
|
|
2220
|
+
uuid: import_zod18.z.string(),
|
|
2221
|
+
tsg_id: import_zod18.z.string(),
|
|
2222
|
+
job_id: import_zod18.z.string(),
|
|
2223
|
+
goal_to_show: import_zod18.z.string().nullable().optional(),
|
|
2224
|
+
threat: import_zod18.z.boolean().optional(),
|
|
2225
|
+
version: import_zod18.z.number().int().nullable().optional(),
|
|
2226
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).nullable().optional()
|
|
2227
|
+
}).passthrough();
|
|
2228
|
+
var GoalListResponseSchema = import_zod18.z.object({ pagination: RedTeamPaginationSchema, data: import_zod18.z.array(GoalSchema) }).passthrough();
|
|
2229
|
+
var StreamIterationDataSchema = import_zod18.z.object({
|
|
2230
|
+
uuid: import_zod18.z.string(),
|
|
2231
|
+
tsg_id: import_zod18.z.string(),
|
|
2232
|
+
job_id: import_zod18.z.string(),
|
|
2233
|
+
stream_id: import_zod18.z.string(),
|
|
2234
|
+
goal_id: import_zod18.z.string(),
|
|
2235
|
+
iteration: import_zod18.z.number().int(),
|
|
2236
|
+
prompt: import_zod18.z.string(),
|
|
2237
|
+
techniques: import_zod18.z.string(),
|
|
2238
|
+
improvement: import_zod18.z.string(),
|
|
2239
|
+
prompts_objective: import_zod18.z.string(),
|
|
2240
|
+
summary: import_zod18.z.string(),
|
|
2241
|
+
output: import_zod18.z.string().nullable().optional(),
|
|
2242
|
+
score: import_zod18.z.number().int().nullable().optional(),
|
|
2243
|
+
judge_reasoning: import_zod18.z.string().nullable().optional(),
|
|
2244
|
+
threat: import_zod18.z.boolean().optional(),
|
|
2245
|
+
created_at: import_zod18.z.string().nullable().optional(),
|
|
2246
|
+
updated_at: import_zod18.z.string().nullable().optional(),
|
|
2247
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).nullable().optional(),
|
|
2248
|
+
version: import_zod18.z.number().int().nullable().optional()
|
|
2249
|
+
}).passthrough();
|
|
2250
|
+
var StreamDetailResponseSchema = import_zod18.z.object({
|
|
2251
|
+
uuid: import_zod18.z.string(),
|
|
2252
|
+
tsg_id: import_zod18.z.string(),
|
|
2253
|
+
job_id: import_zod18.z.string(),
|
|
2254
|
+
target_id: import_zod18.z.string(),
|
|
2255
|
+
goal_id: import_zod18.z.string(),
|
|
2256
|
+
stream_idx: import_zod18.z.number().int().optional(),
|
|
2257
|
+
iteration: import_zod18.z.number().int().optional(),
|
|
2258
|
+
goal: import_zod18.z.unknown().optional(),
|
|
2259
|
+
marked_safe: import_zod18.z.boolean().optional(),
|
|
2260
|
+
stream_type: import_zod18.z.string().nullable().optional(),
|
|
2261
|
+
threat: import_zod18.z.boolean().optional(),
|
|
2262
|
+
first_threat_iteration: StreamIterationDataSchema.nullable().optional(),
|
|
2263
|
+
created_at: import_zod18.z.string().nullable().optional(),
|
|
2264
|
+
updated_at: import_zod18.z.string().nullable().optional(),
|
|
2265
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).optional(),
|
|
2266
|
+
version: import_zod18.z.number().int().nullable().optional(),
|
|
2267
|
+
iterations: import_zod18.z.array(StreamIterationDataSchema).optional()
|
|
2268
|
+
}).passthrough();
|
|
2269
|
+
var StreamListResponseSchema = import_zod18.z.object({ pagination: RedTeamPaginationSchema, data: import_zod18.z.array(StreamDetailResponseSchema) }).passthrough();
|
|
2270
|
+
var CustomAttackOutputSchema = import_zod18.z.object({
|
|
2271
|
+
uuid: import_zod18.z.string(),
|
|
2272
|
+
tsg_id: import_zod18.z.string(),
|
|
2273
|
+
custom_attack_id: import_zod18.z.string(),
|
|
2274
|
+
job_id: import_zod18.z.string(),
|
|
2275
|
+
target_id: import_zod18.z.string(),
|
|
2276
|
+
output: import_zod18.z.string(),
|
|
2277
|
+
threat: import_zod18.z.boolean().nullable().optional(),
|
|
2278
|
+
marked_safe: import_zod18.z.boolean().nullable().optional()
|
|
2279
|
+
}).passthrough();
|
|
2280
|
+
var PropertyAssignmentSchema = import_zod18.z.object({
|
|
2281
|
+
name: import_zod18.z.string(),
|
|
2282
|
+
value: import_zod18.z.string()
|
|
2283
|
+
});
|
|
2284
|
+
var PropertyValueStatisticSchema = import_zod18.z.object({
|
|
2285
|
+
value: import_zod18.z.string(),
|
|
2286
|
+
successful_attack_count: import_zod18.z.number().int(),
|
|
2287
|
+
total_attack_count: import_zod18.z.number().int(),
|
|
2288
|
+
success_rate: import_zod18.z.number()
|
|
2289
|
+
});
|
|
2290
|
+
var PropertyStatisticSchema = import_zod18.z.object({
|
|
2291
|
+
property_name: import_zod18.z.string(),
|
|
2292
|
+
values: import_zod18.z.array(PropertyValueStatisticSchema)
|
|
2293
|
+
});
|
|
2294
|
+
var PromptSetSummarySchema = import_zod18.z.object({
|
|
2295
|
+
prompt_set_id: import_zod18.z.string(),
|
|
2296
|
+
prompt_set_name: import_zod18.z.string(),
|
|
2297
|
+
total_prompts: import_zod18.z.number().int(),
|
|
2298
|
+
total_attacks: import_zod18.z.number().int(),
|
|
2299
|
+
total_threats: import_zod18.z.number().int(),
|
|
2300
|
+
failed_attacks: import_zod18.z.number().int(),
|
|
2301
|
+
threat_rate: import_zod18.z.number(),
|
|
2302
|
+
property_names: import_zod18.z.array(import_zod18.z.string()).optional(),
|
|
2303
|
+
property_statistics: import_zod18.z.array(PropertyStatisticSchema).optional()
|
|
2304
|
+
}).passthrough();
|
|
2305
|
+
var CustomAttackReportResponseSchema = import_zod18.z.object({
|
|
2306
|
+
total_prompts: import_zod18.z.number().int(),
|
|
2307
|
+
total_attacks: import_zod18.z.number().int(),
|
|
2308
|
+
total_threats: import_zod18.z.number().int(),
|
|
2309
|
+
failed_attacks: import_zod18.z.number().int(),
|
|
2310
|
+
score: import_zod18.z.number(),
|
|
2311
|
+
asr: import_zod18.z.number(),
|
|
2312
|
+
custom_attack_reports: import_zod18.z.array(PromptSetSummarySchema).optional(),
|
|
2313
|
+
property_statistics: import_zod18.z.array(PropertyStatisticSchema).optional()
|
|
2314
|
+
}).passthrough();
|
|
2315
|
+
var PromptSetsReportResponseSchema = import_zod18.z.object({
|
|
2316
|
+
prompt_sets: import_zod18.z.array(PromptSetSummarySchema),
|
|
2317
|
+
total_prompt_sets: import_zod18.z.number().int(),
|
|
2318
|
+
applied_filters: import_zod18.z.record(import_zod18.z.unknown()).optional()
|
|
2319
|
+
}).passthrough();
|
|
2320
|
+
var PromptDetailResponseSchema = import_zod18.z.object({
|
|
2321
|
+
prompt_id: import_zod18.z.string(),
|
|
2322
|
+
prompt_text: import_zod18.z.string(),
|
|
2323
|
+
goal: import_zod18.z.string().nullable().optional(),
|
|
2324
|
+
user_defined_goal: import_zod18.z.boolean().optional(),
|
|
2325
|
+
properties: import_zod18.z.array(PropertyAssignmentSchema).optional(),
|
|
2326
|
+
attack_id: import_zod18.z.string().nullable().optional(),
|
|
2327
|
+
threat: import_zod18.z.boolean().nullable().optional(),
|
|
2328
|
+
attack_outputs: import_zod18.z.array(CustomAttackOutputSchema).optional(),
|
|
2329
|
+
asr: import_zod18.z.number().nullable().optional(),
|
|
2330
|
+
prompt_set_id: import_zod18.z.string().nullable().optional(),
|
|
2331
|
+
prompt_set_name: import_zod18.z.string().nullable().optional()
|
|
2332
|
+
}).passthrough();
|
|
2333
|
+
var CustomAttacksListResponseSchema = import_zod18.z.object({
|
|
2334
|
+
pagination: RedTeamPaginationSchema,
|
|
2335
|
+
data: import_zod18.z.array(import_zod18.z.unknown()),
|
|
2336
|
+
total_attacks: import_zod18.z.number().int(),
|
|
2337
|
+
total_threats: import_zod18.z.number().int()
|
|
2338
|
+
}).passthrough();
|
|
2339
|
+
var RiskLevelSchema = import_zod18.z.object({
|
|
2340
|
+
risk_rating: import_zod18.z.string(),
|
|
2341
|
+
total: import_zod18.z.number().int(),
|
|
2342
|
+
targets_by_type: import_zod18.z.array(CountByNameSchema).optional()
|
|
2343
|
+
}).passthrough();
|
|
2344
|
+
var ScanStatisticsResponseSchema = import_zod18.z.object({
|
|
2345
|
+
total_scans: import_zod18.z.number().int(),
|
|
2346
|
+
targets_scanned: import_zod18.z.number().int(),
|
|
2347
|
+
targets_scanned_by_type: import_zod18.z.array(CountByNameSchema).optional(),
|
|
2348
|
+
scan_status: import_zod18.z.array(CountByNameSchema).optional(),
|
|
2349
|
+
risk_profile: import_zod18.z.array(RiskLevelSchema).optional()
|
|
2350
|
+
}).passthrough();
|
|
2351
|
+
var ScoreTrendSeriesSchema = import_zod18.z.object({
|
|
2352
|
+
label: import_zod18.z.string(),
|
|
2353
|
+
data: import_zod18.z.array(import_zod18.z.number().nullable())
|
|
2354
|
+
});
|
|
2355
|
+
var ScoreTrendResponseSchema = import_zod18.z.object({
|
|
2356
|
+
labels: import_zod18.z.array(import_zod18.z.string()),
|
|
2357
|
+
series: import_zod18.z.array(ScoreTrendSeriesSchema)
|
|
2358
|
+
});
|
|
2359
|
+
var SentimentRequestSchema = import_zod18.z.object({
|
|
2360
|
+
job_id: import_zod18.z.string(),
|
|
2361
|
+
up_vote: import_zod18.z.boolean().optional(),
|
|
2362
|
+
down_vote: import_zod18.z.boolean().optional()
|
|
2363
|
+
});
|
|
2364
|
+
var SentimentResponseSchema = import_zod18.z.object({
|
|
2365
|
+
job_id: import_zod18.z.string(),
|
|
2366
|
+
up_vote: import_zod18.z.boolean().optional(),
|
|
2367
|
+
down_vote: import_zod18.z.boolean().optional()
|
|
2368
|
+
}).passthrough();
|
|
2369
|
+
var QuotaDetailsSchema = import_zod18.z.object({
|
|
2370
|
+
allocated: import_zod18.z.number().int(),
|
|
2371
|
+
unlimited: import_zod18.z.boolean(),
|
|
2372
|
+
consumed: import_zod18.z.number().int()
|
|
2373
|
+
});
|
|
2374
|
+
var QuotaSummarySchema = import_zod18.z.object({
|
|
2375
|
+
static: QuotaDetailsSchema,
|
|
2376
|
+
dynamic: QuotaDetailsSchema,
|
|
2377
|
+
custom: QuotaDetailsSchema
|
|
2378
|
+
});
|
|
2379
|
+
var ErrorLogSchema = import_zod18.z.object({
|
|
2380
|
+
created_at: import_zod18.z.string(),
|
|
2381
|
+
updated_at: import_zod18.z.string(),
|
|
2382
|
+
job_id: import_zod18.z.string().nullable().optional(),
|
|
2383
|
+
target_id: import_zod18.z.string().nullable().optional(),
|
|
2384
|
+
target_version: import_zod18.z.number().int().nullable().optional(),
|
|
2385
|
+
attack_id: import_zod18.z.string().nullable().optional(),
|
|
2386
|
+
error_type: import_zod18.z.string().nullable().optional(),
|
|
2387
|
+
error_source: import_zod18.z.string().nullable().optional(),
|
|
2388
|
+
error_message: import_zod18.z.string().nullable().optional(),
|
|
2389
|
+
target_object: import_zod18.z.record(import_zod18.z.unknown()).nullable().optional(),
|
|
2390
|
+
extra_info: import_zod18.z.record(import_zod18.z.unknown()).nullable().optional(),
|
|
2391
|
+
version: import_zod18.z.number().int().optional()
|
|
2392
|
+
}).passthrough();
|
|
2393
|
+
var ErrorLogListResponseSchema = import_zod18.z.object({ pagination: RedTeamPaginationSchema, data: import_zod18.z.array(ErrorLogSchema) }).passthrough();
|
|
2394
|
+
var TargetCreateRequestSchema = import_zod18.z.object({
|
|
2395
|
+
name: import_zod18.z.string(),
|
|
2396
|
+
description: import_zod18.z.unknown().optional(),
|
|
2397
|
+
target_type: import_zod18.z.unknown().optional(),
|
|
2398
|
+
connection_type: import_zod18.z.unknown().optional(),
|
|
2399
|
+
api_endpoint_type: import_zod18.z.unknown().optional(),
|
|
2400
|
+
response_mode: import_zod18.z.unknown().optional(),
|
|
2401
|
+
connection_params: import_zod18.z.unknown().optional(),
|
|
2402
|
+
session_supported: import_zod18.z.boolean().optional(),
|
|
2403
|
+
target_metadata: import_zod18.z.unknown().optional(),
|
|
2404
|
+
target_background: import_zod18.z.unknown().optional(),
|
|
2405
|
+
additional_context: import_zod18.z.unknown().optional(),
|
|
2406
|
+
extra_info: import_zod18.z.unknown().optional(),
|
|
2407
|
+
network_broker_channel_uuid: import_zod18.z.unknown().optional()
|
|
2408
|
+
}).passthrough();
|
|
2409
|
+
var TargetUpdateRequestSchema = import_zod18.z.object({
|
|
2410
|
+
name: import_zod18.z.string(),
|
|
2411
|
+
description: import_zod18.z.unknown().optional(),
|
|
2412
|
+
target_type: import_zod18.z.unknown().optional(),
|
|
2413
|
+
connection_type: import_zod18.z.unknown().optional(),
|
|
2414
|
+
api_endpoint_type: import_zod18.z.unknown().optional(),
|
|
2415
|
+
response_mode: import_zod18.z.unknown().optional(),
|
|
2416
|
+
connection_params: import_zod18.z.unknown().optional(),
|
|
2417
|
+
session_supported: import_zod18.z.boolean().optional(),
|
|
2418
|
+
target_metadata: import_zod18.z.unknown().optional(),
|
|
2419
|
+
target_background: import_zod18.z.unknown().optional(),
|
|
2420
|
+
additional_context: import_zod18.z.unknown().optional(),
|
|
2421
|
+
extra_info: import_zod18.z.unknown().optional(),
|
|
2422
|
+
network_broker_channel_uuid: import_zod18.z.unknown().optional()
|
|
2423
|
+
}).passthrough();
|
|
2424
|
+
var TargetContextUpdateSchema = import_zod18.z.object({
|
|
2425
|
+
target_background: import_zod18.z.unknown().optional(),
|
|
2426
|
+
additional_context: import_zod18.z.unknown().optional()
|
|
2427
|
+
}).passthrough();
|
|
2428
|
+
var TargetResponseSchema = import_zod18.z.object({
|
|
2429
|
+
uuid: import_zod18.z.string(),
|
|
2430
|
+
tsg_id: import_zod18.z.string(),
|
|
2431
|
+
name: import_zod18.z.string(),
|
|
2432
|
+
status: import_zod18.z.unknown(),
|
|
2433
|
+
active: import_zod18.z.boolean(),
|
|
2434
|
+
validated: import_zod18.z.boolean(),
|
|
2435
|
+
created_at: import_zod18.z.string(),
|
|
2436
|
+
updated_at: import_zod18.z.string(),
|
|
2437
|
+
description: import_zod18.z.unknown().optional(),
|
|
2438
|
+
target_type: import_zod18.z.unknown().optional(),
|
|
2439
|
+
connection_type: import_zod18.z.unknown().optional(),
|
|
2440
|
+
api_endpoint_type: import_zod18.z.unknown().optional(),
|
|
2441
|
+
response_mode: import_zod18.z.unknown().optional(),
|
|
2442
|
+
session_supported: import_zod18.z.boolean().optional(),
|
|
2443
|
+
extra_info: import_zod18.z.unknown().optional(),
|
|
2444
|
+
version: import_zod18.z.unknown().optional(),
|
|
2445
|
+
secret_version: import_zod18.z.unknown().optional(),
|
|
2446
|
+
created_by_user_id: import_zod18.z.unknown().optional(),
|
|
2447
|
+
updated_by_user_id: import_zod18.z.unknown().optional(),
|
|
2448
|
+
target_metadata: import_zod18.z.unknown().optional(),
|
|
2449
|
+
target_background: import_zod18.z.unknown().optional(),
|
|
2450
|
+
profiling_status: import_zod18.z.unknown().optional(),
|
|
2451
|
+
additional_context: import_zod18.z.unknown().optional()
|
|
2452
|
+
}).passthrough();
|
|
2453
|
+
var TargetListItemSchema = import_zod18.z.object({
|
|
2454
|
+
uuid: import_zod18.z.string(),
|
|
2455
|
+
tsg_id: import_zod18.z.string(),
|
|
2456
|
+
name: import_zod18.z.string(),
|
|
2457
|
+
status: import_zod18.z.unknown(),
|
|
2458
|
+
active: import_zod18.z.boolean(),
|
|
2459
|
+
validated: import_zod18.z.boolean(),
|
|
2460
|
+
created_at: import_zod18.z.string(),
|
|
2461
|
+
updated_at: import_zod18.z.string(),
|
|
2462
|
+
description: import_zod18.z.unknown().optional(),
|
|
2463
|
+
target_type: import_zod18.z.unknown().optional(),
|
|
2464
|
+
connection_type: import_zod18.z.unknown().optional(),
|
|
2465
|
+
api_endpoint_type: import_zod18.z.unknown().optional(),
|
|
2466
|
+
response_mode: import_zod18.z.unknown().optional(),
|
|
2467
|
+
session_supported: import_zod18.z.boolean().optional(),
|
|
2468
|
+
extra_info: import_zod18.z.unknown().optional(),
|
|
2469
|
+
version: import_zod18.z.unknown().optional(),
|
|
2470
|
+
secret_version: import_zod18.z.unknown().optional(),
|
|
2471
|
+
created_by_user_id: import_zod18.z.unknown().optional(),
|
|
2472
|
+
updated_by_user_id: import_zod18.z.unknown().optional()
|
|
2473
|
+
}).passthrough();
|
|
2474
|
+
var TargetListSchema = import_zod18.z.object({ pagination: RedTeamPaginationSchema, data: import_zod18.z.array(TargetListItemSchema).optional() }).passthrough();
|
|
2475
|
+
var TargetProbeRequestSchema = import_zod18.z.object({
|
|
2476
|
+
name: import_zod18.z.string(),
|
|
2477
|
+
uuid: import_zod18.z.unknown().optional(),
|
|
2478
|
+
description: import_zod18.z.unknown().optional(),
|
|
2479
|
+
target_type: import_zod18.z.unknown().optional(),
|
|
2480
|
+
connection_type: import_zod18.z.unknown().optional(),
|
|
2481
|
+
api_endpoint_type: import_zod18.z.unknown().optional(),
|
|
2482
|
+
response_mode: import_zod18.z.unknown().optional(),
|
|
2483
|
+
connection_params: import_zod18.z.unknown().optional(),
|
|
2484
|
+
session_supported: import_zod18.z.boolean().optional(),
|
|
2485
|
+
target_metadata: import_zod18.z.unknown().optional(),
|
|
2486
|
+
target_background: import_zod18.z.unknown().optional(),
|
|
2487
|
+
additional_context: import_zod18.z.unknown().optional(),
|
|
2488
|
+
extra_info: import_zod18.z.unknown().optional(),
|
|
2489
|
+
network_broker_channel_uuid: import_zod18.z.unknown().optional(),
|
|
2490
|
+
probe_fields: import_zod18.z.unknown().optional()
|
|
2491
|
+
}).passthrough();
|
|
2492
|
+
var TargetProfileResponseSchema = import_zod18.z.object({
|
|
2493
|
+
target_id: import_zod18.z.string(),
|
|
2494
|
+
target_version: import_zod18.z.number().int(),
|
|
2495
|
+
status: import_zod18.z.string(),
|
|
2496
|
+
profiling_status: import_zod18.z.unknown().optional(),
|
|
2497
|
+
target_background: import_zod18.z.unknown().optional(),
|
|
2498
|
+
additional_context: import_zod18.z.unknown().optional(),
|
|
2499
|
+
ai_generated_fields: import_zod18.z.unknown().optional(),
|
|
2500
|
+
other_details: import_zod18.z.unknown().optional()
|
|
2501
|
+
}).passthrough();
|
|
2502
|
+
var BaseResponseSchema = import_zod18.z.object({
|
|
2503
|
+
message: import_zod18.z.string(),
|
|
2504
|
+
status: import_zod18.z.number().int()
|
|
2505
|
+
});
|
|
2506
|
+
var PromptSetStatsSchema = import_zod18.z.object({
|
|
2507
|
+
total_prompts: import_zod18.z.number().int(),
|
|
2508
|
+
active_prompts: import_zod18.z.number().int(),
|
|
2509
|
+
inactive_prompts: import_zod18.z.number().int(),
|
|
2510
|
+
failed_prompts: import_zod18.z.number().int().optional(),
|
|
2511
|
+
validation_prompts: import_zod18.z.number().int().optional()
|
|
2512
|
+
}).passthrough();
|
|
2513
|
+
var CustomPromptSetCreateRequestSchema = import_zod18.z.object({
|
|
2514
|
+
name: import_zod18.z.string(),
|
|
2515
|
+
description: import_zod18.z.unknown().optional(),
|
|
2516
|
+
property_names: import_zod18.z.array(import_zod18.z.string()).optional()
|
|
2517
|
+
});
|
|
2518
|
+
var CustomPromptSetUpdateRequestSchema = import_zod18.z.object({
|
|
2519
|
+
name: import_zod18.z.unknown().optional(),
|
|
2520
|
+
description: import_zod18.z.unknown().optional(),
|
|
2521
|
+
archive: import_zod18.z.unknown().optional(),
|
|
2522
|
+
property_names: import_zod18.z.unknown().optional()
|
|
2523
|
+
}).passthrough();
|
|
2524
|
+
var CustomPromptSetArchiveRequestSchema = import_zod18.z.object({ archive: import_zod18.z.boolean() });
|
|
2525
|
+
var CustomPromptSetResponseSchema = import_zod18.z.object({
|
|
2526
|
+
uuid: import_zod18.z.string(),
|
|
2527
|
+
name: import_zod18.z.string(),
|
|
2528
|
+
active: import_zod18.z.boolean(),
|
|
2529
|
+
archive: import_zod18.z.boolean(),
|
|
2530
|
+
status: import_zod18.z.string(),
|
|
2531
|
+
created_at: import_zod18.z.string(),
|
|
2532
|
+
updated_at: import_zod18.z.string(),
|
|
2533
|
+
description: import_zod18.z.unknown().optional(),
|
|
2534
|
+
property_names: import_zod18.z.array(import_zod18.z.string()).optional(),
|
|
2535
|
+
properties: import_zod18.z.array(import_zod18.z.unknown()).optional(),
|
|
2536
|
+
stats: import_zod18.z.unknown().optional(),
|
|
2537
|
+
extra_info: import_zod18.z.unknown().optional(),
|
|
2538
|
+
version: import_zod18.z.unknown().optional(),
|
|
2539
|
+
created_by_user_id: import_zod18.z.unknown().optional(),
|
|
2540
|
+
updated_by_user_id: import_zod18.z.unknown().optional()
|
|
2541
|
+
}).passthrough();
|
|
2542
|
+
var CustomPromptSetListItemSchema = import_zod18.z.object({
|
|
2543
|
+
uuid: import_zod18.z.string(),
|
|
2544
|
+
name: import_zod18.z.string(),
|
|
2545
|
+
active: import_zod18.z.boolean(),
|
|
2546
|
+
archive: import_zod18.z.boolean(),
|
|
2547
|
+
status: import_zod18.z.string(),
|
|
2548
|
+
created_at: import_zod18.z.string(),
|
|
2549
|
+
updated_at: import_zod18.z.string(),
|
|
2550
|
+
description: import_zod18.z.unknown().optional(),
|
|
2551
|
+
property_names: import_zod18.z.array(import_zod18.z.string()).optional(),
|
|
2552
|
+
stats: import_zod18.z.unknown().optional(),
|
|
2553
|
+
created_by_user_id: import_zod18.z.unknown().optional()
|
|
2554
|
+
}).passthrough();
|
|
2555
|
+
var CustomPromptSetListSchema = import_zod18.z.object({
|
|
2556
|
+
pagination: RedTeamPaginationSchema,
|
|
2557
|
+
data: import_zod18.z.array(CustomPromptSetListItemSchema).optional()
|
|
2558
|
+
}).passthrough();
|
|
2559
|
+
var CustomPromptSetListActiveSchema = import_zod18.z.object({ data: import_zod18.z.array(CustomPromptSetListItemSchema).optional() }).passthrough();
|
|
2560
|
+
var CustomPromptSetReferenceSchema = import_zod18.z.object({
|
|
2561
|
+
uuid: import_zod18.z.string(),
|
|
2562
|
+
name: import_zod18.z.string(),
|
|
2563
|
+
status: import_zod18.z.string(),
|
|
2564
|
+
active: import_zod18.z.boolean(),
|
|
2565
|
+
tsg_id: import_zod18.z.string(),
|
|
2566
|
+
created_at: import_zod18.z.string(),
|
|
2567
|
+
updated_at: import_zod18.z.string(),
|
|
2568
|
+
version: import_zod18.z.unknown().optional()
|
|
2569
|
+
}).passthrough();
|
|
2570
|
+
var CustomPromptSetVersionInfoSchema = import_zod18.z.object({
|
|
2571
|
+
uuid: import_zod18.z.string(),
|
|
2572
|
+
status: import_zod18.z.string(),
|
|
2573
|
+
is_latest: import_zod18.z.boolean(),
|
|
2574
|
+
version: import_zod18.z.unknown().optional(),
|
|
2575
|
+
stats: import_zod18.z.unknown().optional(),
|
|
2576
|
+
snapshot_created_at: import_zod18.z.unknown().optional()
|
|
2577
|
+
}).passthrough();
|
|
2578
|
+
var CustomPromptCreateRequestSchema = import_zod18.z.object({
|
|
2579
|
+
prompt: import_zod18.z.string(),
|
|
2580
|
+
prompt_set_id: import_zod18.z.string(),
|
|
2581
|
+
goal: import_zod18.z.unknown().optional(),
|
|
2582
|
+
properties: import_zod18.z.unknown().optional()
|
|
2583
|
+
});
|
|
2584
|
+
var CustomPromptUpdateRequestSchema = import_zod18.z.object({
|
|
2585
|
+
prompt: import_zod18.z.unknown().optional(),
|
|
2586
|
+
goal: import_zod18.z.unknown().optional(),
|
|
2587
|
+
properties: import_zod18.z.unknown().optional()
|
|
2588
|
+
}).passthrough();
|
|
2589
|
+
var CustomPromptResponseSchema = import_zod18.z.object({
|
|
2590
|
+
uuid: import_zod18.z.string(),
|
|
2591
|
+
prompt: import_zod18.z.string(),
|
|
2592
|
+
user_defined_goal: import_zod18.z.boolean(),
|
|
2593
|
+
status: import_zod18.z.string(),
|
|
2594
|
+
active: import_zod18.z.boolean(),
|
|
2595
|
+
prompt_set_id: import_zod18.z.string(),
|
|
2596
|
+
created_at: import_zod18.z.string(),
|
|
2597
|
+
updated_at: import_zod18.z.string(),
|
|
2598
|
+
goal: import_zod18.z.unknown().optional(),
|
|
2599
|
+
properties: import_zod18.z.unknown().optional(),
|
|
2600
|
+
property_assignments: import_zod18.z.array(import_zod18.z.unknown()).optional(),
|
|
2601
|
+
detector_category: import_zod18.z.unknown().optional(),
|
|
2602
|
+
severity: import_zod18.z.unknown().optional(),
|
|
2603
|
+
extra_info: import_zod18.z.unknown().optional()
|
|
2604
|
+
}).passthrough();
|
|
2605
|
+
var CustomPromptListItemSchema = import_zod18.z.object({
|
|
2606
|
+
uuid: import_zod18.z.string(),
|
|
2607
|
+
prompt: import_zod18.z.string(),
|
|
2608
|
+
user_defined_goal: import_zod18.z.boolean(),
|
|
2609
|
+
status: import_zod18.z.string(),
|
|
2610
|
+
active: import_zod18.z.boolean(),
|
|
2611
|
+
created_at: import_zod18.z.string(),
|
|
2612
|
+
updated_at: import_zod18.z.string(),
|
|
2613
|
+
goal: import_zod18.z.unknown().optional(),
|
|
2614
|
+
properties: import_zod18.z.unknown().optional()
|
|
2615
|
+
}).passthrough();
|
|
2616
|
+
var CustomPromptListSchema = import_zod18.z.object({
|
|
2617
|
+
pagination: RedTeamPaginationSchema,
|
|
2618
|
+
data: import_zod18.z.array(CustomPromptListItemSchema).optional()
|
|
2619
|
+
}).passthrough();
|
|
2620
|
+
var PropertyNameCreateRequestSchema = import_zod18.z.object({ name: import_zod18.z.string() });
|
|
2621
|
+
var PropertyValueCreateRequestSchema = import_zod18.z.object({
|
|
2622
|
+
property_name: import_zod18.z.string(),
|
|
2623
|
+
property_value: import_zod18.z.string()
|
|
2624
|
+
});
|
|
2625
|
+
var PropertyDefinitionSchema = import_zod18.z.object({
|
|
2626
|
+
property_name: import_zod18.z.string(),
|
|
2627
|
+
created_at: import_zod18.z.string()
|
|
2628
|
+
});
|
|
2629
|
+
var PropertyNamesListResponseSchema = import_zod18.z.object({ data: import_zod18.z.array(PropertyDefinitionSchema).optional() }).passthrough();
|
|
2630
|
+
var PropertyValuesResponseSchema = import_zod18.z.object({
|
|
2631
|
+
name: import_zod18.z.string(),
|
|
2632
|
+
values: import_zod18.z.array(import_zod18.z.string()).optional()
|
|
2633
|
+
}).passthrough();
|
|
2634
|
+
var PropertyValuesMultipleResponseSchema = import_zod18.z.object({ data: import_zod18.z.record(import_zod18.z.array(import_zod18.z.string())).optional() }).passthrough();
|
|
2635
|
+
var DashboardOverviewResponseSchema = import_zod18.z.object({
|
|
2636
|
+
total_targets: import_zod18.z.number().int(),
|
|
2637
|
+
targets_by_type: import_zod18.z.array(CountByNameSchema).optional()
|
|
2638
|
+
}).passthrough();
|
|
2639
|
+
|
|
2640
|
+
// src/models/oauth-token.ts
|
|
2641
|
+
var import_zod19 = require("zod");
|
|
2642
|
+
var OAuthTokenResponseSchema = import_zod19.z.object({
|
|
2643
|
+
access_token: import_zod19.z.string(),
|
|
2644
|
+
token_type: import_zod19.z.string().optional(),
|
|
2645
|
+
expires_in: import_zod19.z.number(),
|
|
2646
|
+
scope: import_zod19.z.string().optional()
|
|
914
2647
|
});
|
|
915
2648
|
|
|
916
2649
|
// src/management/oauth-client.ts
|
|
@@ -929,6 +2662,10 @@ var OAuthClient = class {
|
|
|
929
2662
|
this.tsgId = opts.tsgId;
|
|
930
2663
|
this.tokenEndpoint = opts.tokenEndpoint ?? DEFAULT_TOKEN_ENDPOINT;
|
|
931
2664
|
}
|
|
2665
|
+
/**
|
|
2666
|
+
* Get a valid access token, refreshing if needed.
|
|
2667
|
+
* @returns Bearer access token string.
|
|
2668
|
+
*/
|
|
932
2669
|
async getToken() {
|
|
933
2670
|
if (this.accessToken && Date.now() < this.expiresAt - TOKEN_BUFFER_MS) {
|
|
934
2671
|
return this.accessToken;
|
|
@@ -941,6 +2678,7 @@ var OAuthClient = class {
|
|
|
941
2678
|
});
|
|
942
2679
|
return this.pendingFetch;
|
|
943
2680
|
}
|
|
2681
|
+
/** Clear the cached token, forcing a fresh fetch on next call. */
|
|
944
2682
|
clearToken() {
|
|
945
2683
|
this.accessToken = null;
|
|
946
2684
|
this.expiresAt = 0;
|
|
@@ -985,76 +2723,43 @@ var OAuthClient = class {
|
|
|
985
2723
|
};
|
|
986
2724
|
|
|
987
2725
|
// src/management/management-http-client.ts
|
|
988
|
-
function sleep2(ms) {
|
|
989
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
990
|
-
}
|
|
991
|
-
function extractError(body, status) {
|
|
992
|
-
try {
|
|
993
|
-
const parsed = JSON.parse(body);
|
|
994
|
-
return parsed.error_message ?? parsed.message ?? `API error ${status}: ${body}`;
|
|
995
|
-
} catch {
|
|
996
|
-
return body ? `API error ${status}: ${body}` : `API error ${status}`;
|
|
997
|
-
}
|
|
998
|
-
}
|
|
999
2726
|
async function managementHttpRequest(opts) {
|
|
1000
2727
|
const { method, baseUrl, path, body, params, oauthClient, numRetries } = opts;
|
|
1001
2728
|
let hadTokenRefresh = false;
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
2729
|
+
const response = await executeWithRetry({
|
|
2730
|
+
maxRetries: numRetries,
|
|
2731
|
+
execute: async () => {
|
|
2732
|
+
const token = await oauthClient.getToken();
|
|
2733
|
+
const stripped = baseUrl.replace(/\/+$/, "");
|
|
2734
|
+
const url = new URL(`${stripped}${path}`);
|
|
2735
|
+
if (params) {
|
|
2736
|
+
for (const [key, value] of Object.entries(params)) {
|
|
2737
|
+
url.searchParams.set(key, value);
|
|
2738
|
+
}
|
|
1009
2739
|
}
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
bodyStr = JSON.stringify(body);
|
|
1019
|
-
}
|
|
1020
|
-
let response;
|
|
1021
|
-
try {
|
|
1022
|
-
response = await fetch(url.toString(), {
|
|
1023
|
-
method,
|
|
1024
|
-
headers,
|
|
1025
|
-
body: bodyStr
|
|
1026
|
-
});
|
|
1027
|
-
} catch (err) {
|
|
1028
|
-
if (attempt < numRetries) {
|
|
1029
|
-
await sleep2(Math.pow(2, attempt) * 1e3);
|
|
1030
|
-
continue;
|
|
2740
|
+
const headers = {
|
|
2741
|
+
Authorization: `Bearer ${token}`,
|
|
2742
|
+
"User-Agent": USER_AGENT
|
|
2743
|
+
};
|
|
2744
|
+
let bodyStr;
|
|
2745
|
+
if (body !== void 0) {
|
|
2746
|
+
headers["Content-Type"] = "application/json";
|
|
2747
|
+
bodyStr = JSON.stringify(body);
|
|
1031
2748
|
}
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
)
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
return
|
|
1041
|
-
}
|
|
1042
|
-
if (response.status === 401 && !hadTokenRefresh) {
|
|
1043
|
-
hadTokenRefresh = true;
|
|
1044
|
-
oauthClient.clearToken();
|
|
1045
|
-
attempt--;
|
|
1046
|
-
continue;
|
|
1047
|
-
}
|
|
1048
|
-
if (HTTP_FORCE_RETRY_STATUS_CODES.includes(response.status) && attempt < numRetries) {
|
|
1049
|
-
await sleep2(Math.pow(2, attempt) * 1e3);
|
|
1050
|
-
continue;
|
|
2749
|
+
return fetch(url.toString(), { method, headers, body: bodyStr });
|
|
2750
|
+
},
|
|
2751
|
+
onRetryableFailure: async (response2) => {
|
|
2752
|
+
if (response2.status === 401 && !hadTokenRefresh) {
|
|
2753
|
+
hadTokenRefresh = true;
|
|
2754
|
+
oauthClient.clearToken();
|
|
2755
|
+
return true;
|
|
2756
|
+
}
|
|
2757
|
+
return false;
|
|
1051
2758
|
}
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
}
|
|
1057
|
-
throw new AISecSDKException("Max retries exceeded", "AISEC_CLIENT_SIDE_ERROR" /* CLIENT_SIDE_ERROR */);
|
|
2759
|
+
});
|
|
2760
|
+
const text = await response.text();
|
|
2761
|
+
const data = text ? JSON.parse(text) : {};
|
|
2762
|
+
return { status: response.status, data };
|
|
1058
2763
|
}
|
|
1059
2764
|
|
|
1060
2765
|
// src/management/profiles.ts
|
|
@@ -1069,6 +2774,11 @@ var ProfilesClient = class {
|
|
|
1069
2774
|
this.tsgId = opts.tsgId;
|
|
1070
2775
|
this.numRetries = opts.numRetries;
|
|
1071
2776
|
}
|
|
2777
|
+
/**
|
|
2778
|
+
* Create a new security profile.
|
|
2779
|
+
* @param request - Profile configuration.
|
|
2780
|
+
* @returns The created security profile.
|
|
2781
|
+
*/
|
|
1072
2782
|
async create(request) {
|
|
1073
2783
|
const res = await managementHttpRequest({
|
|
1074
2784
|
method: "POST",
|
|
@@ -1080,6 +2790,11 @@ var ProfilesClient = class {
|
|
|
1080
2790
|
});
|
|
1081
2791
|
return res.data;
|
|
1082
2792
|
}
|
|
2793
|
+
/**
|
|
2794
|
+
* List security profiles for the TSG.
|
|
2795
|
+
* @param opts - Pagination options.
|
|
2796
|
+
* @returns Paginated list of security profiles.
|
|
2797
|
+
*/
|
|
1083
2798
|
async list(opts) {
|
|
1084
2799
|
const params = {
|
|
1085
2800
|
offset: String(opts?.offset ?? 0),
|
|
@@ -1095,6 +2810,12 @@ var ProfilesClient = class {
|
|
|
1095
2810
|
});
|
|
1096
2811
|
return res.data;
|
|
1097
2812
|
}
|
|
2813
|
+
/**
|
|
2814
|
+
* Update an existing security profile.
|
|
2815
|
+
* @param profileId - UUID of the profile to update.
|
|
2816
|
+
* @param request - Updated profile configuration.
|
|
2817
|
+
* @returns The updated security profile.
|
|
2818
|
+
*/
|
|
1098
2819
|
async update(profileId, request) {
|
|
1099
2820
|
if (!isValidUuid(profileId)) {
|
|
1100
2821
|
throw new AISecSDKException(
|
|
@@ -1112,6 +2833,11 @@ var ProfilesClient = class {
|
|
|
1112
2833
|
});
|
|
1113
2834
|
return res.data;
|
|
1114
2835
|
}
|
|
2836
|
+
/**
|
|
2837
|
+
* Delete a security profile.
|
|
2838
|
+
* @param profileId - UUID of the profile to delete.
|
|
2839
|
+
* @returns Deletion confirmation message.
|
|
2840
|
+
*/
|
|
1115
2841
|
async delete(profileId) {
|
|
1116
2842
|
if (!isValidUuid(profileId)) {
|
|
1117
2843
|
throw new AISecSDKException(
|
|
@@ -1142,6 +2868,11 @@ var TopicsClient = class {
|
|
|
1142
2868
|
this.tsgId = opts.tsgId;
|
|
1143
2869
|
this.numRetries = opts.numRetries;
|
|
1144
2870
|
}
|
|
2871
|
+
/**
|
|
2872
|
+
* Create a new custom topic.
|
|
2873
|
+
* @param request - Topic definition with name, description, and examples.
|
|
2874
|
+
* @returns The created custom topic.
|
|
2875
|
+
*/
|
|
1145
2876
|
async create(request) {
|
|
1146
2877
|
const res = await managementHttpRequest({
|
|
1147
2878
|
method: "POST",
|
|
@@ -1153,6 +2884,11 @@ var TopicsClient = class {
|
|
|
1153
2884
|
});
|
|
1154
2885
|
return res.data;
|
|
1155
2886
|
}
|
|
2887
|
+
/**
|
|
2888
|
+
* List custom topics for the TSG.
|
|
2889
|
+
* @param opts - Pagination options.
|
|
2890
|
+
* @returns Paginated list of custom topics.
|
|
2891
|
+
*/
|
|
1156
2892
|
async list(opts) {
|
|
1157
2893
|
const params = {
|
|
1158
2894
|
offset: String(opts?.offset ?? 0),
|
|
@@ -1168,6 +2904,12 @@ var TopicsClient = class {
|
|
|
1168
2904
|
});
|
|
1169
2905
|
return res.data;
|
|
1170
2906
|
}
|
|
2907
|
+
/**
|
|
2908
|
+
* Update an existing custom topic.
|
|
2909
|
+
* @param topicId - UUID of the topic to update.
|
|
2910
|
+
* @param request - Updated topic definition.
|
|
2911
|
+
* @returns The updated custom topic.
|
|
2912
|
+
*/
|
|
1171
2913
|
async update(topicId, request) {
|
|
1172
2914
|
if (!isValidUuid(topicId)) {
|
|
1173
2915
|
throw new AISecSDKException(
|
|
@@ -1185,6 +2927,11 @@ var TopicsClient = class {
|
|
|
1185
2927
|
});
|
|
1186
2928
|
return res.data;
|
|
1187
2929
|
}
|
|
2930
|
+
/**
|
|
2931
|
+
* Delete a custom topic. Fails if topic is referenced by a profile.
|
|
2932
|
+
* @param topicId - UUID of the topic to delete.
|
|
2933
|
+
* @returns Deletion confirmation message.
|
|
2934
|
+
*/
|
|
1188
2935
|
async delete(topicId) {
|
|
1189
2936
|
if (!isValidUuid(topicId)) {
|
|
1190
2937
|
throw new AISecSDKException(
|
|
@@ -1201,6 +2948,11 @@ var TopicsClient = class {
|
|
|
1201
2948
|
});
|
|
1202
2949
|
return res.data;
|
|
1203
2950
|
}
|
|
2951
|
+
/**
|
|
2952
|
+
* Force-delete a custom topic, removing it from any referencing profiles.
|
|
2953
|
+
* @param topicId - UUID of the topic to force-delete.
|
|
2954
|
+
* @returns Deletion confirmation message.
|
|
2955
|
+
*/
|
|
1204
2956
|
async forceDelete(topicId) {
|
|
1205
2957
|
if (!isValidUuid(topicId)) {
|
|
1206
2958
|
throw new AISecSDKException(
|
|
@@ -1271,6 +3023,1708 @@ var ManagementClient = class {
|
|
|
1271
3023
|
});
|
|
1272
3024
|
}
|
|
1273
3025
|
};
|
|
3026
|
+
|
|
3027
|
+
// src/model-security/scans-client.ts
|
|
3028
|
+
function buildListParams(opts) {
|
|
3029
|
+
const params = {};
|
|
3030
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
3031
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
3032
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
3033
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
3034
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
3035
|
+
return params;
|
|
3036
|
+
}
|
|
3037
|
+
var ModelSecurityScansClient = class {
|
|
3038
|
+
baseUrl;
|
|
3039
|
+
oauthClient;
|
|
3040
|
+
numRetries;
|
|
3041
|
+
constructor(opts) {
|
|
3042
|
+
this.baseUrl = opts.baseUrl;
|
|
3043
|
+
this.oauthClient = opts.oauthClient;
|
|
3044
|
+
this.numRetries = opts.numRetries;
|
|
3045
|
+
}
|
|
3046
|
+
/**
|
|
3047
|
+
* Create a new model security scan.
|
|
3048
|
+
* @param request - Scan creation request body.
|
|
3049
|
+
* @returns The created scan response.
|
|
3050
|
+
*/
|
|
3051
|
+
async create(request) {
|
|
3052
|
+
const res = await managementHttpRequest({
|
|
3053
|
+
method: "POST",
|
|
3054
|
+
baseUrl: this.baseUrl,
|
|
3055
|
+
path: MODEL_SEC_SCANS_PATH,
|
|
3056
|
+
body: request,
|
|
3057
|
+
oauthClient: this.oauthClient,
|
|
3058
|
+
numRetries: this.numRetries
|
|
3059
|
+
});
|
|
3060
|
+
return res.data;
|
|
3061
|
+
}
|
|
3062
|
+
/**
|
|
3063
|
+
* List model security scans with optional filters.
|
|
3064
|
+
* @param opts - Pagination and filter options.
|
|
3065
|
+
* @returns Paginated list of scans.
|
|
3066
|
+
*/
|
|
3067
|
+
async list(opts) {
|
|
3068
|
+
const params = buildListParams(opts);
|
|
3069
|
+
if (opts?.eval_outcome !== void 0) params.eval_outcome = opts.eval_outcome;
|
|
3070
|
+
if (opts?.source_type !== void 0) params.source_type = opts.source_type;
|
|
3071
|
+
if (opts?.scan_origin !== void 0) params.scan_origin = opts.scan_origin;
|
|
3072
|
+
const res = await managementHttpRequest({
|
|
3073
|
+
method: "GET",
|
|
3074
|
+
baseUrl: this.baseUrl,
|
|
3075
|
+
path: MODEL_SEC_SCANS_PATH,
|
|
3076
|
+
params,
|
|
3077
|
+
oauthClient: this.oauthClient,
|
|
3078
|
+
numRetries: this.numRetries
|
|
3079
|
+
});
|
|
3080
|
+
return res.data;
|
|
3081
|
+
}
|
|
3082
|
+
/**
|
|
3083
|
+
* Get a single scan by UUID.
|
|
3084
|
+
* @param uuid - Scan UUID.
|
|
3085
|
+
* @returns The scan response.
|
|
3086
|
+
*/
|
|
3087
|
+
async get(uuid) {
|
|
3088
|
+
if (!isValidUuid(uuid)) {
|
|
3089
|
+
throw new AISecSDKException(
|
|
3090
|
+
`Invalid scan uuid: ${uuid}`,
|
|
3091
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3092
|
+
);
|
|
3093
|
+
}
|
|
3094
|
+
const res = await managementHttpRequest({
|
|
3095
|
+
method: "GET",
|
|
3096
|
+
baseUrl: this.baseUrl,
|
|
3097
|
+
path: `${MODEL_SEC_SCANS_PATH}/${uuid}`,
|
|
3098
|
+
oauthClient: this.oauthClient,
|
|
3099
|
+
numRetries: this.numRetries
|
|
3100
|
+
});
|
|
3101
|
+
return res.data;
|
|
3102
|
+
}
|
|
3103
|
+
/**
|
|
3104
|
+
* Get rule evaluations for a scan.
|
|
3105
|
+
* @param scanUuid - Scan UUID.
|
|
3106
|
+
* @param opts - Pagination options.
|
|
3107
|
+
* @returns Paginated list of rule evaluations.
|
|
3108
|
+
*/
|
|
3109
|
+
async getEvaluations(scanUuid, opts) {
|
|
3110
|
+
if (!isValidUuid(scanUuid)) {
|
|
3111
|
+
throw new AISecSDKException(
|
|
3112
|
+
`Invalid scan uuid: ${scanUuid}`,
|
|
3113
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3114
|
+
);
|
|
3115
|
+
}
|
|
3116
|
+
const res = await managementHttpRequest({
|
|
3117
|
+
method: "GET",
|
|
3118
|
+
baseUrl: this.baseUrl,
|
|
3119
|
+
path: `${MODEL_SEC_SCANS_PATH}/${scanUuid}/evaluations`,
|
|
3120
|
+
params: buildListParams(opts),
|
|
3121
|
+
oauthClient: this.oauthClient,
|
|
3122
|
+
numRetries: this.numRetries
|
|
3123
|
+
});
|
|
3124
|
+
return res.data;
|
|
3125
|
+
}
|
|
3126
|
+
/**
|
|
3127
|
+
* Get files for a scan.
|
|
3128
|
+
* @param scanUuid - Scan UUID.
|
|
3129
|
+
* @param opts - Pagination and file filter options.
|
|
3130
|
+
* @returns Paginated list of files.
|
|
3131
|
+
*/
|
|
3132
|
+
async getFiles(scanUuid, opts) {
|
|
3133
|
+
if (!isValidUuid(scanUuid)) {
|
|
3134
|
+
throw new AISecSDKException(
|
|
3135
|
+
`Invalid scan uuid: ${scanUuid}`,
|
|
3136
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3137
|
+
);
|
|
3138
|
+
}
|
|
3139
|
+
const params = buildListParams(opts);
|
|
3140
|
+
if (opts?.type !== void 0) params.type = opts.type;
|
|
3141
|
+
if (opts?.result !== void 0) params.result = opts.result;
|
|
3142
|
+
const res = await managementHttpRequest({
|
|
3143
|
+
method: "GET",
|
|
3144
|
+
baseUrl: this.baseUrl,
|
|
3145
|
+
path: `${MODEL_SEC_SCANS_PATH}/${scanUuid}/files`,
|
|
3146
|
+
params,
|
|
3147
|
+
oauthClient: this.oauthClient,
|
|
3148
|
+
numRetries: this.numRetries
|
|
3149
|
+
});
|
|
3150
|
+
return res.data;
|
|
3151
|
+
}
|
|
3152
|
+
/**
|
|
3153
|
+
* Add labels to a scan (merge with existing).
|
|
3154
|
+
* @param scanUuid - Scan UUID.
|
|
3155
|
+
* @param request - Labels to add.
|
|
3156
|
+
* @returns Labels response.
|
|
3157
|
+
*/
|
|
3158
|
+
async addLabels(scanUuid, request) {
|
|
3159
|
+
if (!isValidUuid(scanUuid)) {
|
|
3160
|
+
throw new AISecSDKException(
|
|
3161
|
+
`Invalid scan uuid: ${scanUuid}`,
|
|
3162
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3163
|
+
);
|
|
3164
|
+
}
|
|
3165
|
+
const res = await managementHttpRequest({
|
|
3166
|
+
method: "POST",
|
|
3167
|
+
baseUrl: this.baseUrl,
|
|
3168
|
+
path: `${MODEL_SEC_SCANS_PATH}/${scanUuid}/labels`,
|
|
3169
|
+
body: request,
|
|
3170
|
+
oauthClient: this.oauthClient,
|
|
3171
|
+
numRetries: this.numRetries
|
|
3172
|
+
});
|
|
3173
|
+
return res.data;
|
|
3174
|
+
}
|
|
3175
|
+
/**
|
|
3176
|
+
* Set labels on a scan (replace all existing).
|
|
3177
|
+
* @param scanUuid - Scan UUID.
|
|
3178
|
+
* @param request - Labels to set.
|
|
3179
|
+
* @returns Labels response.
|
|
3180
|
+
*/
|
|
3181
|
+
async setLabels(scanUuid, request) {
|
|
3182
|
+
if (!isValidUuid(scanUuid)) {
|
|
3183
|
+
throw new AISecSDKException(
|
|
3184
|
+
`Invalid scan uuid: ${scanUuid}`,
|
|
3185
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3186
|
+
);
|
|
3187
|
+
}
|
|
3188
|
+
const res = await managementHttpRequest({
|
|
3189
|
+
method: "PUT",
|
|
3190
|
+
baseUrl: this.baseUrl,
|
|
3191
|
+
path: `${MODEL_SEC_SCANS_PATH}/${scanUuid}/labels`,
|
|
3192
|
+
body: request,
|
|
3193
|
+
oauthClient: this.oauthClient,
|
|
3194
|
+
numRetries: this.numRetries
|
|
3195
|
+
});
|
|
3196
|
+
return res.data;
|
|
3197
|
+
}
|
|
3198
|
+
/**
|
|
3199
|
+
* Delete labels from a scan by key.
|
|
3200
|
+
* @param scanUuid - Scan UUID.
|
|
3201
|
+
* @param keys - Label keys to delete.
|
|
3202
|
+
*/
|
|
3203
|
+
async deleteLabels(scanUuid, keys) {
|
|
3204
|
+
if (!isValidUuid(scanUuid)) {
|
|
3205
|
+
throw new AISecSDKException(
|
|
3206
|
+
`Invalid scan uuid: ${scanUuid}`,
|
|
3207
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3208
|
+
);
|
|
3209
|
+
}
|
|
3210
|
+
const url = new URL(`https://placeholder${MODEL_SEC_SCANS_PATH}/${scanUuid}/labels`);
|
|
3211
|
+
for (const key of keys) {
|
|
3212
|
+
url.searchParams.append("keys", key);
|
|
3213
|
+
}
|
|
3214
|
+
const queryString = url.searchParams.toString();
|
|
3215
|
+
const pathWithQuery = `${MODEL_SEC_SCANS_PATH}/${scanUuid}/labels${queryString ? `?${queryString}` : ""}`;
|
|
3216
|
+
await managementHttpRequest({
|
|
3217
|
+
method: "DELETE",
|
|
3218
|
+
baseUrl: this.baseUrl,
|
|
3219
|
+
path: pathWithQuery,
|
|
3220
|
+
oauthClient: this.oauthClient,
|
|
3221
|
+
numRetries: this.numRetries
|
|
3222
|
+
});
|
|
3223
|
+
}
|
|
3224
|
+
/**
|
|
3225
|
+
* Get rule violations for a scan.
|
|
3226
|
+
* @param scanUuid - Scan UUID.
|
|
3227
|
+
* @param opts - Pagination options.
|
|
3228
|
+
* @returns Paginated list of violations.
|
|
3229
|
+
*/
|
|
3230
|
+
async getViolations(scanUuid, opts) {
|
|
3231
|
+
if (!isValidUuid(scanUuid)) {
|
|
3232
|
+
throw new AISecSDKException(
|
|
3233
|
+
`Invalid scan uuid: ${scanUuid}`,
|
|
3234
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3235
|
+
);
|
|
3236
|
+
}
|
|
3237
|
+
const res = await managementHttpRequest({
|
|
3238
|
+
method: "GET",
|
|
3239
|
+
baseUrl: this.baseUrl,
|
|
3240
|
+
path: `${MODEL_SEC_SCANS_PATH}/${scanUuid}/rule-violations`,
|
|
3241
|
+
params: buildListParams(opts),
|
|
3242
|
+
oauthClient: this.oauthClient,
|
|
3243
|
+
numRetries: this.numRetries
|
|
3244
|
+
});
|
|
3245
|
+
return res.data;
|
|
3246
|
+
}
|
|
3247
|
+
/**
|
|
3248
|
+
* Get distinct label keys across all scans.
|
|
3249
|
+
* @param opts - Pagination options.
|
|
3250
|
+
* @returns Paginated list of label keys.
|
|
3251
|
+
*/
|
|
3252
|
+
async getLabelKeys(opts) {
|
|
3253
|
+
const res = await managementHttpRequest({
|
|
3254
|
+
method: "GET",
|
|
3255
|
+
baseUrl: this.baseUrl,
|
|
3256
|
+
path: `${MODEL_SEC_SCANS_PATH}/label-keys`,
|
|
3257
|
+
params: buildListParams(opts),
|
|
3258
|
+
oauthClient: this.oauthClient,
|
|
3259
|
+
numRetries: this.numRetries
|
|
3260
|
+
});
|
|
3261
|
+
return res.data;
|
|
3262
|
+
}
|
|
3263
|
+
/**
|
|
3264
|
+
* Get distinct values for a label key.
|
|
3265
|
+
* @param key - Label key to get values for.
|
|
3266
|
+
* @param opts - Pagination options.
|
|
3267
|
+
* @returns Paginated list of label values.
|
|
3268
|
+
*/
|
|
3269
|
+
async getLabelValues(key, opts) {
|
|
3270
|
+
const res = await managementHttpRequest({
|
|
3271
|
+
method: "GET",
|
|
3272
|
+
baseUrl: this.baseUrl,
|
|
3273
|
+
path: `${MODEL_SEC_SCANS_PATH}/label-keys/${encodeURIComponent(key)}/values`,
|
|
3274
|
+
params: buildListParams(opts),
|
|
3275
|
+
oauthClient: this.oauthClient,
|
|
3276
|
+
numRetries: this.numRetries
|
|
3277
|
+
});
|
|
3278
|
+
return res.data;
|
|
3279
|
+
}
|
|
3280
|
+
/**
|
|
3281
|
+
* Get a single rule evaluation by UUID.
|
|
3282
|
+
* @param uuid - Evaluation UUID.
|
|
3283
|
+
* @returns The rule evaluation response.
|
|
3284
|
+
*/
|
|
3285
|
+
async getEvaluation(uuid) {
|
|
3286
|
+
if (!isValidUuid(uuid)) {
|
|
3287
|
+
throw new AISecSDKException(
|
|
3288
|
+
`Invalid evaluation uuid: ${uuid}`,
|
|
3289
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3290
|
+
);
|
|
3291
|
+
}
|
|
3292
|
+
const res = await managementHttpRequest({
|
|
3293
|
+
method: "GET",
|
|
3294
|
+
baseUrl: this.baseUrl,
|
|
3295
|
+
path: `${MODEL_SEC_EVALUATIONS_PATH}/${uuid}`,
|
|
3296
|
+
oauthClient: this.oauthClient,
|
|
3297
|
+
numRetries: this.numRetries
|
|
3298
|
+
});
|
|
3299
|
+
return res.data;
|
|
3300
|
+
}
|
|
3301
|
+
/**
|
|
3302
|
+
* Get a single violation by UUID.
|
|
3303
|
+
* @param uuid - Violation UUID.
|
|
3304
|
+
* @returns The violation response.
|
|
3305
|
+
*/
|
|
3306
|
+
async getViolation(uuid) {
|
|
3307
|
+
if (!isValidUuid(uuid)) {
|
|
3308
|
+
throw new AISecSDKException(
|
|
3309
|
+
`Invalid violation uuid: ${uuid}`,
|
|
3310
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3311
|
+
);
|
|
3312
|
+
}
|
|
3313
|
+
const res = await managementHttpRequest({
|
|
3314
|
+
method: "GET",
|
|
3315
|
+
baseUrl: this.baseUrl,
|
|
3316
|
+
path: `${MODEL_SEC_VIOLATIONS_PATH}/${uuid}`,
|
|
3317
|
+
oauthClient: this.oauthClient,
|
|
3318
|
+
numRetries: this.numRetries
|
|
3319
|
+
});
|
|
3320
|
+
return res.data;
|
|
3321
|
+
}
|
|
3322
|
+
};
|
|
3323
|
+
|
|
3324
|
+
// src/model-security/security-groups-client.ts
|
|
3325
|
+
function buildListParams2(opts) {
|
|
3326
|
+
const params = {};
|
|
3327
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
3328
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
3329
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
3330
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
3331
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
3332
|
+
return params;
|
|
3333
|
+
}
|
|
3334
|
+
var ModelSecurityGroupsClient = class {
|
|
3335
|
+
baseUrl;
|
|
3336
|
+
oauthClient;
|
|
3337
|
+
numRetries;
|
|
3338
|
+
constructor(opts) {
|
|
3339
|
+
this.baseUrl = opts.baseUrl;
|
|
3340
|
+
this.oauthClient = opts.oauthClient;
|
|
3341
|
+
this.numRetries = opts.numRetries;
|
|
3342
|
+
}
|
|
3343
|
+
/**
|
|
3344
|
+
* Create a new security group.
|
|
3345
|
+
* @param request - Security group creation request.
|
|
3346
|
+
* @returns The created security group.
|
|
3347
|
+
*/
|
|
3348
|
+
async create(request) {
|
|
3349
|
+
const res = await managementHttpRequest({
|
|
3350
|
+
method: "POST",
|
|
3351
|
+
baseUrl: this.baseUrl,
|
|
3352
|
+
path: MODEL_SEC_SECURITY_GROUPS_PATH,
|
|
3353
|
+
body: request,
|
|
3354
|
+
oauthClient: this.oauthClient,
|
|
3355
|
+
numRetries: this.numRetries
|
|
3356
|
+
});
|
|
3357
|
+
return res.data;
|
|
3358
|
+
}
|
|
3359
|
+
/**
|
|
3360
|
+
* List security groups with optional filters.
|
|
3361
|
+
* @param opts - Pagination and filter options.
|
|
3362
|
+
* @returns Paginated list of security groups.
|
|
3363
|
+
*/
|
|
3364
|
+
async list(opts) {
|
|
3365
|
+
const res = await managementHttpRequest({
|
|
3366
|
+
method: "GET",
|
|
3367
|
+
baseUrl: this.baseUrl,
|
|
3368
|
+
path: MODEL_SEC_SECURITY_GROUPS_PATH,
|
|
3369
|
+
params: buildListParams2(opts),
|
|
3370
|
+
oauthClient: this.oauthClient,
|
|
3371
|
+
numRetries: this.numRetries
|
|
3372
|
+
});
|
|
3373
|
+
return res.data;
|
|
3374
|
+
}
|
|
3375
|
+
/**
|
|
3376
|
+
* Get a single security group by UUID.
|
|
3377
|
+
* @param uuid - Security group UUID.
|
|
3378
|
+
* @returns The security group.
|
|
3379
|
+
*/
|
|
3380
|
+
async get(uuid) {
|
|
3381
|
+
if (!isValidUuid(uuid)) {
|
|
3382
|
+
throw new AISecSDKException(
|
|
3383
|
+
`Invalid security group uuid: ${uuid}`,
|
|
3384
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3385
|
+
);
|
|
3386
|
+
}
|
|
3387
|
+
const res = await managementHttpRequest({
|
|
3388
|
+
method: "GET",
|
|
3389
|
+
baseUrl: this.baseUrl,
|
|
3390
|
+
path: `${MODEL_SEC_SECURITY_GROUPS_PATH}/${uuid}`,
|
|
3391
|
+
oauthClient: this.oauthClient,
|
|
3392
|
+
numRetries: this.numRetries
|
|
3393
|
+
});
|
|
3394
|
+
return res.data;
|
|
3395
|
+
}
|
|
3396
|
+
/**
|
|
3397
|
+
* Update an existing security group.
|
|
3398
|
+
* @param uuid - Security group UUID.
|
|
3399
|
+
* @param request - Updated security group fields.
|
|
3400
|
+
* @returns The updated security group.
|
|
3401
|
+
*/
|
|
3402
|
+
async update(uuid, request) {
|
|
3403
|
+
if (!isValidUuid(uuid)) {
|
|
3404
|
+
throw new AISecSDKException(
|
|
3405
|
+
`Invalid security group uuid: ${uuid}`,
|
|
3406
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3407
|
+
);
|
|
3408
|
+
}
|
|
3409
|
+
const res = await managementHttpRequest({
|
|
3410
|
+
method: "PUT",
|
|
3411
|
+
baseUrl: this.baseUrl,
|
|
3412
|
+
path: `${MODEL_SEC_SECURITY_GROUPS_PATH}/${uuid}`,
|
|
3413
|
+
body: request,
|
|
3414
|
+
oauthClient: this.oauthClient,
|
|
3415
|
+
numRetries: this.numRetries
|
|
3416
|
+
});
|
|
3417
|
+
return res.data;
|
|
3418
|
+
}
|
|
3419
|
+
/**
|
|
3420
|
+
* Delete a security group.
|
|
3421
|
+
* @param uuid - Security group UUID.
|
|
3422
|
+
*/
|
|
3423
|
+
async delete(uuid) {
|
|
3424
|
+
if (!isValidUuid(uuid)) {
|
|
3425
|
+
throw new AISecSDKException(
|
|
3426
|
+
`Invalid security group uuid: ${uuid}`,
|
|
3427
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3428
|
+
);
|
|
3429
|
+
}
|
|
3430
|
+
await managementHttpRequest({
|
|
3431
|
+
method: "DELETE",
|
|
3432
|
+
baseUrl: this.baseUrl,
|
|
3433
|
+
path: `${MODEL_SEC_SECURITY_GROUPS_PATH}/${uuid}`,
|
|
3434
|
+
oauthClient: this.oauthClient,
|
|
3435
|
+
numRetries: this.numRetries
|
|
3436
|
+
});
|
|
3437
|
+
}
|
|
3438
|
+
/**
|
|
3439
|
+
* List rule instances for a security group.
|
|
3440
|
+
* @param securityGroupUuid - Security group UUID.
|
|
3441
|
+
* @param opts - Pagination options.
|
|
3442
|
+
* @returns Paginated list of rule instances.
|
|
3443
|
+
*/
|
|
3444
|
+
async listRuleInstances(securityGroupUuid, opts) {
|
|
3445
|
+
if (!isValidUuid(securityGroupUuid)) {
|
|
3446
|
+
throw new AISecSDKException(
|
|
3447
|
+
`Invalid security group uuid: ${securityGroupUuid}`,
|
|
3448
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3449
|
+
);
|
|
3450
|
+
}
|
|
3451
|
+
const res = await managementHttpRequest({
|
|
3452
|
+
method: "GET",
|
|
3453
|
+
baseUrl: this.baseUrl,
|
|
3454
|
+
path: `${MODEL_SEC_SECURITY_GROUPS_PATH}/${securityGroupUuid}/rule-instances`,
|
|
3455
|
+
params: buildListParams2(opts),
|
|
3456
|
+
oauthClient: this.oauthClient,
|
|
3457
|
+
numRetries: this.numRetries
|
|
3458
|
+
});
|
|
3459
|
+
return res.data;
|
|
3460
|
+
}
|
|
3461
|
+
/**
|
|
3462
|
+
* Get a single rule instance within a security group.
|
|
3463
|
+
* @param securityGroupUuid - Security group UUID.
|
|
3464
|
+
* @param ruleInstanceUuid - Rule instance UUID.
|
|
3465
|
+
* @returns The rule instance.
|
|
3466
|
+
*/
|
|
3467
|
+
async getRuleInstance(securityGroupUuid, ruleInstanceUuid) {
|
|
3468
|
+
if (!isValidUuid(securityGroupUuid)) {
|
|
3469
|
+
throw new AISecSDKException(
|
|
3470
|
+
`Invalid security group uuid: ${securityGroupUuid}`,
|
|
3471
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3472
|
+
);
|
|
3473
|
+
}
|
|
3474
|
+
if (!isValidUuid(ruleInstanceUuid)) {
|
|
3475
|
+
throw new AISecSDKException(
|
|
3476
|
+
`Invalid rule instance uuid: ${ruleInstanceUuid}`,
|
|
3477
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3478
|
+
);
|
|
3479
|
+
}
|
|
3480
|
+
const res = await managementHttpRequest({
|
|
3481
|
+
method: "GET",
|
|
3482
|
+
baseUrl: this.baseUrl,
|
|
3483
|
+
path: `${MODEL_SEC_SECURITY_GROUPS_PATH}/${securityGroupUuid}/rule-instances/${ruleInstanceUuid}`,
|
|
3484
|
+
oauthClient: this.oauthClient,
|
|
3485
|
+
numRetries: this.numRetries
|
|
3486
|
+
});
|
|
3487
|
+
return res.data;
|
|
3488
|
+
}
|
|
3489
|
+
/**
|
|
3490
|
+
* Update a rule instance within a security group.
|
|
3491
|
+
* @param securityGroupUuid - Security group UUID.
|
|
3492
|
+
* @param ruleInstanceUuid - Rule instance UUID.
|
|
3493
|
+
* @param request - Updated rule instance fields.
|
|
3494
|
+
* @returns The updated rule instance.
|
|
3495
|
+
*/
|
|
3496
|
+
async updateRuleInstance(securityGroupUuid, ruleInstanceUuid, request) {
|
|
3497
|
+
if (!isValidUuid(securityGroupUuid)) {
|
|
3498
|
+
throw new AISecSDKException(
|
|
3499
|
+
`Invalid security group uuid: ${securityGroupUuid}`,
|
|
3500
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3501
|
+
);
|
|
3502
|
+
}
|
|
3503
|
+
if (!isValidUuid(ruleInstanceUuid)) {
|
|
3504
|
+
throw new AISecSDKException(
|
|
3505
|
+
`Invalid rule instance uuid: ${ruleInstanceUuid}`,
|
|
3506
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3507
|
+
);
|
|
3508
|
+
}
|
|
3509
|
+
const res = await managementHttpRequest({
|
|
3510
|
+
method: "PUT",
|
|
3511
|
+
baseUrl: this.baseUrl,
|
|
3512
|
+
path: `${MODEL_SEC_SECURITY_GROUPS_PATH}/${securityGroupUuid}/rule-instances/${ruleInstanceUuid}`,
|
|
3513
|
+
body: request,
|
|
3514
|
+
oauthClient: this.oauthClient,
|
|
3515
|
+
numRetries: this.numRetries
|
|
3516
|
+
});
|
|
3517
|
+
return res.data;
|
|
3518
|
+
}
|
|
3519
|
+
};
|
|
3520
|
+
|
|
3521
|
+
// src/model-security/security-rules-client.ts
|
|
3522
|
+
function buildListParams3(opts) {
|
|
3523
|
+
const params = {};
|
|
3524
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
3525
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
3526
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
3527
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
3528
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
3529
|
+
return params;
|
|
3530
|
+
}
|
|
3531
|
+
var ModelSecurityRulesClient = class {
|
|
3532
|
+
baseUrl;
|
|
3533
|
+
oauthClient;
|
|
3534
|
+
numRetries;
|
|
3535
|
+
constructor(opts) {
|
|
3536
|
+
this.baseUrl = opts.baseUrl;
|
|
3537
|
+
this.oauthClient = opts.oauthClient;
|
|
3538
|
+
this.numRetries = opts.numRetries;
|
|
3539
|
+
}
|
|
3540
|
+
/**
|
|
3541
|
+
* List available security rules.
|
|
3542
|
+
* @param opts - Pagination options.
|
|
3543
|
+
* @returns Paginated list of security rules.
|
|
3544
|
+
*/
|
|
3545
|
+
async list(opts) {
|
|
3546
|
+
const res = await managementHttpRequest({
|
|
3547
|
+
method: "GET",
|
|
3548
|
+
baseUrl: this.baseUrl,
|
|
3549
|
+
path: MODEL_SEC_SECURITY_RULES_PATH,
|
|
3550
|
+
params: buildListParams3(opts),
|
|
3551
|
+
oauthClient: this.oauthClient,
|
|
3552
|
+
numRetries: this.numRetries
|
|
3553
|
+
});
|
|
3554
|
+
return res.data;
|
|
3555
|
+
}
|
|
3556
|
+
/**
|
|
3557
|
+
* Get a single security rule by UUID.
|
|
3558
|
+
* @param uuid - Security rule UUID.
|
|
3559
|
+
* @returns The security rule.
|
|
3560
|
+
*/
|
|
3561
|
+
async get(uuid) {
|
|
3562
|
+
if (!isValidUuid(uuid)) {
|
|
3563
|
+
throw new AISecSDKException(
|
|
3564
|
+
`Invalid security rule uuid: ${uuid}`,
|
|
3565
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3566
|
+
);
|
|
3567
|
+
}
|
|
3568
|
+
const res = await managementHttpRequest({
|
|
3569
|
+
method: "GET",
|
|
3570
|
+
baseUrl: this.baseUrl,
|
|
3571
|
+
path: `${MODEL_SEC_SECURITY_RULES_PATH}/${uuid}`,
|
|
3572
|
+
oauthClient: this.oauthClient,
|
|
3573
|
+
numRetries: this.numRetries
|
|
3574
|
+
});
|
|
3575
|
+
return res.data;
|
|
3576
|
+
}
|
|
3577
|
+
};
|
|
3578
|
+
|
|
3579
|
+
// src/model-security/client.ts
|
|
3580
|
+
var ModelSecurityClient = class {
|
|
3581
|
+
/** Data plane scan operations. */
|
|
3582
|
+
scans;
|
|
3583
|
+
/** Management plane security group operations. */
|
|
3584
|
+
securityGroups;
|
|
3585
|
+
/** Management plane security rule operations (read-only). */
|
|
3586
|
+
securityRules;
|
|
3587
|
+
mgmtEndpoint;
|
|
3588
|
+
oauthClient;
|
|
3589
|
+
numRetries;
|
|
3590
|
+
constructor(opts = {}) {
|
|
3591
|
+
const clientId = opts.clientId ?? process.env[MODEL_SEC_CLIENT_ID] ?? process.env[MGMT_CLIENT_ID];
|
|
3592
|
+
const clientSecret = opts.clientSecret ?? process.env[MODEL_SEC_CLIENT_SECRET] ?? process.env[MGMT_CLIENT_SECRET];
|
|
3593
|
+
const tsgId = opts.tsgId ?? process.env[MODEL_SEC_TSG_ID] ?? process.env[MGMT_TSG_ID];
|
|
3594
|
+
const dataEndpoint = opts.dataEndpoint ?? process.env[MODEL_SEC_DATA_ENDPOINT] ?? DEFAULT_MODEL_SEC_DATA_ENDPOINT;
|
|
3595
|
+
const mgmtEndpoint = opts.mgmtEndpoint ?? process.env[MODEL_SEC_MGMT_ENDPOINT] ?? DEFAULT_MODEL_SEC_MGMT_ENDPOINT;
|
|
3596
|
+
const tokenEndpoint = opts.tokenEndpoint ?? process.env[MODEL_SEC_TOKEN_ENDPOINT] ?? process.env[MGMT_TOKEN_ENDPOINT];
|
|
3597
|
+
const numRetries = Math.min(
|
|
3598
|
+
Math.max(opts.numRetries ?? MAX_NUMBER_OF_RETRIES, 0),
|
|
3599
|
+
MAX_NUMBER_OF_RETRIES
|
|
3600
|
+
);
|
|
3601
|
+
if (!clientId) {
|
|
3602
|
+
throw new AISecSDKException(
|
|
3603
|
+
"clientId is required (option or PANW_MODEL_SEC_CLIENT_ID / PANW_MGMT_CLIENT_ID env var)",
|
|
3604
|
+
"AISEC_MISSING_VARIABLE" /* MISSING_VARIABLE */
|
|
3605
|
+
);
|
|
3606
|
+
}
|
|
3607
|
+
if (!clientSecret) {
|
|
3608
|
+
throw new AISecSDKException(
|
|
3609
|
+
"clientSecret is required (option or PANW_MODEL_SEC_CLIENT_SECRET / PANW_MGMT_CLIENT_SECRET env var)",
|
|
3610
|
+
"AISEC_MISSING_VARIABLE" /* MISSING_VARIABLE */
|
|
3611
|
+
);
|
|
3612
|
+
}
|
|
3613
|
+
if (!tsgId) {
|
|
3614
|
+
throw new AISecSDKException(
|
|
3615
|
+
"tsgId is required (option or PANW_MODEL_SEC_TSG_ID / PANW_MGMT_TSG_ID env var)",
|
|
3616
|
+
"AISEC_MISSING_VARIABLE" /* MISSING_VARIABLE */
|
|
3617
|
+
);
|
|
3618
|
+
}
|
|
3619
|
+
this.oauthClient = new OAuthClient({
|
|
3620
|
+
clientId,
|
|
3621
|
+
clientSecret,
|
|
3622
|
+
tsgId,
|
|
3623
|
+
tokenEndpoint
|
|
3624
|
+
});
|
|
3625
|
+
this.mgmtEndpoint = mgmtEndpoint;
|
|
3626
|
+
this.numRetries = numRetries;
|
|
3627
|
+
this.scans = new ModelSecurityScansClient({
|
|
3628
|
+
baseUrl: dataEndpoint,
|
|
3629
|
+
oauthClient: this.oauthClient,
|
|
3630
|
+
numRetries
|
|
3631
|
+
});
|
|
3632
|
+
this.securityGroups = new ModelSecurityGroupsClient({
|
|
3633
|
+
baseUrl: mgmtEndpoint,
|
|
3634
|
+
oauthClient: this.oauthClient,
|
|
3635
|
+
numRetries
|
|
3636
|
+
});
|
|
3637
|
+
this.securityRules = new ModelSecurityRulesClient({
|
|
3638
|
+
baseUrl: mgmtEndpoint,
|
|
3639
|
+
oauthClient: this.oauthClient,
|
|
3640
|
+
numRetries
|
|
3641
|
+
});
|
|
3642
|
+
}
|
|
3643
|
+
/**
|
|
3644
|
+
* Get PyPI authentication credentials for Google Artifact Registry.
|
|
3645
|
+
* @returns PyPI auth response with URL and expiration.
|
|
3646
|
+
*/
|
|
3647
|
+
async getPyPIAuth() {
|
|
3648
|
+
const res = await managementHttpRequest({
|
|
3649
|
+
method: "GET",
|
|
3650
|
+
baseUrl: this.mgmtEndpoint,
|
|
3651
|
+
path: MODEL_SEC_PYPI_AUTH_PATH,
|
|
3652
|
+
oauthClient: this.oauthClient,
|
|
3653
|
+
numRetries: this.numRetries
|
|
3654
|
+
});
|
|
3655
|
+
return res.data;
|
|
3656
|
+
}
|
|
3657
|
+
};
|
|
3658
|
+
|
|
3659
|
+
// src/red-team/scans-client.ts
|
|
3660
|
+
function buildListParams4(opts) {
|
|
3661
|
+
const params = {};
|
|
3662
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
3663
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
3664
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
3665
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
3666
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
3667
|
+
return params;
|
|
3668
|
+
}
|
|
3669
|
+
var RedTeamScansClient = class {
|
|
3670
|
+
baseUrl;
|
|
3671
|
+
oauthClient;
|
|
3672
|
+
numRetries;
|
|
3673
|
+
constructor(opts) {
|
|
3674
|
+
this.baseUrl = opts.baseUrl;
|
|
3675
|
+
this.oauthClient = opts.oauthClient;
|
|
3676
|
+
this.numRetries = opts.numRetries;
|
|
3677
|
+
}
|
|
3678
|
+
/** Create a new red team scan job. */
|
|
3679
|
+
async create(request) {
|
|
3680
|
+
const res = await managementHttpRequest({
|
|
3681
|
+
method: "POST",
|
|
3682
|
+
baseUrl: this.baseUrl,
|
|
3683
|
+
path: RED_TEAM_SCAN_PATH,
|
|
3684
|
+
body: request,
|
|
3685
|
+
oauthClient: this.oauthClient,
|
|
3686
|
+
numRetries: this.numRetries
|
|
3687
|
+
});
|
|
3688
|
+
return res.data;
|
|
3689
|
+
}
|
|
3690
|
+
/** List red team scan jobs with optional filters. */
|
|
3691
|
+
async list(opts) {
|
|
3692
|
+
const params = buildListParams4(opts);
|
|
3693
|
+
if (opts?.status !== void 0) params.status = opts.status;
|
|
3694
|
+
if (opts?.job_type !== void 0) params.job_type = opts.job_type;
|
|
3695
|
+
if (opts?.target_id !== void 0) params.target_id = opts.target_id;
|
|
3696
|
+
const res = await managementHttpRequest({
|
|
3697
|
+
method: "GET",
|
|
3698
|
+
baseUrl: this.baseUrl,
|
|
3699
|
+
path: RED_TEAM_SCAN_PATH,
|
|
3700
|
+
params,
|
|
3701
|
+
oauthClient: this.oauthClient,
|
|
3702
|
+
numRetries: this.numRetries
|
|
3703
|
+
});
|
|
3704
|
+
return res.data;
|
|
3705
|
+
}
|
|
3706
|
+
/** Get a single scan job by ID. */
|
|
3707
|
+
async get(jobId) {
|
|
3708
|
+
if (!isValidUuid(jobId)) {
|
|
3709
|
+
throw new AISecSDKException(`Invalid job id: ${jobId}`, "AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */);
|
|
3710
|
+
}
|
|
3711
|
+
const res = await managementHttpRequest({
|
|
3712
|
+
method: "GET",
|
|
3713
|
+
baseUrl: this.baseUrl,
|
|
3714
|
+
path: `${RED_TEAM_SCAN_PATH}/${jobId}`,
|
|
3715
|
+
oauthClient: this.oauthClient,
|
|
3716
|
+
numRetries: this.numRetries
|
|
3717
|
+
});
|
|
3718
|
+
return res.data;
|
|
3719
|
+
}
|
|
3720
|
+
/** Abort a running scan job. */
|
|
3721
|
+
async abort(jobId) {
|
|
3722
|
+
if (!isValidUuid(jobId)) {
|
|
3723
|
+
throw new AISecSDKException(`Invalid job id: ${jobId}`, "AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */);
|
|
3724
|
+
}
|
|
3725
|
+
const res = await managementHttpRequest({
|
|
3726
|
+
method: "POST",
|
|
3727
|
+
baseUrl: this.baseUrl,
|
|
3728
|
+
path: `${RED_TEAM_SCAN_PATH}/${jobId}/abort`,
|
|
3729
|
+
oauthClient: this.oauthClient,
|
|
3730
|
+
numRetries: this.numRetries
|
|
3731
|
+
});
|
|
3732
|
+
return res.data;
|
|
3733
|
+
}
|
|
3734
|
+
/** Get all categories with subcategories. */
|
|
3735
|
+
async getCategories() {
|
|
3736
|
+
const res = await managementHttpRequest({
|
|
3737
|
+
method: "GET",
|
|
3738
|
+
baseUrl: this.baseUrl,
|
|
3739
|
+
path: RED_TEAM_CATEGORIES_PATH,
|
|
3740
|
+
oauthClient: this.oauthClient,
|
|
3741
|
+
numRetries: this.numRetries
|
|
3742
|
+
});
|
|
3743
|
+
return res.data;
|
|
3744
|
+
}
|
|
3745
|
+
};
|
|
3746
|
+
|
|
3747
|
+
// src/red-team/reports-client.ts
|
|
3748
|
+
function buildListParams5(opts) {
|
|
3749
|
+
const params = {};
|
|
3750
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
3751
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
3752
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
3753
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
3754
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
3755
|
+
return params;
|
|
3756
|
+
}
|
|
3757
|
+
function validateJobId(jobId) {
|
|
3758
|
+
if (!isValidUuid(jobId)) {
|
|
3759
|
+
throw new AISecSDKException(`Invalid job id: ${jobId}`, "AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */);
|
|
3760
|
+
}
|
|
3761
|
+
}
|
|
3762
|
+
var RedTeamReportsClient = class {
|
|
3763
|
+
baseUrl;
|
|
3764
|
+
oauthClient;
|
|
3765
|
+
numRetries;
|
|
3766
|
+
constructor(opts) {
|
|
3767
|
+
this.baseUrl = opts.baseUrl;
|
|
3768
|
+
this.oauthClient = opts.oauthClient;
|
|
3769
|
+
this.numRetries = opts.numRetries;
|
|
3770
|
+
}
|
|
3771
|
+
// -----------------------------------------------------------------------
|
|
3772
|
+
// Static (attack library) report endpoints
|
|
3773
|
+
// -----------------------------------------------------------------------
|
|
3774
|
+
/** List attacks for a static scan. */
|
|
3775
|
+
async listAttacks(jobId, opts) {
|
|
3776
|
+
validateJobId(jobId);
|
|
3777
|
+
const params = buildListParams5(opts);
|
|
3778
|
+
if (opts?.status !== void 0) params.status = opts.status;
|
|
3779
|
+
if (opts?.severity !== void 0) params.severity = opts.severity;
|
|
3780
|
+
if (opts?.category !== void 0) params.category = opts.category;
|
|
3781
|
+
if (opts?.sub_category !== void 0) params.sub_category = opts.sub_category;
|
|
3782
|
+
const res = await managementHttpRequest({
|
|
3783
|
+
method: "GET",
|
|
3784
|
+
baseUrl: this.baseUrl,
|
|
3785
|
+
path: `${RED_TEAM_REPORT_STATIC_PATH}/${jobId}/list-attacks`,
|
|
3786
|
+
params,
|
|
3787
|
+
oauthClient: this.oauthClient,
|
|
3788
|
+
numRetries: this.numRetries
|
|
3789
|
+
});
|
|
3790
|
+
return res.data;
|
|
3791
|
+
}
|
|
3792
|
+
/** Get attack details for a static scan. */
|
|
3793
|
+
async getAttackDetail(jobId, attackId) {
|
|
3794
|
+
validateJobId(jobId);
|
|
3795
|
+
if (!isValidUuid(attackId)) {
|
|
3796
|
+
throw new AISecSDKException(
|
|
3797
|
+
`Invalid attack id: ${attackId}`,
|
|
3798
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3799
|
+
);
|
|
3800
|
+
}
|
|
3801
|
+
const res = await managementHttpRequest({
|
|
3802
|
+
method: "GET",
|
|
3803
|
+
baseUrl: this.baseUrl,
|
|
3804
|
+
path: `${RED_TEAM_REPORT_STATIC_PATH}/${jobId}/attack/${attackId}`,
|
|
3805
|
+
oauthClient: this.oauthClient,
|
|
3806
|
+
numRetries: this.numRetries
|
|
3807
|
+
});
|
|
3808
|
+
return res.data;
|
|
3809
|
+
}
|
|
3810
|
+
/** Get multi-turn attack details for a static scan. */
|
|
3811
|
+
async getMultiTurnAttackDetail(jobId, attackId) {
|
|
3812
|
+
validateJobId(jobId);
|
|
3813
|
+
if (!isValidUuid(attackId)) {
|
|
3814
|
+
throw new AISecSDKException(
|
|
3815
|
+
`Invalid attack id: ${attackId}`,
|
|
3816
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3817
|
+
);
|
|
3818
|
+
}
|
|
3819
|
+
const res = await managementHttpRequest({
|
|
3820
|
+
method: "GET",
|
|
3821
|
+
baseUrl: this.baseUrl,
|
|
3822
|
+
path: `${RED_TEAM_REPORT_STATIC_PATH}/${jobId}/attack-multi-turn/${attackId}`,
|
|
3823
|
+
oauthClient: this.oauthClient,
|
|
3824
|
+
numRetries: this.numRetries
|
|
3825
|
+
});
|
|
3826
|
+
return res.data;
|
|
3827
|
+
}
|
|
3828
|
+
/** Get the attack library report for a static scan. */
|
|
3829
|
+
async getStaticReport(jobId) {
|
|
3830
|
+
validateJobId(jobId);
|
|
3831
|
+
const res = await managementHttpRequest({
|
|
3832
|
+
method: "GET",
|
|
3833
|
+
baseUrl: this.baseUrl,
|
|
3834
|
+
path: `${RED_TEAM_REPORT_STATIC_PATH}/${jobId}/report`,
|
|
3835
|
+
oauthClient: this.oauthClient,
|
|
3836
|
+
numRetries: this.numRetries
|
|
3837
|
+
});
|
|
3838
|
+
return res.data;
|
|
3839
|
+
}
|
|
3840
|
+
/** Get remediation recommendations for a static scan. */
|
|
3841
|
+
async getStaticRemediation(jobId) {
|
|
3842
|
+
validateJobId(jobId);
|
|
3843
|
+
const res = await managementHttpRequest({
|
|
3844
|
+
method: "GET",
|
|
3845
|
+
baseUrl: this.baseUrl,
|
|
3846
|
+
path: `${RED_TEAM_REPORT_STATIC_PATH}/${jobId}/remediation`,
|
|
3847
|
+
oauthClient: this.oauthClient,
|
|
3848
|
+
numRetries: this.numRetries
|
|
3849
|
+
});
|
|
3850
|
+
return res.data;
|
|
3851
|
+
}
|
|
3852
|
+
/** Get runtime security profile config for a static scan. */
|
|
3853
|
+
async getStaticRuntimePolicy(jobId) {
|
|
3854
|
+
validateJobId(jobId);
|
|
3855
|
+
const res = await managementHttpRequest({
|
|
3856
|
+
method: "GET",
|
|
3857
|
+
baseUrl: this.baseUrl,
|
|
3858
|
+
path: `${RED_TEAM_REPORT_STATIC_PATH}/${jobId}/runtime-policy-config`,
|
|
3859
|
+
oauthClient: this.oauthClient,
|
|
3860
|
+
numRetries: this.numRetries
|
|
3861
|
+
});
|
|
3862
|
+
return res.data;
|
|
3863
|
+
}
|
|
3864
|
+
// -----------------------------------------------------------------------
|
|
3865
|
+
// Dynamic (agent) report endpoints
|
|
3866
|
+
// -----------------------------------------------------------------------
|
|
3867
|
+
/** Get the agent scan report for a dynamic scan. */
|
|
3868
|
+
async getDynamicReport(jobId) {
|
|
3869
|
+
validateJobId(jobId);
|
|
3870
|
+
const res = await managementHttpRequest({
|
|
3871
|
+
method: "GET",
|
|
3872
|
+
baseUrl: this.baseUrl,
|
|
3873
|
+
path: `${RED_TEAM_REPORT_DYNAMIC_PATH}/${jobId}/report`,
|
|
3874
|
+
oauthClient: this.oauthClient,
|
|
3875
|
+
numRetries: this.numRetries
|
|
3876
|
+
});
|
|
3877
|
+
return res.data;
|
|
3878
|
+
}
|
|
3879
|
+
/** Get remediation recommendations for a dynamic scan. */
|
|
3880
|
+
async getDynamicRemediation(jobId) {
|
|
3881
|
+
validateJobId(jobId);
|
|
3882
|
+
const res = await managementHttpRequest({
|
|
3883
|
+
method: "GET",
|
|
3884
|
+
baseUrl: this.baseUrl,
|
|
3885
|
+
path: `${RED_TEAM_REPORT_DYNAMIC_PATH}/${jobId}/remediation`,
|
|
3886
|
+
oauthClient: this.oauthClient,
|
|
3887
|
+
numRetries: this.numRetries
|
|
3888
|
+
});
|
|
3889
|
+
return res.data;
|
|
3890
|
+
}
|
|
3891
|
+
/** Get runtime security profile config for a dynamic scan. */
|
|
3892
|
+
async getDynamicRuntimePolicy(jobId) {
|
|
3893
|
+
validateJobId(jobId);
|
|
3894
|
+
const res = await managementHttpRequest({
|
|
3895
|
+
method: "GET",
|
|
3896
|
+
baseUrl: this.baseUrl,
|
|
3897
|
+
path: `${RED_TEAM_REPORT_DYNAMIC_PATH}/${jobId}/runtime-policy-config`,
|
|
3898
|
+
oauthClient: this.oauthClient,
|
|
3899
|
+
numRetries: this.numRetries
|
|
3900
|
+
});
|
|
3901
|
+
return res.data;
|
|
3902
|
+
}
|
|
3903
|
+
/** List goals for a dynamic scan. */
|
|
3904
|
+
async listGoals(jobId, opts) {
|
|
3905
|
+
validateJobId(jobId);
|
|
3906
|
+
const params = buildListParams5(opts);
|
|
3907
|
+
if (opts?.goal_type !== void 0) params.goal_type = opts.goal_type;
|
|
3908
|
+
const res = await managementHttpRequest({
|
|
3909
|
+
method: "GET",
|
|
3910
|
+
baseUrl: this.baseUrl,
|
|
3911
|
+
path: `${RED_TEAM_REPORT_DYNAMIC_PATH}/${jobId}/list-goals`,
|
|
3912
|
+
params,
|
|
3913
|
+
oauthClient: this.oauthClient,
|
|
3914
|
+
numRetries: this.numRetries
|
|
3915
|
+
});
|
|
3916
|
+
return res.data;
|
|
3917
|
+
}
|
|
3918
|
+
/** List streams for a goal in a dynamic scan. */
|
|
3919
|
+
async listGoalStreams(jobId, goalId, opts) {
|
|
3920
|
+
validateJobId(jobId);
|
|
3921
|
+
if (!isValidUuid(goalId)) {
|
|
3922
|
+
throw new AISecSDKException(
|
|
3923
|
+
`Invalid goal id: ${goalId}`,
|
|
3924
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3925
|
+
);
|
|
3926
|
+
}
|
|
3927
|
+
const res = await managementHttpRequest({
|
|
3928
|
+
method: "GET",
|
|
3929
|
+
baseUrl: this.baseUrl,
|
|
3930
|
+
path: `${RED_TEAM_REPORT_DYNAMIC_PATH}/${jobId}/goal/${goalId}/list-streams`,
|
|
3931
|
+
params: buildListParams5(opts),
|
|
3932
|
+
oauthClient: this.oauthClient,
|
|
3933
|
+
numRetries: this.numRetries
|
|
3934
|
+
});
|
|
3935
|
+
return res.data;
|
|
3936
|
+
}
|
|
3937
|
+
// -----------------------------------------------------------------------
|
|
3938
|
+
// Common report endpoints
|
|
3939
|
+
// -----------------------------------------------------------------------
|
|
3940
|
+
/** Get stream details by stream ID. */
|
|
3941
|
+
async getStreamDetail(streamId) {
|
|
3942
|
+
if (!isValidUuid(streamId)) {
|
|
3943
|
+
throw new AISecSDKException(
|
|
3944
|
+
`Invalid stream id: ${streamId}`,
|
|
3945
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
3946
|
+
);
|
|
3947
|
+
}
|
|
3948
|
+
const res = await managementHttpRequest({
|
|
3949
|
+
method: "GET",
|
|
3950
|
+
baseUrl: this.baseUrl,
|
|
3951
|
+
path: `${RED_TEAM_REPORT_DYNAMIC_PATH}/stream/${streamId}`,
|
|
3952
|
+
oauthClient: this.oauthClient,
|
|
3953
|
+
numRetries: this.numRetries
|
|
3954
|
+
});
|
|
3955
|
+
return res.data;
|
|
3956
|
+
}
|
|
3957
|
+
/** Download a report in the specified format. */
|
|
3958
|
+
async downloadReport(jobId, format) {
|
|
3959
|
+
validateJobId(jobId);
|
|
3960
|
+
const params = {};
|
|
3961
|
+
if (format !== void 0) params.file_format = format;
|
|
3962
|
+
const res = await managementHttpRequest({
|
|
3963
|
+
method: "GET",
|
|
3964
|
+
baseUrl: this.baseUrl,
|
|
3965
|
+
path: `${RED_TEAM_REPORT_PATH}/${jobId}/download`,
|
|
3966
|
+
params,
|
|
3967
|
+
oauthClient: this.oauthClient,
|
|
3968
|
+
numRetries: this.numRetries
|
|
3969
|
+
});
|
|
3970
|
+
return res.data;
|
|
3971
|
+
}
|
|
3972
|
+
/** Generate a partial report for a running scan. */
|
|
3973
|
+
async generatePartialReport(jobId) {
|
|
3974
|
+
validateJobId(jobId);
|
|
3975
|
+
const res = await managementHttpRequest({
|
|
3976
|
+
method: "POST",
|
|
3977
|
+
baseUrl: this.baseUrl,
|
|
3978
|
+
path: `${RED_TEAM_REPORT_PATH}/${jobId}/generate-partial-report`,
|
|
3979
|
+
oauthClient: this.oauthClient,
|
|
3980
|
+
numRetries: this.numRetries
|
|
3981
|
+
});
|
|
3982
|
+
return res.data;
|
|
3983
|
+
}
|
|
3984
|
+
};
|
|
3985
|
+
|
|
3986
|
+
// src/red-team/custom-attack-reports-client.ts
|
|
3987
|
+
function buildListParams6(opts) {
|
|
3988
|
+
const params = {};
|
|
3989
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
3990
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
3991
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
3992
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
3993
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
3994
|
+
return params;
|
|
3995
|
+
}
|
|
3996
|
+
function validateJobId2(jobId) {
|
|
3997
|
+
if (!isValidUuid(jobId)) {
|
|
3998
|
+
throw new AISecSDKException(`Invalid job id: ${jobId}`, "AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */);
|
|
3999
|
+
}
|
|
4000
|
+
}
|
|
4001
|
+
var RedTeamCustomAttackReportsClient = class {
|
|
4002
|
+
baseUrl;
|
|
4003
|
+
oauthClient;
|
|
4004
|
+
numRetries;
|
|
4005
|
+
constructor(opts) {
|
|
4006
|
+
this.baseUrl = opts.baseUrl;
|
|
4007
|
+
this.oauthClient = opts.oauthClient;
|
|
4008
|
+
this.numRetries = opts.numRetries;
|
|
4009
|
+
}
|
|
4010
|
+
/** Get custom attack report for a scan. */
|
|
4011
|
+
async getReport(jobId) {
|
|
4012
|
+
validateJobId2(jobId);
|
|
4013
|
+
const res = await managementHttpRequest({
|
|
4014
|
+
method: "GET",
|
|
4015
|
+
baseUrl: this.baseUrl,
|
|
4016
|
+
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/report/${jobId}`,
|
|
4017
|
+
oauthClient: this.oauthClient,
|
|
4018
|
+
numRetries: this.numRetries
|
|
4019
|
+
});
|
|
4020
|
+
return res.data;
|
|
4021
|
+
}
|
|
4022
|
+
/** Get prompt sets for a custom attack scan. */
|
|
4023
|
+
async getPromptSets(jobId) {
|
|
4024
|
+
validateJobId2(jobId);
|
|
4025
|
+
const res = await managementHttpRequest({
|
|
4026
|
+
method: "GET",
|
|
4027
|
+
baseUrl: this.baseUrl,
|
|
4028
|
+
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/report/${jobId}/prompt-sets`,
|
|
4029
|
+
oauthClient: this.oauthClient,
|
|
4030
|
+
numRetries: this.numRetries
|
|
4031
|
+
});
|
|
4032
|
+
return res.data;
|
|
4033
|
+
}
|
|
4034
|
+
/** Get prompts for a specific prompt set in a scan. */
|
|
4035
|
+
async getPromptsBySet(jobId, promptSetId, opts) {
|
|
4036
|
+
validateJobId2(jobId);
|
|
4037
|
+
if (!isValidUuid(promptSetId)) {
|
|
4038
|
+
throw new AISecSDKException(
|
|
4039
|
+
`Invalid prompt set id: ${promptSetId}`,
|
|
4040
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4041
|
+
);
|
|
4042
|
+
}
|
|
4043
|
+
const res = await managementHttpRequest({
|
|
4044
|
+
method: "GET",
|
|
4045
|
+
baseUrl: this.baseUrl,
|
|
4046
|
+
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/report/${jobId}/prompt-set/${promptSetId}/prompts`,
|
|
4047
|
+
params: buildListParams6(opts),
|
|
4048
|
+
oauthClient: this.oauthClient,
|
|
4049
|
+
numRetries: this.numRetries
|
|
4050
|
+
});
|
|
4051
|
+
return res.data;
|
|
4052
|
+
}
|
|
4053
|
+
/** Get details for a specific prompt. */
|
|
4054
|
+
async getPromptDetail(jobId, promptId) {
|
|
4055
|
+
validateJobId2(jobId);
|
|
4056
|
+
if (!isValidUuid(promptId)) {
|
|
4057
|
+
throw new AISecSDKException(
|
|
4058
|
+
`Invalid prompt id: ${promptId}`,
|
|
4059
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4060
|
+
);
|
|
4061
|
+
}
|
|
4062
|
+
const res = await managementHttpRequest({
|
|
4063
|
+
method: "GET",
|
|
4064
|
+
baseUrl: this.baseUrl,
|
|
4065
|
+
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/report/${jobId}/prompt/${promptId}`,
|
|
4066
|
+
oauthClient: this.oauthClient,
|
|
4067
|
+
numRetries: this.numRetries
|
|
4068
|
+
});
|
|
4069
|
+
return res.data;
|
|
4070
|
+
}
|
|
4071
|
+
/** List custom attacks for a scan. */
|
|
4072
|
+
async listCustomAttacks(jobId, opts) {
|
|
4073
|
+
validateJobId2(jobId);
|
|
4074
|
+
const res = await managementHttpRequest({
|
|
4075
|
+
method: "GET",
|
|
4076
|
+
baseUrl: this.baseUrl,
|
|
4077
|
+
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/job/${jobId}/list-custom-attacks`,
|
|
4078
|
+
params: buildListParams6(opts),
|
|
4079
|
+
oauthClient: this.oauthClient,
|
|
4080
|
+
numRetries: this.numRetries
|
|
4081
|
+
});
|
|
4082
|
+
return res.data;
|
|
4083
|
+
}
|
|
4084
|
+
/** Get attack outputs for a custom attack. */
|
|
4085
|
+
async getAttackOutputs(jobId, attackId) {
|
|
4086
|
+
validateJobId2(jobId);
|
|
4087
|
+
if (!isValidUuid(attackId)) {
|
|
4088
|
+
throw new AISecSDKException(
|
|
4089
|
+
`Invalid attack id: ${attackId}`,
|
|
4090
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4091
|
+
);
|
|
4092
|
+
}
|
|
4093
|
+
const res = await managementHttpRequest({
|
|
4094
|
+
method: "GET",
|
|
4095
|
+
baseUrl: this.baseUrl,
|
|
4096
|
+
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/job/${jobId}/attack/${attackId}/list-outputs`,
|
|
4097
|
+
oauthClient: this.oauthClient,
|
|
4098
|
+
numRetries: this.numRetries
|
|
4099
|
+
});
|
|
4100
|
+
return res.data;
|
|
4101
|
+
}
|
|
4102
|
+
/** Get property statistics for a custom attack scan. */
|
|
4103
|
+
async getPropertyStats(jobId) {
|
|
4104
|
+
validateJobId2(jobId);
|
|
4105
|
+
const res = await managementHttpRequest({
|
|
4106
|
+
method: "GET",
|
|
4107
|
+
baseUrl: this.baseUrl,
|
|
4108
|
+
path: `${RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH}/job/${jobId}/property-stats`,
|
|
4109
|
+
oauthClient: this.oauthClient,
|
|
4110
|
+
numRetries: this.numRetries
|
|
4111
|
+
});
|
|
4112
|
+
return res.data;
|
|
4113
|
+
}
|
|
4114
|
+
};
|
|
4115
|
+
|
|
4116
|
+
// src/red-team/targets-client.ts
|
|
4117
|
+
function buildListParams7(opts) {
|
|
4118
|
+
const params = {};
|
|
4119
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
4120
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
4121
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
4122
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
4123
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
4124
|
+
return params;
|
|
4125
|
+
}
|
|
4126
|
+
var RedTeamTargetsClient = class {
|
|
4127
|
+
baseUrl;
|
|
4128
|
+
oauthClient;
|
|
4129
|
+
numRetries;
|
|
4130
|
+
constructor(opts) {
|
|
4131
|
+
this.baseUrl = opts.baseUrl;
|
|
4132
|
+
this.oauthClient = opts.oauthClient;
|
|
4133
|
+
this.numRetries = opts.numRetries;
|
|
4134
|
+
}
|
|
4135
|
+
/** Create a new target. */
|
|
4136
|
+
async create(request) {
|
|
4137
|
+
const res = await managementHttpRequest({
|
|
4138
|
+
method: "POST",
|
|
4139
|
+
baseUrl: this.baseUrl,
|
|
4140
|
+
path: RED_TEAM_TARGET_PATH,
|
|
4141
|
+
body: request,
|
|
4142
|
+
oauthClient: this.oauthClient,
|
|
4143
|
+
numRetries: this.numRetries
|
|
4144
|
+
});
|
|
4145
|
+
return res.data;
|
|
4146
|
+
}
|
|
4147
|
+
/** List targets with optional filters. */
|
|
4148
|
+
async list(opts) {
|
|
4149
|
+
const params = buildListParams7(opts);
|
|
4150
|
+
if (opts?.target_type !== void 0) params.target_type = opts.target_type;
|
|
4151
|
+
if (opts?.status !== void 0) params.status = opts.status;
|
|
4152
|
+
if (opts?.active !== void 0) params.active = String(opts.active);
|
|
4153
|
+
const res = await managementHttpRequest({
|
|
4154
|
+
method: "GET",
|
|
4155
|
+
baseUrl: this.baseUrl,
|
|
4156
|
+
path: RED_TEAM_TARGET_PATH,
|
|
4157
|
+
params,
|
|
4158
|
+
oauthClient: this.oauthClient,
|
|
4159
|
+
numRetries: this.numRetries
|
|
4160
|
+
});
|
|
4161
|
+
return res.data;
|
|
4162
|
+
}
|
|
4163
|
+
/** Get a target by UUID. */
|
|
4164
|
+
async get(uuid) {
|
|
4165
|
+
if (!isValidUuid(uuid)) {
|
|
4166
|
+
throw new AISecSDKException(
|
|
4167
|
+
`Invalid target uuid: ${uuid}`,
|
|
4168
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4169
|
+
);
|
|
4170
|
+
}
|
|
4171
|
+
const res = await managementHttpRequest({
|
|
4172
|
+
method: "GET",
|
|
4173
|
+
baseUrl: this.baseUrl,
|
|
4174
|
+
path: `${RED_TEAM_TARGET_PATH}/${uuid}`,
|
|
4175
|
+
oauthClient: this.oauthClient,
|
|
4176
|
+
numRetries: this.numRetries
|
|
4177
|
+
});
|
|
4178
|
+
return res.data;
|
|
4179
|
+
}
|
|
4180
|
+
/** Update a target. */
|
|
4181
|
+
async update(uuid, request) {
|
|
4182
|
+
if (!isValidUuid(uuid)) {
|
|
4183
|
+
throw new AISecSDKException(
|
|
4184
|
+
`Invalid target uuid: ${uuid}`,
|
|
4185
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4186
|
+
);
|
|
4187
|
+
}
|
|
4188
|
+
const res = await managementHttpRequest({
|
|
4189
|
+
method: "PUT",
|
|
4190
|
+
baseUrl: this.baseUrl,
|
|
4191
|
+
path: `${RED_TEAM_TARGET_PATH}/${uuid}`,
|
|
4192
|
+
body: request,
|
|
4193
|
+
oauthClient: this.oauthClient,
|
|
4194
|
+
numRetries: this.numRetries
|
|
4195
|
+
});
|
|
4196
|
+
return res.data;
|
|
4197
|
+
}
|
|
4198
|
+
/** Delete a target. */
|
|
4199
|
+
async delete(uuid) {
|
|
4200
|
+
if (!isValidUuid(uuid)) {
|
|
4201
|
+
throw new AISecSDKException(
|
|
4202
|
+
`Invalid target uuid: ${uuid}`,
|
|
4203
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4204
|
+
);
|
|
4205
|
+
}
|
|
4206
|
+
const res = await managementHttpRequest({
|
|
4207
|
+
method: "DELETE",
|
|
4208
|
+
baseUrl: this.baseUrl,
|
|
4209
|
+
path: `${RED_TEAM_TARGET_PATH}/${uuid}`,
|
|
4210
|
+
oauthClient: this.oauthClient,
|
|
4211
|
+
numRetries: this.numRetries
|
|
4212
|
+
});
|
|
4213
|
+
return res.data;
|
|
4214
|
+
}
|
|
4215
|
+
/** Run profiling probes on a target. */
|
|
4216
|
+
async probe(request) {
|
|
4217
|
+
const res = await managementHttpRequest({
|
|
4218
|
+
method: "POST",
|
|
4219
|
+
baseUrl: this.baseUrl,
|
|
4220
|
+
path: `${RED_TEAM_TARGET_PATH}/probe`,
|
|
4221
|
+
body: request,
|
|
4222
|
+
oauthClient: this.oauthClient,
|
|
4223
|
+
numRetries: this.numRetries
|
|
4224
|
+
});
|
|
4225
|
+
return res.data;
|
|
4226
|
+
}
|
|
4227
|
+
/** Get profiling results for a target. */
|
|
4228
|
+
async getProfile(uuid) {
|
|
4229
|
+
if (!isValidUuid(uuid)) {
|
|
4230
|
+
throw new AISecSDKException(
|
|
4231
|
+
`Invalid target uuid: ${uuid}`,
|
|
4232
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4233
|
+
);
|
|
4234
|
+
}
|
|
4235
|
+
const res = await managementHttpRequest({
|
|
4236
|
+
method: "GET",
|
|
4237
|
+
baseUrl: this.baseUrl,
|
|
4238
|
+
path: `${RED_TEAM_TARGET_PATH}/${uuid}/profile`,
|
|
4239
|
+
oauthClient: this.oauthClient,
|
|
4240
|
+
numRetries: this.numRetries
|
|
4241
|
+
});
|
|
4242
|
+
return res.data;
|
|
4243
|
+
}
|
|
4244
|
+
/** Update a target profile (background + additional context). */
|
|
4245
|
+
async updateProfile(uuid, request) {
|
|
4246
|
+
if (!isValidUuid(uuid)) {
|
|
4247
|
+
throw new AISecSDKException(
|
|
4248
|
+
`Invalid target uuid: ${uuid}`,
|
|
4249
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4250
|
+
);
|
|
4251
|
+
}
|
|
4252
|
+
const res = await managementHttpRequest({
|
|
4253
|
+
method: "PUT",
|
|
4254
|
+
baseUrl: this.baseUrl,
|
|
4255
|
+
path: `${RED_TEAM_TARGET_PATH}/${uuid}/profile`,
|
|
4256
|
+
body: request,
|
|
4257
|
+
oauthClient: this.oauthClient,
|
|
4258
|
+
numRetries: this.numRetries
|
|
4259
|
+
});
|
|
4260
|
+
return res.data;
|
|
4261
|
+
}
|
|
4262
|
+
};
|
|
4263
|
+
|
|
4264
|
+
// src/red-team/custom-attacks-client.ts
|
|
4265
|
+
function buildListParams8(opts) {
|
|
4266
|
+
const params = {};
|
|
4267
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
4268
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
4269
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
4270
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
4271
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
4272
|
+
return params;
|
|
4273
|
+
}
|
|
4274
|
+
function validateUuid(uuid, label) {
|
|
4275
|
+
if (!isValidUuid(uuid)) {
|
|
4276
|
+
throw new AISecSDKException(`Invalid ${label}: ${uuid}`, "AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */);
|
|
4277
|
+
}
|
|
4278
|
+
}
|
|
4279
|
+
var RedTeamCustomAttacksClient = class {
|
|
4280
|
+
baseUrl;
|
|
4281
|
+
oauthClient;
|
|
4282
|
+
numRetries;
|
|
4283
|
+
constructor(opts) {
|
|
4284
|
+
this.baseUrl = opts.baseUrl;
|
|
4285
|
+
this.oauthClient = opts.oauthClient;
|
|
4286
|
+
this.numRetries = opts.numRetries;
|
|
4287
|
+
}
|
|
4288
|
+
// -----------------------------------------------------------------------
|
|
4289
|
+
// Prompt Set operations
|
|
4290
|
+
// -----------------------------------------------------------------------
|
|
4291
|
+
/** Create a new custom prompt set. */
|
|
4292
|
+
async createPromptSet(request) {
|
|
4293
|
+
const res = await managementHttpRequest({
|
|
4294
|
+
method: "POST",
|
|
4295
|
+
baseUrl: this.baseUrl,
|
|
4296
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set`,
|
|
4297
|
+
body: request,
|
|
4298
|
+
oauthClient: this.oauthClient,
|
|
4299
|
+
numRetries: this.numRetries
|
|
4300
|
+
});
|
|
4301
|
+
return res.data;
|
|
4302
|
+
}
|
|
4303
|
+
/** List custom prompt sets. */
|
|
4304
|
+
async listPromptSets(opts) {
|
|
4305
|
+
const params = buildListParams8(opts);
|
|
4306
|
+
if (opts?.active !== void 0) params.active = String(opts.active);
|
|
4307
|
+
if (opts?.archive !== void 0) params.archive = String(opts.archive);
|
|
4308
|
+
const res = await managementHttpRequest({
|
|
4309
|
+
method: "GET",
|
|
4310
|
+
baseUrl: this.baseUrl,
|
|
4311
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/list-custom-prompt-sets`,
|
|
4312
|
+
params,
|
|
4313
|
+
oauthClient: this.oauthClient,
|
|
4314
|
+
numRetries: this.numRetries
|
|
4315
|
+
});
|
|
4316
|
+
return res.data;
|
|
4317
|
+
}
|
|
4318
|
+
/** Get a prompt set by UUID. */
|
|
4319
|
+
async getPromptSet(uuid) {
|
|
4320
|
+
validateUuid(uuid, "prompt set uuid");
|
|
4321
|
+
const res = await managementHttpRequest({
|
|
4322
|
+
method: "GET",
|
|
4323
|
+
baseUrl: this.baseUrl,
|
|
4324
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${uuid}`,
|
|
4325
|
+
oauthClient: this.oauthClient,
|
|
4326
|
+
numRetries: this.numRetries
|
|
4327
|
+
});
|
|
4328
|
+
return res.data;
|
|
4329
|
+
}
|
|
4330
|
+
/** Update a prompt set. */
|
|
4331
|
+
async updatePromptSet(uuid, request) {
|
|
4332
|
+
validateUuid(uuid, "prompt set uuid");
|
|
4333
|
+
const res = await managementHttpRequest({
|
|
4334
|
+
method: "PUT",
|
|
4335
|
+
baseUrl: this.baseUrl,
|
|
4336
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${uuid}`,
|
|
4337
|
+
body: request,
|
|
4338
|
+
oauthClient: this.oauthClient,
|
|
4339
|
+
numRetries: this.numRetries
|
|
4340
|
+
});
|
|
4341
|
+
return res.data;
|
|
4342
|
+
}
|
|
4343
|
+
/** Archive or unarchive a prompt set. */
|
|
4344
|
+
async archivePromptSet(uuid, request) {
|
|
4345
|
+
validateUuid(uuid, "prompt set uuid");
|
|
4346
|
+
const res = await managementHttpRequest({
|
|
4347
|
+
method: "PUT",
|
|
4348
|
+
baseUrl: this.baseUrl,
|
|
4349
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${uuid}/archive`,
|
|
4350
|
+
body: request,
|
|
4351
|
+
oauthClient: this.oauthClient,
|
|
4352
|
+
numRetries: this.numRetries
|
|
4353
|
+
});
|
|
4354
|
+
return res.data;
|
|
4355
|
+
}
|
|
4356
|
+
/** Resolve a prompt set reference for data plane consumption. */
|
|
4357
|
+
async getPromptSetReference(uuid) {
|
|
4358
|
+
validateUuid(uuid, "prompt set uuid");
|
|
4359
|
+
const res = await managementHttpRequest({
|
|
4360
|
+
method: "GET",
|
|
4361
|
+
baseUrl: this.baseUrl,
|
|
4362
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${uuid}/reference`,
|
|
4363
|
+
oauthClient: this.oauthClient,
|
|
4364
|
+
numRetries: this.numRetries
|
|
4365
|
+
});
|
|
4366
|
+
return res.data;
|
|
4367
|
+
}
|
|
4368
|
+
/** Get version information for a prompt set. */
|
|
4369
|
+
async getPromptSetVersionInfo(uuid) {
|
|
4370
|
+
validateUuid(uuid, "prompt set uuid");
|
|
4371
|
+
const res = await managementHttpRequest({
|
|
4372
|
+
method: "GET",
|
|
4373
|
+
baseUrl: this.baseUrl,
|
|
4374
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${uuid}/version-info`,
|
|
4375
|
+
oauthClient: this.oauthClient,
|
|
4376
|
+
numRetries: this.numRetries
|
|
4377
|
+
});
|
|
4378
|
+
return res.data;
|
|
4379
|
+
}
|
|
4380
|
+
/** List active prompt sets (for data plane). */
|
|
4381
|
+
async listActivePromptSets() {
|
|
4382
|
+
const res = await managementHttpRequest({
|
|
4383
|
+
method: "GET",
|
|
4384
|
+
baseUrl: this.baseUrl,
|
|
4385
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/active-custom-prompt-sets`,
|
|
4386
|
+
oauthClient: this.oauthClient,
|
|
4387
|
+
numRetries: this.numRetries
|
|
4388
|
+
});
|
|
4389
|
+
return res.data;
|
|
4390
|
+
}
|
|
4391
|
+
/** Download CSV template for a prompt set. */
|
|
4392
|
+
async downloadTemplate(uuid) {
|
|
4393
|
+
validateUuid(uuid, "prompt set uuid");
|
|
4394
|
+
const res = await managementHttpRequest({
|
|
4395
|
+
method: "GET",
|
|
4396
|
+
baseUrl: this.baseUrl,
|
|
4397
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/download-template/${uuid}`,
|
|
4398
|
+
oauthClient: this.oauthClient,
|
|
4399
|
+
numRetries: this.numRetries
|
|
4400
|
+
});
|
|
4401
|
+
return res.data;
|
|
4402
|
+
}
|
|
4403
|
+
// -----------------------------------------------------------------------
|
|
4404
|
+
// Prompt operations
|
|
4405
|
+
// -----------------------------------------------------------------------
|
|
4406
|
+
/** Create a new custom prompt. */
|
|
4407
|
+
async createPrompt(request) {
|
|
4408
|
+
const res = await managementHttpRequest({
|
|
4409
|
+
method: "POST",
|
|
4410
|
+
baseUrl: this.baseUrl,
|
|
4411
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/custom-prompt`,
|
|
4412
|
+
body: request,
|
|
4413
|
+
oauthClient: this.oauthClient,
|
|
4414
|
+
numRetries: this.numRetries
|
|
4415
|
+
});
|
|
4416
|
+
return res.data;
|
|
4417
|
+
}
|
|
4418
|
+
/** List prompts in a prompt set. */
|
|
4419
|
+
async listPrompts(promptSetUuid, opts) {
|
|
4420
|
+
validateUuid(promptSetUuid, "prompt set uuid");
|
|
4421
|
+
const params = buildListParams8(opts);
|
|
4422
|
+
if (opts?.active !== void 0) params.active = String(opts.active);
|
|
4423
|
+
const res = await managementHttpRequest({
|
|
4424
|
+
method: "GET",
|
|
4425
|
+
baseUrl: this.baseUrl,
|
|
4426
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${promptSetUuid}/list-custom-prompts`,
|
|
4427
|
+
params,
|
|
4428
|
+
oauthClient: this.oauthClient,
|
|
4429
|
+
numRetries: this.numRetries
|
|
4430
|
+
});
|
|
4431
|
+
return res.data;
|
|
4432
|
+
}
|
|
4433
|
+
/** Get a prompt by UUID. */
|
|
4434
|
+
async getPrompt(promptSetUuid, promptUuid) {
|
|
4435
|
+
validateUuid(promptSetUuid, "prompt set uuid");
|
|
4436
|
+
validateUuid(promptUuid, "prompt uuid");
|
|
4437
|
+
const res = await managementHttpRequest({
|
|
4438
|
+
method: "GET",
|
|
4439
|
+
baseUrl: this.baseUrl,
|
|
4440
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${promptSetUuid}/custom-prompt/${promptUuid}`,
|
|
4441
|
+
oauthClient: this.oauthClient,
|
|
4442
|
+
numRetries: this.numRetries
|
|
4443
|
+
});
|
|
4444
|
+
return res.data;
|
|
4445
|
+
}
|
|
4446
|
+
/** Update a prompt. */
|
|
4447
|
+
async updatePrompt(promptSetUuid, promptUuid, request) {
|
|
4448
|
+
validateUuid(promptSetUuid, "prompt set uuid");
|
|
4449
|
+
validateUuid(promptUuid, "prompt uuid");
|
|
4450
|
+
const res = await managementHttpRequest({
|
|
4451
|
+
method: "PUT",
|
|
4452
|
+
baseUrl: this.baseUrl,
|
|
4453
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${promptSetUuid}/custom-prompt/${promptUuid}`,
|
|
4454
|
+
body: request,
|
|
4455
|
+
oauthClient: this.oauthClient,
|
|
4456
|
+
numRetries: this.numRetries
|
|
4457
|
+
});
|
|
4458
|
+
return res.data;
|
|
4459
|
+
}
|
|
4460
|
+
/** Delete a prompt. */
|
|
4461
|
+
async deletePrompt(promptSetUuid, promptUuid) {
|
|
4462
|
+
validateUuid(promptSetUuid, "prompt set uuid");
|
|
4463
|
+
validateUuid(promptUuid, "prompt uuid");
|
|
4464
|
+
const res = await managementHttpRequest({
|
|
4465
|
+
method: "DELETE",
|
|
4466
|
+
baseUrl: this.baseUrl,
|
|
4467
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/custom-prompt-set/${promptSetUuid}/custom-prompt/${promptUuid}`,
|
|
4468
|
+
oauthClient: this.oauthClient,
|
|
4469
|
+
numRetries: this.numRetries
|
|
4470
|
+
});
|
|
4471
|
+
return res.data;
|
|
4472
|
+
}
|
|
4473
|
+
// -----------------------------------------------------------------------
|
|
4474
|
+
// Property operations
|
|
4475
|
+
// -----------------------------------------------------------------------
|
|
4476
|
+
/** Get all property names. */
|
|
4477
|
+
async getPropertyNames() {
|
|
4478
|
+
const res = await managementHttpRequest({
|
|
4479
|
+
method: "GET",
|
|
4480
|
+
baseUrl: this.baseUrl,
|
|
4481
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/property-names`,
|
|
4482
|
+
oauthClient: this.oauthClient,
|
|
4483
|
+
numRetries: this.numRetries
|
|
4484
|
+
});
|
|
4485
|
+
return res.data;
|
|
4486
|
+
}
|
|
4487
|
+
/** Create a new property name. */
|
|
4488
|
+
async createPropertyName(request) {
|
|
4489
|
+
const res = await managementHttpRequest({
|
|
4490
|
+
method: "POST",
|
|
4491
|
+
baseUrl: this.baseUrl,
|
|
4492
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/property-names`,
|
|
4493
|
+
body: request,
|
|
4494
|
+
oauthClient: this.oauthClient,
|
|
4495
|
+
numRetries: this.numRetries
|
|
4496
|
+
});
|
|
4497
|
+
return res.data;
|
|
4498
|
+
}
|
|
4499
|
+
/** Get values for a property name. */
|
|
4500
|
+
async getPropertyValues(propertyName) {
|
|
4501
|
+
const res = await managementHttpRequest({
|
|
4502
|
+
method: "GET",
|
|
4503
|
+
baseUrl: this.baseUrl,
|
|
4504
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/property-values/${encodeURIComponent(propertyName)}`,
|
|
4505
|
+
oauthClient: this.oauthClient,
|
|
4506
|
+
numRetries: this.numRetries
|
|
4507
|
+
});
|
|
4508
|
+
return res.data;
|
|
4509
|
+
}
|
|
4510
|
+
/** Get values for multiple property names. */
|
|
4511
|
+
async getPropertyValuesMultiple(propertyNames) {
|
|
4512
|
+
const url = new URL(`https://placeholder${RED_TEAM_CUSTOM_ATTACK_PATH}/property-values`);
|
|
4513
|
+
for (const name of propertyNames) {
|
|
4514
|
+
url.searchParams.append("property_names", name);
|
|
4515
|
+
}
|
|
4516
|
+
const queryString = url.searchParams.toString();
|
|
4517
|
+
const pathWithQuery = `${RED_TEAM_CUSTOM_ATTACK_PATH}/property-values${queryString ? `?${queryString}` : ""}`;
|
|
4518
|
+
const res = await managementHttpRequest({
|
|
4519
|
+
method: "GET",
|
|
4520
|
+
baseUrl: this.baseUrl,
|
|
4521
|
+
path: pathWithQuery,
|
|
4522
|
+
oauthClient: this.oauthClient,
|
|
4523
|
+
numRetries: this.numRetries
|
|
4524
|
+
});
|
|
4525
|
+
return res.data;
|
|
4526
|
+
}
|
|
4527
|
+
/** Create a property value. */
|
|
4528
|
+
async createPropertyValue(request) {
|
|
4529
|
+
const res = await managementHttpRequest({
|
|
4530
|
+
method: "POST",
|
|
4531
|
+
baseUrl: this.baseUrl,
|
|
4532
|
+
path: `${RED_TEAM_CUSTOM_ATTACK_PATH}/property-values`,
|
|
4533
|
+
body: request,
|
|
4534
|
+
oauthClient: this.oauthClient,
|
|
4535
|
+
numRetries: this.numRetries
|
|
4536
|
+
});
|
|
4537
|
+
return res.data;
|
|
4538
|
+
}
|
|
4539
|
+
};
|
|
4540
|
+
|
|
4541
|
+
// src/red-team/client.ts
|
|
4542
|
+
function buildListParams9(opts) {
|
|
4543
|
+
const params = {};
|
|
4544
|
+
if (opts?.skip !== void 0) params.skip = String(opts.skip);
|
|
4545
|
+
if (opts?.limit !== void 0) params.limit = String(opts.limit);
|
|
4546
|
+
if (opts?.sort_by !== void 0) params.sort_by = opts.sort_by;
|
|
4547
|
+
if (opts?.sort_direction !== void 0) params.sort_direction = opts.sort_direction;
|
|
4548
|
+
if (opts?.search !== void 0) params.search = opts.search;
|
|
4549
|
+
return params;
|
|
4550
|
+
}
|
|
4551
|
+
var RedTeamClient = class {
|
|
4552
|
+
/** Data plane scan operations. */
|
|
4553
|
+
scans;
|
|
4554
|
+
/** Data plane report operations. */
|
|
4555
|
+
reports;
|
|
4556
|
+
/** Data plane custom attack report operations. */
|
|
4557
|
+
customAttackReports;
|
|
4558
|
+
/** Management plane target operations. */
|
|
4559
|
+
targets;
|
|
4560
|
+
/** Management plane custom attack/prompt set operations. */
|
|
4561
|
+
customAttacks;
|
|
4562
|
+
dataEndpoint;
|
|
4563
|
+
mgmtEndpoint;
|
|
4564
|
+
oauthClient;
|
|
4565
|
+
numRetries;
|
|
4566
|
+
constructor(opts = {}) {
|
|
4567
|
+
const clientId = opts.clientId ?? process.env[RED_TEAM_CLIENT_ID] ?? process.env[MGMT_CLIENT_ID];
|
|
4568
|
+
const clientSecret = opts.clientSecret ?? process.env[RED_TEAM_CLIENT_SECRET] ?? process.env[MGMT_CLIENT_SECRET];
|
|
4569
|
+
const tsgId = opts.tsgId ?? process.env[RED_TEAM_TSG_ID] ?? process.env[MGMT_TSG_ID];
|
|
4570
|
+
const dataEndpoint = opts.dataEndpoint ?? process.env[RED_TEAM_DATA_ENDPOINT] ?? DEFAULT_RED_TEAM_DATA_ENDPOINT;
|
|
4571
|
+
const mgmtEndpoint = opts.mgmtEndpoint ?? process.env[RED_TEAM_MGMT_ENDPOINT] ?? DEFAULT_RED_TEAM_MGMT_ENDPOINT;
|
|
4572
|
+
const tokenEndpoint = opts.tokenEndpoint ?? process.env[RED_TEAM_TOKEN_ENDPOINT] ?? process.env[MGMT_TOKEN_ENDPOINT];
|
|
4573
|
+
const numRetries = Math.min(
|
|
4574
|
+
Math.max(opts.numRetries ?? MAX_NUMBER_OF_RETRIES, 0),
|
|
4575
|
+
MAX_NUMBER_OF_RETRIES
|
|
4576
|
+
);
|
|
4577
|
+
if (!clientId) {
|
|
4578
|
+
throw new AISecSDKException(
|
|
4579
|
+
"clientId is required (option or PANW_RED_TEAM_CLIENT_ID / PANW_MGMT_CLIENT_ID env var)",
|
|
4580
|
+
"AISEC_MISSING_VARIABLE" /* MISSING_VARIABLE */
|
|
4581
|
+
);
|
|
4582
|
+
}
|
|
4583
|
+
if (!clientSecret) {
|
|
4584
|
+
throw new AISecSDKException(
|
|
4585
|
+
"clientSecret is required (option or PANW_RED_TEAM_CLIENT_SECRET / PANW_MGMT_CLIENT_SECRET env var)",
|
|
4586
|
+
"AISEC_MISSING_VARIABLE" /* MISSING_VARIABLE */
|
|
4587
|
+
);
|
|
4588
|
+
}
|
|
4589
|
+
if (!tsgId) {
|
|
4590
|
+
throw new AISecSDKException(
|
|
4591
|
+
"tsgId is required (option or PANW_RED_TEAM_TSG_ID / PANW_MGMT_TSG_ID env var)",
|
|
4592
|
+
"AISEC_MISSING_VARIABLE" /* MISSING_VARIABLE */
|
|
4593
|
+
);
|
|
4594
|
+
}
|
|
4595
|
+
this.oauthClient = new OAuthClient({ clientId, clientSecret, tsgId, tokenEndpoint });
|
|
4596
|
+
this.dataEndpoint = dataEndpoint;
|
|
4597
|
+
this.mgmtEndpoint = mgmtEndpoint;
|
|
4598
|
+
this.numRetries = numRetries;
|
|
4599
|
+
this.scans = new RedTeamScansClient({
|
|
4600
|
+
baseUrl: dataEndpoint,
|
|
4601
|
+
oauthClient: this.oauthClient,
|
|
4602
|
+
numRetries
|
|
4603
|
+
});
|
|
4604
|
+
this.reports = new RedTeamReportsClient({
|
|
4605
|
+
baseUrl: dataEndpoint,
|
|
4606
|
+
oauthClient: this.oauthClient,
|
|
4607
|
+
numRetries
|
|
4608
|
+
});
|
|
4609
|
+
this.customAttackReports = new RedTeamCustomAttackReportsClient({
|
|
4610
|
+
baseUrl: dataEndpoint,
|
|
4611
|
+
oauthClient: this.oauthClient,
|
|
4612
|
+
numRetries
|
|
4613
|
+
});
|
|
4614
|
+
this.targets = new RedTeamTargetsClient({
|
|
4615
|
+
baseUrl: mgmtEndpoint,
|
|
4616
|
+
oauthClient: this.oauthClient,
|
|
4617
|
+
numRetries
|
|
4618
|
+
});
|
|
4619
|
+
this.customAttacks = new RedTeamCustomAttacksClient({
|
|
4620
|
+
baseUrl: mgmtEndpoint,
|
|
4621
|
+
oauthClient: this.oauthClient,
|
|
4622
|
+
numRetries
|
|
4623
|
+
});
|
|
4624
|
+
}
|
|
4625
|
+
// -----------------------------------------------------------------------
|
|
4626
|
+
// Data plane convenience methods
|
|
4627
|
+
// -----------------------------------------------------------------------
|
|
4628
|
+
/** Get scan statistics and risk profile (data plane dashboard). */
|
|
4629
|
+
async getScanStatistics(params) {
|
|
4630
|
+
const p = {};
|
|
4631
|
+
if (params?.date_range !== void 0) p.date_range = params.date_range;
|
|
4632
|
+
if (params?.target_id !== void 0) p.target_id = params.target_id;
|
|
4633
|
+
const res = await managementHttpRequest({
|
|
4634
|
+
method: "GET",
|
|
4635
|
+
baseUrl: this.dataEndpoint,
|
|
4636
|
+
path: `${RED_TEAM_DASHBOARD_PATH}/scan-statistics`,
|
|
4637
|
+
params: p,
|
|
4638
|
+
oauthClient: this.oauthClient,
|
|
4639
|
+
numRetries: this.numRetries
|
|
4640
|
+
});
|
|
4641
|
+
return res.data;
|
|
4642
|
+
}
|
|
4643
|
+
/** Get score trend for a target (data plane dashboard). */
|
|
4644
|
+
async getScoreTrend(targetId) {
|
|
4645
|
+
if (!isValidUuid(targetId)) {
|
|
4646
|
+
throw new AISecSDKException(
|
|
4647
|
+
`Invalid target id: ${targetId}`,
|
|
4648
|
+
"AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */
|
|
4649
|
+
);
|
|
4650
|
+
}
|
|
4651
|
+
const res = await managementHttpRequest({
|
|
4652
|
+
method: "GET",
|
|
4653
|
+
baseUrl: this.dataEndpoint,
|
|
4654
|
+
path: `${RED_TEAM_DASHBOARD_PATH}/score-trend`,
|
|
4655
|
+
params: { target_id: targetId },
|
|
4656
|
+
oauthClient: this.oauthClient,
|
|
4657
|
+
numRetries: this.numRetries
|
|
4658
|
+
});
|
|
4659
|
+
return res.data;
|
|
4660
|
+
}
|
|
4661
|
+
/** Get quota summary. */
|
|
4662
|
+
async getQuota() {
|
|
4663
|
+
const res = await managementHttpRequest({
|
|
4664
|
+
method: "POST",
|
|
4665
|
+
baseUrl: this.dataEndpoint,
|
|
4666
|
+
path: RED_TEAM_QUOTA_PATH,
|
|
4667
|
+
oauthClient: this.oauthClient,
|
|
4668
|
+
numRetries: this.numRetries
|
|
4669
|
+
});
|
|
4670
|
+
return res.data;
|
|
4671
|
+
}
|
|
4672
|
+
/** List error logs for a scan job. */
|
|
4673
|
+
async getErrorLogs(jobId, opts) {
|
|
4674
|
+
if (!isValidUuid(jobId)) {
|
|
4675
|
+
throw new AISecSDKException(`Invalid job id: ${jobId}`, "AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */);
|
|
4676
|
+
}
|
|
4677
|
+
const res = await managementHttpRequest({
|
|
4678
|
+
method: "GET",
|
|
4679
|
+
baseUrl: this.dataEndpoint,
|
|
4680
|
+
path: `${RED_TEAM_ERROR_LOG_PATH}/${jobId}`,
|
|
4681
|
+
params: buildListParams9(opts),
|
|
4682
|
+
oauthClient: this.oauthClient,
|
|
4683
|
+
numRetries: this.numRetries
|
|
4684
|
+
});
|
|
4685
|
+
return res.data;
|
|
4686
|
+
}
|
|
4687
|
+
/** Update sentiment for a scan report. */
|
|
4688
|
+
async updateSentiment(request) {
|
|
4689
|
+
const res = await managementHttpRequest({
|
|
4690
|
+
method: "POST",
|
|
4691
|
+
baseUrl: this.dataEndpoint,
|
|
4692
|
+
path: RED_TEAM_SENTIMENT_PATH,
|
|
4693
|
+
body: request,
|
|
4694
|
+
oauthClient: this.oauthClient,
|
|
4695
|
+
numRetries: this.numRetries
|
|
4696
|
+
});
|
|
4697
|
+
return res.data;
|
|
4698
|
+
}
|
|
4699
|
+
/** Get sentiment for a scan report. */
|
|
4700
|
+
async getSentiment(jobId) {
|
|
4701
|
+
if (!isValidUuid(jobId)) {
|
|
4702
|
+
throw new AISecSDKException(`Invalid job id: ${jobId}`, "AISEC_USER_REQUEST_PAYLOAD_ERROR" /* USER_REQUEST_PAYLOAD_ERROR */);
|
|
4703
|
+
}
|
|
4704
|
+
const res = await managementHttpRequest({
|
|
4705
|
+
method: "GET",
|
|
4706
|
+
baseUrl: this.dataEndpoint,
|
|
4707
|
+
path: `${RED_TEAM_SENTIMENT_PATH}/${jobId}`,
|
|
4708
|
+
oauthClient: this.oauthClient,
|
|
4709
|
+
numRetries: this.numRetries
|
|
4710
|
+
});
|
|
4711
|
+
return res.data;
|
|
4712
|
+
}
|
|
4713
|
+
// -----------------------------------------------------------------------
|
|
4714
|
+
// Management plane convenience methods
|
|
4715
|
+
// -----------------------------------------------------------------------
|
|
4716
|
+
/** Get management dashboard overview. */
|
|
4717
|
+
async getDashboardOverview() {
|
|
4718
|
+
const res = await managementHttpRequest({
|
|
4719
|
+
method: "GET",
|
|
4720
|
+
baseUrl: this.mgmtEndpoint,
|
|
4721
|
+
path: RED_TEAM_MGMT_DASHBOARD_PATH,
|
|
4722
|
+
oauthClient: this.oauthClient,
|
|
4723
|
+
numRetries: this.numRetries
|
|
4724
|
+
});
|
|
4725
|
+
return res.data;
|
|
4726
|
+
}
|
|
4727
|
+
};
|
|
1274
4728
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1275
4729
|
0 && (module.exports = {
|
|
1276
4730
|
AISecSDKException,
|
|
@@ -1278,33 +4732,115 @@ var ManagementClient = class {
|
|
|
1278
4732
|
AI_SEC_API_KEY,
|
|
1279
4733
|
AI_SEC_API_TOKEN,
|
|
1280
4734
|
ASYNC_SCAN_PATH,
|
|
4735
|
+
Action,
|
|
1281
4736
|
AgentMetaSchema,
|
|
1282
4737
|
AiProfileSchema,
|
|
4738
|
+
ApiEndpointType,
|
|
1283
4739
|
AsyncScanObjectSchema,
|
|
1284
4740
|
AsyncScanResponseSchema,
|
|
4741
|
+
AttackDetailResponseSchema,
|
|
4742
|
+
AttackListItemSchema,
|
|
4743
|
+
AttackListResponseSchema,
|
|
4744
|
+
AttackMultiTurnDetailResponseSchema,
|
|
4745
|
+
AttackMultiTurnOutputSchema,
|
|
4746
|
+
AttackOutputSchema,
|
|
4747
|
+
AttackStatus,
|
|
4748
|
+
AttackType,
|
|
4749
|
+
AuthType,
|
|
1285
4750
|
BEARER,
|
|
4751
|
+
BaseResponseSchema,
|
|
4752
|
+
BrandSubCategory,
|
|
4753
|
+
Category,
|
|
4754
|
+
CategoryModelSchema,
|
|
4755
|
+
CategoryReportSchema,
|
|
4756
|
+
ComplianceReportSchema,
|
|
4757
|
+
ComplianceSubCategory,
|
|
4758
|
+
ComplianceTechniqueSchema,
|
|
1286
4759
|
Content,
|
|
4760
|
+
CountByNameSchema,
|
|
4761
|
+
CountedQuotaEnum,
|
|
1287
4762
|
CreateCustomTopicRequestSchema,
|
|
1288
4763
|
CreateSecurityProfileRequestSchema,
|
|
4764
|
+
CustomAttackOutputSchema,
|
|
4765
|
+
CustomAttackReportResponseSchema,
|
|
4766
|
+
CustomAttacksListResponseSchema,
|
|
4767
|
+
CustomJobMetadataSchema,
|
|
4768
|
+
CustomPromptCreateRequestSchema,
|
|
4769
|
+
CustomPromptListItemSchema,
|
|
4770
|
+
CustomPromptListSchema,
|
|
4771
|
+
CustomPromptResponseSchema,
|
|
4772
|
+
CustomPromptSetArchiveRequestSchema,
|
|
4773
|
+
CustomPromptSetCreateRequestSchema,
|
|
4774
|
+
CustomPromptSetListActiveSchema,
|
|
4775
|
+
CustomPromptSetListItemSchema,
|
|
4776
|
+
CustomPromptSetListSchema,
|
|
4777
|
+
CustomPromptSetReferenceSchema,
|
|
4778
|
+
CustomPromptSetResponseSchema,
|
|
4779
|
+
CustomPromptSetUpdateRequestSchema,
|
|
4780
|
+
CustomPromptSetVersionInfoSchema,
|
|
4781
|
+
CustomPromptUpdateRequestSchema,
|
|
1289
4782
|
CustomTopicListResponseSchema,
|
|
1290
4783
|
CustomTopicSchema,
|
|
1291
4784
|
DEFAULT_ENDPOINT,
|
|
1292
4785
|
DEFAULT_MGMT_ENDPOINT,
|
|
4786
|
+
DEFAULT_MODEL_SEC_DATA_ENDPOINT,
|
|
4787
|
+
DEFAULT_MODEL_SEC_MGMT_ENDPOINT,
|
|
4788
|
+
DEFAULT_RED_TEAM_DATA_ENDPOINT,
|
|
4789
|
+
DEFAULT_RED_TEAM_MGMT_ENDPOINT,
|
|
1293
4790
|
DEFAULT_TOKEN_ENDPOINT,
|
|
1294
4791
|
DSDetailResultSchema,
|
|
1295
4792
|
DSResultMetadataSchema,
|
|
4793
|
+
DashboardOverviewResponseSchema,
|
|
4794
|
+
DateRangeFilter,
|
|
1296
4795
|
DeleteProfileConflictSchema,
|
|
1297
4796
|
DeleteProfileResponseSchema,
|
|
1298
4797
|
DeleteTopicConflictSchema,
|
|
1299
4798
|
DeleteTopicResponseSchema,
|
|
1300
4799
|
DetectionServiceResultSchema,
|
|
1301
4800
|
DlpReportSchema,
|
|
4801
|
+
DynamicJobMetadataSchema,
|
|
4802
|
+
DynamicJobReportSchema,
|
|
4803
|
+
DynamicJobReportStatsSchema,
|
|
4804
|
+
ErrorCodes,
|
|
4805
|
+
ErrorLogListResponseSchema,
|
|
4806
|
+
ErrorLogSchema,
|
|
1302
4807
|
ErrorResponseSchema,
|
|
4808
|
+
ErrorSource,
|
|
1303
4809
|
ErrorType,
|
|
4810
|
+
EvalOutcome,
|
|
4811
|
+
EvalSummarySchema,
|
|
4812
|
+
FileFormat,
|
|
4813
|
+
FileListSchema,
|
|
4814
|
+
FileResponseSchema,
|
|
4815
|
+
FileScanDataSchema,
|
|
4816
|
+
FileScanResult,
|
|
4817
|
+
FileType,
|
|
4818
|
+
GoalListResponseSchema,
|
|
4819
|
+
GoalSchema,
|
|
4820
|
+
GoalType,
|
|
4821
|
+
GoalTypeQueryParam,
|
|
4822
|
+
GuardrailAction,
|
|
1304
4823
|
HEADER_API_KEY,
|
|
1305
4824
|
HEADER_AUTH_TOKEN,
|
|
4825
|
+
HTTPValidationErrorSchema,
|
|
1306
4826
|
HTTP_FORCE_RETRY_STATUS_CODES,
|
|
1307
4827
|
IODetectedSchema,
|
|
4828
|
+
JobAbortResponseSchema,
|
|
4829
|
+
JobCreateRequestSchema,
|
|
4830
|
+
JobListResponseSchema,
|
|
4831
|
+
JobResponseSchema,
|
|
4832
|
+
JobStatus,
|
|
4833
|
+
JobStatusFilter,
|
|
4834
|
+
JobTimeRecordSchema,
|
|
4835
|
+
JobType,
|
|
4836
|
+
LabelKeyListSchema,
|
|
4837
|
+
LabelSchema,
|
|
4838
|
+
LabelValueListSchema,
|
|
4839
|
+
LabelsCreateRequestSchema,
|
|
4840
|
+
LabelsResponseSchema,
|
|
4841
|
+
ListModelSecurityGroupsResponseSchema,
|
|
4842
|
+
ListModelSecurityRuleInstancesResponseSchema,
|
|
4843
|
+
ListModelSecurityRulesResponseSchema,
|
|
1308
4844
|
MAX_AI_PROFILE_NAME_LENGTH,
|
|
1309
4845
|
MAX_API_KEY_LENGTH,
|
|
1310
4846
|
MAX_CONNECTION_POOL_SIZE,
|
|
@@ -1330,28 +4866,167 @@ var ManagementClient = class {
|
|
|
1330
4866
|
MGMT_TOPIC_FORCE_PATH,
|
|
1331
4867
|
MGMT_TOPIC_PATH,
|
|
1332
4868
|
MGMT_TSG_ID,
|
|
4869
|
+
MODEL_SEC_CLIENT_ID,
|
|
4870
|
+
MODEL_SEC_CLIENT_SECRET,
|
|
4871
|
+
MODEL_SEC_DATA_ENDPOINT,
|
|
4872
|
+
MODEL_SEC_EVALUATIONS_PATH,
|
|
4873
|
+
MODEL_SEC_MGMT_ENDPOINT,
|
|
4874
|
+
MODEL_SEC_PYPI_AUTH_PATH,
|
|
4875
|
+
MODEL_SEC_SCANS_PATH,
|
|
4876
|
+
MODEL_SEC_SECURITY_GROUPS_PATH,
|
|
4877
|
+
MODEL_SEC_SECURITY_RULES_PATH,
|
|
4878
|
+
MODEL_SEC_TOKEN_ENDPOINT,
|
|
4879
|
+
MODEL_SEC_TSG_ID,
|
|
4880
|
+
MODEL_SEC_VIOLATIONS_PATH,
|
|
1333
4881
|
ManagementClient,
|
|
1334
4882
|
MaskedDataSchema,
|
|
1335
4883
|
MetadataSchema,
|
|
4884
|
+
ModelScanIssueSchema,
|
|
4885
|
+
ModelScanStatus,
|
|
4886
|
+
ModelSecurityClient,
|
|
4887
|
+
ModelSecurityGroupCreateRequestSchema,
|
|
4888
|
+
ModelSecurityGroupResponseSchema,
|
|
4889
|
+
ModelSecurityGroupState,
|
|
4890
|
+
ModelSecurityGroupUpdateRequestSchema,
|
|
4891
|
+
ModelSecurityGroupsClient,
|
|
4892
|
+
ModelSecurityPaginationSchema,
|
|
4893
|
+
ModelSecurityRuleInstanceResponseSchema,
|
|
4894
|
+
ModelSecurityRuleInstanceUpdateRequestSchema,
|
|
4895
|
+
ModelSecurityRuleResponseSchema,
|
|
4896
|
+
ModelSecurityRulesClient,
|
|
4897
|
+
ModelSecurityScansClient,
|
|
1336
4898
|
PAYLOAD_HASH,
|
|
1337
4899
|
PolicySchema,
|
|
4900
|
+
PolicyType,
|
|
4901
|
+
PrerequisiteModelSchema,
|
|
1338
4902
|
ProfilesClient,
|
|
4903
|
+
ProfilingStatus,
|
|
4904
|
+
PromptDetailResponseSchema,
|
|
1339
4905
|
PromptDetectedSchema,
|
|
1340
4906
|
PromptDetectionDetailsSchema,
|
|
4907
|
+
PromptSetStatsSchema,
|
|
4908
|
+
PromptSetSummarySchema,
|
|
4909
|
+
PromptSetsReportResponseSchema,
|
|
4910
|
+
PropertyAssignmentSchema,
|
|
4911
|
+
PropertyDefinitionSchema,
|
|
4912
|
+
PropertyNameCreateRequestSchema,
|
|
4913
|
+
PropertyNamesListResponseSchema,
|
|
4914
|
+
PropertyStatisticSchema,
|
|
4915
|
+
PropertyValueCreateRequestSchema,
|
|
4916
|
+
PropertyValueStatisticSchema,
|
|
4917
|
+
PropertyValuesMultipleResponseSchema,
|
|
4918
|
+
PropertyValuesResponseSchema,
|
|
4919
|
+
PyPIAuthResponseSchema,
|
|
4920
|
+
QuotaDetailsSchema,
|
|
4921
|
+
QuotaSummarySchema,
|
|
4922
|
+
RED_TEAM_CATEGORIES_PATH,
|
|
4923
|
+
RED_TEAM_CLIENT_ID,
|
|
4924
|
+
RED_TEAM_CLIENT_SECRET,
|
|
4925
|
+
RED_TEAM_CUSTOM_ATTACKS_REPORT_PATH,
|
|
4926
|
+
RED_TEAM_CUSTOM_ATTACK_PATH,
|
|
4927
|
+
RED_TEAM_DASHBOARD_PATH,
|
|
4928
|
+
RED_TEAM_DATA_ENDPOINT,
|
|
4929
|
+
RED_TEAM_ERROR_LOG_PATH,
|
|
4930
|
+
RED_TEAM_MGMT_DASHBOARD_PATH,
|
|
4931
|
+
RED_TEAM_MGMT_ENDPOINT,
|
|
4932
|
+
RED_TEAM_QUOTA_PATH,
|
|
4933
|
+
RED_TEAM_REPORT_DYNAMIC_PATH,
|
|
4934
|
+
RED_TEAM_REPORT_PATH,
|
|
4935
|
+
RED_TEAM_REPORT_STATIC_PATH,
|
|
4936
|
+
RED_TEAM_SCAN_PATH,
|
|
4937
|
+
RED_TEAM_SENTIMENT_PATH,
|
|
4938
|
+
RED_TEAM_TARGET_PATH,
|
|
4939
|
+
RED_TEAM_TOKEN_ENDPOINT,
|
|
4940
|
+
RED_TEAM_TSG_ID,
|
|
4941
|
+
RedTeamCategory,
|
|
4942
|
+
RedTeamClient,
|
|
4943
|
+
RedTeamCustomAttackReportsClient,
|
|
4944
|
+
RedTeamCustomAttacksClient,
|
|
4945
|
+
RedTeamErrorType,
|
|
4946
|
+
RedTeamPaginationSchema,
|
|
4947
|
+
RedTeamReportsClient,
|
|
4948
|
+
RedTeamScansClient,
|
|
4949
|
+
RedTeamTargetsClient,
|
|
4950
|
+
RemediationDetailSchema,
|
|
4951
|
+
RemediationResponseSchema,
|
|
1341
4952
|
ResponseDetectedSchema,
|
|
1342
4953
|
ResponseDetectionDetailsSchema,
|
|
4954
|
+
ResponseMode,
|
|
4955
|
+
RiskLevelSchema,
|
|
4956
|
+
RiskRating,
|
|
4957
|
+
RuleConfigurationSchema,
|
|
4958
|
+
RuleEditableFieldDropdownSchema,
|
|
4959
|
+
RuleEditableFieldSchema,
|
|
4960
|
+
RuleEditableFieldType,
|
|
4961
|
+
RuleEvaluationListSchema,
|
|
4962
|
+
RuleEvaluationResponseSchema,
|
|
4963
|
+
RuleEvaluationResult,
|
|
4964
|
+
RuleFieldValueKey,
|
|
4965
|
+
RuleRemediationSchema,
|
|
4966
|
+
RuleState,
|
|
4967
|
+
RuleType,
|
|
4968
|
+
RuntimeSecurityPolicySchema,
|
|
4969
|
+
RuntimeSecurityProfileResponseSchema,
|
|
1343
4970
|
SCAN_REPORTS_PATH,
|
|
1344
4971
|
SCAN_RESULTS_PATH,
|
|
1345
4972
|
SDK_VERSION,
|
|
1346
4973
|
SYNC_SCAN_PATH,
|
|
4974
|
+
SafetySubCategory,
|
|
4975
|
+
ScanBaseResponseSchema,
|
|
4976
|
+
ScanCreateRequestSchema,
|
|
4977
|
+
ScanDetailsSchema,
|
|
1347
4978
|
ScanIdResultSchema,
|
|
4979
|
+
ScanListSchema,
|
|
4980
|
+
ScanOrigin,
|
|
1348
4981
|
ScanRequestContentsInnerSchema,
|
|
1349
4982
|
ScanRequestSchema,
|
|
1350
4983
|
ScanResponseSchema,
|
|
4984
|
+
ScanStatisticsResponseSchema,
|
|
1351
4985
|
ScanSummarySchema,
|
|
1352
4986
|
Scanner,
|
|
4987
|
+
ScoreTrendResponseSchema,
|
|
4988
|
+
ScoreTrendSeriesSchema,
|
|
1353
4989
|
SecurityProfileListResponseSchema,
|
|
1354
4990
|
SecurityProfileSchema,
|
|
4991
|
+
SecuritySubCategory,
|
|
4992
|
+
SentimentRequestSchema,
|
|
4993
|
+
SentimentResponseSchema,
|
|
4994
|
+
SeverityFilter,
|
|
4995
|
+
SeverityReportSchema,
|
|
4996
|
+
SeverityStatsSchema,
|
|
4997
|
+
SortByDateField,
|
|
4998
|
+
SortByFileField,
|
|
4999
|
+
SortDirection,
|
|
5000
|
+
SourceType,
|
|
5001
|
+
StaticJobMetadataSchema,
|
|
5002
|
+
StaticJobRemediationRecommendationSchema,
|
|
5003
|
+
StaticJobRemediationSchema,
|
|
5004
|
+
StaticJobReportSchema,
|
|
5005
|
+
StaticJobReportStatsSchema,
|
|
5006
|
+
StatusQueryParam,
|
|
5007
|
+
StreamDetailResponseSchema,
|
|
5008
|
+
StreamIterationDataSchema,
|
|
5009
|
+
StreamListResponseSchema,
|
|
5010
|
+
StreamType,
|
|
5011
|
+
SubCategoryModelSchema,
|
|
5012
|
+
SubCategoryStatsSchema,
|
|
5013
|
+
TargetAdditionalContextSchema,
|
|
5014
|
+
TargetBackgroundSchema,
|
|
5015
|
+
TargetConnectionType,
|
|
5016
|
+
TargetContextUpdateSchema,
|
|
5017
|
+
TargetCreateRequestSchema,
|
|
5018
|
+
TargetJobRequestSchema,
|
|
5019
|
+
TargetListItemSchema,
|
|
5020
|
+
TargetListSchema,
|
|
5021
|
+
TargetMetadataSchema,
|
|
5022
|
+
TargetProbeRequestSchema,
|
|
5023
|
+
TargetProfileResponseSchema,
|
|
5024
|
+
TargetReferenceSchema,
|
|
5025
|
+
TargetResponseSchema,
|
|
5026
|
+
TargetStatus,
|
|
5027
|
+
TargetType,
|
|
5028
|
+
TargetUpdateRequestSchema,
|
|
5029
|
+
ThreatCategory,
|
|
1355
5030
|
ThreatScanReportSchema,
|
|
1356
5031
|
ToolDetectedSchema,
|
|
1357
5032
|
ToolEventMetadataSchema,
|
|
@@ -1359,6 +5034,10 @@ var ManagementClient = class {
|
|
|
1359
5034
|
TopicsClient,
|
|
1360
5035
|
USER_AGENT,
|
|
1361
5036
|
UrlfEntrySchema,
|
|
5037
|
+
ValidationErrorSchema,
|
|
5038
|
+
Verdict,
|
|
5039
|
+
ViolationListSchema,
|
|
5040
|
+
ViolationResponseSchema,
|
|
1362
5041
|
globalConfiguration,
|
|
1363
5042
|
init
|
|
1364
5043
|
});
|