@cdot65/prisma-airs-cli 1.0.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.
Files changed (234) hide show
  1. package/README.md +42 -0
  2. package/dist/airs/management.d.ts +58 -0
  3. package/dist/airs/management.d.ts.map +1 -0
  4. package/dist/airs/management.js +287 -0
  5. package/dist/airs/management.js.map +1 -0
  6. package/dist/airs/modelsecurity.d.ts +74 -0
  7. package/dist/airs/modelsecurity.d.ts.map +1 -0
  8. package/dist/airs/modelsecurity.js +337 -0
  9. package/dist/airs/modelsecurity.js.map +1 -0
  10. package/dist/airs/promptsets.d.ts +50 -0
  11. package/dist/airs/promptsets.d.ts.map +1 -0
  12. package/dist/airs/promptsets.js +133 -0
  13. package/dist/airs/promptsets.js.map +1 -0
  14. package/dist/airs/redteam.d.ts +45 -0
  15. package/dist/airs/redteam.d.ts.map +1 -0
  16. package/dist/airs/redteam.js +219 -0
  17. package/dist/airs/redteam.js.map +1 -0
  18. package/dist/airs/runtime.d.ts +27 -0
  19. package/dist/airs/runtime.d.ts.map +1 -0
  20. package/dist/airs/runtime.js +158 -0
  21. package/dist/airs/runtime.js.map +1 -0
  22. package/dist/airs/scanner.d.ts +22 -0
  23. package/dist/airs/scanner.d.ts.map +1 -0
  24. package/dist/airs/scanner.js +62 -0
  25. package/dist/airs/scanner.js.map +1 -0
  26. package/dist/airs/types.d.ts +683 -0
  27. package/dist/airs/types.d.ts.map +1 -0
  28. package/dist/airs/types.js +6 -0
  29. package/dist/airs/types.js.map +1 -0
  30. package/dist/audit/evaluator.d.ts +17 -0
  31. package/dist/audit/evaluator.d.ts.map +1 -0
  32. package/dist/audit/evaluator.js +82 -0
  33. package/dist/audit/evaluator.js.map +1 -0
  34. package/dist/audit/report.d.ts +38 -0
  35. package/dist/audit/report.d.ts.map +1 -0
  36. package/dist/audit/report.js +141 -0
  37. package/dist/audit/report.js.map +1 -0
  38. package/dist/audit/runner.d.ts +18 -0
  39. package/dist/audit/runner.d.ts.map +1 -0
  40. package/dist/audit/runner.js +60 -0
  41. package/dist/audit/runner.js.map +1 -0
  42. package/dist/audit/types.d.ts +53 -0
  43. package/dist/audit/types.d.ts.map +1 -0
  44. package/dist/audit/types.js +5 -0
  45. package/dist/audit/types.js.map +1 -0
  46. package/dist/cli/bulk-scan-state.d.ts +15 -0
  47. package/dist/cli/bulk-scan-state.d.ts.map +1 -0
  48. package/dist/cli/bulk-scan-state.js +20 -0
  49. package/dist/cli/bulk-scan-state.js.map +1 -0
  50. package/dist/cli/commands/audit.d.ts +4 -0
  51. package/dist/cli/commands/audit.d.ts.map +1 -0
  52. package/dist/cli/commands/audit.js +113 -0
  53. package/dist/cli/commands/audit.js.map +1 -0
  54. package/dist/cli/commands/generate.d.ts +4 -0
  55. package/dist/cli/commands/generate.d.ts.map +1 -0
  56. package/dist/cli/commands/generate.js +231 -0
  57. package/dist/cli/commands/generate.js.map +1 -0
  58. package/dist/cli/commands/list.d.ts +4 -0
  59. package/dist/cli/commands/list.d.ts.map +1 -0
  60. package/dist/cli/commands/list.js +23 -0
  61. package/dist/cli/commands/list.js.map +1 -0
  62. package/dist/cli/commands/modelsecurity.d.ts +4 -0
  63. package/dist/cli/commands/modelsecurity.d.ts.map +1 -0
  64. package/dist/cli/commands/modelsecurity.js +499 -0
  65. package/dist/cli/commands/modelsecurity.js.map +1 -0
  66. package/dist/cli/commands/redteam.d.ts +4 -0
  67. package/dist/cli/commands/redteam.d.ts.map +1 -0
  68. package/dist/cli/commands/redteam.js +630 -0
  69. package/dist/cli/commands/redteam.js.map +1 -0
  70. package/dist/cli/commands/report.d.ts +4 -0
  71. package/dist/cli/commands/report.d.ts.map +1 -0
  72. package/dist/cli/commands/report.js +116 -0
  73. package/dist/cli/commands/report.js.map +1 -0
  74. package/dist/cli/commands/resume.d.ts +4 -0
  75. package/dist/cli/commands/resume.d.ts.map +1 -0
  76. package/dist/cli/commands/resume.js +138 -0
  77. package/dist/cli/commands/resume.js.map +1 -0
  78. package/dist/cli/commands/runtime.d.ts +3 -0
  79. package/dist/cli/commands/runtime.d.ts.map +1 -0
  80. package/dist/cli/commands/runtime.js +582 -0
  81. package/dist/cli/commands/runtime.js.map +1 -0
  82. package/dist/cli/index.d.ts +3 -0
  83. package/dist/cli/index.d.ts.map +1 -0
  84. package/dist/cli/index.js +46 -0
  85. package/dist/cli/index.js.map +1 -0
  86. package/dist/cli/parse-input.d.ts +9 -0
  87. package/dist/cli/parse-input.d.ts.map +1 -0
  88. package/dist/cli/parse-input.js +109 -0
  89. package/dist/cli/parse-input.js.map +1 -0
  90. package/dist/cli/prompts.d.ts +9 -0
  91. package/dist/cli/prompts.d.ts.map +1 -0
  92. package/dist/cli/prompts.js +90 -0
  93. package/dist/cli/prompts.js.map +1 -0
  94. package/dist/cli/renderer/audit.d.ts +8 -0
  95. package/dist/cli/renderer/audit.d.ts.map +1 -0
  96. package/dist/cli/renderer/audit.js +44 -0
  97. package/dist/cli/renderer/audit.js.map +1 -0
  98. package/dist/cli/renderer/common.d.ts +3 -0
  99. package/dist/cli/renderer/common.d.ts.map +1 -0
  100. package/dist/cli/renderer/common.js +6 -0
  101. package/dist/cli/renderer/common.js.map +1 -0
  102. package/dist/cli/renderer/generate.d.ts +29 -0
  103. package/dist/cli/renderer/generate.d.ts.map +1 -0
  104. package/dist/cli/renderer/generate.js +132 -0
  105. package/dist/cli/renderer/generate.js.map +1 -0
  106. package/dist/cli/renderer/index.d.ts +7 -0
  107. package/dist/cli/renderer/index.d.ts.map +1 -0
  108. package/dist/cli/renderer/index.js +7 -0
  109. package/dist/cli/renderer/index.js.map +1 -0
  110. package/dist/cli/renderer/modelsecurity.d.ts +34 -0
  111. package/dist/cli/renderer/modelsecurity.d.ts.map +1 -0
  112. package/dist/cli/renderer/modelsecurity.js +285 -0
  113. package/dist/cli/renderer/modelsecurity.js.map +1 -0
  114. package/dist/cli/renderer/redteam.d.ts +152 -0
  115. package/dist/cli/renderer/redteam.d.ts.map +1 -0
  116. package/dist/cli/renderer/redteam.js +294 -0
  117. package/dist/cli/renderer/redteam.js.map +1 -0
  118. package/dist/cli/renderer/runtime.d.ts +87 -0
  119. package/dist/cli/renderer/runtime.d.ts.map +1 -0
  120. package/dist/cli/renderer/runtime.js +230 -0
  121. package/dist/cli/renderer/runtime.js.map +1 -0
  122. package/dist/config/loader.d.ts +3 -0
  123. package/dist/config/loader.d.ts.map +1 -0
  124. package/dist/config/loader.js +65 -0
  125. package/dist/config/loader.js.map +1 -0
  126. package/dist/config/schema.d.ts +78 -0
  127. package/dist/config/schema.d.ts.map +1 -0
  128. package/dist/config/schema.js +44 -0
  129. package/dist/config/schema.js.map +1 -0
  130. package/dist/core/constraints.d.ts +18 -0
  131. package/dist/core/constraints.d.ts.map +1 -0
  132. package/dist/core/constraints.js +75 -0
  133. package/dist/core/constraints.js.map +1 -0
  134. package/dist/core/loop.d.ts +54 -0
  135. package/dist/core/loop.d.ts.map +1 -0
  136. package/dist/core/loop.js +462 -0
  137. package/dist/core/loop.js.map +1 -0
  138. package/dist/core/metrics.d.ts +13 -0
  139. package/dist/core/metrics.d.ts.map +1 -0
  140. package/dist/core/metrics.js +73 -0
  141. package/dist/core/metrics.js.map +1 -0
  142. package/dist/core/types.d.ts +175 -0
  143. package/dist/core/types.d.ts.map +1 -0
  144. package/dist/core/types.js +5 -0
  145. package/dist/core/types.js.map +1 -0
  146. package/dist/index.d.ts +35 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +49 -0
  149. package/dist/index.js.map +1 -0
  150. package/dist/llm/prompts/analyze-results.d.ts +3 -0
  151. package/dist/llm/prompts/analyze-results.d.ts.map +1 -0
  152. package/dist/llm/prompts/analyze-results.js +52 -0
  153. package/dist/llm/prompts/analyze-results.js.map +1 -0
  154. package/dist/llm/prompts/generate-companion.d.ts +3 -0
  155. package/dist/llm/prompts/generate-companion.d.ts.map +1 -0
  156. package/dist/llm/prompts/generate-companion.js +42 -0
  157. package/dist/llm/prompts/generate-companion.js.map +1 -0
  158. package/dist/llm/prompts/generate-tests.d.ts +3 -0
  159. package/dist/llm/prompts/generate-tests.d.ts.map +1 -0
  160. package/dist/llm/prompts/generate-tests.js +46 -0
  161. package/dist/llm/prompts/generate-tests.js.map +1 -0
  162. package/dist/llm/prompts/generate-topic.d.ts +4 -0
  163. package/dist/llm/prompts/generate-topic.d.ts.map +1 -0
  164. package/dist/llm/prompts/generate-topic.js +41 -0
  165. package/dist/llm/prompts/generate-topic.js.map +1 -0
  166. package/dist/llm/prompts/improve-topic.d.ts +3 -0
  167. package/dist/llm/prompts/improve-topic.d.ts.map +1 -0
  168. package/dist/llm/prompts/improve-topic.js +77 -0
  169. package/dist/llm/prompts/improve-topic.js.map +1 -0
  170. package/dist/llm/prompts/simplify-topic.d.ts +3 -0
  171. package/dist/llm/prompts/simplify-topic.d.ts.map +1 -0
  172. package/dist/llm/prompts/simplify-topic.js +50 -0
  173. package/dist/llm/prompts/simplify-topic.js.map +1 -0
  174. package/dist/llm/provider.d.ts +21 -0
  175. package/dist/llm/provider.d.ts.map +1 -0
  176. package/dist/llm/provider.js +76 -0
  177. package/dist/llm/provider.js.map +1 -0
  178. package/dist/llm/schemas.d.ts +97 -0
  179. package/dist/llm/schemas.d.ts.map +1 -0
  180. package/dist/llm/schemas.js +24 -0
  181. package/dist/llm/schemas.js.map +1 -0
  182. package/dist/llm/service.d.ts +30 -0
  183. package/dist/llm/service.d.ts.map +1 -0
  184. package/dist/llm/service.js +273 -0
  185. package/dist/llm/service.js.map +1 -0
  186. package/dist/memory/diff.d.ts +4 -0
  187. package/dist/memory/diff.d.ts.map +1 -0
  188. package/dist/memory/diff.js +24 -0
  189. package/dist/memory/diff.js.map +1 -0
  190. package/dist/memory/extractor.d.ts +15 -0
  191. package/dist/memory/extractor.d.ts.map +1 -0
  192. package/dist/memory/extractor.js +133 -0
  193. package/dist/memory/extractor.js.map +1 -0
  194. package/dist/memory/injector.d.ts +22 -0
  195. package/dist/memory/injector.d.ts.map +1 -0
  196. package/dist/memory/injector.js +90 -0
  197. package/dist/memory/injector.js.map +1 -0
  198. package/dist/memory/prompts/extract-learnings.d.ts +3 -0
  199. package/dist/memory/prompts/extract-learnings.d.ts.map +1 -0
  200. package/dist/memory/prompts/extract-learnings.js +40 -0
  201. package/dist/memory/prompts/extract-learnings.js.map +1 -0
  202. package/dist/memory/schemas.d.ts +63 -0
  203. package/dist/memory/schemas.d.ts.map +1 -0
  204. package/dist/memory/schemas.js +13 -0
  205. package/dist/memory/schemas.js.map +1 -0
  206. package/dist/memory/store.d.ts +28 -0
  207. package/dist/memory/store.d.ts.map +1 -0
  208. package/dist/memory/store.js +103 -0
  209. package/dist/memory/store.js.map +1 -0
  210. package/dist/memory/types.d.ts +55 -0
  211. package/dist/memory/types.d.ts.map +1 -0
  212. package/dist/memory/types.js +6 -0
  213. package/dist/memory/types.js.map +1 -0
  214. package/dist/persistence/store.d.ts +21 -0
  215. package/dist/persistence/store.d.ts.map +1 -0
  216. package/dist/persistence/store.js +77 -0
  217. package/dist/persistence/store.js.map +1 -0
  218. package/dist/persistence/types.d.ts +23 -0
  219. package/dist/persistence/types.d.ts.map +1 -0
  220. package/dist/persistence/types.js +2 -0
  221. package/dist/persistence/types.js.map +1 -0
  222. package/dist/report/html.d.ts +6 -0
  223. package/dist/report/html.d.ts.map +1 -0
  224. package/dist/report/html.js +200 -0
  225. package/dist/report/html.js.map +1 -0
  226. package/dist/report/json.d.ts +11 -0
  227. package/dist/report/json.d.ts.map +1 -0
  228. package/dist/report/json.js +74 -0
  229. package/dist/report/json.js.map +1 -0
  230. package/dist/report/types.d.ts +58 -0
  231. package/dist/report/types.d.ts.map +1 -0
  232. package/dist/report/types.js +5 -0
  233. package/dist/report/types.js.map +1 -0
  234. package/package.json +67 -0
@@ -0,0 +1,337 @@
1
+ import { ModelSecurityClient } from '@cdot65/prisma-airs-sdk';
2
+ /** Normalize an SDK security group response. */
3
+ function normalizeGroup(raw) {
4
+ return {
5
+ uuid: raw.uuid,
6
+ name: raw.name,
7
+ description: raw.description,
8
+ sourceType: raw.source_type,
9
+ state: raw.state,
10
+ createdAt: raw.created_at,
11
+ updatedAt: raw.updated_at,
12
+ };
13
+ }
14
+ /** Normalize an SDK rule instance response. */
15
+ function normalizeRuleInstance(raw) {
16
+ return {
17
+ uuid: raw.uuid,
18
+ securityGroupUuid: raw.security_group_uuid,
19
+ securityRuleUuid: raw.security_rule_uuid,
20
+ state: raw.state,
21
+ createdAt: raw.created_at,
22
+ updatedAt: raw.updated_at,
23
+ rule: raw.rule,
24
+ fieldValues: (raw.field_values ?? {}),
25
+ };
26
+ }
27
+ /** Normalize an SDK security rule response. */
28
+ function normalizeRule(raw) {
29
+ const editableFields = (raw.editable_fields ?? []);
30
+ return {
31
+ uuid: raw.uuid,
32
+ name: raw.name,
33
+ description: raw.description,
34
+ ruleType: raw.rule_type,
35
+ compatibleSources: raw.compatible_sources,
36
+ defaultState: raw.default_state,
37
+ remediation: raw.remediation,
38
+ editableFields: editableFields.map((f) => ({
39
+ attributeName: f.attribute_name,
40
+ type: f.type,
41
+ displayName: f.display_name,
42
+ displayType: f.display_type,
43
+ description: f.description,
44
+ dropdownValues: f.dropdown_values,
45
+ })),
46
+ constantValues: (raw.constant_values ?? {}),
47
+ defaultValues: (raw.default_values ?? {}),
48
+ };
49
+ }
50
+ /** Normalize an SDK scan response. */
51
+ function normalizeScan(raw) {
52
+ const summary = raw.eval_summary;
53
+ return {
54
+ uuid: raw.uuid,
55
+ evalOutcome: (raw.eval_outcome ?? ''),
56
+ modelUri: (raw.model_uri ?? ''),
57
+ scanOrigin: (raw.scan_origin ?? ''),
58
+ sourceType: (raw.source_type ?? ''),
59
+ securityGroupName: (raw.security_group_name ?? ''),
60
+ evalSummary: summary
61
+ ? {
62
+ rulesFailed: (summary.rules_failed ?? 0),
63
+ rulesPassed: (summary.rules_passed ?? 0),
64
+ totalRules: (summary.total_rules ?? 0),
65
+ }
66
+ : null,
67
+ createdAt: raw.created_at,
68
+ updatedAt: raw.updated_at,
69
+ labels: (raw.labels ?? []),
70
+ };
71
+ }
72
+ /** Normalize an SDK evaluation response. */
73
+ function normalizeEvaluation(raw) {
74
+ return {
75
+ uuid: raw.uuid,
76
+ result: raw.result,
77
+ violationCount: (raw.violation_count ?? 0),
78
+ ruleInstanceUuid: (raw.rule_instance_uuid ?? ''),
79
+ ruleName: raw.rule_name,
80
+ ruleDescription: (raw.rule_description ?? ''),
81
+ ruleInstanceState: (raw.rule_instance_state ?? ''),
82
+ };
83
+ }
84
+ /** Normalize an SDK violation response. */
85
+ function normalizeViolation(raw) {
86
+ return {
87
+ uuid: raw.uuid,
88
+ description: raw.description,
89
+ threat: (raw.threat ?? ''),
90
+ threatDescription: (raw.threat_description ?? ''),
91
+ file: (raw.file ?? ''),
92
+ ruleName: raw.rule_name,
93
+ ruleDescription: (raw.rule_description ?? ''),
94
+ ruleInstanceState: (raw.rule_instance_state ?? ''),
95
+ };
96
+ }
97
+ /** Normalize an SDK file response. */
98
+ function normalizeFile(raw) {
99
+ return {
100
+ uuid: raw.uuid,
101
+ path: (raw.path ?? ''),
102
+ type: raw.type,
103
+ formats: (raw.formats ?? []),
104
+ result: raw.result,
105
+ };
106
+ }
107
+ /**
108
+ * Wraps the SDK's ModelSecurityClient to implement ModelSecurityService.
109
+ * Provides security group CRUD, rule browsing, scan operations, and label management.
110
+ */
111
+ export class SdkModelSecurityService {
112
+ client;
113
+ constructor(opts) {
114
+ this.client = new ModelSecurityClient(opts);
115
+ }
116
+ // -----------------------------------------------------------------------
117
+ // Security Groups
118
+ // -----------------------------------------------------------------------
119
+ async listGroups(opts) {
120
+ const sdkOpts = {};
121
+ if (opts?.sourceTypes)
122
+ sdkOpts.source_types = opts.sourceTypes;
123
+ if (opts?.searchQuery)
124
+ sdkOpts.search_query = opts.searchQuery;
125
+ if (opts?.sortField)
126
+ sdkOpts.sort_field = opts.sortField;
127
+ if (opts?.sortDir)
128
+ sdkOpts.sort_dir = opts.sortDir;
129
+ if (opts?.enabledRules)
130
+ sdkOpts.enabled_rules = opts.enabledRules;
131
+ if (opts?.skip !== undefined)
132
+ sdkOpts.skip = opts.skip;
133
+ if (opts?.limit !== undefined)
134
+ sdkOpts.limit = opts.limit;
135
+ const response = await this.client.securityGroups.list(sdkOpts);
136
+ const raw = response;
137
+ return {
138
+ totalItems: raw.pagination.total_items ?? 0,
139
+ groups: raw.security_groups.map(normalizeGroup),
140
+ };
141
+ }
142
+ async getGroup(uuid) {
143
+ const response = await this.client.securityGroups.get(uuid);
144
+ return normalizeGroup(response);
145
+ }
146
+ async createGroup(request) {
147
+ const sdkRequest = {
148
+ name: request.name,
149
+ source_type: request.sourceType,
150
+ };
151
+ if (request.description !== undefined)
152
+ sdkRequest.description = request.description;
153
+ if (request.ruleConfigurations)
154
+ sdkRequest.rule_configurations = request.ruleConfigurations;
155
+ const response = await this.client.securityGroups.create(sdkRequest);
156
+ return normalizeGroup(response);
157
+ }
158
+ async updateGroup(uuid, request) {
159
+ const response = await this.client.securityGroups.update(uuid, request);
160
+ return normalizeGroup(response);
161
+ }
162
+ async deleteGroup(uuid) {
163
+ await this.client.securityGroups.delete(uuid);
164
+ }
165
+ // -----------------------------------------------------------------------
166
+ // Rule Instances
167
+ // -----------------------------------------------------------------------
168
+ async listRuleInstances(groupUuid, opts) {
169
+ const sdkOpts = {};
170
+ if (opts?.securityRuleUuid)
171
+ sdkOpts.security_rule_uuid = opts.securityRuleUuid;
172
+ if (opts?.state)
173
+ sdkOpts.state = opts.state;
174
+ if (opts?.skip !== undefined)
175
+ sdkOpts.skip = opts.skip;
176
+ if (opts?.limit !== undefined)
177
+ sdkOpts.limit = opts.limit;
178
+ const response = await this.client.securityGroups.listRuleInstances(groupUuid, sdkOpts);
179
+ const raw = response;
180
+ return {
181
+ totalItems: raw.pagination.total_items ?? 0,
182
+ ruleInstances: raw.rule_instances.map(normalizeRuleInstance),
183
+ };
184
+ }
185
+ async getRuleInstance(groupUuid, instanceUuid) {
186
+ const response = await this.client.securityGroups.getRuleInstance(groupUuid, instanceUuid);
187
+ return normalizeRuleInstance(response);
188
+ }
189
+ async updateRuleInstance(groupUuid, instanceUuid, request) {
190
+ const sdkRequest = {
191
+ security_group_uuid: groupUuid,
192
+ };
193
+ if (request.state !== undefined)
194
+ sdkRequest.state = request.state;
195
+ if (request.fieldValues !== undefined)
196
+ sdkRequest.field_values = request.fieldValues;
197
+ const response = await this.client.securityGroups.updateRuleInstance(groupUuid, instanceUuid, sdkRequest);
198
+ return normalizeRuleInstance(response);
199
+ }
200
+ // -----------------------------------------------------------------------
201
+ // Security Rules
202
+ // -----------------------------------------------------------------------
203
+ async listRules(opts) {
204
+ const sdkOpts = {};
205
+ if (opts?.sourceType)
206
+ sdkOpts.source_type = opts.sourceType;
207
+ if (opts?.searchQuery)
208
+ sdkOpts.search_query = opts.searchQuery;
209
+ if (opts?.skip !== undefined)
210
+ sdkOpts.skip = opts.skip;
211
+ if (opts?.limit !== undefined)
212
+ sdkOpts.limit = opts.limit;
213
+ const response = await this.client.securityRules.list(sdkOpts);
214
+ const raw = response;
215
+ return {
216
+ totalItems: raw.pagination.total_items ?? 0,
217
+ rules: raw.rules.map(normalizeRule),
218
+ };
219
+ }
220
+ async getRule(uuid) {
221
+ const response = await this.client.securityRules.get(uuid);
222
+ return normalizeRule(response);
223
+ }
224
+ // -----------------------------------------------------------------------
225
+ // Scans
226
+ // -----------------------------------------------------------------------
227
+ async createScan(request) {
228
+ const response = await this.client.scans.create(request);
229
+ return normalizeScan(response);
230
+ }
231
+ async listScans(opts) {
232
+ const sdkOpts = {};
233
+ if (opts?.evalOutcome)
234
+ sdkOpts.eval_outcome = opts.evalOutcome;
235
+ if (opts?.sourceType)
236
+ sdkOpts.source_type = opts.sourceType;
237
+ if (opts?.scanOrigin)
238
+ sdkOpts.scan_origin = opts.scanOrigin;
239
+ if (opts?.search)
240
+ sdkOpts.search = opts.search;
241
+ if (opts?.skip !== undefined)
242
+ sdkOpts.skip = opts.skip;
243
+ if (opts?.limit !== undefined)
244
+ sdkOpts.limit = opts.limit;
245
+ const response = await this.client.scans.list(sdkOpts);
246
+ const raw = response;
247
+ return {
248
+ totalItems: raw.pagination.total_items ?? 0,
249
+ scans: raw.scans.map(normalizeScan),
250
+ };
251
+ }
252
+ async getScan(uuid) {
253
+ const response = await this.client.scans.get(uuid);
254
+ return normalizeScan(response);
255
+ }
256
+ // -----------------------------------------------------------------------
257
+ // Evaluations
258
+ // -----------------------------------------------------------------------
259
+ async getEvaluations(scanUuid, opts) {
260
+ const response = await this.client.scans.getEvaluations(scanUuid, opts);
261
+ const raw = response;
262
+ return {
263
+ totalItems: raw.pagination.total_items ?? 0,
264
+ evaluations: raw.evaluations.map(normalizeEvaluation),
265
+ };
266
+ }
267
+ async getEvaluation(uuid) {
268
+ const response = await this.client.scans.getEvaluation(uuid);
269
+ return normalizeEvaluation(response);
270
+ }
271
+ // -----------------------------------------------------------------------
272
+ // Violations
273
+ // -----------------------------------------------------------------------
274
+ async getViolations(scanUuid, opts) {
275
+ const response = await this.client.scans.getViolations(scanUuid, opts);
276
+ const raw = response;
277
+ return {
278
+ totalItems: raw.pagination.total_items ?? 0,
279
+ violations: raw.violations.map(normalizeViolation),
280
+ };
281
+ }
282
+ async getViolation(uuid) {
283
+ const response = await this.client.scans.getViolation(uuid);
284
+ return normalizeViolation(response);
285
+ }
286
+ // -----------------------------------------------------------------------
287
+ // Files
288
+ // -----------------------------------------------------------------------
289
+ async getFiles(scanUuid, opts) {
290
+ const response = await this.client.scans.getFiles(scanUuid, opts);
291
+ const raw = response;
292
+ return {
293
+ totalItems: raw.pagination.total_items ?? 0,
294
+ files: raw.files.map(normalizeFile),
295
+ };
296
+ }
297
+ // -----------------------------------------------------------------------
298
+ // Labels
299
+ // -----------------------------------------------------------------------
300
+ async addLabels(scanUuid, labels) {
301
+ await this.client.scans.addLabels(scanUuid, { labels });
302
+ }
303
+ async setLabels(scanUuid, labels) {
304
+ await this.client.scans.setLabels(scanUuid, { labels });
305
+ }
306
+ async deleteLabels(scanUuid, keys) {
307
+ await this.client.scans.deleteLabels(scanUuid, keys);
308
+ }
309
+ async getLabelKeys(opts) {
310
+ const response = await this.client.scans.getLabelKeys(opts);
311
+ const raw = response;
312
+ return {
313
+ totalItems: raw.pagination.total_items ?? 0,
314
+ keys: raw.keys,
315
+ };
316
+ }
317
+ async getLabelValues(key, opts) {
318
+ const response = await this.client.scans.getLabelValues(key, opts);
319
+ const raw = response;
320
+ return {
321
+ totalItems: raw.pagination.total_items ?? 0,
322
+ values: raw.values,
323
+ };
324
+ }
325
+ // -----------------------------------------------------------------------
326
+ // PyPI Auth
327
+ // -----------------------------------------------------------------------
328
+ async getPyPIAuth() {
329
+ const response = await this.client.getPyPIAuth();
330
+ const raw = response;
331
+ return {
332
+ url: raw.url,
333
+ expiresAt: raw.expires_at,
334
+ };
335
+ }
336
+ }
337
+ //# sourceMappingURL=modelsecurity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelsecurity.js","sourceRoot":"","sources":["../../src/airs/modelsecurity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { type RedTeamClientOptions } from '@cdot65/prisma-airs-sdk';
2
+ import type { PromptDetail, PromptSetDetail, PromptSetService, PromptSetVersionInfo, PropertyName, PropertyValue } from './types.js';
3
+ /**
4
+ * Wraps the SDK's RedTeamClient.customAttacks to implement PromptSetService.
5
+ * Creates and populates custom prompt sets for AI Red Team.
6
+ */
7
+ export declare class SdkPromptSetService implements PromptSetService {
8
+ private client;
9
+ constructor(opts?: RedTeamClientOptions);
10
+ createPromptSet(name: string, description?: string): Promise<{
11
+ uuid: string;
12
+ name: string;
13
+ }>;
14
+ addPrompt(promptSetId: string, prompt: string, goal?: string): Promise<{
15
+ uuid: string;
16
+ prompt: string;
17
+ }>;
18
+ listPromptSets(): Promise<Array<{
19
+ uuid: string;
20
+ name: string;
21
+ active: boolean;
22
+ }>>;
23
+ getPromptSet(uuid: string): Promise<PromptSetDetail>;
24
+ updatePromptSet(uuid: string, request: {
25
+ name?: string;
26
+ description?: string;
27
+ }): Promise<PromptSetDetail>;
28
+ archivePromptSet(uuid: string, archive: boolean): Promise<void>;
29
+ getPromptSetVersionInfo(uuid: string): Promise<PromptSetVersionInfo>;
30
+ downloadTemplate(uuid: string): Promise<string>;
31
+ uploadPromptsCsv(uuid: string, file: Blob): Promise<{
32
+ message: string;
33
+ status: number;
34
+ }>;
35
+ listPrompts(setUuid: string, opts?: {
36
+ limit?: number;
37
+ skip?: number;
38
+ }): Promise<PromptDetail[]>;
39
+ getPrompt(setUuid: string, promptUuid: string): Promise<PromptDetail>;
40
+ updatePrompt(setUuid: string, promptUuid: string, request: {
41
+ prompt?: string;
42
+ goal?: string;
43
+ }): Promise<PromptDetail>;
44
+ deletePrompt(setUuid: string, promptUuid: string): Promise<void>;
45
+ getPropertyNames(): Promise<PropertyName[]>;
46
+ createPropertyName(name: string): Promise<PropertyName>;
47
+ getPropertyValues(name: string): Promise<PropertyValue[]>;
48
+ createPropertyValue(name: string, value: string): Promise<PropertyValue>;
49
+ }
50
+ //# sourceMappingURL=promptsets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptsets.d.ts","sourceRoot":"","sources":["../../src/airs/promptsets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AA0BpB;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,OAAO,CAAC,MAAM,CAAgB;gBAElB,IAAI,CAAC,EAAE,oBAAoB;IAIjC,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAQpC,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAStC,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IASjF,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKpD,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,eAAe,CAAC;IAKrB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUpE,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuB/C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAKxF,WAAW,CACf,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvC,OAAO,CAAC,YAAY,EAAE,CAAC;IAOpB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKrE,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,YAAY,CAAC;IASlB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAM3C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKvD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAMzD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAI/E"}
@@ -0,0 +1,133 @@
1
+ import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
2
+ /** Normalize SDK prompt set response to PromptSetDetail. */
3
+ function normalizePromptSet(raw) {
4
+ return {
5
+ uuid: raw.uuid,
6
+ name: raw.name,
7
+ active: raw.active,
8
+ archive: raw.archive,
9
+ description: raw.description,
10
+ createdAt: raw.created_at,
11
+ updatedAt: raw.updated_at,
12
+ };
13
+ }
14
+ /** Normalize SDK prompt response to PromptDetail. */
15
+ function normalizePrompt(raw) {
16
+ return {
17
+ uuid: raw.uuid,
18
+ prompt: raw.prompt,
19
+ goal: raw.goal,
20
+ active: raw.active,
21
+ promptSetId: raw.prompt_set_id,
22
+ };
23
+ }
24
+ /**
25
+ * Wraps the SDK's RedTeamClient.customAttacks to implement PromptSetService.
26
+ * Creates and populates custom prompt sets for AI Red Team.
27
+ */
28
+ export class SdkPromptSetService {
29
+ client;
30
+ constructor(opts) {
31
+ this.client = new RedTeamClient(opts);
32
+ }
33
+ async createPromptSet(name, description) {
34
+ const response = await this.client.customAttacks.createPromptSet({
35
+ name,
36
+ ...(description ? { description } : {}),
37
+ });
38
+ return { uuid: response.uuid, name: response.name };
39
+ }
40
+ async addPrompt(promptSetId, prompt, goal) {
41
+ const response = await this.client.customAttacks.createPrompt({
42
+ prompt,
43
+ prompt_set_id: promptSetId,
44
+ ...(goal ? { goal } : {}),
45
+ });
46
+ return { uuid: response.uuid, prompt: response.prompt };
47
+ }
48
+ async listPromptSets() {
49
+ const response = await this.client.customAttacks.listPromptSets();
50
+ return (response.data ?? []).map((ps) => ({
51
+ uuid: ps.uuid,
52
+ name: ps.name,
53
+ active: ps.active,
54
+ }));
55
+ }
56
+ async getPromptSet(uuid) {
57
+ const response = await this.client.customAttacks.getPromptSet(uuid);
58
+ return normalizePromptSet(response);
59
+ }
60
+ async updatePromptSet(uuid, request) {
61
+ const response = await this.client.customAttacks.updatePromptSet(uuid, request);
62
+ return normalizePromptSet(response);
63
+ }
64
+ async archivePromptSet(uuid, archive) {
65
+ await this.client.customAttacks.archivePromptSet(uuid, { archive });
66
+ }
67
+ async getPromptSetVersionInfo(uuid) {
68
+ const response = await this.client.customAttacks.getPromptSetVersionInfo(uuid);
69
+ const raw = response;
70
+ return {
71
+ uuid: raw.uuid,
72
+ version: raw.version,
73
+ stats: raw.stats,
74
+ };
75
+ }
76
+ async downloadTemplate(uuid) {
77
+ // WORKAROUND: Bypass SDK's downloadTemplate — it routes through managementHttpRequest
78
+ // which unconditionally JSON.parse()s the response, but this endpoint returns text/csv.
79
+ // Make a raw fetch using the SDK's OAuth client instead.
80
+ // Tracked upstream: https://github.com/cdot65/prisma-airs-sdk/issues/77
81
+ const internals = this.client.customAttacks;
82
+ const token = await internals.oauthClient.getToken();
83
+ const base = internals.baseUrl.replace(/\/+$/, '');
84
+ const url = `${base}/v1/custom-attack/download-template/${uuid}`;
85
+ const res = await fetch(url, {
86
+ method: 'GET',
87
+ headers: { Authorization: `Bearer ${token}` },
88
+ });
89
+ if (!res.ok) {
90
+ const body = await res.text();
91
+ throw new Error(`Download template failed (${res.status}): ${body}`);
92
+ }
93
+ return res.text();
94
+ }
95
+ async uploadPromptsCsv(uuid, file) {
96
+ const response = await this.client.customAttacks.uploadPromptsCsv(uuid, file);
97
+ return response;
98
+ }
99
+ async listPrompts(setUuid, opts) {
100
+ const response = await this.client.customAttacks.listPrompts(setUuid, opts);
101
+ return response.data.map(normalizePrompt);
102
+ }
103
+ async getPrompt(setUuid, promptUuid) {
104
+ const response = await this.client.customAttacks.getPrompt(setUuid, promptUuid);
105
+ return normalizePrompt(response);
106
+ }
107
+ async updatePrompt(setUuid, promptUuid, request) {
108
+ const response = await this.client.customAttacks.updatePrompt(setUuid, promptUuid, request);
109
+ return normalizePrompt(response);
110
+ }
111
+ async deletePrompt(setUuid, promptUuid) {
112
+ await this.client.customAttacks.deletePrompt(setUuid, promptUuid);
113
+ }
114
+ async getPropertyNames() {
115
+ const response = await this.client.customAttacks.getPropertyNames();
116
+ const raw = response;
117
+ return raw.data ?? [];
118
+ }
119
+ async createPropertyName(name) {
120
+ const response = await this.client.customAttacks.createPropertyName({ name });
121
+ return response;
122
+ }
123
+ async getPropertyValues(name) {
124
+ const response = await this.client.customAttacks.getPropertyValues(name);
125
+ const raw = response;
126
+ return raw.data ?? [];
127
+ }
128
+ async createPropertyValue(name, value) {
129
+ const response = await this.client.customAttacks.createPropertyValue({ name, value });
130
+ return response;
131
+ }
132
+ }
133
+ //# sourceMappingURL=promptsets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptsets.js","sourceRoot":"","sources":["../../src/airs/promptsets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,yBAAyB,CAAC;AAUnF,4DAA4D;AAC5D,SAAS,kBAAkB,CAAC,GAA4B;IACtD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,MAAM,EAAE,GAAG,CAAC,MAAiB;QAC7B,OAAO,EAAE,GAAG,CAAC,OAAkB;QAC/B,WAAW,EAAE,GAAG,CAAC,WAAiC;QAClD,SAAS,EAAE,GAAG,CAAC,UAAgC;QAC/C,SAAS,EAAE,GAAG,CAAC,UAAgC;KAChD,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,SAAS,eAAe,CAAC,GAA4B;IACnD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,MAAM,EAAE,GAAG,CAAC,MAAgB;QAC5B,IAAI,EAAE,GAAG,CAAC,IAA0B;QACpC,MAAM,EAAE,GAAG,CAAC,MAAiB;QAC7B,WAAW,EAAE,GAAG,CAAC,aAAuB;KACzC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAgB;IAE9B,YAAY,IAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAAY,EACZ,WAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC;YAC/D,IAAI;YACJ,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,WAAmB,EACnB,MAAc,EACd,IAAa;QAEb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YAC5D,MAAM;YACN,aAAa,EAAE,WAAW;YAC1B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1B,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAClE,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,MAAM,EAAE,EAAE,CAAC,MAAM;SAClB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,kBAAkB,CAAC,QAA8C,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAAY,EACZ,OAAgD;QAEhD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,OAAgB,CAAC,CAAC;QACzF,OAAO,kBAAkB,CAAC,QAA8C,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,OAAgB;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAW,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,QAA8C,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAc;YACxB,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,KAAK,EAAE,GAAG,CAAC,KAAsC;SAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,sFAAsF;QACtF,wFAAwF;QACxF,yDAAyD;QACzD,wEAAwE;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAG7B,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,uCAAuC,IAAI,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,IAAU;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9E,OAAO,QAA0D,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAe,EACf,IAAwC;QAExC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5E,OACG,QAA+C,CAAC,IAClD,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,UAAkB;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChF,OAAO,eAAe,CAAC,QAA8C,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,UAAkB,EAClB,OAA2C;QAE3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAC3D,OAAO,EACP,UAAU,EACV,OAAgB,CACjB,CAAC;QACF,OAAO,eAAe,CAAC,QAA8C,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,UAAkB;QACpD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,QAAgD,CAAC;QAC7D,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAW,CAAC,CAAC;QACvF,OAAO,QAAmC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,QAAiD,CAAC;QAC9D,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY,EAAE,KAAa;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAW,CAAC,CAAC;QAC/F,OAAO,QAAoC,CAAC;IAC9C,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ import { type RedTeamClientOptions } from '@cdot65/prisma-airs-sdk';
2
+ import type { RedTeamAttack, RedTeamCategory, RedTeamCustomAttack, RedTeamCustomReport, RedTeamJob, RedTeamService, RedTeamStaticReport, RedTeamTarget, RedTeamTargetCreateRequest, RedTeamTargetDetail, RedTeamTargetUpdateRequest, TargetOperationOptions } from './types.js';
3
+ /**
4
+ * Wraps the SDK's RedTeamClient to implement RedTeamService.
5
+ * Provides scan creation, status polling, report retrieval, and target/category listing.
6
+ */
7
+ export declare class SdkRedTeamService implements RedTeamService {
8
+ private client;
9
+ constructor(opts?: RedTeamClientOptions);
10
+ listTargets(): Promise<RedTeamTarget[]>;
11
+ getTarget(uuid: string): Promise<RedTeamTargetDetail>;
12
+ createTarget(request: RedTeamTargetCreateRequest, opts?: TargetOperationOptions): Promise<RedTeamTargetDetail>;
13
+ updateTarget(uuid: string, request: RedTeamTargetUpdateRequest, opts?: TargetOperationOptions): Promise<RedTeamTargetDetail>;
14
+ deleteTarget(uuid: string): Promise<void>;
15
+ probeTarget(request: Record<string, unknown>): Promise<Record<string, unknown>>;
16
+ getTargetProfile(uuid: string): Promise<Record<string, unknown>>;
17
+ updateTargetProfile(uuid: string, request: Record<string, unknown>): Promise<Record<string, unknown>>;
18
+ createScan(request: {
19
+ name: string;
20
+ targetUuid: string;
21
+ jobType: string;
22
+ categories?: Record<string, unknown>;
23
+ customPromptSets?: string[];
24
+ }): Promise<RedTeamJob>;
25
+ getScan(jobId: string): Promise<RedTeamJob>;
26
+ listScans(opts?: {
27
+ status?: string;
28
+ jobType?: string;
29
+ targetId?: string;
30
+ limit?: number;
31
+ }): Promise<RedTeamJob[]>;
32
+ abortScan(jobId: string): Promise<void>;
33
+ getStaticReport(jobId: string): Promise<RedTeamStaticReport>;
34
+ getCustomReport(jobId: string): Promise<RedTeamCustomReport>;
35
+ listAttacks(jobId: string, opts?: {
36
+ severity?: string;
37
+ limit?: number;
38
+ }): Promise<RedTeamAttack[]>;
39
+ listCustomAttacks(jobId: string, opts?: {
40
+ limit?: number;
41
+ }): Promise<RedTeamCustomAttack[]>;
42
+ getCategories(): Promise<RedTeamCategory[]>;
43
+ waitForCompletion(jobId: string, onProgress?: (job: RedTeamJob) => void, intervalMs?: number): Promise<RedTeamJob>;
44
+ }
45
+ //# sourceMappingURL=redteam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redteam.d.ts","sourceRoot":"","sources":["../../src/airs/redteam.ts"],"names":[],"mappings":"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"}