@shipit-ai/cli 1.171.0 → 1.172.0-pr16.66b2a70

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 (367) hide show
  1. package/apis/json-schema/CodexCliProxyConfig.yaml +8 -0
  2. package/apis/json-schema/FeatureFlags.yaml +5 -0
  3. package/apis/json-schema/GeminiCliProxyConfig.yaml +8 -0
  4. package/apis/json-schema/LiteLLMProxyConfig.yaml +6 -0
  5. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  6. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.d.ts +38 -0
  8. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.d.ts.map +1 -0
  9. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.js +12 -0
  10. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.d.ts +23 -0
  11. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.d.ts.map +1 -0
  12. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.js +49 -0
  13. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-servers.use-case.d.ts +23 -0
  14. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-servers.use-case.d.ts.map +1 -0
  15. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-servers.use-case.js +49 -0
  16. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  17. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -0
  18. package/dist/packages/core/src/domain/generated/output.d.ts +30 -0
  19. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/di/modules/services.module.js +3 -0
  22. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts.map +1 -1
  23. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.js +6 -0
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +3 -0
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  26. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +28 -1
  27. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-litellm-proxy-multi-agent.d.ts +12 -0
  28. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-litellm-proxy-multi-agent.d.ts.map +1 -0
  29. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-litellm-proxy-multi-agent.js +20 -0
  30. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-add-mcp-servers-flag.d.ts +11 -0
  31. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-add-mcp-servers-flag.d.ts.map +1 -0
  32. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-add-mcp-servers-flag.js +16 -0
  33. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  34. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +10 -5
  35. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.d.ts.map +1 -1
  36. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.js +8 -0
  37. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.d.ts +3 -1
  38. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.js +20 -1
  40. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts +3 -1
  41. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts.map +1 -1
  42. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.js +23 -1
  43. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  44. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +8 -0
  45. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/index.d.ts +2 -0
  46. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/index.d.ts.map +1 -0
  47. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/index.js +1 -0
  48. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.d.ts +65 -0
  49. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.d.ts.map +1 -0
  50. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.js +53 -0
  51. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.d.ts +17 -0
  52. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.d.ts.map +1 -0
  53. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.js +113 -0
  54. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.d.ts +5 -0
  55. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.d.ts.map +1 -0
  56. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.js +11 -0
  57. package/dist/src/presentation/web/app/actions/fetch-mcp-servers.d.ts +5 -0
  58. package/dist/src/presentation/web/app/actions/fetch-mcp-servers.d.ts.map +1 -0
  59. package/dist/src/presentation/web/app/actions/fetch-mcp-servers.js +11 -0
  60. package/dist/src/presentation/web/app/mcp-servers/page.d.ts +2 -0
  61. package/dist/src/presentation/web/app/mcp-servers/page.d.ts.map +1 -0
  62. package/dist/src/presentation/web/app/mcp-servers/page.js +20 -0
  63. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
  64. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +1 -0
  65. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.d.ts +8 -0
  66. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.d.ts.map +1 -0
  67. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.js +22 -0
  68. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.stories.d.ts +15 -0
  69. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.stories.d.ts.map +1 -0
  70. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.stories.js +56 -0
  71. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.d.ts +10 -0
  72. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.d.ts.map +1 -0
  73. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.js +52 -0
  74. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.d.ts +16 -0
  75. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.d.ts.map +1 -0
  76. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.js +42 -0
  77. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.d.ts +6 -0
  78. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.d.ts.map +1 -0
  79. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.js +59 -0
  80. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.stories.d.ts +11 -0
  81. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.stories.d.ts.map +1 -0
  82. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.stories.js +12 -0
  83. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.d.ts +23 -0
  84. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.d.ts.map +1 -0
  85. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.js +48 -0
  86. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.d.ts +12 -0
  87. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.d.ts.map +1 -0
  88. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.js +32 -0
  89. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
  90. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +7 -0
  91. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
  92. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +2 -0
  93. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.d.ts.map +1 -1
  94. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.js +79 -7
  95. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.d.ts +10 -3
  96. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.d.ts.map +1 -1
  97. package/dist/src/presentation/web/components/features/settings/litellm-proxy-routing-section.stories.js +87 -13
  98. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
  99. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
  100. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  101. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  102. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  103. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +1 -0
  104. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
  105. package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
  106. package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
  107. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  108. package/dist/src/presentation/web/lib/feature-flags.js +6 -0
  109. package/dist/translations/ar/web.json +56 -13
  110. package/dist/translations/de/web.json +76 -19
  111. package/dist/translations/en/web.json +57 -14
  112. package/dist/translations/es/web.json +57 -14
  113. package/dist/translations/fr/web.json +57 -14
  114. package/dist/translations/he/web.json +57 -14
  115. package/dist/translations/pt/web.json +57 -14
  116. package/dist/translations/ru/web.json +57 -14
  117. package/dist/tsconfig.build.tsbuildinfo +1 -1
  118. package/package.json +2 -2
  119. package/web/.next/BUILD_ID +1 -1
  120. package/web/.next/app-path-routes-manifest.json +1 -0
  121. package/web/.next/build-manifest.json +3 -3
  122. package/web/.next/fallback-build-manifest.json +3 -3
  123. package/web/.next/prerender-manifest.json +3 -3
  124. package/web/.next/required-server-files.js +3 -3
  125. package/web/.next/required-server-files.json +3 -3
  126. package/web/.next/routes-manifest.json +6 -0
  127. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  128. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
  129. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  130. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  131. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  132. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -1
  133. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  134. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  135. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +31 -31
  136. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  137. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  138. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  139. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  140. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  141. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  142. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  143. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  144. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  145. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  146. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  147. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  148. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
  149. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  150. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  151. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  152. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  153. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  154. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  155. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  156. package/web/.next/server/app/(dashboard)/chat/page.js +1 -1
  157. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  158. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  159. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +31 -31
  160. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  161. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  162. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  163. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  164. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  165. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  166. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  167. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  168. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  169. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  170. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  171. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  172. package/web/.next/server/app/(dashboard)/page.js +1 -1
  173. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  174. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  175. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  176. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
  177. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  178. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  179. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  180. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  181. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  182. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  183. package/web/.next/server/app/_global-error.html +1 -1
  184. package/web/.next/server/app/_global-error.rsc +1 -1
  185. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  186. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  187. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  188. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  189. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  190. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  191. package/web/.next/server/app/_not-found/page.js +1 -1
  192. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  193. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  194. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  195. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  196. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  197. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  198. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  199. package/web/.next/server/app/mcp-servers/page/app-paths-manifest.json +3 -0
  200. package/web/.next/server/app/mcp-servers/page/build-manifest.json +18 -0
  201. package/web/.next/server/app/mcp-servers/page/next-font-manifest.json +10 -0
  202. package/web/.next/server/app/mcp-servers/page/react-loadable-manifest.json +8 -0
  203. package/web/.next/server/app/mcp-servers/page/server-reference-manifest.json +161 -0
  204. package/web/.next/server/app/mcp-servers/page.js +17 -0
  205. package/web/.next/server/app/mcp-servers/page.js.map +5 -0
  206. package/web/.next/server/app/mcp-servers/page.js.nft.json +1 -0
  207. package/web/.next/server/app/mcp-servers/page_client-reference-manifest.js +3 -0
  208. package/web/.next/server/app/plugins/page/server-reference-manifest.json +15 -15
  209. package/web/.next/server/app/plugins/page.js +1 -1
  210. package/web/.next/server/app/plugins/page.js.nft.json +1 -1
  211. package/web/.next/server/app/plugins/page_client-reference-manifest.js +1 -1
  212. package/web/.next/server/app/settings/page/server-reference-manifest.json +12 -12
  213. package/web/.next/server/app/settings/page.js +1 -1
  214. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  215. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  216. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  217. package/web/.next/server/app/skills/page.js +1 -1
  218. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  219. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  220. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  221. package/web/.next/server/app/tools/page.js +1 -1
  222. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  223. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  224. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  225. package/web/.next/server/app/version/page.js +1 -1
  226. package/web/.next/server/app/version/page.js.nft.json +1 -1
  227. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  228. package/web/.next/server/app-paths-manifest.json +1 -0
  229. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js.map +1 -1
  230. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  231. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  232. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  233. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  234. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  235. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  236. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  237. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0-p.z5-.js +4 -0
  238. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0-p.z5-.js.map +1 -0
  239. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  240. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  241. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js +1 -1
  242. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js.map +1 -1
  243. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js +1 -1
  244. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js.map +1 -1
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b~nfa6._.js +3 -0
  246. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b~nfa6._.js.map +1 -0
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js +1 -1
  248. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js.map +1 -1
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js +1 -1
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  252. package/web/.next/server/chunks/ssr/[root-of-the-server]__0tq2syh._.js +1 -1
  253. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js +1 -1
  254. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js.map +1 -1
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js +1 -1
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js +1 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__13pshs0._.js +3 -0
  260. package/web/.next/server/chunks/ssr/[root-of-the-server]__13pshs0._.js.map +1 -0
  261. package/web/.next/server/chunks/ssr/{_0tcccbb._.js → _0.rsra~._.js} +2 -2
  262. package/web/.next/server/chunks/ssr/_0.rsra~._.js.map +1 -0
  263. package/web/.next/server/chunks/ssr/_01sesw0._.js +1 -1
  264. package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -1
  265. package/web/.next/server/chunks/ssr/_069y.js._.js +2 -2
  266. package/web/.next/server/chunks/ssr/_069y.js._.js.map +1 -1
  267. package/web/.next/server/chunks/ssr/_096x3u~._.js +3 -0
  268. package/web/.next/server/chunks/ssr/{_10joy2y._.js.map → _096x3u~._.js.map} +1 -1
  269. package/web/.next/server/chunks/ssr/_0__4si~._.js +1 -1
  270. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +1 -1
  271. package/web/.next/server/chunks/ssr/_0_m17kl._.js +1 -1
  272. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +1 -1
  273. package/web/.next/server/chunks/ssr/_0d4miu.._.js +1 -1
  274. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +1 -1
  275. package/web/.next/server/chunks/ssr/_0e8ern9._.js +1 -1
  276. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +1 -1
  277. package/web/.next/server/chunks/ssr/_0ia4o6_._.js +3 -0
  278. package/web/.next/server/chunks/ssr/_0ia4o6_._.js.map +1 -0
  279. package/web/.next/server/chunks/ssr/_0o.xc6x._.js +1 -1
  280. package/web/.next/server/chunks/ssr/_0o.xc6x._.js.map +1 -1
  281. package/web/.next/server/chunks/ssr/_0p3~u8u._.js +2 -2
  282. package/web/.next/server/chunks/ssr/_0p3~u8u._.js.map +1 -1
  283. package/web/.next/server/chunks/ssr/{_0h_81zd._.js → _0pj2991._.js} +2 -2
  284. package/web/.next/server/chunks/ssr/{_0h_81zd._.js.map → _0pj2991._.js.map} +1 -1
  285. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +1 -1
  286. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +1 -1
  287. package/web/.next/server/chunks/ssr/_0t59q8r._.js +1 -1
  288. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +1 -1
  289. package/web/.next/server/chunks/ssr/_0u3d8.n._.js.map +1 -1
  290. package/web/.next/server/chunks/ssr/_0vqmej8._.js +3 -0
  291. package/web/.next/server/chunks/ssr/_0vqmej8._.js.map +1 -0
  292. package/web/.next/server/chunks/ssr/_0vyfc4b._.js +1 -1
  293. package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -1
  294. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  295. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/_0ygafoy._.js +1 -1
  297. package/web/.next/server/chunks/ssr/_0ygafoy._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +1 -1
  299. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/_0~7lwu_._.js +1 -1
  301. package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/{_083k45~._.js → _1031n_-._.js} +2 -2
  303. package/web/.next/server/chunks/ssr/{_083k45~._.js.map → _1031n_-._.js.map} +1 -1
  304. package/web/.next/server/chunks/ssr/_11274a5._.js +3 -0
  305. package/web/.next/server/chunks/ssr/{_0q4ou83._.js.map → _11274a5._.js.map} +1 -1
  306. package/web/.next/server/chunks/ssr/_1161g9x._.js +1 -1
  307. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +1 -1
  308. package/web/.next/server/chunks/ssr/{_11hrdyl._.js → _12jmd-6._.js} +2 -2
  309. package/web/.next/server/chunks/ssr/{_11hrdyl._.js.map → _12jmd-6._.js.map} +1 -1
  310. package/web/.next/server/chunks/ssr/{_05fk0a4._.js → _12y_u2z._.js} +2 -2
  311. package/web/.next/server/chunks/ssr/_12y_u2z._.js.map +1 -0
  312. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_mcp-servers_page_actions_0d.r4q..js +3 -0
  313. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_mcp-servers_page_actions_0d.r4q..js.map +1 -0
  314. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js +1 -1
  315. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js.map +1 -1
  316. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +1 -1
  317. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +1 -1
  318. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +1 -1
  319. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +1 -1
  320. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_0pjb_re._.js +1 -1
  321. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  322. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  323. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  324. package/web/.next/server/middleware-build-manifest.js +3 -3
  325. package/web/.next/server/next-font-manifest.js +1 -1
  326. package/web/.next/server/next-font-manifest.json +3 -0
  327. package/web/.next/server/pages/500.html +1 -1
  328. package/web/.next/server/server-reference-manifest.js +1 -1
  329. package/web/.next/server/server-reference-manifest.json +145 -55
  330. package/web/.next/static/chunks/{0jpdu~hr9yant.js → 0.myo4yvc6kpm.js} +1 -1
  331. package/web/.next/static/chunks/00h433i5-1v_-.css +1 -0
  332. package/web/.next/static/chunks/{0x4yi7ly9kwn5.js → 04q.erwbzoje8.js} +1 -1
  333. package/web/.next/static/chunks/04~wdwkqgr57x.js +1 -0
  334. package/web/.next/static/chunks/0cfl2dslhsrdi.js +1 -0
  335. package/web/.next/static/chunks/{0mmo8sojp2la5.js → 0dom8q6-sfuxa.js} +1 -1
  336. package/web/.next/static/chunks/{017xamyz033tm.js → 0e8.k1pdrzzsk.js} +1 -1
  337. package/web/.next/static/chunks/{0nry24zef5x6d.js → 0ezhjni1s3y7a.js} +1 -1
  338. package/web/.next/static/chunks/{01tzmtex7umeb.js → 0hscmw6y2lnnv.js} +1 -1
  339. package/web/.next/static/chunks/{161s7._zxasc0.js → 0imykblrh4bu9.js} +3 -3
  340. package/web/.next/static/chunks/{12lj54j~w8~13.js → 0lu2qpp5txog9.js} +1 -1
  341. package/web/.next/static/chunks/0npxjzn99b9vy.js +1 -0
  342. package/web/.next/static/chunks/{0s1uxv-vz4g~..js → 0o4oghbrhweng.js} +1 -1
  343. package/web/.next/static/chunks/{0b2pi58fg3lt3.js → 0pm3xcdn669n~.js} +1 -1
  344. package/web/.next/static/chunks/{012cnd7koqv6d.js → 0sgbbtfp4hspl.js} +2 -2
  345. package/web/.next/static/chunks/{02z512ozs7al_.js → 0yafd1rs1vrfa.js} +1 -1
  346. package/web/.next/static/chunks/0zo.eis49vmo8.js +1 -0
  347. package/web/.next/static/chunks/{10rtagfoabp3b.js → 10j-adknfho63.js} +1 -1
  348. package/web/.next/static/chunks/15izkiwfc5ym~.js +5 -0
  349. package/web/.next/static/chunks/{0o4m0k3642219.js → 15lkkh2eg.w0h.js} +1 -1
  350. package/web/.next/static/chunks/{11f-uj04jrom-.js → 15o~vx6078ena.js} +1 -1
  351. package/web/.next/static/chunks/{0-glbn-_j79ge.js → 17sf_xxxs467a.js} +1 -1
  352. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dec29w._.js +0 -3
  353. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dec29w._.js.map +0 -1
  354. package/web/.next/server/chunks/ssr/_05fk0a4._.js.map +0 -1
  355. package/web/.next/server/chunks/ssr/_0i~-084._.js +0 -3
  356. package/web/.next/server/chunks/ssr/_0i~-084._.js.map +0 -1
  357. package/web/.next/server/chunks/ssr/_0q4ou83._.js +0 -3
  358. package/web/.next/server/chunks/ssr/_0tcccbb._.js.map +0 -1
  359. package/web/.next/server/chunks/ssr/_10joy2y._.js +0 -3
  360. package/web/.next/static/chunks/0cx16obgb~.zq.js +0 -1
  361. package/web/.next/static/chunks/0eemg.2by.~76.js +0 -1
  362. package/web/.next/static/chunks/0lc0x8kcu46ae.js +0 -1
  363. package/web/.next/static/chunks/0ug478hm-8bog.js +0 -5
  364. package/web/.next/static/chunks/0v7r7y~3e~oo6.css +0 -1
  365. /package/web/.next/static/{FNmgUvRV-pz0hqn250ePU → VGZdoa1IB7ls42dO6uanJ}/_buildManifest.js +0 -0
  366. /package/web/.next/static/{FNmgUvRV-pz0hqn250ePU → VGZdoa1IB7ls42dO6uanJ}/_clientMiddlewareManifest.js +0 -0
  367. /package/web/.next/static/{FNmgUvRV-pz0hqn250ePU → VGZdoa1IB7ls42dO6uanJ}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/components/ui/badge.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-popover%401.1.15_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Brea_8b5332f8e883134e9d9ab2856fc4395d/node_modules/%40radix-ui/react-popover/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/popover.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-up.ts","../../../../../../../src/presentation/web/components/features/settings/AgentModelPicker/index.tsx","../../../../../../../src/presentation/web/components/ui/textarea.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/code.ts"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ComponentRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm18 15-6-6-6 6', key: '153udz' }]];\n\n/**\n * @component @name ChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTUtNi02LTYgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevron-up\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronUp = createLucideIcon('chevron-up', __iconNode);\n\nexport default ChevronUp;\n","'use client';\n\nimport * as React from 'react';\nimport { Check, ChevronLeft, ChevronRight } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport { getAllAgentModels } from '@/app/actions/get-all-agent-models';\nimport type { AgentModelGroup } from '@/app/actions/get-all-agent-models';\nimport { updateAgentAndModel } from '@/app/actions/update-agent-and-model';\nimport { getAgentTypeIcon } from '@/components/common/feature-node/agent-type-icons';\nimport { getModelMeta } from '@/lib/model-metadata';\nimport { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { cn } from '@/lib/utils';\n\nexport interface AgentModelPickerProps {\n initialAgentType: string;\n initialModel: string;\n onAgentModelChange?: (agentType: string, model: string) => void;\n disabled?: boolean;\n className?: string;\n /** 'settings' persists to DB; 'override' only calls onAgentModelChange */\n mode: 'settings' | 'override';\n}\n\nexport function AgentModelPicker({\n initialAgentType,\n initialModel,\n onAgentModelChange,\n disabled,\n className,\n mode,\n}: AgentModelPickerProps) {\n const { t } = useTranslation('web');\n const [open, setOpen] = React.useState(false);\n const [groups, setGroups] = React.useState<AgentModelGroup[]>([]);\n const [loading, setLoading] = React.useState(true);\n const [agentType, setAgentType] = React.useState(initialAgentType);\n const [model, setModel] = React.useState(initialModel);\n const [error, setError] = React.useState<string | null>(null);\n\n // 0 = agent list visible, 1 = model list visible\n const [level, setLevel] = React.useState(0);\n // Which agent's models to show (kept separate from level for animation)\n const [drillAgent, setDrillAgent] = React.useState<string | null>(null);\n\n React.useEffect(() => {\n getAllAgentModels()\n .then(setGroups)\n .finally(() => setLoading(false));\n }, []);\n\n // Reset drill-down when popover closes\n React.useEffect(() => {\n if (!open) {\n const t = setTimeout(() => {\n setLevel(0);\n setDrillAgent(null);\n }, 150);\n return () => clearTimeout(t);\n }\n }, [open]);\n\n const drillInto = (agent: string) => {\n setDrillAgent(agent);\n requestAnimationFrame(() => {\n requestAnimationFrame(() => setLevel(1));\n });\n };\n\n const drillBack = () => {\n setLevel(0);\n setTimeout(() => setDrillAgent(null), 220);\n };\n\n const handleSelect = async (newAgentType: string, newModel: string) => {\n setOpen(false);\n\n if (newAgentType === agentType && newModel === model) return;\n\n if (mode === 'override') {\n setAgentType(newAgentType);\n setModel(newModel);\n onAgentModelChange?.(newAgentType, newModel);\n return;\n }\n\n // mode === 'settings' — optimistically update, then persist\n const prevAgent = agentType;\n const prevModel = model;\n setAgentType(newAgentType);\n setModel(newModel);\n onAgentModelChange?.(newAgentType, newModel);\n\n setError(null);\n try {\n const result = await updateAgentAndModel(newAgentType, newModel || null);\n if (!result.ok) {\n // Revert on failure\n setAgentType(prevAgent);\n setModel(prevModel);\n onAgentModelChange?.(prevAgent, prevModel);\n setError(result.error ?? 'Failed to save');\n }\n } catch {\n setAgentType(prevAgent);\n setModel(prevModel);\n onAgentModelChange?.(prevAgent, prevModel);\n setError('Failed to save');\n }\n };\n\n const isDisabled = (disabled ?? false) || loading;\n\n const AgentIcon = getAgentTypeIcon(agentType);\n const agentLabel = groups.find((g) => g.agentType === agentType)?.label ?? agentType;\n const modelName = model ? getModelMeta(model).displayName || model : null;\n\n const activeGroup = drillAgent ? groups.find((g) => g.agentType === drillAgent) : null;\n\n return (\n <div className={cn('flex flex-col gap-1', className)}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n type=\"button\"\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n aria-invalid={!!error}\n aria-describedby={error ? 'agent-model-picker-error' : undefined}\n disabled={isDisabled}\n className=\"w-auto cursor-pointer justify-start font-normal hover:border-violet-300 hover:bg-violet-50/50 dark:hover:border-violet-700 dark:hover:bg-violet-950/30\"\n >\n <span className=\"flex items-center gap-2 truncate\">\n <AgentIcon className=\"h-4 w-4 shrink-0\" />\n {loading ? (\n 'Loading…'\n ) : (\n <span className=\"flex items-center gap-1\">\n <span className=\"text-muted-foreground text-xs\">{agentLabel}</span>\n {modelName ? (\n <>\n <span className=\"text-muted-foreground/50 text-xs\">·</span>\n <span className=\"text-xs font-medium\">{modelName}</span>\n </>\n ) : null}\n </span>\n )}\n </span>\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"z-[70] w-(--radix-popover-trigger-width) overflow-hidden p-0\"\n align=\"start\"\n >\n {/* Sliding container — both panels side by side, translateX controlled by level */}\n <div\n className=\"flex transition-transform duration-200 ease-in-out\"\n style={{ transform: `translateX(${level === 1 ? '-50%' : '0%'})`, width: '200%' }}\n >\n {/* ── Level 1: Agent list ── */}\n <div className=\"w-1/2 shrink-0\">\n <div className=\"text-muted-foreground border-b px-3 py-2 text-xs font-medium\">\n Select agent\n </div>\n {groups.map((group) => {\n const GroupIcon = getAgentTypeIcon(group.agentType);\n const isActive = agentType === group.agentType;\n const hasModels = group.models.length > 0;\n\n return (\n <button\n key={group.agentType}\n type=\"button\"\n disabled={!group.installed}\n className={cn(\n 'flex w-full items-center gap-2.5 px-3 py-2 text-xs transition-colors',\n group.installed\n ? 'hover:bg-accent hover:text-accent-foreground cursor-pointer'\n : 'cursor-not-allowed opacity-60',\n isActive && 'bg-accent/50'\n )}\n onClick={() => {\n if (!group.installed) return;\n if (hasModels) {\n drillInto(group.agentType);\n } else {\n handleSelect(group.agentType, '');\n }\n }}\n >\n <GroupIcon className=\"h-4 w-4 shrink-0\" />\n <span className=\"flex-1 text-start\">{group.label}</span>\n <Badge\n variant=\"outline\"\n className={cn(\n 'px-1.5 py-0 text-[10px] leading-4 font-normal',\n group.installed\n ? 'border-emerald-500/30 text-emerald-500'\n : 'border-muted-foreground/30 text-muted-foreground'\n )}\n >\n {group.installed\n ? t('settings.environment.installed')\n : t('settings.environment.notInstalled')}\n </Badge>\n {isActive && !hasModels ? (\n <Check className=\"text-primary h-3.5 w-3.5 shrink-0\" />\n ) : null}\n {hasModels && group.installed ? (\n <ChevronRight className=\"text-muted-foreground h-3.5 w-3.5 shrink-0\" />\n ) : null}\n </button>\n );\n })}\n </div>\n\n {/* ── Level 2: Model list for selected agent ── */}\n <div className=\"w-1/2 shrink-0\">\n {activeGroup ? (\n <>\n {/* Back header */}\n <button\n type=\"button\"\n className=\"text-muted-foreground hover:text-foreground flex w-full cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-xs font-medium transition-colors\"\n onClick={drillBack}\n >\n <ChevronLeft className=\"h-3.5 w-3.5\" />\n {activeGroup.label}\n </button>\n\n {/* Model items */}\n {activeGroup.models.map((m) => {\n const isSelected = agentType === activeGroup.agentType && model === m.id;\n return (\n <button\n key={m.id}\n type=\"button\"\n className={cn(\n 'flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-start transition-colors',\n 'hover:bg-accent hover:text-accent-foreground',\n isSelected && 'bg-accent/50'\n )}\n onClick={() => handleSelect(activeGroup.agentType, m.id)}\n >\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"text-xs font-medium\">{m.displayName}</span>\n <span className=\"text-muted-foreground text-xs\">{m.description}</span>\n </div>\n {isSelected ? (\n <Check className=\"text-primary h-3.5 w-3.5 shrink-0\" />\n ) : null}\n </button>\n );\n })}\n </>\n ) : null}\n </div>\n </div>\n </PopoverContent>\n </Popover>\n {Boolean(error) && (\n <p id=\"agent-model-picker-error\" className=\"text-destructive text-sm\" role=\"alert\">\n {error}\n </p>\n )}\n </div>\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm16 18 6-6-6-6', key: 'eg8j8' }],\n ['path', { d: 'm8 6-6 6 6 6', key: 'ppft3o' }],\n];\n\n/**\n * @component @name Code\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTggNi02LTYtNiIgLz4KICA8cGF0aCBkPSJtOCA2LTYgNiA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/code\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Code = createLucideIcon('code', __iconNode);\n\nexport default Code;\n"],"names":["badgeVariants","variants","variant","default","secondary","destructive","outline","defaultVariants","Badge","className","props","POPOVER_NAME","createPopoverContext","createPopoverScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","__scopePopover","children","open","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","hasCustomAnchor","setHasCustomAnchor","setOpen","prop","defaultProp","onChange","caller","scope","contentId","onOpenToggle","prevOpen","onCustomAnchorAdd","onCustomAnchorRemove","displayName","ANCHOR_NAME","PopoverAnchor","forwardedRef","anchorProps","context","ref","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","trigger","button","type","getState","onClick","asChild","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","PopoverPortal","container","present","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","Slot","contentRef","composedRefs","isRightClickOutsideRef","content","current","as","allowPinchZoom","PopoverContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","isRightClick","checkForDefaultPrevented","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","onEscapeKeyDown","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","onDismiss","role","id","style","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","Root2","Anchor2","Trigger","Portal","Content2","Close","Arrow2","AgentModelPicker","initialAgentType","initialModel","onAgentModelChange","disabled","mode","t","groups","setGroups","loading","setLoading","agentType","setAgentType","model","setModel","error","setError","level","setLevel","drillAgent","setDrillAgent","then","finally","setTimeout","clearTimeout","drillInto","agent","requestAnimationFrame","drillBack","handleSelect","newAgentType","newModel","prevAgent","prevModel","result","ok","isDisabled","AgentIcon","agentLabel","find","g","label","modelName","activeGroup","undefined","align","transform","width","map","group","GroupIcon","isActive","hasModels","models","length","installed","m","isSelected","description","Boolean","Textarea"],"mappings":"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","ignoreList":[1,2,4]}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/components/ui/badge.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-popover%401.1.15_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.14__%40types%2Brea_8b5332f8e883134e9d9ab2856fc4395d/node_modules/%40radix-ui/react-popover/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/popover.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-up.ts","../../../../../../../src/presentation/web/components/features/settings/AgentModelPicker/index.tsx","../../../../../../../src/presentation/web/components/ui/textarea.tsx","../../../../../../../node_modules/.pnpm/lucide-react%401.7.0_react%4019.2.4/node_modules/lucide-react/src/icons/code.ts"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ComponentRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm18 15-6-6-6 6', key: '153udz' }]];\n\n/**\n * @component @name ChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTUtNi02LTYgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevron-up\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronUp = createLucideIcon('chevron-up', __iconNode);\n\nexport default ChevronUp;\n","'use client';\n\nimport * as React from 'react';\nimport { Check, ChevronLeft, ChevronRight } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport { getAllAgentModels } from '@/app/actions/get-all-agent-models';\nimport type { AgentModelGroup } from '@/app/actions/get-all-agent-models';\nimport { updateAgentAndModel } from '@/app/actions/update-agent-and-model';\nimport { getAgentTypeIcon } from '@/components/common/feature-node/agent-type-icons';\nimport { getModelMeta } from '@/lib/model-metadata';\nimport { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { cn } from '@/lib/utils';\n\nexport interface AgentModelPickerProps {\n initialAgentType: string;\n initialModel: string;\n onAgentModelChange?: (agentType: string, model: string) => void;\n disabled?: boolean;\n className?: string;\n /** 'settings' persists to DB; 'override' only calls onAgentModelChange */\n mode: 'settings' | 'override';\n}\n\nexport function AgentModelPicker({\n initialAgentType,\n initialModel,\n onAgentModelChange,\n disabled,\n className,\n mode,\n}: AgentModelPickerProps) {\n const { t } = useTranslation('web');\n const [open, setOpen] = React.useState(false);\n const [groups, setGroups] = React.useState<AgentModelGroup[]>([]);\n const [loading, setLoading] = React.useState(true);\n const [agentType, setAgentType] = React.useState(initialAgentType);\n const [model, setModel] = React.useState(initialModel);\n const [error, setError] = React.useState<string | null>(null);\n\n // 0 = agent list visible, 1 = model list visible\n const [level, setLevel] = React.useState(0);\n // Which agent's models to show (kept separate from level for animation)\n const [drillAgent, setDrillAgent] = React.useState<string | null>(null);\n\n React.useEffect(() => {\n getAllAgentModels()\n .then(setGroups)\n .finally(() => setLoading(false));\n }, []);\n\n // Reset drill-down when popover closes\n React.useEffect(() => {\n if (!open) {\n const t = setTimeout(() => {\n setLevel(0);\n setDrillAgent(null);\n }, 150);\n return () => clearTimeout(t);\n }\n }, [open]);\n\n const drillInto = (agent: string) => {\n setDrillAgent(agent);\n requestAnimationFrame(() => {\n requestAnimationFrame(() => setLevel(1));\n });\n };\n\n const drillBack = () => {\n setLevel(0);\n setTimeout(() => setDrillAgent(null), 220);\n };\n\n const handleSelect = async (newAgentType: string, newModel: string) => {\n setOpen(false);\n\n if (newAgentType === agentType && newModel === model) return;\n\n if (mode === 'override') {\n setAgentType(newAgentType);\n setModel(newModel);\n onAgentModelChange?.(newAgentType, newModel);\n return;\n }\n\n // mode === 'settings' — optimistically update, then persist\n const prevAgent = agentType;\n const prevModel = model;\n setAgentType(newAgentType);\n setModel(newModel);\n onAgentModelChange?.(newAgentType, newModel);\n\n setError(null);\n try {\n const result = await updateAgentAndModel(newAgentType, newModel || null);\n if (!result.ok) {\n // Revert on failure\n setAgentType(prevAgent);\n setModel(prevModel);\n onAgentModelChange?.(prevAgent, prevModel);\n setError(result.error ?? 'Failed to save');\n }\n } catch {\n setAgentType(prevAgent);\n setModel(prevModel);\n onAgentModelChange?.(prevAgent, prevModel);\n setError('Failed to save');\n }\n };\n\n const isDisabled = (disabled ?? false) || loading;\n\n const AgentIcon = getAgentTypeIcon(agentType);\n const agentLabel = groups.find((g) => g.agentType === agentType)?.label ?? agentType;\n const modelName = model ? getModelMeta(model).displayName || model : null;\n\n const activeGroup = drillAgent ? groups.find((g) => g.agentType === drillAgent) : null;\n\n return (\n <div className={cn('flex flex-col gap-1', className)}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n type=\"button\"\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n aria-invalid={!!error}\n aria-describedby={error ? 'agent-model-picker-error' : undefined}\n disabled={isDisabled}\n className=\"w-auto cursor-pointer justify-start font-normal hover:border-violet-300 hover:bg-violet-50/50 dark:hover:border-violet-700 dark:hover:bg-violet-950/30\"\n >\n <span className=\"flex items-center gap-2 truncate\">\n <AgentIcon className=\"h-4 w-4 shrink-0\" />\n {loading ? (\n 'Loading…'\n ) : (\n <span className=\"flex items-center gap-1\">\n <span className=\"text-muted-foreground text-xs\">{agentLabel}</span>\n {modelName ? (\n <>\n <span className=\"text-muted-foreground/50 text-xs\">·</span>\n <span className=\"text-xs font-medium\">{modelName}</span>\n </>\n ) : null}\n </span>\n )}\n </span>\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"z-[70] w-(--radix-popover-trigger-width) overflow-hidden p-0\"\n align=\"start\"\n >\n {/* Sliding container — both panels side by side, translateX controlled by level */}\n <div\n className=\"flex transition-transform duration-200 ease-in-out\"\n style={{ transform: `translateX(${level === 1 ? '-50%' : '0%'})`, width: '200%' }}\n >\n {/* ── Level 1: Agent list ── */}\n <div className=\"w-1/2 shrink-0\">\n <div className=\"text-muted-foreground border-b px-3 py-2 text-xs font-medium\">\n Select agent\n </div>\n {groups.map((group) => {\n const GroupIcon = getAgentTypeIcon(group.agentType);\n const isActive = agentType === group.agentType;\n const hasModels = group.models.length > 0;\n\n return (\n <button\n key={group.agentType}\n type=\"button\"\n disabled={!group.installed}\n className={cn(\n 'flex w-full items-center gap-2.5 px-3 py-2 text-xs transition-colors',\n group.installed\n ? 'hover:bg-accent hover:text-accent-foreground cursor-pointer'\n : 'cursor-not-allowed opacity-60',\n isActive && 'bg-accent/50'\n )}\n onClick={() => {\n if (!group.installed) return;\n if (hasModels) {\n drillInto(group.agentType);\n } else {\n handleSelect(group.agentType, '');\n }\n }}\n >\n <GroupIcon className=\"h-4 w-4 shrink-0\" />\n <span className=\"flex-1 text-start\">{group.label}</span>\n <Badge\n variant=\"outline\"\n className={cn(\n 'px-1.5 py-0 text-[10px] leading-4 font-normal',\n group.installed\n ? 'border-emerald-500/30 text-emerald-500'\n : 'border-muted-foreground/30 text-muted-foreground'\n )}\n >\n {group.installed\n ? t('settings.environment.installed')\n : t('settings.environment.notInstalled')}\n </Badge>\n {isActive && !hasModels ? (\n <Check className=\"text-primary h-3.5 w-3.5 shrink-0\" />\n ) : null}\n {hasModels && group.installed ? (\n <ChevronRight className=\"text-muted-foreground h-3.5 w-3.5 shrink-0\" />\n ) : null}\n </button>\n );\n })}\n </div>\n\n {/* ── Level 2: Model list for selected agent ── */}\n <div className=\"w-1/2 shrink-0\">\n {activeGroup ? (\n <>\n {/* Back header */}\n <button\n type=\"button\"\n className=\"text-muted-foreground hover:text-foreground flex w-full cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-xs font-medium transition-colors\"\n onClick={drillBack}\n >\n <ChevronLeft className=\"h-3.5 w-3.5\" />\n {activeGroup.label}\n </button>\n\n {/* Model items */}\n {activeGroup.models.map((m) => {\n const isSelected = agentType === activeGroup.agentType && model === m.id;\n return (\n <button\n key={m.id}\n type=\"button\"\n className={cn(\n 'flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-start transition-colors',\n 'hover:bg-accent hover:text-accent-foreground',\n isSelected && 'bg-accent/50'\n )}\n onClick={() => handleSelect(activeGroup.agentType, m.id)}\n >\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"text-xs font-medium\">{m.displayName}</span>\n <span className=\"text-muted-foreground text-xs\">{m.description}</span>\n </div>\n {isSelected ? (\n <Check className=\"text-primary h-3.5 w-3.5 shrink-0\" />\n ) : null}\n </button>\n );\n })}\n </>\n ) : null}\n </div>\n </div>\n </PopoverContent>\n </Popover>\n {Boolean(error) && (\n <p id=\"agent-model-picker-error\" className=\"text-destructive text-sm\" role=\"alert\">\n {error}\n </p>\n )}\n </div>\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm16 18 6-6-6-6', key: 'eg8j8' }],\n ['path', { d: 'm8 6-6 6 6 6', key: 'ppft3o' }],\n];\n\n/**\n * @component @name Code\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTggNi02LTYtNiIgLz4KICA8cGF0aCBkPSJtOCA2LTYgNiA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/code\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Code = createLucideIcon('code', __iconNode);\n\nexport default Code;\n"],"names":["badgeVariants","variants","variant","default","secondary","destructive","outline","defaultVariants","Badge","className","props","POPOVER_NAME","createPopoverContext","createPopoverScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","__scopePopover","children","open","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","hasCustomAnchor","setHasCustomAnchor","setOpen","prop","defaultProp","onChange","caller","scope","contentId","onOpenToggle","prevOpen","onCustomAnchorAdd","onCustomAnchorRemove","displayName","ANCHOR_NAME","PopoverAnchor","forwardedRef","anchorProps","context","ref","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","trigger","button","type","getState","onClick","asChild","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","PopoverPortal","container","present","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","Slot","contentRef","composedRefs","isRightClickOutsideRef","content","current","as","allowPinchZoom","PopoverContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","isRightClick","checkForDefaultPrevented","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","onEscapeKeyDown","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","onDismiss","role","id","style","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","Root2","Anchor2","Trigger","Portal","Content2","Close","Arrow2","AgentModelPicker","initialAgentType","initialModel","onAgentModelChange","disabled","mode","t","groups","setGroups","loading","setLoading","agentType","setAgentType","model","setModel","error","setError","level","setLevel","drillAgent","setDrillAgent","then","finally","setTimeout","clearTimeout","drillInto","agent","requestAnimationFrame","drillBack","handleSelect","newAgentType","newModel","prevAgent","prevModel","result","ok","isDisabled","AgentIcon","agentLabel","find","g","label","modelName","activeGroup","undefined","align","transform","width","map","group","GroupIcon","isActive","hasModels","models","length","installed","m","isSelected","description","Boolean","Textarea"],"mappings":"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","ignoreList":[1,2,4]}
@@ -1,6 +1,6 @@
1
1
  module.exports=[2211,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28446)},50961,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},23504,33244,27900,12513,73101,54775,65324,a=>{"use strict";var b=a.i(2211),c=a.i(96380);let d={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},e={displayName:"",description:""};var f=a.i(50961);let g={"claude-code":"Claude Code","codex-cli":"Codex CLI","copilot-cli":"GitHub Copilot CLI",cursor:"Cursor CLI","gemini-cli":"Gemini CLI","rovo-dev":"Rovo Dev CLI"},h={"claude-code":0,"codex-cli":1,"copilot-cli":2,cursor:3,"gemini-cli":4,"rovo-dev":5},i={"claude-code":"claude-code","codex-cli":"codex-cli","copilot-cli":"copilot-cli",cursor:"cursor-cli","gemini-cli":"gemini-cli","rovo-dev":"rovo-dev"};async function j(){try{let a=(0,c.resolve)("IAgentExecutorFactory"),b=a.getSupportedAgents().map(b=>({agentType:b,label:g[b]??b,models:a.getSupportedModels(b).map(a=>{let b;return{id:a,...(b=d[a])||{...e,displayName:a.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}})})).filter(a=>a.models.length>0),f=(0,c.resolve)("IToolInstallerService");return(await Promise.all(b.map(async a=>{let b=i[a.agentType];if(!b)return{...a,installed:!0};try{let c=await f.checkAvailability(b);return{...a,installed:"available"===c.status}}catch{return{...a,installed:!1}}}))).sort((a,b)=>(h[a.agentType]??50)-(h[b.agentType]??50))}catch{return[]}}(0,f.ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"003e3eb3ca1935ba1f9b7f0781029c423b5b804533",null),a.s(["getAllAgentModels",0,j],23504);let k="__shipitAiSettings";function l(){let a=globalThis[k];if(null!=a)return a;let b=process[k];return null!=b?b:null}function m(a){globalThis[k]=a,process[k]=a}function n(a){if(null!==l())throw Error("Settings already initialized. Cannot re-initialize.");m(a)}function o(){m(null)}async function p(a,b){if(!a.trim())return{ok:!1,error:"agent type is required"};try{let d=(0,c.resolve)("CompleteWebOnboardingUseCase"),e=await d.execute({agentType:a.trim(),model:b});return o(),n(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}a.s(["initializeSettings",0,n,"resetSettings",0,o,"updateSettings",0,function(a){if(null===l())throw Error("Settings not initialized. Cannot update before initialization.");m(a)}],33244),(0,f.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"60465885eedb1293394d9e345fd6f706cb31aac548",null),a.s(["updateAgentAndModel",0,p],27900),a.i(1442);var q=a.i(63128);async function r(){let a=new q.FolderDialogService;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,f.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"00f85450b92d36a844a07d5e376552cbfd6ce495eb",null),a.s(["pickFolder",0,r],12513);class s extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class t extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class u extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function v(a){try{let b=(0,c.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list repositories"}}}async function w(){try{let a=(0,c.resolve)("ListGitHubOrganizationsUseCase");return{orgs:await a.execute()}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list organizations"}}}async function x(a){let{url:b,dest:d}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,c.resolve)("ImportGitHubRepositoryUseCase");return{repository:await a.execute({url:b,dest:d})}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof u)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof t)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,f.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"409c2bfde522f4bb09dfee04304acdc80a1885f8ad",null),a.s(["listGitHubRepositories",0,v],73101),(0,f.ensureServerEntryExports)([w]),(0,b.registerServerReference)(w,"005c207eb5ce62c7363ba5bea7d6b2e7b88b479bf4",null),a.s(["listGitHubOrganizations",0,w],54775),(0,f.ensureServerEntryExports)([x]),(0,b.registerServerReference)(x,"409e473e80a9a5cb2714530e27f9718081963b596c",null),a.s(["importGitHubRepository",0,x],65324)},33841,46646,68670,85321,a=>{"use strict";var b=a.i(2211),c=a.i(2157),d=a.i(96380);a.i(1442);let e=()=>void 0;function f(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):e,debug:b?(...b)=>console.debug(a,...b):e,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var g=a.i(29918),h=a.i(81719),i=a.i(50227);function j(a){try{let b=(0,c.realpathSync)((0,i.resolve)(a)).replace(/\\/g,"/"),d=(0,c.realpathSync)((0,i.resolve)("/home/runner/work/shipit/shipit/src/presentation/web")).replace(/\\/g,"/");return b===d}catch{return!1}}var k=a.i(50961);let l=f("[deployFeature]");async function m(a){if(l.info(`called — featureId="${a}"`),!a?.trim())return l.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,d.resolve)("IFeatureRepository"),e=await b.findById(a);if(!e)return l.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};l.info(`feature found — repositoryPath="${e.repositoryPath}", branch="${e.branch}"`);let f=(0,g.computeWorktreePath)(e.repositoryPath,e.branch);if(l.info(`computed worktreePath="${f}"`),!(0,c.existsSync)(f))return l.warn(`worktree path does not exist on disk: "${f}"`),{success:!1,error:`Worktree path does not exist: ${f}`};if(j(e.repositoryPath))return l.warn("rejected — feature belongs to the running ShipIT instance"),{success:!1,error:"Cannot start a dev server for features of the repository ShipIT is running from"};return l.info("worktree path exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(a,f,"feature"),l.info("start() returned successfully — state=Booting"),{success:!0,state:h.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return l.error(`error: ${a}`,b),{success:!1,error:a}}}(0,k.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"40ee1d5325a4dd40301ab86ca414221531ae6ad39e",null),a.s(["deployFeature",0,m],33841);let n=f("[deployRepository]");async function o(a){let b;if(n.info(`called — repositoryPath="${a}"`),!a||!(0,i.isAbsolute)(a))return n.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{b=(0,c.realpathSync)(a)}catch{return n.warn(`directory does not exist: "${a}"`),{success:!1,error:"Directory does not exist"}}try{if(j(b))return n.warn("rejected — target is the running ShipIT instance"),{success:!1,error:"Cannot start a dev server for the repository ShipIT is running from"};return n.info("directory exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(b,b,"repository"),n.info("start() returned successfully — state=Booting"),{success:!0,state:h.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return n.error(`error: ${a}`,b),{success:!1,error:a}}}async function p(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,d.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function q(a){return a?.trim()?(0,d.resolve)("IDeploymentService").getStatus(a):null}(0,k.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4084cf4e9c92ebff5d7f170f006650751864ceb64d",null),a.s(["deployRepository",0,o],46646),(0,k.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"406ed25bc5d1ebeece50641e8d5a1a3ed588cfbdce",null),a.s(["stopDeployment",0,p],68670),(0,k.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"4039b977562adfcfc49aa463648685fe413ed7b490",null),a.s(["getDeploymentStatus",0,q],85321)},94691,a=>{"use strict";var b=a.i(2211),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(50961).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"4038d8da8752baaeb1e7e53e6e03e5ebd46614be9e",null),a.s(["getDeploymentLogs",0,d])},21447,19720,a=>{"use strict";var b=a.i(2211),c=a.i(96380),d=a.i(50961);async function e(){let a=(0,c.resolve)("LoadSettingsUseCase"),{workflow:b}=await a.execute();return{approvalGates:{allowPrd:b.approvalGateDefaults.allowPrd,allowPlan:b.approvalGateDefaults.allowPlan,allowMerge:b.approvalGateDefaults.allowMerge},push:b.approvalGateDefaults.pushOnImplementationComplete,openPr:b.openPrOnImplementationComplete,ciWatchEnabled:b.ciWatchEnabled,enableEvidence:b.enableEvidence,commitEvidence:b.commitEvidence,fast:b.defaultFastMode}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"0028d439fc7e620595d896c9fd84dc6f692a439010",null),a.s(["getWorkflowDefaults",0,e],21447);let f=new Set(["ADMIN","MAINTAIN","WRITE"]);async function g(a){try{let b=(0,c.resolve)("IGitHubRepositoryService"),d=await b.getViewerPermission(a);return{canPushDirectly:f.has(d)}}catch{return{canPushDirectly:!1}}}(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"400c43133e02de1d15703e5adbc55be5e7831b4ae6",null),a.s(["getViewerPermission",0,g],19720)},77605,71010,a=>{"use strict";var b=a.i(2211),c=a.i(96380),d=a.i(50961);async function e(a){let{description:b,repositoryPath:d,attachments:e,sessionId:f,approvalGates:g,push:h,openPr:i,parentId:j,fast:k,pending:l,forkAndPr:m,commitSpecs:n,ciWatchEnabled:o,enableEvidence:p,commitEvidence:q,agentType:r,model:s,rebaseBeforeBranch:t}=a;if(!b?.trim())return{error:"description is required"};if(!d?.trim())return{error:"repositoryPath is required"};let u=function(a,b){if(!b||0===b.length)return a;let c=b.map(a=>a.notes?.trim()?`@${a.path} [Note: ${a.notes.trim()}]`:`@${a.path}`).join(" ");return`${a}
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},23504,33244,27900,12513,73101,54775,65324,a=>{"use strict";var b=a.i(2211),c=a.i(96380);let d={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},e={displayName:"",description:""};var f=a.i(50961);let g={"claude-code":"Claude Code","codex-cli":"Codex CLI","copilot-cli":"GitHub Copilot CLI",cursor:"Cursor CLI","gemini-cli":"Gemini CLI","rovo-dev":"Rovo Dev CLI"},h={"claude-code":0,"codex-cli":1,"copilot-cli":2,cursor:3,"gemini-cli":4,"rovo-dev":5},i={"claude-code":"claude-code","codex-cli":"codex-cli","copilot-cli":"copilot-cli",cursor:"cursor-cli","gemini-cli":"gemini-cli","rovo-dev":"rovo-dev"};async function j(){try{let a=(0,c.resolve)("IAgentExecutorFactory"),b=a.getSupportedAgents().map(b=>({agentType:b,label:g[b]??b,models:a.getSupportedModels(b).map(a=>{let b;return{id:a,...(b=d[a])||{...e,displayName:a.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}})})).filter(a=>a.models.length>0),f=(0,c.resolve)("IToolInstallerService");return(await Promise.all(b.map(async a=>{let b=i[a.agentType];if(!b)return{...a,installed:!0};try{let c=await f.checkAvailability(b);return{...a,installed:"available"===c.status}}catch{return{...a,installed:!1}}}))).sort((a,b)=>(h[a.agentType]??50)-(h[b.agentType]??50))}catch{return[]}}(0,f.ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"003d293806dd7b073895da5be6185ac528bc106d12",null),a.s(["getAllAgentModels",0,j],23504);let k="__shipitAiSettings";function l(){let a=globalThis[k];if(null!=a)return a;let b=process[k];return null!=b?b:null}function m(a){globalThis[k]=a,process[k]=a}function n(a){if(null!==l())throw Error("Settings already initialized. Cannot re-initialize.");m(a)}function o(){m(null)}async function p(a,b){if(!a.trim())return{ok:!1,error:"agent type is required"};try{let d=(0,c.resolve)("CompleteWebOnboardingUseCase"),e=await d.execute({agentType:a.trim(),model:b});return o(),n(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}a.s(["initializeSettings",0,n,"resetSettings",0,o,"updateSettings",0,function(a){if(null===l())throw Error("Settings not initialized. Cannot update before initialization.");m(a)}],33244),(0,f.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"6098ed67fbc71a61923ebe38f3dc9d23543791ecee",null),a.s(["updateAgentAndModel",0,p],27900),a.i(1442);var q=a.i(63128);async function r(){let a=new q.FolderDialogService;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,f.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"00a4632d1d3114be506b2854de9404301701d14193",null),a.s(["pickFolder",0,r],12513);class s extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class t extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class u extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function v(a){try{let b=(0,c.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list repositories"}}}async function w(){try{let a=(0,c.resolve)("ListGitHubOrganizationsUseCase");return{orgs:await a.execute()}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list organizations"}}}async function x(a){let{url:b,dest:d}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,c.resolve)("ImportGitHubRepositoryUseCase");return{repository:await a.execute({url:b,dest:d})}}catch(a){if(a instanceof s)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof u)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof t)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,f.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"40391a8b752fd08982893a1032eea22e267540a4b5",null),a.s(["listGitHubRepositories",0,v],73101),(0,f.ensureServerEntryExports)([w]),(0,b.registerServerReference)(w,"00e3771f9478e38f9f9d74c6e57a7c1c2e7a2f78b0",null),a.s(["listGitHubOrganizations",0,w],54775),(0,f.ensureServerEntryExports)([x]),(0,b.registerServerReference)(x,"40398b182c827f6c59cfa26279d77b010baf4c6c91",null),a.s(["importGitHubRepository",0,x],65324)},33841,46646,68670,85321,a=>{"use strict";var b=a.i(2211),c=a.i(2157),d=a.i(96380);a.i(1442);let e=()=>void 0;function f(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):e,debug:b?(...b)=>console.debug(a,...b):e,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var g=a.i(29918),h=a.i(81719),i=a.i(50227);function j(a){try{let b=(0,c.realpathSync)((0,i.resolve)(a)).replace(/\\/g,"/"),d=(0,c.realpathSync)((0,i.resolve)("/home/runner/work/shipit/shipit/src/presentation/web")).replace(/\\/g,"/");return b===d}catch{return!1}}var k=a.i(50961);let l=f("[deployFeature]");async function m(a){if(l.info(`called — featureId="${a}"`),!a?.trim())return l.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,d.resolve)("IFeatureRepository"),e=await b.findById(a);if(!e)return l.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};l.info(`feature found — repositoryPath="${e.repositoryPath}", branch="${e.branch}"`);let f=(0,g.computeWorktreePath)(e.repositoryPath,e.branch);if(l.info(`computed worktreePath="${f}"`),!(0,c.existsSync)(f))return l.warn(`worktree path does not exist on disk: "${f}"`),{success:!1,error:`Worktree path does not exist: ${f}`};if(j(e.repositoryPath))return l.warn("rejected — feature belongs to the running ShipIT instance"),{success:!1,error:"Cannot start a dev server for features of the repository ShipIT is running from"};return l.info("worktree path exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(a,f,"feature"),l.info("start() returned successfully — state=Booting"),{success:!0,state:h.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return l.error(`error: ${a}`,b),{success:!1,error:a}}}(0,k.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"409d387400aeb0c0d25eab4ba732577f0bc9af36de",null),a.s(["deployFeature",0,m],33841);let n=f("[deployRepository]");async function o(a){let b;if(n.info(`called — repositoryPath="${a}"`),!a||!(0,i.isAbsolute)(a))return n.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{b=(0,c.realpathSync)(a)}catch{return n.warn(`directory does not exist: "${a}"`),{success:!1,error:"Directory does not exist"}}try{if(j(b))return n.warn("rejected — target is the running ShipIT instance"),{success:!1,error:"Cannot start a dev server for the repository ShipIT is running from"};return n.info("directory exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(b,b,"repository"),n.info("start() returned successfully — state=Booting"),{success:!0,state:h.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return n.error(`error: ${a}`,b),{success:!1,error:a}}}async function p(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,d.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function q(a){return a?.trim()?(0,d.resolve)("IDeploymentService").getStatus(a):null}(0,k.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4069f2b458347c99a584f5549f372ef1727e111254",null),a.s(["deployRepository",0,o],46646),(0,k.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"402f67721cde4d695b00baa8bc1ddfb637a16035c7",null),a.s(["stopDeployment",0,p],68670),(0,k.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40670b0e3ad41e0b382ec2cf7fd2e55a6d0644c912",null),a.s(["getDeploymentStatus",0,q],85321)},94691,a=>{"use strict";var b=a.i(2211),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(50961).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"40c9c9302d9fad45e601606da134d9741653038e87",null),a.s(["getDeploymentLogs",0,d])},21447,19720,a=>{"use strict";var b=a.i(2211),c=a.i(96380),d=a.i(50961);async function e(){let a=(0,c.resolve)("LoadSettingsUseCase"),{workflow:b}=await a.execute();return{approvalGates:{allowPrd:b.approvalGateDefaults.allowPrd,allowPlan:b.approvalGateDefaults.allowPlan,allowMerge:b.approvalGateDefaults.allowMerge},push:b.approvalGateDefaults.pushOnImplementationComplete,openPr:b.openPrOnImplementationComplete,ciWatchEnabled:b.ciWatchEnabled,enableEvidence:b.enableEvidence,commitEvidence:b.commitEvidence,fast:b.defaultFastMode}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"00cd16b3864cda07181751fbf17cd688fafa9f2b2e",null),a.s(["getWorkflowDefaults",0,e],21447);let f=new Set(["ADMIN","MAINTAIN","WRITE"]);async function g(a){try{let b=(0,c.resolve)("IGitHubRepositoryService"),d=await b.getViewerPermission(a);return{canPushDirectly:f.has(d)}}catch{return{canPushDirectly:!1}}}(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"4058ed0928ec099b4767bf015b29f55f642c519b81",null),a.s(["getViewerPermission",0,g],19720)},77605,71010,a=>{"use strict";var b=a.i(2211),c=a.i(96380),d=a.i(50961);async function e(a){let{description:b,repositoryPath:d,attachments:e,sessionId:f,approvalGates:g,push:h,openPr:i,parentId:j,fast:k,pending:l,forkAndPr:m,commitSpecs:n,ciWatchEnabled:o,enableEvidence:p,commitEvidence:q,agentType:r,model:s,rebaseBeforeBranch:t}=a;if(!b?.trim())return{error:"description is required"};if(!d?.trim())return{error:"repositoryPath is required"};let u=function(a,b){if(!b||0===b.length)return a;let c=b.map(a=>a.notes?.trim()?`@${a.path} [Note: ${a.notes.trim()}]`:`@${a.path}`).join(" ");return`${a}
3
3
 
4
- ${c}`}(b,e),v={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase"),{feature:e,shouldSpawn:g}=await a.createRecord({userInput:u,repositoryPath:d,approvalGates:v,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},description:b,...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...null!=t?{rebaseBeforeBranch:t}:{}});return a.initializeAndSpawn(e,{userInput:u,repositoryPath:d,approvalGates:v,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...f?{sessionId:f}:{},...null!=t?{rebaseBeforeBranch:t}:{}},g).catch(a=>{console.error("[createFeature] initializeAndSpawn failed:",a)}),{feature:e}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4090e654c654d62352d703e4eab4530134fd32d67b",null),a.s(["createFeature",0,e],77605);var f=a.i(33244),g=a.i(76497),h=a.i(81719);let i={[h.AgentType.ClaudeCode]:[{value:h.ClaudeCodePermissionMode.BypassPermissions,label:"Bypass permissions",description:"Skip all permission checks. Fastest for batch runs.",batchSafe:!0},{value:h.ClaudeCodePermissionMode.AcceptEdits,label:"Accept edits",description:"Auto-approve file edits; prompt for shell/network.",batchSafe:!1},{value:h.ClaudeCodePermissionMode.Plan,label:"Plan",description:"Read-only; proposes changes without acting.",batchSafe:!1},{value:h.ClaudeCodePermissionMode.Default,label:"Default",description:"Prompt for everything except reads.",batchSafe:!1}],[h.AgentType.Cursor]:[{value:h.CursorPermissionMode.Yolo,label:"Yolo",description:"Write files and execute commands autonomously.",batchSafe:!0},{value:h.CursorPermissionMode.Propose,label:"Propose",description:"Read and analyze; output a diff without writing.",batchSafe:!0}],[h.AgentType.GeminiCli]:[{value:h.GeminiPermissionMode.Yolo,label:"Yolo",description:"Auto-approve all tool calls.",batchSafe:!0},{value:h.GeminiPermissionMode.AutoEdit,label:"Auto-edit",description:"Auto-approve edits; prompt for shell.",batchSafe:!1},{value:h.GeminiPermissionMode.Default,label:"Default",description:"Prompt for every tool call.",batchSafe:!1}],[h.AgentType.CodexCli]:[{value:h.CodexPermissionMode.DangerFullAccess,label:"Full access",description:"No sandbox. Unrestricted access.",batchSafe:!0},{value:h.CodexPermissionMode.WorkspaceWrite,label:"Workspace write",description:"Writes inside worktree, no network.",batchSafe:!0},{value:h.CodexPermissionMode.ReadOnly,label:"Read only",description:"Cannot modify anything.",batchSafe:!0}],[h.AgentType.CopilotCli]:[{value:h.CopilotPermissionMode.Yolo,label:"Yolo",description:"Disable all permission prompts.",batchSafe:!0},{value:h.CopilotPermissionMode.AllowPaths,label:"Allow paths",description:"Filesystem access auto-approved; shell prompts.",batchSafe:!1},{value:h.CopilotPermissionMode.Prompt,label:"Prompt",description:"Built-in tool category defaults.",batchSafe:!1}],[h.AgentType.RovoDev]:[{value:h.RovoDevPermissionMode.Yolo,label:"Yolo",description:"Bypass all prompts.",batchSafe:!0},{value:h.RovoDevPermissionMode.Shadow,label:"Shadow",description:"Temporary workspace clone. Experimental.",batchSafe:!1},{value:h.RovoDevPermissionMode.Config,label:"Config",description:"Respect ~/.rovodev/config.yml settings.",batchSafe:!1}]},j={[h.AgentType.ClaudeCode]:"claudeCode",[h.AgentType.Cursor]:"cursor",[h.AgentType.GeminiCli]:"geminiCli",[h.AgentType.CodexCli]:"codexCli",[h.AgentType.CopilotCli]:"copilotCli",[h.AgentType.RovoDev]:"rovoDev"};async function k(a){return i[a]??[]}async function l(a){let b=(0,c.resolve)("LoadSettingsUseCase"),d=await b.execute(),e=j[a];if(e)return d.agent?.permissions?.[e]}async function m(a,b){try{let d=j[a];if(!d)return{success:!1,error:`Unsupported agent type: ${a}`};let e=i[a];if(!e?.some(a=>a.value===b))return{success:!1,error:`Invalid permission mode: ${b}`};let h=(0,c.resolve)("LoadSettingsUseCase"),k=await h.execute(),l={...k,agent:{...k.agent,permissions:{...k.agent?.permissions,[d]:b}},updatedAt:new Date},m=(0,c.resolve)("UpdateSettingsUseCase");return await m.execute(l),(0,f.updateSettings)(l),(0,g.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to update permission mode"}}}(0,d.ensureServerEntryExports)([k,l,m]),(0,b.registerServerReference)(k,"4064f07ee0b3954a5682e3af516618c59359a38db9",null),(0,b.registerServerReference)(l,"403289511ab6c06c1da5f4dacbf68c7f60ada67012",null),(0,b.registerServerReference)(m,"60db79a304eabdbfa10ca35e63ba52042e98c69713",null),a.s(["getAgentPermissionOptions",0,k],71010)},81881,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(33841),i=a.i(46646),j=a.i(68670),k=a.i(85321),l=a.i(84095),m=a.i(56799),n=a.i(80496),o=a.i(93225),p=a.i(94691),q=a.i(41872),r=a.i(9959),s=a.i(79124),t=a.i(29207),u=a.i(10528),v=a.i(50845),w=a.i(26604),x=a.i(54723),y=a.i(18942),z=a.i(42886),A=a.i(49560),B=a.i(39353),C=a.i(21447),D=a.i(19720),E=a.i(77605),F=a.i(71010);a.s([],91325),a.i(91325),a.s(["00082a6dde67736f9b9a34945658850e01f25abf3a",()=>r.checkAgentAuth,"0028d439fc7e620595d896c9fd84dc6f692a439010",()=>C.getWorkflowDefaults,"003e3eb3ca1935ba1f9b7f0781029c423b5b804533",()=>b.getAllAgentModels,"005c207eb5ce62c7363ba5bea7d6b2e7b88b479bf4",()=>f.listGitHubOrganizations,"00d14778be180322cc09e7bd188141b3fc6c975876",()=>q.isAgentSetupComplete,"00f78bfed15ef01557e197e7ff4fdbd0f8bde47694",()=>s.checkToolStatus,"00f85450b92d36a844a07d5e376552cbfd6ce495eb",()=>d.pickFolder,"400c43133e02de1d15703e5adbc55be5e7831b4ae6",()=>D.getViewerPermission,"4033619e83b7a3a72d439b48bfde681320729f4091",()=>o.syncRepository,"4038d8da8752baaeb1e7e53e6e03e5ebd46614be9e",()=>p.getDeploymentLogs,"40390cf19742b68049b648dd5fbc4686b6225bb663",()=>w.resumeFeature,"4039b977562adfcfc49aa463648685fe413ed7b490",()=>k.getDeploymentStatus,"403b1c9fdab1565450c36649ac36be9f6c508b8003",()=>m.openShell,"4052e8c703fe0a90a42d600fc6abc91689504f6d68",()=>n.openFolder,"405743991e6549f7cf1f4ace97fdec96f620063303",()=>l.openIde,"4064f07ee0b3954a5682e3af516618c59359a38db9",()=>F.getAgentPermissionOptions,"406ed25bc5d1ebeece50641e8d5a1a3ed588cfbdce",()=>j.stopDeployment,"4084cf4e9c92ebff5d7f170f006650751864ceb64d",()=>i.deployRepository,"4090e654c654d62352d703e4eab4530134fd32d67b",()=>E.createFeature,"409c2bfde522f4bb09dfee04304acdc80a1885f8ad",()=>e.listGitHubRepositories,"409e473e80a9a5cb2714530e27f9718081963b596c",()=>g.importGitHubRepository,"40a4e22d7f106bab8b4a7f8d142aa165c557704d07",()=>z.unarchiveFeature,"40b5765da6c46d1055d226c27b9edfd9fed3f308a7",()=>A.addRepository,"40bb6c4dd95cc8b425dc07b4a2be44623279d984e9",()=>u.archiveFeature,"40c28e88ca510b48bda8963a3a55befe39291ae12f",()=>B.deleteRepository,"40d6861f1aea2f9c1a0e2c4bc439ae7aa6dc7355d2",()=>y.stopFeature,"40ee1d5325a4dd40301ab86ca414221531ae6ad39e",()=>h.deployFeature,"40ee5a10be613d2552199b9f60792c895261b3bc40",()=>x.startFeature,"40f1eea50441f31c1f6cf1cdae1ddeea8e04386819",()=>t.getFeatureMetadata,"60465885eedb1293394d9e345fd6f706cb31aac548",()=>c.updateAgentAndModel,"782a588636f7bd95542bf383936640da74c67b731c",()=>v.deleteFeature],81881)}];
4
+ ${c}`}(b,e),v={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase"),{feature:e,shouldSpawn:g}=await a.createRecord({userInput:u,repositoryPath:d,approvalGates:v,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},description:b,...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...null!=t?{rebaseBeforeBranch:t}:{}});return a.initializeAndSpawn(e,{userInput:u,repositoryPath:d,approvalGates:v,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...f?{sessionId:f}:{},...null!=t?{rebaseBeforeBranch:t}:{}},g).catch(a=>{console.error("[createFeature] initializeAndSpawn failed:",a)}),{feature:e}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"409c1ea6d1b2044656fc6ac97d91c54121c0455e20",null),a.s(["createFeature",0,e],77605);var f=a.i(33244),g=a.i(76497),h=a.i(81719);let i={[h.AgentType.ClaudeCode]:[{value:h.ClaudeCodePermissionMode.BypassPermissions,label:"Bypass permissions",description:"Skip all permission checks. Fastest for batch runs.",batchSafe:!0},{value:h.ClaudeCodePermissionMode.AcceptEdits,label:"Accept edits",description:"Auto-approve file edits; prompt for shell/network.",batchSafe:!1},{value:h.ClaudeCodePermissionMode.Plan,label:"Plan",description:"Read-only; proposes changes without acting.",batchSafe:!1},{value:h.ClaudeCodePermissionMode.Default,label:"Default",description:"Prompt for everything except reads.",batchSafe:!1}],[h.AgentType.Cursor]:[{value:h.CursorPermissionMode.Yolo,label:"Yolo",description:"Write files and execute commands autonomously.",batchSafe:!0},{value:h.CursorPermissionMode.Propose,label:"Propose",description:"Read and analyze; output a diff without writing.",batchSafe:!0}],[h.AgentType.GeminiCli]:[{value:h.GeminiPermissionMode.Yolo,label:"Yolo",description:"Auto-approve all tool calls.",batchSafe:!0},{value:h.GeminiPermissionMode.AutoEdit,label:"Auto-edit",description:"Auto-approve edits; prompt for shell.",batchSafe:!1},{value:h.GeminiPermissionMode.Default,label:"Default",description:"Prompt for every tool call.",batchSafe:!1}],[h.AgentType.CodexCli]:[{value:h.CodexPermissionMode.DangerFullAccess,label:"Full access",description:"No sandbox. Unrestricted access.",batchSafe:!0},{value:h.CodexPermissionMode.WorkspaceWrite,label:"Workspace write",description:"Writes inside worktree, no network.",batchSafe:!0},{value:h.CodexPermissionMode.ReadOnly,label:"Read only",description:"Cannot modify anything.",batchSafe:!0}],[h.AgentType.CopilotCli]:[{value:h.CopilotPermissionMode.Yolo,label:"Yolo",description:"Disable all permission prompts.",batchSafe:!0},{value:h.CopilotPermissionMode.AllowPaths,label:"Allow paths",description:"Filesystem access auto-approved; shell prompts.",batchSafe:!1},{value:h.CopilotPermissionMode.Prompt,label:"Prompt",description:"Built-in tool category defaults.",batchSafe:!1}],[h.AgentType.RovoDev]:[{value:h.RovoDevPermissionMode.Yolo,label:"Yolo",description:"Bypass all prompts.",batchSafe:!0},{value:h.RovoDevPermissionMode.Shadow,label:"Shadow",description:"Temporary workspace clone. Experimental.",batchSafe:!1},{value:h.RovoDevPermissionMode.Config,label:"Config",description:"Respect ~/.rovodev/config.yml settings.",batchSafe:!1}]},j={[h.AgentType.ClaudeCode]:"claudeCode",[h.AgentType.Cursor]:"cursor",[h.AgentType.GeminiCli]:"geminiCli",[h.AgentType.CodexCli]:"codexCli",[h.AgentType.CopilotCli]:"copilotCli",[h.AgentType.RovoDev]:"rovoDev"};async function k(a){return i[a]??[]}async function l(a){let b=(0,c.resolve)("LoadSettingsUseCase"),d=await b.execute(),e=j[a];if(e)return d.agent?.permissions?.[e]}async function m(a,b){try{let d=j[a];if(!d)return{success:!1,error:`Unsupported agent type: ${a}`};let e=i[a];if(!e?.some(a=>a.value===b))return{success:!1,error:`Invalid permission mode: ${b}`};let h=(0,c.resolve)("LoadSettingsUseCase"),k=await h.execute(),l={...k,agent:{...k.agent,permissions:{...k.agent?.permissions,[d]:b}},updatedAt:new Date},m=(0,c.resolve)("UpdateSettingsUseCase");return await m.execute(l),(0,f.updateSettings)(l),(0,g.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to update permission mode"}}}(0,d.ensureServerEntryExports)([k,l,m]),(0,b.registerServerReference)(k,"40ea80883d7c151b597a968da64ce51b1c8f217829",null),(0,b.registerServerReference)(l,"4098bd1901f0ce089ac3fd67e2a7337cf6f3419833",null),(0,b.registerServerReference)(m,"6055b9772f7bd8a8f4194b4856dbb728875fd93458",null),a.s(["getAgentPermissionOptions",0,k],71010)},81881,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(33841),i=a.i(46646),j=a.i(68670),k=a.i(85321),l=a.i(84095),m=a.i(56799),n=a.i(80496),o=a.i(93225),p=a.i(94691),q=a.i(41872),r=a.i(9959),s=a.i(79124),t=a.i(29207),u=a.i(10528),v=a.i(50845),w=a.i(26604),x=a.i(54723),y=a.i(18942),z=a.i(42886),A=a.i(49560),B=a.i(39353),C=a.i(21447),D=a.i(19720),E=a.i(77605),F=a.i(71010);a.s([],91325),a.i(91325),a.s(["0003e39058025eeaaa2b8c0191a4571216ac311562",()=>s.checkToolStatus,"003d293806dd7b073895da5be6185ac528bc106d12",()=>b.getAllAgentModels,"006578158caad0afa4f900377f2584fa18eee8773d",()=>q.isAgentSetupComplete,"00a4632d1d3114be506b2854de9404301701d14193",()=>d.pickFolder,"00cd16b3864cda07181751fbf17cd688fafa9f2b2e",()=>C.getWorkflowDefaults,"00e3771f9478e38f9f9d74c6e57a7c1c2e7a2f78b0",()=>f.listGitHubOrganizations,"00ef135c5a2b9fc9ebfafb5cbbd05b5aa53a72e40e",()=>r.checkAgentAuth,"40006be585f56d3e8ddd1cd0809892a650716aef53",()=>u.archiveFeature,"401ba09dd09bb2b6d343bd03108853600981caadec",()=>l.openIde,"402c26c6b13d0ae13aae9831fe15b5ef1fb38a656a",()=>z.unarchiveFeature,"402f67721cde4d695b00baa8bc1ddfb637a16035c7",()=>j.stopDeployment,"40391a8b752fd08982893a1032eea22e267540a4b5",()=>e.listGitHubRepositories,"40398b182c827f6c59cfa26279d77b010baf4c6c91",()=>g.importGitHubRepository,"404584a32bae95abe17545c865e6c3e77101c5ba6c",()=>t.getFeatureMetadata,"4058ed0928ec099b4767bf015b29f55f642c519b81",()=>D.getViewerPermission,"405b22ce9c7ceaaf6aa9dc73960fbb5d2043c49764",()=>x.startFeature,"40670b0e3ad41e0b382ec2cf7fd2e55a6d0644c912",()=>k.getDeploymentStatus,"4069f2b458347c99a584f5549f372ef1727e111254",()=>i.deployRepository,"406f7a52716665d3d4fcd4afee9435277b73097458",()=>n.openFolder,"40870ea98bba58e136b1a7e2602cf10d74faf17ca3",()=>m.openShell,"409c1ea6d1b2044656fc6ac97d91c54121c0455e20",()=>E.createFeature,"409d387400aeb0c0d25eab4ba732577f0bc9af36de",()=>h.deployFeature,"40a527f24e3d18d4e81ab4a8ee3e64ab151088fb46",()=>w.resumeFeature,"40c8a19a9cfc22daa982bb6972240cbaac7c830580",()=>y.stopFeature,"40c9c9302d9fad45e601606da134d9741653038e87",()=>p.getDeploymentLogs,"40def9b3419d1b815cb9e720896d36f6f80f760fec",()=>B.deleteRepository,"40ea80883d7c151b597a968da64ce51b1c8f217829",()=>F.getAgentPermissionOptions,"40f719a4483dd10cf8af2d0fe93fdda50d0caf9d8b",()=>A.addRepository,"40fd03671f15da2041fe1d454ce28c343f2bfde432",()=>o.syncRepository,"6098ed67fbc71a61923ebe38f3dc9d23543791ecee",()=>c.updateAgentAndModel,"78dd2fada148aa2650af04341f4357c78b756b7b91",()=>v.deleteFeature],81881)}];
5
5
 
6
6
  //# sourceMappingURL=_0p3~u8u._.js.map