@kubbisec/ai-linux-arm64 0.1.22 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/bin/kubbisec +0 -0
  2. package/bundled/components/kubbisec-model-selector.d.ts +34 -47
  3. package/bundled/components/kubbisec-model-selector.js +177 -187
  4. package/bundled/components/kubbisec-model-selector.js.map +1 -1
  5. package/bundled/config/config.d.ts +6 -6
  6. package/bundled/config/config.d.ts.map +1 -1
  7. package/bundled/config/config.js +52 -54
  8. package/bundled/config/config.js.map +1 -1
  9. package/bundled/config/detect-local-llm-providers.d.ts +16 -26
  10. package/bundled/config/detect-local-llm-providers.js +142 -130
  11. package/bundled/config/ensure-kbs-project-settings.d.ts +20 -0
  12. package/bundled/config/ensure-kbs-project-settings.d.ts.map +1 -0
  13. package/bundled/config/ensure-kbs-project-settings.js +46 -0
  14. package/bundled/config/ensure-kbs-project-settings.js.map +1 -0
  15. package/bundled/config/ensure-kubbisec-project-settings.d.ts +11 -9
  16. package/bundled/config/ensure-kubbisec-project-settings.d.ts.map +1 -1
  17. package/bundled/config/ensure-kubbisec-project-settings.js +72 -44
  18. package/bundled/config/ensure-kubbisec-project-settings.js.map +1 -1
  19. package/bundled/config/extended-context.d.ts +6 -5
  20. package/bundled/config/extended-context.js +22 -23
  21. package/bundled/config/feature-flags.d.ts +2 -10
  22. package/bundled/config/feature-flags.js +2 -8
  23. package/bundled/config/format-kubbisec-footer-status.d.ts +1 -1
  24. package/bundled/config/format-kubbisec-footer-status.js +31 -26
  25. package/bundled/config/kubbisec-extension-manifest.d.ts +2 -22
  26. package/bundled/config/kubbisec-extension-manifest.d.ts.map +1 -1
  27. package/bundled/config/kubbisec-extension-manifest.js +19 -20
  28. package/bundled/config/kubbisec-extension-manifest.js.map +1 -1
  29. package/bundled/config/llm-config-mutations.d.ts +25 -51
  30. package/bundled/config/llm-config-mutations.js +182 -173
  31. package/bundled/config/llm-config.d.ts +41 -54
  32. package/bundled/config/llm-config.js +199 -199
  33. package/bundled/config/llm-provider-catalog.d.ts +15 -18
  34. package/bundled/config/llm-provider-catalog.js +46 -45
  35. package/bundled/config/materialize-kubbisec-pi-resources.d.ts +1 -1
  36. package/bundled/config/materialize-kubbisec-pi-resources.d.ts.map +1 -1
  37. package/bundled/config/materialize-kubbisec-pi-resources.js +182 -174
  38. package/bundled/config/materialize-kubbisec-pi-resources.js.map +1 -1
  39. package/bundled/config/register-custom-llm-providers.d.ts +5 -11
  40. package/bundled/config/register-custom-llm-providers.js +15 -17
  41. package/bundled/config/register-kubbisec-llm-provider.d.ts +10 -14
  42. package/bundled/config/register-kubbisec-llm-provider.js +42 -50
  43. package/bundled/config/resolve-agents-context-file.d.ts +1 -1
  44. package/bundled/config/resolve-agents-context-file.js +34 -33
  45. package/bundled/config/resource-budget.d.ts +12 -12
  46. package/bundled/config/resource-budget.js +28 -28
  47. package/bundled/config/sync-kubbisec-pi-models.d.ts +3 -6
  48. package/bundled/config/sync-kubbisec-pi-models.js +58 -58
  49. package/bundled/copy/cli-reference-index.d.ts +2 -7
  50. package/bundled/copy/cli-reference-index.d.ts.map +1 -1
  51. package/bundled/copy/cli-reference-index.js +2 -62
  52. package/bundled/copy/cli-reference-index.js.map +1 -1
  53. package/bundled/copy/kubbisec-shell-copy.d.ts +6 -11
  54. package/bundled/copy/kubbisec-shell-copy.js +1 -1
  55. package/bundled/extensions/cli-local-shared.d.ts +36 -45
  56. package/bundled/extensions/cli-local-shared.d.ts.map +1 -1
  57. package/bundled/extensions/cli-local-shared.js +129 -128
  58. package/bundled/extensions/cli-local-shared.js.map +1 -1
  59. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts +15 -18
  60. package/bundled/extensions/kubbisec-aspm-local.extension.d.ts.map +1 -1
  61. package/bundled/extensions/kubbisec-aspm-local.extension.js +106 -121
  62. package/bundled/extensions/kubbisec-aspm-local.extension.js.map +1 -1
  63. package/bundled/extensions/kubbisec-brand.extension.d.ts +1 -1
  64. package/bundled/extensions/kubbisec-brand.extension.js +25 -25
  65. package/bundled/extensions/kubbisec-byok-provider.extension.d.ts +1 -1
  66. package/bundled/extensions/kubbisec-byok-provider.extension.js +2 -2
  67. package/bundled/extensions/kubbisec-clarify.extension.d.ts +35 -64
  68. package/bundled/extensions/kubbisec-clarify.extension.d.ts.map +1 -1
  69. package/bundled/extensions/kubbisec-clarify.extension.js +305 -323
  70. package/bundled/extensions/kubbisec-clarify.extension.js.map +1 -1
  71. package/bundled/extensions/kubbisec-exit.extension.d.ts +1 -1
  72. package/bundled/extensions/kubbisec-exit.extension.js +32 -29
  73. package/bundled/extensions/kubbisec-extended-context.extension.d.ts +1 -1
  74. package/bundled/extensions/kubbisec-extended-context.extension.js +43 -56
  75. package/bundled/extensions/kubbisec-footer.extension.d.ts +14 -14
  76. package/bundled/extensions/kubbisec-footer.extension.d.ts.map +1 -1
  77. package/bundled/extensions/kubbisec-footer.extension.js +215 -205
  78. package/bundled/extensions/kubbisec-footer.extension.js.map +1 -1
  79. package/bundled/extensions/kubbisec-github-local.extension.d.ts +18 -29
  80. package/bundled/extensions/kubbisec-github-local.extension.d.ts.map +1 -1
  81. package/bundled/extensions/kubbisec-github-local.extension.js +457 -129
  82. package/bundled/extensions/kubbisec-github-local.extension.js.map +1 -1
  83. package/bundled/extensions/kubbisec-llm-config.extension.d.ts +1 -1
  84. package/bundled/extensions/kubbisec-llm-config.extension.js +181 -200
  85. package/bundled/extensions/kubbisec-memory.extension.d.ts +7 -9
  86. package/bundled/extensions/kubbisec-memory.extension.d.ts.map +1 -1
  87. package/bundled/extensions/kubbisec-memory.extension.js +95 -88
  88. package/bundled/extensions/kubbisec-naus-local.extension.d.ts +15 -18
  89. package/bundled/extensions/kubbisec-naus-local.extension.d.ts.map +1 -1
  90. package/bundled/extensions/kubbisec-naus-local.extension.js +103 -135
  91. package/bundled/extensions/kubbisec-naus-local.extension.js.map +1 -1
  92. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts +21 -31
  93. package/bundled/extensions/kubbisec-platform-tools.extension.d.ts.map +1 -1
  94. package/bundled/extensions/kubbisec-platform-tools.extension.js +152 -152
  95. package/bundled/extensions/kubbisec-platform-tools.extension.js.map +1 -1
  96. package/bundled/extensions/kubbisec-runtime-status.extension.d.ts +8 -10
  97. package/bundled/extensions/kubbisec-runtime-status.extension.js +13 -15
  98. package/bundled/extensions/kubbisec-scope.extension.d.ts +7 -12
  99. package/bundled/extensions/kubbisec-scope.extension.js +13 -13
  100. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts +16 -27
  101. package/bundled/extensions/kubbisec-skill-mentions.extension.d.ts.map +1 -1
  102. package/bundled/extensions/kubbisec-skill-mentions.extension.js +64 -73
  103. package/bundled/extensions/kubbisec-skill-mentions.extension.js.map +1 -1
  104. package/bundled/extensions/kubbisec-skill-telemetry.extension.d.ts +3 -2
  105. package/bundled/extensions/kubbisec-skill-telemetry.extension.js +64 -59
  106. package/bundled/extensions/kubbisec-theme-lock.extension.d.ts +1 -1
  107. package/bundled/extensions/kubbisec-theme-lock.extension.js +34 -33
  108. package/bundled/extensions/kubbisec-ui.extension.d.ts +1 -1
  109. package/bundled/extensions/kubbisec-ui.extension.d.ts.map +1 -1
  110. package/bundled/extensions/kubbisec-ui.extension.js +122 -116
  111. package/bundled/extensions/kubbisec-ui.extension.js.map +1 -1
  112. package/bundled/extensions/kubbisec-workflow.extension.d.ts +18 -20
  113. package/bundled/extensions/kubbisec-workflow.extension.d.ts.map +1 -1
  114. package/bundled/extensions/kubbisec-workflow.extension.js +140 -138
  115. package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts +1 -0
  116. package/bundled/node_modules/@aspm/shared/dist/ai/index.d.ts.map +1 -1
  117. package/bundled/node_modules/@aspm/shared/dist/ai/index.js +1 -0
  118. package/bundled/node_modules/@aspm/shared/dist/ai/index.js.map +1 -1
  119. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts +7 -0
  120. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.d.ts.map +1 -0
  121. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js +30 -0
  122. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-assistant-system-prompt.js.map +1 -0
  123. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts +7 -0
  124. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.d.ts.map +1 -0
  125. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.js +14 -0
  126. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/build-chat-system-prompt.js.map +1 -0
  127. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.d.ts +6 -0
  128. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.d.ts.map +1 -0
  129. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.js +65 -0
  130. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/cli-reference-index.js.map +1 -0
  131. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts +8 -0
  132. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.d.ts.map +1 -0
  133. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.js +29 -0
  134. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/format-mcp-knowledge.js.map +1 -0
  135. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.d.ts +7 -0
  136. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.d.ts.map +1 -0
  137. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.js +16 -0
  138. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/index.js.map +1 -0
  139. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.d.ts +2 -0
  140. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.d.ts.map +1 -0
  141. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.js +36 -0
  142. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mcp-instructions.js.map +1 -0
  143. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.d.ts +6 -0
  144. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.d.ts.map +1 -0
  145. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.js +32 -0
  146. package/bundled/node_modules/@aspm/shared/dist/ai/product-knowledge/mental-map.js.map +1 -0
  147. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.d.ts +12 -0
  148. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.d.ts.map +1 -0
  149. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.js +93 -0
  150. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-groups.js.map +1 -0
  151. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.d.ts +13 -0
  152. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.d.ts.map +1 -0
  153. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.js +79 -0
  154. package/bundled/node_modules/@aspm/shared/dist/api-key/api-key-scope-presets.js.map +1 -0
  155. package/bundled/node_modules/@aspm/shared/dist/api-key/index.d.ts +4 -0
  156. package/bundled/node_modules/@aspm/shared/dist/api-key/index.d.ts.map +1 -0
  157. package/bundled/node_modules/@aspm/shared/dist/api-key/index.js +20 -0
  158. package/bundled/node_modules/@aspm/shared/dist/api-key/index.js.map +1 -0
  159. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.d.ts +20 -0
  160. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.d.ts.map +1 -0
  161. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.js +78 -0
  162. package/bundled/node_modules/@aspm/shared/dist/api-key/migrate-api-key-metadata.js.map +1 -0
  163. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.d.ts +19 -0
  164. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.d.ts.map +1 -0
  165. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.js +126 -0
  166. package/bundled/node_modules/@aspm/shared/dist/assistant/assistant-thread.js.map +1 -0
  167. package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts +1 -0
  168. package/bundled/node_modules/@aspm/shared/dist/assistant/index.d.ts.map +1 -1
  169. package/bundled/node_modules/@aspm/shared/dist/assistant/index.js +1 -0
  170. package/bundled/node_modules/@aspm/shared/dist/assistant/index.js.map +1 -1
  171. package/bundled/node_modules/@aspm/shared/dist/billing/index.d.ts +2 -0
  172. package/bundled/node_modules/@aspm/shared/dist/billing/index.d.ts.map +1 -0
  173. package/bundled/node_modules/@aspm/shared/dist/billing/index.js +18 -0
  174. package/bundled/node_modules/@aspm/shared/dist/billing/index.js.map +1 -0
  175. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.d.ts +17 -0
  176. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.d.ts.map +1 -0
  177. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.js +30 -0
  178. package/bundled/node_modules/@aspm/shared/dist/billing/plan-limits.js.map +1 -0
  179. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.d.ts +42 -0
  180. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.d.ts.map +1 -0
  181. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.js +147 -0
  182. package/bundled/node_modules/@aspm/shared/dist/ci/ci-job-dependencies.js.map +1 -0
  183. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.d.ts +12 -0
  184. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.d.ts.map +1 -0
  185. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.js +70 -0
  186. package/bundled/node_modules/@aspm/shared/dist/ci/git-checkout-log-policy.js.map +1 -0
  187. package/bundled/node_modules/@aspm/shared/dist/ci/index.d.ts +4 -0
  188. package/bundled/node_modules/@aspm/shared/dist/ci/index.d.ts.map +1 -0
  189. package/bundled/node_modules/@aspm/shared/dist/ci/index.js +20 -0
  190. package/bundled/node_modules/@aspm/shared/dist/ci/index.js.map +1 -0
  191. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.d.ts +16 -0
  192. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.d.ts.map +1 -0
  193. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.js +45 -0
  194. package/bundled/node_modules/@aspm/shared/dist/ci/kubbisec-ci-execution-env.js.map +1 -0
  195. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts +1 -0
  196. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.d.ts.map +1 -1
  197. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js +6 -0
  198. package/bundled/node_modules/@aspm/shared/dist/dto/create-report.dto.js.map +1 -1
  199. package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts +5 -3
  200. package/bundled/node_modules/@aspm/shared/dist/dto/index.d.ts.map +1 -1
  201. package/bundled/node_modules/@aspm/shared/dist/dto/index.js +5 -3
  202. package/bundled/node_modules/@aspm/shared/dist/dto/index.js.map +1 -1
  203. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.d.ts +9 -0
  204. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.d.ts.map +1 -0
  205. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.js +52 -0
  206. package/bundled/node_modules/@aspm/shared/dist/dto/update-project.dto.js.map +1 -0
  207. package/bundled/node_modules/@aspm/shared/dist/enums.d.ts +3 -1
  208. package/bundled/node_modules/@aspm/shared/dist/enums.d.ts.map +1 -1
  209. package/bundled/node_modules/@aspm/shared/dist/enums.js +4 -0
  210. package/bundled/node_modules/@aspm/shared/dist/enums.js.map +1 -1
  211. package/bundled/node_modules/@aspm/shared/dist/index.d.ts +8 -2
  212. package/bundled/node_modules/@aspm/shared/dist/index.d.ts.map +1 -1
  213. package/bundled/node_modules/@aspm/shared/dist/index.js +8 -2
  214. package/bundled/node_modules/@aspm/shared/dist/index.js.map +1 -1
  215. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.d.ts +22 -0
  216. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.d.ts.map +1 -0
  217. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.js +52 -0
  218. package/bundled/node_modules/@aspm/shared/dist/mcp/constants.js.map +1 -0
  219. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.d.ts +37 -0
  220. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.d.ts.map +1 -0
  221. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.js +51 -0
  222. package/bundled/node_modules/@aspm/shared/dist/mcp/oauth-metadata.js.map +1 -0
  223. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.d.ts +7 -4
  224. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.d.ts.map +1 -1
  225. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.js +15 -7
  226. package/bundled/node_modules/@aspm/shared/dist/project-scanner-summary.js.map +1 -1
  227. package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts +1 -0
  228. package/bundled/node_modules/@aspm/shared/dist/rbac/index.d.ts.map +1 -1
  229. package/bundled/node_modules/@aspm/shared/dist/rbac/index.js +1 -0
  230. package/bundled/node_modules/@aspm/shared/dist/rbac/index.js.map +1 -1
  231. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.d.ts.map +1 -1
  232. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js +2 -0
  233. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permission-descriptions.js.map +1 -1
  234. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts +1 -1
  235. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.d.ts.map +1 -1
  236. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js +2 -0
  237. package/bundled/node_modules/@aspm/shared/dist/rbac/kubbisec-permissions.js.map +1 -1
  238. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.d.ts +8 -0
  239. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.d.ts.map +1 -0
  240. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.js +19 -0
  241. package/bundled/node_modules/@aspm/shared/dist/rbac/member-quota.js.map +1 -0
  242. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.d.ts.map +1 -1
  243. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js +4 -0
  244. package/bundled/node_modules/@aspm/shared/dist/rbac/resolve-org-permissions.js.map +1 -1
  245. package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts +1 -0
  246. package/bundled/node_modules/@aspm/shared/dist/redaction.d.ts.map +1 -1
  247. package/bundled/node_modules/@aspm/shared/dist/redaction.js +1 -0
  248. package/bundled/node_modules/@aspm/shared/dist/redaction.js.map +1 -1
  249. package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.d.ts.map +1 -1
  250. package/bundled/node_modules/@aspm/shared/dist/security/aspm-gate-rules.js.map +1 -1
  251. package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.d.ts.map +1 -1
  252. package/bundled/node_modules/@aspm/shared/dist/security/build-aspm-security-matrix-pipeline-yaml.js.map +1 -1
  253. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.d.ts.map +1 -1
  254. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js +2 -2
  255. package/bundled/node_modules/@aspm/shared/dist/security/build-github-security-workflow-yaml.js.map +1 -1
  256. package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts +2 -2
  257. package/bundled/node_modules/@aspm/shared/dist/security/index.d.ts.map +1 -1
  258. package/bundled/node_modules/@aspm/shared/dist/security/index.js +2 -2
  259. package/bundled/node_modules/@aspm/shared/dist/security/index.js.map +1 -1
  260. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts +4 -0
  261. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.d.ts.map +1 -0
  262. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js +10 -0
  263. package/bundled/node_modules/@aspm/shared/dist/shared-project/constants.js.map +1 -0
  264. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts +4 -0
  265. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.d.ts.map +1 -0
  266. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js +20 -0
  267. package/bundled/node_modules/@aspm/shared/dist/shared-project/index.js.map +1 -0
  268. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts +2 -0
  269. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.d.ts.map +1 -0
  270. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js +9 -0
  271. package/bundled/node_modules/@aspm/shared/dist/shared-project/redact-log-lines.js.map +1 -0
  272. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts +3 -0
  273. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.d.ts.map +1 -0
  274. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js +18 -0
  275. package/bundled/node_modules/@aspm/shared/dist/shared-project/share-prefix.js.map +1 -0
  276. package/bundled/node_modules/@aspm/shared/package.json +27 -5
  277. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js +2 -2
  278. package/bundled/node_modules/@kubbisec/chat-memory/dist/sanitizer.js.map +1 -1
  279. package/bundled/node_modules/@kubbisec/chat-memory/package.json +4 -4
  280. package/bundled/node_modules/@kubbisec/home/dist/migrate.d.ts.map +1 -1
  281. package/bundled/node_modules/@kubbisec/home/dist/migrate.js +1 -1
  282. package/bundled/node_modules/@kubbisec/home/dist/migrate.js.map +1 -1
  283. package/bundled/node_modules/@kubbisec/home/package.json +3 -3
  284. package/bundled/resolve-bundled-dist-root.js +130 -122
  285. package/bundled/resolve-bundled-dist-root.js.map +1 -1
  286. package/bundled/skills/aspm-platform/SKILL.md +3 -1
  287. package/bundled/skills/at-path-mentions.d.ts +1 -1
  288. package/bundled/skills/at-path-mentions.js +153 -146
  289. package/bundled/skills/chat-mention-render.d.ts +2 -2
  290. package/bundled/skills/chat-mention-render.js +126 -121
  291. package/bundled/skills/chat-mentions.d.ts +8 -17
  292. package/bundled/skills/chat-mentions.js +76 -76
  293. package/bundled/skills/github-local/SKILL.md +5 -5
  294. package/bundled/skills/kubbisec-resource-router/SKILL.md +3 -0
  295. package/bundled/skills/list-bundled-skills.d.ts +3 -3
  296. package/bundled/skills/list-bundled-skills.js +35 -33
  297. package/bundled/skills/naus-pipelines/SKILL.md +11 -10
  298. package/bundled/skills/remediation/SKILL.md +1 -1
  299. package/bundled/skills/skill-mention.d.ts +2 -10
  300. package/bundled/skills/skill-mention.js +2 -10
  301. package/bundled/theme/clear-terminal.d.ts +1 -1
  302. package/bundled/theme/clear-terminal.js +4 -3
  303. package/bundled/theme/footer-render-hook.d.ts +1 -1
  304. package/bundled/theme/footer-render-hook.js +3 -3
  305. package/bundled/theme/kubbisec-brand-fg.d.ts +1 -1
  306. package/bundled/theme/kubbisec-brand-fg.js +2 -2
  307. package/bundled/theme/kubbisec-menu-themes.d.ts +7 -7
  308. package/bundled/theme/kubbisec-menu-themes.js +31 -30
  309. package/bundled/theme/kubbisec-theme-name.d.ts +1 -1
  310. package/bundled/theme/kubbisec-theme-name.js +1 -1
  311. package/bundled/theme/patch-pi-settings-theme.runtime.d.ts +1 -1
  312. package/bundled/theme/patch-pi-settings-theme.runtime.js +10 -11
  313. package/bundled/theme/render-compact-header.d.ts +5 -13
  314. package/bundled/theme/render-compact-header.js +128 -126
  315. package/bundled/theme/render-compact-header.js.map +1 -1
  316. package/bundled/workflow/session-workflow-mode.d.ts +1 -1
  317. package/bundled/workflow/session-workflow-mode.js +33 -33
  318. package/package.json +1 -1
  319. package/bundled/clarify/clarify-gate-state.d.ts +0 -3
  320. package/bundled/clarify/clarify-gate-state.d.ts.map +0 -1
  321. package/bundled/clarify/clarify-gate-state.js +0 -9
  322. package/bundled/clarify/clarify-gate-state.js.map +0 -1
  323. package/bundled/clarify/clarify-gate.d.ts +0 -35
  324. package/bundled/clarify/clarify-gate.d.ts.map +0 -1
  325. package/bundled/clarify/clarify-gate.js +0 -159
  326. package/bundled/clarify/clarify-gate.js.map +0 -1
  327. package/bundled/clarify/clarify-select-panel.d.ts +0 -21
  328. package/bundled/clarify/clarify-select-panel.d.ts.map +0 -1
  329. package/bundled/clarify/clarify-select-panel.js +0 -80
  330. package/bundled/clarify/clarify-select-panel.js.map +0 -1
  331. package/bundled/clarify/clarify-ui-state.d.ts +0 -23
  332. package/bundled/clarify/clarify-ui-state.d.ts.map +0 -1
  333. package/bundled/clarify/clarify-ui-state.js +0 -48
  334. package/bundled/clarify/clarify-ui-state.js.map +0 -1
  335. package/bundled/clarify/parse-clarify-answer.d.ts +0 -32
  336. package/bundled/clarify/parse-clarify-answer.d.ts.map +0 -1
  337. package/bundled/clarify/parse-clarify-answer.js +0 -51
  338. package/bundled/clarify/parse-clarify-answer.js.map +0 -1
  339. package/bundled/clarify/question-format.d.ts +0 -50
  340. package/bundled/clarify/question-format.d.ts.map +0 -1
  341. package/bundled/clarify/question-format.js +0 -137
  342. package/bundled/clarify/question-format.js.map +0 -1
  343. package/bundled/clarify/questionnaire-tool.d.ts +0 -36
  344. package/bundled/clarify/questionnaire-tool.d.ts.map +0 -1
  345. package/bundled/clarify/questionnaire-tool.js +0 -197
  346. package/bundled/clarify/questionnaire-tool.js.map +0 -1
  347. package/bundled/clarify/scope-discovery.d.ts +0 -12
  348. package/bundled/clarify/scope-discovery.d.ts.map +0 -1
  349. package/bundled/clarify/scope-discovery.js +0 -122
  350. package/bundled/clarify/scope-discovery.js.map +0 -1
  351. package/bundled/clarify/session-questionnaire.d.ts +0 -61
  352. package/bundled/clarify/session-questionnaire.d.ts.map +0 -1
  353. package/bundled/clarify/session-questionnaire.js +0 -364
  354. package/bundled/clarify/session-questionnaire.js.map +0 -1
  355. package/bundled/clarify/session-questionnaire.types.d.ts +0 -49
  356. package/bundled/clarify/session-questionnaire.types.d.ts.map +0 -1
  357. package/bundled/clarify/session-questionnaire.types.js +0 -13
  358. package/bundled/clarify/session-questionnaire.types.js.map +0 -1
@@ -1,69 +1,67 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as os from "node:os";
3
3
  import * as path from "node:path";
4
- import {
5
- DEFAULT_KUBBISEC_API_URL,
6
- getAiStateDir,
7
- getKubbisecConfigPath,
8
- resolveKubbisecApiUrl,
9
- } from "@kubbisec/home";
4
+ import { DEFAULT_KUBBISEC_API_URL, getAiStateDir, getKubbisecConfigPath, resolveKubbisecApiUrl, } from "@kubbisec/home";
10
5
  export function getKubbisecStateDir() {
11
- return getAiStateDir();
6
+ return getAiStateDir();
12
7
  }
13
8
  export function getConfigPath() {
14
- return getKubbisecConfigPath();
9
+ return getKubbisecConfigPath();
15
10
  }
16
11
  export function loadConfig() {
17
- const stateDir = getAiStateDir();
18
- const candidates = [getKubbisecConfigPath(), path.join(stateDir, "kbs.json")];
19
- for (const configFile of candidates) {
20
- try {
21
- if (!fs.existsSync(configFile)) continue;
22
- return JSON.parse(fs.readFileSync(configFile, "utf8"));
23
- } catch {}
24
- }
25
- return {};
12
+ const stateDir = getAiStateDir();
13
+ const candidates = [getKubbisecConfigPath(), path.join(stateDir, "kbs.json")];
14
+ for (const configFile of candidates) {
15
+ try {
16
+ if (!fs.existsSync(configFile))
17
+ continue;
18
+ return JSON.parse(fs.readFileSync(configFile, "utf8"));
19
+ }
20
+ catch { }
21
+ }
22
+ return {};
26
23
  }
27
24
  export function saveConfig(partial) {
28
- const prev = loadConfig();
29
- const next = {
30
- apiUrl: resolveKubbisecApiUrl(partial.apiUrl ?? prev.apiUrl),
31
- apiKey: partial.apiKey ?? prev.apiKey ?? "",
32
- orgId: partial.orgId ?? prev.orgId,
33
- defaultProject: partial.defaultProject ?? prev.defaultProject,
34
- clientId: partial.clientId ?? prev.clientId ?? `kubbisec-${os.hostname()}`,
35
- };
36
- const stateDir = getAiStateDir();
37
- fs.mkdirSync(stateDir, { recursive: true, mode: 0o700 });
38
- const persisted = {
39
- apiKey: next.apiKey,
40
- orgId: next.orgId,
41
- defaultProject: next.defaultProject,
42
- clientId: next.clientId,
43
- };
44
- if (next.apiUrl !== DEFAULT_KUBBISEC_API_URL) {
45
- persisted.apiUrl = next.apiUrl;
46
- }
47
- fs.writeFileSync(getKubbisecConfigPath(), `${JSON.stringify(persisted, null, 2)}\n`, {
48
- mode: 0o600,
49
- });
50
- return next;
25
+ const prev = loadConfig();
26
+ const next = {
27
+ apiUrl: resolveKubbisecApiUrl(partial.apiUrl ?? prev.apiUrl),
28
+ apiKey: partial.apiKey ?? prev.apiKey ?? "",
29
+ orgId: partial.orgId ?? prev.orgId,
30
+ defaultProject: partial.defaultProject ?? prev.defaultProject,
31
+ clientId: partial.clientId ?? prev.clientId ?? `kubbisec-${os.hostname()}`,
32
+ };
33
+ const stateDir = getAiStateDir();
34
+ fs.mkdirSync(stateDir, { recursive: true, mode: 0o700 });
35
+ const persisted = {
36
+ apiKey: next.apiKey,
37
+ orgId: next.orgId,
38
+ defaultProject: next.defaultProject,
39
+ clientId: next.clientId,
40
+ };
41
+ if (next.apiUrl !== DEFAULT_KUBBISEC_API_URL) {
42
+ persisted.apiUrl = next.apiUrl;
43
+ }
44
+ fs.writeFileSync(getKubbisecConfigPath(), `${JSON.stringify(persisted, null, 2)}\n`, {
45
+ mode: 0o600,
46
+ });
47
+ return next;
51
48
  }
52
49
  export function clearConfig() {
53
- const configFile = getKubbisecConfigPath();
54
- if (fs.existsSync(configFile)) fs.unlinkSync(configFile);
50
+ const configFile = getKubbisecConfigPath();
51
+ if (fs.existsSync(configFile))
52
+ fs.unlinkSync(configFile);
55
53
  }
56
54
  export function requireConfig() {
57
- const cfg = loadConfig();
58
- if (!cfg.apiKey?.trim()) {
59
- throw new Error("Not logged in. Run: kubbisec login");
60
- }
61
- return {
62
- apiUrl: resolveKubbisecApiUrl(cfg.apiUrl),
63
- apiKey: cfg.apiKey.trim(),
64
- orgId: cfg.orgId?.trim() || undefined,
65
- defaultProject: cfg.defaultProject?.trim() || undefined,
66
- clientId: cfg.clientId?.trim() || `kubbisec-${os.hostname()}`,
67
- };
55
+ const cfg = loadConfig();
56
+ if (!cfg.apiKey?.trim()) {
57
+ throw new Error("Not logged in. Run: kubbisec login");
58
+ }
59
+ return {
60
+ apiUrl: resolveKubbisecApiUrl(cfg.apiUrl),
61
+ apiKey: cfg.apiKey.trim(),
62
+ orgId: cfg.orgId?.trim() || undefined,
63
+ defaultProject: cfg.defaultProject?.trim() || undefined,
64
+ clientId: cfg.clientId?.trim() || `kubbisec-${os.hostname()}`,
65
+ };
68
66
  }
69
- //# sourceMappingURL=config.js.map
67
+ //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -6,38 +6,28 @@ export declare const LM_STUDIO_PROVIDER_NAME = "LM Studio";
6
6
  export declare const OLLAMA_DEFAULT_HOST = "http://127.0.0.1:11434";
7
7
  export declare const LM_STUDIO_DEFAULT_HOST = "http://127.0.0.1:1234";
8
8
  export type LocalLlmDetectOptions = {
9
- timeoutMs?: number;
10
- ollamaBaseUrl?: string;
11
- lmStudioBaseUrl?: string;
12
- detectOllama?: boolean;
13
- detectLmStudio?: boolean;
9
+ timeoutMs?: number;
10
+ ollamaBaseUrl?: string;
11
+ lmStudioBaseUrl?: string;
12
+ detectOllama?: boolean;
13
+ detectLmStudio?: boolean;
14
14
  };
15
15
  export type LocalLlmDetectResult = {
16
- detected: KubbisecCustomProviderDef[];
17
- ollama: KubbisecCustomProviderDef | null;
18
- lmstudio: KubbisecCustomProviderDef | null;
19
- removedProviderIds: string[];
16
+ detected: KubbisecCustomProviderDef[];
17
+ ollama: KubbisecCustomProviderDef | null;
18
+ lmstudio: KubbisecCustomProviderDef | null;
19
+ removedProviderIds: string[];
20
20
  };
21
21
  export declare function resolveOllamaHost(config?: KubbisecLlmConfig["localLlm"]): string;
22
22
  export declare function resolveLmStudioOpenAiBase(config?: KubbisecLlmConfig["localLlm"]): string;
23
23
  export declare function inferLocalModelReasoning(modelId: string): boolean;
24
24
  export declare function formatLocalModelName(modelId: string): string;
25
- export declare function detectOllamaProvider(
26
- options?: LocalLlmDetectOptions,
27
- ): Promise<KubbisecCustomProviderDef | null>;
28
- export declare function detectLmStudioProvider(
29
- options?: LocalLlmDetectOptions,
30
- ): Promise<KubbisecCustomProviderDef | null>;
25
+ export declare function detectOllamaProvider(options?: LocalLlmDetectOptions): Promise<KubbisecCustomProviderDef | null>;
26
+ export declare function detectLmStudioProvider(options?: LocalLlmDetectOptions): Promise<KubbisecCustomProviderDef | null>;
31
27
  export declare function isLocalLlmAutodetectEnabled(config?: KubbisecLlmConfig): boolean;
32
- export declare function detectLocalLlmProviders(
33
- config?: KubbisecLlmConfig,
34
- overrides?: LocalLlmDetectOptions,
35
- ): Promise<KubbisecCustomProviderDef[]>;
36
- export declare function syncAutodetectedLocalProviders(
37
- cwd?: string,
38
- options?: LocalLlmDetectOptions,
39
- ): Promise<{
40
- config: KubbisecLlmConfig;
41
- result: LocalLlmDetectResult;
28
+ export declare function detectLocalLlmProviders(config?: KubbisecLlmConfig, overrides?: LocalLlmDetectOptions): Promise<KubbisecCustomProviderDef[]>;
29
+ export declare function syncAutodetectedLocalProviders(cwd?: string, options?: LocalLlmDetectOptions): Promise<{
30
+ config: KubbisecLlmConfig;
31
+ result: LocalLlmDetectResult;
42
32
  }>;
43
- //# sourceMappingURL=detect-local-llm-providers.d.ts.map
33
+ //# sourceMappingURL=detect-local-llm-providers.d.ts.map
@@ -1,4 +1,4 @@
1
- import { applyLlmConfigToPiSettings, readLlmConfig, writeLlmConfig } from "./llm-config.js";
1
+ import { applyLlmConfigToPiSettings, readLlmConfig, writeLlmConfig, } from "./llm-config.js";
2
2
  export const OLLAMA_PROVIDER_ID = "ollama";
3
3
  export const LM_STUDIO_PROVIDER_ID = "lmstudio";
4
4
  export const OLLAMA_PROVIDER_NAME = "Ollama";
@@ -6,155 +6,167 @@ export const LM_STUDIO_PROVIDER_NAME = "LM Studio";
6
6
  export const OLLAMA_DEFAULT_HOST = "http://127.0.0.1:11434";
7
7
  export const LM_STUDIO_DEFAULT_HOST = "http://127.0.0.1:1234";
8
8
  export function resolveOllamaHost(config) {
9
- const fromEnv = process.env.OLLAMA_HOST?.trim();
10
- const fromConfig = config?.ollama?.baseUrl?.trim();
11
- const raw = fromConfig || fromEnv || OLLAMA_DEFAULT_HOST;
12
- return raw.replace(/\/+$/, "");
9
+ const fromEnv = process.env.OLLAMA_HOST?.trim();
10
+ const fromConfig = config?.ollama?.baseUrl?.trim();
11
+ const raw = fromConfig || fromEnv || OLLAMA_DEFAULT_HOST;
12
+ return raw.replace(/\/+$/, "");
13
13
  }
14
14
  export function resolveLmStudioOpenAiBase(config) {
15
- const fromEnv = process.env.LM_STUDIO_BASE_URL?.trim() || process.env.LMSTUDIO_BASE_URL?.trim();
16
- const fromConfig = config?.lmstudio?.baseUrl?.trim();
17
- const raw = fromConfig || fromEnv || LM_STUDIO_DEFAULT_HOST;
18
- const trimmed = raw.replace(/\/+$/, "");
19
- return trimmed.endsWith("/v1") ? trimmed : `${trimmed}/v1`;
15
+ const fromEnv = process.env.LM_STUDIO_BASE_URL?.trim() || process.env.LMSTUDIO_BASE_URL?.trim();
16
+ const fromConfig = config?.lmstudio?.baseUrl?.trim();
17
+ const raw = fromConfig || fromEnv || LM_STUDIO_DEFAULT_HOST;
18
+ const trimmed = raw.replace(/\/+$/, "");
19
+ return trimmed.endsWith("/v1") ? trimmed : `${trimmed}/v1`;
20
20
  }
21
21
  export function inferLocalModelReasoning(modelId) {
22
- const lower = modelId.toLowerCase();
23
- return /(?:^|[-_/])(o1|o3|qwq|deepseek-r1|r1|reasoning|think)/.test(lower);
22
+ const lower = modelId.toLowerCase();
23
+ return /(?:^|[-_/])(o1|o3|qwq|deepseek-r1|r1|reasoning|think)/.test(lower);
24
24
  }
25
25
  export function formatLocalModelName(modelId) {
26
- const base = modelId.split(":")[0] ?? modelId;
27
- return base
28
- .split(/[-_/]/)
29
- .filter(Boolean)
30
- .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
31
- .join(" ");
26
+ const base = modelId.split(":")[0] ?? modelId;
27
+ return base
28
+ .split(/[-_/]/)
29
+ .filter(Boolean)
30
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
31
+ .join(" ");
32
32
  }
33
33
  async function fetchJson(url, timeoutMs) {
34
- const controller = new AbortController();
35
- const timer = setTimeout(() => controller.abort(), timeoutMs);
36
- try {
37
- const response = await fetch(url, {
38
- signal: controller.signal,
39
- headers: { Accept: "application/json" },
40
- });
41
- if (!response.ok) return null;
42
- return await response.json();
43
- } catch {
44
- return null;
45
- } finally {
46
- clearTimeout(timer);
47
- }
34
+ const controller = new AbortController();
35
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
36
+ try {
37
+ const response = await fetch(url, {
38
+ signal: controller.signal,
39
+ headers: { Accept: "application/json" },
40
+ });
41
+ if (!response.ok)
42
+ return null;
43
+ return (await response.json());
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ finally {
49
+ clearTimeout(timer);
50
+ }
48
51
  }
49
52
  function toLocalModelDef(modelId) {
50
- const id = modelId.trim();
51
- return {
52
- id,
53
- name: formatLocalModelName(id),
54
- reasoning: inferLocalModelReasoning(id),
55
- contextWindow: 128_000,
56
- maxTokens: 8_192,
57
- };
53
+ const id = modelId.trim();
54
+ return {
55
+ id,
56
+ name: formatLocalModelName(id),
57
+ reasoning: inferLocalModelReasoning(id),
58
+ contextWindow: 128_000,
59
+ maxTokens: 8_192,
60
+ };
58
61
  }
59
62
  export async function detectOllamaProvider(options = {}) {
60
- if (options.detectOllama === false) return null;
61
- const host = (options.ollamaBaseUrl ?? resolveOllamaHost()).replace(/\/+$/, "");
62
- const timeoutMs = options.timeoutMs ?? 900;
63
- const tags = await fetchJson(`${host}/api/tags`, timeoutMs);
64
- const models = (tags?.models ?? [])
65
- .map((entry) => entry.name?.trim() || entry.model?.trim())
66
- .filter((name) => Boolean(name));
67
- if (models.length === 0) return null;
68
- const uniqueModels = [...new Set(models)].map(toLocalModelDef);
69
- return {
70
- id: OLLAMA_PROVIDER_ID,
71
- name: OLLAMA_PROVIDER_NAME,
72
- baseUrl: `${host}/v1`,
73
- apiKey: "ollama",
74
- api: "openai-completions",
75
- models: uniqueModels,
76
- autodetected: true,
77
- detectSource: "ollama",
78
- };
63
+ if (options.detectOllama === false)
64
+ return null;
65
+ const host = (options.ollamaBaseUrl ?? resolveOllamaHost()).replace(/\/+$/, "");
66
+ const timeoutMs = options.timeoutMs ?? 900;
67
+ const tags = await fetchJson(`${host}/api/tags`, timeoutMs);
68
+ const models = (tags?.models ?? [])
69
+ .map((entry) => entry.name?.trim() || entry.model?.trim())
70
+ .filter((name) => Boolean(name));
71
+ if (models.length === 0)
72
+ return null;
73
+ const uniqueModels = [...new Set(models)].map(toLocalModelDef);
74
+ return {
75
+ id: OLLAMA_PROVIDER_ID,
76
+ name: OLLAMA_PROVIDER_NAME,
77
+ baseUrl: `${host}/v1`,
78
+ apiKey: "ollama",
79
+ api: "openai-completions",
80
+ models: uniqueModels,
81
+ autodetected: true,
82
+ detectSource: "ollama",
83
+ };
79
84
  }
80
85
  export async function detectLmStudioProvider(options = {}) {
81
- if (options.detectLmStudio === false) return null;
82
- const baseUrl = (options.lmStudioBaseUrl ?? resolveLmStudioOpenAiBase()).replace(/\/+$/, "");
83
- const timeoutMs = options.timeoutMs ?? 900;
84
- const listing = await fetchJson(`${baseUrl}/models`, timeoutMs);
85
- const models = (listing?.data ?? []).map((entry) => entry.id?.trim()).filter((id) => Boolean(id));
86
- if (models.length === 0) return null;
87
- const uniqueModels = [...new Set(models)].map(toLocalModelDef);
88
- return {
89
- id: LM_STUDIO_PROVIDER_ID,
90
- name: LM_STUDIO_PROVIDER_NAME,
91
- baseUrl,
92
- apiKey: "lm-studio",
93
- api: "openai-completions",
94
- models: uniqueModels,
95
- autodetected: true,
96
- detectSource: "lmstudio",
97
- };
86
+ if (options.detectLmStudio === false)
87
+ return null;
88
+ const baseUrl = (options.lmStudioBaseUrl ?? resolveLmStudioOpenAiBase()).replace(/\/+$/, "");
89
+ const timeoutMs = options.timeoutMs ?? 900;
90
+ const listing = await fetchJson(`${baseUrl}/models`, timeoutMs);
91
+ const models = (listing?.data ?? [])
92
+ .map((entry) => entry.id?.trim())
93
+ .filter((id) => Boolean(id));
94
+ if (models.length === 0)
95
+ return null;
96
+ const uniqueModels = [...new Set(models)].map(toLocalModelDef);
97
+ return {
98
+ id: LM_STUDIO_PROVIDER_ID,
99
+ name: LM_STUDIO_PROVIDER_NAME,
100
+ baseUrl,
101
+ apiKey: "lm-studio",
102
+ api: "openai-completions",
103
+ models: uniqueModels,
104
+ autodetected: true,
105
+ detectSource: "lmstudio",
106
+ };
98
107
  }
99
108
  export function isLocalLlmAutodetectEnabled(config = readLlmConfig()) {
100
- if (process.env.KUBBISEC_LLM_AUTODETECT === "0") return false;
101
- if (process.env.KUBBISEC_LLM_AUTODETECT === "1") return true;
102
- return config.localLlm?.autoDetect !== false;
109
+ if (process.env.KUBBISEC_LLM_AUTODETECT === "0")
110
+ return false;
111
+ if (process.env.KUBBISEC_LLM_AUTODETECT === "1")
112
+ return true;
113
+ return config.localLlm?.autoDetect !== false;
103
114
  }
104
115
  export async function detectLocalLlmProviders(config = readLlmConfig(), overrides = {}) {
105
- if (!isLocalLlmAutodetectEnabled(config)) return [];
106
- const local = config.localLlm;
107
- const timeoutMs = overrides.timeoutMs ?? 900;
108
- const [ollama, lmstudio] = await Promise.all([
109
- detectOllamaProvider({
110
- timeoutMs,
111
- ollamaBaseUrl: overrides.ollamaBaseUrl ?? local?.ollama?.baseUrl,
112
- detectOllama: local?.ollama?.enabled !== false && overrides.detectOllama !== false,
113
- }),
114
- detectLmStudioProvider({
115
- timeoutMs,
116
- lmStudioBaseUrl: overrides.lmStudioBaseUrl ?? local?.lmstudio?.baseUrl,
117
- detectLmStudio: local?.lmstudio?.enabled !== false && overrides.detectLmStudio !== false,
118
- }),
119
- ]);
120
- return [ollama, lmstudio].filter((provider) => provider != null);
116
+ if (!isLocalLlmAutodetectEnabled(config))
117
+ return [];
118
+ const local = config.localLlm;
119
+ const timeoutMs = overrides.timeoutMs ?? 900;
120
+ const [ollama, lmstudio] = await Promise.all([
121
+ detectOllamaProvider({
122
+ timeoutMs,
123
+ ollamaBaseUrl: overrides.ollamaBaseUrl ?? local?.ollama?.baseUrl,
124
+ detectOllama: local?.ollama?.enabled !== false && overrides.detectOllama !== false,
125
+ }),
126
+ detectLmStudioProvider({
127
+ timeoutMs,
128
+ lmStudioBaseUrl: overrides.lmStudioBaseUrl ?? local?.lmstudio?.baseUrl,
129
+ detectLmStudio: local?.lmstudio?.enabled !== false && overrides.detectLmStudio !== false,
130
+ }),
131
+ ]);
132
+ return [ollama, lmstudio].filter((provider) => provider != null);
121
133
  }
122
134
  function mergeDetectedProviders(current, detected) {
123
- const manual = current.filter((provider) => !provider.autodetected);
124
- const manualIds = new Set(manual.map((provider) => provider.id));
125
- const detectedIds = new Set(detected.map((provider) => provider.id));
126
- const removedProviderIds = current
127
- .filter((provider) => provider.autodetected && !detectedIds.has(provider.id))
128
- .map((provider) => provider.id);
129
- const next = [...manual];
130
- for (const provider of detected) {
131
- if (manualIds.has(provider.id)) continue;
132
- const index = next.findIndex((entry) => entry.id === provider.id && entry.autodetected);
133
- if (index >= 0) next[index] = provider;
134
- else next.push(provider);
135
- }
136
- return { providers: next, removedProviderIds };
135
+ const manual = current.filter((provider) => !provider.autodetected);
136
+ const manualIds = new Set(manual.map((provider) => provider.id));
137
+ const detectedIds = new Set(detected.map((provider) => provider.id));
138
+ const removedProviderIds = current
139
+ .filter((provider) => provider.autodetected && !detectedIds.has(provider.id))
140
+ .map((provider) => provider.id);
141
+ const next = [...manual];
142
+ for (const provider of detected) {
143
+ if (manualIds.has(provider.id))
144
+ continue;
145
+ const index = next.findIndex((entry) => entry.id === provider.id && entry.autodetected);
146
+ if (index >= 0)
147
+ next[index] = provider;
148
+ else
149
+ next.push(provider);
150
+ }
151
+ return { providers: next, removedProviderIds };
137
152
  }
138
153
  export async function syncAutodetectedLocalProviders(cwd = process.cwd(), options = {}) {
139
- const current = readLlmConfig(cwd);
140
- const detected = await detectLocalLlmProviders(current, options);
141
- const { providers, removedProviderIds } = mergeDetectedProviders(
142
- current.providers ?? [],
143
- detected,
144
- );
145
- const next = { ...current, providers };
146
- writeLlmConfig(cwd, next);
147
- applyLlmConfigToPiSettings(cwd, next);
148
- const ollama = detected.find((provider) => provider.id === OLLAMA_PROVIDER_ID) ?? null;
149
- const lmstudio = detected.find((provider) => provider.id === LM_STUDIO_PROVIDER_ID) ?? null;
150
- return {
151
- config: next,
152
- result: {
153
- detected,
154
- ollama,
155
- lmstudio,
156
- removedProviderIds,
157
- },
158
- };
154
+ const current = readLlmConfig(cwd);
155
+ const detected = await detectLocalLlmProviders(current, options);
156
+ const { providers, removedProviderIds } = mergeDetectedProviders(current.providers ?? [], detected);
157
+ const next = { ...current, providers };
158
+ writeLlmConfig(cwd, next);
159
+ applyLlmConfigToPiSettings(cwd, next);
160
+ const ollama = detected.find((provider) => provider.id === OLLAMA_PROVIDER_ID) ?? null;
161
+ const lmstudio = detected.find((provider) => provider.id === LM_STUDIO_PROVIDER_ID) ?? null;
162
+ return {
163
+ config: next,
164
+ result: {
165
+ detected,
166
+ ollama,
167
+ lmstudio,
168
+ removedProviderIds,
169
+ },
170
+ };
159
171
  }
160
- //# sourceMappingURL=detect-local-llm-providers.js.map
172
+ //# sourceMappingURL=detect-local-llm-providers.js.map
@@ -0,0 +1,20 @@
1
+ export declare const KBS_PROJECT_CONFIG_DIR = ".kbs";
2
+ export declare const KBS_PROJECT_SETTINGS_FILE = "settings.json";
3
+ export declare const KBS_SPECS_DIR = "specs";
4
+ export declare const KBS_PLANS_DIR = "plans";
5
+ export declare const KBS_CONTEXT_DIR = "context";
6
+ export type KbsProjectSettings = {
7
+ quietStartup?: boolean;
8
+ enableSkillCommands?: boolean;
9
+ workflow?: {
10
+ lastSpecSlug?: string;
11
+ lastPlanSlug?: string;
12
+ };
13
+ [key: string]: unknown;
14
+ };
15
+ /** Create `.kbs/specs`, `.kbs/plans`, `.kbs/context` (ART-003). */
16
+ export declare function ensureKbsProjectLayout(cwd: string): void;
17
+ export declare function resolveKbsProjectSettingsPath(cwd: string): string;
18
+ /** Merge KubbiSec defaults into `<cwd>/.kbs/settings.json` without removing user keys. */
19
+ export declare function ensureKbsProjectSettings(cwd?: string): string;
20
+ //# sourceMappingURL=ensure-kbs-project-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-kbs-project-settings.d.ts","sourceRoot":"","sources":["../../src/config/ensure-kbs-project-settings.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AACzD,eAAO,MAAM,aAAa,UAAU,CAAC;AACrC,eAAO,MAAM,aAAa,UAAU,CAAC;AACrC,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKxD;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjE;AAeD,0FAA0F;AAC1F,wBAAgB,wBAAwB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAcpE"}
@@ -0,0 +1,46 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ export const KBS_PROJECT_CONFIG_DIR = ".kbs";
4
+ export const KBS_PROJECT_SETTINGS_FILE = "settings.json";
5
+ export const KBS_SPECS_DIR = "specs";
6
+ export const KBS_PLANS_DIR = "plans";
7
+ export const KBS_CONTEXT_DIR = "context";
8
+ /** Create `.kbs/specs`, `.kbs/plans`, `.kbs/context` (ART-003). */
9
+ export function ensureKbsProjectLayout(cwd) {
10
+ const base = path.join(cwd, KBS_PROJECT_CONFIG_DIR);
11
+ for (const sub of [KBS_SPECS_DIR, KBS_PLANS_DIR, KBS_CONTEXT_DIR]) {
12
+ fs.mkdirSync(path.join(base, sub), { recursive: true, mode: 0o755 });
13
+ }
14
+ }
15
+ export function resolveKbsProjectSettingsPath(cwd) {
16
+ return path.join(cwd, KBS_PROJECT_CONFIG_DIR, KBS_PROJECT_SETTINGS_FILE);
17
+ }
18
+ function readExistingSettings(filePath) {
19
+ try {
20
+ const raw = fs.readFileSync(filePath, "utf8");
21
+ const parsed = JSON.parse(raw);
22
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
23
+ return parsed;
24
+ }
25
+ }
26
+ catch {
27
+ /* missing or invalid — start fresh */
28
+ }
29
+ return {};
30
+ }
31
+ /** Merge KubbiSec defaults into `<cwd>/.kbs/settings.json` without removing user keys. */
32
+ export function ensureKbsProjectSettings(cwd = process.cwd()) {
33
+ const dir = path.join(cwd, KBS_PROJECT_CONFIG_DIR);
34
+ const filePath = resolveKbsProjectSettingsPath(cwd);
35
+ fs.mkdirSync(dir, { recursive: true, mode: 0o755 });
36
+ ensureKbsProjectLayout(cwd);
37
+ const existing = readExistingSettings(filePath);
38
+ const merged = {
39
+ ...existing,
40
+ quietStartup: true,
41
+ enableSkillCommands: false,
42
+ };
43
+ fs.writeFileSync(filePath, `${JSON.stringify(merged, null, 2)}\n`, "utf8");
44
+ return filePath;
45
+ }
46
+ //# sourceMappingURL=ensure-kbs-project-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-kbs-project-settings.js","sourceRoot":"","sources":["../../src/config/ensure-kbs-project-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC;AACzD,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AAYzC,mEAAmE;AACnE,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;QAClE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,MAA4B,CAAC;QACtC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,wBAAwB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;IACpD,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAE5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,MAAM,GAAuB;QACjC,GAAG,QAAQ;QACX,YAAY,EAAE,IAAI;QAClB,mBAAmB,EAAE,KAAK;KAC3B,CAAC;IACF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -5,25 +5,27 @@ export declare const KUBBISEC_PROJECT_SETTINGS_FILE = "settings.json";
5
5
  export declare const KUBBISEC_SPECS_DIR = "specs";
6
6
  export declare const KUBBISEC_PLANS_DIR = "plans";
7
7
  export declare const KUBBISEC_CONTEXT_DIR = "context";
8
+ export declare const KUBBISEC_WORKTREES_DIR = "worktrees";
8
9
  export type KubbisecProjectSettings = {
9
- theme?: string;
10
- quietStartup?: boolean;
11
- enableSkillCommands?: boolean;
12
- workflow?: {
13
- lastSpecSlug?: string;
14
- lastPlanSlug?: string;
15
- };
16
- [key: string]: unknown;
10
+ theme?: string;
11
+ quietStartup?: boolean;
12
+ enableSkillCommands?: boolean;
13
+ workflow?: {
14
+ lastSpecSlug?: string;
15
+ lastPlanSlug?: string;
16
+ };
17
+ [key: string]: unknown;
17
18
  };
18
19
  /** Create `.kubbisec/specs`, `.kubbisec/plans`, `.kubbisec/context` (ART-003). */
19
20
  export declare function ensureKubbisecProjectLayout(cwd: string): void;
20
21
  export declare function resolveKubbisecProjectSettingsPath(cwd: string): string;
21
22
  /** Merge KubbiSec defaults into `<cwd>/.kubbisec/settings.json` without removing user keys. */
22
23
  export declare function ensureKubbisecProjectSettings(cwd?: string): string;
24
+ export declare function ensureKubbisecGitignore(cwd: string): void;
23
25
  /** @deprecated Use ensureKubbisecProjectSettings */
24
26
  export declare function ensurePiProjectSettings(cwd?: string): string;
25
27
  /** @deprecated Use ensureKubbisecProjectSettings */
26
28
  export declare function ensurePiProjectTheme(cwd?: string): string;
27
29
  /** KubbiSec project settings used when starting the chat runtime. */
28
30
  export declare function ensureKubbisecChatProjectSettings(cwd?: string): void;
29
- //# sourceMappingURL=ensure-kubbisec-project-settings.d.ts.map
31
+ //# sourceMappingURL=ensure-kubbisec-project-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-kubbisec-project-settings.d.ts","sourceRoot":"","sources":["../../src/config/ensure-kubbisec-project-settings.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B,cAAc,CAAC;AACvD,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,cAA8B,CAAC;AACjE,eAAO,MAAM,8BAA8B,kBAAkB,CAAC;AAC9D,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAmBF,kFAAkF;AAClF,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAK7D;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtE;AAeD,+FAA+F;AAC/F,wBAAgB,6BAA6B,CAAC,GAAG,SAAgB,GAAG,MAAM,CAgBzE;AAED,oDAAoD;AACpD,wBAAgB,uBAAuB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAEnE;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAEhE;AAED,qEAAqE;AACrE,wBAAgB,iCAAiC,CAAC,GAAG,SAAgB,GAAG,IAAI,CAG3E"}
1
+ {"version":3,"file":"ensure-kubbisec-project-settings.d.ts","sourceRoot":"","sources":["../../src/config/ensure-kubbisec-project-settings.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B,cAAc,CAAC;AACvD,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,cAA8B,CAAC;AACjE,eAAO,MAAM,8BAA8B,kBAAkB,CAAC;AAC9D,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAmBF,kFAAkF;AAClF,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAU7D;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtE;AAeD,+FAA+F;AAC/F,wBAAgB,6BAA6B,CAAC,GAAG,SAAgB,GAAG,MAAM,CAiBzE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAiBzD;AAED,oDAAoD;AACpD,wBAAgB,uBAAuB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAEnE;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAEhE;AAED,qEAAqE;AACrE,wBAAgB,iCAAiC,CAAC,GAAG,SAAgB,GAAG,IAAI,CAG3E"}