@kubbisec/ai-linux-arm64 0.1.22 → 0.1.23

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 (358) hide show
  1. package/bin/kubbisec +0 -0
  2. package/bundled/components/kubbisec-model-selector.d.ts +34 -47
  3. package/bundled/components/kubbisec-model-selector.js +177 -187
  4. package/bundled/components/kubbisec-model-selector.js.map +1 -1
  5. package/bundled/config/config.d.ts +6 -6
  6. package/bundled/config/config.d.ts.map +1 -1
  7. package/bundled/config/config.js +52 -54
  8. package/bundled/config/config.js.map +1 -1
  9. package/bundled/config/detect-local-llm-providers.d.ts +16 -26
  10. package/bundled/config/detect-local-llm-providers.js +142 -130
  11. package/bundled/config/ensure-kbs-project-settings.d.ts +20 -0
  12. package/bundled/config/ensure-kbs-project-settings.d.ts.map +1 -0
  13. package/bundled/config/ensure-kbs-project-settings.js +46 -0
  14. package/bundled/config/ensure-kbs-project-settings.js.map +1 -0
  15. package/bundled/config/ensure-kubbisec-project-settings.d.ts +11 -9
  16. package/bundled/config/ensure-kubbisec-project-settings.d.ts.map +1 -1
  17. package/bundled/config/ensure-kubbisec-project-settings.js +72 -44
  18. package/bundled/config/ensure-kubbisec-project-settings.js.map +1 -1
  19. package/bundled/config/extended-context.d.ts +6 -5
  20. package/bundled/config/extended-context.js +22 -23
  21. package/bundled/config/feature-flags.d.ts +2 -10
  22. package/bundled/config/feature-flags.js +2 -8
  23. package/bundled/config/format-kubbisec-footer-status.d.ts +1 -1
  24. package/bundled/config/format-kubbisec-footer-status.js +31 -26
  25. package/bundled/config/kubbisec-extension-manifest.d.ts +2 -22
  26. package/bundled/config/kubbisec-extension-manifest.d.ts.map +1 -1
  27. package/bundled/config/kubbisec-extension-manifest.js +19 -20
  28. package/bundled/config/kubbisec-extension-manifest.js.map +1 -1
  29. package/bundled/config/llm-config-mutations.d.ts +25 -51
  30. package/bundled/config/llm-config-mutations.js +182 -173
  31. package/bundled/config/llm-config.d.ts +41 -54
  32. package/bundled/config/llm-config.js +199 -199
  33. package/bundled/config/llm-provider-catalog.d.ts +15 -18
  34. package/bundled/config/llm-provider-catalog.js +46 -45
  35. package/bundled/config/materialize-kubbisec-pi-resources.d.ts +1 -1
  36. package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +1 -1
  37. package/bundled/config/materialize-kubbisec-pi-resources.js +182 -174
  38. package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -1
  39. package/bundled/config/register-custom-llm-providers.d.ts +5 -11
  40. package/bundled/config/register-custom-llm-providers.js +15 -17
  41. package/bundled/config/register-kubbisec-llm-provider.d.ts +10 -14
  42. package/bundled/config/register-kubbisec-llm-provider.js +42 -50
  43. package/bundled/config/resolve-agents-context-file.d.ts +1 -1
  44. package/bundled/config/resolve-agents-context-file.js +34 -33
  45. package/bundled/config/resource-budget.d.ts +12 -12
  46. package/bundled/config/resource-budget.js +28 -28
  47. package/bundled/config/sync-kubbisec-pi-models.d.ts +3 -6
  48. package/bundled/config/sync-kubbisec-pi-models.js +58 -58
  49. package/bundled/copy/cli-reference-index.d.ts +2 -7
  50. package/bundled/copy/cli-reference-index.d.ts.map +1 -1
  51. package/bundled/copy/cli-reference-index.js +2 -62
  52. package/bundled/copy/cli-reference-index.js.map +1 -1
  53. package/bundled/copy/kubbisec-shell-copy.d.ts +6 -11
  54. package/bundled/copy/kubbisec-shell-copy.js +1 -1
  55. package/bundled/extensions/cli-local-shared.d.ts +36 -45
  56. package/bundled/extensions/cli-local-shared.d.ts.map +1 -1
  57. package/bundled/extensions/cli-local-shared.js +129 -128
  58. package/bundled/extensions/cli-local-shared.js.map +1 -1
  59. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts +15 -18
  60. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +1 -1
  61. package/bundled/extensions/kubbisec-aspm-local.extension.js +106 -121
  62. package/bundled/extensions/kubbisec-aspm-local.extension.js.map +1 -1
  63. package/bundled/extensions/kubbisec-brand.extension.d.ts +1 -1
  64. package/bundled/extensions/kubbisec-brand.extension.js +25 -25
  65. package/bundled/extensions/kubbisec-byok-provider.extension.d.ts +1 -1
  66. package/bundled/extensions/kubbisec-byok-provider.extension.js +2 -2
  67. package/bundled/extensions/kubbisec-clarify.extension.d.ts +35 -64
  68. package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +1 -1
  69. package/bundled/extensions/kubbisec-clarify.extension.js +305 -323
  70. package/bundled/extensions/kubbisec-clarify.extension.js.map +1 -1
  71. package/bundled/extensions/kubbisec-exit.extension.d.ts +1 -1
  72. package/bundled/extensions/kubbisec-exit.extension.js +32 -29
  73. package/bundled/extensions/kubbisec-extended-context.extension.d.ts +1 -1
  74. package/bundled/extensions/kubbisec-extended-context.extension.js +43 -56
  75. package/bundled/extensions/kubbisec-footer.extension.d.ts +14 -14
  76. package/bundled/extensions/kubbisec-footer.extension.d.ts.map +1 -1
  77. package/bundled/extensions/kubbisec-footer.extension.js +215 -205
  78. package/bundled/extensions/kubbisec-footer.extension.js.map +1 -1
  79. package/bundled/extensions/kubbisec-github-local.extension.d.ts +18 -29
  80. package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +1 -1
  81. package/bundled/extensions/kubbisec-github-local.extension.js +457 -129
  82. package/bundled/extensions/kubbisec-github-local.extension.js.map +1 -1
  83. package/bundled/extensions/kubbisec-llm-config.extension.d.ts +1 -1
  84. package/bundled/extensions/kubbisec-llm-config.extension.js +181 -200
  85. package/bundled/extensions/kubbisec-memory.extension.d.ts +7 -9
  86. package/bundled/extensions/kubbisec-memory.extension.d.ts.map +1 -1
  87. package/bundled/extensions/kubbisec-memory.extension.js +95 -88
  88. package/bundled/extensions/kubbisec-naus-local.extension.d.ts +15 -18
  89. package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +1 -1
  90. package/bundled/extensions/kubbisec-naus-local.extension.js +103 -135
  91. package/bundled/extensions/kubbisec-naus-local.extension.js.map +1 -1
  92. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts +21 -31
  93. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts.map +1 -1
  94. package/bundled/extensions/kubbisec-platform-tools.extension.js +152 -152
  95. package/bundled/extensions/kubbisec-platform-tools.extension.js.map +1 -1
  96. package/bundled/extensions/kubbisec-runtime-status.extension.d.ts +8 -10
  97. package/bundled/extensions/kubbisec-runtime-status.extension.js +13 -15
  98. package/bundled/extensions/kubbisec-scope.extension.d.ts +7 -12
  99. package/bundled/extensions/kubbisec-scope.extension.js +13 -13
  100. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts +16 -27
  101. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +1 -1
  102. package/bundled/extensions/kubbisec-skill-mentions.extension.js +64 -73
  103. package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +1 -1
  104. package/bundled/extensions/kubbisec-skill-telemetry.extension.d.ts +3 -2
  105. package/bundled/extensions/kubbisec-skill-telemetry.extension.js +64 -59
  106. package/bundled/extensions/kubbisec-theme-lock.extension.d.ts +1 -1
  107. package/bundled/extensions/kubbisec-theme-lock.extension.js +34 -33
  108. package/bundled/extensions/kubbisec-ui.extension.d.ts +1 -1
  109. package/bundled/extensions/kubbisec-ui.extension.d.ts.map +1 -1
  110. package/bundled/extensions/kubbisec-ui.extension.js +122 -116
  111. package/bundled/extensions/kubbisec-ui.extension.js.map +1 -1
  112. package/bundled/extensions/kubbisec-workflow.extension.d.ts +18 -20
  113. package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +1 -1
  114. package/bundled/extensions/kubbisec-workflow.extension.js +140 -138
  115. package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts +1 -0
  116. package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts.map +1 -1
  117. package/bundled/node_modules/@aspm/shared/dist/ai/index.js +1 -0
  118. package/bundled/node_modules/@aspm/shared/dist/ai/index.js.map +1 -1
  119. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts +7 -0
  120. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts.map +1 -0
  121. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js +30 -0
  122. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js.map +1 -0
  123. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts +7 -0
  124. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts.map +1 -0
  125. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.js +14 -0
  126. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.js.map +1 -0
  127. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.d.ts +6 -0
  128. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.d.ts.map +1 -0
  129. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.js +65 -0
  130. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.js.map +1 -0
  131. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts +8 -0
  132. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts.map +1 -0
  133. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.js +29 -0
  134. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.js.map +1 -0
  135. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.d.ts +7 -0
  136. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.d.ts.map +1 -0
  137. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.js +16 -0
  138. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.js.map +1 -0
  139. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.d.ts +2 -0
  140. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.d.ts.map +1 -0
  141. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.js +36 -0
  142. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.js.map +1 -0
  143. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.d.ts +6 -0
  144. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.d.ts.map +1 -0
  145. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.js +32 -0
  146. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.js.map +1 -0
  147. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.d.ts +12 -0
  148. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.d.ts.map +1 -0
  149. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.js +93 -0
  150. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.js.map +1 -0
  151. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.d.ts +13 -0
  152. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.d.ts.map +1 -0
  153. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.js +79 -0
  154. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.js.map +1 -0
  155. package/bundled/node_modules/@aspm/shared/dist/api-key/index.d.ts +4 -0
  156. package/bundled/node_modules/@aspm/shared/dist/api-key/index.d.ts.map +1 -0
  157. package/bundled/node_modules/@aspm/shared/dist/api-key/index.js +20 -0
  158. package/bundled/node_modules/@aspm/shared/dist/api-key/index.js.map +1 -0
  159. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.d.ts +20 -0
  160. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.d.ts.map +1 -0
  161. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.js +78 -0
  162. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.js.map +1 -0
  163. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.d.ts +19 -0
  164. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.d.ts.map +1 -0
  165. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.js +126 -0
  166. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.js.map +1 -0
  167. package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts +1 -0
  168. package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts.map +1 -1
  169. package/bundled/node_modules/@aspm/shared/dist/assistant/index.js +1 -0
  170. package/bundled/node_modules/@aspm/shared/dist/assistant/index.js.map +1 -1
  171. package/bundled/node_modules/@aspm/shared/dist/billing/index.d.ts +2 -0
  172. package/bundled/node_modules/@aspm/shared/dist/billing/index.d.ts.map +1 -0
  173. package/bundled/node_modules/@aspm/shared/dist/billing/index.js +18 -0
  174. package/bundled/node_modules/@aspm/shared/dist/billing/index.js.map +1 -0
  175. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.d.ts +17 -0
  176. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.d.ts.map +1 -0
  177. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.js +30 -0
  178. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.js.map +1 -0
  179. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.d.ts +42 -0
  180. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.d.ts.map +1 -0
  181. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.js +147 -0
  182. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.js.map +1 -0
  183. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.d.ts +12 -0
  184. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.d.ts.map +1 -0
  185. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.js +70 -0
  186. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.js.map +1 -0
  187. package/bundled/node_modules/@aspm/shared/dist/ci/index.d.ts +4 -0
  188. package/bundled/node_modules/@aspm/shared/dist/ci/index.d.ts.map +1 -0
  189. package/bundled/node_modules/@aspm/shared/dist/ci/index.js +20 -0
  190. package/bundled/node_modules/@aspm/shared/dist/ci/index.js.map +1 -0
  191. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.d.ts +16 -0
  192. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.d.ts.map +1 -0
  193. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.js +45 -0
  194. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.js.map +1 -0
  195. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts +1 -0
  196. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts.map +1 -1
  197. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js +6 -0
  198. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js.map +1 -1
  199. package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts +5 -3
  200. package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts.map +1 -1
  201. package/bundled/node_modules/@aspm/shared/dist/dto/index.js +5 -3
  202. package/bundled/node_modules/@aspm/shared/dist/dto/index.js.map +1 -1
  203. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.d.ts +9 -0
  204. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.d.ts.map +1 -0
  205. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.js +52 -0
  206. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.js.map +1 -0
  207. package/bundled/node_modules/@aspm/shared/dist/enums.d.ts +3 -1
  208. package/bundled/node_modules/@aspm/shared/dist/enums.d.ts.map +1 -1
  209. package/bundled/node_modules/@aspm/shared/dist/enums.js +4 -0
  210. package/bundled/node_modules/@aspm/shared/dist/enums.js.map +1 -1
  211. package/bundled/node_modules/@aspm/shared/dist/index.d.ts +8 -2
  212. package/bundled/node_modules/@aspm/shared/dist/index.d.ts.map +1 -1
  213. package/bundled/node_modules/@aspm/shared/dist/index.js +8 -2
  214. package/bundled/node_modules/@aspm/shared/dist/index.js.map +1 -1
  215. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.d.ts +22 -0
  216. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.d.ts.map +1 -0
  217. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.js +52 -0
  218. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.js.map +1 -0
  219. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.d.ts +37 -0
  220. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.d.ts.map +1 -0
  221. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.js +51 -0
  222. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.js.map +1 -0
  223. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.d.ts +7 -4
  224. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.d.ts.map +1 -1
  225. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.js +15 -7
  226. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.js.map +1 -1
  227. package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts +1 -0
  228. package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts.map +1 -1
  229. package/bundled/node_modules/@aspm/shared/dist/rbac/index.js +1 -0
  230. package/bundled/node_modules/@aspm/shared/dist/rbac/index.js.map +1 -1
  231. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.d.ts.map +1 -1
  232. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js +2 -0
  233. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js.map +1 -1
  234. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts +1 -1
  235. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts.map +1 -1
  236. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js +2 -0
  237. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js.map +1 -1
  238. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.d.ts +8 -0
  239. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.d.ts.map +1 -0
  240. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.js +19 -0
  241. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.js.map +1 -0
  242. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.d.ts.map +1 -1
  243. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js +4 -0
  244. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js.map +1 -1
  245. package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts +1 -0
  246. package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts.map +1 -1
  247. package/bundled/node_modules/@aspm/shared/dist/redaction.js +1 -0
  248. package/bundled/node_modules/@aspm/shared/dist/redaction.js.map +1 -1
  249. package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.d.ts.map +1 -1
  250. package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.js.map +1 -1
  251. package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.d.ts.map +1 -1
  252. package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.js.map +1 -1
  253. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.d.ts.map +1 -1
  254. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js +2 -2
  255. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js.map +1 -1
  256. package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts +2 -2
  257. package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts.map +1 -1
  258. package/bundled/node_modules/@aspm/shared/dist/security/index.js +2 -2
  259. package/bundled/node_modules/@aspm/shared/dist/security/index.js.map +1 -1
  260. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts +4 -0
  261. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts.map +1 -0
  262. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js +10 -0
  263. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js.map +1 -0
  264. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts +4 -0
  265. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts.map +1 -0
  266. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js +20 -0
  267. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js.map +1 -0
  268. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts +2 -0
  269. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts.map +1 -0
  270. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js +9 -0
  271. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js.map +1 -0
  272. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts +3 -0
  273. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts.map +1 -0
  274. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js +18 -0
  275. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js.map +1 -0
  276. package/bundled/node_modules/@aspm/shared/package.json +27 -5
  277. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js +2 -2
  278. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js.map +1 -1
  279. package/bundled/node_modules/@kubbisec/chat-memory/package.json +4 -4
  280. package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts.map +1 -1
  281. package/bundled/node_modules/@kubbisec/home/dist/migrate.js +1 -1
  282. package/bundled/node_modules/@kubbisec/home/dist/migrate.js.map +1 -1
  283. package/bundled/node_modules/@kubbisec/home/package.json +3 -3
  284. package/bundled/resolve-bundled-dist-root.js +130 -122
  285. package/bundled/resolve-bundled-dist-root.js.map +1 -1
  286. package/bundled/skills/aspm-platform/SKILL.md +3 -1
  287. package/bundled/skills/at-path-mentions.d.ts +1 -1
  288. package/bundled/skills/at-path-mentions.js +153 -146
  289. package/bundled/skills/chat-mention-render.d.ts +2 -2
  290. package/bundled/skills/chat-mention-render.js +126 -121
  291. package/bundled/skills/chat-mentions.d.ts +8 -17
  292. package/bundled/skills/chat-mentions.js +76 -76
  293. package/bundled/skills/github-local/SKILL.md +5 -5
  294. package/bundled/skills/kubbisec-resource-router/SKILL.md +3 -0
  295. package/bundled/skills/list-bundled-skills.d.ts +3 -3
  296. package/bundled/skills/list-bundled-skills.js +35 -33
  297. package/bundled/skills/naus-pipelines/SKILL.md +11 -10
  298. package/bundled/skills/remediation/SKILL.md +1 -1
  299. package/bundled/skills/skill-mention.d.ts +2 -10
  300. package/bundled/skills/skill-mention.js +2 -10
  301. package/bundled/theme/clear-terminal.d.ts +1 -1
  302. package/bundled/theme/clear-terminal.js +4 -3
  303. package/bundled/theme/footer-render-hook.d.ts +1 -1
  304. package/bundled/theme/footer-render-hook.js +3 -3
  305. package/bundled/theme/kubbisec-brand-fg.d.ts +1 -1
  306. package/bundled/theme/kubbisec-brand-fg.js +2 -2
  307. package/bundled/theme/kubbisec-menu-themes.d.ts +7 -7
  308. package/bundled/theme/kubbisec-menu-themes.js +31 -30
  309. package/bundled/theme/kubbisec-theme-name.d.ts +1 -1
  310. package/bundled/theme/kubbisec-theme-name.js +1 -1
  311. package/bundled/theme/patch-pi-settings-theme.runtime.d.ts +1 -1
  312. package/bundled/theme/patch-pi-settings-theme.runtime.js +10 -11
  313. package/bundled/theme/render-compact-header.d.ts +5 -13
  314. package/bundled/theme/render-compact-header.js +128 -126
  315. package/bundled/theme/render-compact-header.js.map +1 -1
  316. package/bundled/workflow/session-workflow-mode.d.ts +1 -1
  317. package/bundled/workflow/session-workflow-mode.js +33 -33
  318. package/package.json +1 -1
  319. package/bundled/clarify/clarify-gate-state.d.ts +0 -3
  320. package/bundled/clarify/clarify-gate-state.d.ts.map +0 -1
  321. package/bundled/clarify/clarify-gate-state.js +0 -9
  322. package/bundled/clarify/clarify-gate-state.js.map +0 -1
  323. package/bundled/clarify/clarify-gate.d.ts +0 -35
  324. package/bundled/clarify/clarify-gate.d.ts.map +0 -1
  325. package/bundled/clarify/clarify-gate.js +0 -159
  326. package/bundled/clarify/clarify-gate.js.map +0 -1
  327. package/bundled/clarify/clarify-select-panel.d.ts +0 -21
  328. package/bundled/clarify/clarify-select-panel.d.ts.map +0 -1
  329. package/bundled/clarify/clarify-select-panel.js +0 -80
  330. package/bundled/clarify/clarify-select-panel.js.map +0 -1
  331. package/bundled/clarify/clarify-ui-state.d.ts +0 -23
  332. package/bundled/clarify/clarify-ui-state.d.ts.map +0 -1
  333. package/bundled/clarify/clarify-ui-state.js +0 -48
  334. package/bundled/clarify/clarify-ui-state.js.map +0 -1
  335. package/bundled/clarify/parse-clarify-answer.d.ts +0 -32
  336. package/bundled/clarify/parse-clarify-answer.d.ts.map +0 -1
  337. package/bundled/clarify/parse-clarify-answer.js +0 -51
  338. package/bundled/clarify/parse-clarify-answer.js.map +0 -1
  339. package/bundled/clarify/question-format.d.ts +0 -50
  340. package/bundled/clarify/question-format.d.ts.map +0 -1
  341. package/bundled/clarify/question-format.js +0 -137
  342. package/bundled/clarify/question-format.js.map +0 -1
  343. package/bundled/clarify/questionnaire-tool.d.ts +0 -36
  344. package/bundled/clarify/questionnaire-tool.d.ts.map +0 -1
  345. package/bundled/clarify/questionnaire-tool.js +0 -197
  346. package/bundled/clarify/questionnaire-tool.js.map +0 -1
  347. package/bundled/clarify/scope-discovery.d.ts +0 -12
  348. package/bundled/clarify/scope-discovery.d.ts.map +0 -1
  349. package/bundled/clarify/scope-discovery.js +0 -122
  350. package/bundled/clarify/scope-discovery.js.map +0 -1
  351. package/bundled/clarify/session-questionnaire.d.ts +0 -61
  352. package/bundled/clarify/session-questionnaire.d.ts.map +0 -1
  353. package/bundled/clarify/session-questionnaire.js +0 -364
  354. package/bundled/clarify/session-questionnaire.js.map +0 -1
  355. package/bundled/clarify/session-questionnaire.types.d.ts +0 -49
  356. package/bundled/clarify/session-questionnaire.types.d.ts.map +0 -1
  357. package/bundled/clarify/session-questionnaire.types.js +0 -13
  358. package/bundled/clarify/session-questionnaire.types.js.map +0 -1
@@ -1,108 +1,108 @@
1
1
  import { fuzzyFilter } from "@earendil-works/pi-tui";
2
2
  export const SKILL_MENTION_TOKEN = "@skill";
3
3
  export const PLAN_MENTION_ALIASES = ["@plan", "@planejar"];
4
- const PLAN_MENTION_TOKENS_LONGEST_FIRST = [...PLAN_MENTION_ALIASES].sort(
5
- (a, b) => b.length - a.length,
6
- );
4
+ const PLAN_MENTION_TOKENS_LONGEST_FIRST = [...PLAN_MENTION_ALIASES].sort((a, b) => b.length - a.length);
7
5
  const PATH_DELIMITERS = new Set([" ", "\t", '"', "'", "="]);
8
6
  function findLastDelimiter(text) {
9
- for (let i = text.length - 1; i >= 0; i -= 1) {
10
- if (PATH_DELIMITERS.has(text[i] ?? "")) {
11
- return i;
7
+ for (let i = text.length - 1; i >= 0; i -= 1) {
8
+ if (PATH_DELIMITERS.has(text[i] ?? "")) {
9
+ return i;
10
+ }
12
11
  }
13
- }
14
- return -1;
12
+ return -1;
15
13
  }
16
14
  /** Same token rules as Pi CombinedAutocompleteProvider.extractAtPrefix. */
17
15
  export function extractAtPrefix(textBeforeCursor) {
18
- const lastDelimiterIndex = findLastDelimiter(textBeforeCursor);
19
- const tokenStart = lastDelimiterIndex === -1 ? 0 : lastDelimiterIndex + 1;
20
- if (textBeforeCursor[tokenStart] === "@") {
21
- return textBeforeCursor.slice(tokenStart);
22
- }
23
- return null;
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;
24
22
  }
25
23
  /** KubbiSec: `@skill` may include a space and partial name (not only the last @ token). */
26
24
  export function extractSkillMentionPrefix(textBeforeCursor) {
27
- const idx = textBeforeCursor.lastIndexOf(SKILL_MENTION_TOKEN);
28
- if (idx === -1) return null;
29
- if (idx > 0 && !PATH_DELIMITERS.has(textBeforeCursor[idx - 1] ?? "")) {
30
- return null;
31
- }
32
- const slice = textBeforeCursor.slice(idx);
33
- if (!parseSkillMentionPrefix(slice)) return null;
34
- return slice;
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
35
  }
36
36
  export function parseSkillMentionPrefix(atPrefix) {
37
- if (!atPrefix?.startsWith(SKILL_MENTION_TOKEN)) return null;
38
- const tail = atPrefix.slice(SKILL_MENTION_TOKEN.length);
39
- if (tail.length > 0 && !tail.startsWith(" ")) return null;
40
- return { query: tail.startsWith(" ") ? tail.trimStart() : "" };
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() : "" };
41
43
  }
42
44
  export function parsePlanMentionPrefix(atPrefix) {
43
- if (!atPrefix) return null;
44
- for (const token of PLAN_MENTION_TOKENS_LONGEST_FIRST) {
45
- if (!atPrefix.startsWith(token)) continue;
46
- const tail = atPrefix.slice(token.length);
47
- if (tail.length > 0 && !tail.startsWith(" ")) continue;
48
- return { query: tail.startsWith(" ") ? tail.trimStart() : "" };
49
- }
50
- return null;
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;
51
56
  }
52
57
  export function filterSkillSuggestions(skills, query) {
53
- const items = skills.map((skill) => ({
54
- value: skill.name,
55
- label: skill.name,
56
- description: skill.description,
57
- }));
58
- if (!query) return items;
59
- return fuzzyFilter(items, query, (item) => `${item.label} ${item.description ?? ""}`).map(
60
- (item) => ({
61
- value: item.value,
62
- label: item.label,
63
- description: item.description,
64
- }),
65
- );
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
+ }));
66
70
  }
67
71
  /** Pi expands `/skill:name` — map `@skill name` before submit. */
68
72
  export function transformAtSkillMentions(text) {
69
- return text.replace(/@skill\s+([^\s@/]+)/g, "/skill:$1");
73
+ return text.replace(/@skill\s+([^\s@/]+)/g, "/skill:$1");
70
74
  }
71
75
  /** Legacy: map `@plan` / `@planejar` to `/mode:plan` (prefer session state + visible @plan). */
72
76
  export function transformAtPlanMentions(text) {
73
- const tokenPattern = PLAN_MENTION_TOKENS_LONGEST_FIRST.map((t) =>
74
- t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"),
75
- ).join("|");
76
- const pattern = new RegExp(`(^|[\\s"'=])(${tokenPattern})(\\s[\\s\\S]*)?`, "g");
77
- return text.replace(pattern, (_match, delim, _token, tail) => {
78
- const query = tail ? tail.trimStart() : "";
79
- return `${delim}/mode:plan${query ? ` ${query}` : ""}`;
80
- });
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
+ });
81
83
  }
82
84
  /** Apply @skill → /skill:name only. @plan stays visible; plan mode is set via session state. */
83
85
  export function transformChatMentions(text) {
84
- return transformAtSkillMentions(text);
86
+ return transformAtSkillMentions(text);
85
87
  }
86
88
  export function messageActivatesPlanMode(text) {
87
- const trimmed = text.trim();
88
- return (
89
- trimmed.startsWith("/mode:plan") || /^@plan\b/i.test(trimmed) || /^@planejar\b/i.test(trimmed)
90
- );
89
+ const trimmed = text.trim();
90
+ return (trimmed.startsWith("/mode:plan") || /^@plan\b/i.test(trimmed) || /^@planejar\b/i.test(trimmed));
91
91
  }
92
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
- };
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
107
  }
108
- //# sourceMappingURL=chat-mentions.js.map
108
+ //# sourceMappingURL=chat-mentions.js.map
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  name: github-local
3
- description: Local gh/git, naus, and aspm on the machine running kbs chat only when user passed --extended-context.
3
+ description: Local gh/git, naus, and aspm on the machine running kbs chat with host-first auth support.
4
4
  ---
5
5
 
6
- If extended context is disabled, tell the user to restart:
7
-
8
- `kbs chat --extended-context -p <project-id> -w /path/to/clone`
6
+ GitHub local tools are available in chat without `--extended-context`.
9
7
 
10
8
  ## Tools
11
9
 
12
- - **GitHub:** `github_local_status`, `github_local_repo_summary`
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
13
  - **NAUS:** `naus_local_status`, `naus_local_validate`, `naus_local_plan`, `naus_local_run`
14
14
  - **ASPM:** `aspm_local_status`, `aspm_local_doctor`, `aspm_local_scan`, `aspm_local_upload`
15
15
 
@@ -0,0 +1,3 @@
1
+ # kubbisec-resource-router
2
+
3
+ This skill routes incoming tasks to appropriate resources and modes.
@@ -1,7 +1,7 @@
1
1
  export type KubbisecSkillEntry = {
2
- name: string;
3
- description: string;
2
+ name: string;
3
+ description: string;
4
4
  };
5
5
  /** Skills shipped under dist/skills (same dirs passed as Pi --skill). */
6
6
  export declare function listBundledKubbisecSkills(): KubbisecSkillEntry[];
7
- //# sourceMappingURL=list-bundled-skills.d.ts.map
7
+ //# sourceMappingURL=list-bundled-skills.d.ts.map
@@ -1,42 +1,44 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
- import {
4
- resolveBundledDistRoot,
5
- resolveSnapshotBundledDistDir,
6
- } from "../resolve-bundled-dist-root.js";
7
-
3
+ import { resolveBundledDistRoot, resolveSnapshotBundledDistDir, } from "../resolve-bundled-dist-root.js";
8
4
  function parseSkillFrontmatter(raw) {
9
- const match = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/);
10
- if (!match) return {};
11
- const block = match[1];
12
- const name = block.match(/^name:\s*(.+)$/m)?.[1]?.trim();
13
- const description = block.match(/^description:\s*(.+)$/m)?.[1]?.trim();
14
- return { name, description };
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 };
15
12
  }
16
13
  function resolveSkillsDir() {
17
- const distDir = path.join(resolveBundledDistRoot(), "skills");
18
- if (fs.existsSync(distDir)) return distDir;
19
- const entryDir = path.dirname(resolveSnapshotBundledDistDir());
20
- const srcDir = path.join(entryDir, "src/skills");
21
- if (fs.existsSync(srcDir)) return srcDir;
22
- return null;
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;
23
22
  }
24
23
  /** Skills shipped under dist/skills (same dirs passed as Pi --skill). */
25
24
  export function listBundledKubbisecSkills() {
26
- const skillsDir = resolveSkillsDir();
27
- if (!skillsDir) return [];
28
- const entries = [];
29
- for (const dir of fs.readdirSync(skillsDir, { withFileTypes: true })) {
30
- if (!dir.isDirectory()) continue;
31
- const skillMd = path.join(skillsDir, dir.name, "SKILL.md");
32
- if (!fs.existsSync(skillMd)) continue;
33
- const raw = fs.readFileSync(skillMd, "utf8");
34
- const meta = parseSkillFrontmatter(raw);
35
- entries.push({
36
- name: meta.name?.trim() || dir.name,
37
- description: meta.description?.trim() || dir.name,
38
- });
39
- }
40
- return entries.sort((a, b) => a.name.localeCompare(b.name));
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));
41
43
  }
42
- //# sourceMappingURL=list-bundled-skills.js.map
44
+ //# sourceMappingURL=list-bundled-skills.js.map
@@ -16,7 +16,7 @@ description: NAUS CI/CD — YAML, validação @naus/validation, runners e jobs A
16
16
 
17
17
  Top-level: `name`, `description`, `local`, `stages`, `variables`, `volumes`, `repository`, `only`, `run` (obrigatório).
18
18
 
19
- **HARD-GATE:** antes de mostrar YAML final → `naus_pipeline_docs` + `naus_validate_yaml` (ou `naus_local_validate` com `--extended-context`).
19
+ **HARD-GATE:** antes de mostrar YAML final → `naus_pipeline_docs` + `naus_validate_yaml` (ou `naus_local_validate` no workspace).
20
20
 
21
21
  ## NAUS CLI (`npm install -g @kubbisec/naus`)
22
22
 
@@ -54,14 +54,9 @@ run:
54
54
 
55
55
  - kubbisec_scan:
56
56
  stage: security
57
- kind: aspm_matrix
58
- mode: scan-and-upload
59
- matrix_strategy: chain
57
+ kind: kubbisec_scan
58
+ profile: full
60
59
  depends_on: [build]
61
- parallel:
62
- - tool: osv
63
- - tool: gitleaks
64
- - tool: syft
65
60
 
66
61
  - kubbisec_gate:
67
62
  kind: aspm_gate
@@ -72,13 +67,17 @@ run:
72
67
  CRITICAL: 0
73
68
  ```
74
69
 
75
- Jobs `kind: aspm` **não** precisam de `script:` — o NAUS expande scanner + upload. Use `tool:` (não `scanner:`).
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.
76
74
 
77
75
  ## Kinds de job
78
76
 
79
77
  | Kind | Campos principais |
80
78
  |------|-------------------|
81
79
  | `container` (default) | `image:`, `script:`, `depends_on:` |
80
+ | `kubbisec_scan` | `profile:` full \| quick \| ai-only \| scanners-only |
82
81
  | `aspm` | `tool:`, `mode:` scan \| upload \| scan-and-upload |
83
82
  | `aspm_matrix` | `parallel: [{ tool: ... }]`, `matrix_strategy:` chain \| fanout |
84
83
  | `aspm_gate` | `rules:` (vulnerabilities, coverage, risk_score) |
@@ -105,7 +104,9 @@ No YAML, referencie apenas `$VAR` — nunca o valor em claro. Chaves em `.secret
105
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.
106
105
  - Cloud → Env Packs na UI; `.secrets` só existe na máquina onde corres `naus run`.
107
106
 
108
- ## Fluxo local (`kbs chat --extended-context -w <repo>`)
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.
109
110
 
110
111
  | Tool | Comando |
111
112
  |------|---------|
@@ -9,4 +9,4 @@ Fix the finding using the cloned repository workspace.
9
9
  2. Apply minimal code changes from real evidence only — no invented CVEs or paths.
10
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
11
 
12
- For local machine context in chat, user must run `kbs chat --extended-context` then `github_local_status`.
12
+ For local git/gh in chat, use `github_local_*` tools (always available; host-first auth). See @skill github-local.
@@ -1,11 +1,3 @@
1
1
  /** @deprecated Import from chat-mentions.js — re-export shim for backward compatibility. */
2
- export {
3
- applySkillMentionCompletion,
4
- extractAtPrefix,
5
- extractSkillMentionPrefix,
6
- filterSkillSuggestions,
7
- parseSkillMentionPrefix,
8
- SKILL_MENTION_TOKEN,
9
- transformAtSkillMentions,
10
- } from "./chat-mentions.js";
11
- //# sourceMappingURL=skill-mention.d.ts.map
2
+ export { applySkillMentionCompletion, extractAtPrefix, extractSkillMentionPrefix, filterSkillSuggestions, parseSkillMentionPrefix, SKILL_MENTION_TOKEN, transformAtSkillMentions, } from "./chat-mentions.js";
3
+ //# sourceMappingURL=skill-mention.d.ts.map
@@ -1,11 +1,3 @@
1
1
  /** @deprecated Import from chat-mentions.js — re-export shim for backward compatibility. */
2
- export {
3
- applySkillMentionCompletion,
4
- extractAtPrefix,
5
- extractSkillMentionPrefix,
6
- filterSkillSuggestions,
7
- parseSkillMentionPrefix,
8
- SKILL_MENTION_TOKEN,
9
- transformAtSkillMentions,
10
- } from "./chat-mentions.js";
11
- //# sourceMappingURL=skill-mention.js.map
2
+ export { applySkillMentionCompletion, extractAtPrefix, extractSkillMentionPrefix, filterSkillSuggestions, parseSkillMentionPrefix, SKILL_MENTION_TOKEN, transformAtSkillMentions, } from "./chat-mentions.js";
3
+ //# sourceMappingURL=skill-mention.js.map
@@ -1,3 +1,3 @@
1
1
  /** Clear visible screen and scrollback when stdout is a TTY (chat TUI takeover). */
2
2
  export declare function clearTerminal(): void;
3
- //# sourceMappingURL=clear-terminal.d.ts.map
3
+ //# sourceMappingURL=clear-terminal.d.ts.map
@@ -1,6 +1,7 @@
1
1
  /** Clear visible screen and scrollback when stdout is a TTY (chat TUI takeover). */
2
2
  export function clearTerminal() {
3
- if (!process.stdout.isTTY) return;
4
- process.stdout.write("\x1b[2J\x1b[3J\x1b[H");
3
+ if (!process.stdout.isTTY)
4
+ return;
5
+ process.stdout.write("\x1b[2J\x1b[3J\x1b[H");
5
6
  }
6
- //# sourceMappingURL=clear-terminal.js.map
7
+ //# sourceMappingURL=clear-terminal.js.map
@@ -1,3 +1,3 @@
1
1
  export declare function setKubbisecFooterRequestRender(handler: (() => void) | undefined): void;
2
2
  export declare function requestKubbisecFooterRender(): void;
3
- //# sourceMappingURL=footer-render-hook.d.ts.map
3
+ //# sourceMappingURL=footer-render-hook.d.ts.map
@@ -1,8 +1,8 @@
1
1
  let requestRender;
2
2
  export function setKubbisecFooterRequestRender(handler) {
3
- requestRender = handler;
3
+ requestRender = handler;
4
4
  }
5
5
  export function requestKubbisecFooterRender() {
6
- requestRender?.();
6
+ requestRender?.();
7
7
  }
8
- //# sourceMappingURL=footer-render-hook.js.map
8
+ //# sourceMappingURL=footer-render-hook.js.map
@@ -1,4 +1,4 @@
1
1
  /** Brand cyan #28DCF9 — kubbisec.json `accent`, footer branch, hex `mark.ansi`. */
2
2
  export declare const KUBBISEC_BRAND_CYAN_ANSI = "\u001B[38;2;40;220;249m";
3
3
  export declare function kubbisecBrandFg(text: string): string;
4
- //# sourceMappingURL=kubbisec-brand-fg.d.ts.map
4
+ //# sourceMappingURL=kubbisec-brand-fg.d.ts.map
@@ -2,6 +2,6 @@
2
2
  export const KUBBISEC_BRAND_CYAN_ANSI = "\x1b[38;2;40;220;249m";
3
3
  const ANSI_RESET = "\x1b[0m";
4
4
  export function kubbisecBrandFg(text) {
5
- return `${KUBBISEC_BRAND_CYAN_ANSI}${text}${ANSI_RESET}`;
5
+ return `${KUBBISEC_BRAND_CYAN_ANSI}${text}${ANSI_RESET}`;
6
6
  }
7
- //# sourceMappingURL=kubbisec-brand-fg.js.map
7
+ //# sourceMappingURL=kubbisec-brand-fg.js.map
@@ -1,16 +1,16 @@
1
1
  import type { EditorTheme } from "@earendil-works/pi-tui";
2
-
3
2
  declare function dimText(text: string): string;
4
3
  /** `/settings` list — current value column and cursor use brand cyan (#28DCF9). */
5
4
  export declare function buildKubbisecSettingsListTheme(): {
6
- label: (text: string, selected: boolean) => string;
7
- value: (text: string, _selected: boolean) => string;
8
- description: typeof dimText;
9
- cursor: string;
10
- hint: typeof dimText;
5
+ label: (text: string, selected: boolean) => string;
6
+ value: (text: string, _selected: boolean) => string;
7
+ description: typeof dimText;
8
+ cursor: string;
9
+ hint: typeof dimText;
11
10
  };
12
11
  /** Map Pi `accent` role to exact brand RGB (footer branch, header). */
13
12
  export declare function patchGlobalThemeAccent(): void;
14
13
  /** Slash-command autocomplete inside the editor — selected row uses brand cyan (#28DCF9). */
15
14
  export declare function withKubbisecSelectListTheme(theme: EditorTheme): EditorTheme;
16
- //# sourceMappingURL=kubbisec-menu-themes.d.ts.map
15
+ export {};
16
+ //# sourceMappingURL=kubbisec-menu-themes.d.ts.map
@@ -1,46 +1,47 @@
1
1
  import { kubbisecBrandFg } from "./kubbisec-brand-fg.js";
2
-
3
2
  const brand = (text) => kubbisecBrandFg(text);
4
3
  const PI_THEME_KEY = Symbol.for("@earendil-works/pi-coding-agent:theme");
5
4
  function getPiThemeInstance() {
6
- return globalThis[PI_THEME_KEY];
5
+ return globalThis[PI_THEME_KEY];
7
6
  }
8
7
  function dimText(text) {
9
- const instance = getPiThemeInstance();
10
- return instance ? instance.fg("dim", text) : text;
8
+ const instance = getPiThemeInstance();
9
+ return instance ? instance.fg("dim", text) : text;
11
10
  }
12
11
  /** `/settings` list — current value column and cursor use brand cyan (#28DCF9). */
13
12
  export function buildKubbisecSettingsListTheme() {
14
- return {
15
- label: (text, selected) => (selected ? brand(text) : text),
16
- value: (text, _selected) => brand(text),
17
- description: dimText,
18
- cursor: brand("→ "),
19
- hint: dimText,
20
- };
13
+ return {
14
+ label: (text, selected) => (selected ? brand(text) : text),
15
+ value: (text, _selected) => brand(text),
16
+ description: dimText,
17
+ cursor: brand("→ "),
18
+ hint: dimText,
19
+ };
21
20
  }
22
21
  /** Map Pi `accent` role to exact brand RGB (footer branch, header). */
23
22
  export function patchGlobalThemeAccent() {
24
- const instance = getPiThemeInstance();
25
- if (!instance || instance.__kubbisecMenuPatched) return;
26
- const originalFg = instance.fg.bind(instance);
27
- instance.fg = (role, text) => {
28
- if (role === "accent") return brand(text);
29
- return originalFg(role, text);
30
- };
31
- instance.__kubbisecMenuPatched = true;
23
+ const instance = getPiThemeInstance();
24
+ if (!instance || instance.__kubbisecMenuPatched)
25
+ return;
26
+ const originalFg = instance.fg.bind(instance);
27
+ instance.fg = (role, text) => {
28
+ if (role === "accent")
29
+ return brand(text);
30
+ return originalFg(role, text);
31
+ };
32
+ instance.__kubbisecMenuPatched = true;
32
33
  }
33
34
  /** Slash-command autocomplete inside the editor — selected row uses brand cyan (#28DCF9). */
34
35
  export function withKubbisecSelectListTheme(theme) {
35
- return {
36
- ...theme,
37
- selectList: {
38
- selectedPrefix: brand,
39
- selectedText: brand,
40
- description: theme.selectList.description,
41
- scrollInfo: theme.selectList.scrollInfo,
42
- noMatch: theme.selectList.noMatch,
43
- },
44
- };
36
+ return {
37
+ ...theme,
38
+ selectList: {
39
+ selectedPrefix: brand,
40
+ selectedText: brand,
41
+ description: theme.selectList.description,
42
+ scrollInfo: theme.selectList.scrollInfo,
43
+ noMatch: theme.selectList.noMatch,
44
+ },
45
+ };
45
46
  }
46
- //# sourceMappingURL=kubbisec-menu-themes.js.map
47
+ //# sourceMappingURL=kubbisec-menu-themes.js.map
@@ -1,2 +1,2 @@
1
1
  export declare const KUBBISEC_THEME_NAME = "kubbisec";
2
- //# sourceMappingURL=kubbisec-theme-name.d.ts.map
2
+ //# sourceMappingURL=kubbisec-theme-name.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export const KUBBISEC_THEME_NAME = "kubbisec";
2
- //# sourceMappingURL=kubbisec-theme-name.js.map
2
+ //# sourceMappingURL=kubbisec-theme-name.js.map
@@ -1,3 +1,3 @@
1
1
  /** Runtime patch for Pi `/settings` current-value column (deep import via require.resolve). */
2
2
  export declare function patchPiSettingsListTheme(): Promise<void>;
3
- //# sourceMappingURL=patch-pi-settings-theme.runtime.d.ts.map
3
+ //# sourceMappingURL=patch-pi-settings-theme.runtime.d.ts.map
@@ -3,15 +3,14 @@ import { pathToFileURL } from "node:url";
3
3
  import { buildKubbisecSettingsListTheme } from "./kubbisec-menu-themes.js";
4
4
  /** Runtime patch for Pi `/settings` current-value column (deep import via require.resolve). */
5
5
  export async function patchPiSettingsListTheme() {
6
- try {
7
- const require = createRequire(import.meta.url);
8
- const themePath = require.resolve(
9
- "@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js",
10
- );
11
- const themeMod = await import(pathToFileURL(themePath).href);
12
- themeMod.getSettingsListTheme = buildKubbisecSettingsListTheme;
13
- } catch {
14
- // Pi bundle layout differs — accent patch still applies to selected rows.
15
- }
6
+ try {
7
+ const require = createRequire(import.meta.url);
8
+ const themePath = require.resolve("@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js");
9
+ const themeMod = (await import(pathToFileURL(themePath).href));
10
+ themeMod.getSettingsListTheme = buildKubbisecSettingsListTheme;
11
+ }
12
+ catch {
13
+ // Pi bundle layout differs — accent patch still applies to selected rows.
14
+ }
16
15
  }
17
- //# sourceMappingURL=patch-pi-settings-theme.runtime.js.map
16
+ //# sourceMappingURL=patch-pi-settings-theme.runtime.js.map
@@ -1,6 +1,6 @@
1
1
  export type CompactHeaderTheme = {
2
- fg: (role: string, text: string) => string;
3
- bold: (text: string) => string;
2
+ fg: (role: string, text: string) => string;
3
+ bold: (text: string) => string;
4
4
  };
5
5
  /** Works from `dist/theme/` and from materialized `<cwd>/.pi/theme/`. */
6
6
  export declare function resolveTerminalAssetsDir(moduleUrl?: string): string;
@@ -16,14 +16,6 @@ export declare function renderHeaderHintsLine(theme: CompactHeaderTheme): string
16
16
  /** Single-line brand row: mark + wordmark + version + subtitle. */
17
17
  export declare function renderCompactHeaderLine(theme: CompactHeaderTheme, version: string): string;
18
18
  /** Default chat chrome: hex block, wordmark, version, spacer, subtitle, hints. */
19
- export declare function renderCompactHeaderLines(
20
- theme: CompactHeaderTheme,
21
- version: string,
22
- width?: number,
23
- ): string[];
24
- export declare function renderChatHeaderLines(
25
- theme: CompactHeaderTheme,
26
- version: string,
27
- width: number,
28
- ): string[];
29
- //# sourceMappingURL=render-compact-header.d.ts.map
19
+ export declare function renderCompactHeaderLines(theme: CompactHeaderTheme, version: string, width?: number): string[];
20
+ export declare function renderChatHeaderLines(theme: CompactHeaderTheme, version: string, width: number): string[];
21
+ //# sourceMappingURL=render-compact-header.d.ts.map