@cdot65/prisma-airs-cli 2.12.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 (392) 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 -69
  33. package/dist/airs/management.d.ts.map +0 -1
  34. package/dist/airs/management.js +0 -370
  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 -75
  45. package/dist/airs/redteam.d.ts.map +0 -1
  46. package/dist/airs/redteam.js +0 -418
  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 -838
  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 -1075
  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 -869
  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 -224
  220. package/dist/cli/renderer/redteam.d.ts.map +0 -1
  221. package/dist/cli/renderer/redteam.js +0 -500
  222. package/dist/cli/renderer/redteam.js.map +0 -1
  223. package/dist/cli/renderer/runtime.d.ts +0 -135
  224. package/dist/cli/renderer/runtime.d.ts.map +0 -1
  225. package/dist/cli/renderer/runtime.js +0 -426
  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 -63
  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 -67
  262. package/dist/dlp/embed/jpeg.js.map +0 -1
  263. package/dist/dlp/embed/overlay.d.ts +0 -7
  264. package/dist/dlp/embed/overlay.d.ts.map +0 -1
  265. package/dist/dlp/embed/overlay.js +0 -21
  266. package/dist/dlp/embed/overlay.js.map +0 -1
  267. package/dist/dlp/embed/pdf.d.ts +0 -7
  268. package/dist/dlp/embed/pdf.d.ts.map +0 -1
  269. package/dist/dlp/embed/pdf.js +0 -124
  270. package/dist/dlp/embed/pdf.js.map +0 -1
  271. package/dist/dlp/embed/png-chunks.d.ts +0 -12
  272. package/dist/dlp/embed/png-chunks.d.ts.map +0 -1
  273. package/dist/dlp/embed/png-chunks.js +0 -85
  274. package/dist/dlp/embed/png-chunks.js.map +0 -1
  275. package/dist/dlp/embed/png.d.ts +0 -5
  276. package/dist/dlp/embed/png.d.ts.map +0 -1
  277. package/dist/dlp/embed/png.js +0 -75
  278. package/dist/dlp/embed/png.js.map +0 -1
  279. package/dist/dlp/embed/svg.d.ts +0 -3
  280. package/dist/dlp/embed/svg.d.ts.map +0 -1
  281. package/dist/dlp/embed/svg.js +0 -43
  282. package/dist/dlp/embed/svg.js.map +0 -1
  283. package/dist/dlp/embed/zip.d.ts +0 -3
  284. package/dist/dlp/embed/zip.d.ts.map +0 -1
  285. package/dist/dlp/embed/zip.js +0 -25
  286. package/dist/dlp/embed/zip.js.map +0 -1
  287. package/dist/dlp/generate/docx.d.ts +0 -3
  288. package/dist/dlp/generate/docx.d.ts.map +0 -1
  289. package/dist/dlp/generate/docx.js +0 -24
  290. package/dist/dlp/generate/docx.js.map +0 -1
  291. package/dist/dlp/generate/index.d.ts +0 -5
  292. package/dist/dlp/generate/index.d.ts.map +0 -1
  293. package/dist/dlp/generate/index.js +0 -21
  294. package/dist/dlp/generate/index.js.map +0 -1
  295. package/dist/dlp/generate/jpeg.d.ts +0 -3
  296. package/dist/dlp/generate/jpeg.d.ts.map +0 -1
  297. package/dist/dlp/generate/jpeg.js +0 -8
  298. package/dist/dlp/generate/jpeg.js.map +0 -1
  299. package/dist/dlp/generate/pdf.d.ts +0 -3
  300. package/dist/dlp/generate/pdf.d.ts.map +0 -1
  301. package/dist/dlp/generate/pdf.js +0 -19
  302. package/dist/dlp/generate/pdf.js.map +0 -1
  303. package/dist/dlp/generate/png.d.ts +0 -3
  304. package/dist/dlp/generate/png.d.ts.map +0 -1
  305. package/dist/dlp/generate/png.js +0 -8
  306. package/dist/dlp/generate/png.js.map +0 -1
  307. package/dist/dlp/generate/raster.d.ts +0 -9
  308. package/dist/dlp/generate/raster.d.ts.map +0 -1
  309. package/dist/dlp/generate/raster.js +0 -20
  310. package/dist/dlp/generate/raster.js.map +0 -1
  311. package/dist/dlp/generate/svg.d.ts +0 -3
  312. package/dist/dlp/generate/svg.d.ts.map +0 -1
  313. package/dist/dlp/generate/svg.js +0 -17
  314. package/dist/dlp/generate/svg.js.map +0 -1
  315. package/dist/dlp/index.d.ts +0 -15
  316. package/dist/dlp/index.d.ts.map +0 -1
  317. package/dist/dlp/index.js +0 -54
  318. package/dist/dlp/index.js.map +0 -1
  319. package/dist/dlp/lorem.d.ts +0 -3
  320. package/dist/dlp/lorem.d.ts.map +0 -1
  321. package/dist/dlp/lorem.js +0 -65
  322. package/dist/dlp/lorem.js.map +0 -1
  323. package/dist/dlp/manifest.d.ts +0 -11
  324. package/dist/dlp/manifest.d.ts.map +0 -1
  325. package/dist/dlp/manifest.js +0 -14
  326. package/dist/dlp/manifest.js.map +0 -1
  327. package/dist/dlp/payload.d.ts +0 -6
  328. package/dist/dlp/payload.d.ts.map +0 -1
  329. package/dist/dlp/payload.js +0 -62
  330. package/dist/dlp/payload.js.map +0 -1
  331. package/dist/dlp/rng.d.ts +0 -9
  332. package/dist/dlp/rng.d.ts.map +0 -1
  333. package/dist/dlp/rng.js +0 -28
  334. package/dist/dlp/rng.js.map +0 -1
  335. package/dist/dlp/types.d.ts +0 -26
  336. package/dist/dlp/types.d.ts.map +0 -1
  337. package/dist/dlp/types.js +0 -2
  338. package/dist/dlp/types.js.map +0 -1
  339. package/dist/index.d.ts.map +0 -1
  340. package/dist/index.js.map +0 -1
  341. package/dist/llm/prompts/analyze-results.d.ts +0 -3
  342. package/dist/llm/prompts/analyze-results.d.ts.map +0 -1
  343. package/dist/llm/prompts/analyze-results.js +0 -52
  344. package/dist/llm/prompts/analyze-results.js.map +0 -1
  345. package/dist/llm/prompts/generate-companion.d.ts +0 -3
  346. package/dist/llm/prompts/generate-companion.d.ts.map +0 -1
  347. package/dist/llm/prompts/generate-companion.js +0 -42
  348. package/dist/llm/prompts/generate-companion.js.map +0 -1
  349. package/dist/llm/prompts/generate-tests.d.ts +0 -3
  350. package/dist/llm/prompts/generate-tests.d.ts.map +0 -1
  351. package/dist/llm/prompts/generate-tests.js +0 -46
  352. package/dist/llm/prompts/generate-tests.js.map +0 -1
  353. package/dist/llm/prompts/generate-topic.d.ts +0 -4
  354. package/dist/llm/prompts/generate-topic.d.ts.map +0 -1
  355. package/dist/llm/prompts/generate-topic.js +0 -41
  356. package/dist/llm/prompts/generate-topic.js.map +0 -1
  357. package/dist/llm/prompts/improve-topic.d.ts +0 -3
  358. package/dist/llm/prompts/improve-topic.d.ts.map +0 -1
  359. package/dist/llm/prompts/improve-topic.js +0 -77
  360. package/dist/llm/prompts/improve-topic.js.map +0 -1
  361. package/dist/llm/prompts/simplify-topic.d.ts +0 -3
  362. package/dist/llm/prompts/simplify-topic.d.ts.map +0 -1
  363. package/dist/llm/prompts/simplify-topic.js +0 -50
  364. package/dist/llm/prompts/simplify-topic.js.map +0 -1
  365. package/dist/llm/provider.d.ts +0 -21
  366. package/dist/llm/provider.d.ts.map +0 -1
  367. package/dist/llm/provider.js +0 -76
  368. package/dist/llm/provider.js.map +0 -1
  369. package/dist/llm/schemas.d.ts +0 -97
  370. package/dist/llm/schemas.d.ts.map +0 -1
  371. package/dist/llm/schemas.js +0 -24
  372. package/dist/llm/schemas.js.map +0 -1
  373. package/dist/llm/service.d.ts +0 -34
  374. package/dist/llm/service.d.ts.map +0 -1
  375. package/dist/llm/service.js +0 -268
  376. package/dist/llm/service.js.map +0 -1
  377. package/dist/llm/types.d.ts +0 -18
  378. package/dist/llm/types.d.ts.map +0 -1
  379. package/dist/llm/types.js +0 -2
  380. package/dist/llm/types.js.map +0 -1
  381. package/dist/report/html.d.ts +0 -6
  382. package/dist/report/html.d.ts.map +0 -1
  383. package/dist/report/html.js +0 -200
  384. package/dist/report/html.js.map +0 -1
  385. package/dist/report/json.d.ts +0 -11
  386. package/dist/report/json.d.ts.map +0 -1
  387. package/dist/report/json.js +0 -74
  388. package/dist/report/json.js.map +0 -1
  389. package/dist/report/types.d.ts +0 -58
  390. package/dist/report/types.d.ts.map +0 -1
  391. package/dist/report/types.js +0 -5
  392. package/dist/report/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/renderer/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,426 +0,0 @@
1
- import chalk from 'chalk';
2
- import { formatOutput } from './common.js';
3
- /** Render polling progress inline. */
4
- export function renderScanProgress(job) {
5
- if (job.total != null && job.completed != null && job.total > 0) {
6
- const pct = Math.round((job.completed / job.total) * 100);
7
- const bar = '█'.repeat(Math.round(pct / 5)) + '░'.repeat(20 - Math.round(pct / 5));
8
- process.stdout.write(`\r ${statusColor(job.status)(job.status)} ${bar} ${pct}% (${job.completed}/${job.total})`);
9
- }
10
- else {
11
- process.stdout.write(`\r ${statusColor(job.status)(job.status)}...`);
12
- }
13
- }
14
- /** Render test composition summary (carried failures + regression + generated). */
15
- export function renderTestsComposed(generated, carriedFailures, regressionTier, total) {
16
- console.log(chalk.dim(` Tests: ${generated} generated, ${carriedFailures} carried failures, ${regressionTier} regression, ${total} total`));
17
- }
18
- /** Render accumulated test count with optional dropped info. */
19
- export function renderTestsAccumulated(newCount, totalCount, droppedCount) {
20
- let msg = ` Tests: ${newCount} new, ${totalCount} total (accumulated)`;
21
- if (droppedCount > 0) {
22
- msg += chalk.yellow(` (${droppedCount} dropped by cap)`);
23
- }
24
- console.log(chalk.dim(msg));
25
- }
26
- /** Status → chalk color mapping. */
27
- function statusColor(status) {
28
- switch (status) {
29
- case 'COMPLETED':
30
- return chalk.green;
31
- case 'RUNNING':
32
- return chalk.blue;
33
- case 'QUEUED':
34
- case 'INIT':
35
- return chalk.yellow;
36
- case 'FAILED':
37
- case 'ABORTED':
38
- return chalk.red;
39
- case 'PARTIALLY_COMPLETE':
40
- return chalk.yellow;
41
- default:
42
- return chalk.white;
43
- }
44
- }
45
- // ---------------------------------------------------------------------------
46
- // Runtime Config rendering — profiles, topics, api keys, etc.
47
- // ---------------------------------------------------------------------------
48
- /** Render the runtime config banner. */
49
- export function renderRuntimeConfigHeader() {
50
- console.log(chalk.bold.cyan('\n Prisma AIRS — Runtime Configuration'));
51
- console.log(chalk.dim(' Security profile and topic management\n'));
52
- }
53
- /** Render security profile list. */
54
- export function renderProfileList(profiles, format = 'pretty') {
55
- if (profiles.length === 0) {
56
- console.log(chalk.dim(' No profiles found.\n'));
57
- return;
58
- }
59
- if (format !== 'pretty') {
60
- const rows = profiles.map((p) => ({
61
- id: p.profileId,
62
- name: p.profileName,
63
- status: p.active ? 'active' : 'inactive',
64
- revision: p.revision ?? '',
65
- }));
66
- const columns = [
67
- { key: 'id', label: 'ID' },
68
- { key: 'name', label: 'Name' },
69
- { key: 'status', label: 'Status' },
70
- { key: 'revision', label: 'Revision' },
71
- ];
72
- console.log(formatOutput(rows, columns, format));
73
- return;
74
- }
75
- console.log(chalk.bold('\n Security Profiles:\n'));
76
- for (const p of profiles) {
77
- console.log(` ${chalk.dim(p.profileId)}`);
78
- const status = p.active ? chalk.green('active') : chalk.yellow('inactive');
79
- const rev = p.revision != null ? chalk.dim(` rev:${p.revision}`) : '';
80
- console.log(` ${p.profileName} ${status}${rev}`);
81
- }
82
- console.log();
83
- }
84
- /** Render security profile detail. */
85
- export function renderProfileDetail(profile) {
86
- console.log(chalk.bold('\n Profile Detail:\n'));
87
- console.log(` ID: ${chalk.dim(profile.profileId)}`);
88
- console.log(` Name: ${profile.profileName}`);
89
- console.log(` Status: ${profile.active ? chalk.green('active') : chalk.yellow('inactive')}`);
90
- if (profile.revision != null)
91
- console.log(` Revision: ${profile.revision}`);
92
- if (profile.createdBy)
93
- console.log(` Created: ${chalk.dim(profile.createdBy)}`);
94
- if (profile.updatedBy)
95
- console.log(` Updated: ${chalk.dim(profile.updatedBy)}`);
96
- if (profile.lastModifiedTs)
97
- console.log(` Modified: ${chalk.dim(profile.lastModifiedTs)}`);
98
- if (profile.policy) {
99
- const policyJson = JSON.stringify(profile.policy, null, 2);
100
- const indented = policyJson
101
- .split('\n')
102
- .map((line, i) => (i === 0 ? line : ` ${line}`))
103
- .join('\n');
104
- console.log(` Policy: ${chalk.dim(indented)}`);
105
- }
106
- console.log();
107
- }
108
- /** Render cleanup preview showing duplicate groups. */
109
- export function renderCleanupPreview(groups, format = 'pretty') {
110
- if (format === 'json') {
111
- console.log(JSON.stringify({
112
- duplicates: groups.map((g) => ({
113
- name: g.name,
114
- revisions: g.remove.length + 1,
115
- keeping: g.keep.revision,
116
- deleting: g.remove.length,
117
- })),
118
- total: groups.reduce((sum, g) => sum + g.remove.length, 0),
119
- }, null, 2));
120
- return;
121
- }
122
- console.log(chalk.bold('\n Duplicate Profiles:\n'));
123
- const nameWidth = Math.max(7, ...groups.map((g) => g.name.length));
124
- const header = ` ${'Profile'.padEnd(nameWidth)} Revisions Keeping Deleting`;
125
- console.log(chalk.dim(header));
126
- console.log(chalk.dim(` ${'─'.repeat(nameWidth)} ${'─'.repeat(9)} ${'─'.repeat(8)} ${'─'.repeat(8)}`));
127
- for (const g of groups) {
128
- const total = g.remove.length + 1;
129
- console.log(` ${g.name.padEnd(nameWidth)} ${String(total).padStart(9)} ${(`rev ${g.keep.revision}`).padStart(8)} ${String(g.remove.length).padStart(8)}`);
130
- }
131
- const totalRemove = groups.reduce((sum, g) => sum + g.remove.length, 0);
132
- console.log(`\n Total: ${chalk.yellow(String(totalRemove))} old revisions to delete across ${groups.length} profiles\n`);
133
- }
134
- /** Render cleanup deletion results. */
135
- export function renderCleanupResult(results, format = 'pretty') {
136
- const deleted = results.filter((r) => r.status === 'ok').length;
137
- const failed = results.filter((r) => r.status === 'failed').length;
138
- if (format === 'json') {
139
- console.log(JSON.stringify({ deleted, failed, details: results }, null, 2));
140
- return;
141
- }
142
- if (failed > 0) {
143
- console.log(chalk.bold.red('\n Failures:\n'));
144
- for (const r of results.filter((r) => r.status === 'failed')) {
145
- console.log(` ${chalk.red('✗')} ${r.name} rev ${r.revision}: ${r.error}`);
146
- }
147
- }
148
- const color = failed > 0 ? chalk.yellow : chalk.green;
149
- console.log(color(`\n Cleanup complete: ${deleted} deleted, ${failed} failed\n`));
150
- }
151
- /** Render custom topic list. */
152
- export function renderTopicList(topics, format = 'pretty') {
153
- if (topics.length === 0) {
154
- console.log(chalk.dim(' No topics found.\n'));
155
- return;
156
- }
157
- if (format !== 'pretty') {
158
- const rows = topics.map((t) => ({
159
- id: t.topic_id ?? '',
160
- name: t.topic_name,
161
- revision: t.revision ?? '',
162
- description: t.description ?? '',
163
- }));
164
- console.log(formatOutput(rows, [
165
- { key: 'id', label: 'ID' },
166
- { key: 'name', label: 'Name' },
167
- { key: 'revision', label: 'Revision' },
168
- { key: 'description', label: 'Description' },
169
- ], format));
170
- return;
171
- }
172
- console.log(chalk.bold('\n Custom Topics:\n'));
173
- for (const t of topics) {
174
- console.log(` ${chalk.dim(t.topic_id)}`);
175
- const rev = t.revision != null ? chalk.dim(` rev:${t.revision}`) : '';
176
- const desc = t.description ? chalk.dim(` — ${t.description.slice(0, 80)}`) : '';
177
- console.log(` ${t.topic_name}${rev}${desc}`);
178
- }
179
- console.log();
180
- }
181
- /** Render custom topic detail. */
182
- export function renderTopicDetail(topic) {
183
- console.log(chalk.bold('\n Topic Detail:\n'));
184
- console.log(` ID: ${chalk.dim(topic.topic_id)}`);
185
- console.log(` Name: ${topic.topic_name}`);
186
- if (topic.revision != null)
187
- console.log(` Revision: ${topic.revision}`);
188
- if (topic.description)
189
- console.log(` Description: ${topic.description}`);
190
- if (topic.examples?.length) {
191
- console.log(' Examples:');
192
- for (const ex of topic.examples) {
193
- console.log(` ${chalk.dim('•')} ${ex}`);
194
- }
195
- }
196
- if (topic.created_by)
197
- console.log(` Created: ${chalk.dim(topic.created_by)}`);
198
- if (topic.updated_by)
199
- console.log(` Updated: ${chalk.dim(topic.updated_by)}`);
200
- if (topic.last_modified_ts)
201
- console.log(` Modified: ${chalk.dim(topic.last_modified_ts)}`);
202
- console.log();
203
- }
204
- /** Render API key list. */
205
- export function renderApiKeyList(keys, format = 'pretty') {
206
- if (keys.length === 0) {
207
- console.log(chalk.dim(' No API keys found.\n'));
208
- return;
209
- }
210
- if (format !== 'pretty') {
211
- const rows = keys.map((k) => ({
212
- id: k.id,
213
- name: k.name,
214
- last8: k.last8 ?? '',
215
- createdAt: k.createdAt ?? '',
216
- expiresAt: k.expiresAt ?? '',
217
- }));
218
- console.log(formatOutput(rows, [
219
- { key: 'id', label: 'ID' },
220
- { key: 'name', label: 'Name' },
221
- { key: 'last8', label: 'Key (last 8)' },
222
- { key: 'createdAt', label: 'Created' },
223
- { key: 'expiresAt', label: 'Expires' },
224
- ], format));
225
- return;
226
- }
227
- console.log(chalk.bold('\n API Keys:\n'));
228
- for (const k of keys) {
229
- console.log(` ${chalk.dim(k.id)}`);
230
- const last8 = k.last8 ? chalk.dim(` key: …${k.last8}`) : '';
231
- const expires = k.expiresAt ? chalk.dim(` expires: ${k.expiresAt}`) : '';
232
- console.log(` ${k.name}${last8}${expires}`);
233
- }
234
- console.log();
235
- }
236
- /** Render API key detail. */
237
- export function renderApiKeyDetail(key) {
238
- console.log(chalk.bold('\n API Key Detail:\n'));
239
- console.log(` ID: ${chalk.dim(key.id)}`);
240
- console.log(` Name: ${key.name}`);
241
- if (key.apiKey)
242
- console.log(` Key: ${key.apiKey}`);
243
- else if (key.last8)
244
- console.log(` Key: ${chalk.dim('…')}${key.last8}`);
245
- if (key.createdAt)
246
- console.log(` Created: ${chalk.dim(key.createdAt)}`);
247
- if (key.expiresAt)
248
- console.log(` Expires: ${chalk.dim(key.expiresAt)}`);
249
- console.log();
250
- }
251
- /** Render customer app list. */
252
- export function renderCustomerAppList(apps, format = 'pretty') {
253
- if (apps.length === 0) {
254
- console.log(chalk.dim(' No customer apps found.\n'));
255
- return;
256
- }
257
- if (format !== 'pretty') {
258
- const rows = apps.map((a) => ({
259
- id: a.id ?? '',
260
- name: a.name,
261
- description: a.description ?? '',
262
- }));
263
- console.log(formatOutput(rows, [
264
- { key: 'id', label: 'ID' },
265
- { key: 'name', label: 'Name' },
266
- { key: 'description', label: 'Description' },
267
- ], format));
268
- return;
269
- }
270
- console.log(chalk.bold('\n Customer Apps:\n'));
271
- for (const a of apps) {
272
- if (a.id)
273
- console.log(` ${chalk.dim(a.id)}`);
274
- const desc = a.description ? chalk.dim(` — ${a.description.slice(0, 80)}`) : '';
275
- console.log(` ${a.name}${desc}`);
276
- }
277
- console.log();
278
- }
279
- /** Render customer app detail. */
280
- export function renderCustomerAppDetail(app) {
281
- console.log(chalk.bold('\n Customer App Detail:\n'));
282
- if (app.id)
283
- console.log(` ID: ${chalk.dim(app.id)}`);
284
- console.log(` Name: ${app.name}`);
285
- if (app.description)
286
- console.log(` Desc: ${app.description}`);
287
- console.log(` Data: ${chalk.dim(JSON.stringify(app.raw, null, 2).slice(0, 500))}`);
288
- console.log();
289
- }
290
- /** Render per-app consumption + violation breakdown. */
291
- export function renderCustomerAppConsumption(data, format = 'pretty') {
292
- const fmt = (n, scale) => (n == null ? '-' : `${n}${scale ?? ''}`);
293
- if (format !== 'pretty') {
294
- // Per-detector rows for table/csv/json/yaml. Adds app-level fields so each row is
295
- // self-contained (useful for piping into reporting tools).
296
- const rows = data.detectors.map((d) => ({
297
- app_name: data.appName,
298
- app_id: data.appId,
299
- monitoring_since: data.monitoringSince ?? '',
300
- daily_avg: fmt(data.tokens.dailyAverage, data.tokens.dailyAverageScale),
301
- monthly_total: fmt(data.tokens.monthlyTotal, data.tokens.monthlyTotalScale),
302
- sessions_total: data.sessions.total,
303
- sessions_violating: data.sessions.violating,
304
- detector: d.type,
305
- critical: d.critical,
306
- high: d.high,
307
- medium: d.medium,
308
- low: d.low,
309
- total: d.total,
310
- }));
311
- console.log(formatOutput(rows, [
312
- { key: 'app_name', label: 'App' },
313
- { key: 'app_id', label: 'AppId' },
314
- { key: 'monitoring_since', label: 'MonitoringSince' },
315
- { key: 'daily_avg', label: 'DailyAvg' },
316
- { key: 'monthly_total', label: 'MonthlyTotal' },
317
- { key: 'sessions_total', label: 'Sessions' },
318
- { key: 'sessions_violating', label: 'Violating' },
319
- { key: 'detector', label: 'Detector' },
320
- { key: 'critical', label: 'C' },
321
- { key: 'high', label: 'H' },
322
- { key: 'medium', label: 'M' },
323
- { key: 'low', label: 'L' },
324
- { key: 'total', label: 'Total' },
325
- ], format));
326
- return;
327
- }
328
- console.log(chalk.bold(`\n ${data.appName} ${chalk.dim('(' + data.appId + ')')}`));
329
- if (data.monitoringSince)
330
- console.log(` Monitoring since: ${chalk.dim(data.monitoringSince)}`);
331
- if (data.source)
332
- console.log(` Source: ${data.source}`);
333
- if (data.cloud)
334
- console.log(` Cloud: ${data.cloud}`);
335
- if (data.profiles.length > 0) {
336
- console.log(` Profiles: ${data.profiles.join(', ')}`);
337
- }
338
- console.log(chalk.bold('\n Token consumption:'));
339
- console.log(` Daily avg: ${fmt(data.tokens.dailyAverage, data.tokens.dailyAverageScale)}`);
340
- console.log(` Monthly total: ${fmt(data.tokens.monthlyTotal, data.tokens.monthlyTotalScale)}`);
341
- console.log(chalk.bold('\n Sessions:'));
342
- console.log(` Total: ${data.sessions.total}`);
343
- console.log(` Violating: ${data.sessions.violating}`);
344
- const firing = data.detectors.filter((d) => d.total > 0);
345
- console.log(chalk.bold(`\n Detectors (${data.totalViolating} violating, ${firing.length}/${data.detectors.length} firing):`));
346
- if (firing.length === 0) {
347
- console.log(chalk.dim(' no detector violations in window'));
348
- }
349
- else {
350
- for (const d of firing) {
351
- const sev = `c=${d.critical} h=${d.high} m=${d.medium} l=${d.low}`;
352
- console.log(` ${d.type.padEnd(20)} ${String(d.total).padStart(5)} ${chalk.dim(sev)}`);
353
- }
354
- }
355
- console.log();
356
- }
357
- /** Render deployment profile list. */
358
- export function renderDeploymentProfileList(profiles, format = 'pretty') {
359
- if (profiles.length === 0) {
360
- console.log(chalk.dim(' No deployment profiles found.\n'));
361
- return;
362
- }
363
- if (format !== 'pretty') {
364
- const rows = profiles.map((p) => ({
365
- name: (p.raw.dp_name ?? p.raw.profile_name ?? p.raw.name ?? ''),
366
- status: (p.raw.status ?? ''),
367
- authCode: (p.raw.auth_code ?? ''),
368
- }));
369
- console.log(formatOutput(rows, [
370
- { key: 'name', label: 'Name' },
371
- { key: 'status', label: 'Status' },
372
- { key: 'authCode', label: 'Auth Code' },
373
- ], format));
374
- return;
375
- }
376
- console.log(chalk.bold('\n Deployment Profiles:\n'));
377
- for (const p of profiles) {
378
- const name = (p.raw.dp_name ?? p.raw.profile_name ?? p.raw.name ?? 'unknown');
379
- const status = p.raw.status;
380
- const authCode = p.raw.auth_code;
381
- const statusColor = status === 'active' ? chalk.green : chalk.dim;
382
- console.log(` ${name}${status ? ` ${statusColor(status)}` : ''}${authCode ? ` ${chalk.dim(authCode)}` : ''}`);
383
- }
384
- console.log();
385
- }
386
- /** Render scan log results. */
387
- export function renderScanLogList(results, pageToken, format = 'pretty') {
388
- if (results.length === 0) {
389
- console.log(chalk.dim(' No scan logs found.\n'));
390
- return;
391
- }
392
- if (format !== 'pretty') {
393
- const rows = results.map((r) => ({
394
- scanId: (r.scan_id ?? ''),
395
- timestamp: (r.received_ts ?? r.timestamp ?? ''),
396
- action: (r.action ?? r.verdict ?? ''),
397
- profile: (r.profile_name ?? ''),
398
- app: (r.app_name ?? ''),
399
- }));
400
- console.log(formatOutput(rows, [
401
- { key: 'scanId', label: 'Scan ID' },
402
- { key: 'timestamp', label: 'Timestamp' },
403
- { key: 'action', label: 'Action' },
404
- { key: 'profile', label: 'Profile' },
405
- { key: 'app', label: 'App' },
406
- ], format));
407
- return;
408
- }
409
- console.log(chalk.bold(`\n Scan Logs (${results.length} results):\n`));
410
- for (const r of results) {
411
- const action = (r.action ?? r.verdict);
412
- const app = r.app_name;
413
- const profile = r.profile_name;
414
- const ts = (r.received_ts ?? r.timestamp);
415
- const scanId = r.scan_id;
416
- const actionColor = action === 'block' ? chalk.red : chalk.green;
417
- if (scanId)
418
- console.log(` ${chalk.dim(scanId)}`);
419
- console.log(` ${ts ? chalk.dim(ts) : ''} ${action ? actionColor(action) : ''} ${profile ? `[${profile}]` : ''} ${app ?? ''}`);
420
- }
421
- if (pageToken) {
422
- console.log(chalk.dim(`\n Page token: ${pageToken}`));
423
- }
424
- console.log();
425
- }
426
- //# sourceMappingURL=runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/renderer/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { type Config } from './schema.js';
2
- export declare function loadConfig(cliOverrides?: Record<string, unknown>, configFilePath?: string): Promise<Config>;
3
- //# sourceMappingURL=loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,aAAa,CAAC;AA2CxD,wBAAsB,UAAU,CAC9B,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAC1C,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
@@ -1,59 +0,0 @@
1
- import { readFile } from 'node:fs/promises';
2
- import { homedir } from 'node:os';
3
- import { join } from 'node:path';
4
- import { ConfigSchema } from './schema.js';
5
- function expandHome(p) {
6
- return p.startsWith('~') ? join(homedir(), p.slice(1)) : p;
7
- }
8
- function fromEnv() {
9
- const env = process.env;
10
- return {
11
- llmProvider: env.LLM_PROVIDER,
12
- llmModel: env.LLM_MODEL,
13
- anthropicApiKey: env.ANTHROPIC_API_KEY,
14
- googleApiKey: env.GOOGLE_API_KEY,
15
- googleCloudProject: env.GOOGLE_CLOUD_PROJECT,
16
- googleCloudLocation: env.GOOGLE_CLOUD_LOCATION,
17
- awsRegion: env.AWS_REGION,
18
- awsAccessKeyId: env.AWS_ACCESS_KEY_ID,
19
- awsSecretAccessKey: env.AWS_SECRET_ACCESS_KEY,
20
- airsApiKey: env.PANW_AI_SEC_API_KEY,
21
- mgmtClientId: env.PANW_MGMT_CLIENT_ID,
22
- mgmtClientSecret: env.PANW_MGMT_CLIENT_SECRET,
23
- mgmtTsgId: env.PANW_MGMT_TSG_ID,
24
- mgmtEndpoint: env.PANW_MGMT_ENDPOINT,
25
- mgmtTokenEndpoint: env.PANW_MGMT_TOKEN_ENDPOINT,
26
- dlpEndpoint: env.PANW_DLP_ENDPOINT,
27
- scanConcurrency: env.SCAN_CONCURRENCY,
28
- dataDir: env.DATA_DIR,
29
- };
30
- }
31
- async function fromFile(path) {
32
- try {
33
- const data = await readFile(path, 'utf-8');
34
- return JSON.parse(data);
35
- }
36
- catch {
37
- return {};
38
- }
39
- }
40
- function stripUndefined(obj) {
41
- return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined && v !== ''));
42
- }
43
- export async function loadConfig(cliOverrides = {}, configFilePath) {
44
- const filePath = configFilePath ?? join(homedir(), '.prisma-airs', 'config.json');
45
- const fileConfig = await fromFile(filePath);
46
- const envConfig = fromEnv();
47
- // Priority: CLI > env > file > defaults
48
- const merged = {
49
- ...stripUndefined(fileConfig),
50
- ...stripUndefined(envConfig),
51
- ...stripUndefined(cliOverrides),
52
- };
53
- const config = ConfigSchema.parse(merged);
54
- return {
55
- ...config,
56
- dataDir: expandHome(config.dataDir),
57
- };
58
- }
59
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAe,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,OAAO;IACd,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,eAAe,EAAE,GAAG,CAAC,iBAAiB;QACtC,YAAY,EAAE,GAAG,CAAC,cAAc;QAChC,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;QAC5C,mBAAmB,EAAE,GAAG,CAAC,qBAAqB;QAC9C,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,cAAc,EAAE,GAAG,CAAC,iBAAiB;QACrC,kBAAkB,EAAE,GAAG,CAAC,qBAAqB;QAC7C,UAAU,EAAE,GAAG,CAAC,mBAAmB;QACnC,YAAY,EAAE,GAAG,CAAC,mBAAmB;QACrC,gBAAgB,EAAE,GAAG,CAAC,uBAAuB;QAC7C,SAAS,EAAE,GAAG,CAAC,gBAAgB;QAC/B,YAAY,EAAE,GAAG,CAAC,kBAAkB;QACpC,iBAAiB,EAAE,GAAG,CAAC,wBAAwB;QAC/C,WAAW,EAAE,GAAG,CAAC,iBAAiB;QAClC,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,OAAO,EAAE,GAAG,CAAC,QAAQ;KACtB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAA4B;IAClD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,eAAwC,EAAE,EAC1C,cAAuB;IAEvB,MAAM,QAAQ,GAAG,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC;IAE5B,wCAAwC;IACxC,MAAM,MAAM,GAAG;QACb,GAAG,cAAc,CAAC,UAAU,CAAC;QAC7B,GAAG,cAAc,CAAC,SAAS,CAAC;QAC5B,GAAG,cAAc,CAAC,YAAY,CAAC;KAChC,CAAC;IAEF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;KACpC,CAAC;AACJ,CAAC"}
@@ -1,63 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const LlmProviderSchema: z.ZodEnum<["claude-api", "claude-vertex", "claude-bedrock", "gemini-api", "gemini-vertex", "gemini-bedrock"]>;
3
- export type LlmProvider = z.infer<typeof LlmProviderSchema>;
4
- export declare const ConfigSchema: z.ZodObject<{
5
- llmProvider: z.ZodDefault<z.ZodEnum<["claude-api", "claude-vertex", "claude-bedrock", "gemini-api", "gemini-vertex", "gemini-bedrock"]>>;
6
- llmModel: z.ZodOptional<z.ZodString>;
7
- anthropicApiKey: z.ZodOptional<z.ZodString>;
8
- googleApiKey: z.ZodOptional<z.ZodString>;
9
- googleCloudProject: z.ZodOptional<z.ZodString>;
10
- googleCloudLocation: z.ZodDefault<z.ZodString>;
11
- awsRegion: z.ZodDefault<z.ZodString>;
12
- awsAccessKeyId: z.ZodOptional<z.ZodString>;
13
- awsSecretAccessKey: z.ZodOptional<z.ZodString>;
14
- airsApiKey: z.ZodOptional<z.ZodString>;
15
- mgmtClientId: z.ZodOptional<z.ZodString>;
16
- mgmtClientSecret: z.ZodOptional<z.ZodString>;
17
- mgmtTsgId: z.ZodOptional<z.ZodString>;
18
- mgmtEndpoint: z.ZodOptional<z.ZodString>;
19
- mgmtTokenEndpoint: z.ZodOptional<z.ZodString>;
20
- dlpEndpoint: z.ZodOptional<z.ZodString>;
21
- scanConcurrency: z.ZodDefault<z.ZodNumber>;
22
- dataDir: z.ZodDefault<z.ZodString>;
23
- }, "strip", z.ZodTypeAny, {
24
- llmProvider: "claude-api" | "claude-vertex" | "claude-bedrock" | "gemini-api" | "gemini-vertex" | "gemini-bedrock";
25
- googleCloudLocation: string;
26
- awsRegion: string;
27
- scanConcurrency: number;
28
- dataDir: string;
29
- llmModel?: string | undefined;
30
- anthropicApiKey?: string | undefined;
31
- googleApiKey?: string | undefined;
32
- googleCloudProject?: string | undefined;
33
- awsAccessKeyId?: string | undefined;
34
- awsSecretAccessKey?: string | undefined;
35
- airsApiKey?: string | undefined;
36
- mgmtClientId?: string | undefined;
37
- mgmtClientSecret?: string | undefined;
38
- mgmtTsgId?: string | undefined;
39
- mgmtEndpoint?: string | undefined;
40
- mgmtTokenEndpoint?: string | undefined;
41
- dlpEndpoint?: string | undefined;
42
- }, {
43
- llmProvider?: "claude-api" | "claude-vertex" | "claude-bedrock" | "gemini-api" | "gemini-vertex" | "gemini-bedrock" | undefined;
44
- llmModel?: string | undefined;
45
- anthropicApiKey?: string | undefined;
46
- googleApiKey?: string | undefined;
47
- googleCloudProject?: string | undefined;
48
- googleCloudLocation?: string | undefined;
49
- awsRegion?: string | undefined;
50
- awsAccessKeyId?: string | undefined;
51
- awsSecretAccessKey?: string | undefined;
52
- airsApiKey?: string | undefined;
53
- mgmtClientId?: string | undefined;
54
- mgmtClientSecret?: string | undefined;
55
- mgmtTsgId?: string | undefined;
56
- mgmtEndpoint?: string | undefined;
57
- mgmtTokenEndpoint?: string | undefined;
58
- dlpEndpoint?: string | undefined;
59
- scanConcurrency?: number | undefined;
60
- dataDir?: string | undefined;
61
- }>;
62
- export type Config = z.infer<typeof ConfigSchema>;
63
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB,+GAO5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -1,38 +0,0 @@
1
- import { z } from 'zod';
2
- export const LlmProviderSchema = z.enum([
3
- 'claude-api',
4
- 'claude-vertex',
5
- 'claude-bedrock',
6
- 'gemini-api',
7
- 'gemini-vertex',
8
- 'gemini-bedrock',
9
- ]);
10
- export const ConfigSchema = z.object({
11
- llmProvider: LlmProviderSchema.default('claude-api'),
12
- llmModel: z.string().optional(),
13
- // Claude API
14
- anthropicApiKey: z.string().optional(),
15
- // Google AI
16
- googleApiKey: z.string().optional(),
17
- // Google Vertex
18
- googleCloudProject: z.string().optional(),
19
- googleCloudLocation: z.string().default('us-central1'),
20
- // AWS Bedrock
21
- awsRegion: z.string().default('us-east-1'),
22
- awsAccessKeyId: z.string().optional(),
23
- awsSecretAccessKey: z.string().optional(),
24
- // AIRS Scanner
25
- airsApiKey: z.string().optional(),
26
- // AIRS Management (SDK v2 — OAuth2 client credentials)
27
- mgmtClientId: z.string().optional(),
28
- mgmtClientSecret: z.string().optional(),
29
- mgmtTsgId: z.string().optional(),
30
- mgmtEndpoint: z.string().optional(),
31
- mgmtTokenEndpoint: z.string().optional(),
32
- dlpEndpoint: z.string().optional(),
33
- // Tuning
34
- scanConcurrency: z.coerce.number().int().min(1).max(20).default(5),
35
- // Persistence
36
- dataDir: z.string().default('~/.prisma-airs/runs'),
37
- });
38
- //# sourceMappingURL=schema.js.map