@kubbisec/ai-linux-x64 0.1.20 → 0.1.22

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 (280) hide show
  1. package/bin/kubbisec +0 -0
  2. package/bundled/components/kubbisec-model-selector.js +1 -1
  3. package/bundled/components/kubbisec-model-selector.js.map +1 -1
  4. package/bundled/config/config.d.ts.map +1 -1
  5. package/bundled/config/config.js +2 -4
  6. package/bundled/config/config.js.map +1 -1
  7. package/bundled/config/ensure-kbs-project-settings.d.ts +20 -0
  8. package/bundled/config/ensure-kbs-project-settings.d.ts.map +1 -0
  9. package/bundled/config/ensure-kbs-project-settings.js +46 -0
  10. package/bundled/config/ensure-kbs-project-settings.js.map +1 -0
  11. package/bundled/config/ensure-kubbisec-project-settings.d.ts +2 -0
  12. package/bundled/config/ensure-kubbisec-project-settings.d.ts.map +1 -1
  13. package/bundled/config/ensure-kubbisec-project-settings.js +25 -1
  14. package/bundled/config/ensure-kubbisec-project-settings.js.map +1 -1
  15. package/bundled/config/kubbisec-extension-manifest.d.ts +1 -1
  16. package/bundled/config/kubbisec-extension-manifest.d.ts.map +1 -1
  17. package/bundled/config/kubbisec-extension-manifest.js +0 -1
  18. package/bundled/config/kubbisec-extension-manifest.js.map +1 -1
  19. package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +1 -1
  20. package/bundled/config/materialize-kubbisec-pi-resources.js +0 -1
  21. package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -1
  22. package/bundled/copy/cli-reference-index.d.ts +1 -5
  23. package/bundled/copy/cli-reference-index.d.ts.map +1 -1
  24. package/bundled/copy/cli-reference-index.js +1 -61
  25. package/bundled/copy/cli-reference-index.js.map +1 -1
  26. package/bundled/extensions/cli-local-shared.d.ts +10 -0
  27. package/bundled/extensions/cli-local-shared.d.ts.map +1 -1
  28. package/bundled/extensions/cli-local-shared.js +11 -0
  29. package/bundled/extensions/cli-local-shared.js.map +1 -1
  30. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +1 -1
  31. package/bundled/extensions/kubbisec-aspm-local.extension.js +14 -25
  32. package/bundled/extensions/kubbisec-aspm-local.extension.js.map +1 -1
  33. package/bundled/extensions/kubbisec-clarify.extension.d.ts +1 -1
  34. package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +1 -1
  35. package/bundled/extensions/kubbisec-clarify.extension.js.map +1 -1
  36. package/bundled/extensions/kubbisec-footer.extension.d.ts.map +1 -1
  37. package/bundled/extensions/kubbisec-footer.extension.js.map +1 -1
  38. package/bundled/extensions/kubbisec-github-local.extension.d.ts +0 -3
  39. package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +1 -1
  40. package/bundled/extensions/kubbisec-github-local.extension.js +403 -68
  41. package/bundled/extensions/kubbisec-github-local.extension.js.map +1 -1
  42. package/bundled/extensions/kubbisec-memory.extension.d.ts +1 -1
  43. package/bundled/extensions/kubbisec-memory.extension.d.ts.map +1 -1
  44. package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +1 -1
  45. package/bundled/extensions/kubbisec-naus-local.extension.js +15 -26
  46. package/bundled/extensions/kubbisec-naus-local.extension.js.map +1 -1
  47. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts.map +1 -1
  48. package/bundled/extensions/kubbisec-platform-tools.extension.js.map +1 -1
  49. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts +1 -1
  50. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +1 -1
  51. package/bundled/extensions/kubbisec-skill-mentions.extension.js +2 -1
  52. package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +1 -1
  53. package/bundled/extensions/kubbisec-ui.extension.d.ts.map +1 -1
  54. package/bundled/extensions/kubbisec-ui.extension.js +30 -19
  55. package/bundled/extensions/kubbisec-ui.extension.js.map +1 -1
  56. package/bundled/extensions/kubbisec-workflow.extension.d.ts +1 -1
  57. package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +1 -1
  58. package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts +1 -0
  59. package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts.map +1 -1
  60. package/bundled/node_modules/@aspm/shared/dist/ai/index.js +1 -0
  61. package/bundled/node_modules/@aspm/shared/dist/ai/index.js.map +1 -1
  62. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts +7 -0
  63. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts.map +1 -0
  64. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js +30 -0
  65. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js.map +1 -0
  66. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts +7 -0
  67. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts.map +1 -0
  68. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.js +14 -0
  69. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.js.map +1 -0
  70. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.d.ts +6 -0
  71. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.d.ts.map +1 -0
  72. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.js +65 -0
  73. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.js.map +1 -0
  74. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts +8 -0
  75. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts.map +1 -0
  76. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.js +29 -0
  77. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.js.map +1 -0
  78. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.d.ts +7 -0
  79. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.d.ts.map +1 -0
  80. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.js +16 -0
  81. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.js.map +1 -0
  82. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.d.ts +2 -0
  83. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.d.ts.map +1 -0
  84. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.js +36 -0
  85. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.js.map +1 -0
  86. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.d.ts +6 -0
  87. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.d.ts.map +1 -0
  88. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.js +32 -0
  89. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.js.map +1 -0
  90. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.d.ts +12 -0
  91. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.d.ts.map +1 -0
  92. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.js +93 -0
  93. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.js.map +1 -0
  94. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.d.ts +13 -0
  95. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.d.ts.map +1 -0
  96. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.js +79 -0
  97. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.js.map +1 -0
  98. package/bundled/node_modules/@aspm/shared/dist/api-key/index.d.ts +4 -0
  99. package/bundled/node_modules/@aspm/shared/dist/api-key/index.d.ts.map +1 -0
  100. package/bundled/node_modules/@aspm/shared/dist/api-key/index.js +20 -0
  101. package/bundled/node_modules/@aspm/shared/dist/api-key/index.js.map +1 -0
  102. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.d.ts +20 -0
  103. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.d.ts.map +1 -0
  104. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.js +78 -0
  105. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.js.map +1 -0
  106. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.d.ts +19 -0
  107. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.d.ts.map +1 -0
  108. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.js +126 -0
  109. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.js.map +1 -0
  110. package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts +1 -0
  111. package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts.map +1 -1
  112. package/bundled/node_modules/@aspm/shared/dist/assistant/index.js +1 -0
  113. package/bundled/node_modules/@aspm/shared/dist/assistant/index.js.map +1 -1
  114. package/bundled/node_modules/@aspm/shared/dist/billing/index.d.ts +2 -0
  115. package/bundled/node_modules/@aspm/shared/dist/billing/index.d.ts.map +1 -0
  116. package/bundled/node_modules/@aspm/shared/dist/billing/index.js +18 -0
  117. package/bundled/node_modules/@aspm/shared/dist/billing/index.js.map +1 -0
  118. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.d.ts +17 -0
  119. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.d.ts.map +1 -0
  120. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.js +30 -0
  121. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.js.map +1 -0
  122. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.d.ts +42 -0
  123. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.d.ts.map +1 -0
  124. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.js +147 -0
  125. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.js.map +1 -0
  126. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.d.ts +12 -0
  127. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.d.ts.map +1 -0
  128. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.js +70 -0
  129. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.js.map +1 -0
  130. package/bundled/node_modules/@aspm/shared/dist/ci/index.d.ts +4 -0
  131. package/bundled/node_modules/@aspm/shared/dist/ci/index.d.ts.map +1 -0
  132. package/bundled/node_modules/@aspm/shared/dist/ci/index.js +20 -0
  133. package/bundled/node_modules/@aspm/shared/dist/ci/index.js.map +1 -0
  134. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.d.ts +16 -0
  135. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.d.ts.map +1 -0
  136. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.js +45 -0
  137. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.js.map +1 -0
  138. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts +1 -0
  139. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts.map +1 -1
  140. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js +6 -0
  141. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js.map +1 -1
  142. package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts +5 -3
  143. package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts.map +1 -1
  144. package/bundled/node_modules/@aspm/shared/dist/dto/index.js +5 -3
  145. package/bundled/node_modules/@aspm/shared/dist/dto/index.js.map +1 -1
  146. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.d.ts +9 -0
  147. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.d.ts.map +1 -0
  148. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.js +52 -0
  149. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.js.map +1 -0
  150. package/bundled/node_modules/@aspm/shared/dist/enums.d.ts +3 -1
  151. package/bundled/node_modules/@aspm/shared/dist/enums.d.ts.map +1 -1
  152. package/bundled/node_modules/@aspm/shared/dist/enums.js +4 -0
  153. package/bundled/node_modules/@aspm/shared/dist/enums.js.map +1 -1
  154. package/bundled/node_modules/@aspm/shared/dist/index.d.ts +8 -2
  155. package/bundled/node_modules/@aspm/shared/dist/index.d.ts.map +1 -1
  156. package/bundled/node_modules/@aspm/shared/dist/index.js +8 -2
  157. package/bundled/node_modules/@aspm/shared/dist/index.js.map +1 -1
  158. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.d.ts +22 -0
  159. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.d.ts.map +1 -0
  160. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.js +52 -0
  161. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.js.map +1 -0
  162. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.d.ts +37 -0
  163. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.d.ts.map +1 -0
  164. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.js +54 -0
  165. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.js.map +1 -0
  166. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.d.ts +7 -4
  167. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.d.ts.map +1 -1
  168. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.js +15 -7
  169. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.js.map +1 -1
  170. package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts +1 -0
  171. package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts.map +1 -1
  172. package/bundled/node_modules/@aspm/shared/dist/rbac/index.js +1 -0
  173. package/bundled/node_modules/@aspm/shared/dist/rbac/index.js.map +1 -1
  174. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.d.ts.map +1 -1
  175. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js +2 -0
  176. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js.map +1 -1
  177. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts +1 -1
  178. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts.map +1 -1
  179. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js +2 -0
  180. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js.map +1 -1
  181. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.d.ts +8 -0
  182. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.d.ts.map +1 -0
  183. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.js +19 -0
  184. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.js.map +1 -0
  185. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.d.ts.map +1 -1
  186. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js +4 -0
  187. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js.map +1 -1
  188. package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts +1 -0
  189. package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts.map +1 -1
  190. package/bundled/node_modules/@aspm/shared/dist/redaction.js +1 -0
  191. package/bundled/node_modules/@aspm/shared/dist/redaction.js.map +1 -1
  192. package/bundled/node_modules/@aspm/shared/dist/redaction.test.d.ts +2 -0
  193. package/bundled/node_modules/@aspm/shared/dist/redaction.test.d.ts.map +1 -0
  194. package/bundled/node_modules/@aspm/shared/dist/redaction.test.js +626 -0
  195. package/bundled/node_modules/@aspm/shared/dist/redaction.test.js.map +1 -0
  196. package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.d.ts.map +1 -1
  197. package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.js.map +1 -1
  198. package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.d.ts.map +1 -1
  199. package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.js.map +1 -1
  200. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.d.ts.map +1 -1
  201. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js +2 -2
  202. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js.map +1 -1
  203. package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts +2 -2
  204. package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts.map +1 -1
  205. package/bundled/node_modules/@aspm/shared/dist/security/index.js +2 -2
  206. package/bundled/node_modules/@aspm/shared/dist/security/index.js.map +1 -1
  207. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts +4 -0
  208. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts.map +1 -0
  209. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js +10 -0
  210. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js.map +1 -0
  211. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts +4 -0
  212. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts.map +1 -0
  213. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js +20 -0
  214. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js.map +1 -0
  215. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts +2 -0
  216. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts.map +1 -0
  217. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js +9 -0
  218. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js.map +1 -0
  219. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts +3 -0
  220. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts.map +1 -0
  221. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js +18 -0
  222. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js.map +1 -0
  223. package/bundled/node_modules/@aspm/shared/package.json +27 -5
  224. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js +2 -2
  225. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js.map +1 -1
  226. package/bundled/node_modules/@kubbisec/chat-memory/package.json +4 -4
  227. package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts.map +1 -1
  228. package/bundled/node_modules/@kubbisec/home/dist/migrate.js +1 -1
  229. package/bundled/node_modules/@kubbisec/home/dist/migrate.js.map +1 -1
  230. package/bundled/node_modules/@kubbisec/home/package.json +3 -3
  231. package/bundled/resolve-bundled-dist-root.js +0 -1
  232. package/bundled/resolve-bundled-dist-root.js.map +1 -1
  233. package/bundled/skills/aspm-platform/SKILL.md +3 -1
  234. package/bundled/skills/github-local/SKILL.md +5 -5
  235. package/bundled/skills/kubbisec-resource-router/SKILL.md +3 -0
  236. package/bundled/skills/naus-pipelines/SKILL.md +11 -10
  237. package/bundled/skills/remediation/SKILL.md +1 -1
  238. package/bundled/theme/render-compact-header.js +1 -1
  239. package/bundled/theme/render-compact-header.js.map +1 -1
  240. package/package.json +1 -1
  241. package/bundled/clarify/clarify-gate-state.d.ts +0 -3
  242. package/bundled/clarify/clarify-gate-state.d.ts.map +0 -1
  243. package/bundled/clarify/clarify-gate-state.js +0 -9
  244. package/bundled/clarify/clarify-gate-state.js.map +0 -1
  245. package/bundled/clarify/clarify-gate.d.ts +0 -28
  246. package/bundled/clarify/clarify-gate.d.ts.map +0 -1
  247. package/bundled/clarify/clarify-gate.js +0 -152
  248. package/bundled/clarify/clarify-gate.js.map +0 -1
  249. package/bundled/clarify/clarify-select-panel.d.ts +0 -14
  250. package/bundled/clarify/clarify-select-panel.d.ts.map +0 -1
  251. package/bundled/clarify/clarify-select-panel.js +0 -82
  252. package/bundled/clarify/clarify-select-panel.js.map +0 -1
  253. package/bundled/clarify/clarify-ui-state.d.ts +0 -21
  254. package/bundled/clarify/clarify-ui-state.d.ts.map +0 -1
  255. package/bundled/clarify/clarify-ui-state.js +0 -48
  256. package/bundled/clarify/clarify-ui-state.js.map +0 -1
  257. package/bundled/clarify/parse-clarify-answer.d.ts +0 -21
  258. package/bundled/clarify/parse-clarify-answer.d.ts.map +0 -1
  259. package/bundled/clarify/parse-clarify-answer.js +0 -57
  260. package/bundled/clarify/parse-clarify-answer.js.map +0 -1
  261. package/bundled/clarify/question-format.d.ts +0 -39
  262. package/bundled/clarify/question-format.d.ts.map +0 -1
  263. package/bundled/clarify/question-format.js +0 -144
  264. package/bundled/clarify/question-format.js.map +0 -1
  265. package/bundled/clarify/questionnaire-tool.d.ts +0 -25
  266. package/bundled/clarify/questionnaire-tool.d.ts.map +0 -1
  267. package/bundled/clarify/questionnaire-tool.js +0 -161
  268. package/bundled/clarify/questionnaire-tool.js.map +0 -1
  269. package/bundled/clarify/scope-discovery.d.ts +0 -9
  270. package/bundled/clarify/scope-discovery.d.ts.map +0 -1
  271. package/bundled/clarify/scope-discovery.js +0 -130
  272. package/bundled/clarify/scope-discovery.js.map +0 -1
  273. package/bundled/clarify/session-questionnaire.d.ts +0 -26
  274. package/bundled/clarify/session-questionnaire.d.ts.map +0 -1
  275. package/bundled/clarify/session-questionnaire.js +0 -372
  276. package/bundled/clarify/session-questionnaire.js.map +0 -1
  277. package/bundled/clarify/session-questionnaire.types.d.ts +0 -47
  278. package/bundled/clarify/session-questionnaire.types.d.ts.map +0 -1
  279. package/bundled/clarify/session-questionnaire.types.js +0 -13
  280. package/bundled/clarify/session-questionnaire.types.js.map +0 -1
@@ -1,144 +0,0 @@
1
- const OPTION_IDS = ["A", "B", "C"];
2
- const OTHER_OPTION_ID = "D";
3
- const MULTI_SELECT_FIELDS = new Set(["severityMin", "scanners", "findingTypes"]);
4
- /** Build a compact structured question (max 3 choices + Outro). */
5
- export function formatClarifyQuestionMarkdown(input) {
6
- const lines = [input.question.trim(), ""];
7
- for (const opt of input.options.slice(0, 3)) {
8
- lines.push(`${opt.id}) ${opt.label}`);
9
- }
10
- const otherLabel = input.language === "en" ? "Other — type below" : "Outro — escreva abaixo";
11
- lines.push(`${OTHER_OPTION_ID}) ${otherLabel}`);
12
- return lines.join("\n");
13
- }
14
- export function buildOptionsFromLabels(labels) {
15
- return labels.slice(0, 3).map((label, index) => ({
16
- id: OPTION_IDS[index] ?? "C",
17
- label: label.trim(),
18
- }));
19
- }
20
- export function selectionModeForField(field) {
21
- return MULTI_SELECT_FIELDS.has(field) ? "multi" : "single";
22
- }
23
- export function resolveOptionLabel(optionId, optionLabels) {
24
- if (optionId === "D" || optionId === "E")
25
- return null;
26
- const index = OPTION_IDS.indexOf(optionId);
27
- if (index < 0 || index >= optionLabels.length)
28
- return null;
29
- return optionLabels[index] ?? null;
30
- }
31
- export function severityFromOptionLabel(label) {
32
- const upper = label.trim().toUpperCase();
33
- if (upper.includes("CRITICAL") || upper.includes("CRÍTICO") || upper.includes("CRITICO")) {
34
- return "CRITICAL";
35
- }
36
- if (upper.includes("HIGH") || upper.includes("ALTO"))
37
- return "HIGH";
38
- if (upper.includes("MEDIUM") || upper.includes("MÉDIO") || upper.includes("MEDIO")) {
39
- return "MEDIUM";
40
- }
41
- if (upper.includes("TODAS") || upper.includes("ALL"))
42
- return "ALL";
43
- return upper;
44
- }
45
- const SCENARIO_HINTS = {
46
- remediation: [
47
- {
48
- field: "projectIds",
49
- purpose: "Projeto/asset alvo",
50
- exampleQuestion: "Qual projeto KubbiSec devemos remediar?",
51
- exampleOptions: ["Projeto padrão da sessão", "Outro projeto", "Listar opções"],
52
- },
53
- {
54
- field: "severityMin",
55
- purpose: "Severidade mínima no escopo",
56
- exampleQuestion: "Qual severidade mínima entra no escopo?",
57
- exampleOptions: ["CRITICAL", "HIGH", "MEDIUM"],
58
- },
59
- {
60
- field: "remediationMode",
61
- purpose: "Modo de remediação",
62
- exampleQuestion: "Como devemos remediar?",
63
- exampleOptions: ["Automático (PR/patch)", "Só sugestões", "Híbrido"],
64
- },
65
- ],
66
- plan: [
67
- {
68
- field: "projectIds",
69
- purpose: "Projeto/asset",
70
- exampleQuestion: "Para qual projeto é este plano?",
71
- exampleOptions: ["Sessão atual", "Outro projeto", "Monorepo"],
72
- },
73
- {
74
- field: "customNotes",
75
- purpose: "Objetivo do plano",
76
- exampleQuestion: "Qual é o objetivo principal deste plano?",
77
- exampleOptions: ["Correção CVE", "Pipeline NAUS", "Hardening"],
78
- },
79
- ],
80
- explore: [
81
- {
82
- field: "projectIds",
83
- purpose: "Contexto do projeto",
84
- exampleQuestion: "Sobre qual projeto quer explorar findings?",
85
- exampleOptions: ["Padrão", "Outro", "Organização inteira"],
86
- },
87
- ],
88
- review: [
89
- {
90
- field: "projectIds",
91
- purpose: "Projeto em revisão",
92
- exampleQuestion: "Qual projeto estamos a rever?",
93
- exampleOptions: ["Atual", "Outro", "PR específico"],
94
- },
95
- ],
96
- };
97
- function isFieldFilled(fields, field) {
98
- switch (field) {
99
- case "projectIds":
100
- return fields.projectIds.length > 0;
101
- case "severityMin":
102
- return Boolean(fields.severityMin);
103
- case "remediationMode":
104
- return Boolean(fields.remediationMode);
105
- case "nausConstraints":
106
- return fields.nausConstraints != null;
107
- case "extendedContext":
108
- return fields.extendedContext != null;
109
- case "customNotes":
110
- return Boolean(fields.customNotes?.trim());
111
- default:
112
- return Boolean(fields.extras[field]?.trim());
113
- }
114
- }
115
- /** Scenario-aware hints — suggestions only; agent or auto-ask uses these. */
116
- export function suggestScenarioFields(scenario, fields) {
117
- const hints = SCENARIO_HINTS[scenario] ?? SCENARIO_HINTS.remediation;
118
- const missingFields = hints.map((h) => h.field).filter((field) => !isFieldFilled(fields, field));
119
- const nextHint = hints.find((h) => !isFieldFilled(fields, h.field)) ?? null;
120
- return { scenario, missingFields, nextHint };
121
- }
122
- export function inferScenarioFromMessage(message) {
123
- if (/@plan\b|\/mode:plan\b|brainstorm|spec\b/i.test(message))
124
- return "plan";
125
- if (/\b(review|revisão|revisao|code review)\b/i.test(message))
126
- return "review";
127
- if (/\b(o que|explain|explor|listar|mostrar)\b/i.test(message))
128
- return "explore";
129
- return "remediation";
130
- }
131
- export function formatQuestionFromInput(input) {
132
- const optionLabels = input.options
133
- .map((o) => o.trim())
134
- .filter(Boolean)
135
- .slice(0, 3);
136
- const markdown = formatClarifyQuestionMarkdown({
137
- question: input.question,
138
- options: buildOptionsFromLabels(optionLabels),
139
- language: input.language,
140
- });
141
- const selectionMode = input.field ? selectionModeForField(input.field) : "single";
142
- return { markdown, optionLabels, selectionMode };
143
- }
144
- //# sourceMappingURL=question-format.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"question-format.js","sourceRoot":"","sources":["../../src/clarify/question-format.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,GAAkC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAElE,MAAM,eAAe,GAAG,GAAY,CAAC;AAErC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;AAEjF,mEAAmE;AACnE,MAAM,UAAU,6BAA6B,CAAC,KAI7C;IACC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAC7F,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,KAAK,UAAU,EAAE,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAgB;IACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/C,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG;QAC5B,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;KACpB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAyB,EACzB,YAAsB;IAEtB,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAuC,CAAC,CAAC;IAC1E,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,YAAY,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,cAAc,GAAuD;IACzE,WAAW,EAAE;QACX;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,oBAAoB;YAC7B,eAAe,EAAE,yCAAyC;YAC1D,cAAc,EAAE,CAAC,0BAA0B,EAAE,eAAe,EAAE,eAAe,CAAC;SAC/E;QACD;YACE,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,6BAA6B;YACtC,eAAe,EAAE,yCAAyC;YAC1D,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;SAC/C;QACD;YACE,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,oBAAoB;YAC7B,eAAe,EAAE,wBAAwB;YACzC,cAAc,EAAE,CAAC,uBAAuB,EAAE,cAAc,EAAE,SAAS,CAAC;SACrE;KACF;IACD,IAAI,EAAE;QACJ;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,eAAe;YACxB,eAAe,EAAE,iCAAiC;YAClD,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,CAAC;SAC9D;QACD;YACE,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,mBAAmB;YAC5B,eAAe,EAAE,0CAA0C;YAC3D,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,CAAC;SAC/D;KACF;IACD,OAAO,EAAE;QACP;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,qBAAqB;YAC9B,eAAe,EAAE,4CAA4C;YAC7D,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,qBAAqB,CAAC;SAC3D;KACF;IACD,MAAM,EAAE;QACN;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,oBAAoB;YAC7B,eAAe,EAAE,+BAA+B;YAChD,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC;SACpD;KACF;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,MAAkC,EAAE,KAAa;IACtE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,KAAK,aAAa;YAChB,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,KAAK,iBAAiB;YACpB,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzC,KAAK,iBAAiB;YACpB,OAAO,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QACxC,KAAK,iBAAiB;YACpB,OAAO,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QACxC,KAAK,aAAa;YAChB,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C;YACE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,qBAAqB,CACnC,QAA+B,EAC/B,MAAkC;IAMlC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC;IACrE,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,IAAI,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5E,IAAI,2CAA2C,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/E,IAAI,4CAA4C,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACjF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAKvC;IAKC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,6BAA6B,CAAC;QAC7C,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC;QAC7C,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACnD,CAAC"}
@@ -1,25 +0,0 @@
1
- import { Type } from "@earendil-works/pi-ai";
2
- import type { ClarifyAnswer } from "./parse-clarify-answer.js";
3
- import type { QuestionnaireScenario, SessionQuestionnaire, SessionQuestionnaireFields } from "./session-questionnaire.types.js";
4
- export type QuestionnaireToolAction = "ask" | "record" | "complete" | "status";
5
- export type QuestionnaireToolInput = {
6
- action: QuestionnaireToolAction;
7
- field?: string;
8
- question?: string;
9
- options?: string[];
10
- scenario?: QuestionnaireScenario;
11
- fields?: Partial<SessionQuestionnaireFields> & Record<string, unknown>;
12
- language?: "pt" | "en";
13
- };
14
- export type QuestionnaireToolResult = {
15
- ok: boolean;
16
- action: QuestionnaireToolAction;
17
- status: SessionQuestionnaire["status"];
18
- message: string;
19
- formattedQuestion?: string;
20
- questionnaire: SessionQuestionnaire;
21
- };
22
- export declare function executeQuestionnaireTool(questionnaire: SessionQuestionnaire, input: QuestionnaireToolInput, userMessage?: string): QuestionnaireToolResult;
23
- export declare function questionnaireToolParametersSchema(): ReturnType<typeof Type.Object>;
24
- export declare function applyParsedUserAnswerIfPending(questionnaire: SessionQuestionnaire, parsed: ClarifyAnswer): SessionQuestionnaire;
25
- //# sourceMappingURL=questionnaire-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"questionnaire-tool.d.ts","sourceRoot":"","sources":["../../src/clarify/questionnaire-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAa/D,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,oBAAoB,EACnC,KAAK,EAAE,sBAAsB,EAC7B,WAAW,CAAC,EAAE,MAAM,GACnB,uBAAuB,CAmJzB;AAED,wBAAgB,iCAAiC,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAsClF;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,oBAAoB,EACnC,MAAM,EAAE,aAAa,GACpB,oBAAoB,CAGtB"}
@@ -1,161 +0,0 @@
1
- import { Type } from "@earendil-works/pi-ai";
2
- import { syncExtendedContextFromFields } from "../config/extended-context.js";
3
- import { formatQuestionFromInput, inferScenarioFromMessage, suggestScenarioFields, } from "./question-format.js";
4
- import { applyPendingAnswer, askQuestion, completeQuestionnaire, hasMinimumRemediationScope, mergeRecordedFields, } from "./session-questionnaire.js";
5
- export function executeQuestionnaireTool(questionnaire, input, userMessage) {
6
- const action = input.action;
7
- if (action === "status") {
8
- const scenario = input.scenario ?? questionnaire.scenario ?? inferScenarioFromMessage(userMessage ?? "");
9
- const suggestion = suggestScenarioFields(scenario, questionnaire.fields);
10
- const lines = [
11
- `Status: ${questionnaire.status}`,
12
- `Scenario: ${scenario}`,
13
- `Awaiting answer: ${questionnaire.awaitingUserAnswer ? "yes" : "no"}`,
14
- `History: ${questionnaire.history.length} answer(s)`,
15
- suggestion.missingFields.length
16
- ? `Missing hints: ${suggestion.missingFields.join(", ")}`
17
- : "No missing hinted fields for this scenario.",
18
- ];
19
- if (suggestion.nextHint) {
20
- lines.push("", `Suggested next field: ${suggestion.nextHint.field} (${suggestion.nextHint.purpose})`, `Example question: ${suggestion.nextHint.exampleQuestion}`, `Example options: ${suggestion.nextHint.exampleOptions.join(" | ")}`);
21
- }
22
- return {
23
- ok: true,
24
- action,
25
- status: questionnaire.status,
26
- message: lines.join("\n"),
27
- questionnaire,
28
- };
29
- }
30
- if (action === "complete") {
31
- const mergedFields = input.fields
32
- ? mergeRecordedFields(questionnaire.fields, input.fields)
33
- : questionnaire.fields;
34
- syncExtendedContextFromFields(mergedFields);
35
- const next = completeQuestionnaire(input.fields ? { ...questionnaire, fields: mergedFields } : questionnaire);
36
- return {
37
- ok: true,
38
- action,
39
- status: next.status,
40
- message: "Scope questionnaire marked ready. Mutation tools may proceed when policy allows.",
41
- questionnaire: next,
42
- };
43
- }
44
- if (action === "record") {
45
- if (!input.fields || Object.keys(input.fields).length === 0) {
46
- return {
47
- ok: false,
48
- action,
49
- status: questionnaire.status,
50
- message: "record requires at least one field in `fields`.",
51
- questionnaire,
52
- };
53
- }
54
- const merged = mergeRecordedFields(questionnaire.fields, input.fields);
55
- syncExtendedContextFromFields(merged);
56
- let next = {
57
- ...questionnaire,
58
- fields: merged,
59
- scenario: input.scenario ?? questionnaire.scenario,
60
- updatedAt: new Date().toISOString(),
61
- };
62
- if (hasMinimumRemediationScope(merged) ||
63
- input.scenario === "explore" ||
64
- input.scenario === "review") {
65
- next = completeQuestionnaire(next);
66
- }
67
- return {
68
- ok: true,
69
- action,
70
- status: next.status,
71
- message: next.status === "ready"
72
- ? "Recorded scope fields and marked questionnaire ready."
73
- : "Recorded scope fields. Use ask for any remaining gaps.",
74
- questionnaire: next,
75
- };
76
- }
77
- if (action === "ask") {
78
- const scenario = input.scenario ?? questionnaire.scenario ?? inferScenarioFromMessage(userMessage ?? "");
79
- const field = input.field?.trim() || suggestScenarioFields(scenario, questionnaire.fields).nextHint?.field;
80
- const question = input.question?.trim() ||
81
- suggestScenarioFields(scenario, questionnaire.fields).nextHint?.exampleQuestion;
82
- const options = input.options?.filter(Boolean) ||
83
- suggestScenarioFields(scenario, questionnaire.fields).nextHint?.exampleOptions;
84
- if (!field || !question || !options?.length) {
85
- return {
86
- ok: false,
87
- action,
88
- status: questionnaire.status,
89
- message: "ask requires field + question + options (2–4), or a scenario with remaining hinted fields.",
90
- questionnaire,
91
- };
92
- }
93
- const { markdown, optionLabels, selectionMode } = formatQuestionFromInput({
94
- question,
95
- options,
96
- language: input.language,
97
- field,
98
- });
99
- const next = askQuestion(questionnaire, {
100
- field,
101
- questionMarkdown: markdown,
102
- optionLabels,
103
- scenario,
104
- selectionMode,
105
- });
106
- return {
107
- ok: true,
108
- action,
109
- status: next.status,
110
- formattedQuestion: markdown,
111
- message: [
112
- `Question queued for field "${field}".`,
113
- "Options are shown in the KubbiSec panel only.",
114
- "Reply to the user with one short line (e.g. ask them to pick A–E in the panel).",
115
- "Do not list options or repeat the question body in chat.",
116
- ].join(" "),
117
- questionnaire: next,
118
- };
119
- }
120
- return {
121
- ok: false,
122
- action,
123
- status: questionnaire.status,
124
- message: `Unknown action: ${String(action)}`,
125
- questionnaire,
126
- };
127
- }
128
- export function questionnaireToolParametersSchema() {
129
- return Type.Object({
130
- action: Type.Union([
131
- Type.Literal("ask"),
132
- Type.Literal("record"),
133
- Type.Literal("complete"),
134
- Type.Literal("status"),
135
- ]),
136
- field: Type.Optional(Type.String({ description: "Scope field key, e.g. projectIds, severityMin" })),
137
- question: Type.Optional(Type.String({ description: "Question text tailored to the scenario" })),
138
- options: Type.Optional(Type.Array(Type.String(), {
139
- description: "2–3 short option labels (tool assigns A–C; D is always Other)",
140
- minItems: 2,
141
- maxItems: 3,
142
- })),
143
- scenario: Type.Optional(Type.Union([
144
- Type.Literal("remediation"),
145
- Type.Literal("plan"),
146
- Type.Literal("explore"),
147
- Type.Literal("review"),
148
- ])),
149
- fields: Type.Optional(Type.Object({}, {
150
- description: "Partial scope fields for record/complete",
151
- additionalProperties: true,
152
- })),
153
- language: Type.Optional(Type.Union([Type.Literal("pt"), Type.Literal("en")])),
154
- });
155
- }
156
- export function applyParsedUserAnswerIfPending(questionnaire, parsed) {
157
- if (!questionnaire.awaitingUserAnswer || !questionnaire.pending)
158
- return questionnaire;
159
- return applyPendingAnswer(questionnaire, parsed);
160
- }
161
- //# sourceMappingURL=questionnaire-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"questionnaire-tool.js","sourceRoot":"","sources":["../../src/clarify/questionnaire-tool.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { QuestionnaireScenario, SessionQuestionnaireFields } from "./session-questionnaire.types.js";
2
- export type ScopeDiscoveryResult = {
3
- scenario: QuestionnaireScenario;
4
- fields: Partial<SessionQuestionnaireFields> & Record<string, unknown>;
5
- notes: string[];
6
- };
7
- /** Discover scope from env, workspace, and user message before asking questions. */
8
- export declare function discoverScopeHints(cwd: string, userMessage: string): ScopeDiscoveryResult;
9
- //# sourceMappingURL=scope-discovery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scope-discovery.d.ts","sourceRoot":"","sources":["../../src/clarify/scope-discovery.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAgEF,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAkEzF"}
@@ -1,130 +0,0 @@
1
- import * as fs from "node:fs";
2
- import * as path from "node:path";
3
- import { KUBBISEC_CONTEXT_DIR, KUBBISEC_PROJECT_CONFIG_DIR, } from "../config/ensure-kubbisec-project-settings.js";
4
- import { inferScenarioFromMessage } from "./question-format.js";
5
- import { readDefaultProjectId } from "./session-questionnaire.js";
6
- const PROJECT_IN_MESSAGE = /\b(project[:\s]+([\w-]+)|projeto[:\s]+([\w-]+))\b/i;
7
- const SEVERITY_IN_MESSAGE = /\b(severity|severidade|critical|critico|crítico|high|alto|medium|medio|médio)\b/i;
8
- const REMEDIATION_MODE_IN_MESSAGE = /\b(auto|automático|automatico|suggestion|sugestão|sugestao|manual|híbrido|hibrido)\b/i;
9
- function readLocalSettings(cwd) {
10
- const settingsPath = path.join(cwd, KUBBISEC_PROJECT_CONFIG_DIR, "settings.json");
11
- try {
12
- return JSON.parse(fs.readFileSync(settingsPath, "utf8"));
13
- }
14
- catch {
15
- return null;
16
- }
17
- }
18
- function readPackageName(cwd) {
19
- try {
20
- const raw = fs.readFileSync(path.join(cwd, "package.json"), "utf8");
21
- const parsed = JSON.parse(raw);
22
- return typeof parsed.name === "string" ? parsed.name.trim() : undefined;
23
- }
24
- catch {
25
- return undefined;
26
- }
27
- }
28
- function readGitRemote(cwd) {
29
- try {
30
- const raw = fs.readFileSync(path.join(cwd, ".git", "config"), "utf8");
31
- const match = raw.match(/url\s*=\s*(.+)/);
32
- return match?.[1]?.trim();
33
- }
34
- catch {
35
- return undefined;
36
- }
37
- }
38
- function severityFromMessage(message) {
39
- const upper = message.toUpperCase();
40
- if (/\bCRITICAL|CRÍTICO|CRITICO\b/.test(upper))
41
- return "CRITICAL";
42
- if (/\bHIGH|ALTO\b/.test(upper))
43
- return "HIGH";
44
- if (/\bMEDIUM|MÉDIO|MEDIO\b/.test(upper))
45
- return "MEDIUM";
46
- if (/\bALL|TODAS\b/.test(upper))
47
- return "ALL";
48
- return undefined;
49
- }
50
- function remediationModeFromMessage(message) {
51
- if (/\b(sugest|suggest|manual|híbrido|hibrido|plano)\b/i.test(message))
52
- return "suggestion";
53
- if (/\b(auto|automático|automatico|pr|patch)\b/i.test(message))
54
- return "auto";
55
- return undefined;
56
- }
57
- function objectiveFromMessage(message) {
58
- const trimmed = message.trim();
59
- if (trimmed.length < 12)
60
- return undefined;
61
- if (/^@plan\b/i.test(trimmed)) {
62
- return trimmed.replace(/^@plan\b\s*/i, "").trim() || undefined;
63
- }
64
- if (/^@planejar\b/i.test(trimmed)) {
65
- return trimmed.replace(/^@planejar\b\s*/i, "").trim() || undefined;
66
- }
67
- return trimmed;
68
- }
69
- /** Discover scope from env, workspace, and user message before asking questions. */
70
- export function discoverScopeHints(cwd, userMessage) {
71
- const scenario = inferScenarioFromMessage(userMessage);
72
- const fields = {};
73
- const extras = {};
74
- const notes = [];
75
- const defaultProject = readDefaultProjectId();
76
- if (defaultProject) {
77
- fields.projectIds = [defaultProject];
78
- notes.push("default project from config");
79
- }
80
- const projectMatch = PROJECT_IN_MESSAGE.exec(userMessage);
81
- const projectFromMsg = projectMatch?.[2] ?? projectMatch?.[3];
82
- if (projectFromMsg) {
83
- fields.projectIds = [projectFromMsg];
84
- notes.push("project from message");
85
- }
86
- const severity = severityFromMessage(userMessage);
87
- if (severity) {
88
- fields.severityMin = severity;
89
- notes.push("severity from message");
90
- }
91
- else if (SEVERITY_IN_MESSAGE.test(userMessage)) {
92
- notes.push("severity cue in message");
93
- }
94
- const remediationMode = remediationModeFromMessage(userMessage);
95
- if (remediationMode) {
96
- fields.remediationMode = remediationMode;
97
- notes.push("remediation mode from message");
98
- }
99
- else if (REMEDIATION_MODE_IN_MESSAGE.test(userMessage)) {
100
- notes.push("remediation mode cue in message");
101
- }
102
- const objective = objectiveFromMessage(userMessage);
103
- if (objective && scenario === "plan") {
104
- fields.customNotes = objective;
105
- notes.push("plan objective from message");
106
- }
107
- const pkg = readPackageName(cwd);
108
- if (pkg)
109
- extras.stack = pkg;
110
- const remote = readGitRemote(cwd);
111
- if (remote)
112
- extras.gitRemote = remote;
113
- const settings = readLocalSettings(cwd);
114
- if (settings && typeof settings.defaultProject === "string" && settings.defaultProject.trim()) {
115
- if (!fields.projectIds?.length) {
116
- fields.projectIds = [settings.defaultProject.trim()];
117
- notes.push("project from .kubbisec/settings.json");
118
- }
119
- }
120
- const contextDir = path.join(cwd, KUBBISEC_PROJECT_CONFIG_DIR, KUBBISEC_CONTEXT_DIR);
121
- if (fs.existsSync(contextDir)) {
122
- extras.workspaceContext = "present";
123
- notes.push("local .kubbisec/context");
124
- }
125
- if (Object.keys(extras).length > 0) {
126
- fields.extras = extras;
127
- }
128
- return { scenario, fields, notes };
129
- }
130
- //# sourceMappingURL=scope-discovery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scope-discovery.js","sourceRoot":"","sources":["../../src/clarify/scope-discovery.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { ClarifyAnswer } from "./parse-clarify-answer.js";
2
- import type { PendingQuestion, QuestionnaireScenario, SessionQuestionnaire, SessionQuestionnaireFields } from "./session-questionnaire.types.js";
3
- export declare const SESSION_QUESTIONNAIRE_FILENAME = "session-questionnaire.json";
4
- export declare function resolveSessionQuestionnairePath(cwd: string): string;
5
- export declare function readDefaultProjectId(): string | undefined;
6
- export declare function createCollectingQuestionnaire(sessionId: string): SessionQuestionnaire;
7
- export declare function readSessionQuestionnaire(cwd: string, sessionIdFallback: string): SessionQuestionnaire;
8
- export declare function writeSessionQuestionnaire(cwd: string, questionnaire: SessionQuestionnaire): void;
9
- export declare function hasMinimumRemediationScope(fields: SessionQuestionnaireFields): boolean;
10
- export declare function hasMinimumPlanScope(fields: SessionQuestionnaireFields): boolean;
11
- export declare function hasMinimumScopeForScenario(scenario: QuestionnaireScenario | null, fields: SessionQuestionnaireFields): boolean;
12
- export declare function setFieldValue(fields: SessionQuestionnaireFields, field: string, value: string): SessionQuestionnaireFields;
13
- export declare function mergeRecordedFields(fields: SessionQuestionnaireFields, partial: Partial<SessionQuestionnaireFields> & Record<string, unknown>): SessionQuestionnaireFields;
14
- export declare function askQuestion(questionnaire: SessionQuestionnaire, input: {
15
- field: string;
16
- questionMarkdown: string;
17
- optionLabels: string[];
18
- scenario?: QuestionnaireScenario | null;
19
- selectionMode?: PendingQuestion["selectionMode"];
20
- }): SessionQuestionnaire;
21
- export declare function completeQuestionnaire(questionnaire: SessionQuestionnaire): SessionQuestionnaire;
22
- export declare function shouldAcceptClarifyAnswer(questionnaire: SessionQuestionnaire, parsed: ClarifyAnswer): boolean;
23
- export declare function applyPendingAnswer(questionnaire: SessionQuestionnaire, answer: ClarifyAnswer): SessionQuestionnaire;
24
- export declare function finalizeQuestionnaireAtRoundLimit(questionnaire: SessionQuestionnaire, maxRounds: number): SessionQuestionnaire;
25
- export declare function buildClarifyProgressLabel(questionnaire: SessionQuestionnaire): string;
26
- //# sourceMappingURL=session-questionnaire.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-questionnaire.d.ts","sourceRoot":"","sources":["../../src/clarify/session-questionnaire.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAC;AAG1C,eAAO,MAAM,8BAA8B,+BAA+B,CAAC;AAE3E,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAUzD;AAgFD,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,CAarF;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,MAAM,GACxB,oBAAoB,CAoBtB;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAehG;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAItF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAE/E;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,EACtC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAWT;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,0BAA0B,EAClC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,0BAA0B,CAkC5B;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrE,0BAA0B,CA8B5B;AAED,wBAAgB,WAAW,CACzB,aAAa,EAAE,oBAAoB,EACnC,KAAK,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAClD,GACA,oBAAoB,CAetB;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,oBAAoB,GAAG,oBAAoB,CAQ/F;AAID,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,oBAAoB,EACnC,MAAM,EAAE,aAAa,GACpB,OAAO,CAaT;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,oBAAoB,EACnC,MAAM,EAAE,aAAa,GACpB,oBAAoB,CAwFtB;AAED,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,oBAAoB,EACnC,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAUtB;AAED,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,oBAAoB,GAAG,MAAM,CAIrF"}