@kubbisec/ai-linux-x64 0.1.25 → 0.1.28

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 (625) hide show
  1. package/bin/kubbisec +0 -0
  2. package/bundled/assets/terminal/banner-compact.ansi +7 -0
  3. package/bundled/assets/terminal/banner-wide.ansi +10 -0
  4. package/bundled/assets/terminal/logotipo-compact-fallback.ansi +7 -0
  5. package/bundled/assets/terminal/logotipo-compact.ansi +1 -0
  6. package/bundled/assets/terminal/logotipo-compact.png +0 -0
  7. package/bundled/assets/terminal/logotipo-wide-fallback.ansi +10 -0
  8. package/bundled/assets/terminal/logotipo-wide.ansi +1 -0
  9. package/bundled/assets/terminal/logotipo-wide.png +0 -0
  10. package/bundled/assets/terminal/mark.ansi +7 -0
  11. package/bundled/assets/terminal/wordmark-inline.ansi +1 -0
  12. package/bundled/assets/terminal/wordmark.ansi +4 -0
  13. package/bundled/assets/terminal/wordmark.png +0 -0
  14. package/bundled/components/kubbisec-model-selector.d.ts +44 -0
  15. package/bundled/components/kubbisec-model-selector.d.ts.map +1 -0
  16. package/bundled/components/kubbisec-model-selector.js +198 -0
  17. package/bundled/components/kubbisec-model-selector.js.map +1 -0
  18. package/bundled/config/config.d.ts +14 -0
  19. package/bundled/config/config.d.ts.map +1 -0
  20. package/bundled/config/config.js +67 -0
  21. package/bundled/config/config.js.map +1 -0
  22. package/bundled/config/detect-local-llm-providers.d.ts +33 -0
  23. package/bundled/config/detect-local-llm-providers.d.ts.map +1 -0
  24. package/bundled/config/detect-local-llm-providers.js +172 -0
  25. package/bundled/config/detect-local-llm-providers.js.map +1 -0
  26. package/bundled/config/ensure-kbs-project-settings.d.ts +20 -0
  27. package/bundled/config/ensure-kbs-project-settings.d.ts.map +1 -0
  28. package/bundled/config/ensure-kbs-project-settings.js +46 -0
  29. package/bundled/config/ensure-kbs-project-settings.js.map +1 -0
  30. package/bundled/config/ensure-kubbisec-project-settings.d.ts +31 -0
  31. package/bundled/config/ensure-kubbisec-project-settings.d.ts.map +1 -0
  32. package/bundled/config/ensure-kubbisec-project-settings.js +107 -0
  33. package/bundled/config/ensure-kubbisec-project-settings.js.map +1 -0
  34. package/bundled/config/extended-context.d.ts +12 -0
  35. package/bundled/config/extended-context.d.ts.map +1 -0
  36. package/bundled/config/extended-context.js +36 -0
  37. package/bundled/config/extended-context.js.map +1 -0
  38. package/bundled/config/feature-flags.d.ts +2 -0
  39. package/bundled/config/feature-flags.d.ts.map +1 -0
  40. package/bundled/config/feature-flags.js +2 -0
  41. package/bundled/config/feature-flags.js.map +1 -0
  42. package/bundled/config/format-kubbisec-footer-status.d.ts +2 -0
  43. package/bundled/config/format-kubbisec-footer-status.d.ts.map +1 -0
  44. package/bundled/config/format-kubbisec-footer-status.js +37 -0
  45. package/bundled/config/format-kubbisec-footer-status.js.map +1 -0
  46. package/bundled/config/kubbisec-extension-manifest.d.ts +3 -0
  47. package/bundled/config/kubbisec-extension-manifest.d.ts.map +1 -0
  48. package/bundled/config/kubbisec-extension-manifest.js +22 -0
  49. package/bundled/config/kubbisec-extension-manifest.js.map +1 -0
  50. package/bundled/config/llm-config-mutations.d.ts +38 -0
  51. package/bundled/config/llm-config-mutations.d.ts.map +1 -0
  52. package/bundled/config/llm-config-mutations.js +207 -0
  53. package/bundled/config/llm-config-mutations.js.map +1 -0
  54. package/bundled/config/llm-config.d.ts +66 -0
  55. package/bundled/config/llm-config.d.ts.map +1 -0
  56. package/bundled/config/llm-config.js +246 -0
  57. package/bundled/config/llm-config.js.map +1 -0
  58. package/bundled/config/llm-provider-catalog.d.ts +22 -0
  59. package/bundled/config/llm-provider-catalog.d.ts.map +1 -0
  60. package/bundled/config/llm-provider-catalog.js +54 -0
  61. package/bundled/config/llm-provider-catalog.js.map +1 -0
  62. package/bundled/config/materialize-kubbisec-pi-resources.d.ts +19 -0
  63. package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +1 -0
  64. package/bundled/config/materialize-kubbisec-pi-resources.js +242 -0
  65. package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -0
  66. package/bundled/config/register-custom-llm-providers.d.ts +13 -0
  67. package/bundled/config/register-custom-llm-providers.d.ts.map +1 -0
  68. package/bundled/config/register-custom-llm-providers.js +21 -0
  69. package/bundled/config/register-custom-llm-providers.js.map +1 -0
  70. package/bundled/config/register-kubbisec-llm-provider.d.ts +14 -0
  71. package/bundled/config/register-kubbisec-llm-provider.d.ts.map +1 -0
  72. package/bundled/config/register-kubbisec-llm-provider.js +53 -0
  73. package/bundled/config/register-kubbisec-llm-provider.js.map +1 -0
  74. package/bundled/config/resolve-agents-context-file.d.ts +4 -0
  75. package/bundled/config/resolve-agents-context-file.d.ts.map +1 -0
  76. package/bundled/config/resolve-agents-context-file.js +47 -0
  77. package/bundled/config/resolve-agents-context-file.js.map +1 -0
  78. package/bundled/config/resource-budget.d.ts +17 -0
  79. package/bundled/config/resource-budget.d.ts.map +1 -0
  80. package/bundled/config/resource-budget.js +35 -0
  81. package/bundled/config/resource-budget.js.map +1 -0
  82. package/bundled/config/sync-kubbisec-pi-models.d.ts +12 -0
  83. package/bundled/config/sync-kubbisec-pi-models.d.ts.map +1 -0
  84. package/bundled/config/sync-kubbisec-pi-models.js +81 -0
  85. package/bundled/config/sync-kubbisec-pi-models.js.map +1 -0
  86. package/bundled/copy/cli-reference-index.d.ts +2 -0
  87. package/bundled/copy/cli-reference-index.d.ts.map +1 -0
  88. package/bundled/copy/cli-reference-index.js +2 -0
  89. package/bundled/copy/cli-reference-index.js.map +1 -0
  90. package/bundled/copy/kubbisec-shell-copy.d.ts +21 -0
  91. package/bundled/copy/kubbisec-shell-copy.d.ts.map +1 -0
  92. package/bundled/copy/kubbisec-shell-copy.js +21 -0
  93. package/bundled/copy/kubbisec-shell-copy.js.map +1 -0
  94. package/bundled/edit-format.md +17 -0
  95. package/bundled/extensions/cli-local-shared.d.ts +56 -0
  96. package/bundled/extensions/cli-local-shared.d.ts.map +1 -0
  97. package/bundled/extensions/cli-local-shared.js +159 -0
  98. package/bundled/extensions/cli-local-shared.js.map +1 -0
  99. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts +18 -0
  100. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +1 -0
  101. package/bundled/extensions/kubbisec-aspm-local.extension.js +109 -0
  102. package/bundled/extensions/kubbisec-aspm-local.extension.js.map +1 -0
  103. package/bundled/extensions/kubbisec-brand.extension.d.ts +3 -0
  104. package/bundled/extensions/kubbisec-brand.extension.d.ts.map +1 -0
  105. package/bundled/extensions/kubbisec-brand.extension.js +32 -0
  106. package/bundled/extensions/kubbisec-brand.extension.js.map +1 -0
  107. package/bundled/extensions/kubbisec-byok-provider.extension.d.ts +6 -0
  108. package/bundled/extensions/kubbisec-byok-provider.extension.d.ts.map +1 -0
  109. package/bundled/extensions/kubbisec-byok-provider.extension.js +5 -0
  110. package/bundled/extensions/kubbisec-byok-provider.extension.js.map +1 -0
  111. package/bundled/extensions/kubbisec-clarify.extension.d.ts +50 -0
  112. package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +1 -0
  113. package/bundled/extensions/kubbisec-clarify.extension.js +363 -0
  114. package/bundled/extensions/kubbisec-clarify.extension.js.map +1 -0
  115. package/bundled/extensions/kubbisec-exit.extension.d.ts +6 -0
  116. package/bundled/extensions/kubbisec-exit.extension.d.ts.map +1 -0
  117. package/bundled/extensions/kubbisec-exit.extension.js +41 -0
  118. package/bundled/extensions/kubbisec-exit.extension.js.map +1 -0
  119. package/bundled/extensions/kubbisec-extended-context.extension.d.ts +6 -0
  120. package/bundled/extensions/kubbisec-extended-context.extension.d.ts.map +1 -0
  121. package/bundled/extensions/kubbisec-extended-context.extension.js +50 -0
  122. package/bundled/extensions/kubbisec-extended-context.extension.js.map +1 -0
  123. package/bundled/extensions/kubbisec-footer.extension.d.ts +19 -0
  124. package/bundled/extensions/kubbisec-footer.extension.d.ts.map +1 -0
  125. package/bundled/extensions/kubbisec-footer.extension.js +255 -0
  126. package/bundled/extensions/kubbisec-footer.extension.js.map +1 -0
  127. package/bundled/extensions/kubbisec-github-local.extension.d.ts +23 -0
  128. package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +1 -0
  129. package/bundled/extensions/kubbisec-github-local.extension.js +470 -0
  130. package/bundled/extensions/kubbisec-github-local.extension.js.map +1 -0
  131. package/bundled/extensions/kubbisec-llm-config.extension.d.ts +3 -0
  132. package/bundled/extensions/kubbisec-llm-config.extension.d.ts.map +1 -0
  133. package/bundled/extensions/kubbisec-llm-config.extension.js +211 -0
  134. package/bundled/extensions/kubbisec-llm-config.extension.js.map +1 -0
  135. package/bundled/extensions/kubbisec-memory.extension.d.ts +12 -0
  136. package/bundled/extensions/kubbisec-memory.extension.d.ts.map +1 -0
  137. package/bundled/extensions/kubbisec-memory.extension.js +107 -0
  138. package/bundled/extensions/kubbisec-memory.extension.js.map +1 -0
  139. package/bundled/extensions/kubbisec-naus-local.extension.d.ts +18 -0
  140. package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +1 -0
  141. package/bundled/extensions/kubbisec-naus-local.extension.js +112 -0
  142. package/bundled/extensions/kubbisec-naus-local.extension.js.map +1 -0
  143. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts +30 -0
  144. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts.map +1 -0
  145. package/bundled/extensions/kubbisec-platform-tools.extension.js +185 -0
  146. package/bundled/extensions/kubbisec-platform-tools.extension.js.map +1 -0
  147. package/bundled/extensions/kubbisec-runtime-status.extension.d.ts +13 -0
  148. package/bundled/extensions/kubbisec-runtime-status.extension.d.ts.map +1 -0
  149. package/bundled/extensions/kubbisec-runtime-status.extension.js +18 -0
  150. package/bundled/extensions/kubbisec-runtime-status.extension.js.map +1 -0
  151. package/bundled/extensions/kubbisec-scope.extension.d.ts +14 -0
  152. package/bundled/extensions/kubbisec-scope.extension.d.ts.map +1 -0
  153. package/bundled/extensions/kubbisec-scope.extension.js +18 -0
  154. package/bundled/extensions/kubbisec-scope.extension.js.map +1 -0
  155. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts +25 -0
  156. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +1 -0
  157. package/bundled/extensions/kubbisec-skill-mentions.extension.js +71 -0
  158. package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +1 -0
  159. package/bundled/extensions/kubbisec-skill-telemetry.extension.d.ts +6 -0
  160. package/bundled/extensions/kubbisec-skill-telemetry.extension.d.ts.map +1 -0
  161. package/bundled/extensions/kubbisec-skill-telemetry.extension.js +85 -0
  162. package/bundled/extensions/kubbisec-skill-telemetry.extension.js.map +1 -0
  163. package/bundled/extensions/kubbisec-theme-lock.extension.d.ts +6 -0
  164. package/bundled/extensions/kubbisec-theme-lock.extension.d.ts.map +1 -0
  165. package/bundled/extensions/kubbisec-theme-lock.extension.js +43 -0
  166. package/bundled/extensions/kubbisec-theme-lock.extension.js.map +1 -0
  167. package/bundled/extensions/kubbisec-ui.extension.d.ts +6 -0
  168. package/bundled/extensions/kubbisec-ui.extension.d.ts.map +1 -0
  169. package/bundled/extensions/kubbisec-ui.extension.js +143 -0
  170. package/bundled/extensions/kubbisec-ui.extension.js.map +1 -0
  171. package/bundled/extensions/kubbisec-workflow.extension.d.ts +38 -0
  172. package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +1 -0
  173. package/bundled/extensions/kubbisec-workflow.extension.js +179 -0
  174. package/bundled/extensions/kubbisec-workflow.extension.js.map +1 -0
  175. package/bundled/gate-system.md +27 -0
  176. package/bundled/node_modules/@kubbisec/chat-memory/dist/client.d.ts +20 -0
  177. package/bundled/node_modules/@kubbisec/chat-memory/dist/client.d.ts.map +1 -0
  178. package/bundled/node_modules/@kubbisec/chat-memory/dist/client.js +121 -0
  179. package/bundled/node_modules/@kubbisec/chat-memory/dist/client.js.map +1 -0
  180. package/bundled/node_modules/@kubbisec/chat-memory/dist/feature-flags.d.ts +15 -0
  181. package/bundled/node_modules/@kubbisec/chat-memory/dist/feature-flags.d.ts.map +1 -0
  182. package/bundled/node_modules/@kubbisec/chat-memory/dist/feature-flags.js +34 -0
  183. package/bundled/node_modules/@kubbisec/chat-memory/dist/feature-flags.js.map +1 -0
  184. package/bundled/node_modules/@kubbisec/chat-memory/dist/index.d.ts +12 -0
  185. package/bundled/node_modules/@kubbisec/chat-memory/dist/index.d.ts.map +1 -0
  186. package/bundled/node_modules/@kubbisec/chat-memory/dist/index.js +85 -0
  187. package/bundled/node_modules/@kubbisec/chat-memory/dist/index.js.map +1 -0
  188. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.d.ts +4 -0
  189. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.d.ts.map +1 -0
  190. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js +89 -0
  191. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js.map +1 -0
  192. package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.d.ts +2 -0
  193. package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.d.ts.map +1 -0
  194. package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.js +11 -0
  195. package/bundled/node_modules/@kubbisec/chat-memory/dist/storage-paths.js.map +1 -0
  196. package/bundled/node_modules/@kubbisec/chat-memory/dist/types.d.ts +24 -0
  197. package/bundled/node_modules/@kubbisec/chat-memory/dist/types.d.ts.map +1 -0
  198. package/bundled/node_modules/@kubbisec/chat-memory/dist/types.js +9 -0
  199. package/bundled/node_modules/@kubbisec/chat-memory/dist/types.js.map +1 -0
  200. package/bundled/node_modules/@kubbisec/chat-memory/package.json +32 -0
  201. package/bundled/node_modules/@kubbisec/home/dist/api-url.d.ts +8 -0
  202. package/bundled/node_modules/@kubbisec/home/dist/api-url.d.ts.map +1 -0
  203. package/bundled/node_modules/@kubbisec/home/dist/api-url.js +25 -0
  204. package/bundled/node_modules/@kubbisec/home/dist/api-url.js.map +1 -0
  205. package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.d.ts +17 -0
  206. package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.d.ts.map +1 -0
  207. package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.js +35 -0
  208. package/bundled/node_modules/@kubbisec/home/dist/cli-auth.types.js.map +1 -0
  209. package/bundled/node_modules/@kubbisec/home/dist/index.d.ts +5 -0
  210. package/bundled/node_modules/@kubbisec/home/dist/index.d.ts.map +1 -0
  211. package/bundled/node_modules/@kubbisec/home/dist/index.js +5 -0
  212. package/bundled/node_modules/@kubbisec/home/dist/index.js.map +1 -0
  213. package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts +10 -0
  214. package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts.map +1 -0
  215. package/bundled/node_modules/@kubbisec/home/dist/migrate.js +107 -0
  216. package/bundled/node_modules/@kubbisec/home/dist/migrate.js.map +1 -0
  217. package/bundled/node_modules/@kubbisec/home/dist/paths.d.ts +22 -0
  218. package/bundled/node_modules/@kubbisec/home/dist/paths.d.ts.map +1 -0
  219. package/bundled/node_modules/@kubbisec/home/dist/paths.js +69 -0
  220. package/bundled/node_modules/@kubbisec/home/dist/paths.js.map +1 -0
  221. package/bundled/node_modules/@kubbisec/home/package.json +26 -0
  222. package/bundled/node_modules/@kubbisec/shared/dist/ai/evaluation-dataset-50.d.ts +311 -0
  223. package/bundled/node_modules/@kubbisec/shared/dist/ai/evaluation-dataset-50.d.ts.map +1 -0
  224. package/bundled/node_modules/@kubbisec/shared/dist/ai/evaluation-dataset-50.js +357 -0
  225. package/bundled/node_modules/@kubbisec/shared/dist/ai/evaluation-dataset-50.js.map +1 -0
  226. package/bundled/node_modules/@kubbisec/shared/dist/ai/index.d.ts +3 -0
  227. package/bundled/node_modules/@kubbisec/shared/dist/ai/index.d.ts.map +1 -0
  228. package/bundled/node_modules/@kubbisec/shared/dist/ai/index.js +19 -0
  229. package/bundled/node_modules/@kubbisec/shared/dist/ai/index.js.map +1 -0
  230. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts +7 -0
  231. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts.map +1 -0
  232. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js +30 -0
  233. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js.map +1 -0
  234. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts +7 -0
  235. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts.map +1 -0
  236. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/build-chat-system-prompt.js +14 -0
  237. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/build-chat-system-prompt.js.map +1 -0
  238. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/cli-reference-index.d.ts +6 -0
  239. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/cli-reference-index.d.ts.map +1 -0
  240. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/cli-reference-index.js +65 -0
  241. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/cli-reference-index.js.map +1 -0
  242. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts +8 -0
  243. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts.map +1 -0
  244. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/format-mcp-knowledge.js +29 -0
  245. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/format-mcp-knowledge.js.map +1 -0
  246. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/index.d.ts +7 -0
  247. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/index.d.ts.map +1 -0
  248. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/index.js +16 -0
  249. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/index.js.map +1 -0
  250. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.d.ts +2 -0
  251. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.d.ts.map +1 -0
  252. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.js +35 -0
  253. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.js.map +1 -0
  254. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mental-map.d.ts +6 -0
  255. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mental-map.d.ts.map +1 -0
  256. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mental-map.js +32 -0
  257. package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mental-map.js.map +1 -0
  258. package/bundled/node_modules/@kubbisec/shared/dist/api-key/api-key-scope-groups.d.ts +12 -0
  259. package/bundled/node_modules/@kubbisec/shared/dist/api-key/api-key-scope-groups.d.ts.map +1 -0
  260. package/bundled/node_modules/@kubbisec/shared/dist/api-key/api-key-scope-groups.js +93 -0
  261. package/bundled/node_modules/@kubbisec/shared/dist/api-key/api-key-scope-groups.js.map +1 -0
  262. package/bundled/node_modules/@kubbisec/shared/dist/api-key/api-key-scope-presets.d.ts +13 -0
  263. package/bundled/node_modules/@kubbisec/shared/dist/api-key/api-key-scope-presets.d.ts.map +1 -0
  264. package/bundled/node_modules/@kubbisec/shared/dist/api-key/api-key-scope-presets.js +79 -0
  265. package/bundled/node_modules/@kubbisec/shared/dist/api-key/api-key-scope-presets.js.map +1 -0
  266. package/bundled/node_modules/@kubbisec/shared/dist/api-key/index.d.ts +4 -0
  267. package/bundled/node_modules/@kubbisec/shared/dist/api-key/index.d.ts.map +1 -0
  268. package/bundled/node_modules/@kubbisec/shared/dist/api-key/index.js +20 -0
  269. package/bundled/node_modules/@kubbisec/shared/dist/api-key/index.js.map +1 -0
  270. package/bundled/node_modules/@kubbisec/shared/dist/api-key/migrate-api-key-metadata.d.ts +20 -0
  271. package/bundled/node_modules/@kubbisec/shared/dist/api-key/migrate-api-key-metadata.d.ts.map +1 -0
  272. package/bundled/node_modules/@kubbisec/shared/dist/api-key/migrate-api-key-metadata.js +78 -0
  273. package/bundled/node_modules/@kubbisec/shared/dist/api-key/migrate-api-key-metadata.js.map +1 -0
  274. package/bundled/node_modules/@kubbisec/shared/dist/assistant/assistant-session-key.d.ts +20 -0
  275. package/bundled/node_modules/@kubbisec/shared/dist/assistant/assistant-session-key.d.ts.map +1 -0
  276. package/bundled/node_modules/@kubbisec/shared/dist/assistant/assistant-session-key.js +33 -0
  277. package/bundled/node_modules/@kubbisec/shared/dist/assistant/assistant-session-key.js.map +1 -0
  278. package/bundled/node_modules/@kubbisec/shared/dist/assistant/assistant-thread.d.ts +19 -0
  279. package/bundled/node_modules/@kubbisec/shared/dist/assistant/assistant-thread.d.ts.map +1 -0
  280. package/bundled/node_modules/@kubbisec/shared/dist/assistant/assistant-thread.js +126 -0
  281. package/bundled/node_modules/@kubbisec/shared/dist/assistant/assistant-thread.js.map +1 -0
  282. package/bundled/node_modules/@kubbisec/shared/dist/assistant/index.d.ts +3 -0
  283. package/bundled/node_modules/@kubbisec/shared/dist/assistant/index.d.ts.map +1 -0
  284. package/bundled/node_modules/@kubbisec/shared/dist/assistant/index.js +19 -0
  285. package/bundled/node_modules/@kubbisec/shared/dist/assistant/index.js.map +1 -0
  286. package/bundled/node_modules/@kubbisec/shared/dist/billing/index.d.ts +2 -0
  287. package/bundled/node_modules/@kubbisec/shared/dist/billing/index.d.ts.map +1 -0
  288. package/bundled/node_modules/@kubbisec/shared/dist/billing/index.js +18 -0
  289. package/bundled/node_modules/@kubbisec/shared/dist/billing/index.js.map +1 -0
  290. package/bundled/node_modules/@kubbisec/shared/dist/billing/plan-limits.d.ts +17 -0
  291. package/bundled/node_modules/@kubbisec/shared/dist/billing/plan-limits.d.ts.map +1 -0
  292. package/bundled/node_modules/@kubbisec/shared/dist/billing/plan-limits.js +30 -0
  293. package/bundled/node_modules/@kubbisec/shared/dist/billing/plan-limits.js.map +1 -0
  294. package/bundled/node_modules/@kubbisec/shared/dist/ci/ci-job-dependencies.d.ts +42 -0
  295. package/bundled/node_modules/@kubbisec/shared/dist/ci/ci-job-dependencies.d.ts.map +1 -0
  296. package/bundled/node_modules/@kubbisec/shared/dist/ci/ci-job-dependencies.js +147 -0
  297. package/bundled/node_modules/@kubbisec/shared/dist/ci/ci-job-dependencies.js.map +1 -0
  298. package/bundled/node_modules/@kubbisec/shared/dist/ci/git-checkout-log-policy.d.ts +12 -0
  299. package/bundled/node_modules/@kubbisec/shared/dist/ci/git-checkout-log-policy.d.ts.map +1 -0
  300. package/bundled/node_modules/@kubbisec/shared/dist/ci/git-checkout-log-policy.js +70 -0
  301. package/bundled/node_modules/@kubbisec/shared/dist/ci/git-checkout-log-policy.js.map +1 -0
  302. package/bundled/node_modules/@kubbisec/shared/dist/ci/index.d.ts +4 -0
  303. package/bundled/node_modules/@kubbisec/shared/dist/ci/index.d.ts.map +1 -0
  304. package/bundled/node_modules/@kubbisec/shared/dist/ci/index.js +20 -0
  305. package/bundled/node_modules/@kubbisec/shared/dist/ci/index.js.map +1 -0
  306. package/bundled/node_modules/@kubbisec/shared/dist/ci/kubbisec-ci-execution-env.d.ts +16 -0
  307. package/bundled/node_modules/@kubbisec/shared/dist/ci/kubbisec-ci-execution-env.d.ts.map +1 -0
  308. package/bundled/node_modules/@kubbisec/shared/dist/ci/kubbisec-ci-execution-env.js +45 -0
  309. package/bundled/node_modules/@kubbisec/shared/dist/ci/kubbisec-ci-execution-env.js.map +1 -0
  310. package/bundled/node_modules/@kubbisec/shared/dist/cli-user-error.d.ts +18 -0
  311. package/bundled/node_modules/@kubbisec/shared/dist/cli-user-error.d.ts.map +1 -0
  312. package/bundled/node_modules/@kubbisec/shared/dist/cli-user-error.js +92 -0
  313. package/bundled/node_modules/@kubbisec/shared/dist/cli-user-error.js.map +1 -0
  314. package/bundled/node_modules/@kubbisec/shared/dist/dto/bulk-import-bitbucket-projects.dto.d.ts +15 -0
  315. package/bundled/node_modules/@kubbisec/shared/dist/dto/bulk-import-bitbucket-projects.dto.d.ts.map +1 -0
  316. package/bundled/node_modules/@kubbisec/shared/dist/dto/bulk-import-bitbucket-projects.dto.js +75 -0
  317. package/bundled/node_modules/@kubbisec/shared/dist/dto/bulk-import-bitbucket-projects.dto.js.map +1 -0
  318. package/bundled/node_modules/@kubbisec/shared/dist/dto/bulk-import-github-projects.dto.d.ts +25 -0
  319. package/bundled/node_modules/@kubbisec/shared/dist/dto/bulk-import-github-projects.dto.d.ts.map +1 -0
  320. package/bundled/node_modules/@kubbisec/shared/dist/dto/bulk-import-github-projects.dto.js +85 -0
  321. package/bundled/node_modules/@kubbisec/shared/dist/dto/bulk-import-github-projects.dto.js.map +1 -0
  322. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-bundle-report.dto.d.ts +17 -0
  323. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-bundle-report.dto.d.ts.map +1 -0
  324. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-bundle-report.dto.js +98 -0
  325. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-bundle-report.dto.js.map +1 -0
  326. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-coverage-report.dto.d.ts +32 -0
  327. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-coverage-report.dto.d.ts.map +1 -0
  328. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-coverage-report.dto.js +209 -0
  329. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-coverage-report.dto.js.map +1 -0
  330. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-project.dto.d.ts +65 -0
  331. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-project.dto.d.ts.map +1 -0
  332. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-project.dto.js +354 -0
  333. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-project.dto.js.map +1 -0
  334. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-report.dto.d.ts +27 -0
  335. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-report.dto.d.ts.map +1 -0
  336. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-report.dto.js +145 -0
  337. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-report.dto.js.map +1 -0
  338. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-scan-target.dto.d.ts +8 -0
  339. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-scan-target.dto.d.ts.map +1 -0
  340. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-scan-target.dto.js +51 -0
  341. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-scan-target.dto.js.map +1 -0
  342. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-vulnerability.dto.d.ts +34 -0
  343. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-vulnerability.dto.d.ts.map +1 -0
  344. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-vulnerability.dto.js +189 -0
  345. package/bundled/node_modules/@kubbisec/shared/dist/dto/create-vulnerability.dto.js.map +1 -0
  346. package/bundled/node_modules/@kubbisec/shared/dist/dto/index.d.ts +17 -0
  347. package/bundled/node_modules/@kubbisec/shared/dist/dto/index.d.ts.map +1 -0
  348. package/bundled/node_modules/@kubbisec/shared/dist/dto/index.js +51 -0
  349. package/bundled/node_modules/@kubbisec/shared/dist/dto/index.js.map +1 -0
  350. package/bundled/node_modules/@kubbisec/shared/dist/dto/metrics.dto.d.ts +203 -0
  351. package/bundled/node_modules/@kubbisec/shared/dist/dto/metrics.dto.d.ts.map +1 -0
  352. package/bundled/node_modules/@kubbisec/shared/dist/dto/metrics.dto.js +42 -0
  353. package/bundled/node_modules/@kubbisec/shared/dist/dto/metrics.dto.js.map +1 -0
  354. package/bundled/node_modules/@kubbisec/shared/dist/dto/record-gate-result.dto.d.ts +6 -0
  355. package/bundled/node_modules/@kubbisec/shared/dist/dto/record-gate-result.dto.d.ts.map +1 -0
  356. package/bundled/node_modules/@kubbisec/shared/dist/dto/record-gate-result.dto.js +31 -0
  357. package/bundled/node_modules/@kubbisec/shared/dist/dto/record-gate-result.dto.js.map +1 -0
  358. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-coverage-gate.dto.d.ts +7 -0
  359. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-coverage-gate.dto.d.ts.map +1 -0
  360. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-coverage-gate.dto.js +47 -0
  361. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-coverage-gate.dto.js.map +1 -0
  362. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-performance-gate.dto.d.ts +6 -0
  363. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-performance-gate.dto.d.ts.map +1 -0
  364. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-performance-gate.dto.js +36 -0
  365. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-performance-gate.dto.js.map +1 -0
  366. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-project.dto.d.ts +9 -0
  367. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-project.dto.d.ts.map +1 -0
  368. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-project.dto.js +52 -0
  369. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-project.dto.js.map +1 -0
  370. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-security-gate.dto.d.ts +9 -0
  371. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-security-gate.dto.d.ts.map +1 -0
  372. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-security-gate.dto.js +58 -0
  373. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-security-gate.dto.js.map +1 -0
  374. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-vulnerability.dto.d.ts +6 -0
  375. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-vulnerability.dto.d.ts.map +1 -0
  376. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-vulnerability.dto.js +30 -0
  377. package/bundled/node_modules/@kubbisec/shared/dist/dto/update-vulnerability.dto.js.map +1 -0
  378. package/bundled/node_modules/@kubbisec/shared/dist/enums.d.ts +88 -0
  379. package/bundled/node_modules/@kubbisec/shared/dist/enums.d.ts.map +1 -0
  380. package/bundled/node_modules/@kubbisec/shared/dist/enums.js +136 -0
  381. package/bundled/node_modules/@kubbisec/shared/dist/enums.js.map +1 -0
  382. package/bundled/node_modules/@kubbisec/shared/dist/github/kubbisec-github-label.d.ts +6 -0
  383. package/bundled/node_modules/@kubbisec/shared/dist/github/kubbisec-github-label.d.ts.map +1 -0
  384. package/bundled/node_modules/@kubbisec/shared/dist/github/kubbisec-github-label.js +9 -0
  385. package/bundled/node_modules/@kubbisec/shared/dist/github/kubbisec-github-label.js.map +1 -0
  386. package/bundled/node_modules/@kubbisec/shared/dist/index.d.ts +23 -0
  387. package/bundled/node_modules/@kubbisec/shared/dist/index.d.ts.map +1 -0
  388. package/bundled/node_modules/@kubbisec/shared/dist/index.js +39 -0
  389. package/bundled/node_modules/@kubbisec/shared/dist/index.js.map +1 -0
  390. package/bundled/node_modules/@kubbisec/shared/dist/mcp/constants.d.ts +22 -0
  391. package/bundled/node_modules/@kubbisec/shared/dist/mcp/constants.d.ts.map +1 -0
  392. package/bundled/node_modules/@kubbisec/shared/dist/mcp/constants.js +52 -0
  393. package/bundled/node_modules/@kubbisec/shared/dist/mcp/constants.js.map +1 -0
  394. package/bundled/node_modules/@kubbisec/shared/dist/mcp/oauth-metadata.d.ts +37 -0
  395. package/bundled/node_modules/@kubbisec/shared/dist/mcp/oauth-metadata.d.ts.map +1 -0
  396. package/bundled/node_modules/@kubbisec/shared/dist/mcp/oauth-metadata.js +51 -0
  397. package/bundled/node_modules/@kubbisec/shared/dist/mcp/oauth-metadata.js.map +1 -0
  398. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/ai-docs-bundle.loader.d.ts +6 -0
  399. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/ai-docs-bundle.loader.d.ts.map +1 -0
  400. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/ai-docs-bundle.loader.js +68 -0
  401. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/ai-docs-bundle.loader.js.map +1 -0
  402. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/aspm-docs-bundle.loader.d.ts +8 -0
  403. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/aspm-docs-bundle.loader.d.ts.map +1 -0
  404. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/aspm-docs-bundle.loader.js +115 -0
  405. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/aspm-docs-bundle.loader.js.map +1 -0
  406. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/doc-bundle-utils.d.ts +12 -0
  407. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/doc-bundle-utils.d.ts.map +1 -0
  408. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/doc-bundle-utils.js +86 -0
  409. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/doc-bundle-utils.js.map +1 -0
  410. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/index.d.ts +8 -0
  411. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/index.d.ts.map +1 -0
  412. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/index.js +33 -0
  413. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/index.js.map +1 -0
  414. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/mcp-tools-catalog.d.ts +4 -0
  415. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/mcp-tools-catalog.d.ts.map +1 -0
  416. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/mcp-tools-catalog.js +23 -0
  417. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/mcp-tools-catalog.js.map +1 -0
  418. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/monorepo-root.d.ts +4 -0
  419. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/monorepo-root.d.ts.map +1 -0
  420. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/monorepo-root.js +19 -0
  421. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/monorepo-root.js.map +1 -0
  422. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/naus-pipeline-docs-bundle.loader.d.ts +11 -0
  423. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/naus-pipeline-docs-bundle.loader.d.ts.map +1 -0
  424. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/naus-pipeline-docs-bundle.loader.js +148 -0
  425. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/naus-pipeline-docs-bundle.loader.js.map +1 -0
  426. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/naus-schema-overview.d.ts +2 -0
  427. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/naus-schema-overview.d.ts.map +1 -0
  428. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/naus-schema-overview.js +36 -0
  429. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/naus-schema-overview.js.map +1 -0
  430. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/security-scanner-playbooks.d.ts +49 -0
  431. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/security-scanner-playbooks.d.ts.map +1 -0
  432. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/security-scanner-playbooks.js +600 -0
  433. package/bundled/node_modules/@kubbisec/shared/dist/product-docs/security-scanner-playbooks.js.map +1 -0
  434. package/bundled/node_modules/@kubbisec/shared/dist/project-scanner-summary.d.ts +24 -0
  435. package/bundled/node_modules/@kubbisec/shared/dist/project-scanner-summary.d.ts.map +1 -0
  436. package/bundled/node_modules/@kubbisec/shared/dist/project-scanner-summary.js +64 -0
  437. package/bundled/node_modules/@kubbisec/shared/dist/project-scanner-summary.js.map +1 -0
  438. package/bundled/node_modules/@kubbisec/shared/dist/rbac/better-auth-org-roles.d.ts +23 -0
  439. package/bundled/node_modules/@kubbisec/shared/dist/rbac/better-auth-org-roles.d.ts.map +1 -0
  440. package/bundled/node_modules/@kubbisec/shared/dist/rbac/better-auth-org-roles.js +53 -0
  441. package/bundled/node_modules/@kubbisec/shared/dist/rbac/better-auth-org-roles.js.map +1 -0
  442. package/bundled/node_modules/@kubbisec/shared/dist/rbac/index.d.ts +8 -0
  443. package/bundled/node_modules/@kubbisec/shared/dist/rbac/index.d.ts.map +1 -0
  444. package/bundled/node_modules/@kubbisec/shared/dist/rbac/index.js +24 -0
  445. package/bundled/node_modules/@kubbisec/shared/dist/rbac/index.js.map +1 -0
  446. package/bundled/node_modules/@kubbisec/shared/dist/rbac/kubbisec-permission-descriptions.d.ts +9 -0
  447. package/bundled/node_modules/@kubbisec/shared/dist/rbac/kubbisec-permission-descriptions.d.ts.map +1 -0
  448. package/bundled/node_modules/@kubbisec/shared/dist/rbac/kubbisec-permission-descriptions.js +91 -0
  449. package/bundled/node_modules/@kubbisec/shared/dist/rbac/kubbisec-permission-descriptions.js.map +1 -0
  450. package/bundled/node_modules/@kubbisec/shared/dist/rbac/kubbisec-permissions.d.ts +12 -0
  451. package/bundled/node_modules/@kubbisec/shared/dist/rbac/kubbisec-permissions.d.ts.map +1 -0
  452. package/bundled/node_modules/@kubbisec/shared/dist/rbac/kubbisec-permissions.js +86 -0
  453. package/bundled/node_modules/@kubbisec/shared/dist/rbac/kubbisec-permissions.js.map +1 -0
  454. package/bundled/node_modules/@kubbisec/shared/dist/rbac/member-quota.d.ts +8 -0
  455. package/bundled/node_modules/@kubbisec/shared/dist/rbac/member-quota.d.ts.map +1 -0
  456. package/bundled/node_modules/@kubbisec/shared/dist/rbac/member-quota.js +19 -0
  457. package/bundled/node_modules/@kubbisec/shared/dist/rbac/member-quota.js.map +1 -0
  458. package/bundled/node_modules/@kubbisec/shared/dist/rbac/platform-staff.d.ts +16 -0
  459. package/bundled/node_modules/@kubbisec/shared/dist/rbac/platform-staff.d.ts.map +1 -0
  460. package/bundled/node_modules/@kubbisec/shared/dist/rbac/platform-staff.js +61 -0
  461. package/bundled/node_modules/@kubbisec/shared/dist/rbac/platform-staff.js.map +1 -0
  462. package/bundled/node_modules/@kubbisec/shared/dist/rbac/resolve-org-permissions.d.ts +10 -0
  463. package/bundled/node_modules/@kubbisec/shared/dist/rbac/resolve-org-permissions.d.ts.map +1 -0
  464. package/bundled/node_modules/@kubbisec/shared/dist/rbac/resolve-org-permissions.js +200 -0
  465. package/bundled/node_modules/@kubbisec/shared/dist/rbac/resolve-org-permissions.js.map +1 -0
  466. package/bundled/node_modules/@kubbisec/shared/dist/rbac/resolve-platform-permissions.d.ts +7 -0
  467. package/bundled/node_modules/@kubbisec/shared/dist/rbac/resolve-platform-permissions.d.ts.map +1 -0
  468. package/bundled/node_modules/@kubbisec/shared/dist/rbac/resolve-platform-permissions.js +23 -0
  469. package/bundled/node_modules/@kubbisec/shared/dist/rbac/resolve-platform-permissions.js.map +1 -0
  470. package/bundled/node_modules/@kubbisec/shared/dist/redaction.d.ts +14 -0
  471. package/bundled/node_modules/@kubbisec/shared/dist/redaction.d.ts.map +1 -0
  472. package/bundled/node_modules/@kubbisec/shared/dist/redaction.js +251 -0
  473. package/bundled/node_modules/@kubbisec/shared/dist/redaction.js.map +1 -0
  474. package/bundled/node_modules/@kubbisec/shared/dist/security/aspm-gate-rules.d.ts +19 -0
  475. package/bundled/node_modules/@kubbisec/shared/dist/security/aspm-gate-rules.d.ts.map +1 -0
  476. package/bundled/node_modules/@kubbisec/shared/dist/security/aspm-gate-rules.js +61 -0
  477. package/bundled/node_modules/@kubbisec/shared/dist/security/aspm-gate-rules.js.map +1 -0
  478. package/bundled/node_modules/@kubbisec/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.d.ts +3 -0
  479. package/bundled/node_modules/@kubbisec/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.d.ts.map +1 -0
  480. package/bundled/node_modules/@kubbisec/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.js +54 -0
  481. package/bundled/node_modules/@kubbisec/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.js.map +1 -0
  482. package/bundled/node_modules/@kubbisec/shared/dist/security/build-github-security-workflow-yaml.d.ts +4 -0
  483. package/bundled/node_modules/@kubbisec/shared/dist/security/build-github-security-workflow-yaml.d.ts.map +1 -0
  484. package/bundled/node_modules/@kubbisec/shared/dist/security/build-github-security-workflow-yaml.js +72 -0
  485. package/bundled/node_modules/@kubbisec/shared/dist/security/build-github-security-workflow-yaml.js.map +1 -0
  486. package/bundled/node_modules/@kubbisec/shared/dist/security/github-workflow-action-pins.d.ts +27 -0
  487. package/bundled/node_modules/@kubbisec/shared/dist/security/github-workflow-action-pins.d.ts.map +1 -0
  488. package/bundled/node_modules/@kubbisec/shared/dist/security/github-workflow-action-pins.js +30 -0
  489. package/bundled/node_modules/@kubbisec/shared/dist/security/github-workflow-action-pins.js.map +1 -0
  490. package/bundled/node_modules/@kubbisec/shared/dist/security/github-workflow-tool-jobs.d.ts +7 -0
  491. package/bundled/node_modules/@kubbisec/shared/dist/security/github-workflow-tool-jobs.d.ts.map +1 -0
  492. package/bundled/node_modules/@kubbisec/shared/dist/security/github-workflow-tool-jobs.js +184 -0
  493. package/bundled/node_modules/@kubbisec/shared/dist/security/github-workflow-tool-jobs.js.map +1 -0
  494. package/bundled/node_modules/@kubbisec/shared/dist/security/index.d.ts +7 -0
  495. package/bundled/node_modules/@kubbisec/shared/dist/security/index.d.ts.map +1 -0
  496. package/bundled/node_modules/@kubbisec/shared/dist/security/index.js +23 -0
  497. package/bundled/node_modules/@kubbisec/shared/dist/security/index.js.map +1 -0
  498. package/bundled/node_modules/@kubbisec/shared/dist/security/security-tool-catalog.d.ts +5 -0
  499. package/bundled/node_modules/@kubbisec/shared/dist/security/security-tool-catalog.d.ts.map +1 -0
  500. package/bundled/node_modules/@kubbisec/shared/dist/security/security-tool-catalog.js +74 -0
  501. package/bundled/node_modules/@kubbisec/shared/dist/security/security-tool-catalog.js.map +1 -0
  502. package/bundled/node_modules/@kubbisec/shared/dist/security/security-tool.types.d.ts +43 -0
  503. package/bundled/node_modules/@kubbisec/shared/dist/security/security-tool.types.d.ts.map +1 -0
  504. package/bundled/node_modules/@kubbisec/shared/dist/security/security-tool.types.js +22 -0
  505. package/bundled/node_modules/@kubbisec/shared/dist/security/security-tool.types.js.map +1 -0
  506. package/bundled/node_modules/@kubbisec/shared/dist/severity-map.d.ts +8 -0
  507. package/bundled/node_modules/@kubbisec/shared/dist/severity-map.d.ts.map +1 -0
  508. package/bundled/node_modules/@kubbisec/shared/dist/severity-map.js +47 -0
  509. package/bundled/node_modules/@kubbisec/shared/dist/severity-map.js.map +1 -0
  510. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/constants.d.ts +4 -0
  511. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/constants.d.ts.map +1 -0
  512. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/constants.js +10 -0
  513. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/constants.js.map +1 -0
  514. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/index.d.ts +4 -0
  515. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/index.d.ts.map +1 -0
  516. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/index.js +20 -0
  517. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/index.js.map +1 -0
  518. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/redact-log-lines.d.ts +2 -0
  519. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/redact-log-lines.d.ts.map +1 -0
  520. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/redact-log-lines.js +9 -0
  521. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/redact-log-lines.js.map +1 -0
  522. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/share-prefix.d.ts +3 -0
  523. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/share-prefix.d.ts.map +1 -0
  524. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/share-prefix.js +18 -0
  525. package/bundled/node_modules/@kubbisec/shared/dist/shared-project/share-prefix.js.map +1 -0
  526. package/bundled/node_modules/@kubbisec/shared/dist/sonar-safe-string.d.ts +26 -0
  527. package/bundled/node_modules/@kubbisec/shared/dist/sonar-safe-string.d.ts.map +1 -0
  528. package/bundled/node_modules/@kubbisec/shared/dist/sonar-safe-string.js +202 -0
  529. package/bundled/node_modules/@kubbisec/shared/dist/sonar-safe-string.js.map +1 -0
  530. package/bundled/node_modules/@kubbisec/shared/dist/sort-findings.d.ts +16 -0
  531. package/bundled/node_modules/@kubbisec/shared/dist/sort-findings.d.ts.map +1 -0
  532. package/bundled/node_modules/@kubbisec/shared/dist/sort-findings.js +67 -0
  533. package/bundled/node_modules/@kubbisec/shared/dist/sort-findings.js.map +1 -0
  534. package/bundled/node_modules/@kubbisec/shared/dist/trusted-path.d.ts +7 -0
  535. package/bundled/node_modules/@kubbisec/shared/dist/trusted-path.d.ts.map +1 -0
  536. package/bundled/node_modules/@kubbisec/shared/dist/trusted-path.js +30 -0
  537. package/bundled/node_modules/@kubbisec/shared/dist/trusted-path.js.map +1 -0
  538. package/bundled/node_modules/@kubbisec/shared/package.json +77 -0
  539. package/bundled/reflect-system.md +31 -0
  540. package/bundled/resolve-bundled-dist-root.js +166 -0
  541. package/bundled/resolve-bundled-dist-root.js.map +1 -0
  542. package/bundled/skills/aspm-platform/SKILL.md +95 -0
  543. package/bundled/skills/at-path-mentions.d.ts +7 -0
  544. package/bundled/skills/at-path-mentions.d.ts.map +1 -0
  545. package/bundled/skills/at-path-mentions.js +184 -0
  546. package/bundled/skills/at-path-mentions.js.map +1 -0
  547. package/bundled/skills/at-path-mentions.test.ts +64 -0
  548. package/bundled/skills/at-path-mentions.ts +209 -0
  549. package/bundled/skills/chat-mention-render.d.ts +7 -0
  550. package/bundled/skills/chat-mention-render.d.ts.map +1 -0
  551. package/bundled/skills/chat-mention-render.js +160 -0
  552. package/bundled/skills/chat-mention-render.js.map +1 -0
  553. package/bundled/skills/chat-mention-render.test.ts +70 -0
  554. package/bundled/skills/chat-mention-render.ts +192 -0
  555. package/bundled/skills/chat-mentions.d.ts +28 -0
  556. package/bundled/skills/chat-mentions.d.ts.map +1 -0
  557. package/bundled/skills/chat-mentions.js +108 -0
  558. package/bundled/skills/chat-mentions.js.map +1 -0
  559. package/bundled/skills/chat-mentions.test.ts +39 -0
  560. package/bundled/skills/chat-mentions.ts +133 -0
  561. package/bundled/skills/github-local/SKILL.md +16 -0
  562. package/bundled/skills/kubbisec-resource-router/SKILL.md +3 -0
  563. package/bundled/skills/list-bundled-skills.d.ts +7 -0
  564. package/bundled/skills/list-bundled-skills.d.ts.map +1 -0
  565. package/bundled/skills/list-bundled-skills.js +44 -0
  566. package/bundled/skills/list-bundled-skills.js.map +1 -0
  567. package/bundled/skills/list-bundled-skills.ts +49 -0
  568. package/bundled/skills/naus-pipelines/SKILL.md +127 -0
  569. package/bundled/skills/remediation/SKILL.md +12 -0
  570. package/bundled/skills/scanner-gitleaks/SKILL.md +10 -0
  571. package/bundled/skills/scanner-nmap/SKILL.md +10 -0
  572. package/bundled/skills/scanner-osv/SKILL.md +10 -0
  573. package/bundled/skills/scanner-semgrep/SKILL.md +10 -0
  574. package/bundled/skills/scanner-skipfish/SKILL.md +10 -0
  575. package/bundled/skills/scanner-sonar/SKILL.md +10 -0
  576. package/bundled/skills/scanner-syft/SKILL.md +10 -0
  577. package/bundled/skills/scanner-trivy/SKILL.md +10 -0
  578. package/bundled/skills/sec-brainstorm/SKILL.md +74 -0
  579. package/bundled/skills/sec-clarify/SKILL.md +53 -0
  580. package/bundled/skills/sec-debug/SKILL.md +94 -0
  581. package/bundled/skills/sec-plan/SKILL.md +101 -0
  582. package/bundled/skills/sec-review/SKILL.md +110 -0
  583. package/bundled/skills/sec-review/code-reviewer-sec.md +176 -0
  584. package/bundled/skills/sec-using-skills/SKILL.md +81 -0
  585. package/bundled/skills/sec-verify/SKILL.md +77 -0
  586. package/bundled/skills/skill-mention.d.ts +3 -0
  587. package/bundled/skills/skill-mention.d.ts.map +1 -0
  588. package/bundled/skills/skill-mention.js +3 -0
  589. package/bundled/skills/skill-mention.js.map +1 -0
  590. package/bundled/skills/skill-mention.test.ts +46 -0
  591. package/bundled/skills/skill-mention.ts +10 -0
  592. package/bundled/theme/clear-terminal.d.ts +3 -0
  593. package/bundled/theme/clear-terminal.d.ts.map +1 -0
  594. package/bundled/theme/clear-terminal.js +7 -0
  595. package/bundled/theme/clear-terminal.js.map +1 -0
  596. package/bundled/theme/footer-render-hook.d.ts +3 -0
  597. package/bundled/theme/footer-render-hook.d.ts.map +1 -0
  598. package/bundled/theme/footer-render-hook.js +8 -0
  599. package/bundled/theme/footer-render-hook.js.map +1 -0
  600. package/bundled/theme/kubbisec-brand-fg.d.ts +4 -0
  601. package/bundled/theme/kubbisec-brand-fg.d.ts.map +1 -0
  602. package/bundled/theme/kubbisec-brand-fg.js +7 -0
  603. package/bundled/theme/kubbisec-brand-fg.js.map +1 -0
  604. package/bundled/theme/kubbisec-menu-themes.d.ts +16 -0
  605. package/bundled/theme/kubbisec-menu-themes.d.ts.map +1 -0
  606. package/bundled/theme/kubbisec-menu-themes.js +47 -0
  607. package/bundled/theme/kubbisec-menu-themes.js.map +1 -0
  608. package/bundled/theme/kubbisec-theme-name.d.ts +2 -0
  609. package/bundled/theme/kubbisec-theme-name.d.ts.map +1 -0
  610. package/bundled/theme/kubbisec-theme-name.js +2 -0
  611. package/bundled/theme/kubbisec-theme-name.js.map +1 -0
  612. package/bundled/theme/kubbisec.json +93 -0
  613. package/bundled/theme/patch-pi-settings-theme.runtime.d.ts +3 -0
  614. package/bundled/theme/patch-pi-settings-theme.runtime.d.ts.map +1 -0
  615. package/bundled/theme/patch-pi-settings-theme.runtime.js +16 -0
  616. package/bundled/theme/patch-pi-settings-theme.runtime.js.map +1 -0
  617. package/bundled/theme/render-compact-header.d.ts +21 -0
  618. package/bundled/theme/render-compact-header.d.ts.map +1 -0
  619. package/bundled/theme/render-compact-header.js +197 -0
  620. package/bundled/theme/render-compact-header.js.map +1 -0
  621. package/bundled/workflow/session-workflow-mode.d.ts +10 -0
  622. package/bundled/workflow/session-workflow-mode.d.ts.map +1 -0
  623. package/bundled/workflow/session-workflow-mode.js +51 -0
  624. package/bundled/workflow/session-workflow-mode.js.map +1 -0
  625. package/package.json +1 -1
@@ -0,0 +1,108 @@
1
+ import { fuzzyFilter } from "@earendil-works/pi-tui";
2
+ export const SKILL_MENTION_TOKEN = "@skill";
3
+ export const PLAN_MENTION_ALIASES = ["@plan", "@planejar"];
4
+ const PLAN_MENTION_TOKENS_LONGEST_FIRST = [...PLAN_MENTION_ALIASES].sort((a, b) => b.length - a.length);
5
+ const PATH_DELIMITERS = new Set([" ", "\t", '"', "'", "="]);
6
+ function findLastDelimiter(text) {
7
+ for (let i = text.length - 1; i >= 0; i -= 1) {
8
+ if (PATH_DELIMITERS.has(text[i] ?? "")) {
9
+ return i;
10
+ }
11
+ }
12
+ return -1;
13
+ }
14
+ /** Same token rules as Pi CombinedAutocompleteProvider.extractAtPrefix. */
15
+ export function extractAtPrefix(textBeforeCursor) {
16
+ const lastDelimiterIndex = findLastDelimiter(textBeforeCursor);
17
+ const tokenStart = lastDelimiterIndex === -1 ? 0 : lastDelimiterIndex + 1;
18
+ if (textBeforeCursor[tokenStart] === "@") {
19
+ return textBeforeCursor.slice(tokenStart);
20
+ }
21
+ return null;
22
+ }
23
+ /** KubbiSec: `@skill` may include a space and partial name (not only the last @ token). */
24
+ export function extractSkillMentionPrefix(textBeforeCursor) {
25
+ const idx = textBeforeCursor.lastIndexOf(SKILL_MENTION_TOKEN);
26
+ if (idx === -1)
27
+ return null;
28
+ if (idx > 0 && !PATH_DELIMITERS.has(textBeforeCursor[idx - 1] ?? "")) {
29
+ return null;
30
+ }
31
+ const slice = textBeforeCursor.slice(idx);
32
+ if (!parseSkillMentionPrefix(slice))
33
+ return null;
34
+ return slice;
35
+ }
36
+ export function parseSkillMentionPrefix(atPrefix) {
37
+ if (!atPrefix?.startsWith(SKILL_MENTION_TOKEN))
38
+ return null;
39
+ const tail = atPrefix.slice(SKILL_MENTION_TOKEN.length);
40
+ if (tail.length > 0 && !tail.startsWith(" "))
41
+ return null;
42
+ return { query: tail.startsWith(" ") ? tail.trimStart() : "" };
43
+ }
44
+ export function parsePlanMentionPrefix(atPrefix) {
45
+ if (!atPrefix)
46
+ return null;
47
+ for (const token of PLAN_MENTION_TOKENS_LONGEST_FIRST) {
48
+ if (!atPrefix.startsWith(token))
49
+ continue;
50
+ const tail = atPrefix.slice(token.length);
51
+ if (tail.length > 0 && !tail.startsWith(" "))
52
+ continue;
53
+ return { query: tail.startsWith(" ") ? tail.trimStart() : "" };
54
+ }
55
+ return null;
56
+ }
57
+ export function filterSkillSuggestions(skills, query) {
58
+ const items = skills.map((skill) => ({
59
+ value: skill.name,
60
+ label: skill.name,
61
+ description: skill.description,
62
+ }));
63
+ if (!query)
64
+ return items;
65
+ return fuzzyFilter(items, query, (item) => `${item.label} ${item.description ?? ""}`).map((item) => ({
66
+ value: item.value,
67
+ label: item.label,
68
+ description: item.description,
69
+ }));
70
+ }
71
+ /** Pi expands `/skill:name` — map `@skill name` before submit. */
72
+ export function transformAtSkillMentions(text) {
73
+ return text.replace(/@skill\s+([^\s@/]+)/g, "/skill:$1");
74
+ }
75
+ /** Legacy: map `@plan` / `@planejar` to `/mode:plan` (prefer session state + visible @plan). */
76
+ export function transformAtPlanMentions(text) {
77
+ const tokenPattern = PLAN_MENTION_TOKENS_LONGEST_FIRST.map((t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|");
78
+ const pattern = new RegExp(`(^|[\\s"'=])(${tokenPattern})(\\s[\\s\\S]*)?`, "g");
79
+ return text.replace(pattern, (_match, delim, _token, tail) => {
80
+ const query = tail ? tail.trimStart() : "";
81
+ return `${delim}/mode:plan${query ? ` ${query}` : ""}`;
82
+ });
83
+ }
84
+ /** Apply @skill → /skill:name only. @plan stays visible; plan mode is set via session state. */
85
+ export function transformChatMentions(text) {
86
+ return transformAtSkillMentions(text);
87
+ }
88
+ export function messageActivatesPlanMode(text) {
89
+ const trimmed = text.trim();
90
+ return (trimmed.startsWith("/mode:plan") || /^@plan\b/i.test(trimmed) || /^@planejar\b/i.test(trimmed));
91
+ }
92
+ export function applySkillMentionCompletion(lines, cursorLine, cursorCol, item, prefix) {
93
+ const currentLine = lines[cursorLine] ?? "";
94
+ const beforePrefix = currentLine.slice(0, cursorCol - prefix.length);
95
+ const afterCursor = currentLine.slice(cursorCol);
96
+ const atIndex = beforePrefix.lastIndexOf(SKILL_MENTION_TOKEN);
97
+ const head = atIndex >= 0 ? beforePrefix.slice(0, atIndex) : beforePrefix;
98
+ const insertion = `${SKILL_MENTION_TOKEN} ${item.value} `;
99
+ const newLine = `${head}${insertion}${afterCursor}`;
100
+ const newLines = [...lines];
101
+ newLines[cursorLine] = newLine;
102
+ return {
103
+ lines: newLines,
104
+ cursorLine,
105
+ cursorCol: head.length + insertion.length,
106
+ };
107
+ }
108
+ //# sourceMappingURL=chat-mentions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-mentions.js","sourceRoot":"","sources":["../../src/skills/chat-mentions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import {
3
+ messageActivatesPlanMode,
4
+ PLAN_MENTION_ALIASES,
5
+ parsePlanMentionPrefix,
6
+ transformAtPlanMentions,
7
+ transformChatMentions,
8
+ } from "./chat-mentions.js";
9
+
10
+ describe("chat-mentions", () => {
11
+ it("exports plan mention aliases", () => {
12
+ expect(PLAN_MENTION_ALIASES).toEqual(["@plan", "@planejar"]);
13
+ });
14
+
15
+ it("parses @plan and @planejar prefixes", () => {
16
+ expect(parsePlanMentionPrefix("@plan")).toEqual({ query: "" });
17
+ expect(parsePlanMentionPrefix("@plan fix HIGH")).toEqual({ query: "fix HIGH" });
18
+ expect(parsePlanMentionPrefix("@planejar scope")).toEqual({ query: "scope" });
19
+ expect(parsePlanMentionPrefix("@planful")).toBeNull();
20
+ });
21
+
22
+ it("transformAtPlanMentions still maps legacy @plan to /mode:plan", () => {
23
+ expect(transformAtPlanMentions("@plan fix HIGH SCA")).toBe("/mode:plan fix HIGH SCA");
24
+ expect(transformAtPlanMentions("@planejar foo")).toBe("/mode:plan foo");
25
+ expect(transformAtPlanMentions("x@plan fix")).toBe("x@plan fix");
26
+ });
27
+
28
+ it("transformChatMentions keeps @plan visible (plan mode via session state)", () => {
29
+ expect(transformChatMentions("@plan fix HIGH SCA")).toBe("@plan fix HIGH SCA");
30
+ expect(transformChatMentions("@planejar x")).toBe("@planejar x");
31
+ expect(transformChatMentions("@skill naus @plan fix")).toBe("/skill:naus @plan fix");
32
+ });
33
+
34
+ it("messageActivatesPlanMode detects plan prefixes", () => {
35
+ expect(messageActivatesPlanMode("@plan scope")).toBe(true);
36
+ expect(messageActivatesPlanMode("/mode:plan scope")).toBe(true);
37
+ expect(messageActivatesPlanMode("hello")).toBe(false);
38
+ });
39
+ });
@@ -0,0 +1,133 @@
1
+ import type { AutocompleteItem } from "@earendil-works/pi-tui";
2
+ import { fuzzyFilter } from "@earendil-works/pi-tui";
3
+ import type { KubbisecSkillEntry } from "./list-bundled-skills.js";
4
+
5
+ export const SKILL_MENTION_TOKEN = "@skill";
6
+
7
+ export const PLAN_MENTION_ALIASES = ["@plan", "@planejar"] as const;
8
+
9
+ const PLAN_MENTION_TOKENS_LONGEST_FIRST = [...PLAN_MENTION_ALIASES].sort(
10
+ (a, b) => b.length - a.length,
11
+ );
12
+
13
+ const PATH_DELIMITERS = new Set([" ", "\t", '"', "'", "="]);
14
+
15
+ function findLastDelimiter(text: string): number {
16
+ for (let i = text.length - 1; i >= 0; i -= 1) {
17
+ if (PATH_DELIMITERS.has(text[i] ?? "")) {
18
+ return i;
19
+ }
20
+ }
21
+ return -1;
22
+ }
23
+
24
+ /** Same token rules as Pi CombinedAutocompleteProvider.extractAtPrefix. */
25
+ export function extractAtPrefix(textBeforeCursor: string): string | null {
26
+ const lastDelimiterIndex = findLastDelimiter(textBeforeCursor);
27
+ const tokenStart = lastDelimiterIndex === -1 ? 0 : lastDelimiterIndex + 1;
28
+ if (textBeforeCursor[tokenStart] === "@") {
29
+ return textBeforeCursor.slice(tokenStart);
30
+ }
31
+ return null;
32
+ }
33
+
34
+ /** KubbiSec: `@skill` may include a space and partial name (not only the last @ token). */
35
+ export function extractSkillMentionPrefix(textBeforeCursor: string): string | null {
36
+ const idx = textBeforeCursor.lastIndexOf(SKILL_MENTION_TOKEN);
37
+ if (idx === -1) return null;
38
+ if (idx > 0 && !PATH_DELIMITERS.has(textBeforeCursor[idx - 1] ?? "")) {
39
+ return null;
40
+ }
41
+ const slice = textBeforeCursor.slice(idx);
42
+ if (!parseSkillMentionPrefix(slice)) return null;
43
+ return slice;
44
+ }
45
+
46
+ export function parseSkillMentionPrefix(atPrefix: string | null): { query: string } | null {
47
+ if (!atPrefix?.startsWith(SKILL_MENTION_TOKEN)) return null;
48
+ const tail = atPrefix.slice(SKILL_MENTION_TOKEN.length);
49
+ if (tail.length > 0 && !tail.startsWith(" ")) return null;
50
+ return { query: tail.startsWith(" ") ? tail.trimStart() : "" };
51
+ }
52
+
53
+ export function parsePlanMentionPrefix(atPrefix: string | null): { query: string } | null {
54
+ if (!atPrefix) return null;
55
+ for (const token of PLAN_MENTION_TOKENS_LONGEST_FIRST) {
56
+ if (!atPrefix.startsWith(token)) continue;
57
+ const tail = atPrefix.slice(token.length);
58
+ if (tail.length > 0 && !tail.startsWith(" ")) continue;
59
+ return { query: tail.startsWith(" ") ? tail.trimStart() : "" };
60
+ }
61
+ return null;
62
+ }
63
+
64
+ export function filterSkillSuggestions(
65
+ skills: KubbisecSkillEntry[],
66
+ query: string,
67
+ ): AutocompleteItem[] {
68
+ const items = skills.map((skill) => ({
69
+ value: skill.name,
70
+ label: skill.name,
71
+ description: skill.description,
72
+ }));
73
+ if (!query) return items;
74
+ return fuzzyFilter(items, query, (item) => `${item.label} ${item.description ?? ""}`).map(
75
+ (item) => ({
76
+ value: item.value,
77
+ label: item.label,
78
+ description: item.description,
79
+ }),
80
+ );
81
+ }
82
+
83
+ /** Pi expands `/skill:name` — map `@skill name` before submit. */
84
+ export function transformAtSkillMentions(text: string): string {
85
+ return text.replace(/@skill\s+([^\s@/]+)/g, "/skill:$1");
86
+ }
87
+
88
+ /** Legacy: map `@plan` / `@planejar` to `/mode:plan` (prefer session state + visible @plan). */
89
+ export function transformAtPlanMentions(text: string): string {
90
+ const tokenPattern = PLAN_MENTION_TOKENS_LONGEST_FIRST.map((t) =>
91
+ t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"),
92
+ ).join("|");
93
+ const pattern = new RegExp(`(^|[\\s"'=])(${tokenPattern})(\\s[\\s\\S]*)?`, "g");
94
+ return text.replace(pattern, (_match, delim: string, _token: string, tail?: string) => {
95
+ const query = tail ? tail.trimStart() : "";
96
+ return `${delim}/mode:plan${query ? ` ${query}` : ""}`;
97
+ });
98
+ }
99
+
100
+ /** Apply @skill → /skill:name only. @plan stays visible; plan mode is set via session state. */
101
+ export function transformChatMentions(text: string): string {
102
+ return transformAtSkillMentions(text);
103
+ }
104
+
105
+ export function messageActivatesPlanMode(text: string): boolean {
106
+ const trimmed = text.trim();
107
+ return (
108
+ trimmed.startsWith("/mode:plan") || /^@plan\b/i.test(trimmed) || /^@planejar\b/i.test(trimmed)
109
+ );
110
+ }
111
+
112
+ export function applySkillMentionCompletion(
113
+ lines: string[],
114
+ cursorLine: number,
115
+ cursorCol: number,
116
+ item: AutocompleteItem,
117
+ prefix: string,
118
+ ): { lines: string[]; cursorLine: number; cursorCol: number } {
119
+ const currentLine = lines[cursorLine] ?? "";
120
+ const beforePrefix = currentLine.slice(0, cursorCol - prefix.length);
121
+ const afterCursor = currentLine.slice(cursorCol);
122
+ const atIndex = beforePrefix.lastIndexOf(SKILL_MENTION_TOKEN);
123
+ const head = atIndex >= 0 ? beforePrefix.slice(0, atIndex) : beforePrefix;
124
+ const insertion = `${SKILL_MENTION_TOKEN} ${item.value} `;
125
+ const newLine = `${head}${insertion}${afterCursor}`;
126
+ const newLines = [...lines];
127
+ newLines[cursorLine] = newLine;
128
+ return {
129
+ lines: newLines,
130
+ cursorLine,
131
+ cursorCol: head.length + insertion.length,
132
+ };
133
+ }
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: github-local
3
+ description: Local gh/git, naus, and aspm on the machine running kbs chat with host-first auth support.
4
+ ---
5
+
6
+ GitHub local tools are available in chat without `--extended-context`.
7
+
8
+ ## Tools
9
+
10
+ - **GitHub:** `github_local_status`, `github_local_repo_summary`, `github_local_clone`, `github_local_fetch`, `github_local_commit`, `github_local_push`, `github_local_pr_create`
11
+ - Uses host `gh`/`git` auth first; local push/PR/clone retry once with the platform/env token when native auth is rejected.
12
+ - Always available in chat (no `--extended-context` required).
13
+ - **NAUS:** `naus_local_status`, `naus_local_validate`, `naus_local_plan`, `naus_local_run`
14
+ - **ASPM:** `aspm_local_status`, `aspm_local_doctor`, `aspm_local_scan`, `aspm_local_upload`
15
+
16
+ Cloud equivalents remain on the API (e.g. `trigger_run`, `naus_validate_yaml`, platform upload via CI).
@@ -0,0 +1,3 @@
1
+ # kubbisec-resource-router
2
+
3
+ This skill routes incoming tasks to appropriate resources and modes.
@@ -0,0 +1,7 @@
1
+ export type KubbisecSkillEntry = {
2
+ name: string;
3
+ description: string;
4
+ };
5
+ /** Skills shipped under dist/skills (same dirs passed as Pi --skill). */
6
+ export declare function listBundledKubbisecSkills(): KubbisecSkillEntry[];
7
+ //# sourceMappingURL=list-bundled-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-bundled-skills.d.ts","sourceRoot":"","sources":["../../src/skills/list-bundled-skills.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAoBF,yEAAyE;AACzE,wBAAgB,yBAAyB,IAAI,kBAAkB,EAAE,CAiBhE"}
@@ -0,0 +1,44 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { resolveBundledDistRoot, resolveSnapshotBundledDistDir, } from "../resolve-bundled-dist-root.js";
4
+ function parseSkillFrontmatter(raw) {
5
+ const match = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/);
6
+ if (!match)
7
+ return {};
8
+ const block = match[1];
9
+ const name = block.match(/^name:\s*(.+)$/m)?.[1]?.trim();
10
+ const description = block.match(/^description:\s*(.+)$/m)?.[1]?.trim();
11
+ return { name, description };
12
+ }
13
+ function resolveSkillsDir() {
14
+ const distDir = path.join(resolveBundledDistRoot(), "skills");
15
+ if (fs.existsSync(distDir))
16
+ return distDir;
17
+ const entryDir = path.dirname(resolveSnapshotBundledDistDir());
18
+ const srcDir = path.join(entryDir, "src/skills");
19
+ if (fs.existsSync(srcDir))
20
+ return srcDir;
21
+ return null;
22
+ }
23
+ /** Skills shipped under dist/skills (same dirs passed as Pi --skill). */
24
+ export function listBundledKubbisecSkills() {
25
+ const skillsDir = resolveSkillsDir();
26
+ if (!skillsDir)
27
+ return [];
28
+ const entries = [];
29
+ for (const dir of fs.readdirSync(skillsDir, { withFileTypes: true })) {
30
+ if (!dir.isDirectory())
31
+ continue;
32
+ const skillMd = path.join(skillsDir, dir.name, "SKILL.md");
33
+ if (!fs.existsSync(skillMd))
34
+ continue;
35
+ const raw = fs.readFileSync(skillMd, "utf8");
36
+ const meta = parseSkillFrontmatter(raw);
37
+ entries.push({
38
+ name: meta.name?.trim() || dir.name,
39
+ description: meta.description?.trim() || dir.name,
40
+ });
41
+ }
42
+ return entries.sort((a, b) => a.name.localeCompare(b.name));
43
+ }
44
+ //# sourceMappingURL=list-bundled-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-bundled-skills.js","sourceRoot":"","sources":["../../src/skills/list-bundled-skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AAOzC,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACzD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACvE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,yBAAyB;IACvC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAE1B,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI;SAClD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,49 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import {
4
+ resolveBundledDistRoot,
5
+ resolveSnapshotBundledDistDir,
6
+ } from "../resolve-bundled-dist-root.js";
7
+
8
+ export type KubbisecSkillEntry = {
9
+ name: string;
10
+ description: string;
11
+ };
12
+
13
+ function parseSkillFrontmatter(raw: string): { name?: string; description?: string } {
14
+ const match = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/);
15
+ if (!match) return {};
16
+ const block = match[1];
17
+ const name = block.match(/^name:\s*(.+)$/m)?.[1]?.trim();
18
+ const description = block.match(/^description:\s*(.+)$/m)?.[1]?.trim();
19
+ return { name, description };
20
+ }
21
+
22
+ function resolveSkillsDir(): string | null {
23
+ const distDir = path.join(resolveBundledDistRoot(), "skills");
24
+ if (fs.existsSync(distDir)) return distDir;
25
+ const entryDir = path.dirname(resolveSnapshotBundledDistDir());
26
+ const srcDir = path.join(entryDir, "src/skills");
27
+ if (fs.existsSync(srcDir)) return srcDir;
28
+ return null;
29
+ }
30
+
31
+ /** Skills shipped under dist/skills (same dirs passed as Pi --skill). */
32
+ export function listBundledKubbisecSkills(): KubbisecSkillEntry[] {
33
+ const skillsDir = resolveSkillsDir();
34
+ if (!skillsDir) return [];
35
+
36
+ const entries: KubbisecSkillEntry[] = [];
37
+ for (const dir of fs.readdirSync(skillsDir, { withFileTypes: true })) {
38
+ if (!dir.isDirectory()) continue;
39
+ const skillMd = path.join(skillsDir, dir.name, "SKILL.md");
40
+ if (!fs.existsSync(skillMd)) continue;
41
+ const raw = fs.readFileSync(skillMd, "utf8");
42
+ const meta = parseSkillFrontmatter(raw);
43
+ entries.push({
44
+ name: meta.name?.trim() || dir.name,
45
+ description: meta.description?.trim() || dir.name,
46
+ });
47
+ }
48
+ return entries.sort((a, b) => a.name.localeCompare(b.name));
49
+ }
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: naus-pipelines
3
+ description: NAUS CI/CD — YAML, validação @kubbisec/naus-validation, runners e jobs ASPM no KubbiSec.
4
+ ---
5
+
6
+ ## Estrutura YAML (obrigatório — não é GitHub Actions)
7
+
8
+ | Correto (NAUS) | Errado (não usar) |
9
+ |----------------|-------------------|
10
+ | `run:` (top-level) | `jobs:` |
11
+ | `script:` (array de strings) | `commands:`, `steps:` |
12
+ | `depends_on:` | `needs:` |
13
+ | `variables:` | `env:` no root |
14
+ | `kind: aspm` + `tool: trivy` | `scanner: trivy` + script manual `trivy fs` |
15
+ | `$VAR` / Env Pack | `${{ secrets.* }}`, `${{ vars.* }}` |
16
+
17
+ Top-level: `name`, `description`, `local`, `stages`, `variables`, `volumes`, `repository`, `only`, `run` (obrigatório).
18
+
19
+ **HARD-GATE:** antes de mostrar YAML final → `naus_pipeline_docs` + `naus_validate_yaml` (ou `naus_local_validate` no workspace).
20
+
21
+ ## NAUS CLI (`npm install -g @kubbisec/naus`)
22
+
23
+ Ficheiro por omissão: `.naus.yml`. **Docs:** `naus_pipeline_docs` secção `naus-commands`.
24
+
25
+ | Comando | Descrição |
26
+ |---------|-----------|
27
+ | `naus register [token] [--renew]` | Registar runner (bootstrap mTLS) |
28
+ | `naus start` | Iniciar runner e aceitar jobs |
29
+ | `naus migrate` | Migrar runner token legado → certificado |
30
+ | `naus validate <file>` / `naus check <file>` | Validar YAML |
31
+ | `naus plan <file> [--format mermaid]` | Ondas de dependências |
32
+ | `naus run <file>` | Executar pipeline localmente |
33
+ | `naus daemon list` / `naus daemon stop` | Sessões background |
34
+ | `naus runner start` | Modo legado (token, sem mTLS) |
35
+ | `naus tools install` | Ferramentas auxiliares |
36
+
37
+ **Variáveis:** `NAUS_BOOTSTRAP_TOKEN`, `NAUS_RENEW_RUNNER=1` (equivale `--renew`).
38
+
39
+ **Chat:** não invocar `register`, `start`, `daemon` — processos persistentes; documentar apenas.
40
+
41
+ ## Exemplo canónico (container + ASPM matrix + gate)
42
+
43
+ ```yaml
44
+ name: exemplo-simples
45
+ stages: [build, security]
46
+
47
+ run:
48
+ - build:
49
+ stage: build
50
+ image: node:20-alpine
51
+ script:
52
+ - npm ci
53
+ - npm run build --if-present
54
+
55
+ - kubbisec_scan:
56
+ stage: security
57
+ kind: kubbisec_scan
58
+ profile: full
59
+ depends_on: [build]
60
+
61
+ - kubbisec_gate:
62
+ kind: aspm_gate
63
+ depends_on: [kubbisec_scan]
64
+ rules:
65
+ vulnerabilities:
66
+ max_by_severity:
67
+ CRITICAL: 0
68
+ ```
69
+
70
+ Jobs `kind: aspm` e `kind: kubbisec_scan` **não** precisam de `script:` — o NAUS expande para a CLI correspondente.
71
+
72
+ ### Hybrid Scan (`kind: kubbisec_scan`)
73
+ Executa uma varredura híbrida (scanners tradicionais + passes semânticos de IA) e faz o upload automático para o ASPM. É o sucessor moderno do `kind: aspm_matrix` para segurança geral do repositório.
74
+
75
+ ## Kinds de job
76
+
77
+ | Kind | Campos principais |
78
+ |------|-------------------|
79
+ | `container` (default) | `image:`, `script:`, `depends_on:` |
80
+ | `kubbisec_scan` | `profile:` full \| quick \| ai-only \| scanners-only |
81
+ | `aspm` | `tool:`, `mode:` scan \| upload \| scan-and-upload |
82
+ | `aspm_matrix` | `parallel: [{ tool: ... }]`, `matrix_strategy:` chain \| fanout |
83
+ | `aspm_gate` | `rules:` (vulnerabilities, coverage, risk_score) |
84
+ | `aspm_preset` | `preset: kubbisec/default-security` |
85
+ | `docker` | `registry:`, `tags:`; opcional `aspm.tool` + `aspm.gate` |
86
+
87
+ ## Fluxo na plataforma (cloud)
88
+
89
+ 1. `naus_pipeline_docs` — secções web (`naus-commands`, `naus-pipeline-overview`, `naus-aspm-integration`, …).
90
+ 2. `naus_schema_overview` — cheat sheet de campos.
91
+ 3. `naus_validate_yaml` — **sempre** validar antes de persistir.
92
+ 4. `set_editor_yaml` (preview) → `set_pipeline_yaml` (bound) → `trigger_run` → `get_run_logs_excerpt`.
93
+
94
+ ## Secrets e variáveis
95
+
96
+ | Contexto | Onde definir valores sensíveis |
97
+ |----------|-------------------------------|
98
+ | **`naus run` / `naus plan` local** | Por omissão: **`.secrets`** e **`.env`** no cwd. Ou caminhos explícitos: `naus run .naus.yml --env-file .env --secret-file .secrets` (qualquer nome, ex. `.secret`). Flags repetíveis. |
99
+ | **Runner na cloud (KubbiSec)** | **Env Packs** no painel (CI/CD → Env Packs) associados ao pipeline — não usar `.secrets` no runner remoto. |
100
+
101
+ No YAML, referencie apenas `$VAR` — nunca o valor em claro. Chaves em `.secrets` são ofuscadas nos logs locais. **Não commitar** `.secrets`.
102
+
103
+ **Anti-padrões (secrets):**
104
+ - Local `naus run` → criar `.secrets` no repo; **não** inventar `kubsec_set_secret`, `naus set_env_pack` ou `attach_env_pack` para execução local.
105
+ - Cloud → Env Packs na UI; `.secrets` só existe na máquina onde corres `naus run`.
106
+
107
+ ## Fluxo local (`kbs chat -w <repo>`)
108
+
109
+ Ferramentas `naus_local_*` disponíveis sem `--extended-context`. Se `naus` não estiver no PATH, o chat instala `@kubbisec/naus` globalmente (allowlist) antes de executar.
110
+
111
+ | Tool | Comando |
112
+ |------|---------|
113
+ | `naus_local_status` | `naus` no PATH |
114
+ | `naus_local_validate` | `naus validate <path>` |
115
+ | `naus_local_plan` | `naus plan <path>` (lê `.env` / `.secrets` como `naus run`) |
116
+ | `naus_local_run` | `naus run <path>` (até 15 min; lê `.secrets` por omissão) |
117
+
118
+ ## Runner enrollment (documentar, não executar no chat)
119
+
120
+ 1. Obter bootstrap token `bt_...` na UI (Runners).
121
+ 2. `naus register <token>` → grava `~/.kubbisec/naus/config.json` + certificados mTLS.
122
+ 3. `naus start` — runner aceita jobs da cloud.
123
+ 4. Re-registo do mesmo runner: token de re-registo na UI ou `naus migrate` (token legado `nau_...`).
124
+
125
+ ## Scanners locais (fora do pipeline)
126
+
127
+ Para `aspm scan` / `aspm upload` no host → skill `aspm-platform` e `aspm_local_*`.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: remediation
3
+ description: Apply minimal security fixes from KubbiSec findings; clone via API credentials (EnvPack GITHUB_TOKEN + org GitHub); auto mode opens PR with gh+git non-interactive.
4
+ ---
5
+
6
+ Fix the finding using the cloned repository workspace.
7
+
8
+ 1. Resolve repo: `kubsec_github_repository` (token from EnvPack `GITHUB_TOKEN` / `GH_TOKEN` overrides org app token when set).
9
+ 2. Apply minimal code changes from real evidence only — no invented CVEs or paths.
10
+ 3. Auto-PR (`kbs fix --mode auto`): commit, `git push`, `gh pr create` with `GIT_TERMINAL_PROMPT=0` and `GH_PROMPT_DISABLED=1`.
11
+
12
+ For local git/gh in chat, use `github_local_*` tools (always available; host-first auth). See @skill github-local.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: scanner-gitleaks
3
+ description: Gitleaks — deteção de secrets em repositórios Git.
4
+ ---
5
+
6
+ Chame `security_scanner_playbook(scanner="gitleaks", platform?, topic?)`.
7
+
8
+ Relatório: `gitleaks-report.json`. Upload: `-s gitleaks`.
9
+
10
+ NAUS: `kind: aspm` com `tool: gitleaks` ou entrada em `aspm_matrix.parallel`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: scanner-nmap
3
+ description: Nmap — scan de rede e portas (XML para ASPM).
4
+ ---
5
+
6
+ Chame `security_scanner_playbook(scanner="nmap", platform?, topic?)`.
7
+
8
+ Relatório: `nmap-report.xml` (`-oX`). Upload: `-s nmap`.
9
+
10
+ NAUS: `kind: aspm` com `tool: nmap` e `target` da rede/host.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: scanner-osv
3
+ description: OSV-Scanner — advisories em dependências e lockfiles.
4
+ ---
5
+
6
+ Chame `security_scanner_playbook(scanner="osv", platform?, topic?)`.
7
+
8
+ Relatório: `osv-report.json`. Upload: `-s osv`.
9
+
10
+ NAUS: `kind: aspm` com `tool: osv`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: scanner-semgrep
3
+ description: Semgrep — SAST com regras e políticas customizadas.
4
+ ---
5
+
6
+ Chame `security_scanner_playbook(scanner="semgrep", platform?, topic?)`.
7
+
8
+ Relatório: `semgrep-report.json`. Upload: `-s semgrep`.
9
+
10
+ NAUS: `kind: aspm` com `tool: semgrep`; imagem padrão `semgrep/semgrep:latest`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: scanner-skipfish
3
+ description: Skipfish — DAST web (crawling/fuzzing).
4
+ ---
5
+
6
+ Chame `security_scanner_playbook(scanner="skipfish", platform?, topic?)`.
7
+
8
+ Relatório: `skipfish-report.json`. Upload: `-s skipfish`.
9
+
10
+ NAUS: `kind: aspm` com `tool: skipfish` e URL em `target`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: scanner-sonar
3
+ description: SonarQube — SAST via export JSON da API Sonar.
4
+ ---
5
+
6
+ Chame `security_scanner_playbook(scanner="sonar", platform?, topic?)`.
7
+
8
+ Relatório: `sonar-report.json` (export API). Upload: `-s sonar`.
9
+
10
+ NAUS: `kind: aspm` com `tool: sonar`, frequentemente `mode: upload` após export.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: scanner-syft
3
+ description: Syft — geração de SBOM (CycloneDX/SPDX) para ASPM.
4
+ ---
5
+
6
+ Chame `security_scanner_playbook(scanner="syft", platform?, topic?)`.
7
+
8
+ Relatório: `sbom.json` (cyclonedx-json). Upload: `-s syft`.
9
+
10
+ NAUS: `kind: aspm` com `tool: syft`; matrix com `format: cyclonedx-json`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: scanner-trivy
3
+ description: Trivy — SCA, imagens Docker, IaC; upload ASPM e job NAUS.
4
+ ---
5
+
6
+ Chame `security_scanner_playbook(scanner="trivy", platform="linux"|"macos"|"windows", topic="install"|"scan"|"upload"|"naus"|"formats"|"all")`.
7
+
8
+ Relatório típico: `trivy-report.json`. Upload: `aspm upload trivy-report.json -s trivy`.
9
+
10
+ NAUS: `kind: aspm` com `tool: trivy`; preset `kind: docker` com `aspm.tool: trivy` e gate.