@shepai/cli 1.122.2-pr367.fdba557 → 1.122.2-pr381.078d7df

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 (383) hide show
  1. package/dist/packages/core/src/application/ports/output/services/index.d.ts +0 -2
  2. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  3. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  4. package/dist/packages/core/src/infrastructure/di/container.js +0 -14
  5. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +1 -1
  6. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts +28 -8
  7. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +211 -29
  9. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  10. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +9 -0
  11. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts +5 -0
  12. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +82 -54
  14. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  15. package/dist/src/presentation/cli/commands/ui.command.js +0 -15
  16. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  17. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  18. package/dist/src/presentation/web/dev-server.js +0 -20
  19. package/dist/tsconfig.build.tsbuildinfo +1 -1
  20. package/package.json +1 -3
  21. package/web/.next/BUILD_ID +1 -1
  22. package/web/.next/app-path-routes-manifest.json +1 -5
  23. package/web/.next/build-manifest.json +6 -6
  24. package/web/.next/fallback-build-manifest.json +2 -2
  25. package/web/.next/prerender-manifest.json +3 -3
  26. package/web/.next/required-server-files.js +1 -1
  27. package/web/.next/required-server-files.json +1 -1
  28. package/web/.next/routes-manifest.json +0 -24
  29. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +4 -4
  30. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +22 -22
  31. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  33. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  34. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +4 -4
  35. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  36. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  38. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  39. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +4 -4
  40. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +28 -28
  41. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  42. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +4 -4
  45. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  46. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  47. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  48. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  49. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +4 -4
  50. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +22 -22
  51. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  52. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  53. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  54. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +4 -4
  55. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  56. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  57. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  58. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +4 -4
  60. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +28 -28
  61. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  62. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/(dashboard)/page/build-manifest.json +4 -4
  65. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +20 -20
  66. package/web/.next/server/app/(dashboard)/page.js +1 -1
  67. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +4 -4
  70. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  71. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  72. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  73. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
  75. package/web/.next/server/app/_global-error.html +2 -2
  76. package/web/.next/server/app/_global-error.rsc +1 -1
  77. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  78. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  79. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  80. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  81. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  82. package/web/.next/server/app/_not-found/page/build-manifest.json +4 -4
  83. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  84. package/web/.next/server/app/_not-found/page.js +1 -1
  85. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  86. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  88. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  89. package/web/.next/server/app/api/evidence/route.js +1 -1
  90. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  91. package/web/.next/server/app/api/graph-data/route.js +1 -1
  92. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  93. package/web/.next/server/app/settings/page/build-manifest.json +4 -4
  94. package/web/.next/server/app/settings/page/server-reference-manifest.json +6 -6
  95. package/web/.next/server/app/settings/page.js +1 -1
  96. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  97. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/skills/page/build-manifest.json +4 -4
  99. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  100. package/web/.next/server/app/skills/page.js +1 -1
  101. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  102. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  103. package/web/.next/server/app/tools/page/build-manifest.json +4 -4
  104. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  105. package/web/.next/server/app/tools/page.js +1 -1
  106. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  107. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  108. package/web/.next/server/app/version/page/build-manifest.json +4 -4
  109. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  110. package/web/.next/server/app/version/page.js +2 -2
  111. package/web/.next/server/app/version/page.js.nft.json +1 -1
  112. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app-paths-manifest.json +1 -5
  114. package/web/.next/server/chunks/{[root-of-the-server]__3baec744._.js → [root-of-the-server]__42b7ab55._.js} +2 -2
  115. package/web/.next/server/chunks/{[root-of-the-server]__3baec744._.js.map → [root-of-the-server]__42b7ab55._.js.map} +1 -1
  116. package/web/.next/server/chunks/{[root-of-the-server]__7d63f9a4._.js → [root-of-the-server]__53013576._.js} +2 -2
  117. package/web/.next/server/chunks/{[root-of-the-server]__a1c7c02a._.js → [root-of-the-server]__92078db6._.js} +2 -2
  118. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  119. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  120. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  121. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js +1 -1
  122. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js.map +1 -1
  123. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js +1 -1
  124. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js.map +1 -1
  125. package/web/.next/server/chunks/ssr/{[root-of-the-server]__12c2ab7d._.js → [root-of-the-server]__06fef644._.js} +2 -2
  126. package/web/.next/server/chunks/ssr/{[root-of-the-server]__12c2ab7d._.js.map → [root-of-the-server]__06fef644._.js.map} +1 -1
  127. package/web/.next/server/chunks/ssr/[root-of-the-server]__2698e9f4._.js +1 -1
  128. package/web/.next/server/chunks/ssr/[root-of-the-server]__2698e9f4._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js +3 -0
  130. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js.map +1 -0
  131. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +4 -0
  132. package/web/.next/server/chunks/ssr/{[root-of-the-server]__11033878._.js.map → [root-of-the-server]__6b17a22d._.js.map} +1 -1
  133. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
  134. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  135. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +4 -0
  136. package/web/.next/server/chunks/ssr/{[root-of-the-server]__fdc75809._.js.map → [root-of-the-server]__804c006d._.js.map} +1 -1
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +4 -0
  138. package/web/.next/server/chunks/ssr/{[root-of-the-server]__76915230._.js.map → [root-of-the-server]__8c553503._.js.map} +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e3bf5d7._.js +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e3bf5d7._.js.map +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f155c0e._.js +3 -0
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f155c0e._.js.map +1 -0
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__a022445f._.js +4 -0
  144. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7a939e4e._.js.map → [root-of-the-server]__a022445f._.js.map} +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js +4 -0
  146. package/web/.next/server/chunks/ssr/{[root-of-the-server]__c4dc1b5a._.js.map → [root-of-the-server]__a7de2711._.js.map} +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__c07f9f79._.js +1 -1
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__c07f9f79._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__c605a375._.js +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__c605a375._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js +3 -0
  152. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js.map +1 -0
  153. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  154. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/{_3d1ed2a7._.js → _17418e9d._.js} +2 -2
  156. package/web/.next/server/chunks/ssr/_17418e9d._.js.map +1 -0
  157. package/web/.next/server/chunks/ssr/{node_modules__pnpm_747b43ac._.js → _1bb131c4._.js} +2 -2
  158. package/web/.next/server/chunks/ssr/_1bb131c4._.js.map +1 -0
  159. package/web/.next/server/chunks/ssr/_1bb79fe8._.js +3 -0
  160. package/web/.next/server/chunks/ssr/_1bb79fe8._.js.map +1 -0
  161. package/web/.next/server/chunks/ssr/_2f6f48b8._.js +1 -1
  162. package/web/.next/server/chunks/ssr/_2f6f48b8._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/_4f330b28._.js +3 -0
  164. package/web/.next/server/chunks/ssr/{_3eca2297._.js.map → _4f330b28._.js.map} +1 -1
  165. package/web/.next/server/chunks/ssr/_6d26a08f._.js +3 -0
  166. package/web/.next/server/chunks/ssr/_6d26a08f._.js.map +1 -0
  167. package/web/.next/server/chunks/ssr/_75f4ccb3._.js +3 -0
  168. package/web/.next/server/chunks/ssr/_75f4ccb3._.js.map +1 -0
  169. package/web/.next/server/chunks/ssr/_b5fc318a._.js +3 -0
  170. package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +1 -0
  171. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  172. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  173. package/web/.next/server/chunks/ssr/_e87cf55c._.js +3 -0
  174. package/web/.next/server/chunks/ssr/_e87cf55c._.js.map +1 -0
  175. package/web/.next/server/chunks/ssr/_f1a649e3._.js +9 -0
  176. package/web/.next/server/chunks/ssr/_f1a649e3._.js.map +1 -0
  177. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  178. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/node_modules__pnpm_b59e4b16._.js +3 -0
  180. package/web/.next/server/chunks/ssr/node_modules__pnpm_b59e4b16._.js.map +1 -0
  181. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js +2 -2
  182. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js.map +1 -1
  183. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js +1 -1
  184. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  186. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  187. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  188. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  189. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js +2 -2
  190. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  192. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  193. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  194. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  195. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  196. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  197. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  198. package/web/.next/server/middleware-build-manifest.js +4 -4
  199. package/web/.next/server/pages/500.html +2 -2
  200. package/web/.next/server/server-reference-manifest.js +1 -1
  201. package/web/.next/server/server-reference-manifest.json +35 -57
  202. package/web/.next/static/chunks/0d2af96e64960ef5.css +1 -0
  203. package/web/.next/static/chunks/303a1217006489b9.js +1 -0
  204. package/web/.next/static/chunks/{b747e59ebdcbd917.js → 3f8b6dfefdcdb086.js} +1 -1
  205. package/web/.next/static/chunks/4562ee849ea13c3a.js +1 -0
  206. package/web/.next/static/chunks/{e087f3e5c46c0756.js → 66f3b3e9ffbdd2e0.js} +1 -1
  207. package/web/.next/static/chunks/{98e3a7cf58fc912a.js → 672e3da3ad26005b.js} +1 -1
  208. package/web/.next/static/chunks/{c3c68de2392a9071.js → 6e519f34ef50afc7.js} +1 -1
  209. package/web/.next/static/chunks/7189532beb0a69ea.js +1 -0
  210. package/web/.next/static/chunks/845d8e58a91014e6.js +1 -0
  211. package/web/.next/static/chunks/84a181ff3270fd9f.js +1 -0
  212. package/web/.next/static/chunks/{3f0773d9b56e04a2.js → 8ace7cc9cdcc4faa.js} +2 -2
  213. package/web/.next/static/chunks/96eeeb28e06de78c.js +1 -0
  214. package/web/.next/static/chunks/cca0f5112a9260d8.js +1 -0
  215. package/web/.next/static/chunks/d193bfaaff210e81.js +11 -0
  216. package/web/.next/static/chunks/d6b6d7807302979b.js +1 -0
  217. package/web/.next/static/chunks/e2ef95d904c360f3.js +1 -0
  218. package/web/.next/static/chunks/{1b9d34af4064dafe.js → e359a6c4b3a3b222.js} +2 -2
  219. package/web/.next/static/chunks/ed3a602003bcb31b.js +1 -0
  220. package/web/.next/static/chunks/eef9532b80f3408a.js +1 -0
  221. package/web/.next/static/chunks/{293ccfbe777d995a.js → f2e7c03fc48a915d.js} +1 -1
  222. package/web/.next/static/chunks/{turbopack-b1685b5f87ad1d60.js → turbopack-426d9bc2450816ba.js} +1 -1
  223. package/dist/packages/core/src/application/ports/output/services/tunnel-service.interface.d.ts +0 -41
  224. package/dist/packages/core/src/application/ports/output/services/tunnel-service.interface.d.ts.map +0 -1
  225. package/dist/packages/core/src/application/ports/output/services/tunnel-service.interface.js +0 -14
  226. package/dist/packages/core/src/application/ports/output/services/webhook-service.interface.d.ts +0 -65
  227. package/dist/packages/core/src/application/ports/output/services/webhook-service.interface.d.ts.map +0 -1
  228. package/dist/packages/core/src/application/ports/output/services/webhook-service.interface.js +0 -10
  229. package/dist/packages/core/src/infrastructure/services/tunnel/cloudflare-tunnel.service.d.ts +0 -55
  230. package/dist/packages/core/src/infrastructure/services/tunnel/cloudflare-tunnel.service.d.ts.map +0 -1
  231. package/dist/packages/core/src/infrastructure/services/tunnel/cloudflare-tunnel.service.js +0 -203
  232. package/dist/packages/core/src/infrastructure/services/webhook/github-webhook.service.d.ts +0 -75
  233. package/dist/packages/core/src/infrastructure/services/webhook/github-webhook.service.d.ts.map +0 -1
  234. package/dist/packages/core/src/infrastructure/services/webhook/github-webhook.service.js +0 -372
  235. package/dist/packages/core/src/infrastructure/services/webhook/webhook-manager.service.d.ts +0 -82
  236. package/dist/packages/core/src/infrastructure/services/webhook/webhook-manager.service.d.ts.map +0 -1
  237. package/dist/packages/core/src/infrastructure/services/webhook/webhook-manager.service.js +0 -206
  238. package/dist/src/presentation/web/app/actions/load-webhook-status.d.ts +0 -3
  239. package/dist/src/presentation/web/app/actions/load-webhook-status.d.ts.map +0 -1
  240. package/dist/src/presentation/web/app/actions/load-webhook-status.js +0 -19
  241. package/dist/src/presentation/web/app/api/webhooks/deliveries/route.d.ts +0 -9
  242. package/dist/src/presentation/web/app/api/webhooks/deliveries/route.d.ts.map +0 -1
  243. package/dist/src/presentation/web/app/api/webhooks/deliveries/route.js +0 -27
  244. package/dist/src/presentation/web/app/api/webhooks/github/route.d.ts +0 -17
  245. package/dist/src/presentation/web/app/api/webhooks/github/route.d.ts.map +0 -1
  246. package/dist/src/presentation/web/app/api/webhooks/github/route.js +0 -70
  247. package/dist/src/presentation/web/app/api/webhooks/status/route.d.ts +0 -9
  248. package/dist/src/presentation/web/app/api/webhooks/status/route.d.ts.map +0 -1
  249. package/dist/src/presentation/web/app/api/webhooks/status/route.js +0 -26
  250. package/dist/src/presentation/web/app/webhooks/page.d.ts +0 -4
  251. package/dist/src/presentation/web/app/webhooks/page.d.ts.map +0 -1
  252. package/dist/src/presentation/web/app/webhooks/page.js +0 -9
  253. package/dist/src/presentation/web/components/features/webhooks/types.d.ts +0 -32
  254. package/dist/src/presentation/web/components/features/webhooks/types.d.ts.map +0 -1
  255. package/dist/src/presentation/web/components/features/webhooks/types.js +0 -1
  256. package/dist/src/presentation/web/components/features/webhooks/webhook-delivery-table.d.ts +0 -6
  257. package/dist/src/presentation/web/components/features/webhooks/webhook-delivery-table.d.ts.map +0 -1
  258. package/dist/src/presentation/web/components/features/webhooks/webhook-delivery-table.js +0 -38
  259. package/dist/src/presentation/web/components/features/webhooks/webhook-delivery-table.stories.d.ts +0 -9
  260. package/dist/src/presentation/web/components/features/webhooks/webhook-delivery-table.stories.d.ts.map +0 -1
  261. package/dist/src/presentation/web/components/features/webhooks/webhook-delivery-table.stories.js +0 -69
  262. package/dist/src/presentation/web/components/features/webhooks/webhook-repo-list.d.ts +0 -7
  263. package/dist/src/presentation/web/components/features/webhooks/webhook-repo-list.d.ts.map +0 -1
  264. package/dist/src/presentation/web/components/features/webhooks/webhook-repo-list.js +0 -11
  265. package/dist/src/presentation/web/components/features/webhooks/webhook-repo-list.stories.d.ts +0 -9
  266. package/dist/src/presentation/web/components/features/webhooks/webhook-repo-list.stories.d.ts.map +0 -1
  267. package/dist/src/presentation/web/components/features/webhooks/webhook-repo-list.stories.js +0 -31
  268. package/dist/src/presentation/web/components/features/webhooks/webhook-status-cards.d.ts +0 -6
  269. package/dist/src/presentation/web/components/features/webhooks/webhook-status-cards.d.ts.map +0 -1
  270. package/dist/src/presentation/web/components/features/webhooks/webhook-status-cards.js +0 -21
  271. package/dist/src/presentation/web/components/features/webhooks/webhook-status-cards.stories.d.ts +0 -9
  272. package/dist/src/presentation/web/components/features/webhooks/webhook-status-cards.stories.d.ts.map +0 -1
  273. package/dist/src/presentation/web/components/features/webhooks/webhook-status-cards.stories.js +0 -56
  274. package/dist/src/presentation/web/components/features/webhooks/webhooks-page-client.d.ts +0 -6
  275. package/dist/src/presentation/web/components/features/webhooks/webhooks-page-client.d.ts.map +0 -1
  276. package/dist/src/presentation/web/components/features/webhooks/webhooks-page-client.js +0 -39
  277. package/dist/src/presentation/web/components/features/webhooks/webhooks-page-client.stories.d.ts +0 -8
  278. package/dist/src/presentation/web/components/features/webhooks/webhooks-page-client.stories.d.ts.map +0 -1
  279. package/dist/src/presentation/web/components/features/webhooks/webhooks-page-client.stories.js +0 -59
  280. package/web/.next/server/app/api/webhooks/deliveries/route/app-paths-manifest.json +0 -3
  281. package/web/.next/server/app/api/webhooks/deliveries/route/build-manifest.json +0 -11
  282. package/web/.next/server/app/api/webhooks/deliveries/route/server-reference-manifest.json +0 -4
  283. package/web/.next/server/app/api/webhooks/deliveries/route.js +0 -6
  284. package/web/.next/server/app/api/webhooks/deliveries/route.js.map +0 -5
  285. package/web/.next/server/app/api/webhooks/deliveries/route.js.nft.json +0 -1
  286. package/web/.next/server/app/api/webhooks/deliveries/route_client-reference-manifest.js +0 -2
  287. package/web/.next/server/app/api/webhooks/github/route/app-paths-manifest.json +0 -3
  288. package/web/.next/server/app/api/webhooks/github/route/build-manifest.json +0 -11
  289. package/web/.next/server/app/api/webhooks/github/route/server-reference-manifest.json +0 -4
  290. package/web/.next/server/app/api/webhooks/github/route.js +0 -6
  291. package/web/.next/server/app/api/webhooks/github/route.js.map +0 -5
  292. package/web/.next/server/app/api/webhooks/github/route.js.nft.json +0 -1
  293. package/web/.next/server/app/api/webhooks/github/route_client-reference-manifest.js +0 -2
  294. package/web/.next/server/app/api/webhooks/status/route/app-paths-manifest.json +0 -3
  295. package/web/.next/server/app/api/webhooks/status/route/build-manifest.json +0 -11
  296. package/web/.next/server/app/api/webhooks/status/route/server-reference-manifest.json +0 -4
  297. package/web/.next/server/app/api/webhooks/status/route.js +0 -6
  298. package/web/.next/server/app/api/webhooks/status/route.js.map +0 -5
  299. package/web/.next/server/app/api/webhooks/status/route.js.nft.json +0 -1
  300. package/web/.next/server/app/api/webhooks/status/route_client-reference-manifest.js +0 -2
  301. package/web/.next/server/app/webhooks/page/app-paths-manifest.json +0 -3
  302. package/web/.next/server/app/webhooks/page/build-manifest.json +0 -18
  303. package/web/.next/server/app/webhooks/page/next-font-manifest.json +0 -6
  304. package/web/.next/server/app/webhooks/page/react-loadable-manifest.json +0 -1
  305. package/web/.next/server/app/webhooks/page/server-reference-manifest.json +0 -35
  306. package/web/.next/server/app/webhooks/page.js +0 -16
  307. package/web/.next/server/app/webhooks/page.js.map +0 -5
  308. package/web/.next/server/app/webhooks/page.js.nft.json +0 -1
  309. package/web/.next/server/app/webhooks/page_client-reference-manifest.js +0 -2
  310. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_webhooks_deliveries_route_actions_d9e34c8d.js +0 -3
  311. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_webhooks_deliveries_route_actions_d9e34c8d.js.map +0 -1
  312. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_webhooks_github_route_actions_1b0d0c38.js +0 -3
  313. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_webhooks_github_route_actions_1b0d0c38.js.map +0 -1
  314. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_webhooks_status_route_actions_1a0d86a1.js +0 -3
  315. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_webhooks_status_route_actions_1a0d86a1.js.map +0 -1
  316. package/web/.next/server/chunks/[root-of-the-server]__15e5d45c._.js +0 -3
  317. package/web/.next/server/chunks/[root-of-the-server]__15e5d45c._.js.map +0 -1
  318. package/web/.next/server/chunks/[root-of-the-server]__23be381e._.js +0 -3
  319. package/web/.next/server/chunks/[root-of-the-server]__23be381e._.js.map +0 -1
  320. package/web/.next/server/chunks/[root-of-the-server]__9fc760c0._.js +0 -3
  321. package/web/.next/server/chunks/[root-of-the-server]__9fc760c0._.js.map +0 -1
  322. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_activity_22f9667f.js +0 -3
  323. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_activity_22f9667f.js.map +0 -1
  324. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_rocket_1575cd4d.js +0 -3
  325. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_rocket_1575cd4d.js.map +0 -1
  326. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +0 -4
  327. package/web/.next/server/chunks/ssr/[root-of-the-server]__3c16bf85._.js +0 -3
  328. package/web/.next/server/chunks/ssr/[root-of-the-server]__3c16bf85._.js.map +0 -1
  329. package/web/.next/server/chunks/ssr/[root-of-the-server]__610f06df._.js +0 -3
  330. package/web/.next/server/chunks/ssr/[root-of-the-server]__610f06df._.js.map +0 -1
  331. package/web/.next/server/chunks/ssr/[root-of-the-server]__76915230._.js +0 -4
  332. package/web/.next/server/chunks/ssr/[root-of-the-server]__7a939e4e._.js +0 -4
  333. package/web/.next/server/chunks/ssr/[root-of-the-server]__87a7ae30._.js +0 -3
  334. package/web/.next/server/chunks/ssr/[root-of-the-server]__87a7ae30._.js.map +0 -1
  335. package/web/.next/server/chunks/ssr/[root-of-the-server]__920dccd5._.js +0 -4
  336. package/web/.next/server/chunks/ssr/[root-of-the-server]__920dccd5._.js.map +0 -1
  337. package/web/.next/server/chunks/ssr/[root-of-the-server]__c4dc1b5a._.js +0 -4
  338. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +0 -4
  339. package/web/.next/server/chunks/ssr/_07f57bd0._.js +0 -3
  340. package/web/.next/server/chunks/ssr/_07f57bd0._.js.map +0 -1
  341. package/web/.next/server/chunks/ssr/_15a756dd._.js +0 -3
  342. package/web/.next/server/chunks/ssr/_15a756dd._.js.map +0 -1
  343. package/web/.next/server/chunks/ssr/_26b2c311._.js +0 -3
  344. package/web/.next/server/chunks/ssr/_26b2c311._.js.map +0 -1
  345. package/web/.next/server/chunks/ssr/_3d1ed2a7._.js.map +0 -1
  346. package/web/.next/server/chunks/ssr/_3eca2297._.js +0 -3
  347. package/web/.next/server/chunks/ssr/_4470c218._.js +0 -3
  348. package/web/.next/server/chunks/ssr/_4470c218._.js.map +0 -1
  349. package/web/.next/server/chunks/ssr/_462cc3a6._.js +0 -3
  350. package/web/.next/server/chunks/ssr/_462cc3a6._.js.map +0 -1
  351. package/web/.next/server/chunks/ssr/_961cb4b2._.js +0 -3
  352. package/web/.next/server/chunks/ssr/_961cb4b2._.js.map +0 -1
  353. package/web/.next/server/chunks/ssr/_a4899a76._.js +0 -3
  354. package/web/.next/server/chunks/ssr/_a4899a76._.js.map +0 -1
  355. package/web/.next/server/chunks/ssr/_b5babdfc._.js +0 -9
  356. package/web/.next/server/chunks/ssr/_b5babdfc._.js.map +0 -1
  357. package/web/.next/server/chunks/ssr/_b7eb93fc._.js +0 -4
  358. package/web/.next/server/chunks/ssr/_b7eb93fc._.js.map +0 -1
  359. package/web/.next/server/chunks/ssr/_f8b36e2c._.js +0 -3
  360. package/web/.next/server/chunks/ssr/_f8b36e2c._.js.map +0 -1
  361. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_webhooks_webhooks-page-client_tsx_b2662ea3._.js +0 -3
  362. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_webhooks_webhooks-page-client_tsx_b2662ea3._.js.map +0 -1
  363. package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js.map +0 -1
  364. package/web/.next/static/chunks/0c76de69325ef923.js +0 -1
  365. package/web/.next/static/chunks/3835a408dbf8d0bb.js +0 -1
  366. package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +0 -1
  367. package/web/.next/static/chunks/4c5b31a2c65d4aa5.js +0 -11
  368. package/web/.next/static/chunks/59a0709f1b080353.js +0 -1
  369. package/web/.next/static/chunks/5f6161ceb4263319.js +0 -1
  370. package/web/.next/static/chunks/77ff1b7b725b7780.js +0 -1
  371. package/web/.next/static/chunks/9af45e885bd4ccef.js +0 -1
  372. package/web/.next/static/chunks/a57dc2afcf67304a.js +0 -1
  373. package/web/.next/static/chunks/b4f502a76ba10e4b.js +0 -1
  374. package/web/.next/static/chunks/b5d8e8100e310d9f.css +0 -1
  375. package/web/.next/static/chunks/c04ce6760f349f3e.js +0 -1
  376. package/web/.next/static/chunks/c7e793951b20a67f.js +0 -1
  377. package/web/.next/static/chunks/cf30e300568abf0f.js +0 -1
  378. package/web/.next/static/chunks/d43dff89384fb60a.js +0 -1
  379. /package/web/.next/server/chunks/{[root-of-the-server]__7d63f9a4._.js.map → [root-of-the-server]__53013576._.js.map} +0 -0
  380. /package/web/.next/server/chunks/{[root-of-the-server]__a1c7c02a._.js.map → [root-of-the-server]__92078db6._.js.map} +0 -0
  381. /package/web/.next/static/{svtG6xX1MdaGWkml8eX53 → 6DN4JYeWRmWsCZEUT6dAY}/_buildManifest.js +0 -0
  382. /package/web/.next/static/{svtG6xX1MdaGWkml8eX53 → 6DN4JYeWRmWsCZEUT6dAY}/_clientMiddlewareManifest.json +0 -0
  383. /package/web/.next/static/{svtG6xX1MdaGWkml8eX53 → 6DN4JYeWRmWsCZEUT6dAY}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},98127,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function n({className:e,type:n,...o}){return(0,t.jsx)("input",{type:n,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium 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",e),...o})}e.s(["Input",()=>n])},30090,e=>{"use strict";let t=(0,e.i(3645).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["default",()=>t])},81975,e=>{"use strict";let t=(0,e.i(3645).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);e.s(["Wrench",()=>t],81975)},80986,e=>{"use strict";let t=(0,e.i(3645).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",()=>t])},54277,e=>{"use strict";var t=e.i(30090);e.s(["CircleX",()=>t.default])},66033,e=>{"use strict";var t=e.i(79054);e.i(20314);var r=t.createContext(void 0);function n(e){let n=t.useContext(r);return e||n||"ltr"}e.s(["useDirection",()=>n])},80764,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(79054);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},3214,e=>{"use strict";let t=(0,e.i(3645).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],3214)},10942,94819,e=>{"use strict";var t=e.i(80986);e.s(["CircleCheck",()=>t.default],10942);let r=(0,e.i(3645).default)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Ban",()=>r],94819)},39443,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let n=(0,e.i(18354).createLogger)("[SSE]");function o(e,t,r,n){if("u"<typeof EventSource)return()=>{};let o=null,i=!1,u=1e3,a=null,l=null;return!function s(){i||(o=new EventSource(e?`/api/agent-events?runId=${encodeURIComponent(e)}`:"/api/agent-events"),n("connecting"),o.onopen=()=>{n("connected"),l=setTimeout(()=>{l=null,u=1e3},5e3)},o.onerror=()=>{o?.close(),o=null,n("disconnected"),null!==l&&(clearTimeout(l),l=null);let e=u;u=Math.min(2*e,3e4),a=setTimeout(()=>{a=null,s()},e)},o.addEventListener("notification",e=>{let n=JSON.parse(e.data);t(e=>{let t=[...e,n];return t.length>500?t.slice(-250):t}),r(n)}))}(),()=>{i=!0,null!==a&&(clearTimeout(a),a=null),null!==l&&(clearTimeout(l),l=null),o&&(o.close(),o=null)}}let i=(0,r.createContext)(null);function u({children:e,runId:u}){let{events:a,lastEvent:l,connectionStatus:s}=function(e){let[t,i]=(0,r.useState)([]),[u,a]=(0,r.useState)(null),[l,s]=(0,r.useState)("disconnected"),c=e?.runId,f=(0,r.useRef)(null),d=(0,r.useCallback)(e=>{let t=e.data;if(t&&"object"==typeof t)if("notification"===t.type){let e=t.data;n.debug("event received:",e.eventType,e),i(t=>{let r=[...t,e];return r.length>500?r.slice(-250):r}),a(e)}else"status"===t.type&&s(t.status)},[]);return(0,r.useEffect)(()=>{let e="u">typeof location&&new URLSearchParams(location.search).has("sse");if(!navigator.serviceWorker||e)return o(c,i,a,s);let t=!1,r={current:void 0};function n(e){t||(f.current=e,e.postMessage({type:"subscribe",runId:c}),s("connecting"))}function u(){if(t)return;let e=navigator.serviceWorker.controller;e&&(f.current=e,e.postMessage({type:"subscribe",runId:c}),s("connecting"))}return navigator.serviceWorker.addEventListener("message",d),navigator.serviceWorker.addEventListener("controllerchange",u),navigator.serviceWorker.register("/agent-events-sw.js",{scope:"/"}).then(e=>{if(t)return;let u=e.active??e.installing??e.waiting;if(!u){r.current=o(c,i,a,s);return}if("activated"===u.state)n(u);else{let e=()=>{"activated"===u.state&&(u.removeEventListener("statechange",e),n(u))};u.addEventListener("statechange",e)}}).catch(()=>{t||(r.current=o(c,i,a,s))}),()=>{t=!0,navigator.serviceWorker.removeEventListener("message",d),navigator.serviceWorker.removeEventListener("controllerchange",u),f.current?.postMessage({type:"unsubscribe"}),f.current=null,r.current?.()}},[c,d]),{events:t,lastEvent:u,connectionStatus:l}}({runId:u}),c=(0,r.useMemo)(()=>({events:a,lastEvent:l,connectionStatus:s}),[a,l,s]);return(0,t.jsx)(i.Provider,{value:c,children:e})}function a(){let e=(0,r.useContext)(i);if(!e)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return e}e.s(["AgentEventsProvider",()=>u,"useAgentEventsContext",()=>a],39443)},27069,e=>{"use strict";function t(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s(["clamp",()=>t])},76223,e=>{"use strict";let t=(0,e.i(3645).default)("webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]);e.s(["Webhook",()=>t],76223)},12103,e=>{"use strict";let t=(0,e.i(3645).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",()=>t],12103)},78521,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("003fb395a82a35493ff21e1b4d76a40fb968562d13",t.callServer,void 0,t.findSourceMapURL,"pickFolder");async function n(){let e=await r();if(e.error)throw Error(e.error);return e.path}e.s(["pickFolder",()=>n],78521)},91925,e=>{"use strict";let t=(0,e.i(3645).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",()=>t],91925)},5147,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let n={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"blocked",pending:"pending",error:"error",creating:null,deleting:null};function o(e){return n[e]}let i=(0,r.createContext)(null);function u({children:e}){let[n,o]=(0,r.useState)([]),u=(0,r.useMemo)(()=>({features:n,setFeatures:o}),[n]);return(0,t.jsx)(i.Provider,{value:u,children:e})}function a(){let e=(0,r.useContext)(i);if(!e)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return e}e.s(["SidebarFeaturesProvider",()=>u,"mapNodeStateToSidebarStatus",()=>o,"useSidebarFeaturesContext",()=>a])},76314,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function i(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,u(e));else t.set(r,u(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95889,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return s},urlObjectKeys:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(44066)._(e.r(76314)),u=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",a=e.hash||"",l=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(s+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||u.test(n))&&!1!==s?(s="//"+(s||""),o&&"/"!==o[0]&&(o="/"+o)):s||(s=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${s}${o}${c}${a}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return a(e)}},58464,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return P},NormalizeError:function(){return m},PageNotFoundError:function(){return b},SP:function(){return g},ST:function(){return v},WEB_VITALS:function(){return i},execOnce:function(){return u},getDisplayName:function(){return f},getLocationOrigin:function(){return s},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return k}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>a.test(e);function s(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=s();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,v=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class m extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class P extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},51380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(58464),o=e.r(53626);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},38670,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},24035,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return b}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(44066),u=e.r(20314),a=i._(e.r(79054)),l=e.r(95889),s=e.r(18152),c=e.r(80764),f=e.r(58464),d=e.r(99267);e.r(24270);let p=e.r(59624),h=e.r(51380),g=e.r(95555);function v(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var r;let n,o,i,[l,y]=(0,a.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,a.useRef)(null),{href:P,as:E,children:k,prefetch:x=null,passHref:S,replace:C,shallow:O,scroll:_,onClick:w,onMouseEnter:j,onTouchStart:M,legacyBehavior:T=!1,onNavigate:L,ref:R,unstable_dynamicOnHover:A,...N}=t;n=k,T&&("string"==typeof n||"number"==typeof n)&&(n=(0,u.jsx)("a",{children:n}));let U=a.default.useContext(s.AppRouterContext),I=!1!==x,F=!1!==x?null===(r=x)||"auto"===r?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,{href:$,as:z}=a.default.useMemo(()=>{let e=v(P);return{href:e,as:E?v(E):e}},[P,E]);if(T){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=a.default.Children.only(n)}let W=T?o&&"object"==typeof o&&o.ref:R,B=a.default.useCallback(e=>(null!==U&&(b.current=(0,p.mountLinkInstance)(e,$,U,F,I,y)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[I,$,U,F,y]),D={ref:(0,c.useMergedRef)(B,W),onClick(t){T||"function"!=typeof w||w(t),T&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!U||t.defaultPrevented||function(t,r,n,o,i,u,l){if("u">typeof window){let s,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((s=t.currentTarget.getAttribute("target"))&&"_self"!==s||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(81574);a.default.startTransition(()=>{f(n||r,i?"replace":"push",u??!0,o.current)})}}(t,$,z,b,C,_,L)},onMouseEnter(e){T||"function"!=typeof j||j(e),T&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),U&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===A)},onTouchStart:function(e){T||"function"!=typeof M||M(e),T&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),U&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===A)}};return(0,f.isAbsoluteUrl)(z)?D.href=z:T&&!S&&("a"!==o.type||"href"in o.props)||(D.href=(0,d.addBasePath)(z)),i=T?a.default.cloneElement(o,D):(0,u.jsx)("a",{...N,...D,children:n}),(0,u.jsx)(m.Provider,{value:l,children:i})}e.r(38670);let m=(0,a.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(m);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41952,e=>{"use strict";var t=e.i(20314),n=e.i(79054),i=e.i(87889),a=e.i(3645);let l=(0,a.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);var s=e.i(23925),r=e.i(26370),o=e.i(38573),d=e.i(49228),c=e.i(74294);let u=(0,a.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),h=(0,a.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),m=(0,a.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var p=e.i(10714),p=p,g=e.i(3214),f=e.i(30702);let x=(0,a.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]),v=(0,a.default)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);var b=e.i(60112),w=e.i(31777),j=e.i(41957),y=e.i(98127),k=e.i(35364),S=e.i(51911),C=e.i(2828),M=e.i(47373),I=e.i(21023);let N=(0,I.createServerReference)("402518eee80670be2b4c3c48351e4ee53de6c920f8",I.callServer,void 0,I.findSourceMapURL,"updateSettingsAction");var P=e.i(17406),A=e.i(98804),E=e.i(44229),T=e.i(83902);function R(e){return(0,t.jsx)(E.Code,{className:(0,w.cn)("h-4 w-4",e.className),...e})}function D({className:e}){return(0,t.jsx)(A.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,w.cn)("rounded-sm object-contain",e)})}function F({className:e}){return(0,t.jsx)(A.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,w.cn)("rounded-sm object-contain",e)})}function z({className:e}){return(0,t.jsx)(A.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,w.cn)("rounded-sm object-contain",e)})}function B({className:e}){return(0,t.jsx)(A.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,w.cn)("rounded-sm object-contain",e)})}function W({className:e,...n}){return(0,t.jsx)(T.Rocket,{className:(0,w.cn)("h-4 w-4",e),...n})}D.displayName="VsCodeIcon",F.displayName="CursorEditorIcon",z.displayName="WindsurfIcon",B.displayName="ZedIcon",W.displayName="AntigravityIcon";let _={vscode:D,cursor:F,windsurf:z,zed:B,antigravity:W};var H=e.i(41413),L=e.i(27069),V=e.i(91967),q=e.i(5978),O=e.i(22528),U=e.i(36589),K=e.i(66033),$=e.i(23405),G=e.i(77624),Z=e.i(87620),Y=e.i(87342),X=["PageUp","PageDown"],Q=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],J={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ee="Slider",[et,en,ei]=(0,Y.createCollection)(ee),[ea,el]=(0,O.createContextScope)(ee,[ei]),[es,er]=ea(ee),eo=n.forwardRef((e,i)=>{let{name:a,min:l=0,max:s=100,step:r=1,orientation:o="horizontal",disabled:d=!1,minStepsBetweenThumbs:c=0,defaultValue:u=[l],value:h,onValueChange:m=()=>{},onValueCommit:p=()=>{},inverted:g=!1,form:f,...x}=e,v=n.useRef(new Set),b=n.useRef(0),w="horizontal"===o,[j=[],y]=(0,U.useControllableState)({prop:h,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),m(e)}}),k=n.useRef(j);function S(e,t,{commit:n}={commit:!1}){let i,a=(String(r).split(".")[1]||"").length,o=Math.round((Math.round((e-l)/r)*r+l)*(i=Math.pow(10,a)))/i,d=(0,L.clamp)(o,[l,s]);y((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,d,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,c*r))return e;{b.current=i.indexOf(d);let t=String(i)!==String(e);return t&&n&&p(i),t?i:e}})}return(0,t.jsx)(es,{scope:e.__scopeSlider,name:a,disabled:d,min:l,max:s,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:o,form:f,children:(0,t.jsx)(et.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(et.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?eu:eh,{"aria-disabled":d,"data-disabled":d?"":void 0,...x,ref:i,onPointerDown:(0,V.composeEventHandlers)(x.onPointerDown,()=>{d||(k.current=j)}),min:l,max:s,inverted:g,onSlideStart:d?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(j,e);S(e,t)},onSlideMove:d?void 0:function(e){S(e,b.current)},onSlideEnd:d?void 0:function(){let e=k.current[b.current];j[b.current]!==e&&p(j)},onHomeKeyDown:()=>!d&&S(l,0,{commit:!0}),onEndKeyDown:()=>!d&&S(s,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!d){let n=X.includes(e.key)||e.shiftKey&&Q.includes(e.key),i=b.current;S(j[i]+r*(n?10:1)*t,i,{commit:!0})}}})})})})});eo.displayName=ee;var[ed,ec]=ea(ee,{startEdge:"left",endEdge:"right",size:"width",direction:1}),eu=n.forwardRef((e,i)=>{let{min:a,max:l,dir:s,inverted:r,onSlideStart:o,onSlideMove:d,onSlideEnd:c,onStepKeyDown:u,...h}=e,[m,p]=n.useState(null),g=(0,q.useComposedRefs)(i,e=>p(e)),f=n.useRef(void 0),x=(0,K.useDirection)(s),v="ltr"===x,b=v&&!r||!v&&r;function w(e){let t=f.current||m.getBoundingClientRect(),n=ek([0,t.width],b?[a,l]:[l,a]);return f.current=t,n(e-t.left)}return(0,t.jsx)(ed,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(em,{dir:x,"data-orientation":"horizontal",...h,ref:g,style:{...h.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=w(e.clientX);o?.(t)},onSlideMove:e=>{let t=w(e.clientX);d?.(t)},onSlideEnd:()=>{f.current=void 0,c?.()},onStepKeyDown:e=>{let t=J[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),eh=n.forwardRef((e,i)=>{let{min:a,max:l,inverted:s,onSlideStart:r,onSlideMove:o,onSlideEnd:d,onStepKeyDown:c,...u}=e,h=n.useRef(null),m=(0,q.useComposedRefs)(i,h),p=n.useRef(void 0),g=!s;function f(e){let t=p.current||h.current.getBoundingClientRect(),n=ek([0,t.height],g?[l,a]:[a,l]);return p.current=t,n(e-t.top)}return(0,t.jsx)(ed,{scope:e.__scopeSlider,startEdge:g?"bottom":"top",endEdge:g?"top":"bottom",size:"height",direction:g?1:-1,children:(0,t.jsx)(em,{"data-orientation":"vertical",...u,ref:m,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);r?.(t)},onSlideMove:e=>{let t=f(e.clientY);o?.(t)},onSlideEnd:()=>{p.current=void 0,d?.()},onStepKeyDown:e=>{let t=J[g?"from-bottom":"from-top"].includes(e.key);c?.({event:e,direction:t?-1:1})}})})}),em=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:a,onSlideMove:l,onSlideEnd:s,onHomeKeyDown:r,onEndKeyDown:o,onStepKeyDown:d,...c}=e,u=er(ee,i);return(0,t.jsx)(Z.Primitive.span,{...c,ref:n,onKeyDown:(0,V.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(r(e),e.preventDefault()):"End"===e.key?(o(e),e.preventDefault()):X.concat(Q).includes(e.key)&&(d(e),e.preventDefault())}),onPointerDown:(0,V.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():a(e)}),onPointerMove:(0,V.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&l(e)}),onPointerUp:(0,V.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),s(e))})})}),ep="SliderTrack",eg=n.forwardRef((e,n)=>{let{__scopeSlider:i,...a}=e,l=er(ep,i);return(0,t.jsx)(Z.Primitive.span,{"data-disabled":l.disabled?"":void 0,"data-orientation":l.orientation,...a,ref:n})});eg.displayName=ep;var ef="SliderRange",ex=n.forwardRef((e,i)=>{let{__scopeSlider:a,...l}=e,s=er(ef,a),r=ec(ef,a),o=n.useRef(null),d=(0,q.useComposedRefs)(i,o),c=s.values.length,u=s.values.map(e=>ey(e,s.min,s.max)),h=c>1?Math.min(...u):0,m=100-Math.max(...u);return(0,t.jsx)(Z.Primitive.span,{"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,...l,ref:d,style:{...e.style,[r.startEdge]:h+"%",[r.endEdge]:m+"%"}})});ex.displayName=ef;var ev="SliderThumb",eb=n.forwardRef((e,i)=>{let a=en(e.__scopeSlider),[l,s]=n.useState(null),r=(0,q.useComposedRefs)(i,e=>s(e)),o=n.useMemo(()=>l?a().findIndex(e=>e.ref.current===l):-1,[a,l]);return(0,t.jsx)(ew,{...e,ref:r,index:o})}),ew=n.forwardRef((e,i)=>{var a,l,s,r,o;let d,c,{__scopeSlider:u,index:h,name:m,...p}=e,g=er(ev,u),f=ec(ev,u),[x,v]=n.useState(null),b=(0,q.useComposedRefs)(i,e=>v(e)),w=!x||g.form||!!x.closest("form"),j=(0,G.useSize)(x),y=g.values[h],k=void 0===y?0:ey(y,g.min,g.max),S=(a=h,(l=g.values.length)>2?`Value ${a+1} of ${l}`:2===l?["Minimum","Maximum"][a]:void 0),C=j?.[f.size],M=C?(s=C,r=k,o=f.direction,c=ek([0,50],[0,d=s/2]),(d-c(r)*o)*o):0;return n.useEffect(()=>{if(x)return g.thumbs.add(x),()=>{g.thumbs.delete(x)}},[x,g.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${k}% + ${M}px)`},children:[(0,t.jsx)(et.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(Z.Primitive.span,{role:"slider","aria-label":e["aria-label"]||S,"aria-valuemin":g.min,"aria-valuenow":y,"aria-valuemax":g.max,"aria-orientation":g.orientation,"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,tabIndex:g.disabled?void 0:0,...p,ref:b,style:void 0===y?{display:"none"}:e.style,onFocus:(0,V.composeEventHandlers)(e.onFocus,()=>{g.valueIndexToChangeRef.current=h})})}),w&&(0,t.jsx)(ej,{name:m??(g.name?g.name+(g.values.length>1?"[]":""):void 0),form:g.form,value:y},h)]})});eb.displayName=ev;var ej=n.forwardRef(({__scopeSlider:e,value:i,...a},l)=>{let s=n.useRef(null),r=(0,q.useComposedRefs)(s,l),o=(0,$.usePrevious)(i);return n.useEffect(()=>{let e=s.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(o!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(Z.Primitive.input,{style:{display:"none"},...a,ref:r,defaultValue:i})});function ey(e,t,n){return(0,L.clamp)(100/(n-t)*(e-t),[0,100])}function ek(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}ej.displayName="RadioBubbleInput",e.s(["Range",()=>ex,"Root",()=>eo,"Slider",()=>eo,"SliderRange",()=>ex,"SliderThumb",()=>eb,"SliderTrack",()=>eg,"Thumb",()=>eb,"Track",()=>eg,"createSliderScope",()=>el],29991);var eS=e.i(29991),eS=eS;function eC({className:e,defaultValue:i,value:a,min:l=0,max:s=100,...r}){let o=n.useMemo(()=>Array.isArray(a)?a:Array.isArray(i)?i:[l,s],[a,i,l,s]);return(0,t.jsxs)(eS.Root,{"data-slot":"slider",defaultValue:i,value:a,min:l,max:s,className:(0,w.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...r,children:[(0,t.jsx)(eS.Track,{"data-slot":"slider-track",className:(0,w.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(eS.Range,{"data-slot":"slider-range",className:(0,w.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:o.length},(e,n)=>(0,t.jsx)(eS.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},n))]})}let eM=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eI=eM.length-1;function eN(e){let t=0,n=Math.abs(e-eM[0]);for(let i=1;i<eM.length;i++){let a=Math.abs(e-eM[i]);a<n&&(n=a,t=i)}return t}function eP({id:e,testId:i,value:a,onChange:l,onBlur:s,defaultSeconds:r=1800}){var o;let d,c,u=(""===a?r:parseInt(a,10))||r,[h,m]=(0,n.useState)(()=>eN(u)),p=eN(u);p!==h&&eM[h]!==u&&m(p);let g=(0,n.useCallback)(([e])=>{m(e),l(String(eM[e]))},[l]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eC,{id:e,"data-testid":i,min:0,max:eI,step:1,value:[h],onValueChange:g,onValueCommit:()=>s(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-right text-xs tabular-nums",children:(d=Math.floor((o=eM[h])/3600),c=Math.round(o%3600/60),0===d?`${c}m`:0===c?`${d}h`:`${d}h ${c}m`)})]})}let eA=[{value:P.AgentAuthMethod.Session,label:"Session"},{value:P.AgentAuthMethod.Token,label:"Token"}],eE=[{value:P.EditorType.VsCode,label:"VS Code"},{value:P.EditorType.Cursor,label:"Cursor"},{value:P.EditorType.Windsurf,label:"Windsurf"},{value:P.EditorType.Zed,label:"Zed"},{value:P.EditorType.Antigravity,label:"Antigravity"}],eT=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],eR=[{id:"agent",label:"Agent",icon:r.Bot},{id:"environment",label:"Environment",icon:o.Terminal},{id:"workflow",label:"Workflow",icon:d.GitBranch},{id:"ci",label:"CI",icon:c.Activity},{id:"stage-timeouts",label:"Timeouts",icon:v},{id:"notifications",label:"Notifications",icon:u},{id:"feature-flags",label:"Flags",icon:h},{id:"database",label:"Database",icon:m}];function eD({label:e,description:n,htmlFor:i,children:a}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(j.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:a})]})}function eF({label:e,description:n,id:i,testId:a,checked:l,onChange:s,disabled:r}){return(0,t.jsx)(eD,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(S.Switch,{id:i,"data-testid":a,checked:l,onCheckedChange:s,disabled:r,className:(0,w.cn)("cursor-pointer",r&&"cursor-not-allowed opacity-50")})})}function ez({icon:e,title:n,description:i,badge:a,testId:l,children:s}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":l,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:n}),a?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:a}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:i})]}),(0,t.jsx)("div",{className:"px-4",children:s})]})}function eB({id:e,testId:n,value:i,onChange:a,onBlur:l,placeholder:s,min:r=1,max:o,step:d=1,suffix:c}){let u=""===i?void 0:parseInt(i,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{a(String(Math.max(r,(u??parseInt(s,10))-d)))},onMouseUp:l,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-r transition-colors","aria-label":"Decrease",children:(0,t.jsx)(p.default,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:s,onChange:e=>{a(e.target.value.replace(/[^0-9]/g,""))},onBlur:l,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=u??parseInt(s,10),a(String(null!=o?Math.min(o,e+d):e+d))},onMouseUp:l,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-l transition-colors","aria-label":"Increase",children:(0,t.jsx)(g.Plus,{className:"h-3 w-3"})})]}),c?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:c}):null]})}function eW({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function e_({children:e,links:n}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(f.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eH({settings:e,shepHome:a,dbFileSize:p,availableTerminals:g}){let{showSaving:f,showSaved:j,save:S}=function(){let[e,t]=(0,n.useTransition)(),[i,a]=(0,n.useState)(!1),[l,s]=(0,n.useState)(!1),r=(0,n.useRef)(null),o=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{e&&!i&&(a(!0),o.current=!1,r.current=setTimeout(()=>{r.current=null,o.current&&(a(!1),s(!0),setTimeout(()=>s(!1),2e3))},350)),!e&&i&&(o.current=!0,r.current||(a(!1),s(!0),setTimeout(()=>s(!1),2e3)))},[e,i]),{showSaving:i,showSaved:l,save:(0,n.useCallback)(e=>{t(async()=>{let t=await N(e);t.success||b.toast.error(t.error??"Failed to save settings")})},[t])}}(),I=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1},[A,E]=(0,n.useState)(e.agent.type),T=e.agent.authMethod,[D,F]=(0,n.useState)(e.agent.token??""),[z,B]=(0,n.useState)(!1),[W,L]=(0,n.useState)(e.environment.defaultEditor),[V,q]=(0,n.useState)(e.environment.shellPreference),[O,U]=(0,n.useState)(e.environment.terminalPreference??P.TerminalType.System),K=g?g.filter(e=>e.available):[{id:P.TerminalType.System,name:"System Terminal",available:!0}],[$,G]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[Z,Y]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[X,Q]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[J,ee]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[et,en]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[ei,ea]=(0,n.useState)(e.workflow.enableEvidence),[el,es]=(0,n.useState)(e.workflow.commitEvidence),[er,eo]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[ed,ec]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eu,eh]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[em,ep]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eg,ef]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),ex=e.workflow.stageTimeouts,[ev,eb]=(0,n.useState)(String(Math.round((ex?.analyzeMs??18e5)/1e3))),[ew,ej]=(0,n.useState)(String(Math.round((ex?.requirementsMs??18e5)/1e3))),[ey,ek]=(0,n.useState)(String(Math.round((ex?.researchMs??18e5)/1e3))),[eS,eC]=(0,n.useState)(String(Math.round((ex?.planMs??18e5)/1e3))),[eM,eI]=(0,n.useState)(String(Math.round((ex?.implementMs??18e5)/1e3))),[eN,eH]=(0,n.useState)(String(Math.round((ex?.mergeMs??18e5)/1e3))),eL=e.workflow.analyzeRepoTimeouts,[eV,eq]=(0,n.useState)(String(Math.round((eL?.analyzeMs??6e5)/1e3))),[eO,eU]=(0,n.useState)(e.notifications.inApp.enabled),[eK,e$]=(0,n.useState)(e.notifications.browser.enabled),[eG,eZ]=(0,n.useState)(e.notifications.desktop.enabled),[eY,eX]=(0,n.useState)({...e.notifications.events}),[eQ,eJ]=(0,n.useState)({...I}),e0=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",e1=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",e2=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",e3=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",e4=ex?.analyzeMs!=null?String(Math.round(ex.analyzeMs/1e3)):"",e5=ex?.requirementsMs!=null?String(Math.round(ex.requirementsMs/1e3)):"",e8=ex?.researchMs!=null?String(Math.round(ex.researchMs/1e3)):"",e7=ex?.planMs!=null?String(Math.round(ex.planMs/1e3)):"",e6=ex?.implementMs!=null?String(Math.round(ex.implementMs/1e3)):"",e9=ex?.mergeMs!=null?String(Math.round(ex.mergeMs/1e3)):"",te=eL?.analyzeMs!=null?String(Math.round(eL.analyzeMs/1e3)):"";function tt(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tn(e){if(void 0===e)return;let t=tt(e);return null!=t?1e3*t:void 0}function ti(e={}){let t=tt(e.ciTimeout??eu);return{workflow:{openPrOnImplementationComplete:e.openPr??$,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??Z,allowPrd:e.allowPrd??X,allowPlan:e.allowPlan??J,allowMerge:e.allowMerge??et},enableEvidence:e.enableEvidence??ei,commitEvidence:e.commitEvidence??el,ciWatchEnabled:e.ciWatchEnabled??er,ciMaxFixAttempts:tt(e.ciMaxFix??ed),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tt(e.ciLogMax??em),ciWatchPollIntervalSeconds:tt(e.ciPollInterval??eg),stageTimeouts:{analyzeMs:tn(e.analyzeTimeout??ev),requirementsMs:tn(e.requirementsTimeout??ew),researchMs:tn(e.researchTimeout??ey),planMs:tn(e.planTimeout??eS),implementMs:tn(e.implementTimeout??eM),mergeMs:tn(e.mergeTimeout??eN)},analyzeRepoTimeouts:{analyzeMs:tn(e.analyzeRepoTimeout??eV)}}}}function ta(e={}){return{notifications:{inApp:{enabled:e.inApp??eO},browser:{enabled:e.browser??eK},desktop:{enabled:e.desktop??eG},events:e.events??eY}}}let[tl,ts]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=eR.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&ts(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let tr=(0,n.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Settings"}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,w.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",f?"opacity-100":"opacity-0"),children:"Saving..."}),(0,t.jsxs)("span",{className:(0,w.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",j&&!f?"opacity-100":"opacity-0"),children:[(0,t.jsx)(s.Check,{className:"h-3 w-3"}),"Saved"]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:eR.map(e=>{let n=e.icon,i=tl===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tr(e.id),className:(0,w.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:e.label})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(ez,{icon:r.Bot,title:"Agent",description:"AI coding agent and authentication",testId:"agent-settings-section",children:[(0,t.jsx)(eD,{label:"Agent & Model",description:"Provider and model for all operations",htmlFor:"agent-model-picker",children:(0,t.jsx)(H.AgentModelPicker,{initialAgentType:A,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>E(e),className:"w-55"})}),(0,t.jsx)(eD,{label:"Authentication",description:"How the agent authenticates",htmlFor:"auth-method",children:(0,t.jsx)(C.TooltipProvider,{children:(0,t.jsxs)(C.Tooltip,{children:[(0,t.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsxs)(M.Select,{value:T,disabled:!0,children:[(0,t.jsx)(M.SelectTrigger,{id:"auth-method","data-testid":"auth-method-select",className:"w-55 cursor-not-allowed text-xs opacity-60",children:(0,t.jsx)(M.SelectValue,{})}),(0,t.jsx)(M.SelectContent,{children:eA.map(e=>(0,t.jsx)(M.SelectItem,{value:e.value,children:e.label},e.value))})]})})}),(0,t.jsx)(C.TooltipContent,{children:"Coming soon"})]})})}),T===P.AgentAuthMethod.Token&&(0,t.jsx)(eD,{label:"API Token",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-45",children:[(0,t.jsx)(y.Input,{id:"agent-token","data-testid":"agent-token-input",type:z?"text":"password",value:D,onChange:e=>F(e.target.value),onBlur:()=>{D!==(e.agent.token??"")&&S(function(e={}){let t={type:A,authMethod:T,...e},n={type:t.type,authMethod:t.authMethod};return t.authMethod===P.AgentAuthMethod.Token&&(n.token=e.token??D),{agent:n}}({token:D}))},placeholder:"Enter token",className:"pr-8"}),(0,t.jsx)(k.Button,{type:"button",variant:"ghost",size:"sm",className:"absolute top-0 right-0 h-full px-2 hover:bg-transparent",onClick:()=>B(!z),"data-testid":"toggle-token-visibility","aria-label":z?"Hide token":"Show token",children:z?(0,t.jsx)(l,{className:"h-3 w-3"}):(0,t.jsx)(i.Eye,{className:"h-3 w-3"})})]})})]}),(0,t.jsx)(e_,{links:[{label:"Agent system",href:"https://github.com/shep-ai/cli/blob/main/docs/architecture/agent-system.md"},{label:"Adding agents",href:"https://github.com/shep-ai/cli/blob/main/docs/development/adding-agents.md"},{label:"Configuration guide",href:"https://github.com/shep-ai/cli/blob/main/docs/guides/configuration.md"}],children:"Choose which AI coding agent powers your features. Each agent supports different models and capabilities. Authentication is resolved automatically via your active session."})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(ez,{icon:o.Terminal,title:"Environment",description:"Editor, shell, and terminal preferences",testId:"environment-settings-section",children:[(0,t.jsx)(eD,{label:"Default Editor",description:"Editor launched for file operations",htmlFor:"default-editor",children:(0,t.jsxs)(M.Select,{value:W,onValueChange:e=>{L(e),S({environment:{defaultEditor:e,shellPreference:V,terminalPreference:O}})},children:[(0,t.jsx)(M.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(M.SelectValue,{})}),(0,t.jsx)(M.SelectContent,{children:eE.map(e=>{var n;let i=(n=e.value)&&n in _?_[n]:R;return(0,t.jsx)(M.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eD,{label:"Shell",description:"Default shell for generated scripts",htmlFor:"shell-preference",children:(0,t.jsxs)(M.Select,{value:V,onValueChange:e=>{q(e),S({environment:{defaultEditor:W,shellPreference:e,terminalPreference:O}})},children:[(0,t.jsx)(M.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(M.SelectValue,{})}),(0,t.jsx)(M.SelectContent,{children:eT.map(e=>(0,t.jsx)(M.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eD,{label:"Terminal",description:"Terminal emulator for shell sessions",htmlFor:"terminal-preference",children:(0,t.jsxs)(M.Select,{value:O,onValueChange:e=>{U(e),S({environment:{defaultEditor:W,shellPreference:V,terminalPreference:e}})},children:[(0,t.jsx)(M.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(M.SelectValue,{})}),(0,t.jsx)(M.SelectContent,{children:K.map(e=>(0,t.jsx)(M.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(e_,{links:[{label:"Configuration guide",href:"https://github.com/shep-ai/cli/blob/main/docs/guides/configuration.md"}],children:"Your preferred editor opens files for review. The shell setting controls generated scripts. The terminal emulator is launched when opening shell sessions from the web UI."})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(ez,{icon:d.GitBranch,title:"Workflow",description:"Automation behavior after implementation",testId:"workflow-settings-section",children:[(0,t.jsx)(eW,{children:"Approve"}),(0,t.jsx)(eF,{label:"Auto-approve PRD",description:"Skip manual review of requirements",id:"allow-prd",testId:"switch-allow-prd",checked:X,onChange:e=>{Q(e),S(ti({allowPrd:e}))}}),(0,t.jsx)(eF,{label:"Auto-approve Plan",description:"Skip manual review of implementation plan",id:"allow-plan",testId:"switch-allow-plan",checked:J,onChange:e=>{ee(e),S(ti({allowPlan:e}))}}),(0,t.jsx)(eF,{label:"Auto-approve Merge",description:"Merge without manual review",id:"allow-merge",testId:"switch-allow-merge",checked:et,onChange:e=>{en(e),S(ti({allowMerge:e}))}}),(0,t.jsx)(eW,{children:"Evidence"}),(0,t.jsx)(eF,{label:"Collect evidence",description:"Capture screenshots and artifacts after implementation",id:"enable-evidence",testId:"switch-enable-evidence",checked:ei,onChange:e=>{ea(e),e?S(ti({enableEvidence:e})):(es(!1),S(ti({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(eF,{label:"Add evidence to PR",description:"Include evidence in the pull request body",id:"commit-evidence",testId:"switch-commit-evidence",checked:el,disabled:!ei||!$,onChange:e=>{es(e),S(ti({commitEvidence:e}))}}),(0,t.jsx)(eW,{children:"Git"}),(0,t.jsx)(eF,{label:"Push on complete",description:"Push to remote when implementation finishes",id:"push-on-complete",testId:"switch-push-on-complete",checked:Z,onChange:e=>{Y(e),S(ti({pushOnComplete:e}))}}),(0,t.jsx)(eF,{label:"Open PR on complete",description:"Create a pull request when done",id:"open-pr",testId:"switch-open-pr",checked:$,onChange:e=>{G(e),e?S(ti({openPr:e})):(es(!1),S(ti({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(eF,{label:"Watch CI after push",description:"Monitor CI and auto-fix failures. Disable to avoid rate limits.",id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:er,onChange:e=>{eo(e),S(ti({ciWatchEnabled:e}))}})]}),(0,t.jsx)(e_,{links:[{label:"Approval gates",href:"https://github.com/shep-ai/cli/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:"Push & PR flags",href:"https://github.com/shep-ai/cli/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:"Control how autonomous each feature run is. Auto-approve skips the human review pause at each phase. Push and PR options control what happens after successful implementation."})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(ez,{icon:c.Activity,title:"Continuous Integration",description:"Limits and timeouts for CI monitoring",testId:"ci-settings-section",children:[(0,t.jsx)(eD,{label:"Max fix attempts",description:"Agent retries on failing CI",htmlFor:"ci-max-fix",children:(0,t.jsx)(eB,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:ed,onChange:ec,onBlur:()=>{ed!==e0&&S(ti({ciMaxFix:ed}))},min:1,max:10})}),(0,t.jsx)(eD,{label:"Watch timeout",description:"Max wait for CI completion",htmlFor:"ci-timeout",children:(0,t.jsx)(eB,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eu,onChange:eh,onBlur:()=>{eu!==e1&&S(ti({ciTimeout:eu}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eD,{label:"Max log size",description:"Truncate CI logs beyond this limit",htmlFor:"ci-log-max",children:(0,t.jsx)(eB,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:em,onChange:ep,onBlur:()=>{em!==e2&&S(ti({ciLogMax:em}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eD,{label:"Poll interval",description:"How often to check GitHub for CI status updates",htmlFor:"ci-poll-interval",children:(0,t.jsx)(eB,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eg,onChange:ef,onBlur:()=>{eg!==e3&&S(ti({ciPollInterval:eg}))},min:5,step:5,suffix:"sec"})})]}),(0,t.jsx)(e_,{links:[{label:"CI/CD pipeline",href:"https://github.com/shep-ai/cli/blob/main/docs/development/cicd.md"},{label:"CI security gates",href:"https://github.com/shep-ai/cli/blob/main/specs/003-cicd-security-gates/spec.md"}],children:"When a feature completes, the agent can watch CI and auto-fix failures. These limits prevent runaway retries and control how much log output is sent to the agent for analysis."})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(ez,{icon:v,title:"Stage Timeouts",description:"Maximum execution time per agent stage",testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eW,{children:"Feature Agent"}),(0,t.jsx)(eD,{label:"Analyze",description:"Repository analysis timeout",htmlFor:"timeout-analyze",children:(0,t.jsx)(eP,{id:"timeout-analyze",testId:"timeout-analyze-input",value:ev,onChange:eb,onBlur:()=>{ev!==e4&&S(ti({analyzeTimeout:ev}))},defaultSeconds:1800})}),(0,t.jsx)(eD,{label:"Requirements",description:"Requirements gathering timeout",htmlFor:"timeout-requirements",children:(0,t.jsx)(eP,{id:"timeout-requirements",testId:"timeout-requirements-input",value:ew,onChange:ej,onBlur:()=>{ew!==e5&&S(ti({requirementsTimeout:ew}))},defaultSeconds:1800})}),(0,t.jsx)(eD,{label:"Research",description:"Technical research timeout",htmlFor:"timeout-research",children:(0,t.jsx)(eP,{id:"timeout-research",testId:"timeout-research-input",value:ey,onChange:ek,onBlur:()=>{ey!==e8&&S(ti({researchTimeout:ey}))},defaultSeconds:1800})}),(0,t.jsx)(eD,{label:"Plan",description:"Implementation planning timeout",htmlFor:"timeout-plan",children:(0,t.jsx)(eP,{id:"timeout-plan",testId:"timeout-plan-input",value:eS,onChange:eC,onBlur:()=>{eS!==e7&&S(ti({planTimeout:eS}))},defaultSeconds:1800})}),(0,t.jsx)(eD,{label:"Implement",description:"Code implementation timeout",htmlFor:"timeout-implement",children:(0,t.jsx)(eP,{id:"timeout-implement",testId:"timeout-implement-input",value:eM,onChange:eI,onBlur:()=>{eM!==e6&&S(ti({implementTimeout:eM}))},defaultSeconds:1800})}),(0,t.jsx)(eD,{label:"Merge",description:"PR creation and merge timeout",htmlFor:"timeout-merge",children:(0,t.jsx)(eP,{id:"timeout-merge",testId:"timeout-merge-input",value:eN,onChange:eH,onBlur:()=>{eN!==e9&&S(ti({mergeTimeout:eN}))},defaultSeconds:1800})}),(0,t.jsx)(eW,{children:"Analyze Repository Agent"}),(0,t.jsx)(eD,{label:"Analyze",description:"Repository analysis timeout",htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(eP,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:eV,onChange:eq,onBlur:()=>{eV!==te&&S(ti({analyzeRepoTimeout:eV}))},defaultSeconds:600})})]}),(0,t.jsx)(e_,{children:"Each agent has independently configurable stage timeouts. When a stage exceeds its timeout, the agent is terminated. Longer timeouts are useful for complex implementations. Feature agent defaults to 30 minutes per stage. Analyze repository agent defaults to 10 minutes."})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(ez,{icon:u,title:"Notifications",description:"How and when you get notified",testId:"notification-settings-section",children:[(0,t.jsx)(eW,{children:"Channels"}),(0,t.jsx)(eF,{label:"In-app",description:"Notifications inside the Shep UI",id:"notif-in-app",testId:"switch-in-app",checked:eO,onChange:e=>{eU(e),S(ta({inApp:e}))}}),(0,t.jsx)(eF,{label:"Browser",description:"Push notifications via the browser",id:"notif-browser",testId:"switch-browser",checked:eK,onChange:e=>{e$(e),S(ta({browser:e}))}}),(0,t.jsx)(eF,{label:"Desktop",description:"Native OS notifications",id:"notif-desktop",testId:"switch-desktop",checked:eG,onChange:e=>{eZ(e),S(ta({desktop:e}))}}),(0,t.jsx)(eW,{children:"Agent Events"}),(0,t.jsx)(eF,{label:"Agent started",id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:eY.agentStarted,onChange:e=>{let t={...eY,agentStarted:e};eX(t),S(ta({events:t}))}}),(0,t.jsx)(eF,{label:"Phase completed",id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:eY.phaseCompleted,onChange:e=>{let t={...eY,phaseCompleted:e};eX(t),S(ta({events:t}))}}),(0,t.jsx)(eF,{label:"Waiting approval",id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:eY.waitingApproval,onChange:e=>{let t={...eY,waitingApproval:e};eX(t),S(ta({events:t}))}}),(0,t.jsx)(eF,{label:"Agent completed",id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:eY.agentCompleted,onChange:e=>{let t={...eY,agentCompleted:e};eX(t),S(ta({events:t}))}}),(0,t.jsx)(eF,{label:"Agent failed",id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:eY.agentFailed,onChange:e=>{let t={...eY,agentFailed:e};eX(t),S(ta({events:t}))}}),(0,t.jsx)(eW,{children:"Pull Request Events"}),(0,t.jsx)(eF,{label:"PR merged",id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:eY.prMerged,onChange:e=>{let t={...eY,prMerged:e};eX(t),S(ta({events:t}))}}),(0,t.jsx)(eF,{label:"PR closed",id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:eY.prClosed,onChange:e=>{let t={...eY,prClosed:e};eX(t),S(ta({events:t}))}}),(0,t.jsx)(eF,{label:"PR checks passed",id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:eY.prChecksPassed,onChange:e=>{let t={...eY,prChecksPassed:e};eX(t),S(ta({events:t}))}}),(0,t.jsx)(eF,{label:"PR checks failed",id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:eY.prChecksFailed,onChange:e=>{let t={...eY,prChecksFailed:e};eX(t),S(ta({events:t}))}})]}),(0,t.jsx)(e_,{links:[{label:"Notification system",href:"https://github.com/shep-ai/cli/blob/main/specs/021-agent-notifications/spec.yaml"}],children:"Three notification channels keep you in the loop: in-app toasts, browser push notifications, and native desktop alerts. Fine-tune which agent lifecycle events trigger a notification."})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(ez,{icon:h,title:"Feature Flags",description:"Enable or disable experimental features",badge:"Experimental",testId:"feature-flags-settings-section",children:[(0,t.jsx)(eF,{label:"Skills",description:"Enable the skills system for agent capabilities",id:"flag-skills",testId:"switch-flag-skills",checked:eQ.skills,onChange:e=>{let t={...eQ,skills:e};eJ(t),S({featureFlags:t})}}),(0,t.jsx)(eF,{label:"Deployments",description:"Enable environment deployment workflows",id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:eQ.envDeploy,onChange:e=>{let t={...eQ,envDeploy:e};eJ(t),S({featureFlags:t})}}),(0,t.jsx)(eF,{label:"Debug",description:"Show debug panels and verbose logging",id:"flag-debug",testId:"switch-flag-debug",checked:eQ.debug,onChange:e=>{let t={...eQ,debug:e};eJ(t),S({featureFlags:t})}})]}),(0,t.jsx)(e_,{children:"Experimental features that are still under development. Enable at your own risk — they may change or be removed in future versions. Debug mode adds verbose logging useful for troubleshooting."})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(ez,{icon:m,title:"Database",description:"Local storage information",testId:"database-settings-section",children:[(0,t.jsx)(eD,{label:"Location",description:"Path to the local SQLite database",children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:a})}),(0,t.jsx)(eD,{label:"Size",children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:p})})]}),(0,t.jsx)(e_,{links:[{label:"Settings service",href:"https://github.com/shep-ai/cli/blob/main/docs/architecture/settings-service.md"},{label:"Settings spec",href:"https://github.com/shep-ai/cli/blob/main/specs/005-global-settings-service/spec.md"}],children:"All settings are stored in a local SQLite database at ~/.shep/data. The database uses a singleton record pattern with automatic migrations on startup."})]})]})]})}e.s(["SettingsPageClient",()=>eH],41952)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81258,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},22193,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getDeploymentId:function(){return u},getDeploymentIdQueryOrEmptyString:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function u(){return!1}function i(){return""}},34558,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return o}});var n,o=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54809,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o={REDIRECT_ERROR_CODE:function(){return l},RedirectType:function(){return a},isRedirectError:function(){return c}};for(var u in o)Object.defineProperty(r,u,{enumerable:!0,get:o[u]});let i=e.r(34558),l="NEXT_REDIRECT";var a=((n={}).push="push",n.replace="replace",n);function c(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,o=t.slice(2,-2).join(";"),u=Number(t.at(-2));return r===l&&("replace"===n||"push"===n)&&"string"==typeof o&&!isNaN(u)&&u in i.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65064,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return c},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class i{disable(){throw u}getStore(){}run(){throw u}exit(){throw u}enterWith(){throw u}static bind(e){return e}}let l="u">typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return l?new l:new i}function c(e){return l?l.bind(e):i.bind(e)}function d(){return l?l.snapshot():function(e,...t){return e(...t)}}},82157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ACTION_HEADER:function(){return i},FLIGHT_HEADERS:function(){return p},NEXT_ACTION_NOT_FOUND_HEADER:function(){return j},NEXT_ACTION_REVALIDATED_HEADER:function(){return T},NEXT_DID_POSTPONE_HEADER:function(){return R},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return f},NEXT_HMR_REFRESH_HEADER:function(){return d},NEXT_HTML_REQUEST_ID_HEADER:function(){return v},NEXT_IS_PRERENDER_HEADER:function(){return g},NEXT_REQUEST_ID_HEADER:function(){return h},NEXT_REWRITTEN_PATH_HEADER:function(){return b},NEXT_REWRITTEN_QUERY_HEADER:function(){return O},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return c},NEXT_ROUTER_STALE_TIME_HEADER:function(){return y},NEXT_ROUTER_STATE_TREE_HEADER:function(){return l},NEXT_RSC_UNION_QUERY:function(){return E},NEXT_URL:function(){return s},RSC_CONTENT_TYPE_HEADER:function(){return _},RSC_HEADER:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u="rsc",i="next-action",l="next-router-state-tree",a="next-router-prefetch",c="next-router-segment-prefetch",d="next-hmr-refresh",f="__next_hmr_refresh_hash__",s="next-url",_="text/x-component",p=[u,l,a,d,c],E="_rsc",y="x-nextjs-stale-time",R="x-nextjs-postponed",b="x-nextjs-rewritten-path",O="x-nextjs-rewritten-query",g="x-nextjs-prerender",j="x-nextjs-action-not-found",h="x-nextjs-request-id",v="x-nextjs-html-request-id",T="x-action-revalidated";("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5161,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DEFAULT_SEGMENT_KEY:function(){return f},NOT_FOUND_SEGMENT_KEY:function(){return s},PAGE_SEGMENT_KEY:function(){return d},addSearchParamsIfPageSegment:function(){return a},computeSelectedLayoutSegment:function(){return c},getSegmentValue:function(){return u},getSelectedLayoutSegmentPath:function(){return function e(t,r,n=!0,o=[]){let i;if(n)i=t[1][r];else{let e=t[1];i=e.children??Object.values(e)[0]}if(!i)return o;let l=u(i[0]);return!l||l.startsWith(d)?o:(o.push(l),e(i,r,!1,o))}},isGroupSegment:function(){return i},isParallelRouteSegment:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function u(e){return Array.isArray(e)?e[1]:e}function i(e){return"("===e[0]&&e.endsWith(")")}function l(e){return e.startsWith("@")&&"@children"!==e}function a(e,t){if(e.includes(d)){let e=JSON.stringify(t);return"{}"!==e?d+"?"+e:d}return e}function c(e,t){if(!e||0===e.length)return null;let r="children"===t?e[0]:e[e.length-1];return r===f?null:r}let d="__PAGE__",f="__DEFAULT__",s="/_not-found"},50389,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={UnrecognizedActionError:function(){return u},unstable_isUnrecognizedActionError:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});class u extends Error{constructor(...e){super(...e),this.name="UnrecognizedActionError"}}function i(e){return!!(e&&"object"==typeof e&&e instanceof u)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},89637,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(65064).createAsyncLocalStorage)()},54293,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=e.r(89637)},25133,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return a},getRedirectStatusCodeFromError:function(){return _},getRedirectTypeFromError:function(){return s},getURLFromRedirectError:function(){return f},permanentRedirect:function(){return d},redirect:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(34558),i=e.r(54809),l="u"<typeof window?e.r(54293).actionAsyncStorage:void 0;function a(e,t,r=u.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(i.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${i.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function c(e,t){throw a(e,t??=l?.getStore()?.isAction?i.RedirectType.push:i.RedirectType.replace,u.RedirectStatusCode.TemporaryRedirect)}function d(e,t=i.RedirectType.replace){throw a(e,t,u.RedirectStatusCode.PermanentRedirect)}function f(e){return(0,i.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function s(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function _(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18152,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={AppRouterContext:function(){return i},GlobalLayoutRouterContext:function(){return a},LayoutRouterContext:function(){return l},MissingSlotContext:function(){return d},TemplateContext:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(81258)._(e.r(79054)),i=u.default.createContext(null),l=u.default.createContext(null),a=u.default.createContext(null),c=u.default.createContext(null),d=u.default.createContext(new Set)},9338,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=e.r(79054),o=e.r(14869);function u(){return!function(){if("u"<typeof window){let{workUnitAsyncStorage:t}=e.r(3163),r=t.getStore();if(!r)return!1;switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":let n=r.fallbackRouteParams;return!!n&&n.size>0}}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},62949,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return i},useNavFailureHandler:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(79054);let u=e.r(32801);function i(e){return!!(e&&"u">typeof window)&&!!window.next.__pendingUrl&&(0,u.createHrefFromUrl)(new URL(window.location.href))!==(0,u.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function l(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},86762,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="u"<typeof window?e.r(58988).workAsyncStorage:void 0;function o({error:e}){if(n){let t=n.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},57351,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return p},ErrorBoundaryHandler:function(){return _}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(81258),i=e.r(20314),l=u._(e.r(79054)),a=e.r(9338),c=e.r(86092);e.r(62949);let d=e.r(86762),f=e.r(41608),s="u">typeof window&&(0,f.isBot)(window.navigator.userAgent);class _ extends l.default.Component{constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,c.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(d.HandleISRError,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,i.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}}function p({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let o=(0,a.useUntrackedPathname)();return e?(0,i.jsx)(_,{pathname:o,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,i.jsx)(i.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},10706,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return _},RedirectErrorBoundary:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(44066),i=e.r(20314),l=u._(e.r(79054)),a=e.r(67013),c=e.r(25133),d=e.r(54809);function f({redirect:e,reset:t,redirectType:r}){let n=(0,a.useRouter)();return(0,l.useEffect)(()=>{l.default.startTransition(()=>{r===d.RedirectType.push?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class s extends l.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,d.isRedirectError)(e)){let t=(0,c.getURLFromRedirectError)(e),r=(0,c.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,i.jsx)(f,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function _({children:e}){let t=(0,a.useRouter)();return(0,i.jsx)(s,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},99271,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66658,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return l},OutletBoundary:function(){return c},RootLayoutBoundary:function(){return d},ViewportBoundary:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(42771),i={[u.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[u.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[u.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[u.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},l=i[u.METADATA_BOUNDARY_NAME.slice(0)],a=i[u.VIEWPORT_BOUNDARY_NAME.slice(0)],c=i[u.OUTLET_BOUNDARY_NAME.slice(0)],d=i[u.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},84210,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(79054)).default.createContext({})},42726,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let n=e.r(20314),o=e.r(86762),u={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},i={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},l=function({error:e}){let t=e?.digest;return(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{}),(0,n.jsxs)("body",{children:[(0,n.jsx)(o.HandleISRError,{error:e}),(0,n.jsx)("div",{style:u,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("h2",{style:i,children:["Application error: a ",t?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",t?"server logs":"browser console"," for more information)."]}),t?(0,n.jsx)("p",{style:i,children:`Digest: ${t}`}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
@@ -1,11 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,85995,e=>{"use strict";var t=e.i(79054),r=e.i(5978),o=e.i(5192),n=e=>{var n;let i,l,{present:s,children:u}=e,c=function(e){var r,n;let[i,l]=t.useState(),s=t.useRef(null),u=t.useRef(e),c=t.useRef("none"),[d,p]=(r=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>n[e][t]??e,r));return t.useEffect(()=>{let e=a(s.current);c.current="mounted"===d?e:"none"},[d]),(0,o.useLayoutEffect)(()=>{let t=s.current,r=u.current;if(r!==e){let o=c.current,n=a(t);e?p("MOUNT"):"none"===n||t?.display==="none"?p("UNMOUNT"):r&&o!==n?p("ANIMATION_OUT"):p("UNMOUNT"),u.current=e}},[e,p]),(0,o.useLayoutEffect)(()=>{if(i){let e,t=i.ownerDocument.defaultView??window,r=r=>{let o=a(s.current).includes(CSS.escape(r.animationName));if(r.target===i&&o&&(p("ANIMATION_END"),!u.current)){let r=i.style.animationFillMode;i.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===i.style.animationFillMode&&(i.style.animationFillMode=r)})}},o=e=>{e.target===i&&(c.current=a(s.current))};return i.addEventListener("animationstart",o),i.addEventListener("animationcancel",r),i.addEventListener("animationend",r),()=>{t.clearTimeout(e),i.removeEventListener("animationstart",o),i.removeEventListener("animationcancel",r),i.removeEventListener("animationend",r)}}p("ANIMATION_END")},[i,p]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{s.current=e?getComputedStyle(e):null,l(e)},[])}}(s),d="function"==typeof u?u({present:c.isPresent}):t.Children.only(u),p=(0,r.useComposedRefs)(c.ref,(n=d,(l=(i=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?n.ref:(l=(i=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?n.props.ref:n.props.ref||n.ref));return"function"==typeof u||c.isPresent?t.cloneElement(d,{ref:p}):null};function a(e){return e?.animationName||"none"}n.displayName="Presence",e.s(["Presence",()=>n])},2828,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(91967),n=e.i(5978),a=e.i(22528),i=e.i(53532),l=e.i(13123),s=e.i(52740),u=e.i(39979),c=e.i(85995),d=e.i(87620),p=e.i(86874),f=e.i(36589),g=e.i(1693),[m,v]=(0,a.createContextScope)("Tooltip",[s.createPopperScope]),x=(0,s.createPopperScope)(),y="TooltipProvider",h="tooltip.open",[C,w]=m(y),b=e=>{let{__scopeTooltip:o,delayDuration:n=700,skipDelayDuration:a=300,disableHoverableContent:i=!1,children:l}=e,s=r.useRef(!0),u=r.useRef(!1),c=r.useRef(0);return r.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(C,{scope:o,isOpenDelayedRef:s,delayDuration:n,onOpen:r.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:r.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,a)},[a]),isPointerInTransitRef:u,onPointerInTransitChange:r.useCallback(e=>{u.current=e},[]),disableHoverableContent:i,children:l})};b.displayName=y;var D="Tooltip",[T,R]=m(D),j=e=>{let{__scopeTooltip:o,children:n,open:a,defaultOpen:i,onOpenChange:u,disableHoverableContent:c,delayDuration:d}=e,p=w(D,e.__scopeTooltip),g=x(o),[m,v]=r.useState(null),y=(0,l.useId)(),C=r.useRef(0),b=c??p.disableHoverableContent,R=d??p.delayDuration,j=r.useRef(!1),[A,P]=(0,f.useControllableState)({prop:a,defaultProp:i??!1,onChange:e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(h))):p.onClose(),u?.(e)},caller:D}),E=r.useMemo(()=>A?j.current?"delayed-open":"instant-open":"closed",[A]),N=r.useCallback(()=>{window.clearTimeout(C.current),C.current=0,j.current=!1,P(!0)},[P]),k=r.useCallback(()=>{window.clearTimeout(C.current),C.current=0,P(!1)},[P]),_=r.useCallback(()=>{window.clearTimeout(C.current),C.current=window.setTimeout(()=>{j.current=!0,P(!0),C.current=0},R)},[R,P]);return r.useEffect(()=>()=>{C.current&&(window.clearTimeout(C.current),C.current=0)},[]),(0,t.jsx)(s.Root,{...g,children:(0,t.jsx)(T,{scope:o,contentId:y,open:A,stateAttribute:E,trigger:m,onTriggerChange:v,onTriggerEnter:r.useCallback(()=>{p.isOpenDelayedRef.current?_():N()},[p.isOpenDelayedRef,_,N]),onTriggerLeave:r.useCallback(()=>{b?k():(window.clearTimeout(C.current),C.current=0)},[k,b]),onOpen:N,onClose:k,disableHoverableContent:b,children:n})})};j.displayName=D;var A="TooltipTrigger",P=r.forwardRef((e,a)=>{let{__scopeTooltip:i,...l}=e,u=R(A,i),c=w(A,i),p=x(i),f=r.useRef(null),g=(0,n.useComposedRefs)(a,f,u.onTriggerChange),m=r.useRef(!1),v=r.useRef(!1),y=r.useCallback(()=>m.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,t.jsx)(s.Anchor,{asChild:!0,...p,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...l,ref:g,onPointerMove:(0,o.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(v.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),v.current=!0))}),onPointerLeave:(0,o.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),v.current=!1}),onPointerDown:(0,o.composeEventHandlers)(e.onPointerDown,()=>{u.open&&u.onClose(),m.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,o.composeEventHandlers)(e.onFocus,()=>{m.current||u.onOpen()}),onBlur:(0,o.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,o.composeEventHandlers)(e.onClick,u.onClose)})})});P.displayName=A;var E="TooltipPortal",[N,k]=m(E,{forceMount:void 0}),_=e=>{let{__scopeTooltip:r,forceMount:o,children:n,container:a}=e,i=R(E,r);return(0,t.jsx)(N,{scope:r,forceMount:o,children:(0,t.jsx)(c.Presence,{present:o||i.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:a,children:n})})})};_.displayName=E;var S="TooltipContent",O=r.forwardRef((e,r)=>{let o=k(S,e.__scopeTooltip),{forceMount:n=o.forceMount,side:a="top",...i}=e,l=R(S,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:n||l.open,children:l.disableHoverableContent?(0,t.jsx)(z,{side:a,...i,ref:r}):(0,t.jsx)(I,{side:a,...i,ref:r})})}),I=r.forwardRef((e,o)=>{let a=R(S,e.__scopeTooltip),i=w(S,e.__scopeTooltip),l=r.useRef(null),s=(0,n.useComposedRefs)(o,l),[u,c]=r.useState(null),{trigger:d,onClose:p}=a,f=l.current,{onPointerInTransitChange:g}=i,m=r.useCallback(()=>{c(null),g(!1)},[g]),v=r.useCallback((e,t)=>{let r,o=e.currentTarget,n={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,o,n,a)){case a:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}(n,o.getBoundingClientRect());c(((r=[...function(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}(n,a),...function(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),g(!0)},[g]);return r.useEffect(()=>()=>m(),[m]),r.useEffect(()=>{if(d&&f){let e=e=>v(e,f),t=e=>v(e,d);return d.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[d,f,v,m]),r.useEffect(()=>{if(u){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=d?.contains(t)||f?.contains(t),n=!function(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let i=t[e],l=t[a],s=i.x,u=i.y,c=l.x,d=l.y;u>o!=d>o&&r<(c-s)*(o-u)/(d-u)+s&&(n=!n)}return n}(r,u);o?m():n&&(m(),p())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,f,u,p,m]),(0,t.jsx)(z,{...e,ref:s})}),[M,F]=m(D,{isInside:!1}),L=(0,p.createSlottable)("TooltipContent"),z=r.forwardRef((e,o)=>{let{__scopeTooltip:n,children:a,"aria-label":l,onEscapeKeyDown:u,onPointerDownOutside:c,...d}=e,p=R(S,n),f=x(n),{onClose:m}=p;return r.useEffect(()=>(document.addEventListener(h,m),()=>document.removeEventListener(h,m)),[m]),r.useEffect(()=>{if(p.trigger){let e=e=>{let t=e.target;t?.contains(p.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,m]),(0,t.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,t.jsxs)(s.Content,{"data-state":p.stateAttribute,...f,...d,ref:o,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(L,{children:a}),(0,t.jsx)(M,{scope:n,isInside:!0,children:(0,t.jsx)(g.Root,{id:p.contentId,role:"tooltip",children:l||a})})]})})});O.displayName=S;var H="TooltipArrow",U=r.forwardRef((e,r)=>{let{__scopeTooltip:o,...n}=e,a=x(o);return F(H,o).isInside?null:(0,t.jsx)(s.Arrow,{...a,...n,ref:r})});U.displayName=H,e.s(["Arrow",()=>U,"Content",()=>O,"Portal",()=>_,"Provider",()=>b,"Root",()=>j,"Tooltip",()=>j,"TooltipArrow",()=>U,"TooltipContent",()=>O,"TooltipPortal",()=>_,"TooltipProvider",()=>b,"TooltipTrigger",()=>P,"Trigger",()=>P,"createTooltipScope",()=>v],30643);var B=e.i(30643),B=B,W=e.i(31777);function $({delayDuration:e=0,...r}){return(0,t.jsx)(B.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...r})}function G({...e}){return(0,t.jsx)(B.Root,{"data-slot":"tooltip",...e})}function K({...e}){return(0,t.jsx)(B.Trigger,{"data-slot":"tooltip-trigger",...e})}function X({className:e,sideOffset:r=0,children:o,...n}){return(0,t.jsx)(B.Portal,{children:(0,t.jsxs)(B.Content,{"data-slot":"tooltip-content",sideOffset:r,className:(0,W.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...n,children:[o,(0,t.jsx)(B.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}e.s(["Tooltip",()=>G,"TooltipContent",()=>X,"TooltipProvider",()=>$,"TooltipTrigger",()=>K],2828)},21023,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={callServer:function(){return a.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});let a=e.r(40487),i=e.r(45398),l=e.r(48378)},17406,e=>{"use strict";var t,r,o,n,a,i,l,s,u=((t={}).VsCode="vscode",t.Cursor="cursor",t.Windsurf="windsurf",t.Zed="zed",t.Antigravity="antigravity",t),c=((r={}).System="system",r.Warp="warp",r.ITerm2="iterm2",r.Alacritty="alacritty",r.Kitty="kitty",r),d=((o={}).Session="session",o.Token="token",o),p=((n={}).Open="Open",n.Merged="Merged",n.Closed="Closed",n),f=((a={}).Pending="Pending",a.Success="Success",a.Failure="Failure",a),g=((i={}).AgentStarted="agent_started",i.PhaseCompleted="phase_completed",i.WaitingApproval="waiting_approval",i.AgentCompleted="agent_completed",i.AgentFailed="agent_failed",i.PrMerged="pr_merged",i.PrClosed="pr_closed",i.PrChecksPassed="pr_checks_passed",i.PrChecksFailed="pr_checks_failed",i.PrBlocked="pr_blocked",i.MergeReviewReady="merge_review_ready",i),m=((l={}).Info="info",l.Warning="warning",l.Success="success",l.Error="error",l),v=((s={}).Booting="Booting",s.Ready="Ready",s.Stopped="Stopped",s);e.s(["AgentAuthMethod",()=>d,"CiStatus",()=>f,"DeploymentState",()=>v,"EditorType",()=>u,"NotificationEventType",()=>g,"NotificationSeverity",()=>m,"PrStatus",()=>p,"TerminalType",()=>c])},25235,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(87620),n="horizontal",a=["horizontal","vertical"],i=r.forwardRef((e,r)=>{var i;let{decorative:l,orientation:s=n,...u}=e,c=(i=s,a.includes(i))?s:n;return(0,t.jsx)(o.Primitive.div,{"data-orientation":c,...l?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"},...u,ref:r})});i.displayName="Separator",e.s(["Root",()=>i,"Separator",()=>i],47402);var l=e.i(47402),l=l,s=e.i(31777);function u({className:e,orientation:r="horizontal",decorative:o=!0,...n}){return(0,t.jsx)(l.Root,{"data-slot":"separator",decorative:o,orientation:r,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...n})}e.s(["Separator",()=>u],25235)},90537,e=>{"use strict";let t=(0,e.i(3645).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",()=>t])},48249,e=>{"use strict";var t=e.i(90537);e.s(["XIcon",()=>t.default])},567,e=>{"use strict";var t=e.i(79054),r=e.i(91967),o=e.i(5978),n=e.i(22528),a=e.i(13123),i=e.i(36589),l=e.i(53532),s=e.i(56720),u=e.i(39979),c=e.i(85995),d=e.i(87620),p=e.i(41687),f=e.i(13044),g=e.i(73772),m=e.i(86874),v=e.i(20314),x="Dialog",[y,h]=(0,n.createContextScope)(x),[C,w]=y(x),b=e=>{let{__scopeDialog:r,children:o,open:n,defaultOpen:l,onOpenChange:s,modal:u=!0}=e,c=t.useRef(null),d=t.useRef(null),[p,f]=(0,i.useControllableState)({prop:n,defaultProp:l??!1,onChange:s,caller:x});return(0,v.jsx)(C,{scope:r,triggerRef:c,contentRef:d,contentId:(0,a.useId)(),titleId:(0,a.useId)(),descriptionId:(0,a.useId)(),open:p,onOpenChange:f,onOpenToggle:t.useCallback(()=>f(e=>!e),[f]),modal:u,children:o})};b.displayName=x;var D="DialogTrigger",T=t.forwardRef((e,t)=>{let{__scopeDialog:n,...a}=e,i=w(D,n),l=(0,o.useComposedRefs)(t,i.triggerRef);return(0,v.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":$(i.open),...a,ref:l,onClick:(0,r.composeEventHandlers)(e.onClick,i.onOpenToggle)})});T.displayName=D;var R="DialogPortal",[j,A]=y(R,{forceMount:void 0}),P=e=>{let{__scopeDialog:r,forceMount:o,children:n,container:a}=e,i=w(R,r);return(0,v.jsx)(j,{scope:r,forceMount:o,children:t.Children.map(n,e=>(0,v.jsx)(c.Presence,{present:o||i.open,children:(0,v.jsx)(u.Portal,{asChild:!0,container:a,children:e})}))})};P.displayName=R;var E="DialogOverlay",N=t.forwardRef((e,t)=>{let r=A(E,e.__scopeDialog),{forceMount:o=r.forceMount,...n}=e,a=w(E,e.__scopeDialog);return a.modal?(0,v.jsx)(c.Presence,{present:o||a.open,children:(0,v.jsx)(_,{...n,ref:t})}):null});N.displayName=E;var k=(0,m.createSlot)("DialogOverlay.RemoveScroll"),_=t.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,n=w(E,r);return(0,v.jsx)(f.RemoveScroll,{as:k,allowPinchZoom:!0,shards:[n.contentRef],children:(0,v.jsx)(d.Primitive.div,{"data-state":$(n.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),S="DialogContent",O=t.forwardRef((e,t)=>{let r=A(S,e.__scopeDialog),{forceMount:o=r.forceMount,...n}=e,a=w(S,e.__scopeDialog);return(0,v.jsx)(c.Presence,{present:o||a.open,children:a.modal?(0,v.jsx)(I,{...n,ref:t}):(0,v.jsx)(M,{...n,ref:t})})});O.displayName=S;var I=t.forwardRef((e,n)=>{let a=w(S,e.__scopeDialog),i=t.useRef(null),l=(0,o.useComposedRefs)(n,a.contentRef,i);return t.useEffect(()=>{let e=i.current;if(e)return(0,g.hideOthers)(e)},[]),(0,v.jsx)(F,{...e,ref:l,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:(0,r.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,r.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),M=t.forwardRef((e,r)=>{let o=w(S,e.__scopeDialog),n=t.useRef(!1),a=t.useRef(!1);return(0,v.jsx)(F,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||o.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),F=t.forwardRef((e,r)=>{let{__scopeDialog:n,trapFocus:a,onOpenAutoFocus:i,onCloseAutoFocus:u,...c}=e,d=w(S,n),f=t.useRef(null),g=(0,o.useComposedRefs)(r,f);return(0,p.useFocusGuards)(),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s.FocusScope,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:i,onUnmountAutoFocus:u,children:(0,v.jsx)(l.DismissableLayer,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":$(d.open),...c,ref:g,onDismiss:()=>d.onOpenChange(!1)})}),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Y,{titleId:d.titleId}),(0,v.jsx)(q,{contentRef:f,descriptionId:d.descriptionId})]})]})}),L="DialogTitle",z=t.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,n=w(L,r);return(0,v.jsx)(d.Primitive.h2,{id:n.titleId,...o,ref:t})});z.displayName=L;var H="DialogDescription",U=t.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,n=w(H,r);return(0,v.jsx)(d.Primitive.p,{id:n.descriptionId,...o,ref:t})});U.displayName=H;var B="DialogClose",W=t.forwardRef((e,t)=>{let{__scopeDialog:o,...n}=e,a=w(B,o);return(0,v.jsx)(d.Primitive.button,{type:"button",...n,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});function $(e){return e?"open":"closed"}W.displayName=B;var G="DialogTitleWarning",[K,X]=(0,n.createContext)(G,{contentName:S,titleName:L,docsSlug:"dialog"}),Y=({titleId:e})=>{let r=X(G),o=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return t.useEffect(()=>{e&&(document.getElementById(e)||console.error(o))},[o,e]),null},q=({contentRef:e,descriptionId:r})=>{let o=X("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${o.contentName}}.`;return t.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");r&&t&&(document.getElementById(r)||console.warn(n))},[n,e,r]),null};e.s(["Close",()=>W,"Content",()=>O,"Description",()=>U,"Dialog",()=>b,"DialogClose",()=>W,"DialogContent",()=>O,"DialogDescription",()=>U,"DialogOverlay",()=>N,"DialogPortal",()=>P,"DialogTitle",()=>z,"DialogTrigger",()=>T,"Overlay",()=>N,"Portal",()=>P,"Root",()=>b,"Title",()=>z,"Trigger",()=>T,"WarningProvider",()=>K,"createDialogScope",()=>h])},90033,e=>{"use strict";var t=e.i(567);e.s(["Dialog",0,t])},51251,14748,e=>{"use strict";let t=(0,e.i(3645).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["default",()=>t],14748),e.s(["CircleAlert",()=>t],51251)},83428,15506,e=>{"use strict";let t=(0,e.i(3645).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],15506),e.s(["Loader2",()=>t],83428)},60253,e=>{"use strict";var t=e.i(90537);e.s(["X",()=>t.default])},8361,73709,18354,e=>{"use strict";var t=e.i(44172),r=e.i(79054);let o="shep-sound-enabled",n="shep:sound-toggle";function a(){let[e,t]=(0,r.useState)(!0);(0,r.useEffect)(()=>{"false"===localStorage.getItem(o)&&t(!1);let e=e=>{t(e.detail)};return window.addEventListener(n,e),()=>window.removeEventListener(n,e)},[]);let a=(0,r.useCallback)(()=>{let r=!e;localStorage.setItem(o,String(r)),t(r),window.dispatchEvent(new CustomEvent(n,{detail:r}))},[e]);return{enabled:e,toggle:a}}e.s(["useSoundEnabled",()=>a],73709);let i=new Map,l={navigate:{sound:"tap_01",volume:.2},"menu-item":{sound:"tap_01",volume:.2},select:{sound:"select",volume:.3},"toggle-on":{sound:"toggle_on",volume:.3},"toggle-off":{sound:"toggle_off",volume:.3},click:{sound:"tap_01",volume:.3},cancel:{sound:"transition_down",volume:.3},expand:{sound:"swipe",volume:.3},collapse:{sound:"swipe",volume:.3},"menu-open":{sound:"select",volume:.3},copy:{sound:"select",volume:.3},"drawer-open":{sound:"transition_up",volume:.4},"drawer-close":{sound:"transition_down",volume:.4},submit:{sound:"button",volume:.4},approve:{sound:"celebration",volume:.5},reject:{sound:"caution",volume:.5},create:{sound:"transition_up",volume:.5},delete:{sound:"transition_down",volume:.5},"notification-success":{sound:"celebration",volume:.5},"notification-error":{sound:"caution",volume:.5},"notification-warning":{sound:"notification",volume:.5},"notification-info":{sound:"button",volume:.5}};function s(e){let{sound:t,volume:o}=l[e];return function(e,t={}){let{volume:o=1,loop:n=!1}=t,{enabled:l}=a(),s=(0,r.useRef)(null),u=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{let t,r=((t=i.get(e))||((t=new Audio(`/sounds/${e}.wav`)).preload="auto",i.set(e,t)),t);return r.loop=n,r.volume=Math.max(0,Math.min(1,o)),r.addEventListener("ended",()=>{u.current=!1}),s.current=r,()=>{r.pause(),s.current=null,u.current=!1}},[e,n,o]),{play:(0,r.useCallback)(()=>{if(!l)return;let e=s.current;e&&(e.currentTime=0,e.play()?.catch(e=>{}),u.current=!0)},[l,e]),stop:(0,r.useCallback)(()=>{let e=s.current;e&&(e.pause(),e.currentTime=0,u.current=!1)},[]),isPlaying:u.current}}(t,{volume:o})}e.s(["useSoundAction",()=>s],8361);let u=!!t.default.env.NEXT_PUBLIC_DEBUG,c=()=>void 0;function d(e){return{info:u?(...t)=>console.info(e,...t):c,debug:u?(...t)=>console.debug(e,...t):c,warn:(...t)=>console.warn(e,...t),error:(...t)=>console.error(e,...t)}}e.s(["createLogger",()=>d],18354)},75921,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let o=(0,r.createContext)({skills:!1,envDeploy:!0,debug:!1});function n({children:e,flags:r}){return(0,t.jsx)(o.Provider,{value:r,children:e})}function a(){return(0,r.useContext)(o)}e.s(["FeatureFlagsProvider",()=>n,"useFeatureFlags",()=>a])},31406,(e,t,r)=>{t.exports=e.r(67013)},55016,e=>{"use strict";let t=(0,e.i(3645).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",()=>t],55016)},71326,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(22528),n=e.i(5978),a=e.i(567),i=e.i(91967),l=e.i(86874),s="AlertDialog",[u,c]=(0,o.createContextScope)(s,[a.createDialogScope]),d=(0,a.createDialogScope)(),p=e=>{let{__scopeAlertDialog:r,...o}=e,n=d(r);return(0,t.jsx)(a.Root,{...n,...o,modal:!0})};p.displayName=s;var f=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Trigger,{...i,...n,ref:r})});f.displayName="AlertDialogTrigger";var g=e=>{let{__scopeAlertDialog:r,...o}=e,n=d(r);return(0,t.jsx)(a.Portal,{...n,...o})};g.displayName="AlertDialogPortal";var m=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Overlay,{...i,...n,ref:r})});m.displayName="AlertDialogOverlay";var v="AlertDialogContent",[x,y]=u(v),h=(0,l.createSlottable)("AlertDialogContent"),C=r.forwardRef((e,o)=>{let{__scopeAlertDialog:l,children:s,...u}=e,c=d(l),p=r.useRef(null),f=(0,n.useComposedRefs)(o,p),g=r.useRef(null);return(0,t.jsx)(a.WarningProvider,{contentName:v,titleName:w,docsSlug:"alert-dialog",children:(0,t.jsx)(x,{scope:l,cancelRef:g,children:(0,t.jsxs)(a.Content,{role:"alertdialog",...c,...u,ref:f,onOpenAutoFocus:(0,i.composeEventHandlers)(u.onOpenAutoFocus,e=>{e.preventDefault(),g.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,t.jsx)(h,{children:s}),(0,t.jsx)(P,{contentRef:p})]})})})});C.displayName=v;var w="AlertDialogTitle",b=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Title,{...i,...n,ref:r})});b.displayName=w;var D="AlertDialogDescription",T=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Description,{...i,...n,ref:r})});T.displayName=D;var R=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Close,{...i,...n,ref:r})});R.displayName="AlertDialogAction";var j="AlertDialogCancel",A=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...i}=e,{cancelRef:l}=y(j,o),s=d(o),u=(0,n.useComposedRefs)(r,l);return(0,t.jsx)(a.Close,{...s,...i,ref:u})});A.displayName=j;var P=({contentRef:e})=>{let t=`\`${v}\` requires a description for the component to be accessible for screen reader users.
6
-
7
- You can add a description to the \`${v}\` by passing a \`${D}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
8
-
9
- Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${v}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
10
-
11
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return r.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null};e.s(["Action",()=>R,"AlertDialog",()=>p,"AlertDialogAction",()=>R,"AlertDialogCancel",()=>A,"AlertDialogContent",()=>C,"AlertDialogDescription",()=>T,"AlertDialogOverlay",()=>m,"AlertDialogPortal",()=>g,"AlertDialogTitle",()=>b,"AlertDialogTrigger",()=>f,"Cancel",()=>A,"Content",()=>C,"Description",()=>T,"Overlay",()=>m,"Portal",()=>g,"Root",()=>p,"Title",()=>b,"Trigger",()=>f,"createAlertDialogScope",()=>c],28883);var E=e.i(28883),E=E,N=e.i(31777),k=e.i(35364);function _({...e}){return(0,t.jsx)(E.Root,{"data-slot":"alert-dialog",...e})}function S({...e}){return(0,t.jsx)(E.Portal,{"data-slot":"alert-dialog-portal",...e})}function O({className:e,onClick:r,...o}){return(0,t.jsx)(E.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,N.cn)("fixed inset-0 z-50 bg-black/50",e),onClick:e=>{e.stopPropagation(),r?.(e)},...o})}function I({className:e,size:r="default",...o}){return(0,t.jsxs)(S,{children:[(0,t.jsx)(O,{}),(0,t.jsx)(E.Content,{"data-slot":"alert-dialog-content","data-size":r,className:(0,N.cn)("bg-background group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",e),...o})]})}function M({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,N.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...r})}function F({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,N.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...r})}function L({className:e,...r}){return(0,t.jsx)(E.Title,{"data-slot":"alert-dialog-title",className:(0,N.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...r})}function z({className:e,...r}){return(0,t.jsx)(E.Description,{"data-slot":"alert-dialog-description",className:(0,N.cn)("text-muted-foreground text-sm",e),...r})}function H({className:e,variant:r="default",size:o="default",...n}){return(0,t.jsx)(k.Button,{variant:r,size:o,asChild:!0,children:(0,t.jsx)(E.Action,{"data-slot":"alert-dialog-action",className:(0,N.cn)(e),...n})})}function U({className:e,variant:r="outline",size:o="default",...n}){return(0,t.jsx)(k.Button,{variant:r,size:o,asChild:!0,children:(0,t.jsx)(E.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,N.cn)(e),...n})})}e.s(["AlertDialog",()=>_,"AlertDialogAction",()=>H,"AlertDialogCancel",()=>U,"AlertDialogContent",()=>I,"AlertDialogDescription",()=>z,"AlertDialogFooter",()=>F,"AlertDialogHeader",()=>M,"AlertDialogTitle",()=>L],71326)},30153,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(71326);let n=(0,r.createContext)(null);function a({children:e}){let a=(0,r.useRef)(null),i=(0,r.useRef)(null),[l,s]=(0,r.useState)(!1),u=(0,r.useCallback)(e=>{a.current=e},[]),c=(0,r.useCallback)(e=>{if(a.current?.isDirty){i.current=e,s(!0);return}e()},[]),d=(0,r.useCallback)(()=>{s(!1),a.current?.onReset(),a.current=null,i.current?.(),i.current=null},[]),p=(0,r.useCallback)(()=>{s(!1),i.current=null},[]),f=(0,r.useCallback)(()=>a.current?.isDirty??!1,[]);return(0,t.jsxs)(n,{value:{setGuard:u,guardedNavigate:c,getIsDirty:f},children:[e,(0,t.jsx)(o.AlertDialog,{open:l,children:(0,t.jsxs)(o.AlertDialogContent,{children:[(0,t.jsxs)(o.AlertDialogHeader,{children:[(0,t.jsx)(o.AlertDialogTitle,{children:"Discard unsaved changes?"}),(0,t.jsx)(o.AlertDialogDescription,{children:"You have unsaved changes. Are you sure you want to discard them?"})]}),(0,t.jsxs)(o.AlertDialogFooter,{children:[(0,t.jsx)(o.AlertDialogAction,{variant:"destructive",onClick:d,children:"Discard"}),(0,t.jsx)(o.AlertDialogCancel,{onClick:p,children:"Keep editing"})]})]})})]})}function i(){let e=(0,r.useContext)(n);if(!e)throw Error("useDrawerCloseGuard must be used within DrawerCloseGuardProvider");return e}function l({open:e,isDirty:t,onClose:o,onReset:n}){let{setGuard:a,guardedNavigate:l}=i();return(0,r.useEffect)(()=>(e?a({isDirty:t,onReset:n}):a(null),()=>a(null)),[e,t,n,a]),{attemptClose:(0,r.useCallback)(()=>{l(()=>{n(),o()})},[l,o,n])}}e.s(["DrawerCloseGuardProvider",()=>a,"useDrawerCloseGuard",()=>i,"useGuardedDrawerClose",()=>l])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},30702,e=>{"use strict";let t=(0,e.i(3645).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",()=>t],30702)},81846,e=>{"use strict";var t=e.i(20314),r=e.i(94237),s=e.i(31777);let i=(0,r.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"}});function l({className:e,variant:r,...l}){return(0,t.jsx)("div",{className:(0,s.cn)(i({variant:r}),e),...l})}e.s(["Badge",()=>l])},1650,e=>{"use strict";e.i(11495),e.s([])},19933,e=>{"use strict";let t=(0,e.i(3645).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",()=>t],19933)},8986,93050,66610,86153,e=>{"use strict";let t=(0,e.i(3645).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",()=>t],8986);var r=e.i(21023);let s=(0,r.createServerReference)("40c60863ff34a00053d3dd8bc43882092f4d8228fd",r.callServer,void 0,r.findSourceMapURL,"openIde");e.s(["openIde",()=>s],93050);let i=(0,r.createServerReference)("407d786102ecfd72db1c50ac67ec56ea4cc1d86f08",r.callServer,void 0,r.findSourceMapURL,"openShell");e.s(["openShell",()=>i],66610);let l=(0,r.createServerReference)("40b781414b2142bd0f16672fa73ddb5b5035aad3be",r.callServer,void 0,r.findSourceMapURL,"openFolder");e.s(["openFolder",()=>l],86153)},51080,e=>{"use strict";var t=e.i(79054),r=e.i(91967),s=e.i(87342),i=e.i(5978),l=e.i(22528),n=e.i(13123),o=e.i(87620),a=e.i(29297),u=e.i(36589),c=e.i(66033),d=e.i(20314),f="rovingFocusGroup.onEntryFocus",h={bubbles:!1,cancelable:!0},p="RovingFocusGroup",[y,v,m]=(0,s.createCollection)(p),[x,k]=(0,l.createContextScope)(p,[m]),[g,b]=x(p),R=t.forwardRef((e,t)=>(0,d.jsx)(y.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(y.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(w,{...e,ref:t})})}));R.displayName=p;var w=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:l,orientation:n,loop:y=!1,dir:m,currentTabStopId:x,defaultCurrentTabStopId:k,onCurrentTabStopIdChange:b,onEntryFocus:R,preventScrollOnEntryFocus:w=!1,...S}=e,A=t.useRef(null),M=(0,i.useComposedRefs)(s,A),I=(0,c.useDirection)(m),[z,F]=(0,u.useControllableState)({prop:x,defaultProp:k??null,onChange:b,caller:p}),[T,j]=t.useState(!1),E=(0,a.useCallbackRef)(R),P=v(l),L=t.useRef(!1),[D,O]=t.useState(0);return t.useEffect(()=>{let e=A.current;if(e)return e.addEventListener(f,E),()=>e.removeEventListener(f,E)},[E]),(0,d.jsx)(g,{scope:l,orientation:n,dir:I,loop:y,currentTabStopId:z,onItemFocus:t.useCallback(e=>F(e),[F]),onItemShiftTab:t.useCallback(()=>j(!0),[]),onFocusableItemAdd:t.useCallback(()=>O(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>O(e=>e-1),[]),children:(0,d.jsx)(o.Primitive.div,{tabIndex:T||0===D?-1:0,"data-orientation":n,...S,ref:M,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{L.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!L.current;if(e.target===e.currentTarget&&t&&!T){let t=new CustomEvent(f,h);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=P().filter(e=>e.focusable);C([e.find(e=>e.active),e.find(e=>e.id===z),...e].filter(Boolean).map(e=>e.ref.current),w)}}L.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>j(!1))})})}),S="RovingFocusGroupItem",A=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:i,focusable:l=!0,active:a=!1,tabStopId:u,children:c,...f}=e,h=(0,n.useId)(),p=u||h,m=b(S,i),x=m.currentTabStopId===p,k=v(i),{onFocusableItemAdd:g,onFocusableItemRemove:R,currentTabStopId:w}=m;return t.useEffect(()=>{if(l)return g(),()=>R()},[l,g,R]),(0,d.jsx)(y.ItemSlot,{scope:i,id:p,focusable:l,active:a,children:(0,d.jsx)(o.Primitive.span,{tabIndex:x?0:-1,"data-orientation":m.orientation,...f,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l?m.onItemFocus(p):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>m.onItemFocus(p)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void m.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var s;let i=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return M[i]}(e,m.orientation,m.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=k().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&i.reverse();let l=i.indexOf(e.currentTarget);i=m.loop?(r=i,s=l+1,r.map((e,t)=>r[(s+t)%r.length])):i.slice(l+1)}setTimeout(()=>C(i))}}),children:"function"==typeof c?c({isCurrentTabStop:x,hasTabStop:null!=w}):c})})});A.displayName=S;var M={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function C(e,t=!1){let r=document.activeElement;for(let s of e)if(s===r||(s.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>A,"Root",()=>R,"createRovingFocusGroupScope",()=>k])},33548,e=>{"use strict";let t=(0,e.i(3645).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],33548)},95812,35e3,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812);var r=e.i(80986);e.s(["CheckCircle2",()=>r.default],35e3)},10714,e=>{"use strict";let t=(0,e.i(3645).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>t])},41957,11345,e=>{"use strict";var t=e.i(20314),r=e.i(79054),s=e.i(87620),i=r.forwardRef((e,r)=>(0,t.jsx)(s.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));i.displayName="Label",e.s(["Label",()=>i,"Root",()=>i],27572);var l=e.i(27572),l=l,n=e.i(94237),o=e.i(31777);let a=(0,n.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),u=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(l.Root,{ref:s,className:(0,o.cn)(a(),e),...r}));u.displayName=l.Root.displayName,e.s(["Label",()=>u],41957);let c=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>c],11345)},99105,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],99105)},23405,e=>{"use strict";var t=e.i(79054);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},23925,1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],1012),e.s(["Check",()=>t],23925)},87342,e=>{"use strict";var t=e.i(79054),r=e.i(22528),s=e.i(5978),i=e.i(86874),l=e.i(20314);function n(e){let n=e+"CollectionProvider",[o,a]=(0,r.createContextScope)(n),[u,c]=o(n,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:s}=e,i=t.default.useRef(null),n=t.default.useRef(new Map).current;return(0,l.jsx)(u,{scope:r,itemMap:n,collectionRef:i,children:s})};d.displayName=n;let f=e+"CollectionSlot",h=(0,i.createSlot)(f),p=t.default.forwardRef((e,t)=>{let{scope:r,children:i}=e,n=c(f,r),o=(0,s.useComposedRefs)(t,n.collectionRef);return(0,l.jsx)(h,{ref:o,children:i})});p.displayName=f;let y=e+"CollectionItemSlot",v="data-radix-collection-item",m=(0,i.createSlot)(y),x=t.default.forwardRef((e,r)=>{let{scope:i,children:n,...o}=e,a=t.default.useRef(null),u=(0,s.useComposedRefs)(r,a),d=c(y,i);return t.default.useEffect(()=>(d.itemMap.set(a,{ref:a,...o}),()=>void d.itemMap.delete(a))),(0,l.jsx)(m,{...{[v]:""},ref:u,children:n})});return x.displayName=y,[{Provider:d,Slot:p,ItemSlot:x},function(r){let s=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=s.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},a]}var o=new WeakMap;function a(e,t){var r,s;let i,l,n;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let o=(r=e,s=t,i=r.length,(n=(l=u(s))>=0?l:i+l)<0||n>=i?-1:n);return -1===o?void 0:e[o]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],o.set(this,!0)}set(e,t){return o.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,i=this.has(t),l=this.#e.length,n=u(e),o=n>=0?n:l+n,a=o<0||o>=l?-1:o;if(a===this.size||i&&a===this.size-1||-1===a)return this.set(t,r),this;let c=this.size+ +!i;n<0&&o++;let d=[...this.#e],f=!1;for(let e=o;e<c;e++)if(o===e){let l=d[e];d[e]===t&&(l=d[e+1]),i&&this.delete(t),s=this.get(l),this.set(t,r)}else{f||d[e-1]!==t||(f=!0);let r=d[f?e:e-1],i=s;s=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,s){let i=new e(this);return i.insert(t,r,s),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=a(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=a(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return a(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&s.push(e),i++;return new e(s)}map(t,r){let s=[],i=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(s)}reduce(...e){let[t,r]=e,s=0,i=r??this.at(0);for(let r of this)i=0===s&&1===e.length?r:Reflect.apply(t,this,[i,r,s,this]),s++;return i}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);s=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[s,i,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,i=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>n])},32494,e=>{"use strict";let t=(0,e.i(3645).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>t],32494)},16298,e=>{"use strict";let t=(0,e.i(3645).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["default",()=>t])},53360,e=>{"use strict";let t=(0,e.i(3645).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>t],53360)},97667,e=>{"use strict";var t=e.i(1012);e.s(["CheckIcon",()=>t.default])},58248,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("403c62f216fc449bc200fdfac91ff10696a0054fa6",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>r])},54793,7729,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function s({icon:e,title:s,description:i,action:l,className:n,...o}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...o,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),i?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:i}):null,l?(0,t.jsx)("div",{className:"mt-2",children:l}):null]})}e.s(["EmptyState",()=>s],7729),e.s([],54793)},28940,63457,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("0086d2635308adbfc937a17aaf6a30d83155a27a6e",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],28940);let s=(0,t.createServerReference)("606531d4461efcd1519b8920d5c29b45f3a0726d23",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>s],63457)},26370,e=>{"use strict";let t=(0,e.i(3645).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",()=>t],26370)},76852,e=>{"use strict";var t=e.i(79054),r=e.i(93050),s=e.i(66610),i=e.i(86153);function l(e){let[l,n]=(0,t.useState)(!1),[o,a]=(0,t.useState)(!1),[u,c]=(0,t.useState)(!1),[d,f]=(0,t.useState)(null),[h,p]=(0,t.useState)(null),[y,v]=(0,t.useState)(null),m=(0,t.useRef)(null),x=(0,t.useRef)(null),k=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{m.current&&clearTimeout(m.current),x.current&&clearTimeout(x.current),k.current&&clearTimeout(k.current)},[]);let g=(0,t.useCallback)(async(t,r,s,i,l)=>{if(e&&!l){i.current&&clearTimeout(i.current),r(!0),s(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";s(t),i.current=setTimeout(()=>s(null),5e3)}}catch(e){s(e instanceof Error?e.message:"An unexpected error occurred"),i.current=setTimeout(()=>s(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>g(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),n,f,m,l),[g,l,e]),openInShell:(0,t.useCallback)(()=>g(()=>(0,s.openShell)({repositoryPath:e.repositoryPath}),a,p,x,o),[g,o,e]),openFolder:(0,t.useCallback)(()=>g(()=>(0,i.openFolder)(e.repositoryPath),c,v,k,u),[g,u,e]),ideLoading:l,shellLoading:o,folderLoading:u,ideError:d,shellError:h,folderError:y}}e.s(["useRepositoryActions",()=>l])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38573,e=>{"use strict";let s=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>s],38573)},30702,e=>{"use strict";let s=(0,e.i(3645).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",()=>s],30702)},81846,e=>{"use strict";var s=e.i(20314),t=e.i(94237),l=e.i(31777);let a=(0,t.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"}});function r({className:e,variant:t,...r}){return(0,s.jsx)("div",{className:(0,l.cn)(a({variant:t}),e),...r})}e.s(["Badge",()=>r])},1650,e=>{"use strict";e.i(11495),e.s([])},19933,e=>{"use strict";let s=(0,e.i(3645).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",()=>s],19933)},54793,7729,e=>{"use strict";var s=e.i(20314),t=e.i(31777);function l({icon:e,title:l,description:a,action:r,className:n,...i}){return(0,s.jsxs)("div",{className:(0,t.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...i,children:[e?(0,s.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,s.jsx)("h3",{className:"text-lg font-semibold",children:l}),a?(0,s.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,r?(0,s.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>l],7729),e.s([],54793)},956,e=>{"use strict";var s=e.i(20314),t=e.i(79054),l=e.i(31777);let a=t.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,l.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...t}));a.displayName="Card";let r=t.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",e),...t}));r.displayName="CardHeader";let n=t.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,l.cn)("leading-none font-semibold tracking-tight",e),...t}));n.displayName="CardTitle";let i=t.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,l.cn)("text-muted-foreground text-sm",e),...t}));i.displayName="CardDescription";let o=t.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,l.cn)("p-6 pt-0",e),...t}));o.displayName="CardContent",t.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{ref:a,className:(0,l.cn)("flex items-center p-6 pt-0",e),...t})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>o,"CardDescription",()=>i,"CardHeader",()=>r,"CardTitle",()=>n])},9443,85871,e=>{"use strict";var s=e.i(20314),t=e.i(31777);function l({title:e,description:l,children:a,className:r}){return(0,s.jsxs)("header",{className:(0,t.cn)("flex items-center justify-between gap-4",r),children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),l?(0,s.jsx)("p",{className:"text-muted-foreground",children:l}):null]}),a?(0,s.jsx)("div",{"data-slot":"actions",children:a}):null]})}e.s(["PageHeader",()=>l],85871),e.s([],9443)},38752,e=>{"use strict";var s=e.i(20314);e.i(1650);var t=e.i(11495),l=e.i(45811),a=e.i(81846),r=e.i(25235),n=e.i(19933);function i({skill:e,onClose:i}){return(0,s.jsx)(t.BaseDrawer,{open:null!==e,onClose:i,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.DrawerTitle,{children:e.displayName}),(0,s.jsx)(l.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,s.jsxs)("div",{className:"px-4 pb-4",children:[(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(a.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,s.jsx)(a.Badge,{variant:"outline",children:e.category}),e.context?(0,s.jsx)(a.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,s.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,s.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,s.jsx)(n.FolderOpen,{className:"size-3.5 shrink-0"}),(0,s.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>i])},16919,e=>{"use strict";var s=e.i(20314),t=e.i(79054);let l=(0,e.i(3645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var a=e.i(12103),r=e.i(98127),n=e.i(35364);e.i(9443);var i=e.i(85871);e.i(54793);var o=e.i(7729),d=e.i(956),c=e.i(81846),u=e.i(19933);function x({skill:e,onSelect:t}){return(0,s.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>t(e),onKeyDown:s=>{("Enter"===s.key||" "===s.key)&&(s.preventDefault(),t(e))},"data-testid":`skill-card-${e.name}`,children:[(0,s.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,s.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,s.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,s.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,s.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,s.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,s.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,s.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,s.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let m=["Workflow","Code Generation","Analysis","Reference"];function f({skills:e,onSkillSelect:t}){let l=function(e){let s=new Map;for(let t of e){let e=s.get(t.category)??[];e.push(t),s.set(t.category,e)}return s}(e);return(0,s.jsx)("div",{className:"space-y-8",children:m.map(e=>{let a=l.get(e);return a&&0!==a.length?(0,s.jsxs)("section",{children:[(0,s.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,s.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",a.length,")"]})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:a.map(e=>(0,s.jsx)(x,{skill:e,onSelect:t},e.name))})]},e):null})})}let p=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function h({activeCategory:e,onCategoryChange:t,counts:l}){return(0,s.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:p.map(({label:a,value:r})=>(0,s.jsxs)(n.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>t(r),children:[a,l&&r?(0,s.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",l[r],")"]}):null]},a))})}var g=e.i(38752);function j({skills:e}){let[d,c]=(0,t.useState)(""),[u,x]=(0,t.useState)(null),[m,p]=(0,t.useState)(null),j=(0,t.useMemo)(()=>(function(e){let s={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let t of e)s[t.category]++;return s})(e),[e]),v=(0,t.useMemo)(()=>{let s=d.toLowerCase();return e.filter(e=>{if(u&&e.category!==u)return!1;if(s){let t=e.name.toLowerCase().includes(s),l=e.description.toLowerCase().includes(s);if(!t&&!l)return!1}return!0})},[e,d,u]);return 0===e.length?(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,s.jsx)(o.EmptyState,{icon:(0,s.jsx)(a.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(l,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,s.jsx)(r.Input,{placeholder:"Search skills...",value:d,onChange:e=>c(e.target.value),className:"pl-9"})]}),(0,s.jsx)(h,{activeCategory:u,onCategoryChange:x,counts:j}),v.length>0?(0,s.jsx)(f,{skills:v,onSkillSelect:p}):(0,s.jsx)(o.EmptyState,{icon:(0,s.jsx)(l,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,s.jsx)(n.Button,{variant:"outline",onClick:()=>{c(""),x(null)},children:"Clear filters"})}),(0,s.jsx)(g.SkillDetailDrawer,{skill:m,onClose:()=>p(null)})]})}e.s(["SkillsPageClient",()=>j],16919)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95812,35e3,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812);var s=e.i(80986);e.s(["CheckCircle2",()=>s.default],35e3)},33548,e=>{"use strict";let t=(0,e.i(3645).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],33548)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},30702,e=>{"use strict";let t=(0,e.i(3645).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",()=>t],30702)},81846,e=>{"use strict";var t=e.i(20314),s=e.i(94237),r=e.i(31777);let a=(0,s.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"}});function i({className:e,variant:s,...i}){return(0,t.jsx)("div",{className:(0,r.cn)(a({variant:s}),e),...i})}e.s(["Badge",()=>i])},51080,e=>{"use strict";var t=e.i(79054),s=e.i(91967),r=e.i(87342),a=e.i(5978),i=e.i(22528),l=e.i(13123),n=e.i(87620),o=e.i(29297),c=e.i(36589),d=e.i(66033),u=e.i(20314),m="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[x,p,g]=(0,r.createCollection)(h),[v,b]=(0,i.createContextScope)(h,[g]),[y,j]=v(h),k=t.forwardRef((e,t)=>(0,u.jsx)(x.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(x.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(w,{...e,ref:t})})}));k.displayName=h;var w=t.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:i,orientation:l,loop:x=!1,dir:g,currentTabStopId:v,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:j,onEntryFocus:k,preventScrollOnEntryFocus:w=!1,...N}=e,C=t.useRef(null),T=(0,a.useComposedRefs)(r,C),S=(0,d.useDirection)(g),[I,A]=(0,c.useControllableState)({prop:v,defaultProp:b??null,onChange:j,caller:h}),[z,E]=t.useState(!1),M=(0,o.useCallbackRef)(k),D=p(i),L=t.useRef(!1),[F,P]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(m,M),()=>e.removeEventListener(m,M)},[M]),(0,u.jsx)(y,{scope:i,orientation:l,dir:S,loop:x,currentTabStopId:I,onItemFocus:t.useCallback(e=>A(e),[A]),onItemShiftTab:t.useCallback(()=>E(!0),[]),onFocusableItemAdd:t.useCallback(()=>P(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>P(e=>e-1),[]),children:(0,u.jsx)(n.Primitive.div,{tabIndex:z||0===F?-1:0,"data-orientation":l,...N,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,()=>{L.current=!0}),onFocus:(0,s.composeEventHandlers)(e.onFocus,e=>{let t=!L.current;if(e.target===e.currentTarget&&t&&!z){let t=new CustomEvent(m,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=D().filter(e=>e.focusable);R([e.find(e=>e.active),e.find(e=>e.id===I),...e].filter(Boolean).map(e=>e.ref.current),w)}}L.current=!1}),onBlur:(0,s.composeEventHandlers)(e.onBlur,()=>E(!1))})})}),N="RovingFocusGroupItem",C=t.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:a,focusable:i=!0,active:o=!1,tabStopId:c,children:d,...m}=e,f=(0,l.useId)(),h=c||f,g=j(N,a),v=g.currentTabStopId===h,b=p(a),{onFocusableItemAdd:y,onFocusableItemRemove:k,currentTabStopId:w}=g;return t.useEffect(()=>{if(i)return y(),()=>k()},[i,y,k]),(0,u.jsx)(x.ItemSlot,{scope:a,id:h,focusable:i,active:o,children:(0,u.jsx)(n.Primitive.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...m,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{i?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,s){var r;let a=(r=e.key,"rtl"!==s?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return T[a]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var s,r;"prev"===t&&a.reverse();let i=a.indexOf(e.currentTarget);a=g.loop?(s=a,r=i+1,s.map((e,t)=>s[(r+t)%s.length])):a.slice(i+1)}setTimeout(()=>R(a))}}),children:"function"==typeof d?d({isCurrentTabStop:v,hasTabStop:null!=w}):d})})});C.displayName=N;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function R(e,t=!1){let s=document.activeElement;for(let r of e)if(r===s||(r.focus({preventScroll:t}),document.activeElement!==s))return}e.s(["Item",()=>C,"Root",()=>k,"createRovingFocusGroupScope",()=>b])},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},23925,1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],1012),e.s(["Check",()=>t],23925)},87342,e=>{"use strict";var t=e.i(79054),s=e.i(22528),r=e.i(5978),a=e.i(86874),i=e.i(20314);function l(e){let l=e+"CollectionProvider",[n,o]=(0,s.createContextScope)(l),[c,d]=n(l,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:s,children:r}=e,a=t.default.useRef(null),l=t.default.useRef(new Map).current;return(0,i.jsx)(c,{scope:s,itemMap:l,collectionRef:a,children:r})};u.displayName=l;let m=e+"CollectionSlot",f=(0,a.createSlot)(m),h=t.default.forwardRef((e,t)=>{let{scope:s,children:a}=e,l=d(m,s),n=(0,r.useComposedRefs)(t,l.collectionRef);return(0,i.jsx)(f,{ref:n,children:a})});h.displayName=m;let x=e+"CollectionItemSlot",p="data-radix-collection-item",g=(0,a.createSlot)(x),v=t.default.forwardRef((e,s)=>{let{scope:a,children:l,...n}=e,o=t.default.useRef(null),c=(0,r.useComposedRefs)(s,o),u=d(x,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...n}),()=>void u.itemMap.delete(o))),(0,i.jsx)(g,{...{[p]:""},ref:c,children:l})});return v.displayName=x,[{Provider:u,Slot:h,ItemSlot:v},function(s){let r=d(e+"CollectionConsumer",s);return t.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(r.itemMap.values()).sort((e,s)=>t.indexOf(e.ref.current)-t.indexOf(s.ref.current))},[r.collectionRef,r.itemMap])},o]}var n=new WeakMap;function o(e,t){var s,r;let a,i,l;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(s=e,r=t,a=s.length,(l=(i=c(r))>=0?i:a+i)<0||l>=a?-1:l);return -1===n?void 0:e[n]}function c(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],n.set(this,!0)}set(e,t){return n.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,s){let r,a=this.has(t),i=this.#e.length,l=c(e),n=l>=0?l:i+l,o=n<0||n>=i?-1:n;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,s),this;let d=this.size+ +!a;l<0&&n++;let u=[...this.#e],m=!1;for(let e=n;e<d;e++)if(n===e){let i=u[e];u[e]===t&&(i=u[e+1]),a&&this.delete(t),r=this.get(i),this.set(t,s)}else{m||u[e-1]!==t||(m=!0);let s=u[m?e:e-1],a=r;r=this.get(s),this.delete(s),this.set(s,a)}return this}with(t,s,r){let a=new e(this);return a.insert(t,s,r),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,s){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,s)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,s){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,s)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let s=this.indexOf(e);if(-1===s)return;let r=s+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let s=this.indexOf(e);if(-1===s)return;let r=s+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return r;s++}}findIndex(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return s;s++}return -1}filter(t,s){let r=[],a=0;for(let e of this)Reflect.apply(t,s,[e,a,this])&&r.push(e),a++;return new e(r)}map(t,s){let r=[],a=0;for(let e of this)r.push([e[0],Reflect.apply(t,s,[e,a,this])]),a++;return new e(r)}reduce(...e){let[t,s]=e,r=0,a=s??this.at(0);for(let s of this)a=0===r&&1===e.length?s:Reflect.apply(t,this,[a,s,r,this]),r++;return a}reduceRight(...e){let[t,s]=e,r=s??this.at(-1);for(let s=this.size-1;s>=0;s--){let a=this.at(s);r=s===this.size-1&&1===e.length?a:Reflect.apply(t,this,[r,a,s,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let s=this.keyAt(e),r=this.get(s);t.set(s,r)}return t}toSpliced(...t){let s=[...this.entries()];return s.splice(...t),new e(s)}slice(t,s){let r=new e,a=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==s&&s>0&&(a=s-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),s=this.get(t);r.set(t,s)}return r}every(e,t){let s=0;for(let r of this){if(!Reflect.apply(e,t,[r,s,this]))return!1;s++}return!0}some(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return!0;s++}return!1}}),e.s(["createCollection",()=>l])},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},95230,e=>{"use strict";let t=(0,e.i(3645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},68304,e=>{"use strict";var t=e.i(20314),s=e.i(79054),r=e.i(91967),a=e.i(22528),i=e.i(51080),l=e.i(85995),n=e.i(87620),o=e.i(66033),c=e.i(36589),d=e.i(13123),u="Tabs",[m,f]=(0,a.createContextScope)(u,[i.createRovingFocusGroupScope]),h=(0,i.createRovingFocusGroupScope)(),[x,p]=m(u),g=s.forwardRef((e,s)=>{let{__scopeTabs:r,value:a,onValueChange:i,defaultValue:l,orientation:m="horizontal",dir:f,activationMode:h="automatic",...p}=e,g=(0,o.useDirection)(f),[v,b]=(0,c.useControllableState)({prop:a,onChange:i,defaultProp:l??"",caller:u});return(0,t.jsx)(x,{scope:r,baseId:(0,d.useId)(),value:v,onValueChange:b,orientation:m,dir:g,activationMode:h,children:(0,t.jsx)(n.Primitive.div,{dir:g,"data-orientation":m,...p,ref:s})})});g.displayName=u;var v="TabsList",b=s.forwardRef((e,s)=>{let{__scopeTabs:r,loop:a=!0,...l}=e,o=p(v,r),c=h(r);return(0,t.jsx)(i.Root,{asChild:!0,...c,orientation:o.orientation,dir:o.dir,loop:a,children:(0,t.jsx)(n.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...l,ref:s})})});b.displayName=v;var y="TabsTrigger",j=s.forwardRef((e,s)=>{let{__scopeTabs:a,value:l,disabled:o=!1,...c}=e,d=p(y,a),u=h(a),m=N(d.baseId,l),f=C(d.baseId,l),x=l===d.value;return(0,t.jsx)(i.Item,{asChild:!0,...u,focusable:!o,active:x,children:(0,t.jsx)(n.Primitive.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":f,"data-state":x?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:m,...c,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(l)}),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(l)}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==d.activationMode;x||o||!e||d.onValueChange(l)})})})});j.displayName=y;var k="TabsContent",w=s.forwardRef((e,r)=>{let{__scopeTabs:a,value:i,forceMount:o,children:c,...d}=e,u=p(k,a),m=N(u.baseId,i),f=C(u.baseId,i),h=i===u.value,x=s.useRef(h);return s.useEffect(()=>{let e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(l.Presence,{present:o||h,children:({present:s})=>(0,t.jsx)(n.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!s,id:f,tabIndex:0,...d,ref:r,style:{...e.style,animationDuration:x.current?"0s":void 0},children:s&&c})})});function N(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}w.displayName=k,e.s(["Content",()=>w,"List",()=>b,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>w,"TabsList",()=>b,"TabsTrigger",()=>j,"Trigger",()=>j,"createTabsScope",()=>f],43133);var T=e.i(43133),T=T,R=e.i(31777);let S=T.Root,I=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(T.List,{ref:r,className:(0,R.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...s}));I.displayName=T.List.displayName;let A=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(T.Trigger,{ref:r,className:(0,R.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...s}));A.displayName=T.Trigger.displayName;let z=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(T.Content,{ref:r,className:(0,R.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...s}));z.displayName=T.Content.displayName,e.s(["Tabs",()=>S,"TabsContent",()=>z,"TabsList",()=>I,"TabsTrigger",()=>A],68304)},83902,e=>{"use strict";let t=(0,e.i(3645).default)("rocket",[["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-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);e.s(["Rocket",()=>t],83902)},44412,e=>{"use strict";var t=e.i(20314),s=e.i(79054),r=e.i(81975),a=e.i(68304),i=e.i(31777),l=e.i(83428),n=e.i(83902),o=e.i(81181),c=e.i(3645);let d=(0,c.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 u=e.i(38573),m=e.i(49228),f=e.i(54277),h=e.i(95812),x=e.i(35e3);let p=(0,c.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"}]]);var g=e.i(35364),v=e.i(2828),b=e.i(33548),y=e.i(23925),j=e.i(30702),k=e.i(11495);let w={linux:"Linux",darwin:"macOS",win32:"Windows"},N={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:u.Terminal},vcs:{label:"VCS",icon:m.GitBranch},terminal:{label:"Terminal",icon:u.Terminal}};function C({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)(y.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 T({tool:e,open:r,onClose:a,onRefresh:i,autoStart:c}){let[u,m]=(0,s.useState)(!1),[f,h]=(0,s.useState)(!1),{logs:x,status:v,startInstall:T}=function(e){let[t,r]=(0,s.useState)([]),[a,i]=(0,s.useState)("idle"),[l,n]=(0,s.useState)(null),o=(0,s.useRef)(null),c=(0,s.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,s.useEffect)(()=>c,[c]),{logs:t,status:a,result:l,startInstall:(0,s.useCallback)(()=>{c(),r([]),n(null),i("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{r(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);n(t),i("error"===t.status?"error":"done"),c()}),t.onerror=()=>{i("error"),c()}},[e,c])}}(e.id),R=(0,s.useRef)(null),S=(0,s.useRef)(!0),I=(0,s.useRef)(!1),A="available"===e.status.status,z="error"===e.status.status,E=A&&!!e.openDirectory,M=!A&&!z&&e.autoInstall;async function D(){h(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{h(!1)}}(0,s.useEffect)(()=>{r&&c&&M&&"idle"===v&&!I.current&&(I.current=!0,T()),r||(I.current=!1)},[r,c,M,v,T]);let L=(0,s.useCallback)(()=>{let e=R.current;e&&(S.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,s.useEffect)(()=>{S.current&&R.current&&(R.current.scrollTop=R.current.scrollHeight)},[x,v]),(0,s.useEffect)(()=>{"done"===v&&i&&i()},[v,i]);let F=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pr-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 dark:invert"}):(0,t.jsx)(p,{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)(C,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let s=N[e]??{label:e,icon:d},r=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(r,{className:"h-3 w-3"}),s.label]},e)})})]});return(0,t.jsx)(k.BaseDrawer,{open:r,onClose:a,size:"md",modal:!0,title:e.name,header:F,"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=>w[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 pr-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(g.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":u?"Copied!":"Copy install command",children:[u?(0,t.jsx)(y.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:"ml-1 text-[10px]",children:u?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[M?(0,t.jsxs)(g.Button,{size:"sm",onClick:T,disabled:"streaming"===v,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===v?(0,t.jsx)(l.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(o.Download,{className:"mr-1.5 h-3.5 w-3.5"}),"streaming"===v?"Installing...":"Install"]}):null,E?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:()=>void D(),disabled:f,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[f?(0,t.jsx)(l.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(n.Rocket,{className:"mr-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(g.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)(j.ExternalLink,{className:"ml-1 h-3 w-3"})]})}):null]}),("streaming"===v||"done"===v||"error"===v)&&x.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:R,onScroll:L,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:[x.map((e,s)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},s)),"done"===v?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===v?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let R={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:u.Terminal},vcs:{label:"VCS",icon:m.GitBranch},terminal:{label:"Terminal",icon:u.Terminal}};function S({tool:e,onRefresh:r,className:a}){let[c,u]=(0,s.useState)(!1),[m,b]=(0,s.useState)(!1),[y,j]=(0,s.useTransition)(),k="available"===e.status.status,w="error"===e.status.status,N=k&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){b(!1),u(!0)},className:(0,i.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",a),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:20,height:20,className:"shrink-0 dark:invert"}):(0,t.jsx)(p,{className:"text-muted-foreground h-5 w-5 shrink-0"}),(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"truncate text-sm font-bold",children:e.name})]}),(0,t.jsx)("div",{"data-testid":"tool-card-tags",className:"flex shrink-0 items-center gap-1",children:e.tags.map(e=>{let s=R[e]??{label:e,icon:d},r=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(r,{className:"h-2.5 w-2.5"}),s.label]},e)})})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground mt-1 truncate text-xs",children:e.summary}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[w&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 truncate text-[10px] text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(f.CircleX,{className:"h-3 w-3 shrink-0"}),e.status.errorMessage??"Error"]}):k?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(x.CheckCircle2,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px]",children:[(0,t.jsx)(h.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(v.TooltipProvider,{children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"rounded bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-700 dark:bg-amber-900/50 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(v.TooltipContent,{side:"top",children:"This tool is required for Shep to function properly"})]})}):null]}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:k&&N?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),j(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:y,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[y?(0,t.jsx)(l.Loader2,{className:"mr-1 h-3 w-3 animate-spin"}):(0,t.jsx)(n.Rocket,{className:"mr-1 h-3 w-3"}),"Launch"]}):k||w?null:(0,t.jsxs)(g.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),b(e.autoInstall),u(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[(0,t.jsx)(o.Download,{className:"mr-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(T,{tool:e,open:c,onClose:()=>u(!1),onRefresh:r,autoStart:m})]})}let I={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")};function A({tools:e,className:l}){let[n,o]=(0,s.useState)(e),[c,d]=(0,s.useState)("all"),u=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();o(t)}}catch{}},[]),m=n.filter(I[c]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,i.cn)("space-y-4",l),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Wrench,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[n.filter(e=>"available"===e.status.status).length,"/",n.length," installed"]})]}),(0,t.jsxs)(a.Tabs,{value:c,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(a.TabsList,{className:"h-7",children:[(0,t.jsx)(a.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(a.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(a.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(a.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(a.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(a.TabsContent,{value:c,className:"mt-3",children:0===m.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(r.Wrench,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:m.map(e=>(0,t.jsx)(S,{tool:e,onRefresh:u},e.id))})})]})]})}e.s(["ToolsPageClient",()=>A],44412)}]);