@kubbisec/ai-linux-x64 0.1.27 → 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,143 @@
1
+ /**
2
+ * KubbiSec AI shell: closed cyan editor frame (┌─┐ │ │ └─┘) around the chat input.
3
+ */
4
+ import { CustomEditor, } from "@earendil-works/pi-coding-agent";
5
+ import { truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
6
+ // import { handleClarifyPanelKey } from "../clarify/clarify-select-panel.js";
7
+ // import {
8
+ // getClarifyUiSnapshot,
9
+ // isClarifyAsking,
10
+ // setClarifyUiSnapshot,
11
+ // } from "../clarify/clarify-ui-state.js";
12
+ // import { formatSelectionSubmit } from "../clarify/parse-clarify-answer.js";
13
+ import { KUBBISEC_EDITOR_PLACEHOLDER, KUBBISEC_EXIT_SLASH_COMMAND, } from "../copy/kubbisec-shell-copy.js";
14
+ import { renderLineWithMentionChips } from "../skills/chat-mention-render.js";
15
+ import { withKubbisecSelectListTheme } from "../theme/kubbisec-menu-themes.js";
16
+ /** Horizontal inset inside the cyan editor frame (per side). */
17
+ const EDITOR_PADDING_X = 1;
18
+ function buildPlaceholderContent(theme, innerWidth, rawLine) {
19
+ if (innerWidth <= 0)
20
+ return "";
21
+ const showCursor = rawLine.includes("\x1b[7m");
22
+ const dim = (text) => theme.fg("dim", text);
23
+ const inset = " ".repeat(EDITOR_PADDING_X);
24
+ if (!showCursor) {
25
+ const text = `${inset}${dim(KUBBISEC_EDITOR_PLACEHOLDER)}`;
26
+ const pad = Math.max(0, innerWidth - visibleWidth(text));
27
+ return `${text}${" ".repeat(pad)}`;
28
+ }
29
+ const first = KUBBISEC_EDITOR_PLACEHOLDER[0] ?? " ";
30
+ const rest = KUBBISEC_EDITOR_PLACEHOLDER.slice(1);
31
+ const cursor = `\x1b[7m${first}\x1b[0m`;
32
+ const content = `${inset}${cursor}${dim(rest)}`;
33
+ const pad = Math.max(0, innerWidth - visibleWidth(content));
34
+ return `${content}${" ".repeat(pad)}`;
35
+ }
36
+ function horizontalBorder(width, leftCap, rightCap, border) {
37
+ if (width <= 0)
38
+ return "";
39
+ if (width === 1)
40
+ return border(leftCap);
41
+ const mid = Math.max(0, width - 2);
42
+ return `${border(leftCap)}${border("─".repeat(mid))}${border(rightCap)}`;
43
+ }
44
+ function wrapWithVerticalBorders(content, width, border) {
45
+ if (width <= 0)
46
+ return "";
47
+ if (width === 1)
48
+ return border("│");
49
+ const innerWidth = Math.max(0, width - 2);
50
+ const inner = truncateToWidth(content, innerWidth, "");
51
+ const pad = Math.max(0, innerWidth - visibleWidth(inner));
52
+ return `${border("│")}${inner}${" ".repeat(pad)}${border("│")}`;
53
+ }
54
+ export default function kubbisecUi(pi) {
55
+ pi.on("session_start", (_event, ctx) => {
56
+ if (!ctx.hasUI)
57
+ return;
58
+ ctx.ui.setWorkingVisible(false);
59
+ ctx.ui.setHiddenThinkingLabel("reasoning");
60
+ ctx.ui.setWorkingIndicator({ frames: ["◆", "◇", "◆", "◇"], intervalMs: 120 });
61
+ class KubbisecBorderEditor extends CustomEditor {
62
+ constructor(tui, theme, keybindings) {
63
+ super(tui, withKubbisecSelectListTheme(theme), keybindings, {
64
+ paddingX: EDITOR_PADDING_X,
65
+ autocompleteMaxVisible: 12,
66
+ });
67
+ this.installExitSlashRedirect();
68
+ }
69
+ installExitSlashRedirect() {
70
+ let submitHandler;
71
+ Object.defineProperty(this, "onSubmit", {
72
+ configurable: true,
73
+ enumerable: true,
74
+ get: () => submitHandler,
75
+ set: (handler) => {
76
+ submitHandler = handler
77
+ ? async (text) => {
78
+ if (text.trim() === "/quit") {
79
+ return handler(KUBBISEC_EXIT_SLASH_COMMAND);
80
+ }
81
+ /*
82
+ if (isClarifyAsking()) {
83
+ const snapshot = getClarifyUiSnapshot();
84
+ const trimmed = text.trim();
85
+ if (!trimmed) {
86
+ const fromPanel = formatSelectionSubmit(
87
+ new Set(snapshot.selected),
88
+ snapshot.selectionMode,
89
+ );
90
+ if (fromPanel) {
91
+ return handler(fromPanel);
92
+ }
93
+ }
94
+ }
95
+ */
96
+ return handler(text);
97
+ }
98
+ : undefined;
99
+ },
100
+ });
101
+ }
102
+ handleInput(data) {
103
+ /*
104
+ if (isClarifyAsking()) {
105
+ const snapshot = getClarifyUiSnapshot();
106
+ const result = handleClarifyPanelKey(snapshot, data);
107
+ if (result.consumed) {
108
+ setClarifyUiSnapshot(result.snapshot);
109
+ if (result.submitText && this.onSubmit) {
110
+ void this.onSubmit(result.submitText);
111
+ return;
112
+ }
113
+ return;
114
+ }
115
+ }
116
+ */
117
+ super.handleInput(data);
118
+ }
119
+ render(width) {
120
+ const lines = super.render(width);
121
+ if (lines.length < 2)
122
+ return lines;
123
+ const thm = ctx.ui.theme;
124
+ const borderColor = (text) => thm.fg("borderAccent", text);
125
+ const isEmpty = this.getText().length === 0;
126
+ const innerWidth = Math.max(0, width - 2);
127
+ lines[0] = horizontalBorder(width, "┌", "┐", borderColor);
128
+ for (let i = 1; i < lines.length - 1; i += 1) {
129
+ const rawLine = lines[i] ?? "";
130
+ const base = isEmpty && i === 1
131
+ ? buildPlaceholderContent(thm, innerWidth, rawLine)
132
+ : rawLine;
133
+ const content = renderLineWithMentionChips(base, thm);
134
+ lines[i] = wrapWithVerticalBorders(content, width, borderColor);
135
+ }
136
+ lines[lines.length - 1] = horizontalBorder(width, "└", "┘", borderColor);
137
+ return lines;
138
+ }
139
+ }
140
+ ctx.ui.setEditorComponent((tui, theme, keybindings) => new KubbisecBorderEditor(tui, theme, keybindings));
141
+ });
142
+ }
143
+ //# sourceMappingURL=kubbisec-ui.extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubbisec-ui.extension.js","sourceRoot":"","sources":["../../src/extensions/kubbisec-ui.extension.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,YAAY,GAGb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACvE,8EAA8E;AAC9E,WAAW;AACX,0BAA0B;AAC1B,qBAAqB;AACrB,0BAA0B;AAC1B,2CAA2C;AAC3C,8EAA8E;AAC9E,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,gEAAgE;AAChE,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAM3B,SAAS,uBAAuB,CAC9B,KAAwB,EACxB,UAAkB,EAClB,OAAe;IAEf,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,KAAK,GAAG,2BAA2B,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACpD,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,OAAO,GAAG,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAa,EACb,OAAe,EACf,QAAgB,EAChB,MAAgC;IAEhC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACnC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAe,EACf,KAAa,EACb,MAAgC;IAEhC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAgB;IACjD,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACrC,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO;QAEvB,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAC3C,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAE9E,MAAM,oBAAqB,SAAQ,YAAY;YAC7C,YAAY,GAAQ,EAAE,KAAkB,EAAE,WAA+B;gBACvE,KAAK,CAAC,GAAG,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE;oBAC1D,QAAQ,EAAE,gBAAgB;oBAC1B,sBAAsB,EAAE,EAAE;iBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,CAAC;YAEO,wBAAwB;gBAC9B,IAAI,aAAmE,CAAC;gBACxE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE;oBACtC,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,IAAI;oBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa;oBACxB,GAAG,EAAE,CAAC,OAA6D,EAAE,EAAE;wBACrE,aAAa,GAAG,OAAO;4BACrB,CAAC,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;gCACrB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;oCAC5B,OAAO,OAAO,CAAC,2BAA2B,CAAC,CAAC;gCAC9C,CAAC;gCACD;;;;;;;;;;;;;;kCAcE;gCACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;4BACvB,CAAC;4BACH,CAAC,CAAC,SAAS,CAAC;oBAChB,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,WAAW,CAAC,IAAY;gBACtB;;;;;;;;;;;;;kBAaE;gBACF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,CAAC,KAAa;gBAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAEnC,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;gBACzB,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAE1C,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM,IAAI,GACR,OAAO,IAAI,CAAC,KAAK,CAAC;wBAChB,CAAC,CAAC,uBAAuB,CAAC,GAAwB,EAAE,UAAU,EAAE,OAAO,CAAC;wBACxE,CAAC,CAAC,OAAO,CAAC;oBACd,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,EAAE,GAAwB,CAAC,CAAC;oBAC3E,KAAK,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;gBAClE,CAAC;gBACD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBACzE,OAAO,KAAK,CAAC;YACf,CAAC;SACF;QAED,GAAG,CAAC,EAAE,CAAC,kBAAkB,CACvB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAC/E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,38 @@
1
+ export type ChatWorkflowMode = "default" | "plan" | "review";
2
+ export type SessionWorkflowState = {
3
+ mode: ChatWorkflowMode;
4
+ specApproved: boolean;
5
+ specPath?: string;
6
+ };
7
+ export declare function isMutationTool(toolName: string): boolean;
8
+ export declare function detectModeFromPrompt(prompt: string, envMode?: string): ChatWorkflowMode;
9
+ export declare function parseRuntimeSpecStatus(content: string): string | null;
10
+ export declare function findApprovedSpec(cwd: string): {
11
+ approved: boolean;
12
+ specPath?: string;
13
+ };
14
+ export declare function resolveSpecApproval(cwd: string): {
15
+ approved: boolean;
16
+ specPath?: string;
17
+ };
18
+ export declare function shouldBlockMutationTool(state: SessionWorkflowState): boolean;
19
+ export declare function userApprovedSpecKeyword(text: string): boolean;
20
+ export declare function buildPlanModeContextMessage(): string;
21
+ export declare function buildReviewModeContextMessage(): string;
22
+ type ExtensionApi = {
23
+ on: (event: string, handler: (event: unknown, ctx: ExtensionContext) => undefined | Promise<unknown>) => void;
24
+ };
25
+ type ExtensionContext = {
26
+ hasUI: boolean;
27
+ cwd: string;
28
+ ui: {
29
+ notify: (message: string, level?: string) => void;
30
+ setStatus: (key: string, text: string | undefined) => void;
31
+ theme: {
32
+ fg: (role: string, text: string) => string;
33
+ };
34
+ };
35
+ };
36
+ export default function kubbisecWorkflow(api: ExtensionApi): void;
37
+ export {};
38
+ //# sourceMappingURL=kubbisec-workflow.extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubbisec-workflow.extension.d.ts","sourceRoot":"","sources":["../../src/extensions/kubbisec-workflow.extension.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAcF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAavF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBtF;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAEzF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAE5E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAKpD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAItD;AAED,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,CACF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,KAAK,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,KAC7E,IAAI,CAAC;CACX,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE;QACF,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAClD,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;QAC3D,KAAK,EAAE;YAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;SAAE,CAAC;KACvD,CAAC;CACH,CAAC;AA2BF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAqFhE"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * KubbiSec workflow: /mode:plan HARD-GATE, spec approval, and plan/review session modes.
3
+ */
4
+ import * as fs from "node:fs";
5
+ import * as path from "node:path";
6
+ import { getSessionWorkflowFooterBadge, getSessionWorkflowMode, setSessionSpecApproved, setSessionWorkflowMode, } from "../workflow/session-workflow-mode.js";
7
+ const MUTATION_TOOLS = new Set([
8
+ "edit",
9
+ "write",
10
+ "set_pipeline_yaml",
11
+ "bash",
12
+ "delete",
13
+ "patch",
14
+ "apply_patch",
15
+ ]);
16
+ const READ_ONLY_TOOLS = new Set(["read", "grep", "find", "ls", "glob", "questionnaire"]);
17
+ export function isMutationTool(toolName) {
18
+ if (READ_ONLY_TOOLS.has(toolName))
19
+ return false;
20
+ return MUTATION_TOOLS.has(toolName);
21
+ }
22
+ export function detectModeFromPrompt(prompt, envMode) {
23
+ const trimmed = prompt.trim();
24
+ if (trimmed.startsWith("/mode:plan") ||
25
+ /^@plan\b/i.test(trimmed) ||
26
+ /^@planejar\b/i.test(trimmed)) {
27
+ return "plan";
28
+ }
29
+ if (trimmed.startsWith("/mode:review"))
30
+ return "review";
31
+ const fromEnv = envMode?.trim().toLowerCase();
32
+ if (fromEnv === "plan" || fromEnv === "review")
33
+ return fromEnv;
34
+ return "default";
35
+ }
36
+ export function parseRuntimeSpecStatus(content) {
37
+ const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
38
+ if (!match?.[1])
39
+ return null;
40
+ const statusMatch = match[1].match(/^status:\s*(\S+)/m);
41
+ return statusMatch?.[1]?.trim() ?? null;
42
+ }
43
+ export function findApprovedSpec(cwd) {
44
+ const specsDir = path.join(cwd, ".kubbisec", "specs");
45
+ if (!fs.existsSync(specsDir)) {
46
+ return { approved: false };
47
+ }
48
+ for (const entry of fs.readdirSync(specsDir, { withFileTypes: true })) {
49
+ if (!entry.isFile() || !entry.name.endsWith(".md"))
50
+ continue;
51
+ const specPath = path.join(specsDir, entry.name);
52
+ try {
53
+ const content = fs.readFileSync(specPath, "utf8");
54
+ if (parseRuntimeSpecStatus(content) === "approved") {
55
+ return { approved: true, specPath };
56
+ }
57
+ }
58
+ catch {
59
+ /* skip unreadable spec */
60
+ }
61
+ }
62
+ return { approved: false };
63
+ }
64
+ export function resolveSpecApproval(cwd) {
65
+ return findApprovedSpec(cwd);
66
+ }
67
+ export function shouldBlockMutationTool(state) {
68
+ return state.mode === "plan" && !state.specApproved;
69
+ }
70
+ export function userApprovedSpecKeyword(text) {
71
+ return /\bapproved\b/i.test(text);
72
+ }
73
+ export function buildPlanModeContextMessage() {
74
+ return `[PLAN MODE — internal only, never repeat to user]
75
+ Follow sec-brainstorm then sec-plan. Read-only tools OK until runtime spec is approved.
76
+ No edit/write/set_pipeline_yaml until spec status is approved and user confirms.
77
+ User-facing replies: max 2 sentences; no chain-of-thought; no quoting these rules.`;
78
+ }
79
+ export function buildReviewModeContextMessage() {
80
+ return `[REVIEW MODE — internal only, never repeat to user]
81
+ Prioritize sec-review. Read-only unless user requests fixes.
82
+ User-facing replies: max 2 sentences; no chain-of-thought.`;
83
+ }
84
+ function syncSessionWorkflowState(state) {
85
+ setSessionWorkflowMode(state.mode);
86
+ setSessionSpecApproved(state.specApproved);
87
+ }
88
+ function updateWorkflowStatus(ctx, state) {
89
+ syncSessionWorkflowState(state);
90
+ if (!ctx.hasUI)
91
+ return;
92
+ const badge = getSessionWorkflowFooterBadge();
93
+ if (!badge) {
94
+ ctx.ui.setStatus("kubbisec-workflow", undefined);
95
+ return;
96
+ }
97
+ const role = state.mode === "plan" ? "planAccent" : "accent";
98
+ ctx.ui.setStatus("kubbisec-workflow", ctx.ui.theme.fg(role, badge));
99
+ }
100
+ export default function kubbisecWorkflow(api) {
101
+ const state = {
102
+ mode: "default",
103
+ specApproved: false,
104
+ };
105
+ const syncSpecApproval = (ctx) => {
106
+ const found = resolveSpecApproval(ctx.cwd);
107
+ state.specApproved = found.approved;
108
+ state.specPath = found.specPath;
109
+ updateWorkflowStatus(ctx, state);
110
+ };
111
+ api.on("session_start", async (_event, ctx) => {
112
+ const envMode = process.env.KUBBISEC_CHAT_MODE;
113
+ if (envMode === "plan" || envMode === "review") {
114
+ state.mode = envMode;
115
+ }
116
+ else if (getSessionWorkflowMode() !== "default") {
117
+ state.mode = getSessionWorkflowMode();
118
+ }
119
+ syncSpecApproval(ctx);
120
+ if (ctx.hasUI && state.mode === "plan") {
121
+ ctx.ui.notify("Plan mode: describe scope with @plan or @skill …", "info");
122
+ }
123
+ });
124
+ api.on("before_agent_start", async (event, ctx) => {
125
+ const { prompt } = event;
126
+ const detected = detectModeFromPrompt(prompt, process.env.KUBBISEC_CHAT_MODE);
127
+ if (detected !== "default") {
128
+ state.mode = detected;
129
+ }
130
+ else if (state.mode !== "default") {
131
+ /* keep plan/review active across follow-up turns without /mode: prefix */
132
+ }
133
+ else if (getSessionWorkflowMode() !== "default") {
134
+ state.mode = getSessionWorkflowMode();
135
+ }
136
+ if (userApprovedSpecKeyword(prompt)) {
137
+ syncSpecApproval(ctx);
138
+ if (!state.specApproved) {
139
+ state.specApproved = true;
140
+ }
141
+ }
142
+ else {
143
+ syncSpecApproval(ctx);
144
+ }
145
+ updateWorkflowStatus(ctx, state);
146
+ if (state.mode === "plan") {
147
+ return {
148
+ message: {
149
+ customType: "kubbisec-plan-mode",
150
+ content: buildPlanModeContextMessage(),
151
+ display: false,
152
+ },
153
+ };
154
+ }
155
+ if (state.mode === "review") {
156
+ return {
157
+ message: {
158
+ customType: "kubbisec-review-mode",
159
+ content: buildReviewModeContextMessage(),
160
+ display: false,
161
+ },
162
+ };
163
+ }
164
+ return undefined;
165
+ });
166
+ api.on("tool_call", async (event, ctx) => {
167
+ syncSpecApproval(ctx);
168
+ const { toolName } = event;
169
+ if (!shouldBlockMutationTool(state) || !isMutationTool(toolName)) {
170
+ return undefined;
171
+ }
172
+ return {
173
+ block: true,
174
+ reason: `Plan mode HARD-GATE: mutation tool "${toolName}" blocked until a runtime spec is approved.\n` +
175
+ `Create or update \`.kubbisec/specs/<slug>.md\` with \`status: approved\` in frontmatter, then confirm with "approved".`,
176
+ };
177
+ });
178
+ }
179
+ //# sourceMappingURL=kubbisec-workflow.extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubbisec-workflow.extension.js","sourceRoot":"","sources":["../../src/extensions/kubbisec-workflow.extension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ # Gate system prompt (SkillOpt port — KubbiSec adaptation)
2
+
3
+ <!-- origin: SkillOpt OSS gate template -->
4
+
5
+ ## Role
6
+
7
+ Judge whether a candidate overlay improves the base skill given trajectory evidence.
8
+
9
+ ## Inputs
10
+
11
+ - Skill: {{skillName}}
12
+ - Base skill: {{baseSkill}}
13
+ - Candidate overlay: {{overlay}}
14
+ - Trajectory summary: {{trajectorySummary}}
15
+
16
+ ## Output
17
+
18
+ Return JSON only:
19
+
20
+ ```json
21
+ { "accept": boolean, "reasons": string[] }
22
+ ```
23
+
24
+ ## Constraints
25
+
26
+ - Reject overlays that weaken security guidance.
27
+ - Reject edits that contradict HARD-GATE rules.
@@ -0,0 +1,20 @@
1
+ import type { MemoryRecord, MemoryScope } from "./types.js";
2
+ export declare function searchChatMemory(scope: MemoryScope, query: string, limit?: number): Promise<MemoryRecord[]>;
3
+ export declare function addChatMemoryTurn(scope: MemoryScope, text: string, metadata?: Record<string, string>): Promise<MemoryRecord | null>;
4
+ export declare function forgetChatMemory(scope: MemoryScope, memoryId: string): Promise<boolean>;
5
+ export declare function forgetAllChatMemory(scope: Partial<MemoryScope>): Promise<number>;
6
+ export declare function listChatMemories(scope: Partial<MemoryScope>): MemoryRecord[];
7
+ /** Test helper — clears the in-memory store. */
8
+ export declare function resetChatMemoryStoreForTests(): void;
9
+ export type MemoryStatus = {
10
+ enabled: boolean;
11
+ storageDir: string;
12
+ count: number;
13
+ scopes: {
14
+ organizationId?: string;
15
+ userId?: string;
16
+ byProject: Record<string, number>;
17
+ };
18
+ };
19
+ export declare function getMemoryStatus(scope: Partial<MemoryScope>): MemoryStatus;
20
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAsB5D,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,GACR,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAqB9B;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO7F;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAatF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,YAAY,EAAE,CAO5E;AAED,gDAAgD;AAChD,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACnC,CAAC;CACH,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,YAAY,CAmBzE"}
@@ -0,0 +1,121 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { isMemoryEnabled } from "./feature-flags.js";
3
+ import { sanitizeMemoryText } from "./sanitizer.js";
4
+ import { resolveMemoryDir } from "./storage-paths.js";
5
+ const inMemoryStore = [];
6
+ function matchesScope(record, scope) {
7
+ if (record.scope.organizationId !== scope.organizationId)
8
+ return false;
9
+ if (record.scope.userId !== scope.userId)
10
+ return false;
11
+ if (scope.projectId && record.scope.projectId !== scope.projectId)
12
+ return false;
13
+ return true;
14
+ }
15
+ function scoreMatch(text, query) {
16
+ const q = query.toLowerCase().trim();
17
+ if (!q)
18
+ return 0;
19
+ const t = text.toLowerCase();
20
+ if (t.includes(q))
21
+ return q.length;
22
+ const tokens = q.split(/\s+/).filter(Boolean);
23
+ return tokens.reduce((acc, token) => (t.includes(token) ? acc + token.length : acc), 0);
24
+ }
25
+ export async function searchChatMemory(scope, query, limit = 5) {
26
+ if (!isMemoryEnabled())
27
+ return [];
28
+ const hits = inMemoryStore
29
+ .filter((record) => matchesScope(record, scope))
30
+ .map((record) => ({ record, score: scoreMatch(record.text, query) }))
31
+ .filter(({ score }) => score > 0 || !query.trim())
32
+ .sort((a, b) => b.score - a.score || b.record.createdAt.localeCompare(a.record.createdAt))
33
+ .slice(0, limit)
34
+ .map(({ record }) => {
35
+ const sanitized = sanitizeMemoryText(record.text);
36
+ if (sanitized.rejected || !sanitized.text.trim())
37
+ return null;
38
+ return { ...record, text: sanitized.text };
39
+ })
40
+ .filter((r) => r !== null);
41
+ return hits;
42
+ }
43
+ export async function addChatMemoryTurn(scope, text, metadata) {
44
+ if (!isMemoryEnabled())
45
+ return null;
46
+ const sanitized = sanitizeMemoryText(text);
47
+ if (sanitized.rejected || !sanitized.text.trim()) {
48
+ if (process.env.KUBBISEC_DEBUG === "1") {
49
+ console.warn(`memory sanitize rejected: ${sanitized.reason ?? "unknown"}`);
50
+ }
51
+ return null;
52
+ }
53
+ const record = {
54
+ id: randomUUID(),
55
+ text: sanitized.text,
56
+ scope: { ...scope },
57
+ createdAt: new Date().toISOString(),
58
+ metadata,
59
+ };
60
+ inMemoryStore.push(record);
61
+ return record;
62
+ }
63
+ export async function forgetChatMemory(scope, memoryId) {
64
+ const idx = inMemoryStore.findIndex((record) => record.id === memoryId && matchesScope(record, scope));
65
+ if (idx === -1)
66
+ return false;
67
+ inMemoryStore.splice(idx, 1);
68
+ return true;
69
+ }
70
+ export async function forgetAllChatMemory(scope) {
71
+ if (!scope.organizationId || !scope.userId)
72
+ return 0;
73
+ const before = inMemoryStore.length;
74
+ for (let i = inMemoryStore.length - 1; i >= 0; i -= 1) {
75
+ const record = inMemoryStore[i];
76
+ if (!record)
77
+ continue;
78
+ if (record.scope.organizationId !== scope.organizationId)
79
+ continue;
80
+ if (record.scope.userId !== scope.userId)
81
+ continue;
82
+ if (scope.projectId && record.scope.projectId !== scope.projectId)
83
+ continue;
84
+ inMemoryStore.splice(i, 1);
85
+ }
86
+ return before - inMemoryStore.length;
87
+ }
88
+ export function listChatMemories(scope) {
89
+ return inMemoryStore.filter((record) => {
90
+ if (scope.organizationId && record.scope.organizationId !== scope.organizationId)
91
+ return false;
92
+ if (scope.userId && record.scope.userId !== scope.userId)
93
+ return false;
94
+ if (scope.projectId && record.scope.projectId !== scope.projectId)
95
+ return false;
96
+ return true;
97
+ });
98
+ }
99
+ /** Test helper — clears the in-memory store. */
100
+ export function resetChatMemoryStoreForTests() {
101
+ inMemoryStore.length = 0;
102
+ }
103
+ export function getMemoryStatus(scope) {
104
+ const records = listChatMemories(scope);
105
+ const byProject = {};
106
+ for (const record of records) {
107
+ const key = record.scope.projectId ?? "(global)";
108
+ byProject[key] = (byProject[key] ?? 0) + 1;
109
+ }
110
+ return {
111
+ enabled: isMemoryEnabled(),
112
+ storageDir: resolveMemoryDir(),
113
+ count: records.length,
114
+ scopes: {
115
+ organizationId: scope.organizationId,
116
+ userId: scope.userId,
117
+ byProject,
118
+ },
119
+ };
120
+ }
121
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /** Truthy only when env value is exactly "1". */
2
+ export declare function envFlagOn(env: NodeJS.ProcessEnv, key: string): boolean;
3
+ export declare function isMemoryEnabled(env?: NodeJS.ProcessEnv): boolean;
4
+ export type ChatMode = "default" | "plan" | "review";
5
+ export type KubbisecAiFeatureFlags = {
6
+ skillOpt: boolean;
7
+ mem0: boolean;
8
+ lowResource: boolean;
9
+ orchestrate: boolean;
10
+ chatMode: ChatMode;
11
+ };
12
+ export declare function parseChatMode(raw: string | undefined): ChatMode;
13
+ export declare function isSkillRouterEnabled(env?: NodeJS.ProcessEnv): boolean;
14
+ export declare function resolveFeatureFlags(env?: NodeJS.ProcessEnv): KubbisecAiFeatureFlags;
15
+ //# sourceMappingURL=feature-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../src/feature-flags.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAI7E;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAIF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAM/D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAElF;AAED,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,sBAAsB,CAWhG"}
@@ -0,0 +1,34 @@
1
+ /** Truthy only when env value is exactly "1". */
2
+ export function envFlagOn(env, key) {
3
+ return env[key]?.trim() === "1";
4
+ }
5
+ export function isMemoryEnabled(env = process.env) {
6
+ if (envFlagOn(env, "KUBBISEC_MEMORY_DISABLED"))
7
+ return false;
8
+ if (env.KUBBISEC_MEM0?.trim() === "0")
9
+ return false;
10
+ return true;
11
+ }
12
+ const CHAT_MODES = new Set(["default", "plan", "review"]);
13
+ export function parseChatMode(raw) {
14
+ const value = (raw ?? "default").trim().toLowerCase();
15
+ if (!CHAT_MODES.has(value)) {
16
+ throw new Error(`Invalid KUBBISEC_CHAT_MODE: ${raw ?? ""}`);
17
+ }
18
+ return value;
19
+ }
20
+ export function isSkillRouterEnabled(env = process.env) {
21
+ return envFlagOn(env, "KUBBISEC_SKILL_ROUTER");
22
+ }
23
+ export function resolveFeatureFlags(env = process.env) {
24
+ const chatModeRaw = env.KUBBISEC_CHAT_MODE?.trim();
25
+ const chatMode = chatModeRaw ? parseChatMode(chatModeRaw) : "default";
26
+ return {
27
+ skillOpt: envFlagOn(env, "KUBBISEC_SKILL_OPT"),
28
+ mem0: isMemoryEnabled(env),
29
+ lowResource: envFlagOn(env, "KUBBISEC_LOW_RESOURCE"),
30
+ orchestrate: envFlagOn(env, "KUBBISEC_ORCHESTRATE"),
31
+ chatMode,
32
+ };
33
+ }
34
+ //# sourceMappingURL=feature-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../src/feature-flags.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,UAAU,SAAS,CAAC,GAAsB,EAAE,GAAW;IAC3D,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,IAAI,SAAS,CAAC,GAAG,EAAE,0BAA0B,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAYD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE1D,MAAM,UAAU,aAAa,CAAC,GAAuB;IACnD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACvE,OAAO,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACtE,MAAM,WAAW,GAAG,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,GAAG,EAAE,oBAAoB,CAAC;QAC9C,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC;QAC1B,WAAW,EAAE,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC;QACpD,WAAW,EAAE,SAAS,CAAC,GAAG,EAAE,sBAAsB,CAAC;QACnD,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { addChatMemoryTurn, forgetAllChatMemory, forgetChatMemory, getMemoryStatus, listChatMemories, type MemoryStatus, resetChatMemoryStoreForTests, searchChatMemory, } from "./client.js";
2
+ export { type ChatMode, envFlagOn, isMemoryEnabled, isSkillRouterEnabled, type KubbisecAiFeatureFlags, parseChatMode, resolveFeatureFlags, } from "./feature-flags.js";
3
+ export { MEMORY_BLOCKLIST, sanitizeMemoryText } from "./sanitizer.js";
4
+ export { resolveMemoryDir } from "./storage-paths.js";
5
+ export type { MemoryAllowedTopic, MemoryRecord, MemoryScope, SanitizeResult } from "./types.js";
6
+ export { MEMORY_ALLOWED_TOPICS } from "./types.js";
7
+ export declare const MEMORY_INJECT_HEADER = "## KubbiSec \u2014 mem\u00F3rias relevantes\n";
8
+ export declare function buildMemoryInjectBlock(memories: Array<{
9
+ text: string;
10
+ }>, maxBytes?: number): string;
11
+ export declare function extractRememberCandidates(userMessage: string, assistantMessage: string): string[];
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,KAAK,YAAY,EACjB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,QAAQ,EACb,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,aAAa,EACb,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,oBAAoB,kDAAwC,CAAC;AAE1E,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,QAAQ,SAAO,GAAG,MAAM,CAYjG;AA0CD,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAiCjG"}