@cdot65/prisma-airs-cli 2.11.0 → 3.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 (388) hide show
  1. package/README.md +27 -169
  2. package/dist/chunk-JXHYQFEK.js +1752 -0
  3. package/dist/cli/index.js +6511 -4
  4. package/dist/dlp-5XKWITZX.js +710 -0
  5. package/dist/index.d.ts +1396 -26
  6. package/dist/index.js +40 -37
  7. package/package.json +22 -25
  8. package/dist/airs/dlp/data-filtering-profiles.d.ts +0 -10
  9. package/dist/airs/dlp/data-filtering-profiles.d.ts.map +0 -1
  10. package/dist/airs/dlp/data-filtering-profiles.js +0 -17
  11. package/dist/airs/dlp/data-filtering-profiles.js.map +0 -1
  12. package/dist/airs/dlp/data-patterns.d.ts +0 -13
  13. package/dist/airs/dlp/data-patterns.d.ts.map +0 -1
  14. package/dist/airs/dlp/data-patterns.js +0 -26
  15. package/dist/airs/dlp/data-patterns.js.map +0 -1
  16. package/dist/airs/dlp/data-profiles.d.ts +0 -12
  17. package/dist/airs/dlp/data-profiles.d.ts.map +0 -1
  18. package/dist/airs/dlp/data-profiles.js +0 -23
  19. package/dist/airs/dlp/data-profiles.js.map +0 -1
  20. package/dist/airs/dlp/dictionaries.d.ts +0 -13
  21. package/dist/airs/dlp/dictionaries.d.ts.map +0 -1
  22. package/dist/airs/dlp/dictionaries.js +0 -34
  23. package/dist/airs/dlp/dictionaries.js.map +0 -1
  24. package/dist/airs/dlp/index.d.ts +0 -6
  25. package/dist/airs/dlp/index.d.ts.map +0 -1
  26. package/dist/airs/dlp/index.js +0 -6
  27. package/dist/airs/dlp/index.js.map +0 -1
  28. package/dist/airs/dlp/types.d.ts +0 -36
  29. package/dist/airs/dlp/types.d.ts.map +0 -1
  30. package/dist/airs/dlp/types.js +0 -2
  31. package/dist/airs/dlp/types.js.map +0 -1
  32. package/dist/airs/management.d.ts +0 -68
  33. package/dist/airs/management.d.ts.map +0 -1
  34. package/dist/airs/management.js +0 -317
  35. package/dist/airs/management.js.map +0 -1
  36. package/dist/airs/modelsecurity.d.ts +0 -74
  37. package/dist/airs/modelsecurity.d.ts.map +0 -1
  38. package/dist/airs/modelsecurity.js +0 -337
  39. package/dist/airs/modelsecurity.js.map +0 -1
  40. package/dist/airs/promptsets.d.ts +0 -50
  41. package/dist/airs/promptsets.d.ts.map +0 -1
  42. package/dist/airs/promptsets.js +0 -120
  43. package/dist/airs/promptsets.js.map +0 -1
  44. package/dist/airs/redteam.d.ts +0 -74
  45. package/dist/airs/redteam.d.ts.map +0 -1
  46. package/dist/airs/redteam.js +0 -406
  47. package/dist/airs/redteam.js.map +0 -1
  48. package/dist/airs/runtime.d.ts +0 -27
  49. package/dist/airs/runtime.d.ts.map +0 -1
  50. package/dist/airs/runtime.js +0 -158
  51. package/dist/airs/runtime.js.map +0 -1
  52. package/dist/airs/scanner.d.ts +0 -36
  53. package/dist/airs/scanner.d.ts.map +0 -1
  54. package/dist/airs/scanner.js +0 -101
  55. package/dist/airs/scanner.js.map +0 -1
  56. package/dist/airs/types.d.ts +0 -780
  57. package/dist/airs/types.d.ts.map +0 -1
  58. package/dist/airs/types.js +0 -6
  59. package/dist/airs/types.js.map +0 -1
  60. package/dist/audit/evaluator.d.ts +0 -17
  61. package/dist/audit/evaluator.d.ts.map +0 -1
  62. package/dist/audit/evaluator.js +0 -82
  63. package/dist/audit/evaluator.js.map +0 -1
  64. package/dist/audit/report.d.ts +0 -38
  65. package/dist/audit/report.d.ts.map +0 -1
  66. package/dist/audit/report.js +0 -141
  67. package/dist/audit/report.js.map +0 -1
  68. package/dist/audit/runner.d.ts +0 -18
  69. package/dist/audit/runner.d.ts.map +0 -1
  70. package/dist/audit/runner.js +0 -60
  71. package/dist/audit/runner.js.map +0 -1
  72. package/dist/audit/types.d.ts +0 -53
  73. package/dist/audit/types.d.ts.map +0 -1
  74. package/dist/audit/types.js +0 -5
  75. package/dist/audit/types.js.map +0 -1
  76. package/dist/backup/index.d.ts +0 -3
  77. package/dist/backup/index.d.ts.map +0 -1
  78. package/dist/backup/index.js +0 -3
  79. package/dist/backup/index.js.map +0 -1
  80. package/dist/backup/io.d.ts +0 -15
  81. package/dist/backup/io.d.ts.map +0 -1
  82. package/dist/backup/io.js +0 -67
  83. package/dist/backup/io.js.map +0 -1
  84. package/dist/backup/types.d.ts +0 -25
  85. package/dist/backup/types.d.ts.map +0 -1
  86. package/dist/backup/types.js +0 -2
  87. package/dist/backup/types.js.map +0 -1
  88. package/dist/cli/builders/profile-builder.d.ts +0 -45
  89. package/dist/cli/builders/profile-builder.d.ts.map +0 -1
  90. package/dist/cli/builders/profile-builder.js +0 -308
  91. package/dist/cli/builders/profile-builder.js.map +0 -1
  92. package/dist/cli/bulk-scan-state.d.ts +0 -15
  93. package/dist/cli/bulk-scan-state.d.ts.map +0 -1
  94. package/dist/cli/bulk-scan-state.js +0 -20
  95. package/dist/cli/bulk-scan-state.js.map +0 -1
  96. package/dist/cli/commands/audit.d.ts +0 -4
  97. package/dist/cli/commands/audit.d.ts.map +0 -1
  98. package/dist/cli/commands/audit.js +0 -113
  99. package/dist/cli/commands/audit.js.map +0 -1
  100. package/dist/cli/commands/backup.d.ts +0 -10
  101. package/dist/cli/commands/backup.d.ts.map +0 -1
  102. package/dist/cli/commands/backup.js +0 -102
  103. package/dist/cli/commands/backup.js.map +0 -1
  104. package/dist/cli/commands/dlp/build-body.d.ts +0 -28
  105. package/dist/cli/commands/dlp/build-body.d.ts.map +0 -1
  106. package/dist/cli/commands/dlp/build-body.js +0 -174
  107. package/dist/cli/commands/dlp/build-body.js.map +0 -1
  108. package/dist/cli/commands/dlp/dictionaries.d.ts +0 -3
  109. package/dist/cli/commands/dlp/dictionaries.d.ts.map +0 -1
  110. package/dist/cli/commands/dlp/dictionaries.js +0 -167
  111. package/dist/cli/commands/dlp/dictionaries.js.map +0 -1
  112. package/dist/cli/commands/dlp/filtering-profiles.d.ts +0 -3
  113. package/dist/cli/commands/dlp/filtering-profiles.d.ts.map +0 -1
  114. package/dist/cli/commands/dlp/filtering-profiles.js +0 -82
  115. package/dist/cli/commands/dlp/filtering-profiles.js.map +0 -1
  116. package/dist/cli/commands/dlp/generate.d.ts +0 -3
  117. package/dist/cli/commands/dlp/generate.d.ts.map +0 -1
  118. package/dist/cli/commands/dlp/generate.js +0 -51
  119. package/dist/cli/commands/dlp/generate.js.map +0 -1
  120. package/dist/cli/commands/dlp/index.d.ts +0 -3
  121. package/dist/cli/commands/dlp/index.d.ts.map +0 -1
  122. package/dist/cli/commands/dlp/index.js +0 -16
  123. package/dist/cli/commands/dlp/index.js.map +0 -1
  124. package/dist/cli/commands/dlp/patch.d.ts +0 -15
  125. package/dist/cli/commands/dlp/patch.d.ts.map +0 -1
  126. package/dist/cli/commands/dlp/patch.js +0 -70
  127. package/dist/cli/commands/dlp/patch.js.map +0 -1
  128. package/dist/cli/commands/dlp/patterns.d.ts +0 -3
  129. package/dist/cli/commands/dlp/patterns.d.ts.map +0 -1
  130. package/dist/cli/commands/dlp/patterns.js +0 -127
  131. package/dist/cli/commands/dlp/patterns.js.map +0 -1
  132. package/dist/cli/commands/dlp/profiles.d.ts +0 -3
  133. package/dist/cli/commands/dlp/profiles.d.ts.map +0 -1
  134. package/dist/cli/commands/dlp/profiles.js +0 -126
  135. package/dist/cli/commands/dlp/profiles.js.map +0 -1
  136. package/dist/cli/commands/modelsecurity.d.ts +0 -4
  137. package/dist/cli/commands/modelsecurity.d.ts.map +0 -1
  138. package/dist/cli/commands/modelsecurity.js +0 -605
  139. package/dist/cli/commands/modelsecurity.js.map +0 -1
  140. package/dist/cli/commands/profiles-cleanup.d.ts +0 -26
  141. package/dist/cli/commands/profiles-cleanup.d.ts.map +0 -1
  142. package/dist/cli/commands/profiles-cleanup.js +0 -113
  143. package/dist/cli/commands/profiles-cleanup.js.map +0 -1
  144. package/dist/cli/commands/redteam.d.ts +0 -12
  145. package/dist/cli/commands/redteam.d.ts.map +0 -1
  146. package/dist/cli/commands/redteam.js +0 -1071
  147. package/dist/cli/commands/redteam.js.map +0 -1
  148. package/dist/cli/commands/restore.d.ts +0 -11
  149. package/dist/cli/commands/restore.d.ts.map +0 -1
  150. package/dist/cli/commands/restore.js +0 -109
  151. package/dist/cli/commands/restore.js.map +0 -1
  152. package/dist/cli/commands/runtime.d.ts +0 -6
  153. package/dist/cli/commands/runtime.d.ts.map +0 -1
  154. package/dist/cli/commands/runtime.js +0 -822
  155. package/dist/cli/commands/runtime.js.map +0 -1
  156. package/dist/cli/commands/topics-apply.d.ts +0 -16
  157. package/dist/cli/commands/topics-apply.d.ts.map +0 -1
  158. package/dist/cli/commands/topics-apply.js +0 -69
  159. package/dist/cli/commands/topics-apply.js.map +0 -1
  160. package/dist/cli/commands/topics-create.d.ts +0 -16
  161. package/dist/cli/commands/topics-create.d.ts.map +0 -1
  162. package/dist/cli/commands/topics-create.js +0 -71
  163. package/dist/cli/commands/topics-create.js.map +0 -1
  164. package/dist/cli/commands/topics-eval.d.ts +0 -7
  165. package/dist/cli/commands/topics-eval.d.ts.map +0 -1
  166. package/dist/cli/commands/topics-eval.js +0 -65
  167. package/dist/cli/commands/topics-eval.js.map +0 -1
  168. package/dist/cli/commands/topics-revert.d.ts +0 -9
  169. package/dist/cli/commands/topics-revert.d.ts.map +0 -1
  170. package/dist/cli/commands/topics-revert.js +0 -52
  171. package/dist/cli/commands/topics-revert.js.map +0 -1
  172. package/dist/cli/commands/topics-sample.d.ts +0 -4
  173. package/dist/cli/commands/topics-sample.d.ts.map +0 -1
  174. package/dist/cli/commands/topics-sample.js +0 -27
  175. package/dist/cli/commands/topics-sample.js.map +0 -1
  176. package/dist/cli/debug-logger.d.ts +0 -11
  177. package/dist/cli/debug-logger.d.ts.map +0 -1
  178. package/dist/cli/debug-logger.js +0 -137
  179. package/dist/cli/debug-logger.js.map +0 -1
  180. package/dist/cli/index.d.ts +0 -3
  181. package/dist/cli/index.d.ts.map +0 -1
  182. package/dist/cli/index.js.map +0 -1
  183. package/dist/cli/parse-input.d.ts +0 -9
  184. package/dist/cli/parse-input.d.ts.map +0 -1
  185. package/dist/cli/parse-input.js +0 -109
  186. package/dist/cli/parse-input.js.map +0 -1
  187. package/dist/cli/program.d.ts +0 -3
  188. package/dist/cli/program.d.ts.map +0 -1
  189. package/dist/cli/program.js +0 -32
  190. package/dist/cli/program.js.map +0 -1
  191. package/dist/cli/renderer/audit.d.ts +0 -11
  192. package/dist/cli/renderer/audit.d.ts.map +0 -1
  193. package/dist/cli/renderer/audit.js +0 -58
  194. package/dist/cli/renderer/audit.js.map +0 -1
  195. package/dist/cli/renderer/backup.d.ts +0 -8
  196. package/dist/cli/renderer/backup.d.ts.map +0 -1
  197. package/dist/cli/renderer/backup.js +0 -50
  198. package/dist/cli/renderer/backup.js.map +0 -1
  199. package/dist/cli/renderer/common.d.ts +0 -14
  200. package/dist/cli/renderer/common.d.ts.map +0 -1
  201. package/dist/cli/renderer/common.js +0 -50
  202. package/dist/cli/renderer/common.js.map +0 -1
  203. package/dist/cli/renderer/dlp.d.ts +0 -34
  204. package/dist/cli/renderer/dlp.d.ts.map +0 -1
  205. package/dist/cli/renderer/dlp.js +0 -348
  206. package/dist/cli/renderer/dlp.js.map +0 -1
  207. package/dist/cli/renderer/eval.d.ts +0 -30
  208. package/dist/cli/renderer/eval.d.ts.map +0 -1
  209. package/dist/cli/renderer/eval.js +0 -61
  210. package/dist/cli/renderer/eval.js.map +0 -1
  211. package/dist/cli/renderer/index.d.ts +0 -9
  212. package/dist/cli/renderer/index.d.ts.map +0 -1
  213. package/dist/cli/renderer/index.js +0 -9
  214. package/dist/cli/renderer/index.js.map +0 -1
  215. package/dist/cli/renderer/modelsecurity.d.ts +0 -35
  216. package/dist/cli/renderer/modelsecurity.d.ts.map +0 -1
  217. package/dist/cli/renderer/modelsecurity.js +0 -339
  218. package/dist/cli/renderer/modelsecurity.js.map +0 -1
  219. package/dist/cli/renderer/redteam.d.ts +0 -216
  220. package/dist/cli/renderer/redteam.d.ts.map +0 -1
  221. package/dist/cli/renderer/redteam.js +0 -471
  222. package/dist/cli/renderer/redteam.js.map +0 -1
  223. package/dist/cli/renderer/runtime.d.ts +0 -107
  224. package/dist/cli/renderer/runtime.d.ts.map +0 -1
  225. package/dist/cli/renderer/runtime.js +0 -359
  226. package/dist/cli/renderer/runtime.js.map +0 -1
  227. package/dist/config/loader.d.ts +0 -3
  228. package/dist/config/loader.d.ts.map +0 -1
  229. package/dist/config/loader.js +0 -59
  230. package/dist/config/loader.js.map +0 -1
  231. package/dist/config/schema.d.ts +0 -63
  232. package/dist/config/schema.d.ts.map +0 -1
  233. package/dist/config/schema.js +0 -38
  234. package/dist/config/schema.js.map +0 -1
  235. package/dist/core/constraints.d.ts +0 -19
  236. package/dist/core/constraints.d.ts.map +0 -1
  237. package/dist/core/constraints.js +0 -82
  238. package/dist/core/constraints.js.map +0 -1
  239. package/dist/core/metrics.d.ts +0 -13
  240. package/dist/core/metrics.d.ts.map +0 -1
  241. package/dist/core/metrics.js +0 -73
  242. package/dist/core/metrics.js.map +0 -1
  243. package/dist/core/prompt-loader.d.ts +0 -14
  244. package/dist/core/prompt-loader.d.ts.map +0 -1
  245. package/dist/core/prompt-loader.js +0 -122
  246. package/dist/core/prompt-loader.js.map +0 -1
  247. package/dist/core/types.d.ts +0 -96
  248. package/dist/core/types.d.ts.map +0 -1
  249. package/dist/core/types.js +0 -5
  250. package/dist/core/types.js.map +0 -1
  251. package/dist/dlp/embed/docx.d.ts +0 -3
  252. package/dist/dlp/embed/docx.d.ts.map +0 -1
  253. package/dist/dlp/embed/docx.js +0 -54
  254. package/dist/dlp/embed/docx.js.map +0 -1
  255. package/dist/dlp/embed/index.d.ts +0 -6
  256. package/dist/dlp/embed/index.d.ts.map +0 -1
  257. package/dist/dlp/embed/index.js +0 -20
  258. package/dist/dlp/embed/index.js.map +0 -1
  259. package/dist/dlp/embed/jpeg.d.ts +0 -5
  260. package/dist/dlp/embed/jpeg.d.ts.map +0 -1
  261. package/dist/dlp/embed/jpeg.js +0 -60
  262. package/dist/dlp/embed/jpeg.js.map +0 -1
  263. package/dist/dlp/embed/pdf.d.ts +0 -7
  264. package/dist/dlp/embed/pdf.d.ts.map +0 -1
  265. package/dist/dlp/embed/pdf.js +0 -92
  266. package/dist/dlp/embed/pdf.js.map +0 -1
  267. package/dist/dlp/embed/png-chunks.d.ts +0 -12
  268. package/dist/dlp/embed/png-chunks.d.ts.map +0 -1
  269. package/dist/dlp/embed/png-chunks.js +0 -85
  270. package/dist/dlp/embed/png-chunks.js.map +0 -1
  271. package/dist/dlp/embed/png.d.ts +0 -5
  272. package/dist/dlp/embed/png.d.ts.map +0 -1
  273. package/dist/dlp/embed/png.js +0 -68
  274. package/dist/dlp/embed/png.js.map +0 -1
  275. package/dist/dlp/embed/svg.d.ts +0 -3
  276. package/dist/dlp/embed/svg.d.ts.map +0 -1
  277. package/dist/dlp/embed/svg.js +0 -28
  278. package/dist/dlp/embed/svg.js.map +0 -1
  279. package/dist/dlp/embed/zip.d.ts +0 -3
  280. package/dist/dlp/embed/zip.d.ts.map +0 -1
  281. package/dist/dlp/embed/zip.js +0 -25
  282. package/dist/dlp/embed/zip.js.map +0 -1
  283. package/dist/dlp/generate/docx.d.ts +0 -3
  284. package/dist/dlp/generate/docx.d.ts.map +0 -1
  285. package/dist/dlp/generate/docx.js +0 -24
  286. package/dist/dlp/generate/docx.js.map +0 -1
  287. package/dist/dlp/generate/index.d.ts +0 -5
  288. package/dist/dlp/generate/index.d.ts.map +0 -1
  289. package/dist/dlp/generate/index.js +0 -21
  290. package/dist/dlp/generate/index.js.map +0 -1
  291. package/dist/dlp/generate/jpeg.d.ts +0 -3
  292. package/dist/dlp/generate/jpeg.d.ts.map +0 -1
  293. package/dist/dlp/generate/jpeg.js +0 -8
  294. package/dist/dlp/generate/jpeg.js.map +0 -1
  295. package/dist/dlp/generate/pdf.d.ts +0 -3
  296. package/dist/dlp/generate/pdf.d.ts.map +0 -1
  297. package/dist/dlp/generate/pdf.js +0 -19
  298. package/dist/dlp/generate/pdf.js.map +0 -1
  299. package/dist/dlp/generate/png.d.ts +0 -3
  300. package/dist/dlp/generate/png.d.ts.map +0 -1
  301. package/dist/dlp/generate/png.js +0 -8
  302. package/dist/dlp/generate/png.js.map +0 -1
  303. package/dist/dlp/generate/raster.d.ts +0 -9
  304. package/dist/dlp/generate/raster.d.ts.map +0 -1
  305. package/dist/dlp/generate/raster.js +0 -20
  306. package/dist/dlp/generate/raster.js.map +0 -1
  307. package/dist/dlp/generate/svg.d.ts +0 -3
  308. package/dist/dlp/generate/svg.d.ts.map +0 -1
  309. package/dist/dlp/generate/svg.js +0 -17
  310. package/dist/dlp/generate/svg.js.map +0 -1
  311. package/dist/dlp/index.d.ts +0 -15
  312. package/dist/dlp/index.d.ts.map +0 -1
  313. package/dist/dlp/index.js +0 -54
  314. package/dist/dlp/index.js.map +0 -1
  315. package/dist/dlp/lorem.d.ts +0 -3
  316. package/dist/dlp/lorem.d.ts.map +0 -1
  317. package/dist/dlp/lorem.js +0 -65
  318. package/dist/dlp/lorem.js.map +0 -1
  319. package/dist/dlp/manifest.d.ts +0 -11
  320. package/dist/dlp/manifest.d.ts.map +0 -1
  321. package/dist/dlp/manifest.js +0 -14
  322. package/dist/dlp/manifest.js.map +0 -1
  323. package/dist/dlp/payload.d.ts +0 -6
  324. package/dist/dlp/payload.d.ts.map +0 -1
  325. package/dist/dlp/payload.js +0 -62
  326. package/dist/dlp/payload.js.map +0 -1
  327. package/dist/dlp/rng.d.ts +0 -9
  328. package/dist/dlp/rng.d.ts.map +0 -1
  329. package/dist/dlp/rng.js +0 -28
  330. package/dist/dlp/rng.js.map +0 -1
  331. package/dist/dlp/types.d.ts +0 -26
  332. package/dist/dlp/types.d.ts.map +0 -1
  333. package/dist/dlp/types.js +0 -2
  334. package/dist/dlp/types.js.map +0 -1
  335. package/dist/index.d.ts.map +0 -1
  336. package/dist/index.js.map +0 -1
  337. package/dist/llm/prompts/analyze-results.d.ts +0 -3
  338. package/dist/llm/prompts/analyze-results.d.ts.map +0 -1
  339. package/dist/llm/prompts/analyze-results.js +0 -52
  340. package/dist/llm/prompts/analyze-results.js.map +0 -1
  341. package/dist/llm/prompts/generate-companion.d.ts +0 -3
  342. package/dist/llm/prompts/generate-companion.d.ts.map +0 -1
  343. package/dist/llm/prompts/generate-companion.js +0 -42
  344. package/dist/llm/prompts/generate-companion.js.map +0 -1
  345. package/dist/llm/prompts/generate-tests.d.ts +0 -3
  346. package/dist/llm/prompts/generate-tests.d.ts.map +0 -1
  347. package/dist/llm/prompts/generate-tests.js +0 -46
  348. package/dist/llm/prompts/generate-tests.js.map +0 -1
  349. package/dist/llm/prompts/generate-topic.d.ts +0 -4
  350. package/dist/llm/prompts/generate-topic.d.ts.map +0 -1
  351. package/dist/llm/prompts/generate-topic.js +0 -41
  352. package/dist/llm/prompts/generate-topic.js.map +0 -1
  353. package/dist/llm/prompts/improve-topic.d.ts +0 -3
  354. package/dist/llm/prompts/improve-topic.d.ts.map +0 -1
  355. package/dist/llm/prompts/improve-topic.js +0 -77
  356. package/dist/llm/prompts/improve-topic.js.map +0 -1
  357. package/dist/llm/prompts/simplify-topic.d.ts +0 -3
  358. package/dist/llm/prompts/simplify-topic.d.ts.map +0 -1
  359. package/dist/llm/prompts/simplify-topic.js +0 -50
  360. package/dist/llm/prompts/simplify-topic.js.map +0 -1
  361. package/dist/llm/provider.d.ts +0 -21
  362. package/dist/llm/provider.d.ts.map +0 -1
  363. package/dist/llm/provider.js +0 -76
  364. package/dist/llm/provider.js.map +0 -1
  365. package/dist/llm/schemas.d.ts +0 -97
  366. package/dist/llm/schemas.d.ts.map +0 -1
  367. package/dist/llm/schemas.js +0 -24
  368. package/dist/llm/schemas.js.map +0 -1
  369. package/dist/llm/service.d.ts +0 -34
  370. package/dist/llm/service.d.ts.map +0 -1
  371. package/dist/llm/service.js +0 -268
  372. package/dist/llm/service.js.map +0 -1
  373. package/dist/llm/types.d.ts +0 -18
  374. package/dist/llm/types.d.ts.map +0 -1
  375. package/dist/llm/types.js +0 -2
  376. package/dist/llm/types.js.map +0 -1
  377. package/dist/report/html.d.ts +0 -6
  378. package/dist/report/html.d.ts.map +0 -1
  379. package/dist/report/html.js +0 -200
  380. package/dist/report/html.js.map +0 -1
  381. package/dist/report/json.d.ts +0 -11
  382. package/dist/report/json.d.ts.map +0 -1
  383. package/dist/report/json.js +0 -74
  384. package/dist/report/json.js.map +0 -1
  385. package/dist/report/types.d.ts +0 -58
  386. package/dist/report/types.d.ts.map +0 -1
  387. package/dist/report/types.js +0 -5
  388. package/dist/report/types.js.map +0 -1
@@ -1,406 +0,0 @@
1
- import { RedTeamClient } from '@cdot65/prisma-airs-sdk';
2
- const TERMINAL_STATUSES = new Set(['COMPLETED', 'PARTIALLY_COMPLETE', 'FAILED', 'ABORTED']);
3
- export const DEFAULT_DYNAMIC_BREADTH = 6;
4
- export const DEFAULT_DYNAMIC_DEPTH = 10;
5
- /** Normalize an SDK job response into a RedTeamJob. */
6
- function normalizeJob(raw) {
7
- const target = raw.target;
8
- return {
9
- uuid: raw.uuid,
10
- name: raw.name,
11
- status: raw.status,
12
- jobType: raw.job_type,
13
- targetId: raw.target_id,
14
- targetName: target?.name,
15
- score: raw.score,
16
- asr: raw.asr,
17
- total: raw.total,
18
- completed: raw.completed,
19
- createdAt: raw.created_at,
20
- };
21
- }
22
- /**
23
- * Map known Mustache-style severity tokens in static-report summaries to
24
- * readable strings. Upstream's report renderer occasionally ships placeholders
25
- * like `{{HIGH_RISK}}` un-interpolated. Unknown `{{...}}` tokens are left
26
- * intact so future upstream additions remain visible instead of silently
27
- * stripped.
28
- */
29
- const REPORT_SUMMARY_TOKENS = {
30
- '{{CRITICAL_RISK}}': 'critical risk',
31
- '{{HIGH_RISK}}': 'high risk',
32
- '{{MEDIUM_RISK}}': 'medium risk',
33
- '{{LOW_RISK}}': 'low risk',
34
- '{{INFORMATIONAL_RISK}}': 'informational risk',
35
- };
36
- export function interpolateReportSummary(summary) {
37
- if (summary == null || summary === '')
38
- return summary;
39
- let out = summary;
40
- for (const [token, replacement] of Object.entries(REPORT_SUMMARY_TOKENS)) {
41
- if (out.includes(token))
42
- out = out.split(token).join(replacement);
43
- }
44
- return out;
45
- }
46
- /**
47
- * Drop noisy "you didn't opt in" fields from `target_metadata` when the
48
- * corresponding feature is disabled. `multi_turn_error_message` always comes
49
- * back populated, but it's only a real error when `multi_turn === true`.
50
- */
51
- export function sanitizeTargetMetadata(metadata) {
52
- if (!metadata)
53
- return metadata;
54
- if (metadata.multi_turn === false && 'multi_turn_error_message' in metadata) {
55
- const { multi_turn_error_message: _drop, ...rest } = metadata;
56
- return rest;
57
- }
58
- return metadata;
59
- }
60
- /** Normalize an SDK target response into a RedTeamTargetDetail. */
61
- function normalizeTargetDetail(raw) {
62
- return {
63
- uuid: raw.uuid,
64
- name: raw.name,
65
- status: raw.status,
66
- targetType: raw.target_type,
67
- active: raw.active,
68
- connectionType: raw.connection_type,
69
- apiEndpointType: raw.api_endpoint_type,
70
- responseMode: raw.response_mode,
71
- authType: raw.auth_type,
72
- authConfig: raw.auth_config,
73
- networkBrokerChannelUuid: raw.network_broker_channel_uuid,
74
- sessionSupported: raw.session_supported,
75
- extraInfo: raw.extra_info,
76
- description: raw.description,
77
- connectionParams: raw.connection_params,
78
- background: raw.target_background,
79
- additionalContext: raw.additional_context,
80
- metadata: sanitizeTargetMetadata(raw.target_metadata),
81
- };
82
- }
83
- /**
84
- * Wraps the SDK's RedTeamClient to implement RedTeamService.
85
- * Provides scan creation, status polling, report retrieval, and target/category listing.
86
- */
87
- export class SdkRedTeamService {
88
- client;
89
- constructor(opts) {
90
- this.client = new RedTeamClient(opts);
91
- }
92
- async getEulaContent() {
93
- const response = (await this.client.eula.getContent());
94
- return { content: response.content };
95
- }
96
- async getEulaStatus() {
97
- const raw = (await this.client.eula.getStatus());
98
- return {
99
- isAccepted: raw.is_accepted,
100
- acceptedAt: raw.accepted_at,
101
- acceptedByUserId: raw.accepted_by_user_id,
102
- };
103
- }
104
- async acceptEula(eulaContent) {
105
- const raw = (await this.client.eula.accept({
106
- eula_content: eulaContent,
107
- accepted_at: new Date().toISOString(),
108
- }));
109
- return {
110
- isAccepted: raw.is_accepted,
111
- acceptedAt: raw.accepted_at,
112
- acceptedByUserId: raw.accepted_by_user_id,
113
- };
114
- }
115
- async createInstance(request) {
116
- const raw = (await this.client.instances.createInstance({
117
- tsg_id: request.tsgId,
118
- tenant_id: request.tenantId,
119
- app_id: request.appId,
120
- region: request.region,
121
- }));
122
- return {
123
- tsgId: raw.tsg_id,
124
- tenantId: raw.tenant_id,
125
- appId: raw.app_id,
126
- isSuccess: raw.is_success,
127
- };
128
- }
129
- async getInstance(tenantId) {
130
- const raw = (await this.client.instances.getInstance(tenantId));
131
- return {
132
- tsgId: raw.tsg_id,
133
- tenantId: raw.tenant_id,
134
- appId: raw.app_id,
135
- region: raw.region,
136
- };
137
- }
138
- async updateInstance(tenantId, request) {
139
- const raw = (await this.client.instances.updateInstance(tenantId, {
140
- tsg_id: request.tsgId,
141
- tenant_id: request.tenantId,
142
- app_id: request.appId,
143
- region: request.region,
144
- }));
145
- return {
146
- tsgId: raw.tsg_id,
147
- tenantId: raw.tenant_id,
148
- appId: raw.app_id,
149
- isSuccess: raw.is_success,
150
- };
151
- }
152
- async deleteInstance(tenantId) {
153
- const raw = (await this.client.instances.deleteInstance(tenantId));
154
- return {
155
- tsgId: raw.tsg_id,
156
- tenantId: raw.tenant_id,
157
- appId: raw.app_id,
158
- isSuccess: raw.is_success,
159
- };
160
- }
161
- async createDevices(tenantId, request) {
162
- return (await this.client.instances.createDevices(tenantId, request));
163
- }
164
- async updateDevices(tenantId, request) {
165
- return (await this.client.instances.updateDevices(tenantId, request));
166
- }
167
- async deleteDevices(tenantId, serialNumbers) {
168
- return (await this.client.instances.deleteDevices(tenantId, serialNumbers));
169
- }
170
- async getRegistryCredentials() {
171
- const raw = (await this.client.instances.getRegistryCredentials());
172
- return {
173
- token: raw.token,
174
- expiry: raw.expiry,
175
- };
176
- }
177
- async validateTargetAuth(request) {
178
- const sdkRequest = {
179
- auth_type: request.authType,
180
- auth_config: request.authConfig,
181
- };
182
- if (request.targetId)
183
- sdkRequest.target_id = request.targetId;
184
- const raw = (await this.client.targets.validateAuth(sdkRequest));
185
- return {
186
- validated: raw.validated,
187
- tokenPreview: raw.token_preview,
188
- expiresIn: raw.expires_in,
189
- };
190
- }
191
- async getTargetMetadata() {
192
- return (await this.client.targets.getTargetMetadata());
193
- }
194
- async getTargetTemplates() {
195
- return (await this.client.targets.getTargetTemplates());
196
- }
197
- async listTargets() {
198
- const all = [];
199
- let skip = 0;
200
- const limit = 100;
201
- for (;;) {
202
- const response = this.client.targets.list({ skip, limit });
203
- const body = await response;
204
- const data = body.data;
205
- for (const t of data) {
206
- all.push({
207
- uuid: t.uuid,
208
- name: t.name,
209
- status: t.status,
210
- targetType: t.target_type,
211
- active: t.active,
212
- });
213
- }
214
- const pagination = body.pagination;
215
- if (!pagination || all.length >= (pagination.total ?? data.length) || data.length < limit) {
216
- break;
217
- }
218
- skip += limit;
219
- }
220
- return all;
221
- }
222
- async getTarget(uuid) {
223
- const response = await this.client.targets.get(uuid);
224
- return normalizeTargetDetail(response);
225
- }
226
- async createTarget(request, opts) {
227
- const response = await this.client.targets.create(request, opts);
228
- return normalizeTargetDetail(response);
229
- }
230
- async updateTarget(uuid, request, opts) {
231
- const response = await this.client.targets.update(uuid, request, opts);
232
- return normalizeTargetDetail(response);
233
- }
234
- async deleteTarget(uuid) {
235
- await this.client.targets.delete(uuid);
236
- }
237
- async probeTarget(request) {
238
- const response = await this.client.targets.probe(request);
239
- const raw = response;
240
- const meta = raw.target_metadata;
241
- if (meta && typeof meta === 'object') {
242
- raw.target_metadata = sanitizeTargetMetadata(meta);
243
- }
244
- return raw;
245
- }
246
- async getTargetProfile(uuid) {
247
- const response = await this.client.targets.getProfile(uuid);
248
- return response;
249
- }
250
- async updateTargetProfile(uuid, request) {
251
- const response = await this.client.targets.updateProfile(uuid, request);
252
- return response;
253
- }
254
- async createScan(request) {
255
- let jobMetadata = {};
256
- if (request.jobType === 'STATIC' && request.categories) {
257
- jobMetadata = { categories: request.categories };
258
- }
259
- else if (request.jobType === 'CUSTOM' && request.customPromptSets) {
260
- jobMetadata = {
261
- custom_prompt_sets: request.customPromptSets,
262
- };
263
- }
264
- else if (request.jobType === 'DYNAMIC') {
265
- jobMetadata = {
266
- stream_breadth: request.streamBreadth ?? DEFAULT_DYNAMIC_BREADTH,
267
- stream_depth: request.streamDepth ?? DEFAULT_DYNAMIC_DEPTH,
268
- ...(request.attackGoals?.length ? { attack_goals: request.attackGoals } : {}),
269
- };
270
- }
271
- const response = await this.client.scans.create({
272
- name: request.name,
273
- target: { uuid: request.targetUuid },
274
- job_type: request.jobType,
275
- job_metadata: jobMetadata,
276
- });
277
- return normalizeJob(response);
278
- }
279
- async getScan(jobId) {
280
- const response = await this.client.scans.get(jobId);
281
- return normalizeJob(response);
282
- }
283
- async listScans(opts) {
284
- const sdkOpts = {};
285
- if (opts?.status)
286
- sdkOpts.status = opts.status;
287
- if (opts?.jobType)
288
- sdkOpts.job_type = opts.jobType;
289
- if (opts?.targetId)
290
- sdkOpts.target_id = opts.targetId;
291
- if (opts?.limit)
292
- sdkOpts.limit = opts.limit;
293
- const response = await this.client.scans.list(sdkOpts);
294
- return response.data.map(normalizeJob);
295
- }
296
- async abortScan(jobId) {
297
- await this.client.scans.abort(jobId);
298
- }
299
- async getStaticReport(jobId) {
300
- const raw = (await this.client.reports.getStaticReport(jobId));
301
- const severityReport = raw.severity_report;
302
- const stats = (severityReport?.stats ?? []);
303
- const securityReport = raw.security_report;
304
- const subCategories = (securityReport?.sub_categories ?? []);
305
- return {
306
- score: raw.score,
307
- asr: raw.asr,
308
- severityBreakdown: stats.map((s) => ({
309
- severity: s.severity,
310
- successful: (s.successful ?? 0),
311
- failed: (s.failed ?? 0),
312
- })),
313
- reportSummary: interpolateReportSummary(raw.report_summary),
314
- categories: subCategories.map((sc) => {
315
- const successful = (sc.successful ?? 0);
316
- const failed = (sc.failed ?? 0);
317
- const total = (sc.total ?? successful + failed);
318
- return {
319
- id: sc.id,
320
- displayName: sc.display_name,
321
- asr: total > 0 ? (successful / total) * 100 : 0,
322
- successful,
323
- failed,
324
- total,
325
- };
326
- }),
327
- };
328
- }
329
- async getCustomReport(jobId) {
330
- const raw = (await this.client.customAttackReports.getReport(jobId));
331
- const reports = (raw.custom_attack_reports ?? []);
332
- return {
333
- totalPrompts: raw.total_prompts,
334
- totalAttacks: raw.total_attacks,
335
- totalThreats: raw.total_threats,
336
- failedAttacks: raw.failed_attacks,
337
- score: raw.score,
338
- asr: raw.asr,
339
- promptSets: reports.map((r) => ({
340
- promptSetId: r.prompt_set_id,
341
- promptSetName: r.prompt_set_name,
342
- totalPrompts: r.total_prompts,
343
- totalAttacks: r.total_attacks,
344
- totalThreats: r.total_threats,
345
- threatRate: r.threat_rate,
346
- })),
347
- };
348
- }
349
- async listAttacks(jobId, opts) {
350
- const response = (await this.client.reports.listAttacks(jobId, opts));
351
- const data = (response.data ?? []);
352
- const pagination = response.pagination;
353
- return {
354
- attacks: data.map((a) => ({
355
- id: a.uuid,
356
- name: a.attack_name,
357
- severity: a.severity,
358
- category: a.category,
359
- subCategory: a.sub_category,
360
- subCategoryDisplayName: a.sub_category_display_name,
361
- successful: (a.threat ?? false),
362
- })),
363
- totalItems: pagination?.total_items,
364
- };
365
- }
366
- async listCustomAttacks(jobId, opts) {
367
- const response = await this.client.customAttackReports.listCustomAttacks(jobId, opts);
368
- return response.data.map((a) => ({
369
- promptId: a.prompt_id,
370
- promptText: a.prompt_text,
371
- goal: a.goal,
372
- threat: (a.threat ?? false),
373
- asr: a.asr,
374
- promptSetName: a.prompt_set_name,
375
- }));
376
- }
377
- async getCategories() {
378
- const response = (await this.client.scans.getCategories());
379
- return response.map((c) => ({
380
- id: c.id,
381
- displayName: c.display_name,
382
- description: c.description,
383
- subCategories: (c.sub_categories ?? []).map((sc) => ({
384
- id: sc.id,
385
- displayName: sc.display_name,
386
- description: sc.description,
387
- })),
388
- }));
389
- }
390
- async waitForCompletion(jobId, onProgress, intervalMs = 5000) {
391
- const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
392
- // eslint-disable-next-line no-constant-condition
393
- while (true) {
394
- const job = await this.getScan(jobId);
395
- onProgress?.(job);
396
- if (job.status === 'FAILED') {
397
- throw new Error(`Scan ${jobId} failed`);
398
- }
399
- if (TERMINAL_STATUSES.has(job.status)) {
400
- return job;
401
- }
402
- await delay(intervalMs);
403
- }
404
- }
405
- }
406
- //# sourceMappingURL=redteam.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redteam.js","sourceRoot":"","sources":["../../src/airs/redteam.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { RuntimeScanResult, RuntimeService } from './types.js';
2
- export interface PollRetryOptions {
3
- /** Max retries per rate-limit error before giving up. Default: 5. */
4
- maxRetries?: number;
5
- /** Base delay in ms for exponential backoff. Default: 10000. */
6
- baseDelayMs?: number;
7
- /** Called on each retry with (attempt, delayMs). */
8
- onRetry?: (attempt: number, delayMs: number) => void;
9
- }
10
- export declare class SdkRuntimeService implements RuntimeService {
11
- private scanner;
12
- constructor(apiKey: string);
13
- scanPrompt(profileName: string, prompt: string, response?: string): Promise<RuntimeScanResult>;
14
- submitBulkScan(profileName: string, prompts: string[], sessionId?: string): Promise<string[]>;
15
- /**
16
- * Poll async scan results until all complete or fail.
17
- *
18
- * Note: The async query API (`queryByScanIds`) does not return `prompt`,
19
- * `response`, `triggered`, or `detections` fields. These are set to
20
- * defaults (`''`, `undefined`, `false`, `{}`) in the returned results.
21
- * Use `scanPrompt()` (sync API) when these fields are needed.
22
- */
23
- pollResults(scanIds: string[], intervalMs?: number, retryOpts?: PollRetryOptions): Promise<RuntimeScanResult[]>;
24
- private processQueryResults;
25
- static formatResultsCsv(results: RuntimeScanResult[]): string;
26
- }
27
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/airs/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOpE,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAUD,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,OAAO,CAA+B;gBAElC,MAAM,EAAE,MAAM;IAKpB,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC;IAgCvB,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBpB;;;;;;;OAOG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,SAA2B,EACrC,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAqD/B,OAAO,CAAC,mBAAmB;IAsC3B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM;CAQ9D"}
@@ -1,158 +0,0 @@
1
- import { Content, init, Scanner } from '@cdot65/prisma-airs-sdk';
2
- const BATCH_SIZE = 5;
3
- const DEFAULT_POLL_INTERVAL_MS = 5000;
4
- const DEFAULT_MAX_RETRIES = 5;
5
- const DEFAULT_BASE_DELAY_MS = 10_000;
6
- function isRateLimitError(err) {
7
- if (err instanceof Error) {
8
- const msg = err.message.toLowerCase();
9
- return msg.includes('rate limit') || msg.includes('rate_limit') || msg.includes('429');
10
- }
11
- return false;
12
- }
13
- export class SdkRuntimeService {
14
- scanner;
15
- constructor(apiKey) {
16
- init({ apiKey });
17
- this.scanner = new Scanner();
18
- }
19
- async scanPrompt(profileName, prompt, response) {
20
- const contentOpts = { prompt };
21
- if (response)
22
- contentOpts.response = response;
23
- const content = new Content(contentOpts);
24
- const res = await this.scanner.syncScan({ profile_name: profileName }, content, undefined);
25
- const detected = res.prompt_detected ?? {};
26
- // Runtime scanning aggregates all 6 detection types — intentionally broader than
27
- // the guardrail loop's topic_violation-only signal. Runtime is a general-purpose
28
- // firewall check, not topic-specific evaluation.
29
- const triggered = !!(detected.topic_violation ||
30
- detected.injection ||
31
- detected.toxic_content ||
32
- detected.dlp ||
33
- detected.url_cats ||
34
- detected.malicious_code);
35
- return {
36
- prompt,
37
- response,
38
- scanId: res.scan_id ?? '',
39
- reportId: res.report_id ?? '',
40
- action: res.action === 'block' ? 'block' : 'allow',
41
- category: res.category ?? 'unknown',
42
- triggered,
43
- detections: detected,
44
- };
45
- }
46
- async submitBulkScan(profileName, prompts, sessionId) {
47
- const scanIds = [];
48
- for (let i = 0; i < prompts.length; i += BATCH_SIZE) {
49
- const batch = prompts.slice(i, i + BATCH_SIZE);
50
- const scanObjects = batch.map((prompt, idx) => ({
51
- req_id: i + idx,
52
- scan_req: {
53
- ai_profile: { profile_name: profileName },
54
- contents: [{ prompt }],
55
- ...(sessionId ? { session_id: sessionId } : {}),
56
- },
57
- }));
58
- const res = await this.scanner.asyncScan(scanObjects);
59
- scanIds.push(res.scan_id);
60
- }
61
- return scanIds;
62
- }
63
- /**
64
- * Poll async scan results until all complete or fail.
65
- *
66
- * Note: The async query API (`queryByScanIds`) does not return `prompt`,
67
- * `response`, `triggered`, or `detections` fields. These are set to
68
- * defaults (`''`, `undefined`, `false`, `{}`) in the returned results.
69
- * Use `scanPrompt()` (sync API) when these fields are needed.
70
- */
71
- async pollResults(scanIds, intervalMs = DEFAULT_POLL_INTERVAL_MS, retryOpts) {
72
- const maxRetries = retryOpts?.maxRetries ?? DEFAULT_MAX_RETRIES;
73
- const baseDelay = retryOpts?.baseDelayMs ?? DEFAULT_BASE_DELAY_MS;
74
- const completed = new Map();
75
- const pending = new Set(scanIds);
76
- let retryLevel = 0;
77
- while (pending.size > 0) {
78
- // Query all pending IDs in batches of 5 per sweep
79
- const pendingIds = [...pending];
80
- let sweepCompleted = true;
81
- for (let b = 0; b < pendingIds.length; b += 5) {
82
- const batch = pendingIds.slice(b, b + 5);
83
- let results;
84
- try {
85
- results = await this.scanner.queryByScanIds(batch);
86
- }
87
- catch (err) {
88
- if (isRateLimitError(err) && retryLevel < maxRetries) {
89
- retryLevel++;
90
- const delayMs = baseDelay * 2 ** (retryLevel - 1);
91
- retryOpts?.onRetry?.(retryLevel, delayMs);
92
- await new Promise((resolve) => setTimeout(resolve, delayMs));
93
- sweepCompleted = false;
94
- break; // restart sweep from the beginning
95
- }
96
- throw err;
97
- }
98
- this.processQueryResults(results, completed, pending);
99
- // Small inter-batch delay to avoid hammering the API
100
- if (b + 5 < pendingIds.length) {
101
- const batchDelay = retryLevel > 0 ? baseDelay : Math.min(baseDelay, 1000);
102
- await new Promise((resolve) => setTimeout(resolve, batchDelay));
103
- }
104
- }
105
- // Only decay retry level after a full sweep with no rate limit errors
106
- if (sweepCompleted && retryLevel > 0) {
107
- retryLevel = Math.max(0, retryLevel - 1);
108
- }
109
- if (pending.size > 0) {
110
- const sweepDelay = retryLevel > 0 ? baseDelay * 2 ** retryLevel : intervalMs;
111
- await new Promise((resolve) => setTimeout(resolve, sweepDelay));
112
- }
113
- }
114
- return scanIds.map((id) => completed.get(id));
115
- }
116
- processQueryResults(results, completed, pending) {
117
- for (const r of results) {
118
- const id = r.scan_id ?? '';
119
- const status = (r.status ?? '').toLowerCase();
120
- if ((status === 'complete' || status === 'completed') && r.result) {
121
- const result = r.result;
122
- completed.set(id, {
123
- prompt: '', // not available from async API
124
- response: undefined, // not available from async API
125
- scanId: result.scan_id ?? id,
126
- reportId: result.report_id ?? '',
127
- action: result.action === 'block' ? 'block' : 'allow',
128
- category: result.category ?? 'unknown',
129
- triggered: false, // not available from async API — always false
130
- detections: {}, // not available from async API
131
- });
132
- pending.delete(id);
133
- }
134
- else if (status === 'failed') {
135
- completed.set(id, {
136
- prompt: '', // not available from async API
137
- response: undefined, // not available from async API
138
- scanId: id,
139
- reportId: '',
140
- action: 'allow', // safe default for failed scans
141
- category: 'error',
142
- triggered: false, // not available from async API — always false
143
- detections: {}, // not available from async API
144
- });
145
- pending.delete(id);
146
- }
147
- }
148
- }
149
- static formatResultsCsv(results) {
150
- const header = 'prompt,action,category,triggered,scan_id,report_id';
151
- const rows = results.map((r) => {
152
- const escaped = r.prompt.replace(/"/g, '""');
153
- return `"${escaped}","${r.action}","${r.category}","${r.triggered}","${r.scanId}","${r.reportId}"`;
154
- });
155
- return [header, ...rows].join('\n');
156
- }
157
- }
158
- //# sourceMappingURL=runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/airs/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import type { ScanResult, ScanService } from './types.js';
2
- /** Scans prompts against AIRS security profiles via the Prisma AIRS SDK. */
3
- export declare class AirsScanService implements ScanService {
4
- private scanner;
5
- constructor(apiKey: string);
6
- /** Scan a single prompt synchronously and return the normalized result. */
7
- scan(profileName: string, prompt: string, sessionId?: string): Promise<ScanResult>;
8
- /** Scan multiple prompts concurrently (default 5) and return results in order. */
9
- scanBatch(profileName: string, prompts: string[], concurrency?: number, sessionId?: string): Promise<ScanResult[]>;
10
- }
11
- /**
12
- * Debug wrapper that delegates to an inner ScanService and appends
13
- * each raw response + prompt to a JSONL file for offline inspection.
14
- */
15
- export declare class DebugScanService implements ScanService {
16
- private inner;
17
- private filePath;
18
- constructor(inner: ScanService, filePath: string);
19
- scan(profileName: string, prompt: string, sessionId?: string): Promise<ScanResult>;
20
- scanBatch(profileName: string, prompts: string[], concurrency?: number, sessionId?: string): Promise<ScanResult[]>;
21
- }
22
- /**
23
- * Rate-limiting wrapper that caps scan throughput to N calls per second.
24
- * Uses a sliding-window token bucket — tracks timestamps of recent calls
25
- * and delays when the window is full.
26
- */
27
- export declare class RateLimitedScanService implements ScanService {
28
- private inner;
29
- private maxPerSecond;
30
- private timestamps;
31
- constructor(inner: ScanService, maxPerSecond: number);
32
- private acquireToken;
33
- scan(profileName: string, prompt: string, sessionId?: string): Promise<ScanResult>;
34
- scanBatch(profileName: string, prompts: string[], concurrency?: number, sessionId?: string): Promise<ScanResult[]>;
35
- }
36
- //# sourceMappingURL=scanner.d.ts.map