@shepai/cli 1.202.1-pr606.60460ac → 1.202.2

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 (372) hide show
  1. package/package.json +1 -1
  2. package/web/.next/BUILD_ID +1 -1
  3. package/web/.next/build-manifest.json +2 -2
  4. package/web/.next/fallback-build-manifest.json +2 -2
  5. package/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/required-server-files.js +2 -2
  7. package/web/.next/required-server-files.json +2 -2
  8. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +4 -4
  9. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +37 -37
  10. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  11. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  12. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +4 -4
  13. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +35 -35
  14. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  15. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  16. package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +4 -4
  17. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +38 -38
  18. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +4 -4
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
  22. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  24. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  25. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +47 -47
  26. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +4 -4
  29. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
  30. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +4 -4
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
  34. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  36. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +4 -4
  37. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +35 -35
  38. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/control-center/page/react-loadable-manifest.json +4 -4
  41. package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +35 -35
  42. package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +4 -4
  45. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +38 -38
  46. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  47. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +4 -4
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
  50. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  53. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +47 -47
  54. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  55. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  56. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +4 -4
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
  58. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +4 -4
  61. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
  62. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/_global-error.html +2 -2
  65. package/web/.next/server/app/_global-error.rsc +1 -1
  66. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  67. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  69. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  70. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +4 -4
  72. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +9 -9
  73. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/agent-questions/page/react-loadable-manifest.json +4 -4
  75. package/web/.next/server/app/agent-questions/page/server-reference-manifest.json +11 -11
  76. package/web/.next/server/app/agent-questions/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/agents/[agentType]/page/react-loadable-manifest.json +4 -4
  78. package/web/.next/server/app/agents/[agentType]/page/server-reference-manifest.json +13 -13
  79. package/web/.next/server/app/agents/[agentType]/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/app/agents/page/react-loadable-manifest.json +4 -4
  81. package/web/.next/server/app/agents/page/server-reference-manifest.json +10 -10
  82. package/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  83. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +4 -4
  84. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +18 -18
  85. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  86. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/application/[id]/supervisor/page/react-loadable-manifest.json +4 -4
  88. package/web/.next/server/app/application/[id]/supervisor/page/server-reference-manifest.json +10 -10
  89. package/web/.next/server/app/application/[id]/supervisor/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/applications/page/react-loadable-manifest.json +4 -4
  91. package/web/.next/server/app/applications/page/server-reference-manifest.json +20 -20
  92. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  93. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/features/page/react-loadable-manifest.json +4 -4
  95. package/web/.next/server/app/features/page/server-reference-manifest.json +31 -31
  96. package/web/.next/server/app/features/page.js.nft.json +1 -1
  97. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/onboarding/page/react-loadable-manifest.json +4 -4
  99. package/web/.next/server/app/onboarding/page/server-reference-manifest.json +9 -9
  100. package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/page/react-loadable-manifest.json +4 -4
  102. package/web/.next/server/app/page/server-reference-manifest.json +9 -9
  103. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +4 -4
  105. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +16 -16
  106. package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +4 -4
  108. package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +28 -28
  109. package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +4 -4
  111. package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +12 -12
  112. package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +4 -4
  114. package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +18 -18
  115. package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/projects/page/react-loadable-manifest.json +4 -4
  117. package/web/.next/server/app/projects/page/server-reference-manifest.json +10 -10
  118. package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/settings/page/react-loadable-manifest.json +4 -4
  120. package/web/.next/server/app/settings/page/server-reference-manifest.json +15 -15
  121. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/skills/page/react-loadable-manifest.json +4 -4
  123. package/web/.next/server/app/skills/page/server-reference-manifest.json +17 -17
  124. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/supervisor/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  126. package/web/.next/server/app/supervisor/feature/[featureId]/page/server-reference-manifest.json +10 -10
  127. package/web/.next/server/app/supervisor/feature/[featureId]/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/supervisor/page/react-loadable-manifest.json +4 -4
  129. package/web/.next/server/app/supervisor/page/server-reference-manifest.json +10 -10
  130. package/web/.next/server/app/supervisor/page_client-reference-manifest.js +1 -1
  131. package/web/.next/server/app/supervisor/repo/[repositoryId]/page/react-loadable-manifest.json +4 -4
  132. package/web/.next/server/app/supervisor/repo/[repositoryId]/page/server-reference-manifest.json +10 -10
  133. package/web/.next/server/app/supervisor/repo/[repositoryId]/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/tools/page/react-loadable-manifest.json +4 -4
  135. package/web/.next/server/app/tools/page/server-reference-manifest.json +15 -15
  136. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/version/page/react-loadable-manifest.json +4 -4
  138. package/web/.next/server/app/version/page/server-reference-manifest.json +9 -9
  139. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
  141. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js +1 -1
  142. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js +1 -1
  144. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js +1 -1
  146. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
  148. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
  150. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  152. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  154. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js +3 -3
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b652a2f._.js +1 -1
  158. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js → [root-of-the-server]__2e388ba3._.js} +2 -2
  159. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js.map → [root-of-the-server]__2e388ba3._.js.map} +1 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js +1 -1
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__648730d4._.js +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js +2 -2
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js +1 -1
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__a12d0ad7._.js +3 -0
  172. package/web/.next/server/chunks/ssr/{[root-of-the-server]__52ca7f88._.js.map → [root-of-the-server]__a12d0ad7._.js.map} +1 -1
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js +1 -1
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0741ee1._.js +1 -1
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js +1 -1
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__ea26ff90._.js +3 -3
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__ff0095e3._.js +1 -1
  180. package/web/.next/server/chunks/ssr/_07036593._.js +1 -1
  181. package/web/.next/server/chunks/ssr/_07036593._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/_0d2a7595._.js +1 -1
  183. package/web/.next/server/chunks/ssr/_0d2a7595._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
  185. package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/{_db111d21._.js → _10f54ace._.js} +2 -2
  187. package/web/.next/server/chunks/ssr/{_db111d21._.js.map → _10f54ace._.js.map} +1 -1
  188. package/web/.next/server/chunks/ssr/_24fca3cf._.js +1 -1
  189. package/web/.next/server/chunks/ssr/_24fca3cf._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/{_6ff832ad._.js → _2759af76._.js} +2 -2
  191. package/web/.next/server/chunks/ssr/{_6ff832ad._.js.map → _2759af76._.js.map} +1 -1
  192. package/web/.next/server/chunks/ssr/_2bc48f3d._.js +1 -1
  193. package/web/.next/server/chunks/ssr/_2bc48f3d._.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/{_fb539286._.js → _2bef1982._.js} +2 -2
  195. package/web/.next/server/chunks/ssr/{_fb539286._.js.map → _2bef1982._.js.map} +1 -1
  196. package/web/.next/server/chunks/ssr/_32f66845._.js +1 -1
  197. package/web/.next/server/chunks/ssr/_408848e6._.js +1 -1
  198. package/web/.next/server/chunks/ssr/_408848e6._.js.map +1 -1
  199. package/web/.next/server/chunks/ssr/_40e02782._.js +1 -1
  200. package/web/.next/server/chunks/ssr/_40e02782._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/_486d45d6._.js +1 -1
  202. package/web/.next/server/chunks/ssr/_486d45d6._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/{_824d5772._.js → _498cba11._.js} +2 -2
  204. package/web/.next/server/chunks/ssr/{_824d5772._.js.map → _498cba11._.js.map} +1 -1
  205. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  206. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_5cbb0e22._.js +1 -1
  208. package/web/.next/server/chunks/ssr/_5cbb0e22._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/{_5a3edc88._.js → _673be4f1._.js} +2 -2
  210. package/web/.next/server/chunks/ssr/{_5a3edc88._.js.map → _673be4f1._.js.map} +1 -1
  211. package/web/.next/server/chunks/ssr/_7ba67729._.js +1 -1
  212. package/web/.next/server/chunks/ssr/_7ba67729._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
  214. package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/_87cf18c3._.js +1 -1
  216. package/web/.next/server/chunks/ssr/_87cf18c3._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
  218. package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/_95b97274._.js +1 -1
  220. package/web/.next/server/chunks/ssr/_95b97274._.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js → _9d18d1b1._.js} +2 -2
  222. package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js.map → _9d18d1b1._.js.map} +1 -1
  223. package/web/.next/server/chunks/ssr/{_70ff64a1._.js → _a93687e6._.js} +2 -2
  224. package/web/.next/server/chunks/ssr/{_70ff64a1._.js.map → _a93687e6._.js.map} +1 -1
  225. package/web/.next/server/chunks/ssr/_c2e196ee._.js +1 -1
  226. package/web/.next/server/chunks/ssr/_c2e196ee._.js.map +1 -1
  227. package/web/.next/server/chunks/ssr/_ca3b7bf7._.js +1 -1
  228. package/web/.next/server/chunks/ssr/_ca3b7bf7._.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
  230. package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
  231. package/web/.next/server/chunks/ssr/_d573dcc2._.js +1 -1
  232. package/web/.next/server/chunks/ssr/_e2671e14._.js +1 -1
  233. package/web/.next/server/chunks/ssr/_e2671e14._.js.map +1 -1
  234. package/web/.next/server/chunks/ssr/_ecd45b17._.js +1 -1
  235. package/web/.next/server/chunks/ssr/_ecd45b17._.js.map +1 -1
  236. package/web/.next/server/chunks/ssr/{_f0d45e47._.js → _f46d2018._.js} +2 -2
  237. package/web/.next/server/chunks/ssr/{_f0d45e47._.js.map → _f46d2018._.js.map} +1 -1
  238. package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
  239. package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
  240. package/web/.next/server/chunks/ssr/{_20a56008._.js → _f71954a5._.js} +2 -2
  241. package/web/.next/server/chunks/ssr/{_20a56008._.js.map → _f71954a5._.js.map} +1 -1
  242. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  243. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  244. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  245. package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js +1 -1
  246. package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js → src_presentation_web_16c83ab4._.js} +2 -2
  248. package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js.map → src_presentation_web_16c83ab4._.js.map} +1 -1
  249. package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js +1 -1
  250. package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js +1 -1
  252. package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js +1 -1
  254. package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js.map +1 -1
  255. package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js +1 -1
  256. package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js +1 -1
  258. package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js +1 -1
  260. package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js.map +1 -1
  261. package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js +1 -1
  262. package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js.map +1 -1
  263. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  264. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  265. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js +1 -1
  266. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js.map +1 -1
  267. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js +1 -1
  268. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js.map +1 -1
  269. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js +1 -1
  270. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js.map +1 -1
  271. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js +1 -1
  272. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js.map +1 -1
  273. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js +1 -1
  274. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js.map +1 -1
  275. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js +1 -1
  276. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js.map +1 -1
  277. package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js +1 -1
  278. package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js.map +1 -1
  279. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_246617fe._.js +3 -3
  280. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
  281. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
  282. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
  283. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
  284. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
  285. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
  286. package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js +1 -1
  287. package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js.map +1 -1
  288. package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js +1 -1
  289. package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js.map +1 -1
  290. package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js +1 -1
  291. package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js → src_presentation_web_cb0d2c28._.js} +2 -2
  293. package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js.map → src_presentation_web_cb0d2c28._.js.map} +1 -1
  294. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
  295. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js +1 -1
  297. package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  299. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js +1 -1
  301. package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js +1 -1
  303. package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js.map +1 -1
  304. package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js +1 -1
  305. package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js.map +1 -1
  306. package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js +1 -1
  307. package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js.map +1 -1
  308. package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js +1 -1
  309. package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js +1 -1
  311. package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js +1 -1
  313. package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js +1 -1
  315. package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js.map +1 -1
  316. package/web/.next/server/pages/500.html +2 -2
  317. package/web/.next/server/server-reference-manifest.js +1 -1
  318. package/web/.next/server/server-reference-manifest.json +111 -111
  319. package/web/.next/static/chunks/{5faa828877b1e669.js → 03dda23205877d8b.js} +1 -1
  320. package/web/.next/static/chunks/{4bf4f333302e24a4.js → 054e3a5f5ff4db71.js} +1 -1
  321. package/web/.next/static/chunks/{a868014dbe1b4e42.js → 06e58041911c290b.js} +1 -1
  322. package/web/.next/static/chunks/{b5ff852fee23795d.js → 089ef5b749d79ebd.js} +1 -1
  323. package/web/.next/static/chunks/{1a093b13a9d6952e.js → 0d106010c498c198.js} +2 -2
  324. package/web/.next/static/chunks/193e5a0540757f5e.js +1 -0
  325. package/web/.next/static/chunks/{9abc3e68af98e636.js → 25111a2f2597f500.js} +1 -1
  326. package/web/.next/static/chunks/285e724d07901ef6.js +1 -0
  327. package/web/.next/static/chunks/{3c396f63ebefe875.js → 2b2bfc0465b18a7d.js} +1 -1
  328. package/web/.next/static/chunks/{6af99a08ccacdbce.js → 2b436562e69d2827.js} +1 -1
  329. package/web/.next/static/chunks/{8c96a835b3b0dc44.js → 2e3844d0ac487ac7.js} +1 -1
  330. package/web/.next/static/chunks/325859b8a9482427.js +1 -0
  331. package/web/.next/static/chunks/{2773e7b2587bc9cc.js → 44ab458ceb89d85d.js} +1 -1
  332. package/web/.next/static/chunks/4fdf36904f5421a6.js +1 -0
  333. package/web/.next/static/chunks/59004c65d552581c.js +1 -0
  334. package/web/.next/static/chunks/{0edcdc8a2dd06b7a.js → 5c4837e88a3431b8.js} +1 -1
  335. package/web/.next/static/chunks/{a131f868af7f1f7c.js → 74cdd562eb663f72.js} +1 -1
  336. package/web/.next/static/chunks/{0315591c972888a6.js → 7670d76d4ee743e6.js} +1 -1
  337. package/web/.next/static/chunks/{02d88da9fd656fcd.js → 83fc784ce05a701e.js} +1 -1
  338. package/web/.next/static/chunks/{460cedaa85c821e7.js → 8dd4fdd20b103a66.js} +1 -1
  339. package/web/.next/static/chunks/9336bdc7fc319282.js +1 -0
  340. package/web/.next/static/chunks/9d285565922b2de7.js +1 -0
  341. package/web/.next/static/chunks/{45eeca36eabbed23.js → 9f7f2a11937d87eb.js} +1 -1
  342. package/web/.next/static/chunks/{c3931fdbae836be6.js → a7c7bcfb6f7696a3.js} +1 -1
  343. package/web/.next/static/chunks/{9f7985e2a73929a2.js → a8f57d2a12849f32.js} +1 -1
  344. package/web/.next/static/chunks/{0e1c933065a1100a.js → abe98954ccdf29db.js} +1 -1
  345. package/web/.next/static/chunks/{4378715fa2b5e7de.js → b05808da85e8b34c.js} +1 -1
  346. package/web/.next/static/chunks/{b5dc7979d66caa38.js → b5f83e5e1dad23d5.js} +1 -1
  347. package/web/.next/static/chunks/{6d2074fa3453d333.js → b8293a56f257e5a2.js} +1 -1
  348. package/web/.next/static/chunks/{bc5b87e4068ba11d.js → c61c5e97c76dc733.js} +1 -1
  349. package/web/.next/static/chunks/c6b411bf31744ca7.js +1 -0
  350. package/web/.next/static/chunks/{bdaa907bf3d1d932.js → c732d6cc4c5e4343.js} +1 -1
  351. package/web/.next/static/chunks/{25a200f055ae5cba.js → d214d6a670f48d79.js} +1 -1
  352. package/web/.next/static/chunks/{6901861cb53ab483.js → d7b17a93a26e97c8.js} +1 -1
  353. package/web/.next/static/chunks/{a0325f77bbccc63d.js → d8f14fac959a6bd0.js} +1 -1
  354. package/web/.next/static/chunks/{24ea54516dc249c0.js → d98912f5b6cf4938.js} +1 -1
  355. package/web/.next/static/chunks/{21500b3fe3754296.js → df79667c16344317.js} +1 -1
  356. package/web/.next/static/chunks/{05e8df10619fb980.js → ec8f19328ad1ecd4.js} +1 -1
  357. package/web/.next/static/chunks/{e6e6ba783b2e4d14.js → f0157331838ac962.js} +1 -1
  358. package/web/.next/static/chunks/{c687ed21b9518d73.js → f757d865fae71faf.js} +1 -1
  359. package/web/.next/static/chunks/fb3cbb7f575a7128.js +1 -0
  360. package/web/.next/server/chunks/ssr/[root-of-the-server]__52ca7f88._.js +0 -3
  361. package/web/.next/static/chunks/03d7b81c2554d52f.js +0 -1
  362. package/web/.next/static/chunks/15acdaaea57bb459.js +0 -1
  363. package/web/.next/static/chunks/39fe1c1397d5483b.js +0 -1
  364. package/web/.next/static/chunks/495883829026f13f.js +0 -1
  365. package/web/.next/static/chunks/4b3a4f416a6eb1ac.js +0 -1
  366. package/web/.next/static/chunks/4b4160f36cf2a3d6.js +0 -1
  367. package/web/.next/static/chunks/7269537b2188650d.js +0 -1
  368. package/web/.next/static/chunks/b1534b2f3d814fef.js +0 -1
  369. package/web/.next/static/chunks/f6dc1ba364203bb2.js +0 -1
  370. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_buildManifest.js +0 -0
  371. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_clientMiddlewareManifest.json +0 -0
  372. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(679606),a=e.i(294237),s=e.i(131777);let r=(0,a.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:a,...i}){return(0,t.jsx)("div",{className:(0,s.cn)(r({variant:a}),e),...i})}e.s(["Badge",()=>i])},602287,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(90033),r=e.i(860253),i=e.i(131777);let l=s.Dialog.Root,o=s.Dialog.Trigger,d=s.Dialog.Portal,n=s.Dialog.Close,c=a.forwardRef(({className:e,onClick:a,...r},l)=>(0,t.jsx)(s.Dialog.Overlay,{ref:l,className:(0,i.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),a?.(e)},...r}));c.displayName=s.Dialog.Overlay.displayName;let u=a.forwardRef(({className:e,children:a,...l},o)=>(0,t.jsxs)(d,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:o,className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...l,children:[a,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=s.Dialog.Content.displayName;let p=({className:e,...a})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...a});p.displayName="DialogHeader";let x=({className:e,...a})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});x.displayName="DialogFooter";let m=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Dialog.Title,{ref:r,className:(0,i.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));m.displayName=s.Dialog.Title.displayName;let h=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Dialog.Description,{ref:r,className:(0,i.cn)("text-muted-foreground text-sm",e),...a}));h.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>l,"DialogClose",()=>n,"DialogContent",()=>u,"DialogDescription",()=>h,"DialogFooter",()=>x,"DialogHeader",()=>p,"DialogTitle",()=>m,"DialogTrigger",()=>o])},949228,e=>{"use strict";let t=(0,e.i(903645).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],949228)},853756,e=>{"use strict";let t=(0,e.i(903645).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],853756)},383379,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],383379)},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},951911,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(291967),r=e.i(205978),i=e.i(922528),l=e.i(936589),o=e.i(23405),d=e.i(277624),n=e.i(287620),c="Switch",[u,p]=(0,i.createContextScope)(c),[x,m]=u(c),h=a.forwardRef((e,i)=>{let{__scopeSwitch:o,name:d,checked:u,defaultChecked:p,required:m,disabled:h,value:f="on",onCheckedChange:g,form:b,...y}=e,[N,w]=a.useState(null),S=(0,r.useComposedRefs)(i,e=>w(e)),k=a.useRef(!1),D=!N||b||!!N.closest("form"),[I,C]=(0,l.useControllableState)({prop:u,defaultProp:p??!1,onChange:g,caller:c});return(0,t.jsxs)(x,{scope:o,checked:I,disabled:h,children:[(0,t.jsx)(n.Primitive.button,{type:"button",role:"switch","aria-checked":I,"aria-required":m,"data-state":j(I),"data-disabled":h?"":void 0,disabled:h,value:f,...y,ref:S,onClick:(0,s.composeEventHandlers)(e.onClick,e=>{C(e=>!e),D&&(k.current=e.isPropagationStopped(),k.current||e.stopPropagation())})}),D&&(0,t.jsx)(v,{control:N,bubbles:!k.current,name:d,value:f,checked:I,required:m,disabled:h,form:b,style:{transform:"translateX(-100%)"}})]})});h.displayName=c;var f="SwitchThumb",g=a.forwardRef((e,a)=>{let{__scopeSwitch:s,...r}=e,i=m(f,s);return(0,t.jsx)(n.Primitive.span,{"data-state":j(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:a})});g.displayName=f;var v=a.forwardRef(({__scopeSwitch:e,control:s,checked:i,bubbles:l=!0,...n},c)=>{let u=a.useRef(null),p=(0,r.useComposedRefs)(u,c),x=(0,o.usePrevious)(i),m=(0,d.useSize)(s);return a.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(x!==i&&t){let a=new Event("click",{bubbles:l});t.call(e,i),e.dispatchEvent(a)}},[x,i,l]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i,...n,tabIndex:-1,ref:p,style:{...n.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function j(e){return e?"checked":"unchecked"}v.displayName="SwitchBubbleInput",e.s(["Root",()=>h,"Switch",()=>h,"SwitchThumb",()=>g,"Thumb",()=>g,"createSwitchScope",()=>p],595291);var b=e.i(595291),b=b,y=e.i(131777);function N({className:e,size:a="default",...s}){return(0,t.jsx)(b.Root,{"data-slot":"switch","data-size":a,className:(0,y.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...s,children:(0,t.jsx)(b.Thumb,{"data-slot":"switch-thumb",className:(0,y.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")})})}e.s(["Switch",()=>N],951911)},123620,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(294237),r=e.i(131777);let i=(0,s.cva)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:start-4 [&>svg]:text-foreground [&>svg+div]:translate-y-[-3px] [&>svg~*]:ps-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),l=a.forwardRef(({className:e,variant:a,...s},l)=>(0,t.jsx)("div",{ref:l,role:"alert",className:(0,r.cn)(i({variant:a}),e),...s}));l.displayName="Alert",a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("h5",{ref:s,className:(0,r.cn)("mb-1 leading-none font-medium tracking-tight",e),...a})).displayName="AlertTitle";let o=a.forwardRef(({className:e,...a},s)=>(0,t.jsx)("div",{ref:s,className:(0,r.cn)("text-sm [&_p]:leading-relaxed",e),...a}));o.displayName="AlertDescription",e.s(["Alert",()=>l,"AlertDescription",()=>o])},320331,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(735364),r=e.i(141957),i=e.i(698127),l=e.i(547373),o=e.i(951911),d=e.i(123620),n=e.i(317406),c=e.i(508893);let u=(0,c.createServerReference)("40c982a71203ed86da5a5950a0e5f91417c7ae6612",c.callServer,void 0,c.findSourceMapURL,"configureSupervisor"),p=[{value:n.SupervisorAutonomy.advisory,label:"Advisory",description:"Supervisor recommends, user always decides. Safest default."},{value:n.SupervisorAutonomy.cosign,label:"Co-sign",description:"Both supervisor and user must approve before a gate can pass."},{value:n.SupervisorAutonomy.autonomous,label:"Autonomous",description:"Supervisor acts on the user’s behalf within configured policy."}],x=["prd","plan","merge"];function m({scopeType:e,scopeId:c,featureId:m,initialPolicy:h,onSubmitOverride:f,forceState:g="default"}){let v=h?.autonomyLevel??n.SupervisorAutonomy.advisory,j=function(e){if(!e)return{};try{let t=JSON.parse(e);if(!t||"object"!=typeof t)return{};return t}catch{return{}}}(h?.gateAuthorityJson),[b,y]=(0,a.useState)(v),[N,w]=(0,a.useState)(h?.modelId??""),[S,k]=(0,a.useState)(h?.promptVersion??""),[D,I]=(0,a.useState)(j),[C,T]=(0,a.useState)(!1),[A,z]=(0,a.useState)("error"===g?"Failed to save supervisor policy":null),[$,R]=(0,a.useState)(null),V="loading"===g||C,P=async t=>{t.preventDefault(),z(null),T(!0);let a={scopeType:e,scopeId:c,featureId:m,autonomyLevel:b,modelId:N.trim()||void 0,promptVersion:S.trim()||void 0,gateAuthority:Object.keys(D).length>0?D:void 0};try{let e=f?await f(a):await u(a);e.ok?R(new Date):z(e.error??"Failed to save supervisor policy")}catch(e){z(e instanceof Error?e.message:"Failed to save supervisor policy")}finally{T(!1)}};return(0,t.jsxs)("form",{onSubmit:P,"data-testid":"supervisor-config-form",className:"flex flex-col gap-6 rounded-lg border p-6","aria-busy":V,children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Supervisor agent"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:m?"Per-feature override. Falls back to the scope-level policy when unset.":`${e.charAt(0).toUpperCase()+e.slice(1)}-level policy. Applies to every feature unless overridden.`})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"autonomyLevel",children:"Autonomy level"}),(0,t.jsxs)(l.Select,{value:b,onValueChange:e=>y(e),disabled:V,children:[(0,t.jsx)(l.SelectTrigger,{id:"autonomyLevel","data-testid":"autonomy-trigger",children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsx)(l.SelectContent,{children:p.map(e=>(0,t.jsx)(l.SelectItem,{value:e.value,children:e.label},e.value))})]}),(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:p.find(e=>e.value===b)?.description})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"modelId",children:"Evaluator model"}),(0,t.jsx)(i.Input,{id:"modelId","data-testid":"model-id-input",placeholder:"e.g. claude-sonnet-4",value:N,onChange:e=>w(e.target.value),disabled:V})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"promptVersion",children:"Prompt version"}),(0,t.jsx)(i.Input,{id:"promptVersion","data-testid":"prompt-version-input",placeholder:"e.g. v1",value:S,onChange:e=>k(e.target.value),disabled:V})]}),(0,t.jsxs)("fieldset",{className:"flex flex-col gap-3",disabled:V,children:[(0,t.jsx)("legend",{className:"text-sm font-medium",children:"Per-gate authority"}),x.map(e=>{let a=D[e]??"inherit",s=`gate-${e}`;return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3","data-testid":`gate-row-${e}`,children:[(0,t.jsx)(r.Label,{htmlFor:s,className:"capitalize",children:e}),(0,t.jsxs)(l.Select,{value:a,onValueChange:t=>{I(a=>{let s={...a};return"inherit"===t?delete s[e]:s[e]=t,s})},children:[(0,t.jsx)(l.SelectTrigger,{id:s,className:"w-44","data-testid":`gate-trigger-${e}`,children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsxs)(l.SelectContent,{children:[(0,t.jsx)(l.SelectItem,{value:"inherit",children:"Inherit"}),p.map(e=>(0,t.jsx)(l.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e)})]}),h?(0,t.jsxs)("div",{className:"flex items-center justify-between rounded border px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("span",{className:"text-sm font-medium",children:["Currently ",h.enabled?"enabled":"disabled"]}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"Toggle without changing other settings"})]}),(0,t.jsx)(o.Switch,{checked:h.enabled,disabled:!0,"data-testid":"enabled-readonly","aria-label":"Supervisor enabled (read-only — toggle via the Enable/Disable buttons)"})]}):null,A?(0,t.jsx)(d.Alert,{variant:"destructive","data-testid":"form-error",children:(0,t.jsx)(d.AlertDescription,{children:A})}):null,$?(0,t.jsx)(d.Alert,{"data-testid":"form-saved",children:(0,t.jsxs)(d.AlertDescription,{children:["Saved at ",$.toLocaleTimeString()]})}):null,(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(s.Button,{type:"submit",disabled:V,"data-testid":"submit",children:V?"Saving…":h?"Update supervisor":"Save supervisor"})})]})}e.s(["SupervisorConfigForm",()=>m],320331)},270198,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(256460),r=e.i(273889),i=e.i(860253),l=e.i(735364);function o({id:e,title:o,description:d,ctaLabel:n,ctaHref:c,forceVisible:u}){let p=`shep:onboarding:${e}`,[x,m]=(0,a.useState)(!1),[h,f]=(0,a.useState)(!0);return((0,a.useEffect)(()=>{if(m(!0),u)return void f(!0);try{let e=window.localStorage.getItem(p);f("1"!==e)}catch{f(!0)}},[u,p]),x&&h)?(0,t.jsxs)("div",{className:"bg-muted/40 flex items-start gap-3 rounded-lg border p-4","data-testid":`welcome-banner-${e}`,children:[(0,t.jsx)("div",{className:"bg-primary/10 text-primary flex h-9 w-9 shrink-0 items-center justify-center rounded-md",children:(0,t.jsx)(r.GraduationCap,{className:"size-4"})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:o}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:d})]}),c&&n?(0,t.jsx)("div",{children:(0,t.jsx)(l.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsx)(s.default,{href:c,"data-testid":`welcome-banner-${e}-cta`,children:n})})}):null]}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"size-7 shrink-0",onClick:function(){if(f(!1),!u)try{window.localStorage.setItem(p,"1")}catch{}},"aria-label":"Dismiss this hint","data-testid":`welcome-banner-${e}-dismiss`,children:(0,t.jsx)(i.X,{className:"size-4"})})]}):null}e.s(["WelcomeBanner",()=>o])},991610,e=>{"use strict";var t=e.i(679606),a=e.i(256460);let s=(0,e.i(903645).default)("earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var r=e.i(976874),i=e.i(949228),l=e.i(853756),o=e.i(383379),d=e.i(598701),n=e.i(81846),c=e.i(152155),u=e.i(735364),p=e.i(845811),x=e.i(317406);let m={[x.SupervisorVerdict.approve]:"default",[x.SupervisorVerdict.reject]:"destructive",[x.SupervisorVerdict.escalate]:"secondary",[x.SupervisorVerdict.advise]:"secondary"};function h({decisions:e,triggerLabel:a="Why?",defaultOpen:s=!1}){let[r,i]=(0,c.useState)(s);if(0===e.length)return null;let l=[...e].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),o=l[l.length-1];return(0,t.jsxs)(p.Drawer,{open:r,onOpenChange:i,direction:"right",children:[(0,t.jsx)(p.DrawerTrigger,{asChild:!0,children:(0,t.jsx)(u.Button,{type:"button",variant:"ghost",size:"sm","data-testid":"supervisor-why-trigger",children:a})}),(0,t.jsxs)(p.DrawerContent,{className:"max-w-md","data-testid":"supervisor-why-drawer",direction:"right",children:[(0,t.jsxs)(p.DrawerHeader,{children:[(0,t.jsx)(p.DrawerTitle,{children:"Supervisor decision"}),(0,t.jsx)(p.DrawerDescription,{children:1===l.length?"Why the supervisor reached this verdict.":`Audit trail for ${l.length} decisions.`})]}),(0,t.jsx)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto px-4 pb-6","data-testid":"supervisor-why-content",children:l.map(e=>(0,t.jsxs)("article",{className:"flex flex-col gap-2 rounded border p-3","data-testid":`decision-row-${e.decisionId}`,children:[(0,t.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(n.Badge,{variant:m[e.verdict]??"secondary","data-testid":`decision-verdict-${e.decisionId}`,className:"capitalize",children:e.verdict}),(0,t.jsx)("time",{className:"text-muted-foreground text-xs",children:function(e){try{return new Date(e).toLocaleString()}catch{return e}}(e.createdAt)})]}),(0,t.jsx)("p",{className:"text-sm whitespace-pre-wrap","data-testid":`decision-rationale-${e.decisionId}`,children:e.rationale}),(0,t.jsxs)("dl",{className:"text-muted-foreground grid grid-cols-2 gap-x-4 gap-y-1 text-xs",children:[(0,t.jsx)("dt",{children:"Model"}),(0,t.jsx)("dd",{"data-testid":`decision-model-${e.decisionId}`,children:e.modelId}),(0,t.jsx)("dt",{children:"Prompt version"}),(0,t.jsx)("dd",{"data-testid":`decision-prompt-${e.decisionId}`,children:e.promptVersion}),e.ruleRef?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:"Rule"}),(0,t.jsx)("dd",{"data-testid":`decision-rule-${e.decisionId}`,children:e.ruleRef})]}):null,"number"==typeof e.confidence?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:"Confidence"}),(0,t.jsxs)("dd",{"data-testid":`decision-confidence-${e.decisionId}`,children:[Math.round(100*e.confidence),"%"]})]}):null,(0,t.jsx)("dt",{children:"Source"}),(0,t.jsxs)("dd",{children:[e.sourceEventKind," · ",e.sourceEventId]})]})]},e.decisionId))}),(0,t.jsxs)("div",{className:"text-muted-foreground border-t p-4 text-xs",children:["Latest verdict: ",(0,t.jsx)("span",{className:"font-medium",children:o.verdict})]})]})]})}let f={[x.SupervisorVerdict.approve]:"default",[x.SupervisorVerdict.reject]:"destructive",[x.SupervisorVerdict.escalate]:"secondary",[x.SupervisorVerdict.advise]:"secondary"},g={advisory:"Advisory",cosign:"Co-sign",autonomous:"Autonomous"};function v({policies:e,recentDecisions:a,names:s={}}){let r=function(e){let t={global:[],app:[],repo:[],feature:[]};for(let a of e)a.featureId?t.feature.push(a):"global"===a.scopeType?t.global.push(a):"app"===a.scopeType?t.app.push(a):"repo"===a.scopeType&&t.repo.push(a);return t}(e);return(0,t.jsxs)("div",{className:"flex flex-col gap-8","data-testid":"supervisor-dashboard",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsxs)("h1",{className:"flex items-center gap-2 text-2xl font-semibold",children:[(0,t.jsx)(d.ShieldCheck,{className:"size-6"}),"Supervisor"]}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Every configured supervisor policy and the most recent decisions across all scopes."})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"supervisor-policies",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold tracking-wide uppercase",children:["Policies ",(0,t.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",e.length,")"]})]}),0===e.length?(0,t.jsx)(y,{}):(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)(b,{kind:"global",policies:r.global,names:s,"data-testid":"scope-group-global"}),(0,t.jsx)(b,{kind:"app",policies:r.app,names:s,"data-testid":"scope-group-app"}),(0,t.jsx)(b,{kind:"repo",policies:r.repo,names:s,"data-testid":"scope-group-repo"}),(0,t.jsx)(b,{kind:"feature",policies:r.feature,names:s,"data-testid":"scope-group-feature"})]})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"supervisor-recent-decisions",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold tracking-wide uppercase",children:["Recent decisions"," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",a.length,")"]})]}),0===a.length?(0,t.jsx)("p",{className:"text-muted-foreground rounded-lg border border-dashed p-4 text-sm",children:"No decisions yet — the supervisor hasn't been invoked or no policies are configured."}):(0,t.jsx)("ul",{className:"flex flex-col divide-y rounded-lg border",children:a.map(e=>{var a,s,r;return(0,t.jsxs)("li",{className:"flex items-start gap-3 px-3 py-2","data-testid":`recent-decision-${e.decisionId}`,children:[(0,t.jsx)(n.Badge,{variant:f[e.verdict]??"secondary",className:"mt-0.5 capitalize",children:e.verdict}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("p",{className:"line-clamp-1 text-sm",children:e.rationale}),(0,t.jsxs)("p",{className:"text-muted-foreground text-xs",children:[(a=e.scopeType,s=e.scopeId,(r=e.featureId)?`feature:${r.slice(0,8)}`:"global"===a?"global":s?`${a}:${s.slice(0,8)}`:a)," ·"," ",e.sourceEventKind," · ",function(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t))return e;for(let{ms:e,label:a}of w)if(t<e)return a(Math.max(1,Math.floor(t/(6e4===e?1e3:36e5===e?6e4:36e5))));return new Date(e).toLocaleDateString()}(e.createdAt)]})]}),(0,t.jsx)(h,{decisions:[e],triggerLabel:"Why?"})]},e.decisionId)})})]})]})}let j={global:"Global",app:"Applications",repo:"Repositories",feature:"Per-feature overrides"};function b({kind:e,policies:s,names:r,...i}){return 0===s.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-2",...i,children:[(0,t.jsxs)("p",{className:"text-muted-foreground flex items-center gap-1.5 text-xs font-medium",children:[(0,t.jsx)(N,{kind:e,className:"size-3"}),j[e]," (",s.length,")"]}),(0,t.jsx)("ul",{className:"flex flex-col divide-y rounded-lg border",children:s.map(s=>{var i;return(0,t.jsxs)("li",{className:"flex items-center gap-3 px-3 py-2","data-testid":`policy-row-${s.id}`,children:[(0,t.jsx)(N,{kind:e,className:"text-muted-foreground size-4 shrink-0","aria-hidden":!0}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("p",{className:"truncate text-sm font-medium",children:function(e,t){if(e.featureId){let a=t.feature?.[e.featureId]??e.featureId,s=e.scopeId?t["app"===e.scopeType?"app":"repo"]?.[e.scopeId]??e.scopeId:"global";return`${a} (under ${s})`}if("global"===e.scopeType)return"Global default";let a="app"===e.scopeType?t.app:t.repo;return e.scopeId?a?.[e.scopeId]??e.scopeId:e.scopeType}(s,r)}),(0,t.jsxs)("p",{className:"text-muted-foreground text-xs",children:[g[s.autonomyLevel]??s.autonomyLevel,s.modelId?` \xb7 ${s.modelId}`:""]})]}),(0,t.jsx)(n.Badge,{variant:s.enabled?"default":"secondary",className:"shrink-0",children:s.enabled?"Enabled":"Disabled"}),(0,t.jsxs)(a.default,{href:(i=s).featureId?`/supervisor/feature/${i.featureId}`:"app"===i.scopeType&&i.scopeId?`/application/${i.scopeId}/supervisor`:"repo"===i.scopeType&&i.scopeId?`/supervisor/repo/${i.scopeId}`:"/supervisor",className:"text-primary inline-flex shrink-0 items-center gap-1 text-xs hover:underline","data-testid":`policy-link-${s.id}`,children:["Configure",(0,t.jsx)(o.ArrowRight,{className:"size-3"})]})]},s.id)})})]})}function y(){return(0,t.jsxs)("div",{className:"bg-muted/30 flex flex-col items-start gap-3 rounded-lg border border-dashed p-6",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:"No supervisor policies configured"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Configure a supervisor at the global, application, repository, or feature level. The cascade picks the most specific match (feature > repo > app > global) at run time."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(a.default,{href:"/",className:"border-border hover:bg-muted inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium","data-testid":"empty-policies-cta-app",children:[(0,t.jsx)(r.Layers,{className:"size-3"}),"Pick an application"]}),(0,t.jsxs)(a.default,{href:"/agents",className:"border-border hover:bg-muted inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium","data-testid":"empty-policies-cta-agents",children:[(0,t.jsx)(o.ArrowRight,{className:"size-3"}),"Edit agent prompts instead"]})]})]})}function N({kind:e,className:a,...o}){let d="global"===e?s:"app"===e?r.Layers:"repo"===e?i.GitBranch:l.Sparkles;return(0,t.jsx)(d,{className:a,...o})}let w=[{ms:6e4,label:e=>`${e}s ago`},{ms:36e5,label:e=>`${e}m ago`},{ms:864e5,label:e=>`${e}h ago`}];e.s(["SupervisorDashboard",()=>v],991610)},417784,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(3214),r=e.i(735364),i=e.i(602287),l=e.i(141957),o=e.i(547373),d=e.i(320331);function n({applications:e,repositories:n,features:u,initialOpen:p}){let[x,m]=(0,a.useState)(!!p),[h,f]=(0,a.useState)("global"),[g,v]=(0,a.useState)(""),[j,b]=(0,a.useState)(""),[y,N]=(0,a.useState)(""),w="global"===h||"app"===h&&g.length>0||"repo"===h&&j.length>0||"feature"===h&&y.length>0,S="feature"===h?function(e,t){if(!e)return"global";let a=t.find(t=>t.id===e);return a?.applicationId?"app":a?.repositoryId?"repo":"global"}(y,u):h,k="app"===h?g:"repo"===h?j:"feature"===h?function(e,t){if(!e)return;let a=t.find(t=>t.id===e);return a?.applicationId??a?.repositoryId}(y,u):void 0,D="feature"===h?y:void 0;return(0,t.jsxs)(i.Dialog,{open:x,onOpenChange:e=>{m(e),e||(f("global"),v(""),b(""),N(""))},children:[(0,t.jsx)(i.DialogTrigger,{asChild:!0,children:(0,t.jsxs)(r.Button,{"data-testid":"create-supervisor-trigger",children:[(0,t.jsx)(s.Plus,{className:"size-4"}),"Create supervisor"]})}),(0,t.jsxs)(i.DialogContent,{className:"max-w-xl","data-testid":"create-supervisor-dialog",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)(i.DialogTitle,{children:"Create supervisor policy"}),(0,t.jsx)(i.DialogDescription,{children:"Pick the scope this supervisor watches, then configure how aggressive it should be. More-specific scopes override less-specific ones at run time."})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(l.Label,{htmlFor:"create-supervisor-scope",children:"Scope"}),(0,t.jsxs)(o.Select,{value:h,onValueChange:e=>f(e),children:[(0,t.jsx)(o.SelectTrigger,{id:"create-supervisor-scope","data-testid":"scope-trigger",children:(0,t.jsx)(o.SelectValue,{})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"global",children:"Global default"}),(0,t.jsxs)(o.SelectItem,{value:"app",disabled:0===e.length,children:["Application",0===e.length?" (none yet)":""]}),(0,t.jsxs)(o.SelectItem,{value:"repo",disabled:0===n.length,children:["Repository",0===n.length?" (none yet)":""]}),(0,t.jsxs)(o.SelectItem,{value:"feature",disabled:0===u.length,children:["Per-feature override",0===u.length?" (none yet)":""]})]})]})]}),"app"===h?(0,t.jsx)(c,{id:"create-supervisor-app",label:"Application",value:g,onChange:v,options:e,testid:"app-trigger"}):null,"repo"===h?(0,t.jsx)(c,{id:"create-supervisor-repo",label:"Repository",value:j,onChange:b,options:n,testid:"repo-trigger"}):null,"feature"===h?(0,t.jsx)(c,{id:"create-supervisor-feature",label:"Feature",value:y,onChange:N,options:u.map(e=>({id:e.id,name:e.name})),testid:"feature-trigger"}):null]}),w?(0,t.jsx)(d.SupervisorConfigForm,{scopeType:S,...void 0!==k&&{scopeId:k},...void 0!==D&&{featureId:D},initialPolicy:null}):(0,t.jsx)(i.DialogFooter,{children:(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:"Pick a scope above to configure the supervisor."})})]})]})}function c({id:e,label:a,value:s,onChange:r,options:i,testid:d}){return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(l.Label,{htmlFor:e,children:a}),(0,t.jsxs)(o.Select,{value:s,onValueChange:r,disabled:0===i.length,children:[(0,t.jsx)(o.SelectTrigger,{id:e,"data-testid":d,children:(0,t.jsx)(o.SelectValue,{placeholder:`Pick a ${a.toLowerCase()}`})}),(0,t.jsx)(o.SelectContent,{children:i.map(e=>(0,t.jsx)(o.SelectItem,{value:e.id,children:e.name},e.id))})]})]})}e.s(["CreateSupervisorDialog",()=>n])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(679606),s=e.i(294237),a=e.i(131777);let r=(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,a.cn)(r({variant:s}),e),...i})}e.s(["Badge",()=>i])},602287,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(90033),r=e.i(860253),i=e.i(131777);let l=a.Dialog.Root,o=a.Dialog.Trigger,d=a.Dialog.Portal,n=a.Dialog.Close,c=s.forwardRef(({className:e,onClick:s,...r},l)=>(0,t.jsx)(a.Dialog.Overlay,{ref:l,className:(0,i.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),s?.(e)},...r}));c.displayName=a.Dialog.Overlay.displayName;let u=s.forwardRef(({className:e,children:s,...l},o)=>(0,t.jsxs)(d,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(a.Dialog.Content,{ref:o,className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...l,children:[s,(0,t.jsxs)(a.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=a.Dialog.Content.displayName;let p=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...s});p.displayName="DialogHeader";let x=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...s});x.displayName="DialogFooter";let m=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Dialog.Title,{ref:r,className:(0,i.cn)("text-lg leading-none font-semibold tracking-tight",e),...s}));m.displayName=a.Dialog.Title.displayName;let h=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Dialog.Description,{ref:r,className:(0,i.cn)("text-muted-foreground text-sm",e),...s}));h.displayName=a.Dialog.Description.displayName,e.s(["Dialog",()=>l,"DialogClose",()=>n,"DialogContent",()=>u,"DialogDescription",()=>h,"DialogFooter",()=>x,"DialogHeader",()=>p,"DialogTitle",()=>m,"DialogTrigger",()=>o])},949228,e=>{"use strict";let t=(0,e.i(903645).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],949228)},853756,e=>{"use strict";let t=(0,e.i(903645).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],853756)},383379,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],383379)},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},951911,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(291967),r=e.i(205978),i=e.i(922528),l=e.i(936589),o=e.i(23405),d=e.i(277624),n=e.i(287620),c="Switch",[u,p]=(0,i.createContextScope)(c),[x,m]=u(c),h=s.forwardRef((e,i)=>{let{__scopeSwitch:o,name:d,checked:u,defaultChecked:p,required:m,disabled:h,value:f="on",onCheckedChange:g,form:b,...y}=e,[N,w]=s.useState(null),S=(0,r.useComposedRefs)(i,e=>w(e)),k=s.useRef(!1),D=!N||b||!!N.closest("form"),[I,C]=(0,l.useControllableState)({prop:u,defaultProp:p??!1,onChange:g,caller:c});return(0,t.jsxs)(x,{scope:o,checked:I,disabled:h,children:[(0,t.jsx)(n.Primitive.button,{type:"button",role:"switch","aria-checked":I,"aria-required":m,"data-state":j(I),"data-disabled":h?"":void 0,disabled:h,value:f,...y,ref:S,onClick:(0,a.composeEventHandlers)(e.onClick,e=>{C(e=>!e),D&&(k.current=e.isPropagationStopped(),k.current||e.stopPropagation())})}),D&&(0,t.jsx)(v,{control:N,bubbles:!k.current,name:d,value:f,checked:I,required:m,disabled:h,form:b,style:{transform:"translateX(-100%)"}})]})});h.displayName=c;var f="SwitchThumb",g=s.forwardRef((e,s)=>{let{__scopeSwitch:a,...r}=e,i=m(f,a);return(0,t.jsx)(n.Primitive.span,{"data-state":j(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:s})});g.displayName=f;var v=s.forwardRef(({__scopeSwitch:e,control:a,checked:i,bubbles:l=!0,...n},c)=>{let u=s.useRef(null),p=(0,r.useComposedRefs)(u,c),x=(0,o.usePrevious)(i),m=(0,d.useSize)(a);return s.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(x!==i&&t){let s=new Event("click",{bubbles:l});t.call(e,i),e.dispatchEvent(s)}},[x,i,l]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i,...n,tabIndex:-1,ref:p,style:{...n.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function j(e){return e?"checked":"unchecked"}v.displayName="SwitchBubbleInput",e.s(["Root",()=>h,"Switch",()=>h,"SwitchThumb",()=>g,"Thumb",()=>g,"createSwitchScope",()=>p],595291);var b=e.i(595291),b=b,y=e.i(131777);function N({className:e,size:s="default",...a}){return(0,t.jsx)(b.Root,{"data-slot":"switch","data-size":s,className:(0,y.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...a,children:(0,t.jsx)(b.Thumb,{"data-slot":"switch-thumb",className:(0,y.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")})})}e.s(["Switch",()=>N],951911)},123620,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(294237),r=e.i(131777);let i=(0,a.cva)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:start-4 [&>svg]:text-foreground [&>svg+div]:translate-y-[-3px] [&>svg~*]:ps-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),l=s.forwardRef(({className:e,variant:s,...a},l)=>(0,t.jsx)("div",{ref:l,role:"alert",className:(0,r.cn)(i({variant:s}),e),...a}));l.displayName="Alert",s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("h5",{ref:a,className:(0,r.cn)("mb-1 leading-none font-medium tracking-tight",e),...s})).displayName="AlertTitle";let o=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("text-sm [&_p]:leading-relaxed",e),...s}));o.displayName="AlertDescription",e.s(["Alert",()=>l,"AlertDescription",()=>o])},320331,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(735364),r=e.i(141957),i=e.i(698127),l=e.i(547373),o=e.i(951911),d=e.i(123620),n=e.i(317406),c=e.i(508893);let u=(0,c.createServerReference)("40bf2d2388806d5f0a8e801d7476acac81a861be87",c.callServer,void 0,c.findSourceMapURL,"configureSupervisor"),p=[{value:n.SupervisorAutonomy.advisory,label:"Advisory",description:"Supervisor recommends, user always decides. Safest default."},{value:n.SupervisorAutonomy.cosign,label:"Co-sign",description:"Both supervisor and user must approve before a gate can pass."},{value:n.SupervisorAutonomy.autonomous,label:"Autonomous",description:"Supervisor acts on the user’s behalf within configured policy."}],x=["prd","plan","merge"];function m({scopeType:e,scopeId:c,featureId:m,initialPolicy:h,onSubmitOverride:f,forceState:g="default"}){let v=h?.autonomyLevel??n.SupervisorAutonomy.advisory,j=function(e){if(!e)return{};try{let t=JSON.parse(e);if(!t||"object"!=typeof t)return{};return t}catch{return{}}}(h?.gateAuthorityJson),[b,y]=(0,s.useState)(v),[N,w]=(0,s.useState)(h?.modelId??""),[S,k]=(0,s.useState)(h?.promptVersion??""),[D,I]=(0,s.useState)(j),[C,T]=(0,s.useState)(!1),[A,z]=(0,s.useState)("error"===g?"Failed to save supervisor policy":null),[$,R]=(0,s.useState)(null),V="loading"===g||C,P=async t=>{t.preventDefault(),z(null),T(!0);let s={scopeType:e,scopeId:c,featureId:m,autonomyLevel:b,modelId:N.trim()||void 0,promptVersion:S.trim()||void 0,gateAuthority:Object.keys(D).length>0?D:void 0};try{let e=f?await f(s):await u(s);e.ok?R(new Date):z(e.error??"Failed to save supervisor policy")}catch(e){z(e instanceof Error?e.message:"Failed to save supervisor policy")}finally{T(!1)}};return(0,t.jsxs)("form",{onSubmit:P,"data-testid":"supervisor-config-form",className:"flex flex-col gap-6 rounded-lg border p-6","aria-busy":V,children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Supervisor agent"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:m?"Per-feature override. Falls back to the scope-level policy when unset.":`${e.charAt(0).toUpperCase()+e.slice(1)}-level policy. Applies to every feature unless overridden.`})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"autonomyLevel",children:"Autonomy level"}),(0,t.jsxs)(l.Select,{value:b,onValueChange:e=>y(e),disabled:V,children:[(0,t.jsx)(l.SelectTrigger,{id:"autonomyLevel","data-testid":"autonomy-trigger",children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsx)(l.SelectContent,{children:p.map(e=>(0,t.jsx)(l.SelectItem,{value:e.value,children:e.label},e.value))})]}),(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:p.find(e=>e.value===b)?.description})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"modelId",children:"Evaluator model"}),(0,t.jsx)(i.Input,{id:"modelId","data-testid":"model-id-input",placeholder:"e.g. claude-sonnet-4",value:N,onChange:e=>w(e.target.value),disabled:V})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"promptVersion",children:"Prompt version"}),(0,t.jsx)(i.Input,{id:"promptVersion","data-testid":"prompt-version-input",placeholder:"e.g. v1",value:S,onChange:e=>k(e.target.value),disabled:V})]}),(0,t.jsxs)("fieldset",{className:"flex flex-col gap-3",disabled:V,children:[(0,t.jsx)("legend",{className:"text-sm font-medium",children:"Per-gate authority"}),x.map(e=>{let s=D[e]??"inherit",a=`gate-${e}`;return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3","data-testid":`gate-row-${e}`,children:[(0,t.jsx)(r.Label,{htmlFor:a,className:"capitalize",children:e}),(0,t.jsxs)(l.Select,{value:s,onValueChange:t=>{I(s=>{let a={...s};return"inherit"===t?delete a[e]:a[e]=t,a})},children:[(0,t.jsx)(l.SelectTrigger,{id:a,className:"w-44","data-testid":`gate-trigger-${e}`,children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsxs)(l.SelectContent,{children:[(0,t.jsx)(l.SelectItem,{value:"inherit",children:"Inherit"}),p.map(e=>(0,t.jsx)(l.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e)})]}),h?(0,t.jsxs)("div",{className:"flex items-center justify-between rounded border px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("span",{className:"text-sm font-medium",children:["Currently ",h.enabled?"enabled":"disabled"]}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"Toggle without changing other settings"})]}),(0,t.jsx)(o.Switch,{checked:h.enabled,disabled:!0,"data-testid":"enabled-readonly","aria-label":"Supervisor enabled (read-only — toggle via the Enable/Disable buttons)"})]}):null,A?(0,t.jsx)(d.Alert,{variant:"destructive","data-testid":"form-error",children:(0,t.jsx)(d.AlertDescription,{children:A})}):null,$?(0,t.jsx)(d.Alert,{"data-testid":"form-saved",children:(0,t.jsxs)(d.AlertDescription,{children:["Saved at ",$.toLocaleTimeString()]})}):null,(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(a.Button,{type:"submit",disabled:V,"data-testid":"submit",children:V?"Saving…":h?"Update supervisor":"Save supervisor"})})]})}e.s(["SupervisorConfigForm",()=>m],320331)},270198,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(256460),r=e.i(273889),i=e.i(860253),l=e.i(735364);function o({id:e,title:o,description:d,ctaLabel:n,ctaHref:c,forceVisible:u}){let p=`shep:onboarding:${e}`,[x,m]=(0,s.useState)(!1),[h,f]=(0,s.useState)(!0);return((0,s.useEffect)(()=>{if(m(!0),u)return void f(!0);try{let e=window.localStorage.getItem(p);f("1"!==e)}catch{f(!0)}},[u,p]),x&&h)?(0,t.jsxs)("div",{className:"bg-muted/40 flex items-start gap-3 rounded-lg border p-4","data-testid":`welcome-banner-${e}`,children:[(0,t.jsx)("div",{className:"bg-primary/10 text-primary flex h-9 w-9 shrink-0 items-center justify-center rounded-md",children:(0,t.jsx)(r.GraduationCap,{className:"size-4"})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:o}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:d})]}),c&&n?(0,t.jsx)("div",{children:(0,t.jsx)(l.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsx)(a.default,{href:c,"data-testid":`welcome-banner-${e}-cta`,children:n})})}):null]}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"size-7 shrink-0",onClick:function(){if(f(!1),!u)try{window.localStorage.setItem(p,"1")}catch{}},"aria-label":"Dismiss this hint","data-testid":`welcome-banner-${e}-dismiss`,children:(0,t.jsx)(i.X,{className:"size-4"})})]}):null}e.s(["WelcomeBanner",()=>o])},991610,e=>{"use strict";var t=e.i(679606),s=e.i(256460);let a=(0,e.i(903645).default)("earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var r=e.i(976874),i=e.i(949228),l=e.i(853756),o=e.i(383379),d=e.i(598701),n=e.i(81846),c=e.i(152155),u=e.i(735364),p=e.i(845811),x=e.i(317406);let m={[x.SupervisorVerdict.approve]:"default",[x.SupervisorVerdict.reject]:"destructive",[x.SupervisorVerdict.escalate]:"secondary",[x.SupervisorVerdict.advise]:"secondary"};function h({decisions:e,triggerLabel:s="Why?",defaultOpen:a=!1}){let[r,i]=(0,c.useState)(a);if(0===e.length)return null;let l=[...e].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),o=l[l.length-1];return(0,t.jsxs)(p.Drawer,{open:r,onOpenChange:i,direction:"right",children:[(0,t.jsx)(p.DrawerTrigger,{asChild:!0,children:(0,t.jsx)(u.Button,{type:"button",variant:"ghost",size:"sm","data-testid":"supervisor-why-trigger",children:s})}),(0,t.jsxs)(p.DrawerContent,{className:"max-w-md","data-testid":"supervisor-why-drawer",direction:"right",children:[(0,t.jsxs)(p.DrawerHeader,{children:[(0,t.jsx)(p.DrawerTitle,{children:"Supervisor decision"}),(0,t.jsx)(p.DrawerDescription,{children:1===l.length?"Why the supervisor reached this verdict.":`Audit trail for ${l.length} decisions.`})]}),(0,t.jsx)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto px-4 pb-6","data-testid":"supervisor-why-content",children:l.map(e=>(0,t.jsxs)("article",{className:"flex flex-col gap-2 rounded border p-3","data-testid":`decision-row-${e.decisionId}`,children:[(0,t.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(n.Badge,{variant:m[e.verdict]??"secondary","data-testid":`decision-verdict-${e.decisionId}`,className:"capitalize",children:e.verdict}),(0,t.jsx)("time",{className:"text-muted-foreground text-xs",children:function(e){try{return new Date(e).toLocaleString()}catch{return e}}(e.createdAt)})]}),(0,t.jsx)("p",{className:"text-sm whitespace-pre-wrap","data-testid":`decision-rationale-${e.decisionId}`,children:e.rationale}),(0,t.jsxs)("dl",{className:"text-muted-foreground grid grid-cols-2 gap-x-4 gap-y-1 text-xs",children:[(0,t.jsx)("dt",{children:"Model"}),(0,t.jsx)("dd",{"data-testid":`decision-model-${e.decisionId}`,children:e.modelId}),(0,t.jsx)("dt",{children:"Prompt version"}),(0,t.jsx)("dd",{"data-testid":`decision-prompt-${e.decisionId}`,children:e.promptVersion}),e.ruleRef?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:"Rule"}),(0,t.jsx)("dd",{"data-testid":`decision-rule-${e.decisionId}`,children:e.ruleRef})]}):null,"number"==typeof e.confidence?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:"Confidence"}),(0,t.jsxs)("dd",{"data-testid":`decision-confidence-${e.decisionId}`,children:[Math.round(100*e.confidence),"%"]})]}):null,(0,t.jsx)("dt",{children:"Source"}),(0,t.jsxs)("dd",{children:[e.sourceEventKind," · ",e.sourceEventId]})]})]},e.decisionId))}),(0,t.jsxs)("div",{className:"text-muted-foreground border-t p-4 text-xs",children:["Latest verdict: ",(0,t.jsx)("span",{className:"font-medium",children:o.verdict})]})]})]})}let f={[x.SupervisorVerdict.approve]:"default",[x.SupervisorVerdict.reject]:"destructive",[x.SupervisorVerdict.escalate]:"secondary",[x.SupervisorVerdict.advise]:"secondary"},g={advisory:"Advisory",cosign:"Co-sign",autonomous:"Autonomous"};function v({policies:e,recentDecisions:s,names:a={}}){let r=function(e){let t={global:[],app:[],repo:[],feature:[]};for(let s of e)s.featureId?t.feature.push(s):"global"===s.scopeType?t.global.push(s):"app"===s.scopeType?t.app.push(s):"repo"===s.scopeType&&t.repo.push(s);return t}(e);return(0,t.jsxs)("div",{className:"flex flex-col gap-8","data-testid":"supervisor-dashboard",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsxs)("h1",{className:"flex items-center gap-2 text-2xl font-semibold",children:[(0,t.jsx)(d.ShieldCheck,{className:"size-6"}),"Supervisor"]}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Every configured supervisor policy and the most recent decisions across all scopes."})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"supervisor-policies",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold tracking-wide uppercase",children:["Policies ",(0,t.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",e.length,")"]})]}),0===e.length?(0,t.jsx)(y,{}):(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)(b,{kind:"global",policies:r.global,names:a,"data-testid":"scope-group-global"}),(0,t.jsx)(b,{kind:"app",policies:r.app,names:a,"data-testid":"scope-group-app"}),(0,t.jsx)(b,{kind:"repo",policies:r.repo,names:a,"data-testid":"scope-group-repo"}),(0,t.jsx)(b,{kind:"feature",policies:r.feature,names:a,"data-testid":"scope-group-feature"})]})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"supervisor-recent-decisions",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold tracking-wide uppercase",children:["Recent decisions"," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",s.length,")"]})]}),0===s.length?(0,t.jsx)("p",{className:"text-muted-foreground rounded-lg border border-dashed p-4 text-sm",children:"No decisions yet — the supervisor hasn't been invoked or no policies are configured."}):(0,t.jsx)("ul",{className:"flex flex-col divide-y rounded-lg border",children:s.map(e=>{var s,a,r;return(0,t.jsxs)("li",{className:"flex items-start gap-3 px-3 py-2","data-testid":`recent-decision-${e.decisionId}`,children:[(0,t.jsx)(n.Badge,{variant:f[e.verdict]??"secondary",className:"mt-0.5 capitalize",children:e.verdict}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("p",{className:"line-clamp-1 text-sm",children:e.rationale}),(0,t.jsxs)("p",{className:"text-muted-foreground text-xs",children:[(s=e.scopeType,a=e.scopeId,(r=e.featureId)?`feature:${r.slice(0,8)}`:"global"===s?"global":a?`${s}:${a.slice(0,8)}`:s)," ·"," ",e.sourceEventKind," · ",function(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t))return e;for(let{ms:e,label:s}of w)if(t<e)return s(Math.max(1,Math.floor(t/(6e4===e?1e3:36e5===e?6e4:36e5))));return new Date(e).toLocaleDateString()}(e.createdAt)]})]}),(0,t.jsx)(h,{decisions:[e],triggerLabel:"Why?"})]},e.decisionId)})})]})]})}let j={global:"Global",app:"Applications",repo:"Repositories",feature:"Per-feature overrides"};function b({kind:e,policies:a,names:r,...i}){return 0===a.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-2",...i,children:[(0,t.jsxs)("p",{className:"text-muted-foreground flex items-center gap-1.5 text-xs font-medium",children:[(0,t.jsx)(N,{kind:e,className:"size-3"}),j[e]," (",a.length,")"]}),(0,t.jsx)("ul",{className:"flex flex-col divide-y rounded-lg border",children:a.map(a=>{var i;return(0,t.jsxs)("li",{className:"flex items-center gap-3 px-3 py-2","data-testid":`policy-row-${a.id}`,children:[(0,t.jsx)(N,{kind:e,className:"text-muted-foreground size-4 shrink-0","aria-hidden":!0}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("p",{className:"truncate text-sm font-medium",children:function(e,t){if(e.featureId){let s=t.feature?.[e.featureId]??e.featureId,a=e.scopeId?t["app"===e.scopeType?"app":"repo"]?.[e.scopeId]??e.scopeId:"global";return`${s} (under ${a})`}if("global"===e.scopeType)return"Global default";let s="app"===e.scopeType?t.app:t.repo;return e.scopeId?s?.[e.scopeId]??e.scopeId:e.scopeType}(a,r)}),(0,t.jsxs)("p",{className:"text-muted-foreground text-xs",children:[g[a.autonomyLevel]??a.autonomyLevel,a.modelId?` \xb7 ${a.modelId}`:""]})]}),(0,t.jsx)(n.Badge,{variant:a.enabled?"default":"secondary",className:"shrink-0",children:a.enabled?"Enabled":"Disabled"}),(0,t.jsxs)(s.default,{href:(i=a).featureId?`/supervisor/feature/${i.featureId}`:"app"===i.scopeType&&i.scopeId?`/application/${i.scopeId}/supervisor`:"repo"===i.scopeType&&i.scopeId?`/supervisor/repo/${i.scopeId}`:"/supervisor",className:"text-primary inline-flex shrink-0 items-center gap-1 text-xs hover:underline","data-testid":`policy-link-${a.id}`,children:["Configure",(0,t.jsx)(o.ArrowRight,{className:"size-3"})]})]},a.id)})})]})}function y(){return(0,t.jsxs)("div",{className:"bg-muted/30 flex flex-col items-start gap-3 rounded-lg border border-dashed p-6",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:"No supervisor policies configured"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Configure a supervisor at the global, application, repository, or feature level. The cascade picks the most specific match (feature > repo > app > global) at run time."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(s.default,{href:"/",className:"border-border hover:bg-muted inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium","data-testid":"empty-policies-cta-app",children:[(0,t.jsx)(r.Layers,{className:"size-3"}),"Pick an application"]}),(0,t.jsxs)(s.default,{href:"/agents",className:"border-border hover:bg-muted inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium","data-testid":"empty-policies-cta-agents",children:[(0,t.jsx)(o.ArrowRight,{className:"size-3"}),"Edit agent prompts instead"]})]})]})}function N({kind:e,className:s,...o}){let d="global"===e?a:"app"===e?r.Layers:"repo"===e?i.GitBranch:l.Sparkles;return(0,t.jsx)(d,{className:s,...o})}let w=[{ms:6e4,label:e=>`${e}s ago`},{ms:36e5,label:e=>`${e}m ago`},{ms:864e5,label:e=>`${e}h ago`}];e.s(["SupervisorDashboard",()=>v],991610)},417784,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(3214),r=e.i(735364),i=e.i(602287),l=e.i(141957),o=e.i(547373),d=e.i(320331);function n({applications:e,repositories:n,features:u,initialOpen:p}){let[x,m]=(0,s.useState)(!!p),[h,f]=(0,s.useState)("global"),[g,v]=(0,s.useState)(""),[j,b]=(0,s.useState)(""),[y,N]=(0,s.useState)(""),w="global"===h||"app"===h&&g.length>0||"repo"===h&&j.length>0||"feature"===h&&y.length>0,S="feature"===h?function(e,t){if(!e)return"global";let s=t.find(t=>t.id===e);return s?.applicationId?"app":s?.repositoryId?"repo":"global"}(y,u):h,k="app"===h?g:"repo"===h?j:"feature"===h?function(e,t){if(!e)return;let s=t.find(t=>t.id===e);return s?.applicationId??s?.repositoryId}(y,u):void 0,D="feature"===h?y:void 0;return(0,t.jsxs)(i.Dialog,{open:x,onOpenChange:e=>{m(e),e||(f("global"),v(""),b(""),N(""))},children:[(0,t.jsx)(i.DialogTrigger,{asChild:!0,children:(0,t.jsxs)(r.Button,{"data-testid":"create-supervisor-trigger",children:[(0,t.jsx)(a.Plus,{className:"size-4"}),"Create supervisor"]})}),(0,t.jsxs)(i.DialogContent,{className:"max-w-xl","data-testid":"create-supervisor-dialog",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)(i.DialogTitle,{children:"Create supervisor policy"}),(0,t.jsx)(i.DialogDescription,{children:"Pick the scope this supervisor watches, then configure how aggressive it should be. More-specific scopes override less-specific ones at run time."})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(l.Label,{htmlFor:"create-supervisor-scope",children:"Scope"}),(0,t.jsxs)(o.Select,{value:h,onValueChange:e=>f(e),children:[(0,t.jsx)(o.SelectTrigger,{id:"create-supervisor-scope","data-testid":"scope-trigger",children:(0,t.jsx)(o.SelectValue,{})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"global",children:"Global default"}),(0,t.jsxs)(o.SelectItem,{value:"app",disabled:0===e.length,children:["Application",0===e.length?" (none yet)":""]}),(0,t.jsxs)(o.SelectItem,{value:"repo",disabled:0===n.length,children:["Repository",0===n.length?" (none yet)":""]}),(0,t.jsxs)(o.SelectItem,{value:"feature",disabled:0===u.length,children:["Per-feature override",0===u.length?" (none yet)":""]})]})]})]}),"app"===h?(0,t.jsx)(c,{id:"create-supervisor-app",label:"Application",value:g,onChange:v,options:e,testid:"app-trigger"}):null,"repo"===h?(0,t.jsx)(c,{id:"create-supervisor-repo",label:"Repository",value:j,onChange:b,options:n,testid:"repo-trigger"}):null,"feature"===h?(0,t.jsx)(c,{id:"create-supervisor-feature",label:"Feature",value:y,onChange:N,options:u.map(e=>({id:e.id,name:e.name})),testid:"feature-trigger"}):null]}),w?(0,t.jsx)(d.SupervisorConfigForm,{scopeType:S,...void 0!==k&&{scopeId:k},...void 0!==D&&{featureId:D},initialPolicy:null}):(0,t.jsx)(i.DialogFooter,{children:(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:"Pick a scope above to configure the supervisor."})})]})]})}function c({id:e,label:s,value:a,onChange:r,options:i,testid:d}){return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(l.Label,{htmlFor:e,children:s}),(0,t.jsxs)(o.Select,{value:a,onValueChange:r,disabled:0===i.length,children:[(0,t.jsx)(o.SelectTrigger,{id:e,"data-testid":d,children:(0,t.jsx)(o.SelectValue,{placeholder:`Pick a ${s.toLowerCase()}`})}),(0,t.jsx)(o.SelectContent,{children:i.map(e=>(0,t.jsx)(o.SelectItem,{value:e.id,children:e.name},e.id))})]})]})}e.s(["CreateSupervisorDialog",()=>n])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,151080,e=>{"use strict";var t=e.i(152155),r=e.i(291967),s=e.i(787342),a=e.i(205978),l=e.i(922528),i=e.i(713123),n=e.i(287620),o=e.i(929297),d=e.i(936589),c=e.i(566033),u=e.i(679606),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},m="RovingFocusGroup",[x,h,g]=(0,s.createCollection)(m),[y,v]=(0,l.createContextScope)(m,[g]),[j,b]=y(m),N=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})})}));N.displayName=m;var w=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:l,orientation:i,loop:x=!1,dir:g,currentTabStopId:y,defaultCurrentTabStopId:v,onCurrentTabStopIdChange:b,onEntryFocus:N,preventScrollOnEntryFocus:w=!1,...k}=e,C=t.useRef(null),S=(0,a.useComposedRefs)(s,C),D=(0,c.useDirection)(g),[T,L]=(0,d.useControllableState)({prop:y,defaultProp:v??null,onChange:b,caller:m}),[A,z]=t.useState(!1),E=(0,o.useCallbackRef)(N),I=h(l),F=t.useRef(!1),[P,M]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(f,E),()=>e.removeEventListener(f,E)},[E]),(0,u.jsx)(j,{scope:l,orientation:i,dir:D,loop:x,currentTabStopId:T,onItemFocus:t.useCallback(e=>L(e),[L]),onItemShiftTab:t.useCallback(()=>z(!0),[]),onFocusableItemAdd:t.useCallback(()=>M(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>M(e=>e-1),[]),children:(0,u.jsx)(n.Primitive.div,{tabIndex:A||0===P?-1:0,"data-orientation":i,...k,ref:S,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{F.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!F.current;if(e.target===e.currentTarget&&t&&!A){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=I().filter(e=>e.focusable);R([e.find(e=>e.active),e.find(e=>e.id===T),...e].filter(Boolean).map(e=>e.ref.current),w)}}F.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>z(!1))})})}),k="RovingFocusGroupItem",C=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:a,focusable:l=!0,active:o=!1,tabStopId:d,children:c,...f}=e,p=(0,i.useId)(),m=d||p,g=b(k,a),y=g.currentTabStopId===m,v=h(a),{onFocusableItemAdd:j,onFocusableItemRemove:N,currentTabStopId:w}=g;return t.useEffect(()=>{if(l)return j(),()=>N()},[l,j,N]),(0,u.jsx)(x.ItemSlot,{scope:a,id:m,focusable:l,active:o,children:(0,u.jsx)(n.Primitive.span,{tabIndex:y?0:-1,"data-orientation":g.orientation,...f,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l?g.onItemFocus(m):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(m)),onKeyDown:(0,r.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,r){var s;let a=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return S[a]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&a.reverse();let l=a.indexOf(e.currentTarget);a=g.loop?(r=a,s=l+1,r.map((e,t)=>r[(s+t)%r.length])):a.slice(l+1)}setTimeout(()=>R(a))}}),children:"function"==typeof c?c({isCurrentTabStop:y,hasTabStop:null!=w}):c})})});C.displayName=k;var S={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function R(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",()=>C,"Root",()=>N,"createRovingFocusGroupScope",()=>v])},468304,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(291967),a=e.i(922528),l=e.i(151080),i=e.i(685995),n=e.i(287620),o=e.i(566033),d=e.i(936589),c=e.i(713123),u="Tabs",[f,p]=(0,a.createContextScope)(u,[l.createRovingFocusGroupScope]),m=(0,l.createRovingFocusGroupScope)(),[x,h]=f(u),g=r.forwardRef((e,r)=>{let{__scopeTabs:s,value:a,onValueChange:l,defaultValue:i,orientation:f="horizontal",dir:p,activationMode:m="automatic",...h}=e,g=(0,o.useDirection)(p),[y,v]=(0,d.useControllableState)({prop:a,onChange:l,defaultProp:i??"",caller:u});return(0,t.jsx)(x,{scope:s,baseId:(0,c.useId)(),value:y,onValueChange:v,orientation:f,dir:g,activationMode:m,children:(0,t.jsx)(n.Primitive.div,{dir:g,"data-orientation":f,...h,ref:r})})});g.displayName=u;var y="TabsList",v=r.forwardRef((e,r)=>{let{__scopeTabs:s,loop:a=!0,...i}=e,o=h(y,s),d=m(s);return(0,t.jsx)(l.Root,{asChild:!0,...d,orientation:o.orientation,dir:o.dir,loop:a,children:(0,t.jsx)(n.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...i,ref:r})})});v.displayName=y;var j="TabsTrigger",b=r.forwardRef((e,r)=>{let{__scopeTabs:a,value:i,disabled:o=!1,...d}=e,c=h(j,a),u=m(a),f=k(c.baseId,i),p=C(c.baseId,i),x=i===c.value;return(0,t.jsx)(l.Item,{asChild:!0,...u,focusable:!o,active:x,children:(0,t.jsx)(n.Primitive.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":p,"data-state":x?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:f,...d,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(i)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(i)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;x||o||!e||c.onValueChange(i)})})})});b.displayName=j;var N="TabsContent",w=r.forwardRef((e,s)=>{let{__scopeTabs:a,value:l,forceMount:o,children:d,...c}=e,u=h(N,a),f=k(u.baseId,l),p=C(u.baseId,l),m=l===u.value,x=r.useRef(m);return r.useEffect(()=>{let e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(i.Presence,{present:o||m,children:({present:r})=>(0,t.jsx)(n.Primitive.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!r,id:p,tabIndex:0,...c,ref:s,style:{...e.style,animationDuration:x.current?"0s":void 0},children:r&&d})})});function k(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}w.displayName=N,e.s(["Content",()=>w,"List",()=>v,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>w,"TabsList",()=>v,"TabsTrigger",()=>b,"Trigger",()=>b,"createTabsScope",()=>p],743133);var S=e.i(743133),S=S,R=e.i(131777);let D=S.Root,T=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.List,{ref:s,className:(0,R.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));T.displayName=S.List.displayName;let L=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.Trigger,{ref:s,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),...r}));L.displayName=S.Trigger.displayName;let A=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.Content,{ref:s,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),...r}));A.displayName=S.Content.displayName,e.s(["Tabs",()=>D,"TabsContent",()=>A,"TabsList",()=>T,"TabsTrigger",()=>L],468304)},81846,e=>{"use strict";var t=e.i(679606),r=e.i(294237),s=e.i(131777);let a=(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)(a({variant:r}),e),...l})}e.s(["Badge",()=>l])},787342,e=>{"use strict";var t=e.i(152155),r=e.i(922528),s=e.i(205978),a=e.i(786874),l=e.i(679606);function i(e){let i=e+"CollectionProvider",[n,o]=(0,r.createContextScope)(i),[d,c]=n(i,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:s}=e,a=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,l.jsx)(d,{scope:r,itemMap:i,collectionRef:a,children:s})};u.displayName=i;let f=e+"CollectionSlot",p=(0,a.createSlot)(f),m=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,i=c(f,r),n=(0,s.useComposedRefs)(t,i.collectionRef);return(0,l.jsx)(p,{ref:n,children:a})});m.displayName=f;let x=e+"CollectionItemSlot",h="data-radix-collection-item",g=(0,a.createSlot)(x),y=t.default.forwardRef((e,r)=>{let{scope:a,children:i,...n}=e,o=t.default.useRef(null),d=(0,s.useComposedRefs)(r,o),u=c(x,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...n}),()=>void u.itemMap.delete(o))),(0,l.jsx)(g,{...{[h]:""},ref:d,children:i})});return y.displayName=x,[{Provider:u,Slot:m,ItemSlot:y},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(`[${h}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},o]}var n=new WeakMap;function o(e,t){var r,s;let a,l,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(r=e,s=t,a=r.length,(i=(l=d(s))>=0?l:a+l)<0||i>=a?-1:i);return -1===n?void 0:e[n]}function d(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,r){let s,a=this.has(t),l=this.#e.length,i=d(e),n=i>=0?i:l+i,o=n<0||n>=l?-1:n;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!a;i<0&&n++;let u=[...this.#e],f=!1;for(let e=n;e<c;e++)if(n===e){let l=u[e];u[e]===t&&(l=u[e+1]),a&&this.delete(t),s=this.get(l),this.set(t,r)}else{f||u[e-1]!==t||(f=!0);let r=u[f?e:e-1],a=s;s=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,s){let a=new e(this);return a.insert(t,r,s),a}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=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 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=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&s.push(e),a++;return new e(s)}map(t,r){let s=[],a=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(s)}reduce(...e){let[t,r]=e,s=0,a=r??this.at(0);for(let r of this)a=0===s&&1===e.length?r:Reflect.apply(t,this,[a,r,s,this]),s++;return a}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);s=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[s,a,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,a=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;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",()=>i])},141957,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(287620),a=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())}}));a.displayName="Label",e.s(["Label",()=>a,"Root",()=>a],127572);var l=e.i(127572),l=l,i=e.i(294237),n=e.i(131777);let o=(0,i.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(l.Root,{ref:s,className:(0,n.cn)(o(),e),...r}));d.displayName=l.Root.displayName,e.s(["Label",()=>d],141957)},619933,e=>{"use strict";let t=(0,e.i(903645).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],619933)},1650,e=>{"use strict";e.i(511495),e.s([])},511495,872714,81803,917466,199348,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(948249),a=e.i(724042),l=e.i(64970),i=e.i(294237),n=e.i(131777),o=e.i(83428),d=e.i(151251),c=e.i(735364),u=e.i(808361);function f({label:e,onClick:r,loading:s,error:a,icon:l,iconOnly:i=!1,variant:f="outline",size:p="sm"}){let m=(0,u.useSoundAction)("click");return(0,t.jsxs)(c.Button,{variant:f,size:p,"aria-label":e,disabled:s,onClick:()=>{m.play(),r()},className:(0,n.cn)("gap-1.5",a&&"text-destructive hover:text-destructive",!a&&i&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[s?(0,t.jsx)(o.Loader2,{className:"size-4 animate-spin"}):a?(0,t.jsx)(d.CircleAlert,{className:"size-4"}):(0,t.jsx)(l,{className:"size-4"}),i?null:e]})}e.s(["ActionButton",()=>f],872714),e.s([],81803);var p=e.i(730702),m=e.i(338573),x=e.i(317406),h=e.i(102828),g=e.i(602287),y=e.i(508893);let v=(0,y.createServerReference)("405723722c9eb9b4888b52203cfb121401f0c61a80",y.callServer,void 0,y.findSourceMapURL,"getDeploymentLogs");function j({open:e,onOpenChange:s,targetId:a}){let{logs:l,isConnected:i}=function(e){let[t,s]=(0,r.useState)([]),[a,l]=(0,r.useState)(!1),i=(0,r.useRef)(null),n=(0,r.useCallback)(()=>{i.current&&(i.current.close(),i.current=null),l(!1)},[]);return(0,r.useEffect)(()=>{if(!e){s([]),l(!1);return}v(e).then(e=>{e&&s(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return i.current=t,t.onopen=()=>{l(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);s(e=>[...e,t])}),t.onerror=()=>{l(!1)},()=>{t.close(),i.current=null}},[e,n]),{logs:t,isConnected:a}}(e?a:null);return(0,t.jsx)(b,{open:e,onOpenChange:s,logs:l,isConnected:i})}function b({open:e,onOpenChange:s,logs:a,isConnected:l}){let i=(0,r.useRef)(null),n=(0,r.useRef)(!0),o=(0,r.useCallback)(()=>{let e=i.current;e&&(n.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{n.current&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[a]),(0,t.jsx)(g.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(g.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,t.jsxs)(g.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,t.jsx)(g.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${l?"bg-green-500":"bg-zinc-500"}`}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:l?"Connected":"Disconnected"})]})]}),(0,t.jsxs)("div",{ref:i,onScroll:o,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,t.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,t.jsx)(N,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!l&&a.length>0&&(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function N({entry:e}){return(0,t.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,t.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let w="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function k({status:e,url:s,targetId:a}){let[l,i]=(0,r.useState)(!1),n=a&&(e===x.DeploymentState.Booting||e===x.DeploymentState.Ready);switch(e){case x.DeploymentState.Booting:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,t.jsx)(o.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),n?(0,t.jsx)(h.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:w,onClick:e=>{e.stopPropagation(),i(!0)},children:(0,t.jsx)(m.Terminal,{className:"size-3.5"})})}),(0,t.jsx)(h.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),n?(0,t.jsx)(j,{open:l,onOpenChange:i,targetId:a}):null]});case x.DeploymentState.Ready:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,t.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),s?(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[s,(0,t.jsx)(p.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,t.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),n?(0,t.jsx)(h.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:w,onClick:e=>{e.stopPropagation(),i(!0)},children:(0,t.jsx)(m.Terminal,{className:"size-3.5"})})}),(0,t.jsx)(h.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),n?(0,t.jsx)(j,{open:l,onOpenChange:i,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>k],917466),e.s([],199348);var C=e.i(845811),S=e.i(425235);e.i(541001);var R=e.i(64780),D=e.i(8537),T=e.i(175921);let L=(0,i.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function A({open:e,onClose:a,modal:l=!1,dismissOnOutsideClick:i=!1,title:o="Drawer",size:d,header:c,children:u,footer:f,className:p,"data-testid":m,deployTarget:x}){let{i18n:h}=(0,R.useTranslation)(),g=(0,T.useFeatureFlags)(),y=(0,r.useRef)(null),v="rtl"===h.dir()?"left":"right";return(0,r.useEffect)(()=>{if(!e||l)return;let t=e=>{let t=e.target;!document.body.contains(t)||y.current?.contains(t)||t.closest(i?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,l,a,i]),(0,t.jsxs)(C.Drawer,{direction:v,modal:l,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[l?(0,t.jsx)(C.DrawerOverlay,{}):null,(0,t.jsxs)(C.DrawerContent,{ref:y,direction:v,showCloseButton:!1,className:(0,n.cn)(L({size:d}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",p),"data-testid":m,onInteractOutside:l?void 0:e=>e.preventDefault(),children:[(0,t.jsx)(C.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:o})}),(0,t.jsx)(C.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:o})}),(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":m?`${m}-close-button`:void 0,children:[(0,t.jsx)(s.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),c?(0,t.jsx)(C.DrawerHeader,{className:"shrink-0",children:c}):null,c?(0,t.jsx)(S.Separator,{}):null,g.envDeploy&&x?(0,t.jsx)(z,{deployTarget:x}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:u}),f?(0,t.jsx)(C.DrawerFooter,{className:"shrink-0",children:f}):null]})]})}function z({deployTarget:e}){let r=(0,D.useDeployAction)(e),s="Booting"===r.status||"Ready"===r.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(h.TooltipProvider,{children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(f,{label:s?"Stop Dev Server":"Start Dev Server",onClick:s?r.stop:r.deploy,loading:r.deployLoading||r.stopLoading,error:!!r.deployError,icon:s?l.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(h.TooltipContent,{children:s?"Stop Dev Server":"Start Dev Server"})]})}),s?(0,t.jsx)(k,{status:r.status,url:r.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>A],511495)},602287,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(90033),a=e.i(860253),l=e.i(131777);let i=s.Dialog.Root,n=s.Dialog.Trigger,o=s.Dialog.Portal,d=s.Dialog.Close,c=r.forwardRef(({className:e,onClick:r,...a},i)=>(0,t.jsx)(s.Dialog.Overlay,{ref:i,className:(0,l.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),r?.(e)},...a}));c.displayName=s.Dialog.Overlay.displayName;let u=r.forwardRef(({className:e,children:r,...i},n)=>(0,t.jsxs)(o,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,l.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...i,children:[r,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(a.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=s.Dialog.Content.displayName;let f=({className:e,...r})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...r});f.displayName="DialogHeader";let p=({className:e,...r})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...r});p.displayName="DialogFooter";let m=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(s.Dialog.Title,{ref:a,className:(0,l.cn)("text-lg leading-none font-semibold tracking-tight",e),...r}));m.displayName=s.Dialog.Title.displayName;let x=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(s.Dialog.Description,{ref:a,className:(0,l.cn)("text-muted-foreground text-sm",e),...r}));x.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>i,"DialogClose",()=>d,"DialogContent",()=>u,"DialogDescription",()=>x,"DialogFooter",()=>p,"DialogHeader",()=>f,"DialogTitle",()=>m,"DialogTrigger",()=>n])},66459,e=>{"use strict";let t=(0,e.i(903645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],66459)},338573,e=>{"use strict";let t=(0,e.i(903645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],338573)},730702,e=>{"use strict";let t=(0,e.i(903645).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],730702)},724042,e=>{"use strict";let t=(0,e.i(903645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],724042)},873504,202481,73645,481605,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(317406),a=e.i(508893);let l=(0,a.createServerReference)("401846920f6fb739e32233d9d6a6df7945b8621c00",a.callServer,void 0,a.findSourceMapURL,"deployFeature"),i=(0,a.createServerReference)("408a28f520d819792447d4b47d9b73a5ddf7296469",a.callServer,void 0,a.findSourceMapURL,"deployRepository");e.s(["deployRepository",()=>i],202481);let n=(0,a.createServerReference)("4005923232df16201d86b35c46dbbe719725cbcd26",a.callServer,void 0,a.findSourceMapURL,"deployApplication"),o=(0,a.createServerReference)("409ab95b1ec58ad7dd578b018e11d5bd766839f8bc",a.callServer,void 0,a.findSourceMapURL,"stopDeployment");e.s(["stopDeployment",()=>o],73645);let d=(0,a.createServerReference)("40ed3ea24841c9c4280513ab004dcdbce3d545bcdb",a.callServer,void 0,a.findSourceMapURL,"getDeploymentStatus");var c=e.i(118354);let u={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class f{entries=new Map;listeners=new Map;globalListeners=new Set;fullyHydrated=!1;isFullyHydrated(){return this.fullyHydrated}hydrate(e){let t=new Set;for(let r of e)t.add(r.targetId),this.update(r.targetId,{status:r.state,url:r.url,targetType:r.targetType,hydrated:!0});for(let[e,r]of this.entries)!t.has(e)&&r.hydrated&&null!==r.status?this.update(e,{status:null,url:null}):t.has(e)||r.hydrated||this.update(e,{hydrated:!0});this.fullyHydrated=!0}getEntry(e){return this.entries.get(e)??u}update(e,t){let r={...this.entries.get(e)??u,...t};this.entries.set(e,r),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let r=this.listeners.get(e);return r||(r=new Set,this.listeners.set(e,r)),r.add(t),()=>{r?.delete(t),r?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>f,"EMPTY_ENTRY",0,u],481605);let p=(0,c.createLogger)("[DeploymentStatusProvider]"),m=new Set([s.DeploymentState.Booting,s.DeploymentState.Ready]),x=(0,r.createContext)(null);function h({initialDeployments:e,children:a}){let c=(0,r.useRef)(null);c.current||(c.current=new f,c.current.hydrate(e));let u=c.current;(0,r.useEffect)(()=>{u.hydrate(e)},[e,u]);let h=(0,r.useRef)(new Map),g=(0,r.useCallback)(e=>{let t=h.current.get(e);t&&(clearInterval(t),h.current.delete(e))},[]),y=(0,r.useCallback)(e=>{if(h.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await d(e)}catch(t){p.warn(`poll failed for "${e}"`,t),u.setStatus(e,null),g(e);return}if(!t||t.state===s.DeploymentState.Stopped){u.setStatus(e,null),g(e);return}u.setStatus(e,t)},3e3);h.current.set(e,t)},[u,g]);(0,r.useEffect)(()=>{let e=h.current,t=u.subscribeAll(()=>{for(let[t]of e){let e=u.getEntry(t);e.status&&m.has(e.status)||g(t)}});return()=>{for(let[,r]of(t(),e))clearInterval(r);e.clear()}},[u,g]);let v=(0,r.useCallback)(e=>{if(e&&!u.getEntry(e).hydrated){if(u.isFullyHydrated())return void u.update(e,{hydrated:!0});u.update(e,{hydrated:!0}),(async()=>{try{let t=await d(e);u.setStatus(e,t),t&&m.has(t.state)&&y(e)}catch(t){p.warn(`ensureHydrated failed for "${e}"`,t)}})()}},[u,y]),j=(0,r.useCallback)(async e=>{u.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await n(e.targetId):await i(e.repositoryPath);if(!t.success)return void u.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});u.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),y(e.targetId)}catch(r){let t=r instanceof Error?r.message:"An unexpected error occurred";u.update(e.targetId,{deployLoading:!1,deployError:t})}},[u,y]),b=(0,r.useCallback)(async e=>{if(e){u.update(e,{stopLoading:!0});try{(await o(e)).success?(g(e),u.update(e,{stopLoading:!1,status:null,url:null})):u.update(e,{stopLoading:!1})}catch(t){p.warn("stop error (non-critical)",t),u.update(e,{stopLoading:!1})}}},[u,g]),N=(0,r.useMemo)(()=>({store:u,deploy:j,stop:b,ensureHydrated:v}),[u,j,b,v]);return(0,t.jsx)(x.Provider,{value:N,children:a})}function g(){let e=(0,r.useContext)(x);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function y(){let e=(0,r.useContext)(x);return e||v}let v={store:new f,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>h,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>y],873504)},8537,e=>{"use strict";var t=e.i(152155),r=e.i(873504);function s(){}function a(e){let{store:a,deploy:l,stop:i,ensureHydrated:n}=(0,r.useDeploymentStatusContextOptional)(),o=e?.targetId??"",d=(0,t.useCallback)(e=>o?a.subscribe(o,e):s,[a,o]),c=(0,t.useCallback)(()=>o?a.getEntry(o):a.getEntry(""),[a,o]),u=(0,t.useSyncExternalStore)(d,c,c);return(0,t.useEffect)(()=>{o&&n(o)},[o,n]),{deploy:(0,t.useCallback)(async()=>{e&&await l(e)},[l,e]),stop:(0,t.useCallback)(async()=>{o&&await i(o)},[i,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>a])},454793,207729,e=>{"use strict";var t=e.i(679606),r=e.i(131777);function s({icon:e,title:s,description:a,action:l,className:i,...n}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,l?(0,t.jsx)("div",{className:"mt-2",children:l}):null]})}e.s(["EmptyState",()=>s],207729),e.s([],454793)},809443,185871,e=>{"use strict";var t=e.i(679606),r=e.i(131777);function s({title:e,description:s,children:a,className:l}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex items-center justify-between gap-4",l),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),s?(0,t.jsx)("p",{className:"text-muted-foreground",children:s}):null]}),a?(0,t.jsx)("div",{"data-slot":"actions",children:a}):null]})}e.s(["PageHeader",()=>s],185871),e.s([],809443)},200956,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(131777);let a=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...r}));a.displayName="Card";let l=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",e),...r}));l.displayName="CardHeader";let i=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("leading-none font-semibold tracking-tight",e),...r}));i.displayName="CardTitle";let n=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("text-muted-foreground text-sm",e),...r}));n.displayName="CardDescription";let o=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("p-6 pt-0",e),...r}));o.displayName="CardContent",r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("flex items-center p-6 pt-0",e),...r})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>o,"CardDescription",()=>n,"CardHeader",()=>l,"CardTitle",()=>i])},638752,e=>{"use strict";var t=e.i(679606);e.i(1650);var r=e.i(511495),s=e.i(845811),a=e.i(81846),l=e.i(425235),i=e.i(619933);function n({skill:e,onClose:n}){return(0,t.jsx)(r.BaseDrawer,{open:null!==e,onClose:n,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.DrawerTitle,{children:e.displayName}),(0,t.jsx)(s.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(a.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(a.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(a.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(i.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>n])},316919,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(66459),a=e.i(912103),l=e.i(698127),i=e.i(735364);e.i(809443);var n=e.i(185871);e.i(454793);var o=e.i(207729),d=e.i(200956),c=e.i(81846),u=e.i(619933);function f({skill:e,onSelect:r}){return(0,t.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>r(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),r(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,t.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let p=["Workflow","Code Generation","Analysis","Reference"];function m({skills:e,onSkillSelect:r}){let s=function(e){let t=new Map;for(let r of e){let e=t.get(r.category)??[];e.push(r),t.set(r.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:p.map(e=>{let a=s.get(e);return a&&0!==a.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",a.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:a.map(e=>(0,t.jsx)(f,{skill:e,onSelect:r},e.name))})]},e):null})})}let x=[{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:r,counts:s}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:x.map(({label:a,value:l})=>(0,t.jsxs)(i.Button,{variant:e===l?"default":"outline",size:"sm",onClick:()=>r(l),children:[a,s&&l?(0,t.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",s[l],")"]}):null]},a))})}var g=e.i(638752),y=e.i(425235),v=e.i(711434),j=e.i(3214),b=e.i(860253),N=e.i(360112),w=e.i(508893);let k=(0,w.createServerReference)("404cbbf5cbe0cfdf07d93183de60894f8629e44bbf",w.callServer,void 0,w.findSourceMapURL,"removeInjectedSkill");var C=e.i(602287),S=e.i(141957),R=e.i(468304);let D=(0,w.createServerReference)("40f4b35b187e528b58a0ceffc79c02c821fbf3d40b",w.callServer,void 0,w.findSourceMapURL,"addInjectedSkill");function T({open:e,onOpenChange:s,onAdded:a,discoveredSkills:n,existingSkillNames:o}){let[d,c]=(0,r.useState)(!1),[u,f]=(0,r.useState)(""),[p,m]=(0,r.useState)(""),[x,h]=(0,r.useState)(""),g=n.filter(e=>!o.includes(e.name)),y=async e=>{c(!0);let t=await D({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),t.success)?(N.toast.success(`Added "${e.name}" to feature skills`),a()):N.toast.error(t.error??"Failed to add skill")},v=async()=>{if(!u.trim()||!p.trim())return void N.toast.error("Name and source are required");c(!0);let e=await D({name:u.trim(),type:"remote",source:p.trim(),...x.trim()&&{remoteSkillName:x.trim()}});(c(!1),e.success)?(N.toast.success(`Added "${u.trim()}" to feature skills`),f(""),m(""),h(""),a()):N.toast.error(e.error??"Failed to add skill")};return(0,t.jsx)(C.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(C.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Add Skill to Features"})}),(0,t.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,t.jsxs)(R.TabsList,{className:"w-full",children:[(0,t.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,t.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,t.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===g.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,t.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:g.map(e=>(0,t.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>y(e),disabled:d,"data-testid":`add-local-skill-${e.name}`,children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,t.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-name",children:"Name"}),(0,t.jsx)(l.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:u,onChange:e=>f(e.target.value),"data-testid":"remote-skill-name"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,t.jsx)(l.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:p,onChange:e=>m(e.target.value),"data-testid":"remote-skill-source"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,t.jsx)(l.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:x,onChange:e=>h(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,t.jsx)(C.DialogFooter,{children:(0,t.jsx)(i.Button,{onClick:v,disabled:d||!u.trim()||!p.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function L({config:e,discoveredSkills:s}){let a=(0,v.useRouter)(),[l,n]=(0,r.useState)(!1),[o,d]=(0,r.useState)(null),c=(0,r.useMemo)(()=>{let e=new Map;for(let t of s)e.set(t.name,t.description);return e},[s]),u=async e=>{d(e);let t=await k(e);(d(null),t.success)?(N.toast.success(`Removed "${e}" from feature skills`),a.refresh()):N.toast.error(t.error??"Failed to remove skill")};return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,t.jsx)(A,{skill:e,description:c.get(e.name),onRemove:()=>u(e.name),isRemoving:o===e.name},e.name))}):(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,t.jsx)("div",{children:(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:()=>n(!0),"data-testid":"add-injected-skill-button",children:[(0,t.jsx)(j.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,t.jsx)(T,{open:l,onOpenChange:n,onAdded:()=>{n(!1),a.refresh()},discoveredSkills:s,existingSkillNames:e.skills.map(e=>e.name)})]})}function A({skill:e,description:r,onRemove:s,isRemoving:a}){return(0,t.jsxs)(d.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,t.jsx)("div",{className:"min-w-0",children:(0,t.jsx)(d.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,t.jsx)(i.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:s,disabled:a,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,t.jsx)(b.X,{className:"size-4"})})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-2 pt-0",children:[r?(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:r}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,t.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function z({skills:e,injectionConfig:d}){let[c,u]=(0,r.useState)(""),[f,p]=(0,r.useState)(null),[x,v]=(0,r.useState)(null),j=(0,r.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let r of e)t[r.category]++;return t})(e),[e]),b=(0,r.useMemo)(()=>{let t=c.toLowerCase();return e.filter(e=>{if(f&&e.category!==f)return!1;if(t){let r=e.name.toLowerCase().includes(t),s=e.description.toLowerCase().includes(t);if(!r&&!s)return!1}return!0})},[e,c,f]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(L,{config:d,discoveredSkills:e}),(0,t.jsx)(y.Separator,{}),(0,t.jsx)(o.EmptyState,{icon:(0,t.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,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(L,{config:d,discoveredSkills:e}),(0,t.jsx)(y.Separator,{}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(s.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(l.Input,{placeholder:"Search skills...",value:c,onChange:e=>u(e.target.value),className:"ps-9"})]}),(0,t.jsx)(h,{activeCategory:f,onCategoryChange:p,counts:j}),b.length>0?(0,t.jsx)(m,{skills:b,onSkillSelect:v}):(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(s.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{u(""),p(null)},children:"Clear filters"})}),(0,t.jsx)(g.SkillDetailDrawer,{skill:x,onClose:()=>v(null)})]})}e.s(["SkillsPageClient",()=>z],316919)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,151080,e=>{"use strict";var t=e.i(152155),r=e.i(291967),s=e.i(787342),a=e.i(205978),l=e.i(922528),i=e.i(713123),n=e.i(287620),o=e.i(929297),d=e.i(936589),c=e.i(566033),u=e.i(679606),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},m="RovingFocusGroup",[x,h,g]=(0,s.createCollection)(m),[y,v]=(0,l.createContextScope)(m,[g]),[j,b]=y(m),N=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})})}));N.displayName=m;var w=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:l,orientation:i,loop:x=!1,dir:g,currentTabStopId:y,defaultCurrentTabStopId:v,onCurrentTabStopIdChange:b,onEntryFocus:N,preventScrollOnEntryFocus:w=!1,...k}=e,C=t.useRef(null),S=(0,a.useComposedRefs)(s,C),D=(0,c.useDirection)(g),[T,L]=(0,d.useControllableState)({prop:y,defaultProp:v??null,onChange:b,caller:m}),[A,z]=t.useState(!1),E=(0,o.useCallbackRef)(N),I=h(l),F=t.useRef(!1),[P,M]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(f,E),()=>e.removeEventListener(f,E)},[E]),(0,u.jsx)(j,{scope:l,orientation:i,dir:D,loop:x,currentTabStopId:T,onItemFocus:t.useCallback(e=>L(e),[L]),onItemShiftTab:t.useCallback(()=>z(!0),[]),onFocusableItemAdd:t.useCallback(()=>M(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>M(e=>e-1),[]),children:(0,u.jsx)(n.Primitive.div,{tabIndex:A||0===P?-1:0,"data-orientation":i,...k,ref:S,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{F.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!F.current;if(e.target===e.currentTarget&&t&&!A){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=I().filter(e=>e.focusable);R([e.find(e=>e.active),e.find(e=>e.id===T),...e].filter(Boolean).map(e=>e.ref.current),w)}}F.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>z(!1))})})}),k="RovingFocusGroupItem",C=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:a,focusable:l=!0,active:o=!1,tabStopId:d,children:c,...f}=e,p=(0,i.useId)(),m=d||p,g=b(k,a),y=g.currentTabStopId===m,v=h(a),{onFocusableItemAdd:j,onFocusableItemRemove:N,currentTabStopId:w}=g;return t.useEffect(()=>{if(l)return j(),()=>N()},[l,j,N]),(0,u.jsx)(x.ItemSlot,{scope:a,id:m,focusable:l,active:o,children:(0,u.jsx)(n.Primitive.span,{tabIndex:y?0:-1,"data-orientation":g.orientation,...f,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l?g.onItemFocus(m):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(m)),onKeyDown:(0,r.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,r){var s;let a=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return S[a]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&a.reverse();let l=a.indexOf(e.currentTarget);a=g.loop?(r=a,s=l+1,r.map((e,t)=>r[(s+t)%r.length])):a.slice(l+1)}setTimeout(()=>R(a))}}),children:"function"==typeof c?c({isCurrentTabStop:y,hasTabStop:null!=w}):c})})});C.displayName=k;var S={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function R(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",()=>C,"Root",()=>N,"createRovingFocusGroupScope",()=>v])},468304,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(291967),a=e.i(922528),l=e.i(151080),i=e.i(685995),n=e.i(287620),o=e.i(566033),d=e.i(936589),c=e.i(713123),u="Tabs",[f,p]=(0,a.createContextScope)(u,[l.createRovingFocusGroupScope]),m=(0,l.createRovingFocusGroupScope)(),[x,h]=f(u),g=r.forwardRef((e,r)=>{let{__scopeTabs:s,value:a,onValueChange:l,defaultValue:i,orientation:f="horizontal",dir:p,activationMode:m="automatic",...h}=e,g=(0,o.useDirection)(p),[y,v]=(0,d.useControllableState)({prop:a,onChange:l,defaultProp:i??"",caller:u});return(0,t.jsx)(x,{scope:s,baseId:(0,c.useId)(),value:y,onValueChange:v,orientation:f,dir:g,activationMode:m,children:(0,t.jsx)(n.Primitive.div,{dir:g,"data-orientation":f,...h,ref:r})})});g.displayName=u;var y="TabsList",v=r.forwardRef((e,r)=>{let{__scopeTabs:s,loop:a=!0,...i}=e,o=h(y,s),d=m(s);return(0,t.jsx)(l.Root,{asChild:!0,...d,orientation:o.orientation,dir:o.dir,loop:a,children:(0,t.jsx)(n.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...i,ref:r})})});v.displayName=y;var j="TabsTrigger",b=r.forwardRef((e,r)=>{let{__scopeTabs:a,value:i,disabled:o=!1,...d}=e,c=h(j,a),u=m(a),f=k(c.baseId,i),p=C(c.baseId,i),x=i===c.value;return(0,t.jsx)(l.Item,{asChild:!0,...u,focusable:!o,active:x,children:(0,t.jsx)(n.Primitive.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":p,"data-state":x?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:f,...d,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(i)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(i)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;x||o||!e||c.onValueChange(i)})})})});b.displayName=j;var N="TabsContent",w=r.forwardRef((e,s)=>{let{__scopeTabs:a,value:l,forceMount:o,children:d,...c}=e,u=h(N,a),f=k(u.baseId,l),p=C(u.baseId,l),m=l===u.value,x=r.useRef(m);return r.useEffect(()=>{let e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(i.Presence,{present:o||m,children:({present:r})=>(0,t.jsx)(n.Primitive.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!r,id:p,tabIndex:0,...c,ref:s,style:{...e.style,animationDuration:x.current?"0s":void 0},children:r&&d})})});function k(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}w.displayName=N,e.s(["Content",()=>w,"List",()=>v,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>w,"TabsList",()=>v,"TabsTrigger",()=>b,"Trigger",()=>b,"createTabsScope",()=>p],743133);var S=e.i(743133),S=S,R=e.i(131777);let D=S.Root,T=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.List,{ref:s,className:(0,R.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));T.displayName=S.List.displayName;let L=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.Trigger,{ref:s,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),...r}));L.displayName=S.Trigger.displayName;let A=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.Content,{ref:s,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),...r}));A.displayName=S.Content.displayName,e.s(["Tabs",()=>D,"TabsContent",()=>A,"TabsList",()=>T,"TabsTrigger",()=>L],468304)},81846,e=>{"use strict";var t=e.i(679606),r=e.i(294237),s=e.i(131777);let a=(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)(a({variant:r}),e),...l})}e.s(["Badge",()=>l])},787342,e=>{"use strict";var t=e.i(152155),r=e.i(922528),s=e.i(205978),a=e.i(786874),l=e.i(679606);function i(e){let i=e+"CollectionProvider",[n,o]=(0,r.createContextScope)(i),[d,c]=n(i,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:s}=e,a=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,l.jsx)(d,{scope:r,itemMap:i,collectionRef:a,children:s})};u.displayName=i;let f=e+"CollectionSlot",p=(0,a.createSlot)(f),m=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,i=c(f,r),n=(0,s.useComposedRefs)(t,i.collectionRef);return(0,l.jsx)(p,{ref:n,children:a})});m.displayName=f;let x=e+"CollectionItemSlot",h="data-radix-collection-item",g=(0,a.createSlot)(x),y=t.default.forwardRef((e,r)=>{let{scope:a,children:i,...n}=e,o=t.default.useRef(null),d=(0,s.useComposedRefs)(r,o),u=c(x,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...n}),()=>void u.itemMap.delete(o))),(0,l.jsx)(g,{...{[h]:""},ref:d,children:i})});return y.displayName=x,[{Provider:u,Slot:m,ItemSlot:y},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(`[${h}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},o]}var n=new WeakMap;function o(e,t){var r,s;let a,l,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(r=e,s=t,a=r.length,(i=(l=d(s))>=0?l:a+l)<0||i>=a?-1:i);return -1===n?void 0:e[n]}function d(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,r){let s,a=this.has(t),l=this.#e.length,i=d(e),n=i>=0?i:l+i,o=n<0||n>=l?-1:n;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!a;i<0&&n++;let u=[...this.#e],f=!1;for(let e=n;e<c;e++)if(n===e){let l=u[e];u[e]===t&&(l=u[e+1]),a&&this.delete(t),s=this.get(l),this.set(t,r)}else{f||u[e-1]!==t||(f=!0);let r=u[f?e:e-1],a=s;s=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,s){let a=new e(this);return a.insert(t,r,s),a}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=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 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=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&s.push(e),a++;return new e(s)}map(t,r){let s=[],a=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(s)}reduce(...e){let[t,r]=e,s=0,a=r??this.at(0);for(let r of this)a=0===s&&1===e.length?r:Reflect.apply(t,this,[a,r,s,this]),s++;return a}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);s=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[s,a,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,a=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;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",()=>i])},141957,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(287620),a=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())}}));a.displayName="Label",e.s(["Label",()=>a,"Root",()=>a],127572);var l=e.i(127572),l=l,i=e.i(294237),n=e.i(131777);let o=(0,i.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(l.Root,{ref:s,className:(0,n.cn)(o(),e),...r}));d.displayName=l.Root.displayName,e.s(["Label",()=>d],141957)},619933,e=>{"use strict";let t=(0,e.i(903645).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],619933)},1650,e=>{"use strict";e.i(511495),e.s([])},511495,872714,81803,917466,199348,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(948249),a=e.i(724042),l=e.i(64970),i=e.i(294237),n=e.i(131777),o=e.i(83428),d=e.i(151251),c=e.i(735364),u=e.i(808361);function f({label:e,onClick:r,loading:s,error:a,icon:l,iconOnly:i=!1,variant:f="outline",size:p="sm"}){let m=(0,u.useSoundAction)("click");return(0,t.jsxs)(c.Button,{variant:f,size:p,"aria-label":e,disabled:s,onClick:()=>{m.play(),r()},className:(0,n.cn)("gap-1.5",a&&"text-destructive hover:text-destructive",!a&&i&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[s?(0,t.jsx)(o.Loader2,{className:"size-4 animate-spin"}):a?(0,t.jsx)(d.CircleAlert,{className:"size-4"}):(0,t.jsx)(l,{className:"size-4"}),i?null:e]})}e.s(["ActionButton",()=>f],872714),e.s([],81803);var p=e.i(730702),m=e.i(338573),x=e.i(317406),h=e.i(102828),g=e.i(602287),y=e.i(508893);let v=(0,y.createServerReference)("40e827f64795e580b75e126ddfefa3a9a722da877c",y.callServer,void 0,y.findSourceMapURL,"getDeploymentLogs");function j({open:e,onOpenChange:s,targetId:a}){let{logs:l,isConnected:i}=function(e){let[t,s]=(0,r.useState)([]),[a,l]=(0,r.useState)(!1),i=(0,r.useRef)(null),n=(0,r.useCallback)(()=>{i.current&&(i.current.close(),i.current=null),l(!1)},[]);return(0,r.useEffect)(()=>{if(!e){s([]),l(!1);return}v(e).then(e=>{e&&s(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return i.current=t,t.onopen=()=>{l(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);s(e=>[...e,t])}),t.onerror=()=>{l(!1)},()=>{t.close(),i.current=null}},[e,n]),{logs:t,isConnected:a}}(e?a:null);return(0,t.jsx)(b,{open:e,onOpenChange:s,logs:l,isConnected:i})}function b({open:e,onOpenChange:s,logs:a,isConnected:l}){let i=(0,r.useRef)(null),n=(0,r.useRef)(!0),o=(0,r.useCallback)(()=>{let e=i.current;e&&(n.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{n.current&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[a]),(0,t.jsx)(g.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(g.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,t.jsxs)(g.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,t.jsx)(g.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${l?"bg-green-500":"bg-zinc-500"}`}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:l?"Connected":"Disconnected"})]})]}),(0,t.jsxs)("div",{ref:i,onScroll:o,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,t.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,t.jsx)(N,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!l&&a.length>0&&(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function N({entry:e}){return(0,t.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,t.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let w="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function k({status:e,url:s,targetId:a}){let[l,i]=(0,r.useState)(!1),n=a&&(e===x.DeploymentState.Booting||e===x.DeploymentState.Ready);switch(e){case x.DeploymentState.Booting:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,t.jsx)(o.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),n?(0,t.jsx)(h.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:w,onClick:e=>{e.stopPropagation(),i(!0)},children:(0,t.jsx)(m.Terminal,{className:"size-3.5"})})}),(0,t.jsx)(h.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),n?(0,t.jsx)(j,{open:l,onOpenChange:i,targetId:a}):null]});case x.DeploymentState.Ready:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,t.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),s?(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[s,(0,t.jsx)(p.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,t.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),n?(0,t.jsx)(h.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:w,onClick:e=>{e.stopPropagation(),i(!0)},children:(0,t.jsx)(m.Terminal,{className:"size-3.5"})})}),(0,t.jsx)(h.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),n?(0,t.jsx)(j,{open:l,onOpenChange:i,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>k],917466),e.s([],199348);var C=e.i(845811),S=e.i(425235);e.i(541001);var R=e.i(64780),D=e.i(8537),T=e.i(175921);let L=(0,i.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function A({open:e,onClose:a,modal:l=!1,dismissOnOutsideClick:i=!1,title:o="Drawer",size:d,header:c,children:u,footer:f,className:p,"data-testid":m,deployTarget:x}){let{i18n:h}=(0,R.useTranslation)(),g=(0,T.useFeatureFlags)(),y=(0,r.useRef)(null),v="rtl"===h.dir()?"left":"right";return(0,r.useEffect)(()=>{if(!e||l)return;let t=e=>{let t=e.target;!document.body.contains(t)||y.current?.contains(t)||t.closest(i?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,l,a,i]),(0,t.jsxs)(C.Drawer,{direction:v,modal:l,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[l?(0,t.jsx)(C.DrawerOverlay,{}):null,(0,t.jsxs)(C.DrawerContent,{ref:y,direction:v,showCloseButton:!1,className:(0,n.cn)(L({size:d}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",p),"data-testid":m,onInteractOutside:l?void 0:e=>e.preventDefault(),children:[(0,t.jsx)(C.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:o})}),(0,t.jsx)(C.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:o})}),(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":m?`${m}-close-button`:void 0,children:[(0,t.jsx)(s.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),c?(0,t.jsx)(C.DrawerHeader,{className:"shrink-0",children:c}):null,c?(0,t.jsx)(S.Separator,{}):null,g.envDeploy&&x?(0,t.jsx)(z,{deployTarget:x}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:u}),f?(0,t.jsx)(C.DrawerFooter,{className:"shrink-0",children:f}):null]})]})}function z({deployTarget:e}){let r=(0,D.useDeployAction)(e),s="Booting"===r.status||"Ready"===r.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(h.TooltipProvider,{children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(f,{label:s?"Stop Dev Server":"Start Dev Server",onClick:s?r.stop:r.deploy,loading:r.deployLoading||r.stopLoading,error:!!r.deployError,icon:s?l.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(h.TooltipContent,{children:s?"Stop Dev Server":"Start Dev Server"})]})}),s?(0,t.jsx)(k,{status:r.status,url:r.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>A],511495)},602287,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(90033),a=e.i(860253),l=e.i(131777);let i=s.Dialog.Root,n=s.Dialog.Trigger,o=s.Dialog.Portal,d=s.Dialog.Close,c=r.forwardRef(({className:e,onClick:r,...a},i)=>(0,t.jsx)(s.Dialog.Overlay,{ref:i,className:(0,l.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),r?.(e)},...a}));c.displayName=s.Dialog.Overlay.displayName;let u=r.forwardRef(({className:e,children:r,...i},n)=>(0,t.jsxs)(o,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,l.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...i,children:[r,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(a.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=s.Dialog.Content.displayName;let f=({className:e,...r})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...r});f.displayName="DialogHeader";let p=({className:e,...r})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...r});p.displayName="DialogFooter";let m=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(s.Dialog.Title,{ref:a,className:(0,l.cn)("text-lg leading-none font-semibold tracking-tight",e),...r}));m.displayName=s.Dialog.Title.displayName;let x=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(s.Dialog.Description,{ref:a,className:(0,l.cn)("text-muted-foreground text-sm",e),...r}));x.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>i,"DialogClose",()=>d,"DialogContent",()=>u,"DialogDescription",()=>x,"DialogFooter",()=>p,"DialogHeader",()=>f,"DialogTitle",()=>m,"DialogTrigger",()=>n])},66459,e=>{"use strict";let t=(0,e.i(903645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],66459)},338573,e=>{"use strict";let t=(0,e.i(903645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],338573)},730702,e=>{"use strict";let t=(0,e.i(903645).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],730702)},724042,e=>{"use strict";let t=(0,e.i(903645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],724042)},873504,634087,142896,481605,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(317406),a=e.i(508893);let l=(0,a.createServerReference)("40aa1efa0fed8941c16c9537ba0c5d988cf13fecaf",a.callServer,void 0,a.findSourceMapURL,"deployFeature"),i=(0,a.createServerReference)("403a844cbb36e5d50051fe552f050ed35a8b88f317",a.callServer,void 0,a.findSourceMapURL,"deployRepository");e.s(["deployRepository",()=>i],634087);let n=(0,a.createServerReference)("40559cc32878be443a5d902e563fa65ac29566c575",a.callServer,void 0,a.findSourceMapURL,"deployApplication"),o=(0,a.createServerReference)("403c93928208c54fe25784ff60dcb073f25d1055c1",a.callServer,void 0,a.findSourceMapURL,"stopDeployment");e.s(["stopDeployment",()=>o],142896);let d=(0,a.createServerReference)("402a545f24583952d99d18566abf474dd10d07741b",a.callServer,void 0,a.findSourceMapURL,"getDeploymentStatus");var c=e.i(118354);let u={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class f{entries=new Map;listeners=new Map;globalListeners=new Set;fullyHydrated=!1;isFullyHydrated(){return this.fullyHydrated}hydrate(e){let t=new Set;for(let r of e)t.add(r.targetId),this.update(r.targetId,{status:r.state,url:r.url,targetType:r.targetType,hydrated:!0});for(let[e,r]of this.entries)!t.has(e)&&r.hydrated&&null!==r.status?this.update(e,{status:null,url:null}):t.has(e)||r.hydrated||this.update(e,{hydrated:!0});this.fullyHydrated=!0}getEntry(e){return this.entries.get(e)??u}update(e,t){let r={...this.entries.get(e)??u,...t};this.entries.set(e,r),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let r=this.listeners.get(e);return r||(r=new Set,this.listeners.set(e,r)),r.add(t),()=>{r?.delete(t),r?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>f,"EMPTY_ENTRY",0,u],481605);let p=(0,c.createLogger)("[DeploymentStatusProvider]"),m=new Set([s.DeploymentState.Booting,s.DeploymentState.Ready]),x=(0,r.createContext)(null);function h({initialDeployments:e,children:a}){let c=(0,r.useRef)(null);c.current||(c.current=new f,c.current.hydrate(e));let u=c.current;(0,r.useEffect)(()=>{u.hydrate(e)},[e,u]);let h=(0,r.useRef)(new Map),g=(0,r.useCallback)(e=>{let t=h.current.get(e);t&&(clearInterval(t),h.current.delete(e))},[]),y=(0,r.useCallback)(e=>{if(h.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await d(e)}catch(t){p.warn(`poll failed for "${e}"`,t),u.setStatus(e,null),g(e);return}if(!t||t.state===s.DeploymentState.Stopped){u.setStatus(e,null),g(e);return}u.setStatus(e,t)},3e3);h.current.set(e,t)},[u,g]);(0,r.useEffect)(()=>{let e=h.current,t=u.subscribeAll(()=>{for(let[t]of e){let e=u.getEntry(t);e.status&&m.has(e.status)||g(t)}});return()=>{for(let[,r]of(t(),e))clearInterval(r);e.clear()}},[u,g]);let v=(0,r.useCallback)(e=>{if(e&&!u.getEntry(e).hydrated){if(u.isFullyHydrated())return void u.update(e,{hydrated:!0});u.update(e,{hydrated:!0}),(async()=>{try{let t=await d(e);u.setStatus(e,t),t&&m.has(t.state)&&y(e)}catch(t){p.warn(`ensureHydrated failed for "${e}"`,t)}})()}},[u,y]),j=(0,r.useCallback)(async e=>{u.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await n(e.targetId):await i(e.repositoryPath);if(!t.success)return void u.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});u.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),y(e.targetId)}catch(r){let t=r instanceof Error?r.message:"An unexpected error occurred";u.update(e.targetId,{deployLoading:!1,deployError:t})}},[u,y]),b=(0,r.useCallback)(async e=>{if(e){u.update(e,{stopLoading:!0});try{(await o(e)).success?(g(e),u.update(e,{stopLoading:!1,status:null,url:null})):u.update(e,{stopLoading:!1})}catch(t){p.warn("stop error (non-critical)",t),u.update(e,{stopLoading:!1})}}},[u,g]),N=(0,r.useMemo)(()=>({store:u,deploy:j,stop:b,ensureHydrated:v}),[u,j,b,v]);return(0,t.jsx)(x.Provider,{value:N,children:a})}function g(){let e=(0,r.useContext)(x);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function y(){let e=(0,r.useContext)(x);return e||v}let v={store:new f,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>h,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>y],873504)},8537,e=>{"use strict";var t=e.i(152155),r=e.i(873504);function s(){}function a(e){let{store:a,deploy:l,stop:i,ensureHydrated:n}=(0,r.useDeploymentStatusContextOptional)(),o=e?.targetId??"",d=(0,t.useCallback)(e=>o?a.subscribe(o,e):s,[a,o]),c=(0,t.useCallback)(()=>o?a.getEntry(o):a.getEntry(""),[a,o]),u=(0,t.useSyncExternalStore)(d,c,c);return(0,t.useEffect)(()=>{o&&n(o)},[o,n]),{deploy:(0,t.useCallback)(async()=>{e&&await l(e)},[l,e]),stop:(0,t.useCallback)(async()=>{o&&await i(o)},[i,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>a])},454793,207729,e=>{"use strict";var t=e.i(679606),r=e.i(131777);function s({icon:e,title:s,description:a,action:l,className:i,...n}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,l?(0,t.jsx)("div",{className:"mt-2",children:l}):null]})}e.s(["EmptyState",()=>s],207729),e.s([],454793)},809443,185871,e=>{"use strict";var t=e.i(679606),r=e.i(131777);function s({title:e,description:s,children:a,className:l}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex items-center justify-between gap-4",l),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),s?(0,t.jsx)("p",{className:"text-muted-foreground",children:s}):null]}),a?(0,t.jsx)("div",{"data-slot":"actions",children:a}):null]})}e.s(["PageHeader",()=>s],185871),e.s([],809443)},200956,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(131777);let a=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...r}));a.displayName="Card";let l=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",e),...r}));l.displayName="CardHeader";let i=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("leading-none font-semibold tracking-tight",e),...r}));i.displayName="CardTitle";let n=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("text-muted-foreground text-sm",e),...r}));n.displayName="CardDescription";let o=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("p-6 pt-0",e),...r}));o.displayName="CardContent",r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("flex items-center p-6 pt-0",e),...r})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>o,"CardDescription",()=>n,"CardHeader",()=>l,"CardTitle",()=>i])},638752,e=>{"use strict";var t=e.i(679606);e.i(1650);var r=e.i(511495),s=e.i(845811),a=e.i(81846),l=e.i(425235),i=e.i(619933);function n({skill:e,onClose:n}){return(0,t.jsx)(r.BaseDrawer,{open:null!==e,onClose:n,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.DrawerTitle,{children:e.displayName}),(0,t.jsx)(s.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(a.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(a.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(a.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(i.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>n])},316919,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(66459),a=e.i(912103),l=e.i(698127),i=e.i(735364);e.i(809443);var n=e.i(185871);e.i(454793);var o=e.i(207729),d=e.i(200956),c=e.i(81846),u=e.i(619933);function f({skill:e,onSelect:r}){return(0,t.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>r(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),r(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,t.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let p=["Workflow","Code Generation","Analysis","Reference"];function m({skills:e,onSkillSelect:r}){let s=function(e){let t=new Map;for(let r of e){let e=t.get(r.category)??[];e.push(r),t.set(r.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:p.map(e=>{let a=s.get(e);return a&&0!==a.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",a.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:a.map(e=>(0,t.jsx)(f,{skill:e,onSelect:r},e.name))})]},e):null})})}let x=[{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:r,counts:s}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:x.map(({label:a,value:l})=>(0,t.jsxs)(i.Button,{variant:e===l?"default":"outline",size:"sm",onClick:()=>r(l),children:[a,s&&l?(0,t.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",s[l],")"]}):null]},a))})}var g=e.i(638752),y=e.i(425235),v=e.i(711434),j=e.i(3214),b=e.i(860253),N=e.i(360112),w=e.i(508893);let k=(0,w.createServerReference)("40bbc7a178882065cb023af5e8c819713966705830",w.callServer,void 0,w.findSourceMapURL,"removeInjectedSkill");var C=e.i(602287),S=e.i(141957),R=e.i(468304);let D=(0,w.createServerReference)("40e2f63b6c84afbed3693cc4359e99d9f35adc1047",w.callServer,void 0,w.findSourceMapURL,"addInjectedSkill");function T({open:e,onOpenChange:s,onAdded:a,discoveredSkills:n,existingSkillNames:o}){let[d,c]=(0,r.useState)(!1),[u,f]=(0,r.useState)(""),[p,m]=(0,r.useState)(""),[x,h]=(0,r.useState)(""),g=n.filter(e=>!o.includes(e.name)),y=async e=>{c(!0);let t=await D({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),t.success)?(N.toast.success(`Added "${e.name}" to feature skills`),a()):N.toast.error(t.error??"Failed to add skill")},v=async()=>{if(!u.trim()||!p.trim())return void N.toast.error("Name and source are required");c(!0);let e=await D({name:u.trim(),type:"remote",source:p.trim(),...x.trim()&&{remoteSkillName:x.trim()}});(c(!1),e.success)?(N.toast.success(`Added "${u.trim()}" to feature skills`),f(""),m(""),h(""),a()):N.toast.error(e.error??"Failed to add skill")};return(0,t.jsx)(C.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(C.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Add Skill to Features"})}),(0,t.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,t.jsxs)(R.TabsList,{className:"w-full",children:[(0,t.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,t.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,t.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===g.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,t.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:g.map(e=>(0,t.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>y(e),disabled:d,"data-testid":`add-local-skill-${e.name}`,children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,t.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-name",children:"Name"}),(0,t.jsx)(l.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:u,onChange:e=>f(e.target.value),"data-testid":"remote-skill-name"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,t.jsx)(l.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:p,onChange:e=>m(e.target.value),"data-testid":"remote-skill-source"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,t.jsx)(l.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:x,onChange:e=>h(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,t.jsx)(C.DialogFooter,{children:(0,t.jsx)(i.Button,{onClick:v,disabled:d||!u.trim()||!p.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function L({config:e,discoveredSkills:s}){let a=(0,v.useRouter)(),[l,n]=(0,r.useState)(!1),[o,d]=(0,r.useState)(null),c=(0,r.useMemo)(()=>{let e=new Map;for(let t of s)e.set(t.name,t.description);return e},[s]),u=async e=>{d(e);let t=await k(e);(d(null),t.success)?(N.toast.success(`Removed "${e}" from feature skills`),a.refresh()):N.toast.error(t.error??"Failed to remove skill")};return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,t.jsx)(A,{skill:e,description:c.get(e.name),onRemove:()=>u(e.name),isRemoving:o===e.name},e.name))}):(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,t.jsx)("div",{children:(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:()=>n(!0),"data-testid":"add-injected-skill-button",children:[(0,t.jsx)(j.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,t.jsx)(T,{open:l,onOpenChange:n,onAdded:()=>{n(!1),a.refresh()},discoveredSkills:s,existingSkillNames:e.skills.map(e=>e.name)})]})}function A({skill:e,description:r,onRemove:s,isRemoving:a}){return(0,t.jsxs)(d.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,t.jsx)("div",{className:"min-w-0",children:(0,t.jsx)(d.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,t.jsx)(i.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:s,disabled:a,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,t.jsx)(b.X,{className:"size-4"})})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-2 pt-0",children:[r?(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:r}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,t.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function z({skills:e,injectionConfig:d}){let[c,u]=(0,r.useState)(""),[f,p]=(0,r.useState)(null),[x,v]=(0,r.useState)(null),j=(0,r.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let r of e)t[r.category]++;return t})(e),[e]),b=(0,r.useMemo)(()=>{let t=c.toLowerCase();return e.filter(e=>{if(f&&e.category!==f)return!1;if(t){let r=e.name.toLowerCase().includes(t),s=e.description.toLowerCase().includes(t);if(!r&&!s)return!1}return!0})},[e,c,f]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(L,{config:d,discoveredSkills:e}),(0,t.jsx)(y.Separator,{}),(0,t.jsx)(o.EmptyState,{icon:(0,t.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,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(L,{config:d,discoveredSkills:e}),(0,t.jsx)(y.Separator,{}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(s.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(l.Input,{placeholder:"Search skills...",value:c,onChange:e=>u(e.target.value),className:"ps-9"})]}),(0,t.jsx)(h,{activeCategory:f,onCategoryChange:p,counts:j}),b.length>0?(0,t.jsx)(m,{skills:b,onSkillSelect:v}):(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(s.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{u(""),p(null)},children:"Clear filters"})}),(0,t.jsx)(g.SkillDetailDrawer,{skill:x,onClose:()=>v(null)})]})}e.s(["SkillsPageClient",()=>z],316919)}]);