@shipit-ai/cli 1.173.1-pr18.cc1c3ce → 1.173.1

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 (245) hide show
  1. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.d.ts +1 -9
  2. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.d.ts +3 -7
  4. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.js +5 -6
  6. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.d.ts +0 -12
  7. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.js +1 -11
  9. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.d.ts +2 -10
  10. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.d.ts.map +1 -1
  11. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.js +13 -50
  12. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.d.ts +1 -1
  13. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.d.ts.map +1 -1
  14. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.js +2 -2
  15. package/dist/src/presentation/web/app/mcp-servers/page.d.ts.map +1 -1
  16. package/dist/src/presentation/web/app/mcp-servers/page.js +1 -3
  17. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.d.ts +2 -2
  18. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.d.ts.map +1 -1
  19. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.js +8 -14
  20. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.d.ts +1 -1
  21. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.js +1 -1
  22. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.d.ts +1 -2
  23. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.d.ts.map +1 -1
  24. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.js +3 -2
  25. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.stories.js +2 -2
  26. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.d.ts +13 -17
  27. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.d.ts.map +1 -1
  28. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.js +34 -21
  29. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.d.ts +1 -1
  30. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.d.ts.map +1 -1
  31. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.js +8 -7
  32. package/dist/translations/ar/web.json +1 -6
  33. package/dist/translations/de/web.json +1 -6
  34. package/dist/translations/en/web.json +1 -6
  35. package/dist/translations/es/web.json +1 -6
  36. package/dist/translations/fr/web.json +1 -6
  37. package/dist/translations/he/web.json +1 -6
  38. package/dist/translations/pt/web.json +1 -6
  39. package/dist/translations/ru/web.json +1 -6
  40. package/dist/tsconfig.build.tsbuildinfo +1 -1
  41. package/package.json +1 -1
  42. package/web/.next/BUILD_ID +1 -1
  43. package/web/.next/build-manifest.json +3 -3
  44. package/web/.next/fallback-build-manifest.json +3 -3
  45. package/web/.next/prerender-manifest.json +3 -3
  46. package/web/.next/required-server-files.js +3 -3
  47. package/web/.next/required-server-files.json +3 -3
  48. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  49. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  50. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  51. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  52. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  53. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  54. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +31 -31
  55. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  56. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  58. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  61. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  62. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  63. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  64. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  65. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  66. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  67. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  70. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  71. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  72. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +31 -31
  73. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  74. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  76. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  77. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  79. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  82. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  83. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  84. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  85. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  86. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  88. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  89. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/_global-error.html +1 -1
  91. package/web/.next/server/app/_global-error.rsc +1 -1
  92. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  93. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  94. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  95. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  96. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  97. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  98. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  99. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  100. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  101. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  102. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  103. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  104. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  105. package/web/.next/server/app/mcp-servers/page/server-reference-manifest.json +13 -13
  106. package/web/.next/server/app/mcp-servers/page.js.nft.json +1 -1
  107. package/web/.next/server/app/mcp-servers/page_client-reference-manifest.js +1 -1
  108. package/web/.next/server/app/plugins/page/server-reference-manifest.json +15 -15
  109. package/web/.next/server/app/plugins/page.js.nft.json +1 -1
  110. package/web/.next/server/app/plugins/page_client-reference-manifest.js +1 -1
  111. package/web/.next/server/app/settings/page/server-reference-manifest.json +12 -12
  112. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  113. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  114. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  115. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  116. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  117. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  118. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  119. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  120. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  121. package/web/.next/server/app/version/page.js.nft.json +1 -1
  122. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  123. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  124. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  125. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  127. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  129. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  131. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js +1 -1
  133. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js +1 -1
  135. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b~nfa6._.js +3 -0
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b~nfa6._.js.map +1 -0
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__0tq2syh._.js +1 -1
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__13pshs0._.js +1 -1
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__13pshs0._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/_01sesw0._.js +1 -1
  153. package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/_069y.js._.js +2 -2
  155. package/web/.next/server/chunks/ssr/_069y.js._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/_096x3u~._.js +1 -1
  157. package/web/.next/server/chunks/ssr/_096x3u~._.js.map +1 -1
  158. package/web/.next/server/chunks/ssr/_0__4si~._.js +1 -1
  159. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +1 -1
  160. package/web/.next/server/chunks/ssr/_0_m17kl._.js +1 -1
  161. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/_0d4miu.._.js +1 -1
  163. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +1 -1
  164. package/web/.next/server/chunks/ssr/_0e8ern9._.js +1 -1
  165. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/_0ia4o6_._.js +3 -0
  167. package/web/.next/server/chunks/ssr/_0ia4o6_._.js.map +1 -0
  168. package/web/.next/server/chunks/ssr/_0o.xc6x._.js +3 -0
  169. package/web/.next/server/chunks/ssr/_0o.xc6x._.js.map +1 -0
  170. package/web/.next/server/chunks/ssr/_0p3~u8u._.js +2 -2
  171. package/web/.next/server/chunks/ssr/_0p3~u8u._.js.map +1 -1
  172. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +1 -1
  173. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +1 -1
  174. package/web/.next/server/chunks/ssr/_0t59q8r._.js +1 -1
  175. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +1 -1
  176. package/web/.next/server/chunks/ssr/_0vyfc4b._.js +1 -1
  177. package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  179. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  180. package/web/.next/server/chunks/ssr/{_0b~rt5k._.js → _0xn_dfh._.js} +2 -2
  181. package/web/.next/server/chunks/ssr/{_0b~rt5k._.js.map → _0xn_dfh._.js.map} +1 -1
  182. package/web/.next/server/chunks/ssr/{_0g36k1q._.js → _0z6p8yi._.js} +2 -2
  183. package/web/.next/server/chunks/ssr/{_0g36k1q._.js.map → _0z6p8yi._.js.map} +1 -1
  184. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +1 -1
  185. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/_0~7lwu_._.js +1 -1
  187. package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/_1161g9x._.js +1 -1
  189. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/{_0ha3y7r._.js → _12i_bjl._.js} +2 -2
  191. package/web/.next/server/chunks/ssr/{_0ha3y7r._.js.map → _12i_bjl._.js.map} +1 -1
  192. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_mcp-servers_page_actions_0d.r4q..js +1 -1
  193. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_mcp-servers_page_actions_0d.r4q..js.map +1 -1
  194. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js +1 -1
  195. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js.map +1 -1
  196. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +1 -1
  197. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +1 -1
  198. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +1 -1
  199. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +1 -1
  200. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_0pjb_re._.js +1 -1
  201. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  202. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  203. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  204. package/web/.next/server/middleware-build-manifest.js +3 -3
  205. package/web/.next/server/pages/500.html +1 -1
  206. package/web/.next/server/server-reference-manifest.js +1 -1
  207. package/web/.next/server/server-reference-manifest.json +57 -57
  208. package/web/.next/static/chunks/00h433i5-1v_-.css +1 -0
  209. package/web/.next/static/chunks/{0~z22-y-2-50b.js → 0242vp5_56bjp.js} +1 -1
  210. package/web/.next/static/chunks/{08-x1y93o~z1u.js → 07c0dde.-8.3e.js} +1 -1
  211. package/web/.next/static/chunks/{04mde8apvce...js → 084nyl7us-xbo.js} +1 -1
  212. package/web/.next/static/chunks/{0isdv5nl9ixzx.js → 0cgfywkcky60_.js} +1 -1
  213. package/web/.next/static/chunks/0jl9-2_wjbofj.js +1 -0
  214. package/web/.next/static/chunks/{0-479g9ihl1ga.js → 0j~279np0vu13.js} +1 -1
  215. package/web/.next/static/chunks/{02ow0rjxjqsob.js → 0k3fxd~lsx6h_.js} +1 -1
  216. package/web/.next/static/chunks/{0nw5kg.d92o~s.js → 0kv2-9owuv51~.js} +2 -2
  217. package/web/.next/static/chunks/0r9cddoy0xkhk.js +1 -0
  218. package/web/.next/static/chunks/{0gz0lgz7pvrb5.js → 0sgbbtfp4hspl.js} +1 -1
  219. package/web/.next/static/chunks/{17t4j5hdn_bcj.js → 0vscxcwhltksg.js} +2 -2
  220. package/web/.next/static/chunks/{06fk~iz2u90ux.js → 0xjj0-wsaziot.js} +1 -1
  221. package/web/.next/static/chunks/{0irjgz-p.9i6s.js → 11rfk7fre_6t2.js} +1 -1
  222. package/web/.next/static/chunks/123j391jw_zg4.js +1 -0
  223. package/web/.next/static/chunks/{163wx0qvsyhgb.js → 15zjq.s38l64~.js} +1 -1
  224. package/web/.next/static/chunks/{0nkxltjer~us7.js → 16nbcfv~__pas.js} +1 -1
  225. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.d.ts +0 -19
  226. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.d.ts.map +0 -1
  227. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.js +0 -108
  228. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.stories.d.ts +0 -11
  229. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.stories.d.ts.map +0 -1
  230. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.stories.js +0 -18
  231. package/web/.next/server/chunks/ssr/0j.8_web_components_features_mcp-servers_mcp-servers-page-client_tsx_0dda8ih._.js +0 -10
  232. package/web/.next/server/chunks/ssr/0j.8_web_components_features_mcp-servers_mcp-servers-page-client_tsx_0dda8ih._.js.map +0 -1
  233. package/web/.next/server/chunks/ssr/[root-of-the-server]__0mwao26._.js +0 -3
  234. package/web/.next/server/chunks/ssr/[root-of-the-server]__0mwao26._.js.map +0 -1
  235. package/web/.next/server/chunks/ssr/_0av5r-b._.js +0 -3
  236. package/web/.next/server/chunks/ssr/_0av5r-b._.js.map +0 -1
  237. package/web/.next/server/chunks/ssr/_0fswe4r._.js +0 -3
  238. package/web/.next/server/chunks/ssr/_0fswe4r._.js.map +0 -1
  239. package/web/.next/static/chunks/05uewqqwl93w2.js +0 -8
  240. package/web/.next/static/chunks/0h2nh2s2b3ma2.css +0 -1
  241. package/web/.next/static/chunks/16mt3g3q98v_k.js +0 -1
  242. package/web/.next/static/chunks/173rm.h7j3_7c.js +0 -1
  243. /package/web/.next/static/{cK5RMkxfAPELBU1fhTnIV → soqWMnDMQRLxRyIj13kVU}/_buildManifest.js +0 -0
  244. /package/web/.next/static/{cK5RMkxfAPELBU1fhTnIV → soqWMnDMQRLxRyIj13kVU}/_clientMiddlewareManifest.js +0 -0
  245. /package/web/.next/static/{cK5RMkxfAPELBU1fhTnIV → soqWMnDMQRLxRyIj13kVU}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[58339,a=>{"use strict";var b=a.i(53083),c=a.i(42261),d=a.i(85536);let e=(0,c.cva)("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",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}])},53823,a=>{"use strict";var b=a.i(53083),c=a.i(11321),d=a.i(59653),e=a.i(80303),f=a.i(95819),g=a.i(49350),h=a.i(98340),i=a.i(39990),j=a.i(55277),k=a.i(29724),l=a.i(50608),m=a.i(73490),n=a.i(30419),o=a.i(92274),p=a.i(47427),q=a.i(16164),r=a.i(55571),s="Popover",[t,u]=(0,f.createContextScope)(s,[k.createPopperScope]),v=(0,k.createPopperScope)(),[w,x]=t(s),y=a=>{let{__scopePopover:d,children:e,open:f,defaultOpen:g,onOpenChange:h,modal:i=!1}=a,l=v(d),m=c.useRef(null),[n,o]=c.useState(!1),[q,r]=(0,p.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:s});return(0,b.jsx)(k.Root,{...l,children:(0,b.jsx)(w,{scope:d,contentId:(0,j.useId)(),triggerRef:m,open:q,onOpenChange:r,onOpenToggle:c.useCallback(()=>r(a=>!a),[r]),hasCustomAnchor:n,onCustomAnchorAdd:c.useCallback(()=>o(!0),[]),onCustomAnchorRemove:c.useCallback(()=>o(!1),[]),modal:i,children:e})})};y.displayName=s;var z="PopoverAnchor",A=c.forwardRef((a,d)=>{let{__scopePopover:e,...f}=a,g=x(z,e),h=v(e),{onCustomAnchorAdd:i,onCustomAnchorRemove:j}=g;return c.useEffect(()=>(i(),()=>j()),[i,j]),(0,b.jsx)(k.Anchor,{...h,...f,ref:d})});A.displayName=z;var B="PopoverTrigger",C=c.forwardRef((a,c)=>{let{__scopePopover:f,...g}=a,h=x(B,f),i=v(f),j=(0,e.useComposedRefs)(c,h.triggerRef),l=(0,b.jsx)(n.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":h.open,"aria-controls":h.contentId,"data-state":Q(h.open),...g,ref:j,onClick:(0,d.composeEventHandlers)(a.onClick,h.onOpenToggle)});return h.hasCustomAnchor?l:(0,b.jsx)(k.Anchor,{asChild:!0,...i,children:l})});C.displayName=B;var D="PopoverPortal",[E,F]=t(D,{forceMount:void 0}),G=a=>{let{__scopePopover:c,forceMount:d,children:e,container:f}=a,g=x(D,c);return(0,b.jsx)(E,{scope:c,forceMount:d,children:(0,b.jsx)(m.Presence,{present:d||g.open,children:(0,b.jsx)(l.Portal,{asChild:!0,container:f,children:e})})})};G.displayName=D;var H="PopoverContent",I=c.forwardRef((a,c)=>{let d=F(H,a.__scopePopover),{forceMount:e=d.forceMount,...f}=a,g=x(H,a.__scopePopover);return(0,b.jsx)(m.Presence,{present:e||g.open,children:g.modal?(0,b.jsx)(K,{...f,ref:c}):(0,b.jsx)(L,{...f,ref:c})})});I.displayName=H;var J=(0,o.createSlot)("PopoverContent.RemoveScroll"),K=c.forwardRef((a,f)=>{let g=x(H,a.__scopePopover),h=c.useRef(null),i=(0,e.useComposedRefs)(f,h),j=c.useRef(!1);return c.useEffect(()=>{let a=h.current;if(a)return(0,q.hideOthers)(a)},[]),(0,b.jsx)(r.RemoveScroll,{as:J,allowPinchZoom:!0,children:(0,b.jsx)(M,{...a,ref:i,trapFocus:g.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,d.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),j.current||g.triggerRef.current?.focus()}),onPointerDownOutside:(0,d.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;j.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:(0,d.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),L=c.forwardRef((a,d)=>{let e=x(H,a.__scopePopover),f=c.useRef(!1),g=c.useRef(!1);return(0,b.jsx)(M,{...a,ref:d,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(f.current||e.triggerRef.current?.focus(),b.preventDefault()),f.current=!1,g.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(f.current=!0,"pointerdown"===b.detail.originalEvent.type&&(g.current=!0));let c=b.target;e.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&g.current&&b.preventDefault()}})}),M=c.forwardRef((a,c)=>{let{__scopePopover:d,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:j,disableOutsidePointerEvents:l,onEscapeKeyDown:m,onPointerDownOutside:n,onFocusOutside:o,onInteractOutside:p,...q}=a,r=x(H,d),s=v(d);return(0,h.useFocusGuards)(),(0,b.jsx)(i.FocusScope,{asChild:!0,loop:!0,trapped:e,onMountAutoFocus:f,onUnmountAutoFocus:j,children:(0,b.jsx)(g.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:l,onInteractOutside:p,onEscapeKeyDown:m,onPointerDownOutside:n,onFocusOutside:o,onDismiss:()=>r.onOpenChange(!1),children:(0,b.jsx)(k.Content,{"data-state":Q(r.open),role:"dialog",id:r.contentId,...s,...q,ref:c,style:{...q.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),N="PopoverClose",O=c.forwardRef((a,c)=>{let{__scopePopover:e,...f}=a,g=x(N,e);return(0,b.jsx)(n.Primitive.button,{type:"button",...f,ref:c,onClick:(0,d.composeEventHandlers)(a.onClick,()=>g.onOpenChange(!1))})});O.displayName=N;var P=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=v(d);return(0,b.jsx)(k.Arrow,{...f,...e,ref:c})});function Q(a){return a?"open":"closed"}P.displayName="PopoverArrow",a.s(["Anchor",0,A,"Arrow",0,P,"Close",0,O,"Content",0,I,"Popover",0,y,"PopoverAnchor",0,A,"PopoverArrow",0,P,"PopoverClose",0,O,"PopoverContent",0,I,"PopoverPortal",0,G,"PopoverTrigger",0,C,"Portal",0,G,"Root",0,y,"Trigger",0,C,"createPopoverScope",0,u],97514);var R=a.i(97514),R=R,S=a.i(85536);let T=R.Root,U=R.Trigger;R.Anchor;let V=c.forwardRef(({className:a,align:c="center",sideOffset:d=4,...e},f)=>(0,b.jsx)(R.Portal,{children:(0,b.jsx)(R.Content,{ref:f,align:c,sideOffset:d,className:(0,S.cn)("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",a),...e})}));V.displayName=R.Content.displayName,a.s(["Popover",0,T,"PopoverContent",0,V,"PopoverTrigger",0,U],53823)},65798,a=>{"use strict";let b=(0,a.i(97624).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);a.s(["ChevronUp",0,b],65798)},61781,a=>{"use strict";var b=a.i(53083),c=a.i(11321),d=a.i(60197),e=a.i(40227),f=a.i(38776);a.i(98617);var g=a.i(50040),h=a.i(16998),i=a.i(50926),j=a.i(17606),k=a.i(83852),l=a.i(58339),m=a.i(18948),n=a.i(53823),o=a.i(85536);a.s(["AgentModelPicker",0,function({initialAgentType:a,initialModel:p,onAgentModelChange:q,disabled:r,className:s,mode:t}){let{t:u}=(0,g.useTranslation)("web"),[v,w]=c.useState(!1),[x,y]=c.useState([]),[z,A]=c.useState(!0),[B,C]=c.useState(a),[D,E]=c.useState(p),[F,G]=c.useState(null),[H,I]=c.useState(0),[J,K]=c.useState(null);c.useEffect(()=>{(0,h.getAllAgentModels)().then(y).finally(()=>A(!1))},[]),c.useEffect(()=>{if(!v){let a=setTimeout(()=>{I(0),K(null)},150);return()=>clearTimeout(a)}},[v]);let L=async(a,b)=>{if(w(!1),a!==B||b!==D){if("override"===t){C(a),E(b),q?.(a,b);return}C(a),E(b),q?.(a,b),G(null);try{let c=await (0,i.updateAgentAndModel)(a,b||null);c.ok||(C(B),E(D),q?.(B,D),G(c.error??"Failed to save"))}catch{C(B),E(D),q?.(B,D),G("Failed to save")}}},M=(0,j.getAgentTypeIcon)(B),N=x.find(a=>a.agentType===B)?.label??B,O=D?(0,k.getModelMeta)(D).displayName||D:null,P=J?x.find(a=>a.agentType===J):null;return(0,b.jsxs)("div",{className:(0,o.cn)("flex flex-col gap-1",s),children:[(0,b.jsxs)(n.Popover,{open:v,onOpenChange:w,children:[(0,b.jsx)(n.PopoverTrigger,{asChild:!0,children:(0,b.jsx)(m.Button,{type:"button",variant:"outline",role:"combobox","aria-expanded":v,"aria-invalid":!!F,"aria-describedby":F?"agent-model-picker-error":void 0,disabled:(r??!1)||z,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",children:(0,b.jsxs)("span",{className:"flex items-center gap-2 truncate",children:[(0,b.jsx)(M,{className:"h-4 w-4 shrink-0"}),z?"Loading…":(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:N}),O?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-muted-foreground/50 text-xs",children:"·"}),(0,b.jsx)("span",{className:"text-xs font-medium",children:O})]}):null]})]})})}),(0,b.jsx)(n.PopoverContent,{className:"z-[70] w-(--radix-popover-trigger-width) overflow-hidden p-0",align:"start",children:(0,b.jsxs)("div",{className:"flex transition-transform duration-200 ease-in-out",style:{transform:`translateX(${1===H?"-50%":"0%"})`,width:"200%"},children:[(0,b.jsxs)("div",{className:"w-1/2 shrink-0",children:[(0,b.jsx)("div",{className:"text-muted-foreground border-b px-3 py-2 text-xs font-medium",children:"Select agent"}),x.map(a=>{let c=(0,j.getAgentTypeIcon)(a.agentType),e=B===a.agentType,g=a.models.length>0;return(0,b.jsxs)("button",{type:"button",disabled:!a.installed,className:(0,o.cn)("flex w-full items-center gap-2.5 px-3 py-2 text-xs transition-colors",a.installed?"hover:bg-accent hover:text-accent-foreground cursor-pointer":"cursor-not-allowed opacity-60",e&&"bg-accent/50"),onClick:()=>{a.installed&&(g?(K(a.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>I(1))})):L(a.agentType,""))},children:[(0,b.jsx)(c,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{className:"flex-1 text-start",children:a.label}),(0,b.jsx)(l.Badge,{variant:"outline",className:(0,o.cn)("px-1.5 py-0 text-[10px] leading-4 font-normal",a.installed?"border-emerald-500/30 text-emerald-500":"border-muted-foreground/30 text-muted-foreground"),children:a.installed?u("settings.environment.installed"):u("settings.environment.notInstalled")}),e&&!g?(0,b.jsx)(d.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,g&&a.installed?(0,b.jsx)(f.ChevronRight,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}):null]},a.agentType)})]}),(0,b.jsx)("div",{className:"w-1/2 shrink-0",children:P?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("button",{type:"button",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",onClick:()=>{I(0),setTimeout(()=>K(null),220)},children:[(0,b.jsx)(e.ChevronLeft,{className:"h-3.5 w-3.5"}),P.label]}),P.models.map(a=>{let c=B===P.agentType&&D===a.id;return(0,b.jsxs)("button",{type:"button",className:(0,o.cn)("flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-start transition-colors","hover:bg-accent hover:text-accent-foreground",c&&"bg-accent/50"),onClick:()=>L(P.agentType,a.id),children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,b.jsx)("span",{className:"text-xs font-medium",children:a.displayName}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:a.description})]}),c?(0,b.jsx)(d.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},a.id)})]}):null})]})})]}),!!F&&(0,b.jsx)("p",{id:"agent-model-picker-error",className:"text-destructive text-sm",role:"alert",children:F})]})}])},79620,a=>{"use strict";var b=a.i(53083),c=a.i(85536);a.s(["Textarea",0,function({className:a,...d}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,c.cn)("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","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...d})}])},14068,a=>{"use strict";let b=(0,a.i(97624).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);a.s(["default",0,b])}];
2
-
3
- //# sourceMappingURL=_0fswe4r._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/components/ui/badge.tsx","../../../../../../../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","\"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,3]}
@@ -1,8 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70727,e=>{"use strict";let t=(0,e.i(54864).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,t],70727)},84735,e=>{"use strict";let t=(0,e.i(54864).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],84735)},1650,e=>{"use strict";e.i(11495),e.s([])},68316,e=>{"use strict";var t=e.i(25034);e.s(["Server",()=>t.default])},54793,7729,e=>{"use strict";var t=e.i(96871),r=e.i(31777);e.s(["EmptyState",0,function({icon:e,title:s,description:a,action:l,className:i,...n}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,l?(0,t.jsx)("div",{className:"mt-2",children:l}):null]})}],7729),e.s([],54793)},956,e=>{"use strict";var t=e.i(96871),r=e.i(16539),s=e.i(31777);let a=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("bg-card text-card-foreground editorial-shadow rounded-xl border",e),...r}));a.displayName="Card";let l=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",e),...r}));l.displayName="CardHeader";let i=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("leading-none font-semibold tracking-tight",e),...r}));i.displayName="CardTitle";let n=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("text-muted-foreground text-sm",e),...r}));n.displayName="CardDescription";let c=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("p-6 pt-0",e),...r}));c.displayName="CardContent",r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("flex items-center p-6 pt-0",e),...r})).displayName="CardFooter",e.s(["Card",0,a,"CardContent",0,c,"CardDescription",0,n,"CardHeader",0,l,"CardTitle",0,i])},25326,e=>{"use strict";var t=e.i(23835);e.s(["AlertCircle",()=>t.default])},89372,e=>{"use strict";var t=e.i(96871),r=e.i(16539);e.i(26759);var s=e.i(97164),a=e.i(25326),l=e.i(68787),i=e.i(68316),n=e.i(98127),c=e.i(81846);e.i(54793);var d=e.i(7729),o=e.i(956);let m=(0,e.i(54864).default)("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);var p=e.i(70727);let x={http:i.Server,sse:m,stdio:p.Terminal};function u({server:e,onSelect:r}){let{t:a}=(0,s.useTranslation)("web"),l=x[e.transport]??i.Server,n=e.mcp_info?.description??"";return(0,t.jsxs)(o.Card,{className:"cursor-pointer p-5 transition-all duration-300 hover:scale-[1.02] hover:shadow-md hover:ring-slate-300 dark:hover:ring-slate-600",role:"button",tabIndex:0,onClick:()=>r(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),r(e))},children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l,{className:"text-muted-foreground h-4 w-4 shrink-0"}),(0,t.jsx)("h3",{className:"text-sm font-semibold",children:e.name})]}),(0,t.jsx)(c.Badge,{variant:"outline",className:"shrink-0 text-xs",children:a(`mcpServers.transport.${e.transport}`,e.transport.toUpperCase())})]}),n?(0,t.jsx)("p",{className:"text-muted-foreground mt-2 line-clamp-2 text-xs",children:n}):null,(0,t.jsx)("div",{className:"mt-3 flex items-center gap-2",children:e.auth_type&&"none"!==e.auth_type?(0,t.jsx)(c.Badge,{variant:"secondary",className:"text-xs",children:a(`mcpServers.authType.${e.auth_type}`,e.auth_type)}):null})]})}e.i(1650);var h=e.i(11495),f=e.i(45811),v=e.i(25235);function j({tools:e,serverName:a}){let{t:l}=(0,s.useTranslation)("web"),i=(0,r.useMemo)(()=>{let t;return t=`${a}-`,e.map(e=>({displayName:e.name.startsWith(t)?e.name.slice(t.length):e.name,description:e.description,key:e.name})).sort((e,t)=>e.displayName.localeCompare(t.displayName))},[e,a]);return 0===e.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:l("mcpServers.tools.noTools")}):(0,t.jsx)("div",{className:"space-y-2",children:i.map(e=>(0,t.jsxs)("div",{className:"rounded-md border p-2",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)(c.Badge,{variant:"outline",className:"font-mono text-xs",children:e.displayName})}),e.description?(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-xs",children:e.description}):null]},e.key))})}var y=e.i(35364),N=e.i(85149),g=e.i(67088);let b=[{id:"claude-code",label:"Claude Code"},{id:"cursor",label:"Cursor"},{id:"vscode",label:"VS Code"},{id:"gemini",label:"Gemini CLI"},{id:"codex",label:"Codex CLI"},{id:"curl",label:"cURL"}];function S({proxyBaseUrl:e,serverName:a}){let{t:l}=(0,s.useTranslation)("web"),[i,n]=(0,r.useState)("claude-code"),[c,d]=(0,r.useState)(!1),o=function(e,t,r){let s=`${t.replace(/\/$/,"")}/${r}/mcp`;switch(e){case"claude-code":return`claude mcp add --transport http ${r} \\
2
- ${s} \\
3
- --header "x-litellm-api-key: Bearer <LITELLM_API_KEY>"`;case"cursor":return JSON.stringify({mcpServers:{[r]:{url:s,headers:{"x-litellm-api-key":"Bearer <LITELLM_API_KEY>"}}}},null,2);case"vscode":return JSON.stringify({mcp:{servers:{[r]:{type:"http",url:s,headers:{"x-litellm-api-key":"Bearer <LITELLM_API_KEY>"}}}}},null,2);case"gemini":return JSON.stringify({mcpServers:{[r]:{httpUrl:s,headers:{"x-litellm-api-key":"Bearer <LITELLM_API_KEY>"}}}},null,2);case"codex":return`[mcp_servers.${r}]
4
- url = "${s}"
5
- headers = { "x-litellm-api-key" = "Bearer <LITELLM_API_KEY>" }`;case"curl":return`curl --location '${s}' \\
6
- --header 'Content-Type: application/json' \\
7
- --header 'x-litellm-api-key: Bearer <LITELLM_API_KEY>' \\
8
- --data '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'`}}(i,e,a),m=async()=>{try{await navigator.clipboard.writeText(o),d(!0),setTimeout(()=>d(!1),2e3)}catch{}};return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("div",{className:"flex flex-wrap gap-1",role:"tablist",children:b.map(e=>(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":i===e.id,onClick:()=>n(e.id),className:i===e.id?"bg-primary text-primary-foreground rounded-md px-2.5 py-1 text-xs font-medium":"border-border hover:bg-muted rounded-md border px-2.5 py-1 text-xs",children:e.label},e.id))}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("pre",{className:"bg-muted max-h-64 overflow-auto rounded-md p-3 pr-10 font-mono text-[11px] leading-relaxed",children:(0,t.jsx)("code",{children:o})}),(0,t.jsx)(y.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute top-1 right-1 h-7 w-7",onClick:m,"aria-label":l("mcpServers.connect.copy"),children:c?(0,t.jsx)(N.Check,{className:"text-primary h-3.5 w-3.5"}):(0,t.jsx)(g.Copy,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:l("mcpServers.connect.replaceKey")})]})}var w=e.i(96976);let C=(0,w.createServerReference)("401ba49ea4f9ca43f01491e2327308b75f41aab452",w.callServer,void 0,w.findSourceMapURL,"fetchMcpServerToolsAction");function k({server:e,proxyBaseUrl:a,open:l,onClose:i}){let{t:n}=(0,s.useTranslation)("web"),[d,o]=(0,r.useState)([]),[m,p]=(0,r.useState)(!1),[x,u]=(0,r.useState)(null),[y,N]=(0,r.useState)(null),g=(0,r.useCallback)(async e=>{p(!0),u(null);try{let t=await C(e);o(t.tools),t.error&&u(t.error),N(e)}catch{u("Failed to load tools")}finally{p(!1)}},[]);if((0,r.useEffect)(()=>{l&&e&&y!==e.server_name&&g(e.server_name)},[l,e,y,g]),!e)return null;let b=e.mcp_info?.description??"";return(0,t.jsxs)(h.BaseDrawer,{open:l,onClose:i,children:[(0,t.jsx)(f.DrawerTitle,{children:e.name}),b?(0,t.jsx)(f.DrawerDescription,{children:b}):null,(0,t.jsx)(v.Separator,{className:"my-4"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:n("mcpServers.detail.serverName")}),(0,t.jsx)("span",{className:"font-mono text-xs",children:e.server_name})]}),!function(e){if(!e)return!1;try{let t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}}(e.url)?null:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:n("mcpServers.detail.url")}),(0,t.jsx)("span",{className:"max-w-[200px] truncate font-mono text-xs",children:e.url})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:n("mcpServers.detail.transport")}),(0,t.jsx)(c.Badge,{variant:"outline",className:"text-xs",children:n(`mcpServers.transport.${e.transport}`,e.transport.toUpperCase())})]}),e.auth_type&&"none"!==e.auth_type?(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:n("mcpServers.detail.authType")}),(0,t.jsx)(c.Badge,{variant:"secondary",className:"text-xs",children:n(`mcpServers.authType.${e.auth_type}`,e.auth_type)})]}):null]}),(0,t.jsx)(v.Separator,{className:"my-4"}),(0,t.jsx)("h3",{className:"mb-3 text-sm font-semibold",children:n("mcpServers.tools.title")}),m?(0,t.jsxs)("p",{className:"text-muted-foreground text-sm",children:[n("accessibility.loading"),"..."]}):x?(0,t.jsx)("p",{className:"text-destructive text-sm",children:x}):(0,t.jsx)(j,{tools:d,serverName:e.server_name}),(0,t.jsx)(v.Separator,{className:"my-4"}),(0,t.jsx)("h3",{className:"mb-3 text-sm font-semibold",children:n("mcpServers.connect.title")}),(0,t.jsx)(S,{proxyBaseUrl:a,serverName:e.server_name})]})}let _=(0,w.createServerReference)("003eb8cb51501bbc7f537effacfeb8932880f2b63e",w.callServer,void 0,w.findSourceMapURL,"fetchMcpServersAction"),L=["all","http","sse","stdio"];e.s(["McpServersPageClient",0,function({proxyConfigured:e,proxyBaseUrl:o}){let{t:m}=(0,s.useTranslation)("web"),[p,x]=(0,r.useState)(""),[h,f]=(0,r.useState)("all"),[v,j]=(0,r.useState)(null),[y,N]=(0,r.useState)([]),[g,b]=(0,r.useState)(!0),[S,w]=(0,r.useState)(null);(0,r.useEffect)(()=>{e?_().then(e=>{N(e.servers),e.error&&w(e.error)}).catch(()=>{w(m("mcpServers.fetchError"))}).finally(()=>{b(!1)}):b(!1)},[e,m]);let C=(0,r.useMemo)(()=>y.filter(e=>{let t=p.toLowerCase(),r=!t||e.name.toLowerCase().includes(t)||(e.mcp_info?.description??"").toLowerCase().includes(t),s="all"===h||e.transport===h;return r&&s}),[y,p,h]);return e?g?(0,t.jsx)("div",{className:"flex h-full items-center justify-center p-8",children:(0,t.jsxs)("p",{className:"text-muted-foreground",children:[m("accessibility.loading"),"..."]})}):(0,t.jsxs)("div",{className:"space-y-6 p-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-bold",children:m("mcpServers.title")}),S?(0,t.jsx)("div",{className:"border-destructive/50 bg-destructive/10 mt-2 rounded-md border p-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.AlertCircle,{className:"text-destructive h-4 w-4"}),(0,t.jsx)("p",{className:"text-destructive text-sm",children:S})]})}):null,(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:m("mcpServers.subtitle")})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,t.jsx)(n.Input,{placeholder:m("mcpServers.searchPlaceholder"),value:p,onChange:e=>x(e.target.value),className:"max-w-xs"}),(0,t.jsx)("div",{className:"flex gap-1",children:L.map(e=>(0,t.jsx)(c.Badge,{variant:h===e?"default":"outline",className:"cursor-pointer",onClick:()=>f(e),children:"all"===e?m("mcpServers.filter.all"):m(`mcpServers.transport.${e}`,e.toUpperCase())},e))})]}),0===C.length?(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)(d.EmptyState,{icon:0===y.length?(0,t.jsx)(i.Server,{className:"h-8 w-8"}):(0,t.jsx)(l.Search,{className:"h-8 w-8"}),title:0===y.length?m("mcpServers.noServers"):m("mcpServers.noResults")})}):(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:C.map(e=>(0,t.jsx)(u,{server:e,onSelect:j},e.server_id))}),(0,t.jsx)(k,{server:v,proxyBaseUrl:o,open:!!v,onClose:()=>j(null)})]}):(0,t.jsx)("div",{className:"flex h-full items-center justify-center p-8",children:(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(a.AlertCircle,{className:"h-8 w-8"}),title:m("mcpServers.noProxy")})})}],89372)}]);