@shipit-ai/cli 1.169.0 → 1.170.0-pr13.00cc956

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 (413) hide show
  1. package/apis/json-schema/ClaudeCodeProxyConfig.yaml +20 -0
  2. package/apis/json-schema/FeatureFlags.yaml +5 -0
  3. package/apis/json-schema/LiteLLMProxyConfig.yaml +17 -0
  4. package/apis/json-schema/LiteLLMProxyRoutingMode.yaml +8 -0
  5. package/apis/json-schema/Settings.yaml +3 -0
  6. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  7. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/ports/output/services/plugin-marketplace.interface.d.ts +46 -0
  9. package/dist/packages/core/src/application/ports/output/services/plugin-marketplace.interface.d.ts.map +1 -0
  10. package/dist/packages/core/src/application/ports/output/services/plugin-marketplace.interface.js +12 -0
  11. package/dist/packages/core/src/application/use-cases/plugins/add-marketplace.use-case.d.ts +16 -0
  12. package/dist/packages/core/src/application/use-cases/plugins/add-marketplace.use-case.d.ts.map +1 -0
  13. package/dist/packages/core/src/application/use-cases/plugins/add-marketplace.use-case.js +34 -0
  14. package/dist/packages/core/src/application/use-cases/plugins/fetch-plugin-catalog.use-case.d.ts +24 -0
  15. package/dist/packages/core/src/application/use-cases/plugins/fetch-plugin-catalog.use-case.d.ts.map +1 -0
  16. package/dist/packages/core/src/application/use-cases/plugins/fetch-plugin-catalog.use-case.js +52 -0
  17. package/dist/packages/core/src/application/use-cases/plugins/install-plugin.use-case.d.ts +17 -0
  18. package/dist/packages/core/src/application/use-cases/plugins/install-plugin.use-case.d.ts.map +1 -0
  19. package/dist/packages/core/src/application/use-cases/plugins/install-plugin.use-case.js +33 -0
  20. package/dist/packages/core/src/application/use-cases/plugins/toggle-plugin.use-case.d.ts +17 -0
  21. package/dist/packages/core/src/application/use-cases/plugins/toggle-plugin.use-case.d.ts.map +1 -0
  22. package/dist/packages/core/src/application/use-cases/plugins/toggle-plugin.use-case.js +33 -0
  23. package/dist/packages/core/src/application/use-cases/plugins/uninstall-plugin.use-case.d.ts +16 -0
  24. package/dist/packages/core/src/application/use-cases/plugins/uninstall-plugin.use-case.d.ts.map +1 -0
  25. package/dist/packages/core/src/application/use-cases/plugins/uninstall-plugin.use-case.js +33 -0
  26. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  27. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -0
  28. package/dist/packages/core/src/domain/generated/output.d.ts +59 -0
  29. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  30. package/dist/packages/core/src/domain/generated/output.js +6 -0
  31. package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/di/modules/services.module.js +13 -0
  33. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts.map +1 -1
  34. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.js +12 -0
  35. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.d.ts.map +1 -1
  36. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.js +22 -0
  37. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +9 -0
  38. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +55 -0
  40. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-litellm-proxy.d.ts +14 -0
  41. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-litellm-proxy.d.ts.map +1 -0
  42. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-litellm-proxy.js +28 -0
  43. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-litellm-proxy-agent-config.d.ts +15 -0
  44. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-litellm-proxy-agent-config.d.ts.map +1 -0
  45. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-litellm-proxy-agent-config.js +32 -0
  46. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  47. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +36 -5
  48. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.d.ts.map +1 -1
  49. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.js +7 -1
  50. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts +4 -1
  51. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  52. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +53 -0
  53. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  54. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +5 -0
  55. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/index.d.ts +4 -0
  56. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/index.d.ts.map +1 -0
  57. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/index.js +3 -0
  58. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.schema.d.ts +78 -0
  59. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.schema.d.ts.map +1 -0
  60. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.schema.js +46 -0
  61. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.service.d.ts +29 -0
  62. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.service.d.ts.map +1 -0
  63. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.service.js +147 -0
  64. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.validators.d.ts +11 -0
  65. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.validators.d.ts.map +1 -0
  66. package/dist/packages/core/src/infrastructure/services/plugin-marketplace/plugin-marketplace.validators.js +47 -0
  67. package/dist/src/presentation/web/app/actions/add-marketplace.d.ts +5 -0
  68. package/dist/src/presentation/web/app/actions/add-marketplace.d.ts.map +1 -0
  69. package/dist/src/presentation/web/app/actions/add-marketplace.js +11 -0
  70. package/dist/src/presentation/web/app/actions/fetch-plugin-catalog.d.ts +5 -0
  71. package/dist/src/presentation/web/app/actions/fetch-plugin-catalog.d.ts.map +1 -0
  72. package/dist/src/presentation/web/app/actions/fetch-plugin-catalog.js +11 -0
  73. package/dist/src/presentation/web/app/actions/install-plugin.d.ts +5 -0
  74. package/dist/src/presentation/web/app/actions/install-plugin.d.ts.map +1 -0
  75. package/dist/src/presentation/web/app/actions/install-plugin.js +11 -0
  76. package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts +5 -0
  77. package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts.map +1 -0
  78. package/dist/src/presentation/web/app/actions/toggle-plugin.js +11 -0
  79. package/dist/src/presentation/web/app/actions/uninstall-plugin.d.ts +5 -0
  80. package/dist/src/presentation/web/app/actions/uninstall-plugin.d.ts.map +1 -0
  81. package/dist/src/presentation/web/app/actions/uninstall-plugin.js +11 -0
  82. package/dist/src/presentation/web/app/plugins/page.d.ts +2 -0
  83. package/dist/src/presentation/web/app/plugins/page.d.ts.map +1 -0
  84. package/dist/src/presentation/web/app/plugins/page.js +23 -0
  85. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
  86. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +1 -0
  87. package/dist/src/presentation/web/components/features/plugins/plugin-card.d.ts +9 -0
  88. package/dist/src/presentation/web/components/features/plugins/plugin-card.d.ts.map +1 -0
  89. package/dist/src/presentation/web/components/features/plugins/plugin-card.js +15 -0
  90. package/dist/src/presentation/web/components/features/plugins/plugin-card.stories.d.ts +17 -0
  91. package/dist/src/presentation/web/components/features/plugins/plugin-card.stories.d.ts.map +1 -0
  92. package/dist/src/presentation/web/components/features/plugins/plugin-card.stories.js +60 -0
  93. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.d.ts +11 -0
  94. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.d.ts.map +1 -0
  95. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.js +33 -0
  96. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.stories.d.ts +18 -0
  97. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.stories.d.ts.map +1 -0
  98. package/dist/src/presentation/web/components/features/plugins/plugin-detail-drawer.stories.js +51 -0
  99. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.d.ts +6 -0
  100. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.d.ts.map +1 -0
  101. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.js +124 -0
  102. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.stories.d.ts +12 -0
  103. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.stories.d.ts.map +1 -0
  104. package/dist/src/presentation/web/components/features/plugins/plugins-page-client.stories.js +24 -0
  105. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
  106. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +7 -0
  107. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
  108. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +2 -0
  109. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.d.ts +6 -0
  110. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.d.ts.map +1 -0
  111. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.js +69 -0
  112. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.d.ts +16 -0
  113. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.d.ts.map +1 -0
  114. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.js +64 -0
  115. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.d.ts +6 -0
  116. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.d.ts.map +1 -0
  117. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.js +73 -0
  118. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.stories.d.ts +15 -0
  119. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.stories.d.ts.map +1 -0
  120. package/dist/src/presentation/web/components/features/settings/litellm-proxy-settings-section.stories.js +29 -0
  121. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  122. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +5 -2
  123. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
  124. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
  125. package/dist/src/presentation/web/components/features/skills/skills-page-client.d.ts.map +1 -1
  126. package/dist/src/presentation/web/components/features/skills/skills-page-client.js +6 -2
  127. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts.map +1 -1
  128. package/dist/src/presentation/web/components/features/tools/tools-page-client.js +23 -4
  129. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  130. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  131. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  132. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +1 -0
  133. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
  134. package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
  135. package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
  136. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  137. package/dist/src/presentation/web/lib/feature-flags.js +6 -0
  138. package/dist/translations/ar/web.json +56 -2
  139. package/dist/translations/de/web.json +56 -2
  140. package/dist/translations/en/web.json +56 -2
  141. package/dist/translations/es/web.json +56 -2
  142. package/dist/translations/fr/web.json +56 -2
  143. package/dist/translations/he/web.json +56 -2
  144. package/dist/translations/pt/web.json +56 -2
  145. package/dist/translations/ru/web.json +56 -2
  146. package/dist/tsconfig.build.tsbuildinfo +1 -1
  147. package/package.json +1 -1
  148. package/web/.next/BUILD_ID +1 -1
  149. package/web/.next/app-path-routes-manifest.json +1 -0
  150. package/web/.next/build-manifest.json +3 -3
  151. package/web/.next/fallback-build-manifest.json +3 -3
  152. package/web/.next/prerender-manifest.json +3 -3
  153. package/web/.next/required-server-files.js +3 -3
  154. package/web/.next/required-server-files.json +3 -3
  155. package/web/.next/routes-manifest.json +6 -0
  156. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  157. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  158. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  159. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  160. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  161. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  162. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +31 -31
  163. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  164. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  165. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  166. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  167. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  168. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  169. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  170. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  171. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  172. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  173. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  174. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  175. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  176. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  177. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  178. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  179. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  180. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +31 -31
  181. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  182. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  183. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  184. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  185. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  186. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  187. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  188. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  189. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  190. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  191. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  192. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  193. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  194. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  195. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  196. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  197. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  198. package/web/.next/server/app/_global-error.html +1 -1
  199. package/web/.next/server/app/_global-error.rsc +1 -1
  200. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  201. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  202. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  203. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  204. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  205. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  206. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  207. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  208. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  209. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  210. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  211. package/web/.next/server/app/api/graph-data/route.js +1 -1
  212. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  213. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +1 -1
  214. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  215. package/web/.next/server/app/api/sessions-batch/route.js +1 -1
  216. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  217. package/web/.next/server/app/plugins/page/app-paths-manifest.json +3 -0
  218. package/web/.next/server/app/plugins/page/build-manifest.json +18 -0
  219. package/web/.next/server/app/plugins/page/next-font-manifest.json +10 -0
  220. package/web/.next/server/app/plugins/page/react-loadable-manifest.json +8 -0
  221. package/web/.next/server/app/plugins/page/server-reference-manifest.json +185 -0
  222. package/web/.next/server/app/plugins/page.js +17 -0
  223. package/web/.next/server/app/plugins/page.js.map +5 -0
  224. package/web/.next/server/app/plugins/page.js.nft.json +1 -0
  225. package/web/.next/server/app/plugins/page_client-reference-manifest.js +3 -0
  226. package/web/.next/server/app/settings/page/server-reference-manifest.json +34 -22
  227. package/web/.next/server/app/settings/page.js +1 -1
  228. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  229. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  230. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  231. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  232. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  233. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  234. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  235. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  236. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  237. package/web/.next/server/app/version/page.js.nft.json +1 -1
  238. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  239. package/web/.next/server/app-paths-manifest.json +1 -0
  240. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js +1 -1
  241. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js.map +1 -1
  242. package/web/.next/server/chunks/{[root-of-the-server]__0zu_byw._.js → [root-of-the-server]__07suer1._.js} +2 -2
  243. package/web/.next/server/chunks/{[root-of-the-server]__0u1jyv9._.js → [root-of-the-server]__0sgzo7y._.js} +2 -2
  244. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  245. package/web/.next/server/chunks/{[root-of-the-server]__08cpfre._.js → [root-of-the-server]__0uxlr84._.js} +2 -2
  246. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  247. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  248. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  249. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  250. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  251. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  252. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0y6lfp8.js +4 -0
  253. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0y6lfp8.js.map +1 -0
  254. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  255. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  256. package/web/.next/server/chunks/ssr/{_04s_q5r._.js → 12k._sonner_dist_index_mjs_0-vmpk5._.js} +2 -2
  257. package/web/.next/server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js.map +1 -0
  258. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0rvrr1j._.js → [root-of-the-server]__0.5ojmt._.js} +2 -2
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js.map +1 -0
  260. package/web/.next/server/chunks/ssr/[root-of-the-server]__04h~gav._.js +3 -0
  261. package/web/.next/server/chunks/ssr/[root-of-the-server]__04h~gav._.js.map +1 -0
  262. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js +1 -1
  263. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js.map +1 -1
  264. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dec29w._.js +3 -0
  265. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dec29w._.js.map +1 -0
  266. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js +1 -1
  267. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js.map +1 -1
  268. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js +1 -1
  269. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js.map +1 -1
  270. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  271. package/web/.next/server/chunks/ssr/[root-of-the-server]__0tq2syh._.js +1 -1
  272. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js +1 -1
  273. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js.map +1 -1
  274. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js +1 -1
  275. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js.map +1 -1
  276. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js +1 -1
  277. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js.map +1 -1
  278. package/web/.next/server/chunks/ssr/_01sesw0._.js +1 -1
  279. package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -1
  280. package/web/.next/server/chunks/ssr/{_00u~.41._.js → _03x4h9e._.js} +2 -2
  281. package/web/.next/server/chunks/ssr/_03x4h9e._.js.map +1 -0
  282. package/web/.next/server/chunks/ssr/{_0~0jkp_._.js → _05fk0a4._.js} +2 -2
  283. package/web/.next/server/chunks/ssr/_05fk0a4._.js.map +1 -0
  284. package/web/.next/server/chunks/ssr/_069y.js._.js +2 -2
  285. package/web/.next/server/chunks/ssr/_069y.js._.js.map +1 -1
  286. package/web/.next/server/chunks/ssr/_083k45~._.js +3 -0
  287. package/web/.next/server/chunks/ssr/_083k45~._.js.map +1 -0
  288. package/web/.next/server/chunks/ssr/_0__4si~._.js +1 -1
  289. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +1 -1
  290. package/web/.next/server/chunks/ssr/_0_m17kl._.js +1 -1
  291. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/_0d4miu.._.js +1 -1
  293. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +1 -1
  294. package/web/.next/server/chunks/ssr/_0e8ern9._.js +1 -1
  295. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/_0i~-084._.js +3 -0
  297. package/web/.next/server/chunks/ssr/_0i~-084._.js.map +1 -0
  298. package/web/.next/server/chunks/ssr/{_0wor25i._.js → _0job75~._.js} +2 -2
  299. package/web/.next/server/chunks/ssr/{_0wor25i._.js.map → _0job75~._.js.map} +1 -1
  300. package/web/.next/server/chunks/ssr/_0jtr2u0._.js +3 -0
  301. package/web/.next/server/chunks/ssr/_0jtr2u0._.js.map +1 -0
  302. package/web/.next/server/chunks/ssr/_0kaec~c._.js +3 -0
  303. package/web/.next/server/chunks/ssr/_0kaec~c._.js.map +1 -0
  304. package/web/.next/server/chunks/ssr/_0o.xc6x._.js +3 -0
  305. package/web/.next/server/chunks/ssr/_0o.xc6x._.js.map +1 -0
  306. package/web/.next/server/chunks/ssr/{_0hw~zvl._.js → _0o_oaao._.js} +2 -2
  307. package/web/.next/server/chunks/ssr/_0o_oaao._.js.map +1 -0
  308. package/web/.next/server/chunks/ssr/_0p3~u8u._.js +2 -2
  309. package/web/.next/server/chunks/ssr/_0p3~u8u._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +1 -1
  311. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/_0rcx2-c._.js +9 -0
  313. package/web/.next/server/chunks/ssr/_0rcx2-c._.js.map +1 -0
  314. package/web/.next/server/chunks/ssr/_0t59q8r._.js +1 -1
  315. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +1 -1
  316. package/web/.next/server/chunks/ssr/_0tcccbb._.js +1 -1
  317. package/web/.next/server/chunks/ssr/_0tcccbb._.js.map +1 -1
  318. package/web/.next/server/chunks/ssr/{_0pa1dkv._.js → _0u3d8.n._.js} +2 -2
  319. package/web/.next/server/chunks/ssr/_0u3d8.n._.js.map +1 -0
  320. package/web/.next/server/chunks/ssr/_0vyfc4b._.js +1 -1
  321. package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -1
  322. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  323. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  324. package/web/.next/server/chunks/ssr/{_09r54oy._.js → _0ygafoy._.js} +2 -2
  325. package/web/.next/server/chunks/ssr/{_09r54oy._.js.map → _0ygafoy._.js.map} +1 -1
  326. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +1 -1
  327. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +1 -1
  328. package/web/.next/server/chunks/ssr/_0~7lwu_._.js +1 -1
  329. package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -1
  330. package/web/.next/server/chunks/ssr/{_01qdxy2._.js → _0~b~4sr._.js} +2 -2
  331. package/web/.next/server/chunks/ssr/{_01qdxy2._.js.map → _0~b~4sr._.js.map} +1 -1
  332. package/web/.next/server/chunks/ssr/_10joy2y._.js +3 -0
  333. package/web/.next/server/chunks/ssr/_10joy2y._.js.map +1 -0
  334. package/web/.next/server/chunks/ssr/_1161g9x._.js +1 -1
  335. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +1 -1
  336. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js +3 -0
  337. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js.map +1 -0
  338. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +1 -1
  339. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +1 -1
  340. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +1 -1
  341. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +1 -1
  342. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_0pjb_re._.js +1 -1
  343. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  344. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  345. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  346. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js +1 -1
  347. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_0aji.op._.js.map +1 -1
  348. package/web/.next/server/middleware-build-manifest.js +3 -3
  349. package/web/.next/server/next-font-manifest.js +1 -1
  350. package/web/.next/server/next-font-manifest.json +3 -0
  351. package/web/.next/server/pages/500.html +1 -1
  352. package/web/.next/server/server-reference-manifest.js +1 -1
  353. package/web/.next/server/server-reference-manifest.json +187 -61
  354. package/web/.next/static/chunks/0.s8cxri-_s9l.js +1 -0
  355. package/web/.next/static/chunks/012cnd7koqv6d.js +7 -0
  356. package/web/.next/static/chunks/{0dq50gtgaj63f.js → 029s48ykt7mw9.js} +1 -1
  357. package/web/.next/static/chunks/{11vbir.u7_zf7.js → 03agfpdm4n_fn.js} +1 -1
  358. package/web/.next/static/chunks/05qti39qqsvzs.js +1 -0
  359. package/web/.next/static/chunks/{0fg~vc93spa9c.js → 07gal-~-zwagj.js} +1 -1
  360. package/web/.next/static/chunks/{0u_27fdqa2jeg.js → 0abfw8oib7e3t.js} +1 -1
  361. package/web/.next/static/chunks/{0in4l8mne5y~_.js → 0b2pi58fg3lt3.js} +1 -1
  362. package/web/.next/static/chunks/{121v1_d_dfk2k.js → 0boet02f0igne.js} +1 -1
  363. package/web/.next/static/chunks/0f80ru2bzs3v5.js +1 -0
  364. package/web/.next/static/chunks/{12axopx66pocj.js → 0ibyqd4oceukb.js} +2 -2
  365. package/web/.next/static/chunks/{0v~n9z6b639zm.js → 0jwq.mr-.ltps.js} +1 -1
  366. package/web/.next/static/chunks/0k8m.qcahm63g.js +1 -0
  367. package/web/.next/static/chunks/0kqqf5i.f1-nm.js +1 -0
  368. package/web/.next/static/chunks/0lc0x8kcu46ae.js +1 -0
  369. package/web/.next/static/chunks/{183ehj-b80a~o.js → 0nfd9bvcnbcgl.js} +1 -1
  370. package/web/.next/static/chunks/{1874_wt9rit96.js → 0o5siyl.hsy96.js} +1 -1
  371. package/web/.next/static/chunks/0s0432bko4hq9.js +1 -0
  372. package/web/.next/static/chunks/{0o33urrd3lk~u.js → 0skduwu0tu8qh.js} +1 -1
  373. package/web/.next/static/chunks/0ug478hm-8bog.js +5 -0
  374. package/web/.next/static/chunks/{0yibymrb2j05t.css → 0v7r7y~3e~oo6.css} +1 -1
  375. package/web/.next/static/chunks/{00m_fbc2z1gyi.js → 0~5~-wr7rq8b6.js} +3 -3
  376. package/web/.next/static/chunks/{09f2lesd_dd3~.js → 10gfhk-66cbtu.js} +1 -1
  377. package/web/.next/static/chunks/{0k0j7anrbg-of.js → 10lvozwidvzfo.js} +3 -3
  378. package/web/.next/static/chunks/10rtagfoabp3b.js +1 -0
  379. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qxd563._.js +0 -3
  380. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qxd563._.js.map +0 -1
  381. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rvrr1j._.js.map +0 -1
  382. package/web/.next/server/chunks/ssr/_00u~.41._.js.map +0 -1
  383. package/web/.next/server/chunks/ssr/_04s_q5r._.js.map +0 -1
  384. package/web/.next/server/chunks/ssr/_0a_8rlj._.js +0 -3
  385. package/web/.next/server/chunks/ssr/_0a_8rlj._.js.map +0 -1
  386. package/web/.next/server/chunks/ssr/_0dy8.0k._.js +0 -3
  387. package/web/.next/server/chunks/ssr/_0dy8.0k._.js.map +0 -1
  388. package/web/.next/server/chunks/ssr/_0gdghcr._.js +0 -3
  389. package/web/.next/server/chunks/ssr/_0gdghcr._.js.map +0 -1
  390. package/web/.next/server/chunks/ssr/_0hw~zvl._.js.map +0 -1
  391. package/web/.next/server/chunks/ssr/_0l2~~pi._.js +0 -3
  392. package/web/.next/server/chunks/ssr/_0l2~~pi._.js.map +0 -1
  393. package/web/.next/server/chunks/ssr/_0n.magx._.js +0 -3
  394. package/web/.next/server/chunks/ssr/_0n.magx._.js.map +0 -1
  395. package/web/.next/server/chunks/ssr/_0pa1dkv._.js.map +0 -1
  396. package/web/.next/server/chunks/ssr/_0y8u4.e._.js +0 -9
  397. package/web/.next/server/chunks/ssr/_0y8u4.e._.js.map +0 -1
  398. package/web/.next/server/chunks/ssr/_0~0jkp_._.js.map +0 -1
  399. package/web/.next/static/chunks/0-ud~1jj7chzu.js +0 -7
  400. package/web/.next/static/chunks/0c0dau5pmseko.js +0 -1
  401. package/web/.next/static/chunks/0n3kuj7t_-jzp.js +0 -1
  402. package/web/.next/static/chunks/0pt-d18f7zxvv.js +0 -1
  403. package/web/.next/static/chunks/0xwh.0u-dexsl.js +0 -1
  404. package/web/.next/static/chunks/103xnw203o9k1.js +0 -1
  405. package/web/.next/static/chunks/12pd180jp8zu..js +0 -5
  406. package/web/.next/static/chunks/13fcwhkw7dle2.js +0 -1
  407. package/web/.next/static/chunks/13q1peb_t9vj8.js +0 -1
  408. /package/web/.next/server/chunks/{[root-of-the-server]__0zu_byw._.js.map → [root-of-the-server]__07suer1._.js.map} +0 -0
  409. /package/web/.next/server/chunks/{[root-of-the-server]__0u1jyv9._.js.map → [root-of-the-server]__0sgzo7y._.js.map} +0 -0
  410. /package/web/.next/server/chunks/{[root-of-the-server]__08cpfre._.js.map → [root-of-the-server]__0uxlr84._.js.map} +0 -0
  411. /package/web/.next/static/{SNdaKJ9fpre8tUMRe1jlA → GeXKcODhEHBnDRVLMaAnW}/_buildManifest.js +0 -0
  412. /package/web/.next/static/{SNdaKJ9fpre8tUMRe1jlA → GeXKcODhEHBnDRVLMaAnW}/_clientMiddlewareManifest.js +0 -0
  413. /package/web/.next/static/{SNdaKJ9fpre8tUMRe1jlA → GeXKcODhEHBnDRVLMaAnW}/_ssgManifest.js +0 -0
@@ -0,0 +1,20 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: ClaudeCodeProxyConfig.yaml
3
+ type: object
4
+ properties:
5
+ routingMode:
6
+ $ref: LiteLLMProxyRoutingMode.yaml
7
+ description: How Claude Code routes API traffic through the proxy
8
+ customHeaders:
9
+ type: string
10
+ description: "Newline-separated key: value headers for ANTHROPIC_CUSTOM_HEADERS"
11
+ sonnetModel:
12
+ type: string
13
+ description: Model name override for ANTHROPIC_DEFAULT_SONNET_MODEL
14
+ haikuModel:
15
+ type: string
16
+ description: Model name override for ANTHROPIC_DEFAULT_HAIKU_MODEL
17
+ opusModel:
18
+ type: string
19
+ description: Model name override for ANTHROPIC_DEFAULT_OPUS_MODEL
20
+ description: Per-agent proxy routing config for Claude Code
@@ -30,6 +30,10 @@ properties:
30
30
  type: boolean
31
31
  default: false
32
32
  description: Use the built-in React file manager instead of the native OS folder picker
33
+ plugins:
34
+ type: boolean
35
+ default: false
36
+ description: Enable the Claude Code plugins marketplace browser
33
37
  required:
34
38
  - skills
35
39
  - envDeploy
@@ -38,4 +42,5 @@ required:
38
42
  - adoptBranch
39
43
  - gitRebaseSync
40
44
  - reactFileManager
45
+ - plugins
41
46
  description: Feature flag toggles for runtime feature control
@@ -0,0 +1,17 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: LiteLLMProxyConfig.yaml
3
+ type: object
4
+ properties:
5
+ baseUrl:
6
+ type: string
7
+ description: LiteLLM proxy base URL (e.g., http://localhost:4000)
8
+ apiKey:
9
+ type: string
10
+ description: API key for the LiteLLM proxy (virtual key). Stored in plaintext in SQLite consistent with agent.token pattern.
11
+ marketplaceEnabled:
12
+ type: boolean
13
+ description: Whether to use this proxy for the plugin marketplace
14
+ claudeCode:
15
+ $ref: ClaudeCodeProxyConfig.yaml
16
+ description: Per-agent proxy routing config for Claude Code
17
+ description: LiteLLM proxy configuration for plugin marketplace and agent routing
@@ -0,0 +1,8 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: LiteLLMProxyRoutingMode.yaml
3
+ type: string
4
+ enum:
5
+ - direct
6
+ - proxy
7
+ - passthrough
8
+ description: How agent API traffic is routed through LiteLLM proxy
@@ -36,6 +36,9 @@ properties:
36
36
  fabLayout:
37
37
  $ref: FabLayoutConfig.yaml
38
38
  description: FAB layout configuration (optional, defaults applied at runtime)
39
+ litellmProxy:
40
+ $ref: LiteLLMProxyConfig.yaml
41
+ description: LiteLLM proxy configuration (optional, marketplace disabled when absent)
39
42
  required:
40
43
  - models
41
44
  - user
@@ -22,4 +22,5 @@ export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListE
22
22
  export type { IInteractiveSessionService, StreamChunk, UnsubscribeFn, ChatState, } from './interactive-session-service.interface.js';
23
23
  export type { IEnvironmentDetectorService, DetectedEnvironment, AvailableEditorEntry, AvailableShellEntry, } from './environment-detector.service.js';
24
24
  export type { ISettingsReader } from './settings-reader.interface.js';
25
+ export type { IPluginMarketplaceService, PluginMarketplaceEntry, InstalledPlugin, PluginSource, PluginOperationResult, } from './plugin-marketplace.interface.js';
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EACV,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,qBAAqB,GACtB,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Plugin Marketplace Service Port
3
+ *
4
+ * Interface for browsing and managing Claude Code plugins via a LiteLLM
5
+ * proxy marketplace. All lifecycle operations delegate to the `claude` CLI.
6
+ *
7
+ * NOTE: PluginMarketplaceEntry and InstalledPlugin are external DTOs
8
+ * (LiteLLM API response + Claude CLI output), not ShipIT domain entities.
9
+ * Defining them as TS interfaces in the port is consistent with
10
+ * AvailableTerminalEntry, AvailableEditorEntry patterns.
11
+ */
12
+ export interface PluginSource {
13
+ source: 'github' | 'url' | 'git-subdir';
14
+ repo?: string;
15
+ url?: string;
16
+ path?: string;
17
+ }
18
+ export interface PluginMarketplaceEntry {
19
+ name: string;
20
+ description: string;
21
+ version?: string;
22
+ source: PluginSource;
23
+ category?: string;
24
+ keywords?: string[];
25
+ }
26
+ export interface InstalledPlugin {
27
+ /** e.g., "superpowers@claude-plugins-official" */
28
+ id: string;
29
+ scope: 'user' | 'project' | 'local';
30
+ version?: string;
31
+ enabled: boolean;
32
+ installedAt?: string;
33
+ }
34
+ export interface PluginOperationResult {
35
+ success: boolean;
36
+ error?: string;
37
+ }
38
+ export interface IPluginMarketplaceService {
39
+ fetchCatalog(proxyBaseUrl: string, apiKey?: string): Promise<PluginMarketplaceEntry[]>;
40
+ listInstalled(): Promise<InstalledPlugin[]>;
41
+ installPlugin(pluginId: string, marketplace: string, scope?: string): Promise<PluginOperationResult>;
42
+ uninstallPlugin(pluginId: string, marketplace: string): Promise<PluginOperationResult>;
43
+ togglePlugin(pluginId: string, marketplace: string, enabled: boolean): Promise<PluginOperationResult>;
44
+ addMarketplace(url: string): Promise<PluginOperationResult>;
45
+ }
46
+ //# sourceMappingURL=plugin-marketplace.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-marketplace.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/plugin-marketplace.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,YAAY,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACvF,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5C,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvF,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7D"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Plugin Marketplace Service Port
3
+ *
4
+ * Interface for browsing and managing Claude Code plugins via a LiteLLM
5
+ * proxy marketplace. All lifecycle operations delegate to the `claude` CLI.
6
+ *
7
+ * NOTE: PluginMarketplaceEntry and InstalledPlugin are external DTOs
8
+ * (LiteLLM API response + Claude CLI output), not ShipIT domain entities.
9
+ * Defining them as TS interfaces in the port is consistent with
10
+ * AvailableTerminalEntry, AvailableEditorEntry patterns.
11
+ */
12
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Add Marketplace Use Case
3
+ *
4
+ * Registers a new marketplace URL with the Claude Code CLI.
5
+ * Used by the "Test Connection" button in Settings.
6
+ */
7
+ import type { IPluginMarketplaceService, PluginOperationResult } from '../../ports/output/services/plugin-marketplace.interface.js';
8
+ export interface AddMarketplaceInput {
9
+ url: string;
10
+ }
11
+ export declare class AddMarketplaceUseCase {
12
+ private readonly marketplaceService;
13
+ constructor(marketplaceService: IPluginMarketplaceService);
14
+ execute(input: AddMarketplaceInput): Promise<PluginOperationResult>;
15
+ }
16
+ //# sourceMappingURL=add-marketplace.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-marketplace.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/plugins/add-marketplace.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,6DAA6D,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,yBAAyB;IAG1D,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAG1E"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Add Marketplace Use Case
3
+ *
4
+ * Registers a new marketplace URL with the Claude Code CLI.
5
+ * Used by the "Test Connection" button in Settings.
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
17
+ return function (target, key) { decorator(target, key, paramIndex); }
18
+ };
19
+ import { injectable, inject } from 'tsyringe';
20
+ let AddMarketplaceUseCase = class AddMarketplaceUseCase {
21
+ marketplaceService;
22
+ constructor(marketplaceService) {
23
+ this.marketplaceService = marketplaceService;
24
+ }
25
+ async execute(input) {
26
+ return this.marketplaceService.addMarketplace(input.url);
27
+ }
28
+ };
29
+ AddMarketplaceUseCase = __decorate([
30
+ injectable(),
31
+ __param(0, inject('IPluginMarketplaceService')),
32
+ __metadata("design:paramtypes", [Object])
33
+ ], AddMarketplaceUseCase);
34
+ export { AddMarketplaceUseCase };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Fetch Plugin Catalog Use Case
3
+ *
4
+ * Retrieves the plugin marketplace catalog from the configured LiteLLM proxy
5
+ * and merges it with the list of locally installed plugins.
6
+ *
7
+ * Business Rules:
8
+ * - Reads proxy URL from settings via ISettingsReader
9
+ * - If proxy not configured, returns empty catalog (not an error)
10
+ * - Merges catalog entries with installed plugin state
11
+ */
12
+ import type { ISettingsReader } from '../../ports/output/services/settings-reader.interface.js';
13
+ import type { IPluginMarketplaceService, PluginMarketplaceEntry, InstalledPlugin } from '../../ports/output/services/plugin-marketplace.interface.js';
14
+ export interface FetchPluginCatalogResult {
15
+ plugins: PluginMarketplaceEntry[];
16
+ installedPlugins: InstalledPlugin[];
17
+ }
18
+ export declare class FetchPluginCatalogUseCase {
19
+ private readonly settingsReader;
20
+ private readonly marketplaceService;
21
+ constructor(settingsReader: ISettingsReader, marketplaceService: IPluginMarketplaceService);
22
+ execute(): Promise<FetchPluginCatalogResult>;
23
+ }
24
+ //# sourceMappingURL=fetch-plugin-catalog.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-plugin-catalog.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/plugins/fetch-plugin-catalog.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,eAAe,EAChB,MAAM,6DAA6D,CAAC;AAErE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACrC;AAED,qBACa,yBAAyB;IAGlC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAFlB,cAAc,EAAE,eAAe,EAE/B,kBAAkB,EAAE,yBAAyB;IAG1D,OAAO,IAAI,OAAO,CAAC,wBAAwB,CAAC;CAgBnD"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Fetch Plugin Catalog Use Case
3
+ *
4
+ * Retrieves the plugin marketplace catalog from the configured LiteLLM proxy
5
+ * and merges it with the list of locally installed plugins.
6
+ *
7
+ * Business Rules:
8
+ * - Reads proxy URL from settings via ISettingsReader
9
+ * - If proxy not configured, returns empty catalog (not an error)
10
+ * - Merges catalog entries with installed plugin state
11
+ */
12
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17
+ };
18
+ var __metadata = (this && this.__metadata) || function (k, v) {
19
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
+ };
21
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
22
+ return function (target, key) { decorator(target, key, paramIndex); }
23
+ };
24
+ import { injectable, inject } from 'tsyringe';
25
+ let FetchPluginCatalogUseCase = class FetchPluginCatalogUseCase {
26
+ settingsReader;
27
+ marketplaceService;
28
+ constructor(settingsReader, marketplaceService) {
29
+ this.settingsReader = settingsReader;
30
+ this.marketplaceService = marketplaceService;
31
+ }
32
+ async execute() {
33
+ const settings = this.settingsReader.getSettings();
34
+ const proxyUrl = settings?.litellmProxy?.baseUrl;
35
+ if (!proxyUrl || !settings?.litellmProxy?.marketplaceEnabled) {
36
+ return { plugins: [], installedPlugins: [] };
37
+ }
38
+ const apiKey = settings.litellmProxy.apiKey;
39
+ const [plugins, installedPlugins] = await Promise.all([
40
+ this.marketplaceService.fetchCatalog(proxyUrl, apiKey),
41
+ this.marketplaceService.listInstalled(),
42
+ ]);
43
+ return { plugins, installedPlugins };
44
+ }
45
+ };
46
+ FetchPluginCatalogUseCase = __decorate([
47
+ injectable(),
48
+ __param(0, inject('ISettingsReader')),
49
+ __param(1, inject('IPluginMarketplaceService')),
50
+ __metadata("design:paramtypes", [Object, Object])
51
+ ], FetchPluginCatalogUseCase);
52
+ export { FetchPluginCatalogUseCase };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Install Plugin Use Case
3
+ *
4
+ * Installs a Claude Code plugin via the CLI subprocess.
5
+ */
6
+ import type { IPluginMarketplaceService, PluginOperationResult } from '../../ports/output/services/plugin-marketplace.interface.js';
7
+ export interface InstallPluginInput {
8
+ pluginId: string;
9
+ marketplace: string;
10
+ scope?: string;
11
+ }
12
+ export declare class InstallPluginUseCase {
13
+ private readonly marketplaceService;
14
+ constructor(marketplaceService: IPluginMarketplaceService);
15
+ execute(input: InstallPluginInput): Promise<PluginOperationResult>;
16
+ }
17
+ //# sourceMappingURL=install-plugin.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-plugin.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/plugins/install-plugin.use-case.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,6DAA6D,CAAC;AAErE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,yBAAyB;IAG1D,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAGzE"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Install Plugin Use Case
3
+ *
4
+ * Installs a Claude Code plugin via the CLI subprocess.
5
+ */
6
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
11
+ };
12
+ var __metadata = (this && this.__metadata) || function (k, v) {
13
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14
+ };
15
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
16
+ return function (target, key) { decorator(target, key, paramIndex); }
17
+ };
18
+ import { injectable, inject } from 'tsyringe';
19
+ let InstallPluginUseCase = class InstallPluginUseCase {
20
+ marketplaceService;
21
+ constructor(marketplaceService) {
22
+ this.marketplaceService = marketplaceService;
23
+ }
24
+ async execute(input) {
25
+ return this.marketplaceService.installPlugin(input.pluginId, input.marketplace, input.scope);
26
+ }
27
+ };
28
+ InstallPluginUseCase = __decorate([
29
+ injectable(),
30
+ __param(0, inject('IPluginMarketplaceService')),
31
+ __metadata("design:paramtypes", [Object])
32
+ ], InstallPluginUseCase);
33
+ export { InstallPluginUseCase };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Toggle Plugin Use Case
3
+ *
4
+ * Enables or disables a Claude Code plugin via the CLI subprocess.
5
+ */
6
+ import type { IPluginMarketplaceService, PluginOperationResult } from '../../ports/output/services/plugin-marketplace.interface.js';
7
+ export interface TogglePluginInput {
8
+ pluginId: string;
9
+ marketplace: string;
10
+ enabled: boolean;
11
+ }
12
+ export declare class TogglePluginUseCase {
13
+ private readonly marketplaceService;
14
+ constructor(marketplaceService: IPluginMarketplaceService);
15
+ execute(input: TogglePluginInput): Promise<PluginOperationResult>;
16
+ }
17
+ //# sourceMappingURL=toggle-plugin.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-plugin.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/plugins/toggle-plugin.use-case.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,6DAA6D,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBACa,mBAAmB;IAG5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,yBAAyB;IAG1D,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAGxE"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Toggle Plugin Use Case
3
+ *
4
+ * Enables or disables a Claude Code plugin via the CLI subprocess.
5
+ */
6
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
11
+ };
12
+ var __metadata = (this && this.__metadata) || function (k, v) {
13
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14
+ };
15
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
16
+ return function (target, key) { decorator(target, key, paramIndex); }
17
+ };
18
+ import { injectable, inject } from 'tsyringe';
19
+ let TogglePluginUseCase = class TogglePluginUseCase {
20
+ marketplaceService;
21
+ constructor(marketplaceService) {
22
+ this.marketplaceService = marketplaceService;
23
+ }
24
+ async execute(input) {
25
+ return this.marketplaceService.togglePlugin(input.pluginId, input.marketplace, input.enabled);
26
+ }
27
+ };
28
+ TogglePluginUseCase = __decorate([
29
+ injectable(),
30
+ __param(0, inject('IPluginMarketplaceService')),
31
+ __metadata("design:paramtypes", [Object])
32
+ ], TogglePluginUseCase);
33
+ export { TogglePluginUseCase };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Uninstall Plugin Use Case
3
+ *
4
+ * Uninstalls a Claude Code plugin via the CLI subprocess.
5
+ */
6
+ import type { IPluginMarketplaceService, PluginOperationResult } from '../../ports/output/services/plugin-marketplace.interface.js';
7
+ export interface UninstallPluginInput {
8
+ pluginId: string;
9
+ marketplace: string;
10
+ }
11
+ export declare class UninstallPluginUseCase {
12
+ private readonly marketplaceService;
13
+ constructor(marketplaceService: IPluginMarketplaceService);
14
+ execute(input: UninstallPluginInput): Promise<PluginOperationResult>;
15
+ }
16
+ //# sourceMappingURL=uninstall-plugin.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall-plugin.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/plugins/uninstall-plugin.use-case.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,6DAA6D,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBACa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,yBAAyB;IAG1D,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAG3E"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Uninstall Plugin Use Case
3
+ *
4
+ * Uninstalls a Claude Code plugin via the CLI subprocess.
5
+ */
6
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
11
+ };
12
+ var __metadata = (this && this.__metadata) || function (k, v) {
13
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14
+ };
15
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
16
+ return function (target, key) { decorator(target, key, paramIndex); }
17
+ };
18
+ import { injectable, inject } from 'tsyringe';
19
+ let UninstallPluginUseCase = class UninstallPluginUseCase {
20
+ marketplaceService;
21
+ constructor(marketplaceService) {
22
+ this.marketplaceService = marketplaceService;
23
+ }
24
+ async execute(input) {
25
+ return this.marketplaceService.uninstallPlugin(input.pluginId, input.marketplace);
26
+ }
27
+ };
28
+ UninstallPluginUseCase = __decorate([
29
+ injectable(),
30
+ __param(0, inject('IPluginMarketplaceService')),
31
+ __metadata("design:paramtypes", [Object])
32
+ ], UninstallPluginUseCase);
33
+ export { UninstallPluginUseCase };
@@ -1 +1 @@
1
- {"version":3,"file":"settings-defaults.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/factories/settings-defaults.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,EAUT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,UAAU,EACV,YAAY,EAOb,MAAM,qBAAqB,CAAC;AA4C7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE;IAChD,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,YAAY,CAAC;CACnC,GAAG,QAAQ,CA8FX"}
1
+ {"version":3,"file":"settings-defaults.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/factories/settings-defaults.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,EAUT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,UAAU,EACV,YAAY,EAOb,MAAM,qBAAqB,CAAC;AA4C7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE;IAChD,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,YAAY,CAAC;CACnC,GAAG,QAAQ,CA+FX"}
@@ -148,6 +148,7 @@ export function createDefaultSettings(overrides) {
148
148
  adoptBranch: false,
149
149
  gitRebaseSync: false,
150
150
  reactFileManager: false,
151
+ plugins: false,
151
152
  };
152
153
  return {
153
154
  id: globalThis.crypto.randomUUID(),
@@ -613,6 +613,57 @@ export type NotificationPreferences = {
613
613
  */
614
614
  events: NotificationEventConfig;
615
615
  };
616
+ export declare enum LiteLLMProxyRoutingMode {
617
+ direct = "direct",
618
+ proxy = "proxy",
619
+ passthrough = "passthrough"
620
+ }
621
+ /**
622
+ * Per-agent proxy routing config for Claude Code
623
+ */
624
+ export type ClaudeCodeProxyConfig = {
625
+ /**
626
+ * How Claude Code routes API traffic through the proxy
627
+ */
628
+ routingMode?: LiteLLMProxyRoutingMode;
629
+ /**
630
+ * Newline-separated key: value headers for ANTHROPIC_CUSTOM_HEADERS
631
+ */
632
+ customHeaders?: string;
633
+ /**
634
+ * Model name override for ANTHROPIC_DEFAULT_SONNET_MODEL
635
+ */
636
+ sonnetModel?: string;
637
+ /**
638
+ * Model name override for ANTHROPIC_DEFAULT_HAIKU_MODEL
639
+ */
640
+ haikuModel?: string;
641
+ /**
642
+ * Model name override for ANTHROPIC_DEFAULT_OPUS_MODEL
643
+ */
644
+ opusModel?: string;
645
+ };
646
+ /**
647
+ * LiteLLM proxy configuration for plugin marketplace and agent routing
648
+ */
649
+ export type LiteLLMProxyConfig = {
650
+ /**
651
+ * LiteLLM proxy base URL (e.g., http://localhost:4000)
652
+ */
653
+ baseUrl?: string;
654
+ /**
655
+ * API key for the LiteLLM proxy (virtual key). Stored in plaintext in SQLite consistent with agent.token pattern.
656
+ */
657
+ apiKey?: string;
658
+ /**
659
+ * Whether to use this proxy for the plugin marketplace
660
+ */
661
+ marketplaceEnabled?: boolean;
662
+ /**
663
+ * Per-agent proxy routing config for Claude Code
664
+ */
665
+ claudeCode?: ClaudeCodeProxyConfig;
666
+ };
616
667
  /**
617
668
  * Feature flag toggles for runtime feature control
618
669
  */
@@ -645,6 +696,10 @@ export type FeatureFlags = {
645
696
  * Use the built-in React file manager instead of the native OS folder picker
646
697
  */
647
698
  reactFileManager: boolean;
699
+ /**
700
+ * Enable the Claude Code plugins marketplace browser
701
+ */
702
+ plugins: boolean;
648
703
  };
649
704
  /**
650
705
  * Interactive agent chat tab configuration
@@ -720,6 +775,10 @@ export type Settings = BaseEntity & {
720
775
  * FAB layout configuration (optional, defaults applied at runtime)
721
776
  */
722
777
  fabLayout?: FabLayoutConfig;
778
+ /**
779
+ * LiteLLM proxy configuration (optional, marketplace disabled when absent)
780
+ */
781
+ litellmProxy?: LiteLLMProxyConfig;
723
782
  };
724
783
  export declare enum TaskState {
725
784
  Todo = "Todo",