@kubbisec/ai-linux-arm64 0.1.10 → 0.1.12

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 (323) hide show
  1. package/bin/kubbisec +0 -0
  2. package/bundled/clarify/clarify-gate.d.ts.map +1 -1
  3. package/bundled/clarify/clarify-gate.js +7 -20
  4. package/bundled/clarify/clarify-gate.js.map +1 -1
  5. package/bundled/clarify/clarify-select-panel.d.ts.map +1 -1
  6. package/bundled/clarify/clarify-select-panel.js.map +1 -1
  7. package/bundled/clarify/parse-clarify-answer.d.ts.map +1 -1
  8. package/bundled/clarify/parse-clarify-answer.js +3 -1
  9. package/bundled/clarify/parse-clarify-answer.js.map +1 -1
  10. package/bundled/clarify/question-format.d.ts.map +1 -1
  11. package/bundled/clarify/question-format.js +5 -4
  12. package/bundled/clarify/question-format.js.map +1 -1
  13. package/bundled/clarify/questionnaire-tool.d.ts.map +1 -1
  14. package/bundled/clarify/questionnaire-tool.js +7 -10
  15. package/bundled/clarify/questionnaire-tool.js.map +1 -1
  16. package/bundled/clarify/scope-discovery.d.ts +1 -2
  17. package/bundled/clarify/scope-discovery.d.ts.map +1 -1
  18. package/bundled/clarify/scope-discovery.js.map +1 -1
  19. package/bundled/clarify/session-questionnaire.d.ts.map +1 -1
  20. package/bundled/clarify/session-questionnaire.js +8 -10
  21. package/bundled/clarify/session-questionnaire.js.map +1 -1
  22. package/bundled/components/kubbisec-model-selector.d.ts +44 -0
  23. package/bundled/components/kubbisec-model-selector.d.ts.map +1 -0
  24. package/bundled/components/kubbisec-model-selector.js +198 -0
  25. package/bundled/components/kubbisec-model-selector.js.map +1 -0
  26. package/bundled/config/config.d.ts.map +1 -1
  27. package/bundled/config/config.js +1 -1
  28. package/bundled/config/config.js.map +1 -1
  29. package/bundled/config/detect-local-llm-providers.d.ts.map +1 -1
  30. package/bundled/config/detect-local-llm-providers.js +1 -2
  31. package/bundled/config/detect-local-llm-providers.js.map +1 -1
  32. package/bundled/config/ensure-kubbisec-project-settings.d.ts +5 -4
  33. package/bundled/config/ensure-kubbisec-project-settings.d.ts.map +1 -1
  34. package/bundled/config/ensure-kubbisec-project-settings.js +9 -22
  35. package/bundled/config/ensure-kubbisec-project-settings.js.map +1 -1
  36. package/bundled/config/extended-context.d.ts.map +1 -1
  37. package/bundled/config/extended-context.js +1 -2
  38. package/bundled/config/extended-context.js.map +1 -1
  39. package/bundled/config/feature-flags.d.ts +1 -1
  40. package/bundled/config/feature-flags.d.ts.map +1 -1
  41. package/bundled/config/feature-flags.js +1 -1
  42. package/bundled/config/feature-flags.js.map +1 -1
  43. package/bundled/config/format-kubbisec-footer-status.d.ts.map +1 -1
  44. package/bundled/config/format-kubbisec-footer-status.js +9 -2
  45. package/bundled/config/format-kubbisec-footer-status.js.map +1 -1
  46. package/bundled/config/llm-config-mutations.d.ts.map +1 -1
  47. package/bundled/config/llm-config-mutations.js +1 -1
  48. package/bundled/config/llm-config-mutations.js.map +1 -1
  49. package/bundled/config/llm-config.d.ts +3 -1
  50. package/bundled/config/llm-config.d.ts.map +1 -1
  51. package/bundled/config/llm-config.js +21 -11
  52. package/bundled/config/llm-config.js.map +1 -1
  53. package/bundled/config/llm-provider-catalog.d.ts.map +1 -1
  54. package/bundled/config/llm-provider-catalog.js +14 -2
  55. package/bundled/config/llm-provider-catalog.js.map +1 -1
  56. package/bundled/config/materialize-kubbisec-pi-resources.d.ts +14 -8
  57. package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +1 -1
  58. package/bundled/config/materialize-kubbisec-pi-resources.js +113 -41
  59. package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -1
  60. package/bundled/config/register-custom-llm-providers.d.ts.map +1 -1
  61. package/bundled/config/register-custom-llm-providers.js.map +1 -1
  62. package/bundled/config/register-kubbisec-llm-provider.d.ts.map +1 -1
  63. package/bundled/config/register-kubbisec-llm-provider.js +1 -1
  64. package/bundled/config/register-kubbisec-llm-provider.js.map +1 -1
  65. package/bundled/config/resolve-agents-context-file.d.ts.map +1 -1
  66. package/bundled/config/resolve-agents-context-file.js +1 -2
  67. package/bundled/config/resolve-agents-context-file.js.map +1 -1
  68. package/bundled/config/sync-kubbisec-pi-models.d.ts.map +1 -1
  69. package/bundled/config/sync-kubbisec-pi-models.js +7 -6
  70. package/bundled/config/sync-kubbisec-pi-models.js.map +1 -1
  71. package/bundled/copy/kubbisec-shell-copy.d.ts.map +1 -1
  72. package/bundled/copy/kubbisec-shell-copy.js.map +1 -1
  73. package/bundled/extensions/cli-local-shared.d.ts.map +1 -1
  74. package/bundled/extensions/cli-local-shared.js +6 -2
  75. package/bundled/extensions/cli-local-shared.js.map +1 -1
  76. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +1 -1
  77. package/bundled/extensions/kubbisec-aspm-local.extension.js +1 -3
  78. package/bundled/extensions/kubbisec-aspm-local.extension.js.map +1 -1
  79. package/bundled/extensions/kubbisec-brand.extension.d.ts.map +1 -1
  80. package/bundled/extensions/kubbisec-brand.extension.js +1 -1
  81. package/bundled/extensions/kubbisec-brand.extension.js.map +1 -1
  82. package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +1 -1
  83. package/bundled/extensions/kubbisec-clarify.extension.js +5 -3
  84. package/bundled/extensions/kubbisec-clarify.extension.js.map +1 -1
  85. package/bundled/extensions/kubbisec-exit.extension.d.ts +3 -0
  86. package/bundled/extensions/kubbisec-exit.extension.d.ts.map +1 -1
  87. package/bundled/extensions/kubbisec-exit.extension.js +3 -0
  88. package/bundled/extensions/kubbisec-exit.extension.js.map +1 -1
  89. package/bundled/extensions/kubbisec-extended-context.extension.d.ts.map +1 -1
  90. package/bundled/extensions/kubbisec-extended-context.extension.js.map +1 -1
  91. package/bundled/extensions/kubbisec-footer.extension.d.ts.map +1 -1
  92. package/bundled/extensions/kubbisec-footer.extension.js +5 -6
  93. package/bundled/extensions/kubbisec-footer.extension.js.map +1 -1
  94. package/bundled/extensions/kubbisec-github-local.extension.d.ts +3 -0
  95. package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +1 -1
  96. package/bundled/extensions/kubbisec-github-local.extension.js +1 -1
  97. package/bundled/extensions/kubbisec-github-local.extension.js.map +1 -1
  98. package/bundled/extensions/kubbisec-llm-config.extension.d.ts.map +1 -1
  99. package/bundled/extensions/kubbisec-llm-config.extension.js +2 -2
  100. package/bundled/extensions/kubbisec-llm-config.extension.js.map +1 -1
  101. package/bundled/extensions/kubbisec-memory.extension.d.ts.map +1 -1
  102. package/bundled/extensions/kubbisec-memory.extension.js.map +1 -1
  103. package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +1 -1
  104. package/bundled/extensions/kubbisec-naus-local.extension.js +7 -5
  105. package/bundled/extensions/kubbisec-naus-local.extension.js.map +1 -1
  106. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts +3 -0
  107. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts.map +1 -1
  108. package/bundled/extensions/kubbisec-platform-tools.extension.js +3 -3
  109. package/bundled/extensions/kubbisec-platform-tools.extension.js.map +1 -1
  110. package/bundled/extensions/kubbisec-runtime-status.extension.d.ts.map +1 -1
  111. package/bundled/extensions/kubbisec-runtime-status.extension.js.map +1 -1
  112. package/bundled/extensions/kubbisec-scope.extension.d.ts.map +1 -1
  113. package/bundled/extensions/kubbisec-scope.extension.js +5 -1
  114. package/bundled/extensions/kubbisec-scope.extension.js.map +1 -1
  115. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +1 -1
  116. package/bundled/extensions/kubbisec-skill-mentions.extension.js +2 -2
  117. package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +1 -1
  118. package/bundled/extensions/kubbisec-skill-telemetry.extension.d.ts.map +1 -1
  119. package/bundled/extensions/kubbisec-skill-telemetry.extension.js.map +1 -1
  120. package/bundled/extensions/kubbisec-ui.extension.d.ts.map +1 -1
  121. package/bundled/extensions/kubbisec-ui.extension.js +3 -3
  122. package/bundled/extensions/kubbisec-ui.extension.js.map +1 -1
  123. package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +1 -1
  124. package/bundled/extensions/kubbisec-workflow.extension.js.map +1 -1
  125. package/bundled/node_modules/@aspm/shared/dist/ai/evaluation-dataset-50.d.ts +311 -0
  126. package/bundled/node_modules/@aspm/shared/dist/ai/evaluation-dataset-50.d.ts.map +1 -0
  127. package/bundled/node_modules/@aspm/shared/dist/ai/evaluation-dataset-50.js +357 -0
  128. package/bundled/node_modules/@aspm/shared/dist/ai/evaluation-dataset-50.js.map +1 -0
  129. package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts +2 -0
  130. package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts.map +1 -0
  131. package/bundled/node_modules/@aspm/shared/dist/ai/index.js +18 -0
  132. package/bundled/node_modules/@aspm/shared/dist/ai/index.js.map +1 -0
  133. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-session-key.d.ts +20 -0
  134. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-session-key.d.ts.map +1 -0
  135. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-session-key.js +33 -0
  136. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-session-key.js.map +1 -0
  137. package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts +2 -0
  138. package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts.map +1 -0
  139. package/bundled/node_modules/@aspm/shared/dist/assistant/index.js +18 -0
  140. package/bundled/node_modules/@aspm/shared/dist/assistant/index.js.map +1 -0
  141. package/bundled/node_modules/@aspm/shared/dist/cli-user-error.d.ts +18 -0
  142. package/bundled/node_modules/@aspm/shared/dist/cli-user-error.d.ts.map +1 -0
  143. package/bundled/node_modules/@aspm/shared/dist/cli-user-error.js +92 -0
  144. package/bundled/node_modules/@aspm/shared/dist/cli-user-error.js.map +1 -0
  145. package/bundled/node_modules/@aspm/shared/dist/dto/bulk-import-github-projects.dto.d.ts +25 -0
  146. package/bundled/node_modules/@aspm/shared/dist/dto/bulk-import-github-projects.dto.d.ts.map +1 -0
  147. package/bundled/node_modules/@aspm/shared/dist/dto/bulk-import-github-projects.dto.js +85 -0
  148. package/bundled/node_modules/@aspm/shared/dist/dto/bulk-import-github-projects.dto.js.map +1 -0
  149. package/bundled/node_modules/@aspm/shared/dist/dto/create-bundle-report.dto.d.ts +14 -0
  150. package/bundled/node_modules/@aspm/shared/dist/dto/create-bundle-report.dto.d.ts.map +1 -0
  151. package/bundled/node_modules/@aspm/shared/dist/dto/create-bundle-report.dto.js +64 -0
  152. package/bundled/node_modules/@aspm/shared/dist/dto/create-bundle-report.dto.js.map +1 -0
  153. package/bundled/node_modules/@aspm/shared/dist/dto/create-coverage-report.dto.d.ts +18 -0
  154. package/bundled/node_modules/@aspm/shared/dist/dto/create-coverage-report.dto.d.ts.map +1 -0
  155. package/bundled/node_modules/@aspm/shared/dist/dto/create-coverage-report.dto.js +124 -0
  156. package/bundled/node_modules/@aspm/shared/dist/dto/create-coverage-report.dto.js.map +1 -0
  157. package/bundled/node_modules/@aspm/shared/dist/dto/create-project.dto.d.ts +65 -0
  158. package/bundled/node_modules/@aspm/shared/dist/dto/create-project.dto.d.ts.map +1 -0
  159. package/bundled/node_modules/@aspm/shared/dist/dto/create-project.dto.js +354 -0
  160. package/bundled/node_modules/@aspm/shared/dist/dto/create-project.dto.js.map +1 -0
  161. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts +26 -0
  162. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts.map +1 -0
  163. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js +139 -0
  164. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js.map +1 -0
  165. package/bundled/node_modules/@aspm/shared/dist/dto/create-scan-target.dto.d.ts +8 -0
  166. package/bundled/node_modules/@aspm/shared/dist/dto/create-scan-target.dto.d.ts.map +1 -0
  167. package/bundled/node_modules/@aspm/shared/dist/dto/create-scan-target.dto.js +51 -0
  168. package/bundled/node_modules/@aspm/shared/dist/dto/create-scan-target.dto.js.map +1 -0
  169. package/bundled/node_modules/@aspm/shared/dist/dto/create-vulnerability.dto.d.ts +34 -0
  170. package/bundled/node_modules/@aspm/shared/dist/dto/create-vulnerability.dto.d.ts.map +1 -0
  171. package/bundled/node_modules/@aspm/shared/dist/dto/create-vulnerability.dto.js +186 -0
  172. package/bundled/node_modules/@aspm/shared/dist/dto/create-vulnerability.dto.js.map +1 -0
  173. package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts +14 -0
  174. package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts.map +1 -0
  175. package/bundled/node_modules/@aspm/shared/dist/dto/index.js +43 -0
  176. package/bundled/node_modules/@aspm/shared/dist/dto/index.js.map +1 -0
  177. package/bundled/node_modules/@aspm/shared/dist/dto/metrics.dto.d.ts +203 -0
  178. package/bundled/node_modules/@aspm/shared/dist/dto/metrics.dto.d.ts.map +1 -0
  179. package/bundled/node_modules/@aspm/shared/dist/dto/metrics.dto.js +42 -0
  180. package/bundled/node_modules/@aspm/shared/dist/dto/metrics.dto.js.map +1 -0
  181. package/bundled/node_modules/@aspm/shared/dist/dto/record-gate-result.dto.d.ts +6 -0
  182. package/bundled/node_modules/@aspm/shared/dist/dto/record-gate-result.dto.d.ts.map +1 -0
  183. package/bundled/node_modules/@aspm/shared/dist/dto/record-gate-result.dto.js +31 -0
  184. package/bundled/node_modules/@aspm/shared/dist/dto/record-gate-result.dto.js.map +1 -0
  185. package/bundled/node_modules/@aspm/shared/dist/dto/update-coverage-gate.dto.d.ts +7 -0
  186. package/bundled/node_modules/@aspm/shared/dist/dto/update-coverage-gate.dto.d.ts.map +1 -0
  187. package/bundled/node_modules/@aspm/shared/dist/dto/update-coverage-gate.dto.js +47 -0
  188. package/bundled/node_modules/@aspm/shared/dist/dto/update-coverage-gate.dto.js.map +1 -0
  189. package/bundled/node_modules/@aspm/shared/dist/dto/update-performance-gate.dto.d.ts +6 -0
  190. package/bundled/node_modules/@aspm/shared/dist/dto/update-performance-gate.dto.d.ts.map +1 -0
  191. package/bundled/node_modules/@aspm/shared/dist/dto/update-performance-gate.dto.js +36 -0
  192. package/bundled/node_modules/@aspm/shared/dist/dto/update-performance-gate.dto.js.map +1 -0
  193. package/bundled/node_modules/@aspm/shared/dist/dto/update-security-gate.dto.d.ts +9 -0
  194. package/bundled/node_modules/@aspm/shared/dist/dto/update-security-gate.dto.d.ts.map +1 -0
  195. package/bundled/node_modules/@aspm/shared/dist/dto/update-security-gate.dto.js +58 -0
  196. package/bundled/node_modules/@aspm/shared/dist/dto/update-security-gate.dto.js.map +1 -0
  197. package/bundled/node_modules/@aspm/shared/dist/dto/update-vulnerability.dto.d.ts +6 -0
  198. package/bundled/node_modules/@aspm/shared/dist/dto/update-vulnerability.dto.d.ts.map +1 -0
  199. package/bundled/node_modules/@aspm/shared/dist/dto/update-vulnerability.dto.js +30 -0
  200. package/bundled/node_modules/@aspm/shared/dist/dto/update-vulnerability.dto.js.map +1 -0
  201. package/bundled/node_modules/@aspm/shared/dist/enums.d.ts +86 -0
  202. package/bundled/node_modules/@aspm/shared/dist/enums.d.ts.map +1 -0
  203. package/bundled/node_modules/@aspm/shared/dist/enums.js +132 -0
  204. package/bundled/node_modules/@aspm/shared/dist/enums.js.map +1 -0
  205. package/bundled/node_modules/@aspm/shared/dist/github/kubbisec-github-label.d.ts +6 -0
  206. package/bundled/node_modules/@aspm/shared/dist/github/kubbisec-github-label.d.ts.map +1 -0
  207. package/bundled/node_modules/@aspm/shared/dist/github/kubbisec-github-label.js +9 -0
  208. package/bundled/node_modules/@aspm/shared/dist/github/kubbisec-github-label.js.map +1 -0
  209. package/bundled/node_modules/@aspm/shared/dist/index.d.ts +14 -0
  210. package/bundled/node_modules/@aspm/shared/dist/index.d.ts.map +1 -0
  211. package/bundled/node_modules/@aspm/shared/dist/index.js +30 -0
  212. package/bundled/node_modules/@aspm/shared/dist/index.js.map +1 -0
  213. package/bundled/node_modules/@aspm/shared/dist/rbac/better-auth-org-roles.d.ts +23 -0
  214. package/bundled/node_modules/@aspm/shared/dist/rbac/better-auth-org-roles.d.ts.map +1 -0
  215. package/bundled/node_modules/@aspm/shared/dist/rbac/better-auth-org-roles.js +54 -0
  216. package/bundled/node_modules/@aspm/shared/dist/rbac/better-auth-org-roles.js.map +1 -0
  217. package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts +7 -0
  218. package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts.map +1 -0
  219. package/bundled/node_modules/@aspm/shared/dist/rbac/index.js +23 -0
  220. package/bundled/node_modules/@aspm/shared/dist/rbac/index.js.map +1 -0
  221. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.d.ts +9 -0
  222. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.d.ts.map +1 -0
  223. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js +89 -0
  224. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js.map +1 -0
  225. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts +12 -0
  226. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts.map +1 -0
  227. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js +84 -0
  228. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js.map +1 -0
  229. package/bundled/node_modules/@aspm/shared/dist/rbac/platform-staff.d.ts +14 -0
  230. package/bundled/node_modules/@aspm/shared/dist/rbac/platform-staff.d.ts.map +1 -0
  231. package/bundled/node_modules/@aspm/shared/dist/rbac/platform-staff.js +56 -0
  232. package/bundled/node_modules/@aspm/shared/dist/rbac/platform-staff.js.map +1 -0
  233. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.d.ts +10 -0
  234. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.d.ts.map +1 -0
  235. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js +196 -0
  236. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js.map +1 -0
  237. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-platform-permissions.d.ts +7 -0
  238. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-platform-permissions.d.ts.map +1 -0
  239. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-platform-permissions.js +23 -0
  240. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-platform-permissions.js.map +1 -0
  241. package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts +13 -0
  242. package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts.map +1 -0
  243. package/bundled/node_modules/@aspm/shared/dist/redaction.js +249 -0
  244. package/bundled/node_modules/@aspm/shared/dist/redaction.js.map +1 -0
  245. package/bundled/node_modules/@aspm/shared/dist/severity-map.d.ts +8 -0
  246. package/bundled/node_modules/@aspm/shared/dist/severity-map.d.ts.map +1 -0
  247. package/bundled/node_modules/@aspm/shared/dist/severity-map.js +47 -0
  248. package/bundled/node_modules/@aspm/shared/dist/severity-map.js.map +1 -0
  249. package/bundled/node_modules/@aspm/shared/dist/sonar-safe-string.d.ts +18 -0
  250. package/bundled/node_modules/@aspm/shared/dist/sonar-safe-string.d.ts.map +1 -0
  251. package/bundled/node_modules/@aspm/shared/dist/sonar-safe-string.js +137 -0
  252. package/bundled/node_modules/@aspm/shared/dist/sonar-safe-string.js.map +1 -0
  253. package/bundled/node_modules/@aspm/shared/dist/sort-findings.d.ts +16 -0
  254. package/bundled/node_modules/@aspm/shared/dist/sort-findings.d.ts.map +1 -0
  255. package/bundled/node_modules/@aspm/shared/dist/sort-findings.js +67 -0
  256. package/bundled/node_modules/@aspm/shared/dist/sort-findings.js.map +1 -0
  257. package/bundled/node_modules/@aspm/shared/dist/trusted-path.d.ts +7 -0
  258. package/bundled/node_modules/@aspm/shared/dist/trusted-path.d.ts.map +1 -0
  259. package/bundled/node_modules/@aspm/shared/dist/trusted-path.js +30 -0
  260. package/bundled/node_modules/@aspm/shared/dist/trusted-path.js.map +1 -0
  261. package/bundled/node_modules/@aspm/shared/package.json +47 -0
  262. package/bundled/node_modules/@kubbisec/chat-memory/dist/client.d.ts.map +1 -1
  263. package/bundled/node_modules/@kubbisec/chat-memory/dist/client.js +1 -1
  264. package/bundled/node_modules/@kubbisec/chat-memory/dist/client.js.map +1 -1
  265. package/bundled/node_modules/@kubbisec/chat-memory/dist/index.d.ts +5 -5
  266. package/bundled/node_modules/@kubbisec/chat-memory/dist/index.d.ts.map +1 -1
  267. package/bundled/node_modules/@kubbisec/chat-memory/dist/index.js +66 -16
  268. package/bundled/node_modules/@kubbisec/chat-memory/dist/index.js.map +1 -1
  269. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.d.ts.map +1 -1
  270. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js.map +1 -1
  271. package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.d.ts.map +1 -1
  272. package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.js +1 -3
  273. package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.js.map +1 -1
  274. package/bundled/node_modules/@kubbisec/home/dist/api-url.d.ts.map +1 -1
  275. package/bundled/node_modules/@kubbisec/home/dist/api-url.js +7 -1
  276. package/bundled/node_modules/@kubbisec/home/dist/api-url.js.map +1 -1
  277. package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.d.ts.map +1 -1
  278. package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.js.map +1 -1
  279. package/bundled/node_modules/@kubbisec/home/dist/index.d.ts +2 -2
  280. package/bundled/node_modules/@kubbisec/home/dist/index.d.ts.map +1 -1
  281. package/bundled/node_modules/@kubbisec/home/dist/index.js +1 -1
  282. package/bundled/node_modules/@kubbisec/home/dist/index.js.map +1 -1
  283. package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts.map +1 -1
  284. package/bundled/node_modules/@kubbisec/home/dist/migrate.js.map +1 -1
  285. package/bundled/node_modules/@kubbisec/home/dist/paths.d.ts.map +1 -1
  286. package/bundled/node_modules/@kubbisec/home/dist/paths.js.map +1 -1
  287. package/bundled/resolve-bundled-dist-root.js +10 -8
  288. package/bundled/resolve-bundled-dist-root.js.map +1 -1
  289. package/bundled/skills/at-path-mentions.d.ts.map +1 -1
  290. package/bundled/skills/at-path-mentions.js +1 -3
  291. package/bundled/skills/at-path-mentions.js.map +1 -1
  292. package/bundled/skills/at-path-mentions.test.ts +2 -2
  293. package/bundled/skills/at-path-mentions.ts +1 -3
  294. package/bundled/skills/chat-mention-render.d.ts.map +1 -1
  295. package/bundled/skills/chat-mention-render.js.map +1 -1
  296. package/bundled/skills/chat-mention-render.ts +1 -3
  297. package/bundled/skills/chat-mentions.d.ts.map +1 -1
  298. package/bundled/skills/chat-mentions.js +1 -3
  299. package/bundled/skills/chat-mentions.js.map +1 -1
  300. package/bundled/skills/chat-mentions.test.ts +1 -1
  301. package/bundled/skills/chat-mentions.ts +1 -3
  302. package/bundled/skills/list-bundled-skills.d.ts.map +1 -1
  303. package/bundled/skills/list-bundled-skills.js +1 -1
  304. package/bundled/skills/list-bundled-skills.js.map +1 -1
  305. package/bundled/skills/list-bundled-skills.ts +4 -1
  306. package/bundled/skills/skill-mention.d.ts +1 -1
  307. package/bundled/skills/skill-mention.d.ts.map +1 -1
  308. package/bundled/skills/skill-mention.js +1 -1
  309. package/bundled/skills/skill-mention.js.map +1 -1
  310. package/bundled/skills/skill-mention.ts +3 -3
  311. package/bundled/theme/footer-render-hook.js.map +1 -1
  312. package/bundled/theme/kubbisec-menu-themes.d.ts.map +1 -1
  313. package/bundled/theme/kubbisec-menu-themes.js.map +1 -1
  314. package/bundled/theme/kubbisec.json +85 -85
  315. package/bundled/theme/patch-pi-settings-theme.runtime.js.map +1 -1
  316. package/bundled/theme/render-compact-header.d.ts.map +1 -1
  317. package/bundled/theme/render-compact-header.js +4 -5
  318. package/bundled/theme/render-compact-header.js.map +1 -1
  319. package/bundled/workflow/session-workflow-mode.d.ts +10 -0
  320. package/bundled/workflow/session-workflow-mode.d.ts.map +1 -0
  321. package/bundled/workflow/session-workflow-mode.js +51 -0
  322. package/bundled/workflow/session-workflow-mode.js.map +1 -0
  323. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-platform-permissions.d.ts","sourceRoot":"","sources":["../../src/rbac/resolve-platform-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAO3F;;;GAGG;AACH,wBAAgB,wCAAwC,CACtD,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,WAAW,CAAC,kBAAkB,CAAC,CAMjC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPlatformPermissionsFromGlobalUserRole = getPlatformPermissionsFromGlobalUserRole;
4
+ const kubbisec_permissions_1 = require("./kubbisec-permissions");
5
+ const PLATFORM_ACCOUNT_MANAGER = new Set([
6
+ "kbsc.platform.org.read",
7
+ "kbsc.platform.user.read",
8
+ ]);
9
+ /**
10
+ * Maps global `user.role` (Better Auth admin plugin uses `admin`) + future slugs.
11
+ * `admin` and `platform_super_admin` receive the full `kbsc.*` catalog (tenant + platform).
12
+ */
13
+ function getPlatformPermissionsFromGlobalUserRole(role) {
14
+ if (!role)
15
+ return new Set();
16
+ const r = role.trim();
17
+ if (r === "admin" || r === "platform_super_admin")
18
+ return kubbisec_permissions_1.ALL_KUBBISEC_PERMISSIONS;
19
+ if (r === "platform_account_manager")
20
+ return PLATFORM_ACCOUNT_MANAGER;
21
+ return new Set();
22
+ }
23
+ //# sourceMappingURL=resolve-platform-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-platform-permissions.js","sourceRoot":"","sources":["../../src/rbac/resolve-platform-permissions.ts"],"names":[],"mappings":";;AAWA,4FAQC;AAnBD,iEAA2F;AAE3F,MAAM,wBAAwB,GAAoC,IAAI,GAAG,CAAC;IACxE,wBAAwB;IACxB,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAgB,wCAAwC,CACtD,IAA+B;IAE/B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,sBAAsB;QAAE,OAAO,+CAAwB,CAAC;IACnF,IAAI,CAAC,KAAK,0BAA0B;QAAE,OAAO,wBAAwB,CAAC;IACtE,OAAO,IAAI,GAAG,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const REDACTED_VALUE = "[REDACTED]";
2
+ export type RedactionOptions = {
3
+ redactRawData?: boolean;
4
+ redactMetadata?: boolean;
5
+ };
6
+ export declare function redactSensitiveData<T>(value: T): T;
7
+ export declare function sanitizeReportPayload<T extends {
8
+ metadata?: Record<string, unknown>;
9
+ vulnerabilities?: Array<{
10
+ rawData?: Record<string, unknown>;
11
+ }>;
12
+ }>(report: T, options?: RedactionOptions): T;
13
+ //# sourceMappingURL=redaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,cAAc,eAAe,CAAC;AAiD3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AA+LF,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CA2ClD;AAED,wBAAgB,qBAAqB,CACnC,CAAC,SAAS;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAChE,EACD,MAAM,EAAE,CAAC,EAAE,OAAO,GAAE,gBAAqB,GAAG,CAAC,CAyB9C"}
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.REDACTED_VALUE = void 0;
7
+ exports.redactSensitiveData = redactSensitiveData;
8
+ exports.sanitizeReportPayload = sanitizeReportPayload;
9
+ /**
10
+ * Structured redaction uses **@pinojs/redact** (Pino / Node.js logging stack), the same path
11
+ * model as `fast-redact` and Pino log redaction.
12
+ * @see https://github.com/pinojs/redact
13
+ *
14
+ * Key rules (headers vs env, substring keys, allowlist for fingerprint/secretHash) and
15
+ * inline secret patterns in strings stay defined here for ASPM report shapes.
16
+ */
17
+ const redact_1 = __importDefault(require("@pinojs/redact"));
18
+ exports.REDACTED_VALUE = "[REDACTED]";
19
+ const SENSITIVE_KEY_PARTS = [
20
+ "accesstoken",
21
+ "apikey",
22
+ "apitoken",
23
+ "authorization",
24
+ "bearertoken",
25
+ "clientsecret",
26
+ "credential",
27
+ "idtoken",
28
+ "password",
29
+ "passwd",
30
+ "privatekey",
31
+ "refreshtoken",
32
+ "secret",
33
+ "session",
34
+ "token",
35
+ ];
36
+ const SENSITIVE_EXACT_KEYS = new Set([
37
+ "auth",
38
+ "cookie",
39
+ "match",
40
+ "offender",
41
+ "proxyauthorization",
42
+ "pwd",
43
+ "secret",
44
+ "setcookie",
45
+ ]);
46
+ const SENSITIVE_HEADER_KEYS = new Set([
47
+ "authorization",
48
+ "cookie",
49
+ "proxyauthorization",
50
+ "setcookie",
51
+ "xapikey",
52
+ "xauthtoken",
53
+ "xcsrftoken",
54
+ "xgithubtoken",
55
+ ]);
56
+ const NON_SENSITIVE_EXACT_KEYS = new Set(["fingerprint", "secrethash"]);
57
+ const ENV_CONTAINER_KEYS = new Set(["env", "environment", "environmentvariables", "envvars"]);
58
+ const HEADER_CONTAINER_KEYS = new Set(["header", "headers", "requestheaders", "responseheaders"]);
59
+ const MAX_REDACTION_DEPTH = 20;
60
+ function normalizeKey(key) {
61
+ return key.toLowerCase().replace(/[^a-z0-9]/g, "");
62
+ }
63
+ function isSensitiveKey(key) {
64
+ const normalized = normalizeKey(key);
65
+ if (NON_SENSITIVE_EXACT_KEYS.has(normalized))
66
+ return false;
67
+ return (SENSITIVE_EXACT_KEYS.has(normalized) ||
68
+ SENSITIVE_KEY_PARTS.some((part) => normalized.includes(part)));
69
+ }
70
+ function shouldRedactValue(key, parentKey) {
71
+ const normalizedKey = normalizeKey(key);
72
+ const normalizedParentKey = parentKey ? normalizeKey(parentKey) : "";
73
+ if (HEADER_CONTAINER_KEYS.has(normalizedParentKey)) {
74
+ return SENSITIVE_HEADER_KEYS.has(normalizedKey) || isSensitiveKey(key);
75
+ }
76
+ if (ENV_CONTAINER_KEYS.has(normalizedParentKey)) {
77
+ return isSensitiveKey(key);
78
+ }
79
+ return isSensitiveKey(key);
80
+ }
81
+ function redactString(value) {
82
+ return value
83
+ .replace(/\b((?:[A-Z][A-Z0-9_]{1,80})(?:TOKEN|SECRET|PASSWORD|PASSWD|PWD|API_KEY|PRIVATE_KEY|CLIENT_SECRET|AUTH)[A-Z0-9_]*\s*=\s*)(["']?)[^\s"'`]+/gi, `$1$2${exports.REDACTED_VALUE}`)
84
+ .replace(/\b(Bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi, `$1${exports.REDACTED_VALUE}`)
85
+ .replace(/\b(Basic\s+)[A-Za-z0-9+/=-]{8,}/gi, `$1${exports.REDACTED_VALUE}`)
86
+ .replace(/\bgh[pousr]_[A-Za-z0-9_]{20,255}\b/g, exports.REDACTED_VALUE)
87
+ .replace(/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/g, exports.REDACTED_VALUE)
88
+ .replace(/\bAIza[0-9A-Za-z_-]{35}\b/g, exports.REDACTED_VALUE)
89
+ .replace(/\b(AccountKey|SharedAccessSignature)=([^;\n]+)/gi, `$1=${exports.REDACTED_VALUE}`)
90
+ .replace(/\b((?:password|passwd|pwd|secret|token|api[_-]?key|client[_-]?secret)\b\s*[:=]\s*)(["'`]?)[^,\s"'`]+/gi, `$1$2${exports.REDACTED_VALUE}`)
91
+ .replace(/(https?:\/\/)([^/@\s:]+):([^/@\s]+)@/gi, `$1${exports.REDACTED_VALUE}@`);
92
+ }
93
+ /** Path string for @pinojs/redact / fast-redact. */
94
+ function serializeRedactPath(parts) {
95
+ let out = "";
96
+ for (const p of parts) {
97
+ if (typeof p === "number" || (typeof p === "string" && /^\d+$/.test(p))) {
98
+ const n = typeof p === "number" ? p : Number(p);
99
+ out += `[${n}]`;
100
+ continue;
101
+ }
102
+ const k = String(p);
103
+ if (/^[a-zA-Z_$][\w$]*$/.test(k)) {
104
+ out += out === "" ? k : `.${k}`;
105
+ }
106
+ else {
107
+ const escaped = k.replaceAll("\\", "\\\\").replaceAll('"', '\\"');
108
+ out += out === "" ? `["${escaped}"]` : `.["${escaped}"]`;
109
+ }
110
+ }
111
+ return out;
112
+ }
113
+ /** Normalize path segments so @pinojs/redact callback keys match our collected paths. */
114
+ function pathKey(parts) {
115
+ return JSON.stringify(parts.map(String));
116
+ }
117
+ function markFull(parts, fullPathKeys, pinoPaths) {
118
+ const pk = pathKey(parts);
119
+ fullPathKeys.add(pk);
120
+ pinoPaths.add(serializeRedactPath(parts));
121
+ }
122
+ /** Deep clone for JSON-serializable report trees (no cycles, no special types). */
123
+ function cloneReportTree(value) {
124
+ return JSON.parse(JSON.stringify(value));
125
+ }
126
+ function markString(parts, stringPathKeys, pinoPaths) {
127
+ const pk = pathKey(parts);
128
+ stringPathKeys.add(pk);
129
+ pinoPaths.add(serializeRedactPath(parts));
130
+ }
131
+ /**
132
+ * Mirrors legacy `redactValue` traversal: `containerKey` is the key passed into `redactValue`
133
+ * (how the parent refers to this node — array field name for array items, child key for nested objects).
134
+ */
135
+ function collectRedactionTargets(value, parts, containerKey, depth, fullPathKeys, stringPathKeys, pinoPaths) {
136
+ if (value === null || typeof value !== "object") {
137
+ return;
138
+ }
139
+ if (containerKey !== undefined && shouldRedactValue(containerKey)) {
140
+ markFull(parts, fullPathKeys, pinoPaths);
141
+ return;
142
+ }
143
+ if (depth >= MAX_REDACTION_DEPTH) {
144
+ markFull(parts, fullPathKeys, pinoPaths);
145
+ return;
146
+ }
147
+ if (Array.isArray(value)) {
148
+ const nextDepth = depth + 1;
149
+ for (let i = 0; i < value.length; i++) {
150
+ const item = value[i];
151
+ const itemParts = [...parts, i];
152
+ if (item === null || typeof item !== "object") {
153
+ if (typeof item === "string") {
154
+ markString(itemParts, stringPathKeys, pinoPaths);
155
+ }
156
+ continue;
157
+ }
158
+ if (nextDepth >= MAX_REDACTION_DEPTH) {
159
+ markFull(itemParts, fullPathKeys, pinoPaths);
160
+ continue;
161
+ }
162
+ collectRedactionTargets(item, itemParts, containerKey, nextDepth, fullPathKeys, stringPathKeys, pinoPaths);
163
+ }
164
+ return;
165
+ }
166
+ const input = value;
167
+ for (const [childKey, childValue] of Object.entries(input)) {
168
+ const nextParts = [...parts, childKey];
169
+ if (shouldRedactValue(childKey, containerKey)) {
170
+ markFull(nextParts, fullPathKeys, pinoPaths);
171
+ continue;
172
+ }
173
+ if (childValue === null || typeof childValue !== "object") {
174
+ if (typeof childValue === "string") {
175
+ markString(nextParts, stringPathKeys, pinoPaths);
176
+ }
177
+ continue;
178
+ }
179
+ const nextDepth = depth + 1;
180
+ if (nextDepth >= MAX_REDACTION_DEPTH) {
181
+ markFull(nextParts, fullPathKeys, pinoPaths);
182
+ continue;
183
+ }
184
+ collectRedactionTargets(childValue, nextParts, childKey, nextDepth, fullPathKeys, stringPathKeys, pinoPaths);
185
+ }
186
+ }
187
+ function redactSensitiveData(value) {
188
+ if (value == null || typeof value !== "object") {
189
+ if (typeof value === "string") {
190
+ return redactString(value);
191
+ }
192
+ return value;
193
+ }
194
+ const fullPathKeys = new Set();
195
+ const stringPathKeys = new Set();
196
+ const pinoPaths = new Set();
197
+ collectRedactionTargets(value, [], undefined, 0, fullPathKeys, stringPathKeys, pinoPaths);
198
+ if (pinoPaths.size === 0) {
199
+ return value;
200
+ }
201
+ const redact = (0, redact_1.default)({
202
+ paths: [...pinoPaths],
203
+ serialize: false,
204
+ strict: false,
205
+ censor: ((v, keyPath) => {
206
+ const parts = Array.isArray(keyPath) ? keyPath.map((x) => String(x)) : [];
207
+ const pk = pathKey(parts);
208
+ if (fullPathKeys.has(pk)) {
209
+ return exports.REDACTED_VALUE;
210
+ }
211
+ if (typeof v === "string" && stringPathKeys.has(pk)) {
212
+ return redactString(v);
213
+ }
214
+ return v;
215
+ }),
216
+ });
217
+ const raw = redact(cloneReportTree(value));
218
+ if (typeof raw.restore === "function") {
219
+ const { restore: _drop, ...rest } = raw;
220
+ return rest;
221
+ }
222
+ return raw;
223
+ }
224
+ function sanitizeReportPayload(report, options = {}) {
225
+ const { redactRawData = true, redactMetadata = true } = options;
226
+ return {
227
+ ...report,
228
+ ...(redactMetadata && report.metadata
229
+ ? { metadata: redactSensitiveData(report.metadata) }
230
+ : {}),
231
+ ...(Array.isArray(report.vulnerabilities)
232
+ ? {
233
+ vulnerabilities: report.vulnerabilities.map((vulnerability) => {
234
+ const { rawData, ...vulnerabilityFields } = vulnerability;
235
+ const hasRawData = Object.hasOwn(vulnerability, "rawData");
236
+ return {
237
+ ...redactSensitiveData(vulnerabilityFields),
238
+ ...(hasRawData
239
+ ? {
240
+ rawData: redactRawData && rawData ? redactSensitiveData(rawData) : rawData,
241
+ }
242
+ : {}),
243
+ };
244
+ }),
245
+ }
246
+ : {}),
247
+ };
248
+ }
249
+ //# sourceMappingURL=redaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Severity } from "./enums";
2
+ export declare const TRIVY_SEVERITY_MAP: Record<string, Severity>;
3
+ export declare const SONAR_SEVERITY_MAP: Record<string, Severity>;
4
+ /** Semgrep CLI JSON: extra.severity */
5
+ export declare const SEMGREP_SEVERITY_MAP: Record<string, Severity>;
6
+ export declare const SKIPFISH_SEVERITY_MAP: Record<number, Severity>;
7
+ export declare function mapNmapSeverity(port: number, service: string): Severity;
8
+ //# sourceMappingURL=severity-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"severity-map.d.ts","sourceRoot":"","sources":["../src/severity-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAMvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAMvD,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAKzD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAM1D,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAavE"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SKIPFISH_SEVERITY_MAP = exports.SEMGREP_SEVERITY_MAP = exports.SONAR_SEVERITY_MAP = exports.TRIVY_SEVERITY_MAP = void 0;
4
+ exports.mapNmapSeverity = mapNmapSeverity;
5
+ const enums_1 = require("./enums");
6
+ exports.TRIVY_SEVERITY_MAP = {
7
+ CRITICAL: enums_1.Severity.CRITICAL,
8
+ HIGH: enums_1.Severity.HIGH,
9
+ MEDIUM: enums_1.Severity.MEDIUM,
10
+ LOW: enums_1.Severity.LOW,
11
+ UNKNOWN: enums_1.Severity.INFO,
12
+ };
13
+ exports.SONAR_SEVERITY_MAP = {
14
+ BLOCKER: enums_1.Severity.CRITICAL,
15
+ CRITICAL: enums_1.Severity.HIGH,
16
+ MAJOR: enums_1.Severity.MEDIUM,
17
+ MINOR: enums_1.Severity.LOW,
18
+ INFO: enums_1.Severity.INFO,
19
+ };
20
+ /** Semgrep CLI JSON: extra.severity */
21
+ exports.SEMGREP_SEVERITY_MAP = {
22
+ ERROR: enums_1.Severity.HIGH,
23
+ WARNING: enums_1.Severity.MEDIUM,
24
+ INFO: enums_1.Severity.LOW,
25
+ INVENTORY: enums_1.Severity.INFO,
26
+ };
27
+ exports.SKIPFISH_SEVERITY_MAP = {
28
+ 5: enums_1.Severity.HIGH,
29
+ 4: enums_1.Severity.MEDIUM,
30
+ 3: enums_1.Severity.LOW,
31
+ 2: enums_1.Severity.LOW,
32
+ 1: enums_1.Severity.INFO,
33
+ };
34
+ function mapNmapSeverity(port, service) {
35
+ const criticalPorts = [21, 23, 445, 3389, 5900];
36
+ const highPorts = [22, 25, 53, 110, 143, 389, 636, 1433, 3306, 5432, 6379, 27017];
37
+ if (criticalPorts.includes(port))
38
+ return enums_1.Severity.HIGH;
39
+ if (highPorts.includes(port))
40
+ return enums_1.Severity.MEDIUM;
41
+ const riskyServices = ["telnet", "ftp", "vnc", "rdp", "smb"];
42
+ if (riskyServices.some((s) => service.toLowerCase().includes(s))) {
43
+ return enums_1.Severity.HIGH;
44
+ }
45
+ return enums_1.Severity.LOW;
46
+ }
47
+ //# sourceMappingURL=severity-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"severity-map.js","sourceRoot":"","sources":["../src/severity-map.ts"],"names":[],"mappings":";;;AAkCA,0CAaC;AA/CD,mCAAmC;AAEtB,QAAA,kBAAkB,GAA6B;IAC1D,QAAQ,EAAE,gBAAQ,CAAC,QAAQ;IAC3B,IAAI,EAAE,gBAAQ,CAAC,IAAI;IACnB,MAAM,EAAE,gBAAQ,CAAC,MAAM;IACvB,GAAG,EAAE,gBAAQ,CAAC,GAAG;IACjB,OAAO,EAAE,gBAAQ,CAAC,IAAI;CACvB,CAAC;AAEW,QAAA,kBAAkB,GAA6B;IAC1D,OAAO,EAAE,gBAAQ,CAAC,QAAQ;IAC1B,QAAQ,EAAE,gBAAQ,CAAC,IAAI;IACvB,KAAK,EAAE,gBAAQ,CAAC,MAAM;IACtB,KAAK,EAAE,gBAAQ,CAAC,GAAG;IACnB,IAAI,EAAE,gBAAQ,CAAC,IAAI;CACpB,CAAC;AAEF,uCAAuC;AAC1B,QAAA,oBAAoB,GAA6B;IAC5D,KAAK,EAAE,gBAAQ,CAAC,IAAI;IACpB,OAAO,EAAE,gBAAQ,CAAC,MAAM;IACxB,IAAI,EAAE,gBAAQ,CAAC,GAAG;IAClB,SAAS,EAAE,gBAAQ,CAAC,IAAI;CACzB,CAAC;AAEW,QAAA,qBAAqB,GAA6B;IAC7D,CAAC,EAAE,gBAAQ,CAAC,IAAI;IAChB,CAAC,EAAE,gBAAQ,CAAC,MAAM;IAClB,CAAC,EAAE,gBAAQ,CAAC,GAAG;IACf,CAAC,EAAE,gBAAQ,CAAC,GAAG;IACf,CAAC,EAAE,gBAAQ,CAAC,IAAI;CACjB,CAAC;AAEF,SAAgB,eAAe,CAAC,IAAY,EAAE,OAAe;IAC3D,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAElF,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,gBAAQ,CAAC,IAAI,CAAC;IACvD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,gBAAQ,CAAC,MAAM,CAAC;IAErD,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,gBAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,gBAAQ,CAAC,GAAG,CAAC;AACtB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** Remove trailing `/` without regex (avoids Sonar S5852 ReDoS on `/\/+$/`). */
2
+ export declare function trimTrailingSlashes(value: string): string;
3
+ /** Remove leading and trailing runs of `char` without regex. */
4
+ export declare function trimEdgeChars(value: string, char: string): string;
5
+ /** Slugify display names for pipelines, projects, and K8s-safe identifiers. */
6
+ export declare function slugify(value: string, fallback?: string): string;
7
+ /** Extract a fenced markdown code block without `[\s\S]*?` backtracking. */
8
+ export declare function extractFencedBlock(source: string, language?: string): string | null;
9
+ /** Parse `[prefix] message` log lines without lazy-regex backtracking. */
10
+ export declare function parseBracketPrefixedMessage(message: string): {
11
+ prefix: string;
12
+ body: string;
13
+ } | null;
14
+ /** Extract file/path hints from free-form location text (CI / AI outputs). */
15
+ export declare function extractPathHints(location: string): string[];
16
+ /** Sanitize a string into a Kubernetes resource name (RFC 1123 subset). */
17
+ export declare function sanitizeKubernetesName(value: string, fallback?: string): string;
18
+ //# sourceMappingURL=sonar-safe-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sonar-safe-string.d.ts","sourceRoot":"","sources":["../src/sonar-safe-string.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjE;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAa,GAAG,MAAM,CAkBpE;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBnF;AAED,0EAA0E;AAC1E,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOzC;AAsBD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB3D;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAa,GAAG,MAAM,CAInF"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.trimTrailingSlashes = trimTrailingSlashes;
4
+ exports.trimEdgeChars = trimEdgeChars;
5
+ exports.slugify = slugify;
6
+ exports.extractFencedBlock = extractFencedBlock;
7
+ exports.parseBracketPrefixedMessage = parseBracketPrefixedMessage;
8
+ exports.extractPathHints = extractPathHints;
9
+ exports.sanitizeKubernetesName = sanitizeKubernetesName;
10
+ /** Remove trailing `/` without regex (avoids Sonar S5852 ReDoS on `/\/+$/`). */
11
+ function trimTrailingSlashes(value) {
12
+ if (!value)
13
+ return value;
14
+ let end = value.length;
15
+ while (end > 0 && value.charCodeAt(end - 1) === 47)
16
+ end -= 1;
17
+ return end === value.length ? value : value.slice(0, end);
18
+ }
19
+ /** Remove leading and trailing runs of `char` without regex. */
20
+ function trimEdgeChars(value, char) {
21
+ if (!value || !char)
22
+ return value;
23
+ let start = 0;
24
+ let end = value.length;
25
+ while (start < end && value[start] === char)
26
+ start += 1;
27
+ while (end > start && value[end - 1] === char)
28
+ end -= 1;
29
+ return value.slice(start, end);
30
+ }
31
+ /** Slugify display names for pipelines, projects, and K8s-safe identifiers. */
32
+ function slugify(value, fallback = "pipeline") {
33
+ const lower = value.trim().toLowerCase();
34
+ let slug = "";
35
+ let prevDash = false;
36
+ for (const ch of lower) {
37
+ const code = ch.charCodeAt(0);
38
+ const isAlphaNum = (code >= 48 && code <= 57) || (code >= 97 && code <= 122) || ch === "-";
39
+ if (isAlphaNum && ch !== "-") {
40
+ slug += ch;
41
+ prevDash = false;
42
+ continue;
43
+ }
44
+ if (!prevDash && slug.length > 0) {
45
+ slug += "-";
46
+ prevDash = true;
47
+ }
48
+ }
49
+ return trimEdgeChars(slug, "-") || fallback;
50
+ }
51
+ /** Extract a fenced markdown code block without `[\s\S]*?` backtracking. */
52
+ function extractFencedBlock(source, language) {
53
+ const fence = language ? `\`\`\`${language}` : "```";
54
+ const lower = source.toLowerCase();
55
+ const fenceLower = fence.toLowerCase();
56
+ let searchFrom = 0;
57
+ let lastContent = null;
58
+ for (;;) {
59
+ const start = lower.indexOf(fenceLower, searchFrom);
60
+ if (start === -1)
61
+ break;
62
+ const contentStart = source.indexOf("\n", start + fence.length);
63
+ if (contentStart === -1)
64
+ break;
65
+ const end = source.indexOf("```", contentStart + 1);
66
+ if (end === -1)
67
+ break;
68
+ lastContent = source.slice(contentStart + 1, end).trim();
69
+ searchFrom = end + 3;
70
+ }
71
+ return lastContent;
72
+ }
73
+ /** Parse `[prefix] message` log lines without lazy-regex backtracking. */
74
+ function parseBracketPrefixedMessage(message) {
75
+ if (!message.startsWith("["))
76
+ return null;
77
+ const close = message.indexOf("]");
78
+ if (close <= 1)
79
+ return null;
80
+ const prefix = message.slice(1, close);
81
+ const body = message.slice(close + 1).trimStart();
82
+ return { prefix, body };
83
+ }
84
+ const PATH_HINT_EXTENSIONS = new Set([
85
+ "json",
86
+ "yaml",
87
+ "yml",
88
+ "lock",
89
+ "toml",
90
+ "gradle",
91
+ "csproj",
92
+ "dockerfile",
93
+ ]);
94
+ function trimTokenEdges(token) {
95
+ let start = 0;
96
+ let end = token.length;
97
+ const isAllowed = (ch) => /[a-zA-Z0-9/._-]/.test(ch);
98
+ while (start < end && !isAllowed(token[start]))
99
+ start += 1;
100
+ while (end > start && !isAllowed(token[end - 1]))
101
+ end -= 1;
102
+ return token.slice(start, end);
103
+ }
104
+ /** Extract file/path hints from free-form location text (CI / AI outputs). */
105
+ function extractPathHints(location) {
106
+ const hints = [];
107
+ for (const token of location.split(/\s+/)) {
108
+ const cleaned = trimTokenEdges(token);
109
+ if (!cleaned)
110
+ continue;
111
+ if (cleaned.toLowerCase() === "dockerfile") {
112
+ hints.push(cleaned);
113
+ continue;
114
+ }
115
+ const slash = cleaned.lastIndexOf("/");
116
+ const dot = cleaned.lastIndexOf(".");
117
+ if (dot > slash && dot < cleaned.length - 1) {
118
+ const ext = cleaned.slice(dot + 1).toLowerCase();
119
+ if (PATH_HINT_EXTENSIONS.has(ext))
120
+ hints.push(cleaned);
121
+ continue;
122
+ }
123
+ if (slash >= 0 && dot > slash) {
124
+ const ext = cleaned.slice(dot + 1).toLowerCase();
125
+ if (ext.length <= 8 && /^[a-z0-9]+$/.test(ext))
126
+ hints.push(cleaned);
127
+ }
128
+ }
129
+ return hints;
130
+ }
131
+ /** Sanitize a string into a Kubernetes resource name (RFC 1123 subset). */
132
+ function sanitizeKubernetesName(value, fallback = "naus-job") {
133
+ const slug = slugify(value, fallback);
134
+ const trimmed = trimEdgeChars(slug, "-");
135
+ return trimmed.slice(0, 63) || fallback;
136
+ }
137
+ //# sourceMappingURL=sonar-safe-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sonar-safe-string.js","sourceRoot":"","sources":["../src/sonar-safe-string.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /** Matches SecurityFilterPanel status order (active → closed). */
2
+ export declare const FINDING_STATUS_SORT_ORDER: readonly ["OPEN", "CONFIRMED", "REOPENED", "PENDING_REMED_REVIEW", "FIXED", "ACCEPTED", "FALSE_POSITIVE"];
3
+ export type SortableFinding = {
4
+ severity: string;
5
+ status: string;
6
+ createdAt: string | Date;
7
+ lastSeenAt?: string | Date | null;
8
+ fixedAt?: string | Date | null;
9
+ };
10
+ /**
11
+ * Workbench list order: status (Aberto→…→Corrigido→…, matching the filter panel),
12
+ * then severity (Crítico→…→Info), then most recently seen within the same bucket.
13
+ * Closed findings (incl. Corrigido) always appear after all active ones.
14
+ */
15
+ export declare function sortFindingsForDisplay<T extends SortableFinding>(findings: T[]): T[];
16
+ //# sourceMappingURL=sort-findings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-findings.d.ts","sourceRoot":"","sources":["../src/sort-findings.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,yBAAyB,2GAQ5B,CAAC;AAcX,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAChC,CAAC;AAmCF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,eAAe,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAYpF"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FINDING_STATUS_SORT_ORDER = void 0;
4
+ exports.sortFindingsForDisplay = sortFindingsForDisplay;
5
+ /** Matches SecurityFilterPanel status order (active → closed). */
6
+ exports.FINDING_STATUS_SORT_ORDER = [
7
+ "OPEN",
8
+ "CONFIRMED",
9
+ "REOPENED",
10
+ "PENDING_REMED_REVIEW",
11
+ "FIXED",
12
+ "ACCEPTED",
13
+ "FALSE_POSITIVE",
14
+ ];
15
+ const SEVERITY_ORDER = new Map([
16
+ ["CRITICAL", 0],
17
+ ["HIGH", 1],
18
+ ["MEDIUM", 2],
19
+ ["LOW", 3],
20
+ ["INFO", 4],
21
+ ]);
22
+ const STATUS_ORDER = new Map(exports.FINDING_STATUS_SORT_ORDER.map((status, index) => [status, index]));
23
+ function toTimestamp(value) {
24
+ if (value == null)
25
+ return 0;
26
+ const time = value instanceof Date ? value.getTime() : new Date(value).getTime();
27
+ return Number.isFinite(time) ? time : 0;
28
+ }
29
+ function lifecycleTime(finding) {
30
+ return Math.max(toTimestamp(finding.createdAt), toTimestamp(finding.lastSeenAt), toTimestamp(finding.fixedAt));
31
+ }
32
+ function normalizeStatus(status) {
33
+ return status.trim().toUpperCase();
34
+ }
35
+ function statusSortRank(finding) {
36
+ const normalized = normalizeStatus(finding.status);
37
+ const fixedRank = STATUS_ORDER.get("FIXED") ?? exports.FINDING_STATUS_SORT_ORDER.length;
38
+ const activeLastRank = STATUS_ORDER.get("PENDING_REMED_REVIEW") ?? 3;
39
+ if (finding.fixedAt) {
40
+ const rank = STATUS_ORDER.get(normalized);
41
+ if (rank === undefined || rank <= activeLastRank)
42
+ return fixedRank;
43
+ }
44
+ const rank = STATUS_ORDER.get(normalized);
45
+ if (rank !== undefined)
46
+ return rank;
47
+ return 0;
48
+ }
49
+ /**
50
+ * Workbench list order: status (Aberto→…→Corrigido→…, matching the filter panel),
51
+ * then severity (Crítico→…→Info), then most recently seen within the same bucket.
52
+ * Closed findings (incl. Corrigido) always appear after all active ones.
53
+ */
54
+ function sortFindingsForDisplay(findings) {
55
+ return [...findings].sort((a, b) => {
56
+ const statusA = statusSortRank(a);
57
+ const statusB = statusSortRank(b);
58
+ if (statusA !== statusB)
59
+ return statusA - statusB;
60
+ const severityA = SEVERITY_ORDER.get(a.severity) ?? Number.MAX_SAFE_INTEGER;
61
+ const severityB = SEVERITY_ORDER.get(b.severity) ?? Number.MAX_SAFE_INTEGER;
62
+ if (severityA !== severityB)
63
+ return severityA - severityB;
64
+ return lifecycleTime(b) - lifecycleTime(a);
65
+ });
66
+ }
67
+ //# sourceMappingURL=sort-findings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-findings.js","sourceRoot":"","sources":["../src/sort-findings.ts"],"names":[],"mappings":"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"}