@kubbisec/ai-linux-x64 0.1.21 → 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 (362) hide show
  1. package/bin/kubbisec +0 -0
  2. package/bundled/components/kubbisec-model-selector.d.ts +47 -34
  3. package/bundled/components/kubbisec-model-selector.js +187 -177
  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 +55 -55
  8. package/bundled/config/config.js.map +1 -1
  9. package/bundled/config/detect-local-llm-providers.d.ts +26 -16
  10. package/bundled/config/detect-local-llm-providers.js +130 -142
  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 +45 -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 +67 -48
  18. package/bundled/config/ensure-kubbisec-project-settings.js.map +1 -1
  19. package/bundled/config/extended-context.d.ts +5 -6
  20. package/bundled/config/extended-context.js +23 -22
  21. package/bundled/config/feature-flags.d.ts +10 -2
  22. package/bundled/config/feature-flags.js +8 -2
  23. package/bundled/config/format-kubbisec-footer-status.d.ts +1 -1
  24. package/bundled/config/format-kubbisec-footer-status.js +26 -31
  25. package/bundled/config/kubbisec-extension-manifest.d.ts +21 -2
  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 +51 -25
  30. package/bundled/config/llm-config-mutations.js +173 -182
  31. package/bundled/config/llm-config.d.ts +54 -41
  32. package/bundled/config/llm-config.js +199 -199
  33. package/bundled/config/llm-provider-catalog.d.ts +18 -15
  34. package/bundled/config/llm-provider-catalog.js +45 -46
  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 +173 -183
  38. package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -1
  39. package/bundled/config/register-custom-llm-providers.d.ts +11 -5
  40. package/bundled/config/register-custom-llm-providers.js +17 -15
  41. package/bundled/config/register-kubbisec-llm-provider.d.ts +14 -10
  42. package/bundled/config/register-kubbisec-llm-provider.js +50 -42
  43. package/bundled/config/resolve-agents-context-file.d.ts +1 -1
  44. package/bundled/config/resolve-agents-context-file.js +33 -34
  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 +6 -3
  48. package/bundled/config/sync-kubbisec-pi-models.js +58 -58
  49. package/bundled/copy/cli-reference-index.d.ts +2 -6
  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 +11 -6
  54. package/bundled/copy/kubbisec-shell-copy.js +1 -1
  55. package/bundled/extensions/cli-local-shared.d.ts +60 -26
  56. package/bundled/extensions/cli-local-shared.d.ts.map +1 -1
  57. package/bundled/extensions/cli-local-shared.js +139 -118
  58. package/bundled/extensions/cli-local-shared.js.map +1 -1
  59. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts +18 -15
  60. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +1 -1
  61. package/bundled/extensions/kubbisec-aspm-local.extension.js +109 -117
  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 +64 -35
  68. package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +1 -1
  69. package/bundled/extensions/kubbisec-clarify.extension.js +323 -305
  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 +29 -32
  73. package/bundled/extensions/kubbisec-extended-context.extension.d.ts +1 -1
  74. package/bundled/extensions/kubbisec-extended-context.extension.js +56 -43
  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 +205 -215
  78. package/bundled/extensions/kubbisec-footer.extension.js.map +1 -1
  79. package/bundled/extensions/kubbisec-github-local.extension.d.ts +26 -21
  80. package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +1 -1
  81. package/bundled/extensions/kubbisec-github-local.extension.js +470 -122
  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 +200 -181
  85. package/bundled/extensions/kubbisec-memory.extension.d.ts +9 -7
  86. package/bundled/extensions/kubbisec-memory.extension.d.ts.map +1 -1
  87. package/bundled/extensions/kubbisec-memory.extension.js +88 -95
  88. package/bundled/extensions/kubbisec-naus-local.extension.d.ts +18 -15
  89. package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +1 -1
  90. package/bundled/extensions/kubbisec-naus-local.extension.js +123 -114
  91. package/bundled/extensions/kubbisec-naus-local.extension.js.map +1 -1
  92. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts +31 -21
  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 +10 -8
  97. package/bundled/extensions/kubbisec-runtime-status.extension.js +15 -13
  98. package/bundled/extensions/kubbisec-scope.extension.d.ts +12 -7
  99. package/bundled/extensions/kubbisec-scope.extension.js +13 -13
  100. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts +27 -16
  101. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +1 -1
  102. package/bundled/extensions/kubbisec-skill-mentions.extension.js +74 -63
  103. package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +1 -1
  104. package/bundled/extensions/kubbisec-skill-telemetry.extension.d.ts +2 -3
  105. package/bundled/extensions/kubbisec-skill-telemetry.extension.js +59 -64
  106. package/bundled/extensions/kubbisec-theme-lock.extension.d.ts +1 -1
  107. package/bundled/extensions/kubbisec-theme-lock.extension.js +33 -34
  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 +118 -109
  111. package/bundled/extensions/kubbisec-ui.extension.js.map +1 -1
  112. package/bundled/extensions/kubbisec-workflow.extension.d.ts +20 -18
  113. package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +1 -1
  114. package/bundled/extensions/kubbisec-workflow.extension.js +138 -140
  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 +54 -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/redaction.test.d.ts +2 -0
  250. package/bundled/node_modules/@aspm/shared/dist/redaction.test.d.ts.map +1 -0
  251. package/bundled/node_modules/@aspm/shared/dist/redaction.test.js +626 -0
  252. package/bundled/node_modules/@aspm/shared/dist/redaction.test.js.map +1 -0
  253. package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.d.ts.map +1 -1
  254. package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.js.map +1 -1
  255. package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.d.ts.map +1 -1
  256. package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.js.map +1 -1
  257. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.d.ts.map +1 -1
  258. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js +2 -2
  259. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js.map +1 -1
  260. package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts +2 -2
  261. package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts.map +1 -1
  262. package/bundled/node_modules/@aspm/shared/dist/security/index.js +2 -2
  263. package/bundled/node_modules/@aspm/shared/dist/security/index.js.map +1 -1
  264. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts +4 -0
  265. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts.map +1 -0
  266. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js +10 -0
  267. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js.map +1 -0
  268. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts +4 -0
  269. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts.map +1 -0
  270. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js +20 -0
  271. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js.map +1 -0
  272. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts +2 -0
  273. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts.map +1 -0
  274. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js +9 -0
  275. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js.map +1 -0
  276. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts +3 -0
  277. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts.map +1 -0
  278. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js +18 -0
  279. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js.map +1 -0
  280. package/bundled/node_modules/@aspm/shared/package.json +27 -5
  281. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js +2 -2
  282. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js.map +1 -1
  283. package/bundled/node_modules/@kubbisec/chat-memory/package.json +4 -4
  284. package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts.map +1 -1
  285. package/bundled/node_modules/@kubbisec/home/dist/migrate.js +1 -1
  286. package/bundled/node_modules/@kubbisec/home/dist/migrate.js.map +1 -1
  287. package/bundled/node_modules/@kubbisec/home/package.json +3 -3
  288. package/bundled/resolve-bundled-dist-root.js +121 -131
  289. package/bundled/resolve-bundled-dist-root.js.map +1 -1
  290. package/bundled/skills/aspm-platform/SKILL.md +3 -1
  291. package/bundled/skills/at-path-mentions.d.ts +1 -1
  292. package/bundled/skills/at-path-mentions.js +146 -153
  293. package/bundled/skills/chat-mention-render.d.ts +2 -2
  294. package/bundled/skills/chat-mention-render.js +121 -126
  295. package/bundled/skills/chat-mentions.d.ts +17 -8
  296. package/bundled/skills/chat-mentions.js +76 -76
  297. package/bundled/skills/github-local/SKILL.md +5 -5
  298. package/bundled/skills/kubbisec-resource-router/SKILL.md +3 -0
  299. package/bundled/skills/list-bundled-skills.d.ts +3 -3
  300. package/bundled/skills/list-bundled-skills.js +33 -35
  301. package/bundled/skills/naus-pipelines/SKILL.md +11 -10
  302. package/bundled/skills/remediation/SKILL.md +1 -1
  303. package/bundled/skills/skill-mention.d.ts +10 -2
  304. package/bundled/skills/skill-mention.js +10 -2
  305. package/bundled/theme/clear-terminal.d.ts +1 -1
  306. package/bundled/theme/clear-terminal.js +3 -4
  307. package/bundled/theme/footer-render-hook.d.ts +1 -1
  308. package/bundled/theme/footer-render-hook.js +3 -3
  309. package/bundled/theme/kubbisec-brand-fg.d.ts +1 -1
  310. package/bundled/theme/kubbisec-brand-fg.js +2 -2
  311. package/bundled/theme/kubbisec-menu-themes.d.ts +7 -7
  312. package/bundled/theme/kubbisec-menu-themes.js +30 -31
  313. package/bundled/theme/kubbisec-theme-name.d.ts +1 -1
  314. package/bundled/theme/kubbisec-theme-name.js +1 -1
  315. package/bundled/theme/patch-pi-settings-theme.runtime.d.ts +1 -1
  316. package/bundled/theme/patch-pi-settings-theme.runtime.js +11 -10
  317. package/bundled/theme/render-compact-header.d.ts +13 -5
  318. package/bundled/theme/render-compact-header.js +127 -129
  319. package/bundled/theme/render-compact-header.js.map +1 -1
  320. package/bundled/workflow/session-workflow-mode.d.ts +1 -1
  321. package/bundled/workflow/session-workflow-mode.js +33 -33
  322. package/package.json +1 -1
  323. package/bundled/clarify/clarify-gate-state.d.ts +0 -3
  324. package/bundled/clarify/clarify-gate-state.d.ts.map +0 -1
  325. package/bundled/clarify/clarify-gate-state.js +0 -9
  326. package/bundled/clarify/clarify-gate-state.js.map +0 -1
  327. package/bundled/clarify/clarify-gate.d.ts +0 -28
  328. package/bundled/clarify/clarify-gate.d.ts.map +0 -1
  329. package/bundled/clarify/clarify-gate.js +0 -152
  330. package/bundled/clarify/clarify-gate.js.map +0 -1
  331. package/bundled/clarify/clarify-select-panel.d.ts +0 -14
  332. package/bundled/clarify/clarify-select-panel.d.ts.map +0 -1
  333. package/bundled/clarify/clarify-select-panel.js +0 -82
  334. package/bundled/clarify/clarify-select-panel.js.map +0 -1
  335. package/bundled/clarify/clarify-ui-state.d.ts +0 -21
  336. package/bundled/clarify/clarify-ui-state.d.ts.map +0 -1
  337. package/bundled/clarify/clarify-ui-state.js +0 -48
  338. package/bundled/clarify/clarify-ui-state.js.map +0 -1
  339. package/bundled/clarify/parse-clarify-answer.d.ts +0 -21
  340. package/bundled/clarify/parse-clarify-answer.d.ts.map +0 -1
  341. package/bundled/clarify/parse-clarify-answer.js +0 -57
  342. package/bundled/clarify/parse-clarify-answer.js.map +0 -1
  343. package/bundled/clarify/question-format.d.ts +0 -39
  344. package/bundled/clarify/question-format.d.ts.map +0 -1
  345. package/bundled/clarify/question-format.js +0 -144
  346. package/bundled/clarify/question-format.js.map +0 -1
  347. package/bundled/clarify/questionnaire-tool.d.ts +0 -25
  348. package/bundled/clarify/questionnaire-tool.d.ts.map +0 -1
  349. package/bundled/clarify/questionnaire-tool.js +0 -161
  350. package/bundled/clarify/questionnaire-tool.js.map +0 -1
  351. package/bundled/clarify/scope-discovery.d.ts +0 -9
  352. package/bundled/clarify/scope-discovery.d.ts.map +0 -1
  353. package/bundled/clarify/scope-discovery.js +0 -130
  354. package/bundled/clarify/scope-discovery.js.map +0 -1
  355. package/bundled/clarify/session-questionnaire.d.ts +0 -26
  356. package/bundled/clarify/session-questionnaire.d.ts.map +0 -1
  357. package/bundled/clarify/session-questionnaire.js +0 -372
  358. package/bundled/clarify/session-questionnaire.js.map +0 -1
  359. package/bundled/clarify/session-questionnaire.types.d.ts +0 -47
  360. package/bundled/clarify/session-questionnaire.types.d.ts.map +0 -1
  361. package/bundled/clarify/session-questionnaire.types.js +0 -13
  362. package/bundled/clarify/session-questionnaire.types.js.map +0 -1
@@ -1,135 +1,483 @@
1
- /**
2
- * Local GitHub/gh tools — only when user opted in: KUBBISEC_CHAT_EXTENDED_CONTEXT=1
3
- */
4
1
  import { spawn } from "node:child_process";
5
2
  import * as fs from "node:fs";
6
3
  import * as path from "node:path";
7
4
  import { summarizeSubprocessFailure, toUserError } from "@aspm/shared/cli-user-error";
8
5
  import { Type } from "@earendil-works/pi-ai";
9
- import { EXTENDED_CONTEXT_DENY_MESSAGE, extendedContextEnabled, resolveExtendedWorkspace, } from "../config/extended-context.js";
6
+ import {
7
+ buildAuthenticatedGitRemoteUrl,
8
+ buildGitGhSubprocessEnv,
9
+ resolveHostGitAuth,
10
+ } from "@kubbisec/remediation";
11
+ import { resolveExtendedWorkspace } from "../config/extended-context.js";
12
+ import { resolvePathInWorkspace } from "./cli-local-shared.js";
13
+
10
14
  function resolveWorkspace() {
11
- return resolveExtendedWorkspace();
12
- }
13
- function execCapture(bin, args, cwd) {
14
- return new Promise((resolve) => {
15
- const child = spawn(bin, args, {
16
- cwd,
17
- env: {
18
- ...process.env,
19
- GIT_TERMINAL_PROMPT: "0",
20
- GH_PROMPT_DISABLED: "1",
21
- },
22
- stdio: ["ignore", "pipe", "pipe"],
23
- });
24
- let stdout = "";
25
- let stderr = "";
26
- child.stdout?.on("data", (c) => {
27
- stdout += String(c);
28
- });
29
- child.stderr?.on("data", (c) => {
30
- stderr += String(c);
31
- });
32
- child.on("error", (err) => {
33
- resolve({ code: 127, stdout: "", stderr: toUserError(err).detail });
34
- });
35
- child.on("close", (code) => resolve({ code: code ?? 1, stdout, stderr }));
36
- });
15
+ return resolveExtendedWorkspace();
37
16
  }
38
- function formatGitSummary(bin, label, result) {
39
- if (result.code === 0 && result.stdout.trim()) {
40
- return `${label}:\n${result.stdout.trim()}`;
17
+ function resolveWorkspacePath() {
18
+ const candidates = [
19
+ process.env.KUBBISEC_LOCAL_WORKSPACE,
20
+ process.env.KUBBISEC_AI_WORKSPACE,
21
+ ].filter((value) => typeof value === "string" && value.trim().length > 0);
22
+ for (const candidate of candidates) {
23
+ const segments = candidate.split(/[\\/]+/).filter(Boolean);
24
+ if (segments.includes("..")) {
25
+ throw new Error("workspace path traversal is not allowed");
41
26
  }
42
- if (result.code === 0) {
43
- return `${label}: (sem saída)`;
44
- }
45
- return summarizeSubprocessFailure({
46
- bin,
47
- code: result.code,
48
- stderr: result.stderr,
49
- stdout: result.stdout,
27
+ }
28
+ return resolveWorkspace();
29
+ }
30
+ function execCapture(bin, args, cwd, options) {
31
+ return new Promise((resolve) => {
32
+ const child = spawn(bin, args, {
33
+ cwd,
34
+ env: options?.env ?? {
35
+ ...process.env,
36
+ GIT_TERMINAL_PROMPT: "0",
37
+ GH_PROMPT_DISABLED: "1",
38
+ },
39
+ stdio: ["ignore", "pipe", "pipe"],
50
40
  });
41
+ let stdout = "";
42
+ let stderr = "";
43
+ child.stdout?.on("data", (c) => {
44
+ stdout += String(c);
45
+ });
46
+ child.stderr?.on("data", (c) => {
47
+ stderr += String(c);
48
+ });
49
+ child.on("error", (err) => {
50
+ resolve({ code: 127, stdout: "", stderr: toUserError(err).detail });
51
+ });
52
+ child.on("close", (code) => resolve({ code: code ?? 1, stdout, stderr }));
53
+ });
54
+ }
55
+ function redactGithubSecrets(text) {
56
+ return text
57
+ .replace(/https:\/\/([^/\s:@]+):([^@\s]+)@/gi, (_match, user) => `https://${String(user)}:***@`)
58
+ .replace(/\b(gh[pousr]_[A-Za-z0-9_]+)\b/g, "***");
59
+ }
60
+ function formatGitSummary(bin, label, result) {
61
+ const stdout = redactGithubSecrets(result.stdout.trim());
62
+ const stderr = redactGithubSecrets(result.stderr.trim());
63
+ if (result.code === 0 && stdout) {
64
+ return `${label}:\n${stdout}`;
65
+ }
66
+ if (result.code === 0) {
67
+ return `${label}: (sem saída)`;
68
+ }
69
+ return summarizeSubprocessFailure({
70
+ bin,
71
+ code: result.code,
72
+ stderr,
73
+ stdout,
74
+ });
75
+ }
76
+ function resolvePlatformToken() {
77
+ const candidate =
78
+ process.env.KUBBISEC_GIT_TOKEN?.trim() ||
79
+ process.env.GITHUB_TOKEN?.trim() ||
80
+ process.env.GH_TOKEN?.trim();
81
+ return candidate || null;
82
+ }
83
+ function buildTextResult(text) {
84
+ return { content: [{ type: "text", text }] };
51
85
  }
52
- function denyExtended() {
53
- return {
54
- content: [{ type: "text", text: EXTENDED_CONTEXT_DENY_MESSAGE }],
55
- };
86
+ function buildErrorResult(error) {
87
+ return buildTextResult(toUserError(error, "Falha ao executar github local").detail);
88
+ }
89
+ function isGitWorkspace(cwd) {
90
+ return fs.existsSync(path.join(cwd, ".git"));
91
+ }
92
+ async function resolveRemoteUrl(cwd) {
93
+ if (!isGitWorkspace(cwd)) return null;
94
+ const remoteUrlResult = await execCapture("git", ["remote", "get-url", "origin"], cwd);
95
+ if (remoteUrlResult.code !== 0) return null;
96
+ return remoteUrlResult.stdout.trim() || null;
97
+ }
98
+ async function resolveWorkspaceAuth(cwd) {
99
+ const remoteUrl = await resolveRemoteUrl(cwd);
100
+ const platformToken = resolvePlatformToken();
101
+ const auth = await resolveHostGitAuth({
102
+ cwd,
103
+ remoteUrl,
104
+ platformToken,
105
+ });
106
+ const env = buildGitGhSubprocessEnv(auth, process.env);
107
+ return { auth, env, remoteUrl, platformToken };
108
+ }
109
+ function requireGitWorkspace(cwd) {
110
+ if (isGitWorkspace(cwd)) {
111
+ return { ok: true };
112
+ }
113
+ return {
114
+ ok: false,
115
+ result: buildTextResult(
116
+ "git: no .git in workspace (clone via kubsec_github_repository + remediation flow)",
117
+ ),
118
+ };
119
+ }
120
+ async function runAuthenticatedCommand(bin, args, cwd) {
121
+ const { env } = await resolveWorkspaceAuth(cwd);
122
+ return execCapture(bin, args, cwd, { env });
123
+ }
124
+ function isGitAuthFailure(stderr, stdout) {
125
+ const detail = `${stderr}\n${stdout}`.toLowerCase();
126
+ return (
127
+ detail.includes("invalid credentials") ||
128
+ detail.includes("authentication failed") ||
129
+ detail.includes("403") ||
130
+ detail.includes("401") ||
131
+ detail.includes("unauthorized")
132
+ );
133
+ }
134
+ function buildRetryAuth(platformToken) {
135
+ return {
136
+ source: "platform-token",
137
+ mode: "embedded-token",
138
+ token: platformToken,
139
+ detail: "retry after native auth failure",
140
+ };
141
+ }
142
+ async function prepareRemoteForAuth(cwd, remoteUrl, auth) {
143
+ const env = buildGitGhSubprocessEnv(auth, process.env);
144
+ if (!remoteUrl) {
145
+ return env;
146
+ }
147
+ const nextRemoteUrl =
148
+ auth.mode === "embedded-token"
149
+ ? buildAuthenticatedGitRemoteUrl(remoteUrl, auth.token)
150
+ : remoteUrl;
151
+ const setUrl = await execCapture("git", ["remote", "set-url", "origin", nextRemoteUrl], cwd, {
152
+ env,
153
+ });
154
+ if (setUrl.code !== 0) {
155
+ throw new Error(formatGitSummary("git", "git remote set-url", setUrl));
156
+ }
157
+ return env;
158
+ }
159
+ function normalizeCloneRemote(params) {
160
+ const remoteUrl = typeof params.remoteUrl === "string" ? params.remoteUrl.trim() : "";
161
+ if (remoteUrl) {
162
+ return remoteUrl;
163
+ }
164
+ const repo = typeof params.repo === "string" ? params.repo.trim().replace(/^\/+|\/+$/g, "") : "";
165
+ if (!repo) {
166
+ return null;
167
+ }
168
+ return `https://github.com/${repo.endsWith(".git") ? repo : `${repo}.git`}`;
169
+ }
170
+ function inferCloneDirectory(params, remoteUrl) {
171
+ const explicit = typeof params.directory === "string" ? params.directory.trim() : "";
172
+ if (explicit) {
173
+ return explicit;
174
+ }
175
+ const repo = typeof params.repo === "string" ? params.repo.trim() : "";
176
+ if (repo) {
177
+ return (
178
+ repo
179
+ .split("/")
180
+ .filter(Boolean)
181
+ .pop()
182
+ ?.replace(/\.git$/i, "") || "repo"
183
+ );
184
+ }
185
+ const normalized = remoteUrl.replace(/[\\/]+$/, "");
186
+ const basename = normalized
187
+ .split(/[/:]/)
188
+ .pop()
189
+ ?.replace(/\.git$/i, "");
190
+ return basename || "repo";
191
+ }
192
+ async function sanitizeClonedRemote(cwd, remoteUrl, auth) {
193
+ if (auth.mode !== "embedded-token") {
194
+ return;
195
+ }
196
+ const sanitizedEnv = buildGitGhSubprocessEnv(auth, process.env);
197
+ const sanitized = await execCapture("git", ["remote", "set-url", "origin", remoteUrl], cwd, {
198
+ env: sanitizedEnv,
199
+ });
200
+ if (sanitized.code !== 0) {
201
+ throw new Error(formatGitSummary("git", "git remote set-url", sanitized));
202
+ }
203
+ }
204
+ async function resolveCurrentBranch(cwd) {
205
+ const branch = await execCapture("git", ["branch", "--show-current"], cwd);
206
+ const branchName = branch.stdout.trim();
207
+ return branch.code === 0 && branchName ? branchName : null;
56
208
  }
57
209
  export default function kubbisecGithubLocal(api) {
58
- api.registerTool({
59
- name: "github_local_status",
60
- label: "GitHub local status",
61
- description: "Reports gh auth and git remote on this machine (requires kubbisec chat --extended-context).",
62
- parameters: Type.Object({}),
63
- async execute() {
64
- if (!extendedContextEnabled())
65
- return denyExtended();
66
- const cwd = resolveWorkspace();
67
- const parts = [`workspace: ${cwd}`];
68
- const gh = await execCapture("gh", ["auth", "status"], cwd);
69
- if (gh.code === 0) {
70
- parts.push("GitHub CLI autenticado nesta máquina.");
71
- }
72
- else if (gh.code === 127) {
73
- parts.push("gh: not installed or not on PATH");
74
- }
75
- else {
76
- parts.push(summarizeSubprocessFailure({
77
- bin: "gh",
78
- code: gh.code,
79
- stderr: gh.stderr,
80
- stdout: gh.stdout,
81
- }));
82
- }
83
- if (fs.existsSync(path.join(cwd, ".git"))) {
84
- const remote = await execCapture("git", ["remote", "-v"], cwd);
85
- const branch = await execCapture("git", ["branch", "--show-current"], cwd);
86
- parts.push(formatGitSummary("git", "git remote", remote));
87
- const branchName = branch.stdout.trim();
88
- parts.push(`git branch: ${branchName || (branch.code === 0 ? "(detached)" : "indisponível")}`);
89
- }
90
- else {
91
- parts.push("git: no .git in workspace (clone via kubsec_github_repository + remediation flow)");
92
- }
93
- return { content: [{ type: "text", text: parts.join("\n\n") }] };
94
- },
95
- });
96
- api.registerTool({
97
- name: "github_local_repo_summary",
98
- label: "GitHub local repo summary",
99
- description: "Lists top-level files and recent git log in workspace (requires --extended-context).",
100
- parameters: Type.Object({}),
101
- async execute() {
102
- if (!extendedContextEnabled())
103
- return denyExtended();
104
- const cwd = resolveWorkspace();
105
- const entries = fs.existsSync(cwd)
106
- ? fs
107
- .readdirSync(cwd, { withFileTypes: true })
108
- .slice(0, 40)
109
- .map((e) => (e.isDirectory() ? `${e.name}/` : e.name))
110
- : [];
111
- let logOut = "";
112
- if (fs.existsSync(path.join(cwd, ".git"))) {
113
- const log = await execCapture("git", ["log", "-5", "--oneline"], cwd);
114
- if (log.code === 0 && log.stdout.trim()) {
115
- logOut = log.stdout.trim();
116
- }
117
- else if (log.code !== 0) {
118
- logOut = summarizeSubprocessFailure({
119
- bin: "git",
120
- code: log.code,
121
- stderr: log.stderr,
122
- stdout: log.stdout,
123
- });
124
- }
125
- }
126
- const text = [
127
- `workspace: ${cwd}`,
128
- `entries: ${entries.join(", ") || "(empty)"}`,
129
- logOut ? `recent commits:\n${logOut}` : "no git history",
130
- ].join("\n\n");
131
- return { content: [{ type: "text", text }] };
132
- },
133
- });
210
+ api.registerTool({
211
+ name: "github_local_status",
212
+ label: "GitHub local status",
213
+ description: "Reports host GitHub auth and git remote details for this machine.",
214
+ parameters: Type.Object({}),
215
+ async execute() {
216
+ try {
217
+ const cwd = resolveWorkspacePath();
218
+ const parts = [`workspace: ${cwd}`];
219
+ const hasGit = isGitWorkspace(cwd);
220
+ const remoteUrl = await resolveRemoteUrl(cwd);
221
+ const auth = await resolveHostGitAuth({
222
+ cwd,
223
+ remoteUrl,
224
+ platformToken: resolvePlatformToken(),
225
+ });
226
+ parts.push(`auth source: ${auth.source}`);
227
+ parts.push(`auth detail: ${auth.detail}`);
228
+ if (hasGit) {
229
+ const remote = await execCapture("git", ["remote", "-v"], cwd);
230
+ const branch = await execCapture("git", ["branch", "--show-current"], cwd);
231
+ parts.push(formatGitSummary("git", "git remote", remote));
232
+ const branchName = branch.stdout.trim();
233
+ parts.push(
234
+ `git branch: ${branchName || (branch.code === 0 ? "(detached)" : "indisponível")}`,
235
+ );
236
+ } else {
237
+ parts.push(
238
+ "git: no .git in workspace (clone via kubsec_github_repository + remediation flow)",
239
+ );
240
+ }
241
+ return buildTextResult(parts.join("\n\n"));
242
+ } catch (error) {
243
+ return buildErrorResult(error);
244
+ }
245
+ },
246
+ });
247
+ api.registerTool({
248
+ name: "github_local_repo_summary",
249
+ label: "GitHub local repo summary",
250
+ description: "Lists top-level files and recent git log in the workspace.",
251
+ parameters: Type.Object({}),
252
+ async execute() {
253
+ try {
254
+ const cwd = resolveWorkspacePath();
255
+ const entries = fs.existsSync(cwd)
256
+ ? fs
257
+ .readdirSync(cwd, { withFileTypes: true })
258
+ .slice(0, 40)
259
+ .map((e) => (e.isDirectory() ? `${e.name}/` : e.name))
260
+ : [];
261
+ let logOut = "";
262
+ if (isGitWorkspace(cwd)) {
263
+ const log = await execCapture("git", ["log", "-5", "--oneline"], cwd);
264
+ if (log.code === 0 && log.stdout.trim()) {
265
+ logOut = redactGithubSecrets(log.stdout.trim());
266
+ } else if (log.code !== 0) {
267
+ logOut = summarizeSubprocessFailure({
268
+ bin: "git",
269
+ code: log.code,
270
+ stderr: redactGithubSecrets(log.stderr),
271
+ stdout: redactGithubSecrets(log.stdout),
272
+ });
273
+ }
274
+ }
275
+ const text = [
276
+ `workspace: ${cwd}`,
277
+ `entries: ${entries.join(", ") || "(empty)"}`,
278
+ logOut ? `recent commits:\n${logOut}` : "no git history",
279
+ ].join("\n\n");
280
+ return buildTextResult(text);
281
+ } catch (error) {
282
+ return buildErrorResult(error);
283
+ }
284
+ },
285
+ });
286
+ api.registerTool({
287
+ name: "github_local_clone",
288
+ label: "GitHub local clone",
289
+ description: "Clones a repository into a workspace-safe local directory.",
290
+ parameters: Type.Object({
291
+ remoteUrl: Type.Optional(Type.String({ description: "Full Git remote URL." })),
292
+ repo: Type.Optional(Type.String({ description: "GitHub repo in owner/name format." })),
293
+ directory: Type.Optional(
294
+ Type.String({ description: "Optional target directory inside the workspace." }),
295
+ ),
296
+ branch: Type.Optional(Type.String({ description: "Optional branch to clone." })),
297
+ }),
298
+ async execute(_toolCallId, params) {
299
+ try {
300
+ const cwd = resolveWorkspacePath();
301
+ const remoteUrl = normalizeCloneRemote(params);
302
+ if (!remoteUrl) {
303
+ return buildTextResult("remoteUrl or repo is required");
304
+ }
305
+ const targetDir = resolvePathInWorkspace(inferCloneDirectory(params, remoteUrl), cwd);
306
+ if (path.resolve(targetDir) === path.resolve(cwd)) {
307
+ return buildTextResult("clone target must be a child path inside the workspace");
308
+ }
309
+ const branch = typeof params.branch === "string" ? params.branch.trim() : "";
310
+ const platformToken = resolvePlatformToken();
311
+ let auth = await resolveHostGitAuth({
312
+ cwd,
313
+ remoteUrl,
314
+ platformToken,
315
+ });
316
+ const buildCloneArgs = (currentAuth) => {
317
+ const cloneRemoteUrl =
318
+ currentAuth.mode === "embedded-token"
319
+ ? buildAuthenticatedGitRemoteUrl(remoteUrl, currentAuth.token)
320
+ : remoteUrl;
321
+ const args = ["clone"];
322
+ if (branch) {
323
+ args.push("--branch", branch);
324
+ }
325
+ args.push(cloneRemoteUrl, targetDir);
326
+ return { args, cloneRemoteUrl };
327
+ };
328
+ const runClone = async (currentAuth) => {
329
+ const { args, cloneRemoteUrl } = buildCloneArgs(currentAuth);
330
+ const env = buildGitGhSubprocessEnv(currentAuth, process.env);
331
+ const result = await execCapture("git", args, cwd, { env });
332
+ return { result, cloneRemoteUrl };
333
+ };
334
+ let clone = await runClone(auth);
335
+ if (
336
+ clone.result.code !== 0 &&
337
+ auth.mode === "native" &&
338
+ platformToken &&
339
+ isGitAuthFailure(clone.result.stderr, clone.result.stdout)
340
+ ) {
341
+ fs.rmSync(targetDir, { recursive: true, force: true });
342
+ auth = buildRetryAuth(platformToken);
343
+ clone = await runClone(auth);
344
+ }
345
+ if (clone.result.code === 0) {
346
+ await sanitizeClonedRemote(targetDir, remoteUrl, auth);
347
+ }
348
+ const relativeTarget = path.relative(cwd, targetDir) || ".";
349
+ return buildTextResult(
350
+ `${formatGitSummary("git", "git clone", clone.result)}\n\ntarget: ${relativeTarget}`,
351
+ );
352
+ } catch (error) {
353
+ return buildErrorResult(error);
354
+ }
355
+ },
356
+ });
357
+ api.registerTool({
358
+ name: "github_local_fetch",
359
+ label: "GitHub local fetch",
360
+ description: "Runs `git fetch` in the workspace using host or fallback auth.",
361
+ parameters: Type.Object({}),
362
+ async execute() {
363
+ try {
364
+ const cwd = resolveWorkspacePath();
365
+ const gitWorkspace = requireGitWorkspace(cwd);
366
+ if (!gitWorkspace.ok) return gitWorkspace.result;
367
+ const result = await runAuthenticatedCommand("git", ["fetch"], cwd);
368
+ return buildTextResult(formatGitSummary("git", "git fetch", result));
369
+ } catch (error) {
370
+ return buildErrorResult(error);
371
+ }
372
+ },
373
+ });
374
+ api.registerTool({
375
+ name: "github_local_commit",
376
+ label: "GitHub local commit",
377
+ description: "Stages all changes and creates a git commit in the workspace.",
378
+ parameters: Type.Object({
379
+ message: Type.String({ description: "Commit message passed to `git commit -m`." }),
380
+ }),
381
+ async execute(_toolCallId, params) {
382
+ try {
383
+ const message = String(params.message ?? "").trim();
384
+ if (!message) {
385
+ return buildTextResult("commit message is required");
386
+ }
387
+ const cwd = resolveWorkspacePath();
388
+ const gitWorkspace = requireGitWorkspace(cwd);
389
+ if (!gitWorkspace.ok) return gitWorkspace.result;
390
+ const { env } = await resolveWorkspaceAuth(cwd);
391
+ const addResult = await execCapture("git", ["add", "-A"], cwd, { env });
392
+ if (addResult.code !== 0) {
393
+ return buildTextResult(formatGitSummary("git", "git add", addResult));
394
+ }
395
+ const commitResult = await execCapture("git", ["commit", "-m", message], cwd, { env });
396
+ return buildTextResult(formatGitSummary("git", "git commit", commitResult));
397
+ } catch (error) {
398
+ return buildErrorResult(error);
399
+ }
400
+ },
401
+ });
402
+ api.registerTool({
403
+ name: "github_local_push",
404
+ label: "GitHub local push",
405
+ description: "Pushes the current branch to origin using host or fallback auth.",
406
+ parameters: Type.Object({}),
407
+ async execute() {
408
+ try {
409
+ const cwd = resolveWorkspacePath();
410
+ const gitWorkspace = requireGitWorkspace(cwd);
411
+ if (!gitWorkspace.ok) return gitWorkspace.result;
412
+ const branch = await resolveCurrentBranch(cwd);
413
+ const args = branch ? ["push", "-u", "origin", branch] : ["push"];
414
+ const { auth, remoteUrl, platformToken } = await resolveWorkspaceAuth(cwd);
415
+ const runPush = async (currentAuth) => {
416
+ const env = await prepareRemoteForAuth(cwd, remoteUrl, currentAuth);
417
+ return execCapture("git", args, cwd, { env });
418
+ };
419
+ let result = await runPush(auth);
420
+ if (
421
+ result.code !== 0 &&
422
+ auth.mode === "native" &&
423
+ platformToken &&
424
+ isGitAuthFailure(result.stderr, result.stdout)
425
+ ) {
426
+ result = await runPush(buildRetryAuth(platformToken));
427
+ }
428
+ return buildTextResult(formatGitSummary("git", "git push", result));
429
+ } catch (error) {
430
+ return buildErrorResult(error);
431
+ }
432
+ },
433
+ });
434
+ api.registerTool({
435
+ name: "github_local_pr_create",
436
+ label: "GitHub local PR create",
437
+ description: "Creates a pull request with `gh pr create` from the current branch.",
438
+ parameters: Type.Object({
439
+ title: Type.String({ description: "Pull request title." }),
440
+ body: Type.String({ description: "Pull request body." }),
441
+ base: Type.Optional(Type.String({ description: "Optional base branch name." })),
442
+ }),
443
+ async execute(_toolCallId, params) {
444
+ try {
445
+ const title = String(params.title ?? "").trim();
446
+ const body = String(params.body ?? "").trim();
447
+ const base = typeof params.base === "string" ? params.base.trim() : "";
448
+ if (!title) {
449
+ return buildTextResult("pull request title is required");
450
+ }
451
+ if (!body) {
452
+ return buildTextResult("pull request body is required");
453
+ }
454
+ const cwd = resolveWorkspacePath();
455
+ const gitWorkspace = requireGitWorkspace(cwd);
456
+ if (!gitWorkspace.ok) return gitWorkspace.result;
457
+ const branch = await resolveCurrentBranch(cwd);
458
+ const args = ["pr", "create", "--title", title, "--body", body];
459
+ if (base) {
460
+ args.push("--base", base);
461
+ }
462
+ if (branch) {
463
+ args.push("--head", branch);
464
+ }
465
+ const { auth, env, platformToken } = await resolveWorkspaceAuth(cwd);
466
+ let result = await execCapture("gh", args, cwd, { env });
467
+ if (
468
+ result.code !== 0 &&
469
+ auth.mode === "native" &&
470
+ platformToken &&
471
+ isGitAuthFailure(result.stderr, result.stdout)
472
+ ) {
473
+ const retryEnv = buildGitGhSubprocessEnv(buildRetryAuth(platformToken), process.env);
474
+ result = await execCapture("gh", args, cwd, { env: retryEnv });
475
+ }
476
+ return buildTextResult(formatGitSummary("gh", "gh pr create", result));
477
+ } catch (error) {
478
+ return buildErrorResult(error);
479
+ }
480
+ },
481
+ });
134
482
  }
135
- //# sourceMappingURL=kubbisec-github-local.extension.js.map
483
+ //# sourceMappingURL=kubbisec-github-local.extension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kubbisec-github-local.extension.js","sourceRoot":"","sources":["../../src/extensions/kubbisec-github-local.extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kubbisec-github-local.extension.js","sourceRoot":"","sources":["../../src/extensions/kubbisec-github-local.extension.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
2
  export default function kubbisecLlmConfig(api: ExtensionAPI): void;
3
- //# sourceMappingURL=kubbisec-llm-config.extension.d.ts.map
3
+ //# sourceMappingURL=kubbisec-llm-config.extension.d.ts.map