@shipit-ai/cli 1.173.0 → 1.173.1-pr18.74ae2aa

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 (256) hide show
  1. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.d.ts +9 -1
  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 +7 -3
  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 +6 -5
  6. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.d.ts.map +1 -1
  7. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.js +14 -0
  8. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.d.ts +12 -0
  9. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.d.ts.map +1 -1
  10. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.js +11 -1
  11. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.d.ts +10 -2
  12. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.js +50 -13
  14. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.d.ts +1 -1
  15. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.d.ts.map +1 -1
  16. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.js +2 -2
  17. package/dist/src/presentation/web/app/mcp-servers/page.d.ts.map +1 -1
  18. package/dist/src/presentation/web/app/mcp-servers/page.js +3 -1
  19. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.d.ts +19 -0
  20. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.d.ts.map +1 -0
  21. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.js +108 -0
  22. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.stories.d.ts +11 -0
  23. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.stories.d.ts.map +1 -0
  24. package/dist/src/presentation/web/components/features/mcp-servers/mcp-connect-instructions.stories.js +18 -0
  25. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.js +1 -1
  26. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.d.ts +2 -2
  27. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.d.ts.map +1 -1
  28. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.js +25 -9
  29. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.d.ts +1 -1
  30. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.js +1 -1
  31. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.d.ts +2 -1
  32. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.d.ts.map +1 -1
  33. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.js +3 -4
  34. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.stories.js +2 -2
  35. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.d.ts +17 -13
  36. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.d.ts.map +1 -1
  37. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.js +22 -35
  38. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.d.ts +1 -1
  39. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.d.ts.map +1 -1
  40. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.stories.js +7 -8
  41. package/dist/translations/ar/web.json +8 -2
  42. package/dist/translations/de/web.json +8 -2
  43. package/dist/translations/en/web.json +8 -2
  44. package/dist/translations/es/web.json +8 -2
  45. package/dist/translations/fr/web.json +8 -2
  46. package/dist/translations/he/web.json +8 -2
  47. package/dist/translations/pt/web.json +8 -2
  48. package/dist/translations/ru/web.json +8 -2
  49. package/dist/tsconfig.build.tsbuildinfo +1 -1
  50. package/package.json +1 -1
  51. package/web/.next/BUILD_ID +1 -1
  52. package/web/.next/build-manifest.json +3 -3
  53. package/web/.next/fallback-build-manifest.json +3 -3
  54. package/web/.next/prerender-manifest.json +3 -3
  55. package/web/.next/required-server-files.js +3 -3
  56. package/web/.next/required-server-files.json +3 -3
  57. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  58. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  61. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  62. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  63. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +31 -31
  64. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  65. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  66. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  67. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  70. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  71. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  72. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  73. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  74. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  76. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  77. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  79. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +31 -31
  82. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  83. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  84. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  85. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  86. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  88. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  89. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  91. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  92. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  94. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  95. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  96. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  97. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  98. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  99. package/web/.next/server/app/_global-error.html +1 -1
  100. package/web/.next/server/app/_global-error.rsc +1 -1
  101. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  102. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  103. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  104. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  105. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  106. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  107. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  108. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  109. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  110. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  111. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  112. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  113. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  114. package/web/.next/server/app/mcp-servers/page/server-reference-manifest.json +13 -13
  115. package/web/.next/server/app/mcp-servers/page.js.nft.json +1 -1
  116. package/web/.next/server/app/mcp-servers/page_client-reference-manifest.js +1 -1
  117. package/web/.next/server/app/plugins/page/server-reference-manifest.json +15 -15
  118. package/web/.next/server/app/plugins/page.js.nft.json +1 -1
  119. package/web/.next/server/app/plugins/page_client-reference-manifest.js +1 -1
  120. package/web/.next/server/app/settings/page/server-reference-manifest.json +12 -12
  121. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  122. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  123. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  124. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  125. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  126. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  127. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  128. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  129. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  130. package/web/.next/server/app/version/page.js.nft.json +1 -1
  131. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  132. package/web/.next/server/chunks/[root-of-the-server]__0rfoo7k._.js +1 -1
  133. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  134. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  135. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  137. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/0j.8_web_components_features_mcp-servers_mcp-servers-page-client_tsx_0dda8ih._.js +10 -0
  139. package/web/.next/server/chunks/ssr/0j.8_web_components_features_mcp-servers_mcp-servers-page-client_tsx_0dda8ih._.js.map +1 -0
  140. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  141. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  143. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__0mwao26._.js +3 -0
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__0mwao26._.js.map +1 -0
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__0tq2syh._.js +1 -1
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js.map +1 -1
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js +1 -1
  159. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js.map +1 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js +1 -1
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__13pshs0._.js +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__13pshs0._.js.map +1 -1
  164. package/web/.next/server/chunks/ssr/_0-09vq7._.js +1 -1
  165. package/web/.next/server/chunks/ssr/_0-09vq7._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/_01sesw0._.js +1 -1
  167. package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -1
  168. package/web/.next/server/chunks/ssr/{_0i0_q..._.js → _061hw0d._.js} +2 -2
  169. package/web/.next/server/chunks/ssr/{_0i0_q..._.js.map → _061hw0d._.js.map} +1 -1
  170. package/web/.next/server/chunks/ssr/_069y.js._.js +2 -2
  171. package/web/.next/server/chunks/ssr/_069y.js._.js.map +1 -1
  172. package/web/.next/server/chunks/ssr/_096x3u~._.js +1 -1
  173. package/web/.next/server/chunks/ssr/_096x3u~._.js.map +1 -1
  174. package/web/.next/server/chunks/ssr/_0__4si~._.js +1 -1
  175. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +1 -1
  176. package/web/.next/server/chunks/ssr/_0_m17kl._.js +1 -1
  177. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/{_0wl~vw0._.js → _0bjztu0._.js} +2 -2
  179. package/web/.next/server/chunks/ssr/{_0wl~vw0._.js.map → _0bjztu0._.js.map} +1 -1
  180. package/web/.next/server/chunks/ssr/_0d4miu.._.js +1 -1
  181. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/_0e8ern9._.js +1 -1
  183. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/_0fswe4r._.js +3 -0
  185. package/web/.next/server/chunks/ssr/_0fswe4r._.js.map +1 -0
  186. package/web/.next/server/chunks/ssr/_0p3~u8u._.js +2 -2
  187. package/web/.next/server/chunks/ssr/_0p3~u8u._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/{_052jfzq._.js → _0piwqu6._.js} +2 -2
  189. package/web/.next/server/chunks/ssr/{_052jfzq._.js.map → _0piwqu6._.js.map} +1 -1
  190. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +1 -1
  191. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +1 -1
  192. package/web/.next/server/chunks/ssr/_0t59q8r._.js +1 -1
  193. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/_0vm01xk._.js +3 -0
  195. package/web/.next/server/chunks/ssr/_0vm01xk._.js.map +1 -0
  196. package/web/.next/server/chunks/ssr/_0vyfc4b._.js +1 -1
  197. package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -1
  198. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  199. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  200. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +1 -1
  201. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +1 -1
  202. package/web/.next/server/chunks/ssr/_0~7lwu_._.js +1 -1
  203. package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -1
  204. package/web/.next/server/chunks/ssr/_1161g9x._.js +1 -1
  205. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +1 -1
  206. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_mcp-servers_page_actions_0d.r4q..js +1 -1
  207. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_mcp-servers_page_actions_0d.r4q..js.map +1 -1
  208. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js +1 -1
  209. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js.map +1 -1
  210. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +1 -1
  211. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +1 -1
  212. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +1 -1
  213. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +1 -1
  214. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_0pjb_re._.js +1 -1
  215. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  216. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  217. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  218. package/web/.next/server/middleware-build-manifest.js +3 -3
  219. package/web/.next/server/pages/500.html +1 -1
  220. package/web/.next/server/server-reference-manifest.js +1 -1
  221. package/web/.next/server/server-reference-manifest.json +57 -57
  222. package/web/.next/static/chunks/{0y~ts1~5mpg5h.js → 00ejfue_my-gi.js} +1 -1
  223. package/web/.next/static/chunks/{156lo29queyhm.js → 07fd-bv9jf4ar.js} +1 -1
  224. package/web/.next/static/chunks/{0xmqx8qtb0njk.js → 07qq_rnqkff3j.js} +1 -1
  225. package/web/.next/static/chunks/{0inayq2zzadja.js → 0_0-~vw9fbzg3.js} +1 -1
  226. package/web/.next/static/chunks/{0hkfexnwbsfyg.js → 0_fq0a9weh667.js} +1 -1
  227. package/web/.next/static/chunks/{0sgbbtfp4hspl.js → 0b08xxn1vf83~.js} +1 -1
  228. package/web/.next/static/chunks/{0jwq.mr-.ltps.js → 0ci6md58_5lyo.js} +1 -1
  229. package/web/.next/static/chunks/{0ferlvybqru33.js → 0ewyj9vod8c1f.js} +3 -3
  230. package/web/.next/static/chunks/0h2nh2s2b3ma2.css +1 -0
  231. package/web/.next/static/chunks/{0ghc-76~~v-cj.js → 0jz545_le~i4p.js} +1 -1
  232. package/web/.next/static/chunks/{09ix490-00s4x.js → 0lo8b3uuef2qz.js} +1 -1
  233. package/web/.next/static/chunks/0mf.6lu_j9ir1.js +8 -0
  234. package/web/.next/static/chunks/{0j-doxnxl43yu.js → 0nhndoef_mwol.js} +1 -1
  235. package/web/.next/static/chunks/{0.s8cxri-_s9l.js → 0pjx889rt3wi8.js} +1 -1
  236. package/web/.next/static/chunks/0qr4~tea0_9_x.js +1 -0
  237. package/web/.next/static/chunks/0r9c9npbjtytc.js +1 -0
  238. package/web/.next/static/chunks/{10j-adknfho63.js → 0sulvg2~vejb2.js} +1 -1
  239. package/web/.next/static/chunks/{0x_xky1fcolbm.js → 0w3fwzmtq1dks.js} +1 -1
  240. package/web/.next/static/chunks/{15izkiwfc5ym~.js → 0wqah~.4_~96e.js} +1 -1
  241. package/web/.next/static/chunks/{0yz729_n37__3.js → 145-qim_t5e1z.js} +1 -1
  242. package/web/.next/static/chunks/{11e3u3wkmfedd.js → 14g3zvanas7-o.js} +1 -1
  243. package/web/.next/static/chunks/{0sliw7pn2d_57.js → 16flmi903bl45.js} +1 -1
  244. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b~nfa6._.js +0 -3
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b~nfa6._.js.map +0 -1
  246. package/web/.next/server/chunks/ssr/_0ia4o6_._.js +0 -3
  247. package/web/.next/server/chunks/ssr/_0ia4o6_._.js.map +0 -1
  248. package/web/.next/server/chunks/ssr/_0o.xc6x._.js +0 -3
  249. package/web/.next/server/chunks/ssr/_0o.xc6x._.js.map +0 -1
  250. package/web/.next/static/chunks/0.zpc6-geo2pp.js +0 -1
  251. package/web/.next/static/chunks/00h433i5-1v_-.css +0 -1
  252. package/web/.next/static/chunks/08tp-_of5~bcc.js +0 -1
  253. package/web/.next/static/chunks/0zy_h1essdthk.js +0 -1
  254. /package/web/.next/static/{8igTmoo1g4DAuDf2Tup6h → OLMN4LNohZvVnxDESxTMm}/_buildManifest.js +0 -0
  255. /package/web/.next/static/{8igTmoo1g4DAuDf2Tup6h → OLMN4LNohZvVnxDESxTMm}/_clientMiddlewareManifest.js +0 -0
  256. /package/web/.next/static/{8igTmoo1g4DAuDf2Tup6h → OLMN4LNohZvVnxDESxTMm}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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)},60589,e=>{"use strict";let t=(0,e.i(54864).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);e.s(["GitBranch",0,t],60589)},63995,e=>{"use strict";let t=(0,e.i(54864).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",0,t])},29549,e=>{"use strict";let t=(0,e.i(54864).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",0,t],29549)},81481,e=>{"use strict";let t=(0,e.i(54864).default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);e.s(["Info",0,t],81481)},79558,e=>{"use strict";var t=e.i(88641);e.s(["Download",()=>t.default])},86024,e=>{"use strict";let t=(0,e.i(54864).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);e.s(["Package",0,t],86024)},89048,e=>{"use strict";let t=(0,e.i(54864).default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);e.s(["Rocket",0,t],89048)},44412,e=>{"use strict";var t=e.i(96871),a=e.i(16539),s=e.i(43606),l=e.i(68787),r=e.i(68304),n=e.i(98127),i=e.i(35364),o=e.i(31777),d=e.i(79561),c=e.i(89048),u=e.i(79558),m=e.i(66358),x=e.i(29549),h=e.i(46380),p=e.i(86024),g=e.i(81481),f=e.i(63995),f=f,j=e.i(2828),b=e.i(67088),v=e.i(85149),N=e.i(84735);let k=(0,e.i(54864).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var w=e.i(70727),y=e.i(60589),C=e.i(11495);let T={linux:"Linux",darwin:"macOS",win32:"Windows"},I={ide:{label:"IDE",icon:k},"cli-agent":{label:"CLI Agent",icon:w.Terminal},vcs:{label:"VCS",icon:y.GitBranch},terminal:{label:"Terminal",icon:w.Terminal}};function S({status:e}){return"available"===e?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",children:[(0,t.jsx)(v.Check,{className:"h-3 w-3"}),"Installed"]}):"error"===e?(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",children:"Error"}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:"Missing"})}function z({tool:e,open:s,onClose:l,onRefresh:r,autoStart:n}){let[o,m]=(0,a.useState)(!1),[x,h]=(0,a.useState)(!1),{logs:g,status:f,startInstall:j}=function(e){let[t,s]=(0,a.useState)([]),[l,r]=(0,a.useState)("idle"),[n,i]=(0,a.useState)(null),o=(0,a.useRef)(null),d=(0,a.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,a.useEffect)(()=>d,[d]),{logs:t,status:l,result:n,startInstall:(0,a.useCallback)(()=>{d(),s([]),i(null),r("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{s(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);i(t),r("error"===t.status?"error":"done"),d()}),t.onerror=()=>{r("error"),d()}},[e,d])}}(e.id),w=(0,a.useRef)(null),y=(0,a.useRef)(!0),L=(0,a.useRef)(!1),M="available"===e.status.status,B="error"===e.status.status,E=M&&!!e.openDirectory,P=!M&&!B&&e.autoInstall;async function V(){h(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{h(!1)}}(0,a.useEffect)(()=>{s&&n&&P&&"idle"===f&&!L.current&&(L.current=!0,j()),s||(L.current=!1)},[s,n,P,f,j]);let D=(0,a.useCallback)(()=>{let e=w.current;e&&(y.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,a.useEffect)(()=>{y.current&&w.current&&(w.current.scrollTop=w.current.scrollHeight)},[g,f]),(0,a.useEffect)(()=>{"done"===f&&r&&r()},[f,r]);let R=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pe-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:24,height:24,className:"shrink-0"}):(0,t.jsx)(p.Package,{className:"text-muted-foreground h-6 w-6 shrink-0"}),(0,t.jsx)("h2",{className:"text-base font-bold",children:e.name}),(0,t.jsx)(S,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let a=I[e]??{label:e,icon:k},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(s,{className:"h-3 w-3"}),a.label]},e)})})]});return(0,t.jsx)(C.BaseDrawer,{open:s,onClose:l,size:"md",modal:!0,title:e.name,header:R,"data-testid":"tool-detail-drawer",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),e.author||e.platforms?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[e.author?(0,t.jsxs)("span",{className:"text-muted-foreground",children:["by"," ",e.website?(0,t.jsx)("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:underline",children:e.author}):(0,t.jsx)("span",{className:"text-foreground",children:e.author})]}):null,e.platforms&&e.platforms.length>0?(0,t.jsx)("span",{className:"text-muted-foreground",children:e.platforms.map(e=>T[e]??e).join(" · ")}):null]}):null,e.installCommand?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install command"}),(0,t.jsxs)("div",{className:"relative rounded-md bg-zinc-900 text-zinc-100",children:[(0,t.jsx)("pre",{className:"overflow-x-auto px-3 py-2.5 pe-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(i.Button,{variant:"ghost",size:"sm",className:"absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100",onClick:function(){e.installCommand&&navigator.clipboard.writeText(e.installCommand).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},"aria-label":o?"Copied!":"Copy install command",children:[o?(0,t.jsx)(v.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(b.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ms-1 text-[10px]",children:o?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P?(0,t.jsxs)(i.Button,{size:"sm",onClick:j,disabled:"streaming"===f,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===f?(0,t.jsx)(d.LoaderCircle,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(u.Download,{className:"me-1.5 h-3.5 w-3.5"}),"streaming"===f?"Installing...":"Install"]}):null,E?(0,t.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:()=>void V(),disabled:x,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[x?(0,t.jsx)(d.LoaderCircle,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(c.Rocket,{className:"me-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(i.Button,{variant:"outline",size:"sm",className:"cursor-pointer",asChild:!0,children:(0,t.jsxs)("a",{href:e.documentationUrl,target:"_blank",rel:"noopener noreferrer",children:["Docs",(0,t.jsx)(N.ExternalLink,{className:"ms-1 h-3 w-3"})]})}):null]}),("streaming"===f||"done"===f||"error"===f)&&g.length>0?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install log"}),(0,t.jsxs)("div",{ref:w,onScroll:D,className:"max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100","data-testid":"tool-install-log",children:[g.map((e,a)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},a)),"done"===f?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===f?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let L={ide:"IDE","cli-agent":"CLI Agent",vcs:"VCS",terminal:"Terminal"};function M({tool:e,onRefresh:s,className:l}){let[r,n]=(0,a.useState)(!1),[b,v]=(0,a.useState)(!1),[N,k]=(0,a.useTransition)(),w="available"===e.status.status,y="error"===e.status.status,C=w&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){v(!1),n(!0)},className:(0,o.cn)("bg-card editorial-shadow group flex w-full cursor-pointer flex-col gap-4 rounded-xl p-5","transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md hover:ring-slate-300 dark:hover:ring-slate-600",l),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,t.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-slate-100 p-2 ring-1 ring-slate-200/50 dark:bg-slate-800 dark:ring-slate-700/50",children:e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:28,height:28,className:"h-full w-full"}):(0,t.jsx)(p.Package,{className:"text-muted-foreground h-full w-full"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"text-foreground truncate text-sm leading-tight font-bold tracking-tight",children:e.name}),e.author?(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-1.5",children:[(0,t.jsx)("span",{"data-testid":"tool-card-vendor-label",className:"text-[9px] font-bold tracking-wider text-slate-400 uppercase",children:"Vendor"}),(0,t.jsx)("span",{"data-testid":"tool-card-vendor",className:"text-muted-foreground truncate text-xs font-medium",children:e.author})]}):e.tags.length>0?(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"text-[9px] font-bold tracking-wider text-slate-400 uppercase",children:"Tag"}),(0,t.jsx)("span",{"data-testid":"tool-card-tags",className:"text-muted-foreground truncate text-xs font-medium",children:e.tags.map(e=>L[e]??e).join(" · ")})]}):null]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[y&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] font-medium text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(m.CircleX,{className:"h-3 w-3 shrink-0"}),"Error"]}):w?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] font-medium text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(h.CircleCheck,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px] font-medium",children:[(0,t.jsx)(x.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(j.TooltipProvider,{children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-amber-100 px-2 py-0.5 text-[9px] font-bold tracking-wider text-amber-700 uppercase dark:bg-amber-900/40 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(j.TooltipContent,{side:"top",children:"This tool is required for ShipIT to function properly"})]})}):null]})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground -mt-2 line-clamp-2 text-xs leading-relaxed",children:e.summary}),(0,t.jsx)("div",{className:"mt-auto flex flex-col gap-1.5",children:w&&C?(0,t.jsxs)(i.Button,{variant:"default",onClick:function(t){t.stopPropagation(),k(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:N,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-9 w-full cursor-pointer rounded-lg text-xs font-bold tracking-wide transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md",children:[N?(0,t.jsx)(d.LoaderCircle,{className:"me-1 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(c.Rocket,{className:"me-1 h-3.5 w-3.5"}),"Launch"]}):w||y?y?(0,t.jsxs)(i.Button,{variant:"outline",onClick:e=>{e.stopPropagation(),v(!1),n(!0)},"aria-label":`View error details for ${e.name}`,"data-testid":"tool-card-error-button",className:"h-9 w-full cursor-pointer rounded-lg border-red-300 text-xs font-bold tracking-wide text-red-600 transition-all duration-300 hover:-translate-y-0.5 hover:bg-red-50 hover:shadow-md dark:border-red-900 dark:text-red-400 dark:hover:bg-red-950/30",children:[(0,t.jsx)(f.default,{className:"me-1 h-3.5 w-3.5"}),"View Error"]}):(0,t.jsxs)(i.Button,{variant:"outline",onClick:e=>{e.stopPropagation(),v(!1),n(!0)},"aria-label":`View details for ${e.name}`,"data-testid":"tool-card-details-button",className:"h-9 w-full cursor-pointer rounded-lg text-xs font-bold tracking-wide transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md",children:[(0,t.jsx)(g.Info,{className:"me-1 h-3.5 w-3.5"}),"View Details"]}):(0,t.jsxs)(i.Button,{variant:"default",onClick:function(t){t.stopPropagation(),v(e.autoInstall),n(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-9 w-full cursor-pointer rounded-lg text-xs font-bold tracking-wide transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md",children:[(0,t.jsx)(u.Download,{className:"me-1 h-3.5 w-3.5"}),"Install"]})})]}),(0,t.jsx)(z,{tool:e,open:r,onClose:()=>n(!1),onRefresh:s,autoStart:b})]})}let B={all:()=>!0,ide:e=>e.tags.includes("ide"),"cli-agent":e=>e.tags.includes("cli-agent"),vcs:e=>e.tags.includes("vcs"),terminal:e=>e.tags.includes("terminal")};e.s(["ToolsPageClient",0,function({tools:e,className:d}){let[c,u]=(0,a.useState)(e),[m,x]=(0,a.useState)("all"),[h,p]=(0,a.useState)(""),[g,f]=(0,a.useState)(null),j=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();u(t)}}catch{}},[]),b=(0,a.useMemo)(()=>{let e=h.toLowerCase();return c.filter(t=>{if(!B[m](t)||g&&t.status.status!==g)return!1;if(e){let a=t.name.toLowerCase().includes(e),s=t.summary.toLowerCase().includes(e);if(!a&&!s)return!1}return!0})},[c,m,h,g]),v=c.filter(e=>"available"===e.status.status).length;return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,o.cn)("space-y-8",d),children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)("span",{className:"text-[10px] font-bold tracking-[0.2em] text-slate-400 uppercase",children:"Developer Portal"})}),(0,t.jsxs)("div",{className:"flex items-baseline gap-3",children:[(0,t.jsx)("h1",{className:"text-foreground text-3xl font-black tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-medium",children:[v," of ",c.length," installed"]})]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(l.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(n.Input,{placeholder:"Search tools...",value:h,onChange:e=>p(e.target.value),className:"ps-9","data-testid":"tool-search"})]}),(0,t.jsxs)(r.Tabs,{value:m,onValueChange:e=>x(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(r.TabsList,{"data-editorial":"true",className:"bg-card editorial-shadow h-10 p-1",children:[(0,t.jsx)(r.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"cursor-pointer px-4 text-xs font-bold",children:"All"}),(0,t.jsx)(r.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"cursor-pointer px-4 text-xs font-bold",children:"IDEs"}),(0,t.jsx)(r.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"cursor-pointer px-4 text-xs font-bold",children:"CLI Agents"}),(0,t.jsx)(r.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"cursor-pointer px-4 text-xs font-bold",children:"Version Control"}),(0,t.jsx)(r.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"cursor-pointer px-4 text-xs font-bold",children:"Terminals"})]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2","data-testid":"tools-status-filter",children:[(0,t.jsx)(i.Button,{variant:null===g?"default":"outline",size:"sm",onClick:()=>f(null),children:"All"}),(0,t.jsx)(i.Button,{variant:"available"===g?"default":"outline",size:"sm",onClick:()=>f("available"),children:"Installed"}),(0,t.jsx)(i.Button,{variant:"missing"===g?"default":"outline",size:"sm",onClick:()=>f("missing"),children:"Not Installed"})]}),(0,t.jsx)(r.TabsContent,{value:m,className:"mt-6",children:0===b.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-16 text-center",children:[(0,t.jsx)(s.Wrench,{className:"mb-3 h-8 w-8 opacity-20"}),(0,t.jsx)("p",{className:"text-sm",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-6 md:grid-cols-2 xl:grid-cols-3",children:b.map(e=>(0,t.jsx)(M,{tool:e,onRefresh:j},e.id))})})]})]})}],44412)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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)},60589,e=>{"use strict";let t=(0,e.i(54864).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);e.s(["GitBranch",0,t],60589)},63995,e=>{"use strict";let t=(0,e.i(54864).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",0,t])},29549,e=>{"use strict";let t=(0,e.i(54864).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",0,t],29549)},81481,e=>{"use strict";let t=(0,e.i(54864).default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);e.s(["Info",0,t],81481)},79558,e=>{"use strict";var t=e.i(88641);e.s(["Download",()=>t.default])},86024,e=>{"use strict";let t=(0,e.i(54864).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);e.s(["Package",0,t],86024)},89048,e=>{"use strict";let t=(0,e.i(54864).default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);e.s(["Rocket",0,t],89048)},44412,e=>{"use strict";var t=e.i(96871),a=e.i(16539),s=e.i(43606),l=e.i(68787),r=e.i(68304),n=e.i(98127),i=e.i(69173),o=e.i(31777),d=e.i(79561),c=e.i(89048),u=e.i(79558),m=e.i(66358),x=e.i(29549),h=e.i(46380),p=e.i(86024),g=e.i(81481),f=e.i(63995),f=f,j=e.i(2828),b=e.i(67088),v=e.i(85149),N=e.i(84735);let k=(0,e.i(54864).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var w=e.i(70727),y=e.i(60589),C=e.i(11495);let T={linux:"Linux",darwin:"macOS",win32:"Windows"},I={ide:{label:"IDE",icon:k},"cli-agent":{label:"CLI Agent",icon:w.Terminal},vcs:{label:"VCS",icon:y.GitBranch},terminal:{label:"Terminal",icon:w.Terminal}};function S({status:e}){return"available"===e?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",children:[(0,t.jsx)(v.Check,{className:"h-3 w-3"}),"Installed"]}):"error"===e?(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",children:"Error"}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:"Missing"})}function z({tool:e,open:s,onClose:l,onRefresh:r,autoStart:n}){let[o,m]=(0,a.useState)(!1),[x,h]=(0,a.useState)(!1),{logs:g,status:f,startInstall:j}=function(e){let[t,s]=(0,a.useState)([]),[l,r]=(0,a.useState)("idle"),[n,i]=(0,a.useState)(null),o=(0,a.useRef)(null),d=(0,a.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,a.useEffect)(()=>d,[d]),{logs:t,status:l,result:n,startInstall:(0,a.useCallback)(()=>{d(),s([]),i(null),r("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{s(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);i(t),r("error"===t.status?"error":"done"),d()}),t.onerror=()=>{r("error"),d()}},[e,d])}}(e.id),w=(0,a.useRef)(null),y=(0,a.useRef)(!0),L=(0,a.useRef)(!1),M="available"===e.status.status,B="error"===e.status.status,E=M&&!!e.openDirectory,P=!M&&!B&&e.autoInstall;async function V(){h(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{h(!1)}}(0,a.useEffect)(()=>{s&&n&&P&&"idle"===f&&!L.current&&(L.current=!0,j()),s||(L.current=!1)},[s,n,P,f,j]);let D=(0,a.useCallback)(()=>{let e=w.current;e&&(y.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,a.useEffect)(()=>{y.current&&w.current&&(w.current.scrollTop=w.current.scrollHeight)},[g,f]),(0,a.useEffect)(()=>{"done"===f&&r&&r()},[f,r]);let R=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pe-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:24,height:24,className:"shrink-0"}):(0,t.jsx)(p.Package,{className:"text-muted-foreground h-6 w-6 shrink-0"}),(0,t.jsx)("h2",{className:"text-base font-bold",children:e.name}),(0,t.jsx)(S,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let a=I[e]??{label:e,icon:k},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(s,{className:"h-3 w-3"}),a.label]},e)})})]});return(0,t.jsx)(C.BaseDrawer,{open:s,onClose:l,size:"md",modal:!0,title:e.name,header:R,"data-testid":"tool-detail-drawer",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),e.author||e.platforms?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[e.author?(0,t.jsxs)("span",{className:"text-muted-foreground",children:["by"," ",e.website?(0,t.jsx)("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:underline",children:e.author}):(0,t.jsx)("span",{className:"text-foreground",children:e.author})]}):null,e.platforms&&e.platforms.length>0?(0,t.jsx)("span",{className:"text-muted-foreground",children:e.platforms.map(e=>T[e]??e).join(" · ")}):null]}):null,e.installCommand?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install command"}),(0,t.jsxs)("div",{className:"relative rounded-md bg-zinc-900 text-zinc-100",children:[(0,t.jsx)("pre",{className:"overflow-x-auto px-3 py-2.5 pe-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(i.Button,{variant:"ghost",size:"sm",className:"absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100",onClick:function(){e.installCommand&&navigator.clipboard.writeText(e.installCommand).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},"aria-label":o?"Copied!":"Copy install command",children:[o?(0,t.jsx)(v.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(b.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ms-1 text-[10px]",children:o?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[P?(0,t.jsxs)(i.Button,{size:"sm",onClick:j,disabled:"streaming"===f,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===f?(0,t.jsx)(d.LoaderCircle,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(u.Download,{className:"me-1.5 h-3.5 w-3.5"}),"streaming"===f?"Installing...":"Install"]}):null,E?(0,t.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:()=>void V(),disabled:x,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[x?(0,t.jsx)(d.LoaderCircle,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(c.Rocket,{className:"me-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(i.Button,{variant:"outline",size:"sm",className:"cursor-pointer",asChild:!0,children:(0,t.jsxs)("a",{href:e.documentationUrl,target:"_blank",rel:"noopener noreferrer",children:["Docs",(0,t.jsx)(N.ExternalLink,{className:"ms-1 h-3 w-3"})]})}):null]}),("streaming"===f||"done"===f||"error"===f)&&g.length>0?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install log"}),(0,t.jsxs)("div",{ref:w,onScroll:D,className:"max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100","data-testid":"tool-install-log",children:[g.map((e,a)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},a)),"done"===f?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===f?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let L={ide:"IDE","cli-agent":"CLI Agent",vcs:"VCS",terminal:"Terminal"};function M({tool:e,onRefresh:s,className:l}){let[r,n]=(0,a.useState)(!1),[b,v]=(0,a.useState)(!1),[N,k]=(0,a.useTransition)(),w="available"===e.status.status,y="error"===e.status.status,C=w&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){v(!1),n(!0)},className:(0,o.cn)("bg-card editorial-shadow group flex w-full cursor-pointer flex-col gap-4 rounded-xl p-5","transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md hover:ring-slate-300 dark:hover:ring-slate-600",l),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,t.jsx)("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg bg-slate-100 p-2 ring-1 ring-slate-200/50 dark:bg-slate-800 dark:ring-slate-700/50",children:e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:28,height:28,className:"h-full w-full"}):(0,t.jsx)(p.Package,{className:"text-muted-foreground h-full w-full"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"text-foreground truncate text-sm leading-tight font-bold tracking-tight",children:e.name}),e.author?(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-1.5",children:[(0,t.jsx)("span",{"data-testid":"tool-card-vendor-label",className:"text-[9px] font-bold tracking-wider text-slate-400 uppercase",children:"Vendor"}),(0,t.jsx)("span",{"data-testid":"tool-card-vendor",className:"text-muted-foreground truncate text-xs font-medium",children:e.author})]}):e.tags.length>0?(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"text-[9px] font-bold tracking-wider text-slate-400 uppercase",children:"Tag"}),(0,t.jsx)("span",{"data-testid":"tool-card-tags",className:"text-muted-foreground truncate text-xs font-medium",children:e.tags.map(e=>L[e]??e).join(" · ")})]}):null]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[y&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] font-medium text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(m.CircleX,{className:"h-3 w-3 shrink-0"}),"Error"]}):w?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] font-medium text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(h.CircleCheck,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px] font-medium",children:[(0,t.jsx)(x.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(j.TooltipProvider,{children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-amber-100 px-2 py-0.5 text-[9px] font-bold tracking-wider text-amber-700 uppercase dark:bg-amber-900/40 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(j.TooltipContent,{side:"top",children:"This tool is required for ShipIT to function properly"})]})}):null]})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground -mt-2 line-clamp-2 text-xs leading-relaxed",children:e.summary}),(0,t.jsx)("div",{className:"mt-auto flex flex-col gap-1.5",children:w&&C?(0,t.jsxs)(i.Button,{variant:"default",onClick:function(t){t.stopPropagation(),k(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:N,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-9 w-full cursor-pointer rounded-lg text-xs font-bold tracking-wide transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md",children:[N?(0,t.jsx)(d.LoaderCircle,{className:"me-1 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(c.Rocket,{className:"me-1 h-3.5 w-3.5"}),"Launch"]}):w||y?y?(0,t.jsxs)(i.Button,{variant:"outline",onClick:e=>{e.stopPropagation(),v(!1),n(!0)},"aria-label":`View error details for ${e.name}`,"data-testid":"tool-card-error-button",className:"h-9 w-full cursor-pointer rounded-lg border-red-300 text-xs font-bold tracking-wide text-red-600 transition-all duration-300 hover:-translate-y-0.5 hover:bg-red-50 hover:shadow-md dark:border-red-900 dark:text-red-400 dark:hover:bg-red-950/30",children:[(0,t.jsx)(f.default,{className:"me-1 h-3.5 w-3.5"}),"View Error"]}):(0,t.jsxs)(i.Button,{variant:"outline",onClick:e=>{e.stopPropagation(),v(!1),n(!0)},"aria-label":`View details for ${e.name}`,"data-testid":"tool-card-details-button",className:"h-9 w-full cursor-pointer rounded-lg text-xs font-bold tracking-wide transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md",children:[(0,t.jsx)(g.Info,{className:"me-1 h-3.5 w-3.5"}),"View Details"]}):(0,t.jsxs)(i.Button,{variant:"default",onClick:function(t){t.stopPropagation(),v(e.autoInstall),n(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-9 w-full cursor-pointer rounded-lg text-xs font-bold tracking-wide transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md",children:[(0,t.jsx)(u.Download,{className:"me-1 h-3.5 w-3.5"}),"Install"]})})]}),(0,t.jsx)(z,{tool:e,open:r,onClose:()=>n(!1),onRefresh:s,autoStart:b})]})}let B={all:()=>!0,ide:e=>e.tags.includes("ide"),"cli-agent":e=>e.tags.includes("cli-agent"),vcs:e=>e.tags.includes("vcs"),terminal:e=>e.tags.includes("terminal")};e.s(["ToolsPageClient",0,function({tools:e,className:d}){let[c,u]=(0,a.useState)(e),[m,x]=(0,a.useState)("all"),[h,p]=(0,a.useState)(""),[g,f]=(0,a.useState)(null),j=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();u(t)}}catch{}},[]),b=(0,a.useMemo)(()=>{let e=h.toLowerCase();return c.filter(t=>{if(!B[m](t)||g&&t.status.status!==g)return!1;if(e){let a=t.name.toLowerCase().includes(e),s=t.summary.toLowerCase().includes(e);if(!a&&!s)return!1}return!0})},[c,m,h,g]),v=c.filter(e=>"available"===e.status.status).length;return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,o.cn)("space-y-8",d),children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)("span",{className:"text-[10px] font-bold tracking-[0.2em] text-slate-400 uppercase",children:"Developer Portal"})}),(0,t.jsxs)("div",{className:"flex items-baseline gap-3",children:[(0,t.jsx)("h1",{className:"text-foreground text-3xl font-black tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-medium",children:[v," of ",c.length," installed"]})]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(l.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(n.Input,{placeholder:"Search tools...",value:h,onChange:e=>p(e.target.value),className:"ps-9","data-testid":"tool-search"})]}),(0,t.jsxs)(r.Tabs,{value:m,onValueChange:e=>x(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(r.TabsList,{"data-editorial":"true",className:"bg-card editorial-shadow h-10 p-1",children:[(0,t.jsx)(r.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"cursor-pointer px-4 text-xs font-bold",children:"All"}),(0,t.jsx)(r.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"cursor-pointer px-4 text-xs font-bold",children:"IDEs"}),(0,t.jsx)(r.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"cursor-pointer px-4 text-xs font-bold",children:"CLI Agents"}),(0,t.jsx)(r.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"cursor-pointer px-4 text-xs font-bold",children:"Version Control"}),(0,t.jsx)(r.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"cursor-pointer px-4 text-xs font-bold",children:"Terminals"})]}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2","data-testid":"tools-status-filter",children:[(0,t.jsx)(i.Button,{variant:null===g?"default":"outline",size:"sm",onClick:()=>f(null),children:"All"}),(0,t.jsx)(i.Button,{variant:"available"===g?"default":"outline",size:"sm",onClick:()=>f("available"),children:"Installed"}),(0,t.jsx)(i.Button,{variant:"missing"===g?"default":"outline",size:"sm",onClick:()=>f("missing"),children:"Not Installed"})]}),(0,t.jsx)(r.TabsContent,{value:m,className:"mt-6",children:0===b.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-16 text-center",children:[(0,t.jsx)(s.Wrench,{className:"mb-3 h-8 w-8 opacity-20"}),(0,t.jsx)("p",{className:"text-sm",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-6 md:grid-cols-2 xl:grid-cols-3",children:b.map(e=>(0,t.jsx)(M,{tool:e,onRefresh:j},e.id))})})]})]})}],44412)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,54793,7729,e=>{"use strict";var t=e.i(96871),r=e.i(31777);e.s(["EmptyState",0,function({icon:e,title:a,description:l,action:c,className:s,...i}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",s),...i,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,c?(0,t.jsx)("div",{className:"mt-2",children:c}):null]})}],7729),e.s([],54793)},74442,e=>{"use strict";var t=e.i(16539),r=e.i(4201),a=e.i(72620),l=e.i(20259),c=e.i(96976);let s=(0,c.createServerReference)("40ee66e4b032da57f7b964d911a1054d16ccd6e84b",c.callServer,void 0,c.findSourceMapURL,"syncRepository");e.s(["useRepositoryActions",0,function(e){let[c,i]=(0,t.useState)(!1),[u,d]=(0,t.useState)(!1),[n,o]=(0,t.useState)(!1),[p,h]=(0,t.useState)(!1),[y,f]=(0,t.useState)(null),[m,k]=(0,t.useState)(null),[v,x]=(0,t.useState)(null),[S,b]=(0,t.useState)(null),M=(0,t.useRef)(null),R=(0,t.useRef)(null),g=(0,t.useRef)(null),C=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{M.current&&clearTimeout(M.current),R.current&&clearTimeout(R.current),g.current&&clearTimeout(g.current),C.current&&clearTimeout(C.current)},[]);let T=(0,t.useCallback)(async(t,r,a,l,c)=>{if(e&&!c){l.current&&clearTimeout(l.current),r(!0),a(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";a(t),l.current=setTimeout(()=>a(null),5e3)}}catch(e){a(e instanceof Error?e.message:"An unexpected error occurred"),l.current=setTimeout(()=>a(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>T(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),i,f,M,c),[T,c,e]),openInShell:(0,t.useCallback)(()=>T(()=>(0,a.openShell)({repositoryPath:e.repositoryPath}),d,k,R,u),[T,u,e]),openFolder:(0,t.useCallback)(()=>T(()=>(0,l.openFolder)(e.repositoryPath),o,x,g,n),[T,n,e]),syncMain:(0,t.useCallback)(()=>T(()=>s(e.repositoryId??""),h,b,C,p),[T,p,e]),ideLoading:c,shellLoading:u,folderLoading:n,syncLoading:p,ideError:y,shellError:m,folderError:v,syncError:S}}],74442)},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)},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)},1650,e=>{"use strict";e.i(11495),e.s([])},63524,e=>{"use strict";let t=(0,e.i(54864).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],63524)},60589,e=>{"use strict";let t=(0,e.i(54864).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);e.s(["GitBranch",0,t],60589)},63995,e=>{"use strict";let t=(0,e.i(54864).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",0,t])},83764,e=>{"use strict";let t=(0,e.i(54864).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",0,t],83764)},17759,e=>{"use strict";let t=(0,e.i(54864).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",0,t],17759)},64778,e=>{"use strict";let t=(0,e.i(54864).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["GitCommitHorizontal",0,t],64778)},4201,72620,20259,e=>{"use strict";var t=e.i(96976);let r=(0,t.createServerReference)("40fc78d4e529ac3167c3bfb02c104249f5a6657067",t.callServer,void 0,t.findSourceMapURL,"openIde");e.s(["openIde",0,r],4201);let a=(0,t.createServerReference)("40293e6566468a799a2707f55ba6936aad7e8b0727",t.callServer,void 0,t.findSourceMapURL,"openShell");e.s(["openShell",0,a],72620);let l=(0,t.createServerReference)("40db17f53e2f3e3cf97c7d7d4331b83964010a255d",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",0,l],20259)},60958,e=>{"use strict";var t=e.i(63995);e.s(["TriangleAlert",()=>t.default])},68637,e=>{"use strict";let t=(0,e.i(54864).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],68637)},84812,e=>{"use strict";let t=(0,e.i(54864).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",0,t])},29549,e=>{"use strict";let t=(0,e.i(54864).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",0,t],29549)},91653,e=>{"use strict";var t=e.i(15786);e.s(["CheckIcon",()=>t.default])},27381,e=>{"use strict";let t=(0,e.i(54864).default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);e.s(["Shield",0,t],27381)},47930,e=>{"use strict";let t=(0,e.i(54864).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",0,t],47930)},64430,e=>{"use strict";var t=e.i(96976);let r=(0,t.createServerReference)("40ddb8aa26663e288bc68541a7087b7d050b61fb51",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",0,r])}]);