@shepai/cli 1.182.1-pr550.9abbae3 → 1.183.0

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 (194) 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/server-reference-manifest.json +32 -32
  9. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  10. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  11. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
  12. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  13. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  14. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
  15. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  16. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  17. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  18. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  22. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  24. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  25. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  26. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  27. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  29. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
  30. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
  33. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  34. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  35. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  36. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  37. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
  39. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
  42. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  45. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  46. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  48. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  49. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/_global-error.html +2 -2
  51. package/web/.next/server/app/_global-error.rsc +1 -1
  52. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  53. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  54. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  55. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  56. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  57. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  58. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +16 -16
  60. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  61. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  62. package/web/.next/server/app/applications/page/server-reference-manifest.json +15 -15
  63. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  64. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
  66. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
  68. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
  70. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
  72. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
  74. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  76. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js +1 -1
  77. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js.map +1 -1
  78. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js +1 -1
  79. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js.map +1 -1
  80. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js +1 -1
  81. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js.map +1 -1
  82. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  83. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  84. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  85. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  86. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  87. package/web/.next/server/chunks/ssr/[root-of-the-server]__04f4895b._.js +1 -1
  88. package/web/.next/server/chunks/ssr/[root-of-the-server]__04f4895b._.js.map +1 -1
  89. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +1 -1
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -1
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +1 -1
  92. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +1 -1
  93. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +1 -1
  95. package/web/.next/server/chunks/ssr/[root-of-the-server]__a48af49f._.js +1 -1
  96. package/web/.next/server/chunks/ssr/[root-of-the-server]__a48af49f._.js.map +1 -1
  97. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +1 -1
  98. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -1
  99. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +1 -1
  100. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0aa2bcb._.js +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0aa2bcb._.js.map +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__e265da61._.js +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js +2 -2
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe5db6b2._.js +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe5db6b2._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/{_7e5e3270._.js → _037e85c7._.js} +2 -2
  109. package/web/.next/server/chunks/ssr/{_7e5e3270._.js.map → _037e85c7._.js.map} +1 -1
  110. package/web/.next/server/chunks/ssr/{_17af2817._.js → _133ae3de._.js} +2 -2
  111. package/web/.next/server/chunks/ssr/{_17af2817._.js.map → _133ae3de._.js.map} +1 -1
  112. package/web/.next/server/chunks/ssr/{_0f9d0acd._.js → _35294e79._.js} +2 -2
  113. package/web/.next/server/chunks/ssr/{_0f9d0acd._.js.map → _35294e79._.js.map} +1 -1
  114. package/web/.next/server/chunks/ssr/_519d77a9._.js +1 -1
  115. package/web/.next/server/chunks/ssr/_519d77a9._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  117. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/{_b4cc51d4._.js → _82db03fd._.js} +2 -2
  119. package/web/.next/server/chunks/ssr/{_b4cc51d4._.js.map → _82db03fd._.js.map} +1 -1
  120. package/web/.next/server/chunks/ssr/_9173e475._.js +2 -2
  121. package/web/.next/server/chunks/ssr/_9173e475._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/_946a7fc6._.js +1 -1
  123. package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/{_58b8982b._.js → _a08047ef._.js} +2 -2
  125. package/web/.next/server/chunks/ssr/{_58b8982b._.js.map → _a08047ef._.js.map} +1 -1
  126. package/web/.next/server/chunks/ssr/{_b5093a26._.js → _d4c0792b._.js} +2 -2
  127. package/web/.next/server/chunks/ssr/{_b5093a26._.js.map → _d4c0792b._.js.map} +1 -1
  128. package/web/.next/server/chunks/ssr/_e61d032d._.js +3 -0
  129. package/web/.next/server/chunks/ssr/{_f20557ff._.js.map → _e61d032d._.js.map} +1 -1
  130. package/web/.next/server/chunks/ssr/_e65abbd1._.js +1 -1
  131. package/web/.next/server/chunks/ssr/_e65abbd1._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
  133. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  135. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  136. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  138. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js +1 -1
  139. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js +1 -1
  141. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
  143. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
  144. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js +1 -1
  145. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js +1 -1
  147. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js +3 -3
  149. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  151. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js +1 -1
  153. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
  155. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js +3 -3
  157. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js +1 -1
  158. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js +1 -1
  160. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  162. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  164. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  166. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  167. package/web/.next/server/pages/500.html +2 -2
  168. package/web/.next/server/server-reference-manifest.js +1 -1
  169. package/web/.next/server/server-reference-manifest.json +54 -54
  170. package/web/.next/static/chunks/019e71634c720ede.js +1 -0
  171. package/web/.next/static/chunks/{3aaae7ceefe72828.js → 040c5ff84a8ae1a3.js} +1 -1
  172. package/web/.next/static/chunks/{71c7fe96accaab17.js → 092ac28f5a4422a0.js} +2 -2
  173. package/web/.next/static/chunks/{d0bcde99ca2878d1.js → 0bd78b0cf1c1421f.js} +1 -1
  174. package/web/.next/static/chunks/{a9d2a436d682fded.js → 18c21c4f9f58b69a.js} +3 -3
  175. package/web/.next/static/chunks/{9d9bf7403612ae86.js → 2b5aea3575387b3a.js} +1 -1
  176. package/web/.next/static/chunks/{ae2fcb50ea0d8652.js → 3219b06f6a34e573.js} +1 -1
  177. package/web/.next/static/chunks/4a7cf3b09e0495a4.js +1 -0
  178. package/web/.next/static/chunks/{897771202f55ecfe.js → 54d1d5a646a12d76.js} +1 -1
  179. package/web/.next/static/chunks/{05becd66afb22d37.js → 553be530f22710a7.js} +1 -1
  180. package/web/.next/static/chunks/{b8acda37576199f1.js → 6a88df64eaeb6322.js} +1 -1
  181. package/web/.next/static/chunks/{3d1543ff12dfaff1.js → 6d8cae68371a845d.js} +1 -1
  182. package/web/.next/static/chunks/{4b8bedfda131650a.js → 78607d521d916531.js} +1 -1
  183. package/web/.next/static/chunks/{1bd2a325f95d3211.js → 7d5a7551d452463d.js} +1 -1
  184. package/web/.next/static/chunks/{792fffaa4af33248.js → 80e778136b2f4c92.js} +1 -1
  185. package/web/.next/static/chunks/{83ba6946af31cdc4.js → a62fb058d660bea3.js} +3 -3
  186. package/web/.next/static/chunks/e0ae4dbd97b7af4c.js +1 -0
  187. package/web/.next/static/chunks/{7b6c91400184cb4d.js → f70998ac93012aef.js} +1 -1
  188. package/web/.next/server/chunks/ssr/_f20557ff._.js +0 -3
  189. package/web/.next/static/chunks/53f12c1844f881af.js +0 -1
  190. package/web/.next/static/chunks/c788a245f6898401.js +0 -1
  191. package/web/.next/static/chunks/ed714d3a13ff6c16.js +0 -1
  192. /package/web/.next/static/{tAvYhk4e_F_yStLz4wtDg → t-O8eMjJCUhhtd6CgtTXI}/_buildManifest.js +0 -0
  193. /package/web/.next/static/{tAvYhk4e_F_yStLz4wtDg → t-O8eMjJCUhhtd6CgtTXI}/_clientMiddlewareManifest.json +0 -0
  194. /package/web/.next/static/{tAvYhk4e_F_yStLz4wtDg → t-O8eMjJCUhhtd6CgtTXI}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11495,72714,81803,5259,99348,45811,e=>{"use strict";let t;var n=e.i(20314),r=e.i(79054),a=e.i(48249),o=e.i(24042),l=e.i(6910),i=e.i(94237),s=e.i(31777),u=e.i(83428),d=e.i(51251),c=e.i(35364),f=e.i(8361);function m({label:e,onClick:t,loading:r,error:a,icon:o,iconOnly:l=!1,variant:i="outline",size:m="sm"}){let p=(0,f.useSoundAction)("click");return(0,n.jsxs)(c.Button,{variant:i,size:m,"aria-label":e,disabled:r,onClick:()=>{p.play(),t()},className:(0,s.cn)("gap-1.5",a&&"text-destructive hover:text-destructive",!a&&l&&"ghost"===i&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[r?(0,n.jsx)(u.Loader2,{className:"size-4 animate-spin"}):a?(0,n.jsx)(d.CircleAlert,{className:"size-4"}):(0,n.jsx)(o,{className:"size-4"}),l?null:e]})}e.s(["ActionButton",()=>m],72714),e.s([],81803);var p=e.i(30702),h=e.i(38573),g=e.i(17406),v=e.i(2828),w=e.i(2287),x=e.i(21023);let b=(0,x.createServerReference)("40ba330bb57038c106e2cb5a9706214e74b6f4bc60",x.callServer,void 0,x.findSourceMapURL,"getDeploymentLogs");function y({open:e,onOpenChange:t,targetId:a}){let{logs:o,isConnected:l}=function(e){let[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(!1),l=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{l.current&&(l.current.close(),l.current=null),o(!1)},[]);return(0,r.useEffect)(()=>{if(!e){n([]),o(!1);return}b(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(j,{open:e,onOpenChange:t,logs:o,isConnected:l})}function j({open:e,onOpenChange:t,logs:a,isConnected:o}){let l=(0,r.useRef)(null),i=(0,r.useRef)(!0),s=(0,r.useCallback)(()=>{let e=l.current;e&&(i.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{i.current&&l.current&&(l.current.scrollTop=l.current.scrollHeight)},[a]),(0,n.jsx)(w.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(w.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,n.jsxs)(w.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(h.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(w.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:l,onScroll:s,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(T,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function T({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let C="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function R({status:e,url:t,targetId:a}){let[o,l]=(0,r.useState)(!1),i=a&&(e===g.DeploymentState.Booting||e===g.DeploymentState.Ready);switch(e){case g.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(u.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(y,{open:o,onOpenChange:l,targetId:a}):null]});case g.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,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:[t,(0,n.jsx)(p.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(y,{open:o,onOpenChange:l,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>R],5259),e.s([],99348);var E=e.i(567);let D=r.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),N=()=>{let e=r.default.useContext(D);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function k(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function S(){return $(/^iPhone/)||$(/^iPad/)||$(/^Mac/)&&navigator.maxTouchPoints>1}function $(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let P="u">typeof window?r.useLayoutEffect:r.useEffect;function z(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let M="u">typeof document&&window.visualViewport;function O(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function B(e){for(O(e)&&(e=e.parentElement);e&&!O(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let L=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),F=0;function H(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function A(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=B(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function W(e){return e instanceof HTMLInputElement&&!L.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function I(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let q=new WeakMap;function Y(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||q.set(e,r)}let X=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function U(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[X(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[X(t)?5:4]):null}function V(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let K=[.32,.72,0,1],J="vaul-dragging";function _(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function G({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=_(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,s=_(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&s(n)}else o(t)},[l,e,o,s])]}let Q=()=>()=>{},Z=null;function ee({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:s=!1,setBackgroundColorOnScale:u=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:m=!1,fadeFromIndex:p=i&&i.length-1,activeSnapPoint:h,setActiveSnapPoint:g,fixed:v,modal:w=!0,onClose:x,nested:b,noBodyStyles:y=!1,direction:j="bottom",defaultOpen:T=!1,disablePreventScroll:C=!0,snapToSequentialPoint:R=!1,preventScrollRestoration:N=!1,repositionInputs:$=!0,onAnimationEnd:O,container:L,autoFocus:I=!1}){var V,_;let[Q=!1,ee]=G({defaultProp:T,prop:e,onChange:e=>{null==n||n(e),e||b||e$(),setTimeout(()=>{null==O||O(e)},500),e&&!w&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=r.default.useState(!1),[er,ea]=r.default.useState(!1),[eo,el]=r.default.useState(!1),ei=r.default.useRef(null),es=r.default.useRef(null),eu=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),em=r.default.useRef(null),ep=r.default.useRef(0),eh=r.default.useRef(!1),eg=r.default.useRef(!T),ev=r.default.useRef(0),ew=r.default.useRef(null),ex=r.default.useRef((null==(V=ew.current)?void 0:V.getBoundingClientRect().height)||0),eb=r.default.useRef((null==(_=ew.current)?void 0:_.getBoundingClientRect().width)||0),ey=r.default.useRef(0),ej=r.default.useCallback(e=>{i&&e===eD.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:eR,onRelease:eE,snapPointsOffset:eD,onDrag:eN,shouldFade:ek,getPercentageDragged:eS}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:s="bottom",container:u,snapToSequentialPoint:d}){let[c,f]=G({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[m,p]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){p({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let h=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),g=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=u?{width:u.getBoundingClientRect().width,height:u.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),X(s)){let a=n?r:m?e*t.height:0;return m?"bottom"===s?t.height-a:-t.height+a:a}let a=n?r:m?e*t.width:0;return m?"right"===s?t.width-a:-t.width+a:a}))?e:[]},[n,m,u]),x=r.default.useMemo(()=>null!==g?null==w?void 0:w[g]:null,[w,g]),b=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),Y(a.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(s)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"0"}):Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&b(w[r])}},[c,e,n,w,b]),{isLastSnapPoint:h,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof g||!w||void 0===l)return null;let r=g===l-1;if(g>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?g+1:g-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:g,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===s||"right"===s?(null!=x?x:0)-e:(null!=x?x:0)+e,u=g===l-1,c=0===g,f=e>0;if(u&&Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`}),!d&&r>2&&!f)return void(a?t():b(w[0]));if(!d&&r>2&&f&&w&&n)return void b(w[n.length-1]);let m=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),p=X(s)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*p){let e=f?1:-1;return e>0&&h&&n?void b(w[n.length-1]):void(c&&e<0&&a&&t(),null===g||b(w[g+e]))}b(m)},onDrag:function({draggedDistance:e}){if(null===x)return;let t="bottom"===s||"right"===s?x-e:x+e;("bottom"===s||"right"===s)&&t<w[w.length-1]||("top"===s||"left"===s)&&t>w[w.length-1]||Y(a.current,{transform:X(s)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:h,setActiveSnapPointProp:g,drawerRef:ew,fadeFromIndex:p,overlayRef:ei,onSnapPointChange:ej,direction:j,container:L,snapToSequentialPoint:R});!function(e={}){let{isDisabled:n}=e;P(()=>{if(!n){var e,r,a;let n,o,l,i,s,u,d;return 1==++F&&S()&&(l=0,i=window.pageXOffset,s=window.pageYOffset,u=z((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=z(H(document,"touchstart",e=>{((o=B(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),H(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),H(document,"touchend",e=>{let t=e.target;W(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),H(document,"focus",e=>{let t=e.target;W(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",M&&(M.height<window.innerHeight?requestAnimationFrame(()=>{A(t)}):M.addEventListener("resize",()=>A(t),{once:!0}))}))},!0),H(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{u(),d(),window.scrollTo(i,s)}),()=>{0==--F&&(null==t||t())}}},[n])}({isDisabled:!Q||er||!w||eo||!et||!$||!C});let{restorePositionSetting:e$}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,s]=r.default.useState(()=>"u">typeof window?window.location.href:""),u=r.default.useRef(0),d=r.default.useCallback(()=>{if(k()&&null===Z&&e&&!l){Z={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-u.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&u.current>=t&&(document.body.style.top=`${-(u.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(k()&&null!==Z&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Z),window.requestAnimationFrame(()=>{o&&i!==window.location.href?s(window.location.href):window.scrollTo(t,e)}),Z=null}},[i]);return r.default.useEffect(()=>{function e(){u.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:Q,modal:w,nested:null!=b&&b,hasBeenOpened:et,preventScrollRestoration:N,noBodyStyles:y});function eP(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?U(ew.current,j):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===j||"left"===j)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===j?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<c&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eM(e){er&&ew.current&&(ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date),null==x||x(),e||ee(!1),setTimeout(()=>{i&&eR(i[0])},500)}function eO(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=U(ew.current,j);Y(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${K.join(",")})`}),Y(ei.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),s&&t&&t>0&&Q&&Y(e,{borderRadius:"8px",overflow:"hidden",...X(j)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{eg.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&$&&(W(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;ey.current||(ey.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eD&&eC&&(r+=eD[eC]||0),ev.current=r,a>t||eh.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),v?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ew.current.style.height=`${ey.current}px`)}i&&i.length>0&&!eh.current?ew.current.style.bottom="0px":ew.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eC,i,eD]),r.default.useEffect(()=>(Q&&(Y(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=q.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Q]),r.default.useEffect(()=>{w||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[w]),r.default.createElement(E.Root,{defaultOpen:T,onOpenChange:e=>{(f||e)&&(e?en(!0):eM(!0),ee(e))},open:Q},r.default.createElement(D.Provider,{value:{activeSnapPoint:eT,snapPoints:i,setActiveSnapPoint:eR,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ew.current||ew.current.contains(e.target))&&(ex.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),eu.current=new Date,S()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),ep.current=X(j)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date;let r=U(ew.current,j);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===eu.current)return;let a=ed.current.getTime()-eu.current.getTime(),o=ep.current-(X(j)?e.pageY:e.pageX),s=Math.abs(o)/a;if(s>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eE({draggedDistance:o*("bottom"===j||"right"===j?1:-1),closeDrawer:eM,velocity:s,dismissible:f}),null==l||l(e,!0);return}if("bottom"===j||"right"===j?o>0:o<0){eO(),null==l||l(e,!0);return}if(s>.4){eM(),null==l||l(e,!1);return}let u=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===j||"right"===j?c:u)*d){eM(),null==l||l(e,!1);return}null==l||l(e,!0),eO()},onDrag:function(e){if(ew.current&&er){let t="bottom"===j||"right"===j?1:-1,n=(ep.current-(X(j)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eC)return;let l=Math.abs(n),u=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===j||"top"===j?ex.current:eb.current),c=eS(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!ez(e.target,r))return;if(ew.current.classList.add(J),ef.current=!0,Y(ew.current,{transition:"none"}),Y(ei.current,{transition:"none"}),i&&eN({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let m=1-d;if((ek||p&&eC===p-1)&&(null==o||o(e,d),Y(ei.current,{opacity:`${m}`,transition:"none"},!0)),u&&ei.current&&s){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);Y(u,{borderRadius:`${t}px`,transform:X(j)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eg,handleOnly:m,isOpen:Q,isDragging:er,shouldFade:ek,closeDrawer:eM,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;Y(ew.current,{transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(em.current=setTimeout(()=>{let e=U(ew.current,j);Y(ew.current,{transition:"none",transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=X(j)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:w,snapPointsOffset:eD,activeSnapPointIndex:eC,direction:j,shouldScaleBackground:s,setBackgroundColorOnScale:u,noBodyStyles:y,container:L,autoFocus:I}},a))}let et=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:s,shouldAnimate:u}=N(),d=I(t,n),c=a&&a.length>0;if(!s)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(E.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==u?void 0:u.current)?"true":"false",...e})});et.displayName="Drawer.Overlay";let en=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:s,onDrag:u,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:m,isOpen:p,direction:h,snapPoints:g,container:v,handleOnly:w,shouldAnimate:x,autoFocus:b}=N(),[y,j]=r.default.useState(!1),T=I(o,l),C=r.default.useRef(null),R=r.default.useRef(null),D=r.default.useRef(!1),k=g&&g.length>0;function S(e){C.current=null,D.current=!1,s(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=N(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function s(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?V(document.body,{background:"black"}):Q,V(t,{transformOrigin:X(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`}));let n=V(t,{borderRadius:"8px",overflow:"hidden",...X(e)?{transform:`scale(${s()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${s()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{j(!0)})},[]),r.default.createElement(E.Content,{"data-vaul-drawer-direction":h,"data-vaul-drawer":"","data-vaul-delayed-snap-points":y?"true":"false","data-vaul-snap-points":p&&k?"true":"false","data-vaul-custom-container":v?"true":"false","data-vaul-animate":(null==x?void 0:x.current)?"true":"false",...a,ref:T,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{w||(null==a.onPointerDown||a.onPointerDown.call(a,e),C.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),b||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!m||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!m)return void e.preventDefault()},onPointerMove:e=>{if(R.current=e,w||(null==a.onPointerMove||a.onPointerMove.call(a,e),!C.current))return;let t=e.pageY-C.current.y,n=e.pageX-C.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(D.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return D.current=!0,!0})({x:n,y:t},h,r)?u(e):(Math.abs(n)>r||Math.abs(t)>r)&&(C.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),C.current=null,D.current=!1,s(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),S(R.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),R.current&&S(R.current)}})});en.displayName="Drawer.Content";let er=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:s,setActiveSnapPoint:u,dismissible:d,handleOnly:c,isOpen:f,onPress:m,onDrag:p}=N(),h=r.default.useRef(null),g=r.default.useRef(!1);function v(){h.current&&window.clearTimeout(h.current),g.current=!1}return r.default.createElement("div",{onClick:function(){g.current?v():window.setTimeout(()=>{!function(){if(l||e||g.current)return v();if(v(),!i||0===i.length){d||o();return}if(s===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===s);-1===t||u(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&m(e),h.current=window.setTimeout(()=>{g.current=!0},250)},onPointerMove:e=>{c&&p(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});er.displayName="Drawer.Handle";let ea={Root:ee,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=N();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(ee,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:en,Overlay:et,Trigger:E.Trigger,Portal:function(e){let t=N(),{container:n=t.container,...a}=e;return r.default.createElement(E.Portal,{container:n,...a})},Handle:er,Close:E.Close,Title:E.Title,Description:E.Description};function eo({...e}){return(0,n.jsx)(ea.Root,{"data-slot":"drawer",...e})}function el({...e}){return(0,n.jsx)(ea.Portal,{"data-slot":"drawer-portal",...e})}function ei({className:e,...t}){return(0,n.jsx)(ea.Overlay,{"data-slot":"drawer-overlay",className:(0,s.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function es({className:e,children:t,direction:r="bottom",showCloseButton:o=!0,...l}){return(0,n.jsx)(el,{children:(0,n.jsxs)(ea.Content,{"data-slot":"drawer-content",className:(0,s.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...l.style??{}},...l,children:[t,o?(0,n.jsxs)(ea.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function eu({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...t})}function ed({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,s.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function ec({className:e,...t}){return(0,n.jsx)(ea.Title,{"data-slot":"drawer-title",className:(0,s.cn)("text-foreground font-semibold",e),...t})}function ef({className:e,...t}){return(0,n.jsx)(ea.Description,{"data-slot":"drawer-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>eo,"DrawerContent",()=>es,"DrawerDescription",()=>ef,"DrawerFooter",()=>ed,"DrawerHeader",()=>eu,"DrawerOverlay",()=>ei,"DrawerTitle",()=>ec],45811);var em=e.i(25235);e.i(41001);var ep=e.i(64780),eh=e.i(8537),eg=e.i(75921);let ev=(0,i.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function ew({open:e,onClose:t,modal:o=!1,dismissOnOutsideClick:l=!1,title:i="Drawer",size:u,header:d,children:c,footer:f,className:m,"data-testid":p,deployTarget:h}){let{i18n:g}=(0,ep.useTranslation)(),v=(0,eg.useFeatureFlags)(),w=(0,r.useRef)(null),x="rtl"===g.dir()?"left":"right";return(0,r.useEffect)(()=>{if(!e||o)return;let n=e=>{let n=e.target;!document.body.contains(n)||w.current?.contains(n)||n.closest(l?'[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]')||t()};return document.addEventListener("click",n),()=>document.removeEventListener("click",n)},[e,o,t,l]),(0,n.jsxs)(eo,{direction:x,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||t()},children:[o?(0,n.jsx)(ei,{}):null,(0,n.jsxs)(es,{ref:w,direction:x,showCloseButton:!1,className:(0,s.cn)(ev({size:u}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",m),"data-testid":p,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,n.jsx)(ec,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsx)(ef,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsxs)("button",{type:"button","aria-label":"Close",onClick:t,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":p?`${p}-close-button`:void 0,children:[(0,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}),d?(0,n.jsx)(eu,{className:"shrink-0",children:d}):null,d?(0,n.jsx)(em.Separator,{}):null,v.envDeploy&&h?(0,n.jsx)(ex,{deployTarget:h}):null,(0,n.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:c}),f?(0,n.jsx)(ed,{className:"shrink-0",children:f}):null]})]})}function ex({deployTarget:e}){let t=(0,eh.useDeployAction)(e),r="Booting"===t.status||"Ready"===t.status;return(0,n.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,n.jsx)(v.TooltipProvider,{children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(m,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?t.stop:t.deploy,loading:t.deployLoading||t.stopLoading,error:!!t.deployError,icon:r?l.Square:o.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,n.jsx)(v.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,n.jsx)(R,{status:t.status,url:t.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>ew],11495)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11495,72714,81803,5259,99348,45811,e=>{"use strict";let t;var n=e.i(20314),r=e.i(79054),a=e.i(48249),o=e.i(24042),l=e.i(6910),i=e.i(94237),s=e.i(31777),u=e.i(83428),d=e.i(51251),c=e.i(35364),f=e.i(8361);function m({label:e,onClick:t,loading:r,error:a,icon:o,iconOnly:l=!1,variant:i="outline",size:m="sm"}){let p=(0,f.useSoundAction)("click");return(0,n.jsxs)(c.Button,{variant:i,size:m,"aria-label":e,disabled:r,onClick:()=>{p.play(),t()},className:(0,s.cn)("gap-1.5",a&&"text-destructive hover:text-destructive",!a&&l&&"ghost"===i&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[r?(0,n.jsx)(u.Loader2,{className:"size-4 animate-spin"}):a?(0,n.jsx)(d.CircleAlert,{className:"size-4"}):(0,n.jsx)(o,{className:"size-4"}),l?null:e]})}e.s(["ActionButton",()=>m],72714),e.s([],81803);var p=e.i(30702),h=e.i(38573),g=e.i(17406),v=e.i(2828),w=e.i(2287),x=e.i(21023);let b=(0,x.createServerReference)("402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",x.callServer,void 0,x.findSourceMapURL,"getDeploymentLogs");function y({open:e,onOpenChange:t,targetId:a}){let{logs:o,isConnected:l}=function(e){let[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(!1),l=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{l.current&&(l.current.close(),l.current=null),o(!1)},[]);return(0,r.useEffect)(()=>{if(!e){n([]),o(!1);return}b(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(j,{open:e,onOpenChange:t,logs:o,isConnected:l})}function j({open:e,onOpenChange:t,logs:a,isConnected:o}){let l=(0,r.useRef)(null),i=(0,r.useRef)(!0),s=(0,r.useCallback)(()=>{let e=l.current;e&&(i.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{i.current&&l.current&&(l.current.scrollTop=l.current.scrollHeight)},[a]),(0,n.jsx)(w.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(w.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,n.jsxs)(w.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(h.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(w.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:l,onScroll:s,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(T,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function T({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let C="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function R({status:e,url:t,targetId:a}){let[o,l]=(0,r.useState)(!1),i=a&&(e===g.DeploymentState.Booting||e===g.DeploymentState.Ready);switch(e){case g.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(u.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(y,{open:o,onOpenChange:l,targetId:a}):null]});case g.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,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:[t,(0,n.jsx)(p.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(y,{open:o,onOpenChange:l,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>R],5259),e.s([],99348);var E=e.i(567);let D=r.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),N=()=>{let e=r.default.useContext(D);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function k(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function S(){return $(/^iPhone/)||$(/^iPad/)||$(/^Mac/)&&navigator.maxTouchPoints>1}function $(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let P="u">typeof window?r.useLayoutEffect:r.useEffect;function z(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let M="u">typeof document&&window.visualViewport;function O(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function B(e){for(O(e)&&(e=e.parentElement);e&&!O(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let L=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),F=0;function H(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function A(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=B(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function W(e){return e instanceof HTMLInputElement&&!L.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function I(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let q=new WeakMap;function Y(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||q.set(e,r)}let X=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function U(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[X(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[X(t)?5:4]):null}function V(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let K=[.32,.72,0,1],J="vaul-dragging";function _(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function G({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=_(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,s=_(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&s(n)}else o(t)},[l,e,o,s])]}let Q=()=>()=>{},Z=null;function ee({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:s=!1,setBackgroundColorOnScale:u=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:m=!1,fadeFromIndex:p=i&&i.length-1,activeSnapPoint:h,setActiveSnapPoint:g,fixed:v,modal:w=!0,onClose:x,nested:b,noBodyStyles:y=!1,direction:j="bottom",defaultOpen:T=!1,disablePreventScroll:C=!0,snapToSequentialPoint:R=!1,preventScrollRestoration:N=!1,repositionInputs:$=!0,onAnimationEnd:O,container:L,autoFocus:I=!1}){var V,_;let[Q=!1,ee]=G({defaultProp:T,prop:e,onChange:e=>{null==n||n(e),e||b||e$(),setTimeout(()=>{null==O||O(e)},500),e&&!w&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=r.default.useState(!1),[er,ea]=r.default.useState(!1),[eo,el]=r.default.useState(!1),ei=r.default.useRef(null),es=r.default.useRef(null),eu=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),em=r.default.useRef(null),ep=r.default.useRef(0),eh=r.default.useRef(!1),eg=r.default.useRef(!T),ev=r.default.useRef(0),ew=r.default.useRef(null),ex=r.default.useRef((null==(V=ew.current)?void 0:V.getBoundingClientRect().height)||0),eb=r.default.useRef((null==(_=ew.current)?void 0:_.getBoundingClientRect().width)||0),ey=r.default.useRef(0),ej=r.default.useCallback(e=>{i&&e===eD.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:eR,onRelease:eE,snapPointsOffset:eD,onDrag:eN,shouldFade:ek,getPercentageDragged:eS}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:s="bottom",container:u,snapToSequentialPoint:d}){let[c,f]=G({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[m,p]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){p({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let h=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),g=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=u?{width:u.getBoundingClientRect().width,height:u.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),X(s)){let a=n?r:m?e*t.height:0;return m?"bottom"===s?t.height-a:-t.height+a:a}let a=n?r:m?e*t.width:0;return m?"right"===s?t.width-a:-t.width+a:a}))?e:[]},[n,m,u]),x=r.default.useMemo(()=>null!==g?null==w?void 0:w[g]:null,[w,g]),b=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),Y(a.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(s)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"0"}):Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&b(w[r])}},[c,e,n,w,b]),{isLastSnapPoint:h,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof g||!w||void 0===l)return null;let r=g===l-1;if(g>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?g+1:g-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:g,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===s||"right"===s?(null!=x?x:0)-e:(null!=x?x:0)+e,u=g===l-1,c=0===g,f=e>0;if(u&&Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`}),!d&&r>2&&!f)return void(a?t():b(w[0]));if(!d&&r>2&&f&&w&&n)return void b(w[n.length-1]);let m=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),p=X(s)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*p){let e=f?1:-1;return e>0&&h&&n?void b(w[n.length-1]):void(c&&e<0&&a&&t(),null===g||b(w[g+e]))}b(m)},onDrag:function({draggedDistance:e}){if(null===x)return;let t="bottom"===s||"right"===s?x-e:x+e;("bottom"===s||"right"===s)&&t<w[w.length-1]||("top"===s||"left"===s)&&t>w[w.length-1]||Y(a.current,{transform:X(s)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:h,setActiveSnapPointProp:g,drawerRef:ew,fadeFromIndex:p,overlayRef:ei,onSnapPointChange:ej,direction:j,container:L,snapToSequentialPoint:R});!function(e={}){let{isDisabled:n}=e;P(()=>{if(!n){var e,r,a;let n,o,l,i,s,u,d;return 1==++F&&S()&&(l=0,i=window.pageXOffset,s=window.pageYOffset,u=z((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=z(H(document,"touchstart",e=>{((o=B(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),H(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),H(document,"touchend",e=>{let t=e.target;W(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),H(document,"focus",e=>{let t=e.target;W(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",M&&(M.height<window.innerHeight?requestAnimationFrame(()=>{A(t)}):M.addEventListener("resize",()=>A(t),{once:!0}))}))},!0),H(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{u(),d(),window.scrollTo(i,s)}),()=>{0==--F&&(null==t||t())}}},[n])}({isDisabled:!Q||er||!w||eo||!et||!$||!C});let{restorePositionSetting:e$}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,s]=r.default.useState(()=>"u">typeof window?window.location.href:""),u=r.default.useRef(0),d=r.default.useCallback(()=>{if(k()&&null===Z&&e&&!l){Z={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-u.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&u.current>=t&&(document.body.style.top=`${-(u.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(k()&&null!==Z&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Z),window.requestAnimationFrame(()=>{o&&i!==window.location.href?s(window.location.href):window.scrollTo(t,e)}),Z=null}},[i]);return r.default.useEffect(()=>{function e(){u.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:Q,modal:w,nested:null!=b&&b,hasBeenOpened:et,preventScrollRestoration:N,noBodyStyles:y});function eP(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?U(ew.current,j):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===j||"left"===j)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===j?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<c&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eM(e){er&&ew.current&&(ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date),null==x||x(),e||ee(!1),setTimeout(()=>{i&&eR(i[0])},500)}function eO(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=U(ew.current,j);Y(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${K.join(",")})`}),Y(ei.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),s&&t&&t>0&&Q&&Y(e,{borderRadius:"8px",overflow:"hidden",...X(j)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{eg.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&$&&(W(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;ey.current||(ey.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eD&&eC&&(r+=eD[eC]||0),ev.current=r,a>t||eh.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),v?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ew.current.style.height=`${ey.current}px`)}i&&i.length>0&&!eh.current?ew.current.style.bottom="0px":ew.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eC,i,eD]),r.default.useEffect(()=>(Q&&(Y(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=q.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Q]),r.default.useEffect(()=>{w||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[w]),r.default.createElement(E.Root,{defaultOpen:T,onOpenChange:e=>{(f||e)&&(e?en(!0):eM(!0),ee(e))},open:Q},r.default.createElement(D.Provider,{value:{activeSnapPoint:eT,snapPoints:i,setActiveSnapPoint:eR,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ew.current||ew.current.contains(e.target))&&(ex.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),eu.current=new Date,S()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),ep.current=X(j)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date;let r=U(ew.current,j);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===eu.current)return;let a=ed.current.getTime()-eu.current.getTime(),o=ep.current-(X(j)?e.pageY:e.pageX),s=Math.abs(o)/a;if(s>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eE({draggedDistance:o*("bottom"===j||"right"===j?1:-1),closeDrawer:eM,velocity:s,dismissible:f}),null==l||l(e,!0);return}if("bottom"===j||"right"===j?o>0:o<0){eO(),null==l||l(e,!0);return}if(s>.4){eM(),null==l||l(e,!1);return}let u=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===j||"right"===j?c:u)*d){eM(),null==l||l(e,!1);return}null==l||l(e,!0),eO()},onDrag:function(e){if(ew.current&&er){let t="bottom"===j||"right"===j?1:-1,n=(ep.current-(X(j)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eC)return;let l=Math.abs(n),u=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===j||"top"===j?ex.current:eb.current),c=eS(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!ez(e.target,r))return;if(ew.current.classList.add(J),ef.current=!0,Y(ew.current,{transition:"none"}),Y(ei.current,{transition:"none"}),i&&eN({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let m=1-d;if((ek||p&&eC===p-1)&&(null==o||o(e,d),Y(ei.current,{opacity:`${m}`,transition:"none"},!0)),u&&ei.current&&s){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);Y(u,{borderRadius:`${t}px`,transform:X(j)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eg,handleOnly:m,isOpen:Q,isDragging:er,shouldFade:ek,closeDrawer:eM,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;Y(ew.current,{transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(em.current=setTimeout(()=>{let e=U(ew.current,j);Y(ew.current,{transition:"none",transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=X(j)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:w,snapPointsOffset:eD,activeSnapPointIndex:eC,direction:j,shouldScaleBackground:s,setBackgroundColorOnScale:u,noBodyStyles:y,container:L,autoFocus:I}},a))}let et=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:s,shouldAnimate:u}=N(),d=I(t,n),c=a&&a.length>0;if(!s)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(E.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==u?void 0:u.current)?"true":"false",...e})});et.displayName="Drawer.Overlay";let en=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:s,onDrag:u,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:m,isOpen:p,direction:h,snapPoints:g,container:v,handleOnly:w,shouldAnimate:x,autoFocus:b}=N(),[y,j]=r.default.useState(!1),T=I(o,l),C=r.default.useRef(null),R=r.default.useRef(null),D=r.default.useRef(!1),k=g&&g.length>0;function S(e){C.current=null,D.current=!1,s(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=N(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function s(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?V(document.body,{background:"black"}):Q,V(t,{transformOrigin:X(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`}));let n=V(t,{borderRadius:"8px",overflow:"hidden",...X(e)?{transform:`scale(${s()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${s()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{j(!0)})},[]),r.default.createElement(E.Content,{"data-vaul-drawer-direction":h,"data-vaul-drawer":"","data-vaul-delayed-snap-points":y?"true":"false","data-vaul-snap-points":p&&k?"true":"false","data-vaul-custom-container":v?"true":"false","data-vaul-animate":(null==x?void 0:x.current)?"true":"false",...a,ref:T,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{w||(null==a.onPointerDown||a.onPointerDown.call(a,e),C.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),b||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!m||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!m)return void e.preventDefault()},onPointerMove:e=>{if(R.current=e,w||(null==a.onPointerMove||a.onPointerMove.call(a,e),!C.current))return;let t=e.pageY-C.current.y,n=e.pageX-C.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(D.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return D.current=!0,!0})({x:n,y:t},h,r)?u(e):(Math.abs(n)>r||Math.abs(t)>r)&&(C.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),C.current=null,D.current=!1,s(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),S(R.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),R.current&&S(R.current)}})});en.displayName="Drawer.Content";let er=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:s,setActiveSnapPoint:u,dismissible:d,handleOnly:c,isOpen:f,onPress:m,onDrag:p}=N(),h=r.default.useRef(null),g=r.default.useRef(!1);function v(){h.current&&window.clearTimeout(h.current),g.current=!1}return r.default.createElement("div",{onClick:function(){g.current?v():window.setTimeout(()=>{!function(){if(l||e||g.current)return v();if(v(),!i||0===i.length){d||o();return}if(s===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===s);-1===t||u(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&m(e),h.current=window.setTimeout(()=>{g.current=!0},250)},onPointerMove:e=>{c&&p(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});er.displayName="Drawer.Handle";let ea={Root:ee,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=N();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(ee,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:en,Overlay:et,Trigger:E.Trigger,Portal:function(e){let t=N(),{container:n=t.container,...a}=e;return r.default.createElement(E.Portal,{container:n,...a})},Handle:er,Close:E.Close,Title:E.Title,Description:E.Description};function eo({...e}){return(0,n.jsx)(ea.Root,{"data-slot":"drawer",...e})}function el({...e}){return(0,n.jsx)(ea.Portal,{"data-slot":"drawer-portal",...e})}function ei({className:e,...t}){return(0,n.jsx)(ea.Overlay,{"data-slot":"drawer-overlay",className:(0,s.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function es({className:e,children:t,direction:r="bottom",showCloseButton:o=!0,...l}){return(0,n.jsx)(el,{children:(0,n.jsxs)(ea.Content,{"data-slot":"drawer-content",className:(0,s.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...l.style??{}},...l,children:[t,o?(0,n.jsxs)(ea.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function eu({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...t})}function ed({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,s.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function ec({className:e,...t}){return(0,n.jsx)(ea.Title,{"data-slot":"drawer-title",className:(0,s.cn)("text-foreground font-semibold",e),...t})}function ef({className:e,...t}){return(0,n.jsx)(ea.Description,{"data-slot":"drawer-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>eo,"DrawerContent",()=>es,"DrawerDescription",()=>ef,"DrawerFooter",()=>ed,"DrawerHeader",()=>eu,"DrawerOverlay",()=>ei,"DrawerTitle",()=>ec],45811);var em=e.i(25235);e.i(41001);var ep=e.i(64780),eh=e.i(8537),eg=e.i(75921);let ev=(0,i.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function ew({open:e,onClose:t,modal:o=!1,dismissOnOutsideClick:l=!1,title:i="Drawer",size:u,header:d,children:c,footer:f,className:m,"data-testid":p,deployTarget:h}){let{i18n:g}=(0,ep.useTranslation)(),v=(0,eg.useFeatureFlags)(),w=(0,r.useRef)(null),x="rtl"===g.dir()?"left":"right";return(0,r.useEffect)(()=>{if(!e||o)return;let n=e=>{let n=e.target;!document.body.contains(n)||w.current?.contains(n)||n.closest(l?'[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]')||t()};return document.addEventListener("click",n),()=>document.removeEventListener("click",n)},[e,o,t,l]),(0,n.jsxs)(eo,{direction:x,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||t()},children:[o?(0,n.jsx)(ei,{}):null,(0,n.jsxs)(es,{ref:w,direction:x,showCloseButton:!1,className:(0,s.cn)(ev({size:u}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",m),"data-testid":p,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,n.jsx)(ec,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsx)(ef,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsxs)("button",{type:"button","aria-label":"Close",onClick:t,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":p?`${p}-close-button`:void 0,children:[(0,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}),d?(0,n.jsx)(eu,{className:"shrink-0",children:d}):null,d?(0,n.jsx)(em.Separator,{}):null,v.envDeploy&&h?(0,n.jsx)(ex,{deployTarget:h}):null,(0,n.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:c}),f?(0,n.jsx)(ed,{className:"shrink-0",children:f}):null]})]})}function ex({deployTarget:e}){let t=(0,eh.useDeployAction)(e),r="Booting"===t.status||"Ready"===t.status;return(0,n.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,n.jsx)(v.TooltipProvider,{children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(m,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?t.stop:t.deploy,loading:t.deployLoading||t.stopLoading,error:!!t.deployError,icon:r?l.Square:o.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,n.jsx)(v.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,n.jsx)(R,{status:t.status,url:t.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>ew],11495)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},24042,e=>{"use strict";let t=(0,e.i(3645).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],24042)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},73504,81605,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(21023);let l=(0,s.createServerReference)("40b4eeeb2999f5dd298c7eeb72e866dd706847cb43",s.callServer,void 0,s.findSourceMapURL,"deployFeature"),r=(0,s.createServerReference)("4080e8abd8dccdccdcffa041ededc81a57388866e4",s.callServer,void 0,s.findSourceMapURL,"deployRepository"),n=(0,s.createServerReference)("4035315500c0fdbe957490a4576599fe4e10362d00",s.callServer,void 0,s.findSourceMapURL,"deployApplication"),i=(0,s.createServerReference)("40b6be2e695ac64cea2ea7e061df3df9b9e8c668e5",s.callServer,void 0,s.findSourceMapURL,"stopDeployment"),o=(0,s.createServerReference)("405797f8b8319ac6933f44b97b53ed69b7d74f720d",s.callServer,void 0,s.findSourceMapURL,"getDeploymentStatus");var c=e.i(18354);let d={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class u{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let a of e)t.add(a.targetId),this.update(a.targetId,{status:a.state,url:a.url,targetType:a.targetType,hydrated:!0});for(let[e,a]of this.entries)!t.has(e)&&a.hydrated&&null!==a.status?this.update(e,{status:null,url:null}):t.has(e)||a.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??d}update(e,t){let a={...this.entries.get(e)??d,...t};this.entries.set(e,a),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 a=this.listeners.get(e);return a||(a=new Set,this.listeners.set(e,a)),a.add(t),()=>{a?.delete(t),a?.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",()=>u,"EMPTY_ENTRY",0,d],81605);let m=(0,c.createLogger)("[DeploymentStatusProvider]"),x=new Set(["Booting","Ready"]),p=(0,a.createContext)(null);function h({initialDeployments:e,children:s}){let c=(0,a.useRef)(null);c.current||(c.current=new u,c.current.hydrate(e));let d=c.current;(0,a.useEffect)(()=>{d.hydrate(e)},[e,d]);let h=(0,a.useRef)(new Map),g=(0,a.useCallback)(e=>{let t=h.current.get(e);t&&(clearInterval(t),h.current.delete(e))},[]),f=(0,a.useCallback)(e=>{if(h.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await o(e)}catch(t){m.warn(`poll failed for "${e}"`,t),d.setStatus(e,null),g(e);return}if(!t||"Stopped"===t.state){d.setStatus(e,null),g(e);return}d.setStatus(e,t)},3e3);h.current.set(e,t)},[d,g]);(0,a.useEffect)(()=>{let e=h.current,t=d.subscribeAll(()=>{for(let[t]of e){let e=d.getEntry(t);e.status&&x.has(e.status)||g(t)}});return()=>{for(let[,a]of(t(),e))clearInterval(a);e.clear()}},[d,g]);let y=(0,a.useCallback)(e=>{!e||d.getEntry(e).hydrated||(d.update(e,{hydrated:!0}),(async()=>{try{let t=await o(e);d.setStatus(e,t),t&&x.has(t.state)&&f(e)}catch(t){m.warn(`ensureHydrated failed for "${e}"`,t)}})())},[d,f]),b=(0,a.useCallback)(async e=>{d.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 r(e.repositoryPath);if(!t.success)return void d.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});d.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),f(e.targetId)}catch(a){let t=a instanceof Error?a.message:"An unexpected error occurred";d.update(e.targetId,{deployLoading:!1,deployError:t})}},[d,f]),j=(0,a.useCallback)(async e=>{if(e){d.update(e,{stopLoading:!0});try{(await i(e)).success?(g(e),d.update(e,{stopLoading:!1,status:null,url:null})):d.update(e,{stopLoading:!1})}catch(t){m.warn("stop error (non-critical)",t),d.update(e,{stopLoading:!1})}}},[d,g]),v=(0,a.useMemo)(()=>({store:d,deploy:b,stop:j,ensureHydrated:y}),[d,b,j,y]);return(0,t.jsx)(p.Provider,{value:v,children:s})}function g(){let e=(0,a.useContext)(p);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function f(){let e=(0,a.useContext)(p);return e||y}let y={store:new u,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>h,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>f],73504)},8537,e=>{"use strict";var t=e.i(79054),a=e.i(73504);function s(){}function l(e){let{store:l,deploy:r,stop:n,ensureHydrated:i}=(0,a.useDeploymentStatusContextOptional)(),o=e?.targetId??"",c=(0,t.useCallback)(e=>o?l.subscribe(o,e):s,[l,o]),d=(0,t.useCallback)(()=>o?l.getEntry(o):l.getEntry(""),[l,o]),u=(0,t.useSyncExternalStore)(c,d,d);return(0,t.useEffect)(()=>{o&&i(o)},[o,i]),{deploy:(0,t.useCallback)(async()=>{e&&await r(e)},[r,e]),stop:(0,t.useCallback)(async()=>{o&&await n(o)},[n,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>l])},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},35e3,e=>{"use strict";var t=e.i(80986);e.s(["CheckCircle2",()=>t.default])},93192,e=>{"use strict";let t=(0,e.i(3645).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);e.s(["Package",()=>t],93192)},9388,e=>{"use strict";let t=(0,e.i(3645).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);e.s(["Monitor",()=>t],9388)},83902,e=>{"use strict";let t=(0,e.i(3645).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);e.s(["Rocket",()=>t],83902)},44412,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(81975),l=e.i(68304),r=e.i(31777),n=e.i(83428),i=e.i(83902),o=e.i(81181),c=e.i(9388),d=e.i(38573),u=e.i(49228),m=e.i(54277),x=e.i(95812),p=e.i(35e3),h=e.i(93192),g=e.i(35364),f=e.i(2828),y=e.i(33548),b=e.i(23925),j=e.i(30702),v=e.i(11495);let N={linux:"Linux",darwin:"macOS",win32:"Windows"},k={ide:{label:"IDE",icon:c.Monitor},"cli-agent":{label:"CLI Agent",icon:d.Terminal},vcs:{label:"VCS",icon:u.GitBranch},terminal:{label:"Terminal",icon:d.Terminal}};function w({status:e}){return"available"===e?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",children:[(0,t.jsx)(b.Check,{className:"h-3 w-3"}),"Installed"]}):"error"===e?(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",children:"Error"}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:"Missing"})}function C({tool:e,open:s,onClose:l,onRefresh:r,autoStart:d}){let[u,m]=(0,a.useState)(!1),[x,p]=(0,a.useState)(!1),{logs:f,status:C,startInstall:S}=function(e){let[t,s]=(0,a.useState)([]),[l,r]=(0,a.useState)("idle"),[n,i]=(0,a.useState)(null),o=(0,a.useRef)(null),c=(0,a.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,a.useEffect)(()=>c,[c]),{logs:t,status:l,result:n,startInstall:(0,a.useCallback)(()=>{c(),s([]),i(null),r("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{s(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);i(t),r("error"===t.status?"error":"done"),c()}),t.onerror=()=>{r("error"),c()}},[e,c])}}(e.id),T=(0,a.useRef)(null),L=(0,a.useRef)(!0),I=(0,a.useRef)(!1),E="available"===e.status.status,M="error"===e.status.status,R=E&&!!e.openDirectory,z=!E&&!M&&e.autoInstall;async function D(){p(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{p(!1)}}(0,a.useEffect)(()=>{s&&d&&z&&"idle"===C&&!I.current&&(I.current=!0,S()),s||(I.current=!1)},[s,d,z,C,S]);let P=(0,a.useCallback)(()=>{let e=T.current;e&&(L.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,a.useEffect)(()=>{L.current&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[f,C]),(0,a.useEffect)(()=>{"done"===C&&r&&r()},[C,r]);let A=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pe-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:24,height:24,className:"shrink-0 dark:invert"}):(0,t.jsx)(h.Package,{className:"text-muted-foreground h-6 w-6 shrink-0"}),(0,t.jsx)("h2",{className:"text-base font-bold",children:e.name}),(0,t.jsx)(w,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let a=k[e]??{label:e,icon:c.Monitor},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(s,{className:"h-3 w-3"}),a.label]},e)})})]});return(0,t.jsx)(v.BaseDrawer,{open:s,onClose:l,size:"md",modal:!0,title:e.name,header:A,"data-testid":"tool-detail-drawer",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),e.author||e.platforms?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[e.author?(0,t.jsxs)("span",{className:"text-muted-foreground",children:["by"," ",e.website?(0,t.jsx)("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:underline",children:e.author}):(0,t.jsx)("span",{className:"text-foreground",children:e.author})]}):null,e.platforms&&e.platforms.length>0?(0,t.jsx)("span",{className:"text-muted-foreground",children:e.platforms.map(e=>N[e]??e).join(" · ")}):null]}):null,e.installCommand?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install command"}),(0,t.jsxs)("div",{className:"relative rounded-md bg-zinc-900 text-zinc-100",children:[(0,t.jsx)("pre",{className:"overflow-x-auto px-3 py-2.5 pe-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100",onClick:function(){e.installCommand&&navigator.clipboard.writeText(e.installCommand).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},"aria-label":u?"Copied!":"Copy install command",children:[u?(0,t.jsx)(b.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(y.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ms-1 text-[10px]",children:u?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[z?(0,t.jsxs)(g.Button,{size:"sm",onClick:S,disabled:"streaming"===C,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===C?(0,t.jsx)(n.Loader2,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(o.Download,{className:"me-1.5 h-3.5 w-3.5"}),"streaming"===C?"Installing...":"Install"]}):null,R?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:()=>void D(),disabled:x,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[x?(0,t.jsx)(n.Loader2,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"me-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(g.Button,{variant:"outline",size:"sm",className:"cursor-pointer",asChild:!0,children:(0,t.jsxs)("a",{href:e.documentationUrl,target:"_blank",rel:"noopener noreferrer",children:["Docs",(0,t.jsx)(j.ExternalLink,{className:"ms-1 h-3 w-3"})]})}):null]}),("streaming"===C||"done"===C||"error"===C)&&f.length>0?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install log"}),(0,t.jsxs)("div",{ref:T,onScroll:P,className:"max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100","data-testid":"tool-install-log",children:[f.map((e,a)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},a)),"done"===C?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===C?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let S={ide:{label:"IDE",icon:c.Monitor},"cli-agent":{label:"CLI Agent",icon:d.Terminal},vcs:{label:"VCS",icon:u.GitBranch},terminal:{label:"Terminal",icon:d.Terminal}};function T({tool:e,onRefresh:s,className:l}){let[d,u]=(0,a.useState)(!1),[y,b]=(0,a.useState)(!1),[j,v]=(0,a.useTransition)(),N="available"===e.status.status,k="error"===e.status.status,w=N&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){b(!1),u(!0)},className:(0,r.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",l),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:20,height:20,className:"shrink-0 dark:invert"}):(0,t.jsx)(h.Package,{className:"text-muted-foreground h-5 w-5 shrink-0"}),(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"truncate text-sm font-bold",children:e.name})]}),(0,t.jsx)("div",{"data-testid":"tool-card-tags",className:"flex shrink-0 items-center gap-1",children:e.tags.map(e=>{let a=S[e]??{label:e,icon:c.Monitor},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(s,{className:"h-2.5 w-2.5"}),a.label]},e)})})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground mt-1 truncate text-xs",children:e.summary}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[k&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 truncate text-[10px] text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(m.CircleX,{className:"h-3 w-3 shrink-0"}),e.status.errorMessage??"Error"]}):N?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(p.CheckCircle2,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px]",children:[(0,t.jsx)(x.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(f.TooltipProvider,{children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"rounded bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-700 dark:bg-amber-900/50 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(f.TooltipContent,{side:"top",children:"This tool is required for Shep to function properly"})]})}):null]}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:N&&w?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),v(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:j,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[j?(0,t.jsx)(n.Loader2,{className:"me-1 h-3 w-3 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"me-1 h-3 w-3"}),"Launch"]}):N||k?null:(0,t.jsxs)(g.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),b(e.autoInstall),u(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[(0,t.jsx)(o.Download,{className:"me-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(C,{tool:e,open:d,onClose:()=>u(!1),onRefresh:s,autoStart:y})]})}let L={all:()=>!0,ide:e=>e.tags.includes("ide"),"cli-agent":e=>e.tags.includes("cli-agent"),vcs:e=>e.tags.includes("vcs"),terminal:e=>e.tags.includes("terminal")};function I({tools:e,className:n}){let[i,o]=(0,a.useState)(e),[c,d]=(0,a.useState)("all"),u=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();o(t)}}catch{}},[]),m=i.filter(L[c]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,r.cn)("space-y-4",n),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s.Wrench,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[i.filter(e=>"available"===e.status.status).length,"/",i.length," installed"]})]}),(0,t.jsxs)(l.Tabs,{value:c,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(l.TabsList,{className:"h-7",children:[(0,t.jsx)(l.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(l.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(l.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(l.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(l.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(l.TabsContent,{value:c,className:"mt-3",children:0===m.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(s.Wrench,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:m.map(e=>(0,t.jsx)(T,{tool:e,onRefresh:u},e.id))})})]})]})}e.s(["ToolsPageClient",()=>I],44412)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},24042,e=>{"use strict";let t=(0,e.i(3645).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],24042)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},73504,81605,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(21023);let l=(0,s.createServerReference)("4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",s.callServer,void 0,s.findSourceMapURL,"deployFeature"),r=(0,s.createServerReference)("40948fe1c9352411e89edf299ed1e8f51bce06bee4",s.callServer,void 0,s.findSourceMapURL,"deployRepository"),n=(0,s.createServerReference)("408ebe4b532992092d18a9b513f7f54038544f0585",s.callServer,void 0,s.findSourceMapURL,"deployApplication"),i=(0,s.createServerReference)("4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",s.callServer,void 0,s.findSourceMapURL,"stopDeployment"),o=(0,s.createServerReference)("40c3e4f1640509f222ee938f58e619fb9dc9e885ad",s.callServer,void 0,s.findSourceMapURL,"getDeploymentStatus");var c=e.i(18354);let d={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class u{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let a of e)t.add(a.targetId),this.update(a.targetId,{status:a.state,url:a.url,targetType:a.targetType,hydrated:!0});for(let[e,a]of this.entries)!t.has(e)&&a.hydrated&&null!==a.status?this.update(e,{status:null,url:null}):t.has(e)||a.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??d}update(e,t){let a={...this.entries.get(e)??d,...t};this.entries.set(e,a),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 a=this.listeners.get(e);return a||(a=new Set,this.listeners.set(e,a)),a.add(t),()=>{a?.delete(t),a?.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",()=>u,"EMPTY_ENTRY",0,d],81605);let m=(0,c.createLogger)("[DeploymentStatusProvider]"),x=new Set(["Booting","Ready"]),p=(0,a.createContext)(null);function h({initialDeployments:e,children:s}){let c=(0,a.useRef)(null);c.current||(c.current=new u,c.current.hydrate(e));let d=c.current;(0,a.useEffect)(()=>{d.hydrate(e)},[e,d]);let h=(0,a.useRef)(new Map),g=(0,a.useCallback)(e=>{let t=h.current.get(e);t&&(clearInterval(t),h.current.delete(e))},[]),f=(0,a.useCallback)(e=>{if(h.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await o(e)}catch(t){m.warn(`poll failed for "${e}"`,t),d.setStatus(e,null),g(e);return}if(!t||"Stopped"===t.state){d.setStatus(e,null),g(e);return}d.setStatus(e,t)},3e3);h.current.set(e,t)},[d,g]);(0,a.useEffect)(()=>{let e=h.current,t=d.subscribeAll(()=>{for(let[t]of e){let e=d.getEntry(t);e.status&&x.has(e.status)||g(t)}});return()=>{for(let[,a]of(t(),e))clearInterval(a);e.clear()}},[d,g]);let y=(0,a.useCallback)(e=>{!e||d.getEntry(e).hydrated||(d.update(e,{hydrated:!0}),(async()=>{try{let t=await o(e);d.setStatus(e,t),t&&x.has(t.state)&&f(e)}catch(t){m.warn(`ensureHydrated failed for "${e}"`,t)}})())},[d,f]),b=(0,a.useCallback)(async e=>{d.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 r(e.repositoryPath);if(!t.success)return void d.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});d.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),f(e.targetId)}catch(a){let t=a instanceof Error?a.message:"An unexpected error occurred";d.update(e.targetId,{deployLoading:!1,deployError:t})}},[d,f]),j=(0,a.useCallback)(async e=>{if(e){d.update(e,{stopLoading:!0});try{(await i(e)).success?(g(e),d.update(e,{stopLoading:!1,status:null,url:null})):d.update(e,{stopLoading:!1})}catch(t){m.warn("stop error (non-critical)",t),d.update(e,{stopLoading:!1})}}},[d,g]),v=(0,a.useMemo)(()=>({store:d,deploy:b,stop:j,ensureHydrated:y}),[d,b,j,y]);return(0,t.jsx)(p.Provider,{value:v,children:s})}function g(){let e=(0,a.useContext)(p);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function f(){let e=(0,a.useContext)(p);return e||y}let y={store:new u,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>h,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>f],73504)},8537,e=>{"use strict";var t=e.i(79054),a=e.i(73504);function s(){}function l(e){let{store:l,deploy:r,stop:n,ensureHydrated:i}=(0,a.useDeploymentStatusContextOptional)(),o=e?.targetId??"",c=(0,t.useCallback)(e=>o?l.subscribe(o,e):s,[l,o]),d=(0,t.useCallback)(()=>o?l.getEntry(o):l.getEntry(""),[l,o]),u=(0,t.useSyncExternalStore)(c,d,d);return(0,t.useEffect)(()=>{o&&i(o)},[o,i]),{deploy:(0,t.useCallback)(async()=>{e&&await r(e)},[r,e]),stop:(0,t.useCallback)(async()=>{o&&await n(o)},[n,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>l])},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},35e3,e=>{"use strict";var t=e.i(80986);e.s(["CheckCircle2",()=>t.default])},93192,e=>{"use strict";let t=(0,e.i(3645).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);e.s(["Package",()=>t],93192)},9388,e=>{"use strict";let t=(0,e.i(3645).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);e.s(["Monitor",()=>t],9388)},83902,e=>{"use strict";let t=(0,e.i(3645).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);e.s(["Rocket",()=>t],83902)},44412,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(81975),l=e.i(68304),r=e.i(31777),n=e.i(83428),i=e.i(83902),o=e.i(81181),c=e.i(9388),d=e.i(38573),u=e.i(49228),m=e.i(54277),x=e.i(95812),p=e.i(35e3),h=e.i(93192),g=e.i(35364),f=e.i(2828),y=e.i(33548),b=e.i(23925),j=e.i(30702),v=e.i(11495);let N={linux:"Linux",darwin:"macOS",win32:"Windows"},k={ide:{label:"IDE",icon:c.Monitor},"cli-agent":{label:"CLI Agent",icon:d.Terminal},vcs:{label:"VCS",icon:u.GitBranch},terminal:{label:"Terminal",icon:d.Terminal}};function w({status:e}){return"available"===e?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",children:[(0,t.jsx)(b.Check,{className:"h-3 w-3"}),"Installed"]}):"error"===e?(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",children:"Error"}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:"Missing"})}function C({tool:e,open:s,onClose:l,onRefresh:r,autoStart:d}){let[u,m]=(0,a.useState)(!1),[x,p]=(0,a.useState)(!1),{logs:f,status:C,startInstall:S}=function(e){let[t,s]=(0,a.useState)([]),[l,r]=(0,a.useState)("idle"),[n,i]=(0,a.useState)(null),o=(0,a.useRef)(null),c=(0,a.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,a.useEffect)(()=>c,[c]),{logs:t,status:l,result:n,startInstall:(0,a.useCallback)(()=>{c(),s([]),i(null),r("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{s(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);i(t),r("error"===t.status?"error":"done"),c()}),t.onerror=()=>{r("error"),c()}},[e,c])}}(e.id),T=(0,a.useRef)(null),L=(0,a.useRef)(!0),I=(0,a.useRef)(!1),E="available"===e.status.status,M="error"===e.status.status,R=E&&!!e.openDirectory,z=!E&&!M&&e.autoInstall;async function D(){p(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{p(!1)}}(0,a.useEffect)(()=>{s&&d&&z&&"idle"===C&&!I.current&&(I.current=!0,S()),s||(I.current=!1)},[s,d,z,C,S]);let P=(0,a.useCallback)(()=>{let e=T.current;e&&(L.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,a.useEffect)(()=>{L.current&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[f,C]),(0,a.useEffect)(()=>{"done"===C&&r&&r()},[C,r]);let A=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pe-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:24,height:24,className:"shrink-0 dark:invert"}):(0,t.jsx)(h.Package,{className:"text-muted-foreground h-6 w-6 shrink-0"}),(0,t.jsx)("h2",{className:"text-base font-bold",children:e.name}),(0,t.jsx)(w,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let a=k[e]??{label:e,icon:c.Monitor},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(s,{className:"h-3 w-3"}),a.label]},e)})})]});return(0,t.jsx)(v.BaseDrawer,{open:s,onClose:l,size:"md",modal:!0,title:e.name,header:A,"data-testid":"tool-detail-drawer",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),e.author||e.platforms?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[e.author?(0,t.jsxs)("span",{className:"text-muted-foreground",children:["by"," ",e.website?(0,t.jsx)("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:underline",children:e.author}):(0,t.jsx)("span",{className:"text-foreground",children:e.author})]}):null,e.platforms&&e.platforms.length>0?(0,t.jsx)("span",{className:"text-muted-foreground",children:e.platforms.map(e=>N[e]??e).join(" · ")}):null]}):null,e.installCommand?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install command"}),(0,t.jsxs)("div",{className:"relative rounded-md bg-zinc-900 text-zinc-100",children:[(0,t.jsx)("pre",{className:"overflow-x-auto px-3 py-2.5 pe-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100",onClick:function(){e.installCommand&&navigator.clipboard.writeText(e.installCommand).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},"aria-label":u?"Copied!":"Copy install command",children:[u?(0,t.jsx)(b.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(y.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ms-1 text-[10px]",children:u?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[z?(0,t.jsxs)(g.Button,{size:"sm",onClick:S,disabled:"streaming"===C,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===C?(0,t.jsx)(n.Loader2,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(o.Download,{className:"me-1.5 h-3.5 w-3.5"}),"streaming"===C?"Installing...":"Install"]}):null,R?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:()=>void D(),disabled:x,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[x?(0,t.jsx)(n.Loader2,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"me-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(g.Button,{variant:"outline",size:"sm",className:"cursor-pointer",asChild:!0,children:(0,t.jsxs)("a",{href:e.documentationUrl,target:"_blank",rel:"noopener noreferrer",children:["Docs",(0,t.jsx)(j.ExternalLink,{className:"ms-1 h-3 w-3"})]})}):null]}),("streaming"===C||"done"===C||"error"===C)&&f.length>0?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install log"}),(0,t.jsxs)("div",{ref:T,onScroll:P,className:"max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100","data-testid":"tool-install-log",children:[f.map((e,a)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},a)),"done"===C?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===C?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let S={ide:{label:"IDE",icon:c.Monitor},"cli-agent":{label:"CLI Agent",icon:d.Terminal},vcs:{label:"VCS",icon:u.GitBranch},terminal:{label:"Terminal",icon:d.Terminal}};function T({tool:e,onRefresh:s,className:l}){let[d,u]=(0,a.useState)(!1),[y,b]=(0,a.useState)(!1),[j,v]=(0,a.useTransition)(),N="available"===e.status.status,k="error"===e.status.status,w=N&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){b(!1),u(!0)},className:(0,r.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",l),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:20,height:20,className:"shrink-0 dark:invert"}):(0,t.jsx)(h.Package,{className:"text-muted-foreground h-5 w-5 shrink-0"}),(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"truncate text-sm font-bold",children:e.name})]}),(0,t.jsx)("div",{"data-testid":"tool-card-tags",className:"flex shrink-0 items-center gap-1",children:e.tags.map(e=>{let a=S[e]??{label:e,icon:c.Monitor},s=a.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(s,{className:"h-2.5 w-2.5"}),a.label]},e)})})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground mt-1 truncate text-xs",children:e.summary}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[k&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 truncate text-[10px] text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(m.CircleX,{className:"h-3 w-3 shrink-0"}),e.status.errorMessage??"Error"]}):N?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(p.CheckCircle2,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px]",children:[(0,t.jsx)(x.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(f.TooltipProvider,{children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"rounded bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-700 dark:bg-amber-900/50 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(f.TooltipContent,{side:"top",children:"This tool is required for Shep to function properly"})]})}):null]}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:N&&w?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),v(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:j,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[j?(0,t.jsx)(n.Loader2,{className:"me-1 h-3 w-3 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"me-1 h-3 w-3"}),"Launch"]}):N||k?null:(0,t.jsxs)(g.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),b(e.autoInstall),u(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[(0,t.jsx)(o.Download,{className:"me-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(C,{tool:e,open:d,onClose:()=>u(!1),onRefresh:s,autoStart:y})]})}let L={all:()=>!0,ide:e=>e.tags.includes("ide"),"cli-agent":e=>e.tags.includes("cli-agent"),vcs:e=>e.tags.includes("vcs"),terminal:e=>e.tags.includes("terminal")};function I({tools:e,className:n}){let[i,o]=(0,a.useState)(e),[c,d]=(0,a.useState)("all"),u=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();o(t)}}catch{}},[]),m=i.filter(L[c]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,r.cn)("space-y-4",n),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s.Wrench,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[i.filter(e=>"available"===e.status.status).length,"/",i.length," installed"]})]}),(0,t.jsxs)(l.Tabs,{value:c,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(l.TabsList,{className:"h-7",children:[(0,t.jsx)(l.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(l.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(l.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(l.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(l.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(l.TabsContent,{value:c,className:"mt-3",children:0===m.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(s.Wrench,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:m.map(e=>(0,t.jsx)(T,{tool:e,onRefresh:u},e.id))})})]})]})}e.s(["ToolsPageClient",()=>I],44412)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41952,e=>{"use strict";var t=e.i(20314),i=e.i(79054),n=e.i(23925),s=e.i(26370),a=e.i(38573),l=e.i(49228),r=e.i(74294),o=e.i(3645);let c=(0,o.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),d=(0,o.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,o.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var g=e.i(32494),m=e.i(34808),p=e.i(3214),h=e.i(30702);let f=(0,o.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var x=e.i(58860),v=e.i(48109),b=e.i(42049),w=e.i(60112);e.i(41001);var j=e.i(64780),y=e.i(31777),S=e.i(41957),k=e.i(51911),C=e.i(47373),M=e.i(21023);let I=(0,M.createServerReference)("403be9f6ee8734eb57b9ed507f66dad07cdde6551c",M.callServer,void 0,M.findSourceMapURL,"updateSettingsAction");var N=e.i(17406),T=e.i(98804),A=e.i(44229),D=e.i(83902);function F(e){return(0,t.jsx)(A.Code,{className:(0,y.cn)("h-4 w-4",e.className),...e})}function P({className:e}){return(0,t.jsx)(T.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function E({className:e}){return(0,t.jsx)(T.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function R({className:e}){return(0,t.jsx)(T.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function z({className:e}){return(0,t.jsx)(T.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function B({className:e,...i}){return(0,t.jsx)(D.Rocket,{className:(0,y.cn)("h-4 w-4",e),...i})}P.displayName="VsCodeIcon",E.displayName="CursorEditorIcon",R.displayName="WindsurfIcon",z.displayName="ZedIcon",B.displayName="AntigravityIcon";let L={vscode:P,cursor:E,windsurf:R,zed:z,antigravity:B};var _=e.i(41413),K=e.i(27069),V=e.i(91967),W=e.i(5978),O=e.i(22528),G=e.i(36589),H=e.i(66033),q=e.i(23405),U=e.i(77624),$=e.i(87620),Z=e.i(87342),X=["PageUp","PageDown"],Y=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],J={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Q="Slider",[ee,et,ei]=(0,Z.createCollection)(Q),[en,es]=(0,O.createContextScope)(Q,[ei]),[ea,el]=en(Q),er=i.forwardRef((e,n)=>{let{name:s,min:a=0,max:l=100,step:r=1,orientation:o="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:m=()=>{},onValueCommit:p=()=>{},inverted:h=!1,form:f,...x}=e,v=i.useRef(new Set),b=i.useRef(0),w="horizontal"===o,[j=[],y]=(0,G.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),m(e)}}),S=i.useRef(j);function k(e,t,{commit:i}={commit:!1}){let n,s=(String(r).split(".")[1]||"").length,o=Math.round((Math.round((e-a)/r)*r+a)*(n=Math.pow(10,s)))/n,c=(0,K.clamp)(o,[a,l]);y((e=[])=>{let n=function(e=[],t,i){let n=[...e];return n[i]=t,n.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,i)=>e[i+1]-t))>=t;return!0}(n,d*r))return e;{b.current=n.indexOf(c);let t=String(n)!==String(e);return t&&i&&p(n),t?n:e}})}return(0,t.jsx)(ea,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:l,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:o,form:f,children:(0,t.jsx)(ee.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(ee.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ed:eu,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:n,onPointerDown:(0,V.composeEventHandlers)(x.onPointerDown,()=>{c||(S.current=j)}),min:a,max:l,inverted:h,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let i=e.map(e=>Math.abs(e-t)),n=Math.min(...i);return i.indexOf(n)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=S.current[b.current];j[b.current]!==e&&p(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(l,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let i=X.includes(e.key)||e.shiftKey&&Y.includes(e.key),n=b.current;k(j[n]+r*(i?10:1)*t,n,{commit:!0})}}})})})})});er.displayName=Q;var[eo,ec]=en(Q,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ed=i.forwardRef((e,n)=>{let{min:s,max:a,dir:l,inverted:r,onSlideStart:o,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[m,p]=i.useState(null),h=(0,W.useComposedRefs)(n,e=>p(e)),f=i.useRef(void 0),x=(0,H.useDirection)(l),v="ltr"===x,b=v&&!r||!v&&r;function w(e){let t=f.current||m.getBoundingClientRect(),i=ey([0,t.width],b?[s,a]:[a,s]);return f.current=t,i(e-t.left)}return(0,t.jsx)(eo,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(eg,{dir:x,"data-orientation":"horizontal",...g,ref:h,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=w(e.clientX);o?.(t)},onSlideMove:e=>{let t=w(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=J[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),eu=i.forwardRef((e,n)=>{let{min:s,max:a,inverted:l,onSlideStart:r,onSlideMove:o,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=i.useRef(null),m=(0,W.useComposedRefs)(n,g),p=i.useRef(void 0),h=!l;function f(e){let t=p.current||g.current.getBoundingClientRect(),i=ey([0,t.height],h?[a,s]:[s,a]);return p.current=t,i(e-t.top)}return(0,t.jsx)(eo,{scope:e.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1,children:(0,t.jsx)(eg,{"data-orientation":"vertical",...u,ref:m,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);r?.(t)},onSlideMove:e=>{let t=f(e.clientY);o?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=J[h?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),eg=i.forwardRef((e,i)=>{let{__scopeSlider:n,onSlideStart:s,onSlideMove:a,onSlideEnd:l,onHomeKeyDown:r,onEndKeyDown:o,onStepKeyDown:c,...d}=e,u=el(Q,n);return(0,t.jsx)($.Primitive.span,{...d,ref:i,onKeyDown:(0,V.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(r(e),e.preventDefault()):"End"===e.key?(o(e),e.preventDefault()):X.concat(Y).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,V.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,V.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,V.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),l(e))})})}),em="SliderTrack",ep=i.forwardRef((e,i)=>{let{__scopeSlider:n,...s}=e,a=el(em,n);return(0,t.jsx)($.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:i})});ep.displayName=em;var eh="SliderRange",ef=i.forwardRef((e,n)=>{let{__scopeSlider:s,...a}=e,l=el(eh,s),r=ec(eh,s),o=i.useRef(null),c=(0,W.useComposedRefs)(n,o),d=l.values.length,u=l.values.map(e=>ej(e,l.min,l.max)),g=d>1?Math.min(...u):0,m=100-Math.max(...u);return(0,t.jsx)($.Primitive.span,{"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,...a,ref:c,style:{...e.style,[r.startEdge]:g+"%",[r.endEdge]:m+"%"}})});ef.displayName=eh;var ex="SliderThumb",ev=i.forwardRef((e,n)=>{let s=et(e.__scopeSlider),[a,l]=i.useState(null),r=(0,W.useComposedRefs)(n,e=>l(e)),o=i.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eb,{...e,ref:r,index:o})}),eb=i.forwardRef((e,n)=>{var s,a,l,r,o;let c,d,{__scopeSlider:u,index:g,name:m,...p}=e,h=el(ex,u),f=ec(ex,u),[x,v]=i.useState(null),b=(0,W.useComposedRefs)(n,e=>v(e)),w=!x||h.form||!!x.closest("form"),j=(0,U.useSize)(x),y=h.values[g],S=void 0===y?0:ej(y,h.min,h.max),k=(s=g,(a=h.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),C=j?.[f.size],M=C?(l=C,r=S,o=f.direction,d=ey([0,50],[0,c=l/2]),(c-d(r)*o)*o):0;return i.useEffect(()=>{if(x)return h.thumbs.add(x),()=>{h.thumbs.delete(x)}},[x,h.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${M}px)`},children:[(0,t.jsx)(ee.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)($.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":h.min,"aria-valuenow":y,"aria-valuemax":h.max,"aria-orientation":h.orientation,"data-orientation":h.orientation,"data-disabled":h.disabled?"":void 0,tabIndex:h.disabled?void 0:0,...p,ref:b,style:void 0===y?{display:"none"}:e.style,onFocus:(0,V.composeEventHandlers)(e.onFocus,()=>{h.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(ew,{name:m??(h.name?h.name+(h.values.length>1?"[]":""):void 0),form:h.form,value:y},g)]})});ev.displayName=ex;var ew=i.forwardRef(({__scopeSlider:e,value:n,...s},a)=>{let l=i.useRef(null),r=(0,W.useComposedRefs)(l,a),o=(0,q.usePrevious)(n);return i.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(o!==n&&t){let i=new Event("input",{bubbles:!0});t.call(e,n),e.dispatchEvent(i)}},[o,n]),(0,t.jsx)($.Primitive.input,{style:{display:"none"},...s,ref:r,defaultValue:n})});function ej(e,t,i){return(0,K.clamp)(100/(i-t)*(e-t),[0,100])}function ey(e,t){return i=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(i-e[0])}}ew.displayName="RadioBubbleInput",e.s(["Range",()=>ef,"Root",()=>er,"Slider",()=>er,"SliderRange",()=>ef,"SliderThumb",()=>ev,"SliderTrack",()=>ep,"Thumb",()=>ev,"Track",()=>ep,"createSliderScope",()=>es],29991);var eS=e.i(29991),eS=eS;function ek({className:e,defaultValue:n,value:s,min:a=0,max:l=100,...r}){let o=i.useMemo(()=>Array.isArray(s)?s:Array.isArray(n)?n:[a,l],[s,n,a,l]);return(0,t.jsxs)(eS.Root,{"data-slot":"slider",defaultValue:n,value:s,min:a,max:l,className:(0,y.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...r,children:[(0,t.jsx)(eS.Track,{"data-slot":"slider-track",className:(0,y.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(eS.Range,{"data-slot":"slider-range",className:(0,y.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:o.length},(e,i)=>(0,t.jsx)(eS.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},i))]})}let eC=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eM=eC.length-1;function eI(e){let t=0,i=Math.abs(e-eC[0]);for(let n=1;n<eC.length;n++){let s=Math.abs(e-eC[n]);s<i&&(i=s,t=n)}return t}function eN({id:e,testId:n,value:s,onChange:a,onBlur:l,defaultSeconds:r=1800}){var o;let c,d,u=(""===s?r:parseInt(s,10))||r,[g,m]=(0,i.useState)(()=>eI(u)),p=eI(u);p!==g&&eC[g]!==u&&m(p);let h=(0,i.useCallback)(([e])=>{m(e),a(String(eC[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(ek,{id:e,"data-testid":n,min:0,max:eM,step:1,value:[g],onValueChange:h,onValueCommit:()=>l(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(c=Math.floor((o=eC[g])/3600),d=Math.round(o%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eT=[{value:N.Language.English,nativeName:"English"},{value:N.Language.Ukrainian,nativeName:"Українська"},{value:N.Language.Russian,nativeName:"Русский"},{value:N.Language.Portuguese,nativeName:"Português"},{value:N.Language.Spanish,nativeName:"Español"},{value:N.Language.Arabic,nativeName:"العربية"},{value:N.Language.Hebrew,nativeName:"עברית"},{value:N.Language.French,nativeName:"Français"},{value:N.Language.German,nativeName:"Deutsch"}],eA=[{value:N.EditorType.VsCode,label:"VS Code"},{value:N.EditorType.Cursor,label:"Cursor"},{value:N.EditorType.Windsurf,label:"Windsurf"},{value:N.EditorType.Zed,label:"Zed"},{value:N.EditorType.Antigravity,label:"Antigravity"}],eD=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],eF=[{id:"language",labelKey:"settings.sections.language",icon:g.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:s.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:a.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:l.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:r.Activity},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:x.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:c},{id:"feature-flags",labelKey:"settings.sections.flags",icon:d},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:v.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"database",labelKey:"settings.sections.database",icon:u}];function eP({label:e,description:i,htmlFor:n,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(S.Label,{htmlFor:n,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),i?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:i}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function eE({label:e,description:i,id:n,testId:s,checked:a,onChange:l,disabled:r}){return(0,t.jsx)(eP,{label:e,description:i,htmlFor:n,children:(0,t.jsx)(k.Switch,{id:n,"data-testid":s,checked:a,onCheckedChange:l,disabled:r,className:(0,y.cn)("cursor-pointer",r&&"cursor-not-allowed opacity-50")})})}function eR({icon:e,title:i,description:n,badge:s,testId:a,children:l}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:i}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:n})]}),(0,t.jsx)("div",{className:"px-4",children:l})]})}function ez({id:e,testId:i,value:n,onChange:s,onBlur:a,placeholder:l,min:r=1,max:o,step:c=1,suffix:d}){let{t:u}=(0,j.useTranslation)("web"),g=""===n?void 0:parseInt(n,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(r,(g??parseInt(l,10))-c)))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-r transition-colors","aria-label":u("common.decrease"),children:(0,t.jsx)(m.Minus,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":i,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:n,placeholder:l,onChange:e=>{s(e.target.value.replace(/[^0-9]/g,""))},onBlur:a,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=g??parseInt(l,10),s(String(null!=o?Math.min(o,e+c):e+c))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-l transition-colors","aria-label":u("common.increase"),children:(0,t.jsx)(p.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eB({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function eL({children:e,links:i}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=i&&i.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:i.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(h.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function e_({settings:e,shepHome:o,dbFileSize:m,availableTerminals:p}){let{t:h,i18n:S}=(0,j.useTranslation)("web"),{showSaving:k,showSaved:M,save:T}=function(){let{t:e}=(0,j.useTranslation)("web"),[t,n]=(0,i.useTransition)(),[s,a]=(0,i.useState)(!1),[l,r]=(0,i.useState)(!1),o=(0,i.useRef)(null),c=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,o.current=setTimeout(()=>{o.current=null,c.current&&(a(!1),r(!0),setTimeout(()=>r(!1),2e3))},350)),!t&&s&&(c.current=!0,o.current||(a(!1),r(!0),setTimeout(()=>r(!1),2e3)))},[t,s]),{showSaving:s,showSaved:l,save:(0,i.useCallback)(t=>{n(async()=>{let i=await I(t);i.success||w.toast.error(i.error??e("settings.failedToSave"))})},[n,e])}}(),A=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1,inventory:!1},[D,P]=(0,i.useState)(e.user?.preferredLanguage??N.Language.English),[E,R]=(0,i.useState)(e.agent.type),[z,B]=(0,i.useState)(e.environment.defaultEditor),[K,V]=(0,i.useState)(e.environment.shellPreference),[W,O]=(0,i.useState)(e.environment.terminalPreference??N.TerminalType.System),G=p?p.filter(e=>e.available):[{id:N.TerminalType.System,name:h("settings.environment.systemTerminal"),available:!0}],[H,q]=(0,i.useState)(e.workflow.openPrOnImplementationComplete),[U,$]=(0,i.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[Z,X]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPrd),[Y,J]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPlan),[Q,ee]=(0,i.useState)(e.workflow.approvalGateDefaults.allowMerge),[et,ei]=(0,i.useState)(e.workflow.enableEvidence),[en,es]=(0,i.useState)(e.workflow.commitEvidence),[ea,el]=(0,i.useState)(!1!==e.workflow.ciWatchEnabled),[er,eo]=(0,i.useState)(!1!==e.workflow.hideCiStatus),[ec,ed]=(0,i.useState)(!1!==e.workflow.defaultFastMode),[eu,eg]=(0,i.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[em,ep]=(0,i.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eh,ef]=(0,i.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[ex,ev]=(0,i.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eb,ew]=(0,i.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[ej,ey]=(0,i.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),eS=e.workflow.stageTimeouts,[ek,eC]=(0,i.useState)(String(Math.round((eS?.analyzeMs??18e5)/1e3))),[eM,eI]=(0,i.useState)(String(Math.round((eS?.requirementsMs??18e5)/1e3))),[e_,eK]=(0,i.useState)(String(Math.round((eS?.researchMs??18e5)/1e3))),[eV,eW]=(0,i.useState)(String(Math.round((eS?.planMs??18e5)/1e3))),[eO,eG]=(0,i.useState)(String(Math.round((eS?.implementMs??18e5)/1e3))),[eH,eq]=(0,i.useState)(String(Math.round((eS?.fastImplementMs??18e5)/1e3))),[eU,e$]=(0,i.useState)(String(Math.round((eS?.mergeMs??18e5)/1e3))),eZ=e.workflow.analyzeRepoTimeouts,[eX,eY]=(0,i.useState)(String(Math.round((eZ?.analyzeMs??6e5)/1e3))),eJ=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[eQ,e0]=(0,i.useState)(eJ.enabled),[e1,e3]=(0,i.useState)(String(eJ.autoTimeoutMinutes)),[e2,e5]=(0,i.useState)(String(eJ.maxConcurrentSessions)),e4=e.fabLayout??{swapPosition:!1},[e8,e6]=(0,i.useState)(e4.swapPosition),[e9,e7]=(0,i.useState)(e.notifications.inApp.enabled),[te,tt]=(0,i.useState)({...e.notifications.events}),[ti,tn]=(0,i.useState)({...A}),ts=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",ta=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tl=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tr=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",to=eS?.analyzeMs!=null?String(Math.round(eS.analyzeMs/1e3)):"",tc=eS?.requirementsMs!=null?String(Math.round(eS.requirementsMs/1e3)):"",td=eS?.researchMs!=null?String(Math.round(eS.researchMs/1e3)):"",tu=eS?.planMs!=null?String(Math.round(eS.planMs/1e3)):"",tg=eS?.implementMs!=null?String(Math.round(eS.implementMs/1e3)):"",tm=eS?.fastImplementMs!=null?String(Math.round(eS.fastImplementMs/1e3)):"",tp=eS?.mergeMs!=null?String(Math.round(eS.mergeMs/1e3)):"",th=eZ?.analyzeMs!=null?String(Math.round(eZ.analyzeMs/1e3)):"";function tf(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tx(e){if(void 0===e)return;let t=tf(e);return null!=t?1e3*t:void 0}function tv(e={}){let t=tf(e.ciTimeout??ex),i=e.autoArchiveEnabled??eu,n=parseInt(e.autoArchiveDelay??em,10);return{workflow:{openPrOnImplementationComplete:e.openPr??H,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??U,allowPrd:e.allowPrd??Z,allowPlan:e.allowPlan??Y,allowMerge:e.allowMerge??Q},enableEvidence:e.enableEvidence??et,commitEvidence:e.commitEvidence??en,ciWatchEnabled:e.ciWatchEnabled??ea,hideCiStatus:e.hideCiStatus??er,defaultFastMode:e.defaultFastMode??ec,autoArchiveDelayMinutes:i?Number.isNaN(n)||n<1?10:n:0,ciMaxFixAttempts:tf(e.ciMaxFix??eh),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tf(e.ciLogMax??eb),ciWatchPollIntervalSeconds:tf(e.ciPollInterval??ej),stageTimeouts:{analyzeMs:tx(e.analyzeTimeout??ek),requirementsMs:tx(e.requirementsTimeout??eM),researchMs:tx(e.researchTimeout??e_),planMs:tx(e.planTimeout??eV),implementMs:tx(e.implementTimeout??eO),fastImplementMs:tx(e.fastImplementTimeout??eH),mergeMs:tx(e.mergeTimeout??eU)},analyzeRepoTimeouts:{analyzeMs:tx(e.analyzeRepoTimeout??eX)}}}}function tb(e={}){return{notifications:{inApp:{enabled:e.inApp??e9},events:e.events??te}}}let[tw,tj]=(0,i.useState)("agent");(0,i.useEffect)(()=>{let e=eF.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&tj(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let i of e)t.observe(i);return()=>t.disconnect()},[]);let ty=(0,i.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:h("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,y.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",k?"opacity-100":"opacity-0"),children:h("settings.saving")}),(0,t.jsxs)("span",{className:(0,y.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",M&&!k?"opacity-100":"opacity-0"),children:[(0,t.jsx)(n.Check,{className:"h-3 w-3"}),h("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:eF.map(e=>{let i=e.icon,n=tw===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>ty(e.id),className:(0,y.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",n?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(i,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:h(e.labelKey)})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{id:"section-language",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:(0,t.jsx)(eR,{icon:g.Globe,title:h("settings.language.title"),description:h("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eP,{label:h("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(C.Select,{value:D,onValueChange:function(e){P(e),S.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,T({user:{preferredLanguage:e}})},children:[(0,t.jsx)(C.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(C.SelectValue,{placeholder:h("settings.language.placeholder")})}),(0,t.jsx)(C.SelectContent,{children:eT.map(e=>(0,t.jsx)(C.SelectItem,{value:e.value,children:e.nativeName},e.value))})]})})})}),(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eR,{icon:s.Bot,title:h("settings.agent.sectionTitle"),description:h("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,t.jsx)(eP,{label:h("settings.agent.agentAndModel"),description:h("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(_.AgentModelPicker,{initialAgentType:E,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>R(e),className:"w-55"})})}),(0,t.jsx)(eL,{links:[{label:h("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:h("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:h("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:h("settings.agent.hint")})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:a.Terminal,title:h("settings.environment.sectionTitle"),description:h("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eP,{label:h("settings.environment.defaultEditor"),description:h("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(C.Select,{value:z,onValueChange:e=>{B(e),T({environment:{defaultEditor:e,shellPreference:K,terminalPreference:W}})},children:[(0,t.jsx)(C.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(C.SelectValue,{})}),(0,t.jsx)(C.SelectContent,{children:eA.map(e=>{var i;let n=(i=e.value)&&i in L?L[i]:F;return(0,t.jsx)(C.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(n,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eP,{label:h("settings.environment.shell"),description:h("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(C.Select,{value:K,onValueChange:e=>{V(e),T({environment:{defaultEditor:z,shellPreference:e,terminalPreference:W}})},children:[(0,t.jsx)(C.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(C.SelectValue,{})}),(0,t.jsx)(C.SelectContent,{children:eD.map(e=>(0,t.jsx)(C.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eP,{label:h("settings.environment.terminal"),description:h("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(C.Select,{value:W,onValueChange:e=>{O(e),T({environment:{defaultEditor:z,shellPreference:K,terminalPreference:e}})},children:[(0,t.jsx)(C.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(C.SelectValue,{})}),(0,t.jsx)(C.SelectContent,{children:G.map(e=>(0,t.jsx)(C.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eL,{links:[{label:h("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:h("settings.environment.hint")})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:l.GitBranch,title:h("settings.workflow.title"),description:h("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(eE,{label:h("settings.workflow.defaultFastMode"),description:h("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:ec,onChange:e=>{ed(e),T(tv({defaultFastMode:e}))}}),(0,t.jsx)(eB,{children:h("settings.workflow.subsections.approve")}),(0,t.jsx)(eE,{label:h("settings.workflow.autoApprovePrd"),description:h("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:Z,onChange:e=>{X(e),T(tv({allowPrd:e}))}}),(0,t.jsx)(eE,{label:h("settings.workflow.autoApprovePlan"),description:h("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:Y,onChange:e=>{J(e),T(tv({allowPlan:e}))}}),(0,t.jsx)(eE,{label:h("settings.workflow.autoApproveMerge"),description:h("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:Q,onChange:e=>{ee(e),T(tv({allowMerge:e}))}}),(0,t.jsx)(eB,{children:h("settings.workflow.subsections.evidence")}),(0,t.jsx)(eE,{label:h("settings.workflow.collectEvidence"),description:h("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:et,onChange:e=>{ei(e),e?T(tv({enableEvidence:e})):(es(!1),T(tv({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(eE,{label:h("settings.workflow.addEvidenceToPr"),description:h("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:en,disabled:!et||!H,onChange:e=>{es(e),T(tv({commitEvidence:e}))}}),(0,t.jsx)(eB,{children:h("settings.workflow.subsections.git")}),(0,t.jsx)(eE,{label:h("settings.workflow.pushOnComplete"),description:h("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:U,onChange:e=>{$(e),T(tv({pushOnComplete:e}))}}),(0,t.jsx)(eE,{label:h("settings.workflow.openPrOnComplete"),description:h("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:H,onChange:e=>{q(e),e?T(tv({openPr:e})):(es(!1),T(tv({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(eE,{label:h("settings.workflow.watchCiAfterPush"),description:h("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:ea,onChange:e=>{el(e),T(tv({ciWatchEnabled:e}))}}),(0,t.jsx)(eB,{children:"Archive"}),(0,t.jsx)(eE,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:eu,onChange:e=>{eg(e),T(tv({autoArchiveEnabled:e}))}}),(0,t.jsx)(eP,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(ez,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:em,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{ep(e)},onBlur:()=>{if(!eu)return;let e=parseInt(em,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));ep(String(t)),T(tv({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eL,{links:[{label:h("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:h("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:h("settings.workflow.hint")})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:r.Activity,title:h("settings.ci.title"),description:h("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eP,{label:h("settings.ci.maxFixAttempts"),description:h("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(ez,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eh,onChange:ef,onBlur:()=>{eh!==ts&&T(tv({ciMaxFix:eh}))},min:1,max:10})}),(0,t.jsx)(eP,{label:h("settings.ci.watchTimeout"),description:h("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(ez,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:ex,onChange:ev,onBlur:()=>{ex!==ta&&T(tv({ciTimeout:ex}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eP,{label:h("settings.ci.maxLogSize"),description:h("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(ez,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eb,onChange:ew,onBlur:()=>{eb!==tl&&T(tv({ciLogMax:eb}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eP,{label:h("settings.ci.pollInterval"),description:h("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(ez,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:ej,onChange:ey,onBlur:()=>{ej!==tr&&T(tv({ciPollInterval:ej}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(eE,{label:h("settings.ci.hideCiStatus"),description:h("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:er,onChange:e=>{eo(e),T(tv({hideCiStatus:e}))}})]}),(0,t.jsx)(eL,{links:[{label:h("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:h("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:h("settings.ci.hint")})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:x.Timer,title:h("settings.stageTimeouts.title"),description:h("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eB,{children:h("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.analyze"),description:h("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(eN,{id:"timeout-analyze",testId:"timeout-analyze-input",value:ek,onChange:eC,onBlur:()=>{ek!==to&&T(tv({analyzeTimeout:ek}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.requirements"),description:h("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(eN,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eM,onChange:eI,onBlur:()=>{eM!==tc&&T(tv({requirementsTimeout:eM}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.research"),description:h("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(eN,{id:"timeout-research",testId:"timeout-research-input",value:e_,onChange:eK,onBlur:()=>{e_!==td&&T(tv({researchTimeout:e_}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.plan"),description:h("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(eN,{id:"timeout-plan",testId:"timeout-plan-input",value:eV,onChange:eW,onBlur:()=>{eV!==tu&&T(tv({planTimeout:eV}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.implement"),description:h("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(eN,{id:"timeout-implement",testId:"timeout-implement-input",value:eO,onChange:eG,onBlur:()=>{eO!==tg&&T(tv({implementTimeout:eO}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.fastImplement"),description:h("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(eN,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:eH,onChange:eq,onBlur:()=>{eH!==tm&&T(tv({fastImplementTimeout:eH}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.merge"),description:h("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(eN,{id:"timeout-merge",testId:"timeout-merge-input",value:eU,onChange:e$,onBlur:()=>{eU!==tp&&T(tv({mergeTimeout:eU}))},defaultSeconds:1800})}),(0,t.jsx)(eB,{children:h("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.analyze"),description:h("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(eN,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:eX,onChange:eY,onBlur:()=>{eX!==th&&T(tv({analyzeRepoTimeout:eX}))},defaultSeconds:600})})]}),(0,t.jsx)(eL,{children:h("settings.stageTimeouts.hint")})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:c,title:h("settings.notifications.title"),description:h("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eB,{children:h("settings.notifications.channels")}),(0,t.jsx)(eE,{label:h("settings.notifications.inAppLabel"),description:h("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:e9,onChange:e=>{e7(e),T(tb({inApp:e}))}}),(0,t.jsx)(eB,{children:h("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(eE,{label:h("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:te.agentStarted,onChange:e=>{let t={...te,agentStarted:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:te.phaseCompleted,onChange:e=>{let t={...te,phaseCompleted:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:te.waitingApproval,onChange:e=>{let t={...te,waitingApproval:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:te.agentCompleted,onChange:e=>{let t={...te,agentCompleted:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:te.agentFailed,onChange:e=>{let t={...te,agentFailed:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eB,{children:h("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:te.prMerged,onChange:e=>{let t={...te,prMerged:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:te.prClosed,onChange:e=>{let t={...te,prClosed:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:te.prChecksPassed,onChange:e=>{let t={...te,prChecksPassed:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:te.prChecksFailed,onChange:e=>{let t={...te,prChecksFailed:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:te.prBlocked,onChange:e=>{let t={...te,prBlocked:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:te.mergeReviewReady,onChange:e=>{let t={...te,mergeReviewReady:e};tt(t),T(tb({events:t}))}})]}),(0,t.jsx)(eL,{links:[{label:h("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:h("settings.notifications.hint")})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:d,title:h("settings.featureFlags.title"),description:h("settings.featureFlags.sectionDescription"),badge:h("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(eE,{label:h("settings.featureFlags.skills"),description:h("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:ti.skills,onChange:e=>{let t={...ti,skills:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.deployments"),description:h("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:ti.envDeploy,onChange:e=>{let t={...ti,envDeploy:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.debug"),description:h("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:ti.debug,onChange:e=>{let t={...ti,debug:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.githubImport"),description:h("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:ti.githubImport,onChange:e=>{let t={...ti,githubImport:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.adoptBranch"),description:h("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:ti.adoptBranch,onChange:e=>{let t={...ti,adoptBranch:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.gitRebaseSync"),description:h("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:ti.gitRebaseSync,onChange:e=>{let t={...ti,gitRebaseSync:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.reactFileManager"),description:h("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:ti.reactFileManager,onChange:e=>{let t={...ti,reactFileManager:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.inventory"),description:h("settings.featureFlags.inventoryDescription"),id:"flag-inventory",testId:"switch-flag-inventory",checked:ti.inventory,onChange:e=>{let t={...ti,inventory:e};tn(t),T({featureFlags:t})}})]}),(0,t.jsx)(eL,{children:h("settings.featureFlags.hint")})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:v.MessageSquare,title:h("settings.interactiveAgent.title"),description:h("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(eE,{label:h("settings.interactiveAgent.enableChatTab"),description:h("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:eQ,onChange:e=>{e0(e),T({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(e1,10)||15,maxConcurrentSessions:parseInt(e2,10)||3}})}}),(0,t.jsx)(eP,{label:h("settings.interactiveAgent.autoTimeout"),description:h("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(ez,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:e1,placeholder:"15",min:1,max:120,suffix:"min",onChange:e3,onBlur:()=>{let e=parseInt(e1,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));e3(String(t)),T({interactiveAgent:{enabled:eQ,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(e2,10)||3}})}})}),(0,t.jsx)(eP,{label:h("settings.interactiveAgent.maxConcurrentSessions"),description:h("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(ez,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:e2,placeholder:"3",min:1,max:10,onChange:e5,onBlur:()=>{let e=parseInt(e2,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));e5(String(t)),T({interactiveAgent:{enabled:eQ,autoTimeoutMinutes:parseInt(e1,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eL,{children:h("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eR,{icon:b.LayoutGrid,title:h("settings.fabLayout.title"),description:h("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(eE,{label:h("settings.fabLayout.swapPosition"),description:h("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:e8,onChange:e=>{e6(e),T({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eL,{children:h("settings.fabLayout.hint")})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:u,title:h("settings.database.title"),description:h("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eP,{label:h("settings.database.location"),description:h("settings.database.locationDescription"),children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:o})}),(0,t.jsx)(eP,{label:h("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:m})})]}),(0,t.jsx)(eL,{links:[{label:h("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:h("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:h("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>e_],41952)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41952,e=>{"use strict";var t=e.i(20314),i=e.i(79054),n=e.i(23925),s=e.i(26370),a=e.i(38573),l=e.i(49228),r=e.i(74294),o=e.i(3645);let c=(0,o.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),d=(0,o.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,o.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var g=e.i(32494),m=e.i(34808),p=e.i(3214),h=e.i(30702);let f=(0,o.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var x=e.i(58860),v=e.i(48109),b=e.i(42049),w=e.i(60112);e.i(41001);var j=e.i(64780),y=e.i(31777),S=e.i(41957),k=e.i(51911),C=e.i(47373),M=e.i(21023);let I=(0,M.createServerReference)("409e5d2e62795d8d43ed288ebba199861df584c091",M.callServer,void 0,M.findSourceMapURL,"updateSettingsAction");var N=e.i(17406),T=e.i(98804),A=e.i(44229),D=e.i(83902);function F(e){return(0,t.jsx)(A.Code,{className:(0,y.cn)("h-4 w-4",e.className),...e})}function P({className:e}){return(0,t.jsx)(T.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function E({className:e}){return(0,t.jsx)(T.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function R({className:e}){return(0,t.jsx)(T.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function z({className:e}){return(0,t.jsx)(T.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function B({className:e,...i}){return(0,t.jsx)(D.Rocket,{className:(0,y.cn)("h-4 w-4",e),...i})}P.displayName="VsCodeIcon",E.displayName="CursorEditorIcon",R.displayName="WindsurfIcon",z.displayName="ZedIcon",B.displayName="AntigravityIcon";let L={vscode:P,cursor:E,windsurf:R,zed:z,antigravity:B};var _=e.i(41413),K=e.i(27069),V=e.i(91967),W=e.i(5978),O=e.i(22528),G=e.i(36589),H=e.i(66033),q=e.i(23405),U=e.i(77624),$=e.i(87620),Z=e.i(87342),X=["PageUp","PageDown"],Y=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],J={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Q="Slider",[ee,et,ei]=(0,Z.createCollection)(Q),[en,es]=(0,O.createContextScope)(Q,[ei]),[ea,el]=en(Q),er=i.forwardRef((e,n)=>{let{name:s,min:a=0,max:l=100,step:r=1,orientation:o="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:m=()=>{},onValueCommit:p=()=>{},inverted:h=!1,form:f,...x}=e,v=i.useRef(new Set),b=i.useRef(0),w="horizontal"===o,[j=[],y]=(0,G.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),m(e)}}),S=i.useRef(j);function k(e,t,{commit:i}={commit:!1}){let n,s=(String(r).split(".")[1]||"").length,o=Math.round((Math.round((e-a)/r)*r+a)*(n=Math.pow(10,s)))/n,c=(0,K.clamp)(o,[a,l]);y((e=[])=>{let n=function(e=[],t,i){let n=[...e];return n[i]=t,n.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,i)=>e[i+1]-t))>=t;return!0}(n,d*r))return e;{b.current=n.indexOf(c);let t=String(n)!==String(e);return t&&i&&p(n),t?n:e}})}return(0,t.jsx)(ea,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:l,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:o,form:f,children:(0,t.jsx)(ee.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(ee.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ed:eu,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:n,onPointerDown:(0,V.composeEventHandlers)(x.onPointerDown,()=>{c||(S.current=j)}),min:a,max:l,inverted:h,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let i=e.map(e=>Math.abs(e-t)),n=Math.min(...i);return i.indexOf(n)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=S.current[b.current];j[b.current]!==e&&p(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(l,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let i=X.includes(e.key)||e.shiftKey&&Y.includes(e.key),n=b.current;k(j[n]+r*(i?10:1)*t,n,{commit:!0})}}})})})})});er.displayName=Q;var[eo,ec]=en(Q,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ed=i.forwardRef((e,n)=>{let{min:s,max:a,dir:l,inverted:r,onSlideStart:o,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[m,p]=i.useState(null),h=(0,W.useComposedRefs)(n,e=>p(e)),f=i.useRef(void 0),x=(0,H.useDirection)(l),v="ltr"===x,b=v&&!r||!v&&r;function w(e){let t=f.current||m.getBoundingClientRect(),i=ey([0,t.width],b?[s,a]:[a,s]);return f.current=t,i(e-t.left)}return(0,t.jsx)(eo,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(eg,{dir:x,"data-orientation":"horizontal",...g,ref:h,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=w(e.clientX);o?.(t)},onSlideMove:e=>{let t=w(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=J[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),eu=i.forwardRef((e,n)=>{let{min:s,max:a,inverted:l,onSlideStart:r,onSlideMove:o,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=i.useRef(null),m=(0,W.useComposedRefs)(n,g),p=i.useRef(void 0),h=!l;function f(e){let t=p.current||g.current.getBoundingClientRect(),i=ey([0,t.height],h?[a,s]:[s,a]);return p.current=t,i(e-t.top)}return(0,t.jsx)(eo,{scope:e.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1,children:(0,t.jsx)(eg,{"data-orientation":"vertical",...u,ref:m,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);r?.(t)},onSlideMove:e=>{let t=f(e.clientY);o?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=J[h?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),eg=i.forwardRef((e,i)=>{let{__scopeSlider:n,onSlideStart:s,onSlideMove:a,onSlideEnd:l,onHomeKeyDown:r,onEndKeyDown:o,onStepKeyDown:c,...d}=e,u=el(Q,n);return(0,t.jsx)($.Primitive.span,{...d,ref:i,onKeyDown:(0,V.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(r(e),e.preventDefault()):"End"===e.key?(o(e),e.preventDefault()):X.concat(Y).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,V.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,V.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,V.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),l(e))})})}),em="SliderTrack",ep=i.forwardRef((e,i)=>{let{__scopeSlider:n,...s}=e,a=el(em,n);return(0,t.jsx)($.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:i})});ep.displayName=em;var eh="SliderRange",ef=i.forwardRef((e,n)=>{let{__scopeSlider:s,...a}=e,l=el(eh,s),r=ec(eh,s),o=i.useRef(null),c=(0,W.useComposedRefs)(n,o),d=l.values.length,u=l.values.map(e=>ej(e,l.min,l.max)),g=d>1?Math.min(...u):0,m=100-Math.max(...u);return(0,t.jsx)($.Primitive.span,{"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,...a,ref:c,style:{...e.style,[r.startEdge]:g+"%",[r.endEdge]:m+"%"}})});ef.displayName=eh;var ex="SliderThumb",ev=i.forwardRef((e,n)=>{let s=et(e.__scopeSlider),[a,l]=i.useState(null),r=(0,W.useComposedRefs)(n,e=>l(e)),o=i.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eb,{...e,ref:r,index:o})}),eb=i.forwardRef((e,n)=>{var s,a,l,r,o;let c,d,{__scopeSlider:u,index:g,name:m,...p}=e,h=el(ex,u),f=ec(ex,u),[x,v]=i.useState(null),b=(0,W.useComposedRefs)(n,e=>v(e)),w=!x||h.form||!!x.closest("form"),j=(0,U.useSize)(x),y=h.values[g],S=void 0===y?0:ej(y,h.min,h.max),k=(s=g,(a=h.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),C=j?.[f.size],M=C?(l=C,r=S,o=f.direction,d=ey([0,50],[0,c=l/2]),(c-d(r)*o)*o):0;return i.useEffect(()=>{if(x)return h.thumbs.add(x),()=>{h.thumbs.delete(x)}},[x,h.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${M}px)`},children:[(0,t.jsx)(ee.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)($.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":h.min,"aria-valuenow":y,"aria-valuemax":h.max,"aria-orientation":h.orientation,"data-orientation":h.orientation,"data-disabled":h.disabled?"":void 0,tabIndex:h.disabled?void 0:0,...p,ref:b,style:void 0===y?{display:"none"}:e.style,onFocus:(0,V.composeEventHandlers)(e.onFocus,()=>{h.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(ew,{name:m??(h.name?h.name+(h.values.length>1?"[]":""):void 0),form:h.form,value:y},g)]})});ev.displayName=ex;var ew=i.forwardRef(({__scopeSlider:e,value:n,...s},a)=>{let l=i.useRef(null),r=(0,W.useComposedRefs)(l,a),o=(0,q.usePrevious)(n);return i.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(o!==n&&t){let i=new Event("input",{bubbles:!0});t.call(e,n),e.dispatchEvent(i)}},[o,n]),(0,t.jsx)($.Primitive.input,{style:{display:"none"},...s,ref:r,defaultValue:n})});function ej(e,t,i){return(0,K.clamp)(100/(i-t)*(e-t),[0,100])}function ey(e,t){return i=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(i-e[0])}}ew.displayName="RadioBubbleInput",e.s(["Range",()=>ef,"Root",()=>er,"Slider",()=>er,"SliderRange",()=>ef,"SliderThumb",()=>ev,"SliderTrack",()=>ep,"Thumb",()=>ev,"Track",()=>ep,"createSliderScope",()=>es],29991);var eS=e.i(29991),eS=eS;function ek({className:e,defaultValue:n,value:s,min:a=0,max:l=100,...r}){let o=i.useMemo(()=>Array.isArray(s)?s:Array.isArray(n)?n:[a,l],[s,n,a,l]);return(0,t.jsxs)(eS.Root,{"data-slot":"slider",defaultValue:n,value:s,min:a,max:l,className:(0,y.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...r,children:[(0,t.jsx)(eS.Track,{"data-slot":"slider-track",className:(0,y.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(eS.Range,{"data-slot":"slider-range",className:(0,y.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:o.length},(e,i)=>(0,t.jsx)(eS.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},i))]})}let eC=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eM=eC.length-1;function eI(e){let t=0,i=Math.abs(e-eC[0]);for(let n=1;n<eC.length;n++){let s=Math.abs(e-eC[n]);s<i&&(i=s,t=n)}return t}function eN({id:e,testId:n,value:s,onChange:a,onBlur:l,defaultSeconds:r=1800}){var o;let c,d,u=(""===s?r:parseInt(s,10))||r,[g,m]=(0,i.useState)(()=>eI(u)),p=eI(u);p!==g&&eC[g]!==u&&m(p);let h=(0,i.useCallback)(([e])=>{m(e),a(String(eC[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(ek,{id:e,"data-testid":n,min:0,max:eM,step:1,value:[g],onValueChange:h,onValueCommit:()=>l(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(c=Math.floor((o=eC[g])/3600),d=Math.round(o%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eT=[{value:N.Language.English,nativeName:"English"},{value:N.Language.Ukrainian,nativeName:"Українська"},{value:N.Language.Russian,nativeName:"Русский"},{value:N.Language.Portuguese,nativeName:"Português"},{value:N.Language.Spanish,nativeName:"Español"},{value:N.Language.Arabic,nativeName:"العربية"},{value:N.Language.Hebrew,nativeName:"עברית"},{value:N.Language.French,nativeName:"Français"},{value:N.Language.German,nativeName:"Deutsch"}],eA=[{value:N.EditorType.VsCode,label:"VS Code"},{value:N.EditorType.Cursor,label:"Cursor"},{value:N.EditorType.Windsurf,label:"Windsurf"},{value:N.EditorType.Zed,label:"Zed"},{value:N.EditorType.Antigravity,label:"Antigravity"}],eD=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],eF=[{id:"language",labelKey:"settings.sections.language",icon:g.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:s.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:a.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:l.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:r.Activity},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:x.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:c},{id:"feature-flags",labelKey:"settings.sections.flags",icon:d},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:v.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"database",labelKey:"settings.sections.database",icon:u}];function eP({label:e,description:i,htmlFor:n,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(S.Label,{htmlFor:n,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),i?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:i}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function eE({label:e,description:i,id:n,testId:s,checked:a,onChange:l,disabled:r}){return(0,t.jsx)(eP,{label:e,description:i,htmlFor:n,children:(0,t.jsx)(k.Switch,{id:n,"data-testid":s,checked:a,onCheckedChange:l,disabled:r,className:(0,y.cn)("cursor-pointer",r&&"cursor-not-allowed opacity-50")})})}function eR({icon:e,title:i,description:n,badge:s,testId:a,children:l}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:i}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:n})]}),(0,t.jsx)("div",{className:"px-4",children:l})]})}function ez({id:e,testId:i,value:n,onChange:s,onBlur:a,placeholder:l,min:r=1,max:o,step:c=1,suffix:d}){let{t:u}=(0,j.useTranslation)("web"),g=""===n?void 0:parseInt(n,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(r,(g??parseInt(l,10))-c)))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-r transition-colors","aria-label":u("common.decrease"),children:(0,t.jsx)(m.Minus,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":i,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:n,placeholder:l,onChange:e=>{s(e.target.value.replace(/[^0-9]/g,""))},onBlur:a,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=g??parseInt(l,10),s(String(null!=o?Math.min(o,e+c):e+c))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-l transition-colors","aria-label":u("common.increase"),children:(0,t.jsx)(p.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eB({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function eL({children:e,links:i}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=i&&i.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:i.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(h.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function e_({settings:e,shepHome:o,dbFileSize:m,availableTerminals:p}){let{t:h,i18n:S}=(0,j.useTranslation)("web"),{showSaving:k,showSaved:M,save:T}=function(){let{t:e}=(0,j.useTranslation)("web"),[t,n]=(0,i.useTransition)(),[s,a]=(0,i.useState)(!1),[l,r]=(0,i.useState)(!1),o=(0,i.useRef)(null),c=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,o.current=setTimeout(()=>{o.current=null,c.current&&(a(!1),r(!0),setTimeout(()=>r(!1),2e3))},350)),!t&&s&&(c.current=!0,o.current||(a(!1),r(!0),setTimeout(()=>r(!1),2e3)))},[t,s]),{showSaving:s,showSaved:l,save:(0,i.useCallback)(t=>{n(async()=>{let i=await I(t);i.success||w.toast.error(i.error??e("settings.failedToSave"))})},[n,e])}}(),A=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1,inventory:!1},[D,P]=(0,i.useState)(e.user?.preferredLanguage??N.Language.English),[E,R]=(0,i.useState)(e.agent.type),[z,B]=(0,i.useState)(e.environment.defaultEditor),[K,V]=(0,i.useState)(e.environment.shellPreference),[W,O]=(0,i.useState)(e.environment.terminalPreference??N.TerminalType.System),G=p?p.filter(e=>e.available):[{id:N.TerminalType.System,name:h("settings.environment.systemTerminal"),available:!0}],[H,q]=(0,i.useState)(e.workflow.openPrOnImplementationComplete),[U,$]=(0,i.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[Z,X]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPrd),[Y,J]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPlan),[Q,ee]=(0,i.useState)(e.workflow.approvalGateDefaults.allowMerge),[et,ei]=(0,i.useState)(e.workflow.enableEvidence),[en,es]=(0,i.useState)(e.workflow.commitEvidence),[ea,el]=(0,i.useState)(!1!==e.workflow.ciWatchEnabled),[er,eo]=(0,i.useState)(!1!==e.workflow.hideCiStatus),[ec,ed]=(0,i.useState)(!1!==e.workflow.defaultFastMode),[eu,eg]=(0,i.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[em,ep]=(0,i.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eh,ef]=(0,i.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[ex,ev]=(0,i.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eb,ew]=(0,i.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[ej,ey]=(0,i.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),eS=e.workflow.stageTimeouts,[ek,eC]=(0,i.useState)(String(Math.round((eS?.analyzeMs??18e5)/1e3))),[eM,eI]=(0,i.useState)(String(Math.round((eS?.requirementsMs??18e5)/1e3))),[e_,eK]=(0,i.useState)(String(Math.round((eS?.researchMs??18e5)/1e3))),[eV,eW]=(0,i.useState)(String(Math.round((eS?.planMs??18e5)/1e3))),[eO,eG]=(0,i.useState)(String(Math.round((eS?.implementMs??18e5)/1e3))),[eH,eq]=(0,i.useState)(String(Math.round((eS?.fastImplementMs??18e5)/1e3))),[eU,e$]=(0,i.useState)(String(Math.round((eS?.mergeMs??18e5)/1e3))),eZ=e.workflow.analyzeRepoTimeouts,[eX,eY]=(0,i.useState)(String(Math.round((eZ?.analyzeMs??6e5)/1e3))),eJ=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[eQ,e0]=(0,i.useState)(eJ.enabled),[e1,e2]=(0,i.useState)(String(eJ.autoTimeoutMinutes)),[e3,e5]=(0,i.useState)(String(eJ.maxConcurrentSessions)),e4=e.fabLayout??{swapPosition:!1},[e8,e6]=(0,i.useState)(e4.swapPosition),[e9,e7]=(0,i.useState)(e.notifications.inApp.enabled),[te,tt]=(0,i.useState)({...e.notifications.events}),[ti,tn]=(0,i.useState)({...A}),ts=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",ta=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tl=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tr=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",to=eS?.analyzeMs!=null?String(Math.round(eS.analyzeMs/1e3)):"",tc=eS?.requirementsMs!=null?String(Math.round(eS.requirementsMs/1e3)):"",td=eS?.researchMs!=null?String(Math.round(eS.researchMs/1e3)):"",tu=eS?.planMs!=null?String(Math.round(eS.planMs/1e3)):"",tg=eS?.implementMs!=null?String(Math.round(eS.implementMs/1e3)):"",tm=eS?.fastImplementMs!=null?String(Math.round(eS.fastImplementMs/1e3)):"",tp=eS?.mergeMs!=null?String(Math.round(eS.mergeMs/1e3)):"",th=eZ?.analyzeMs!=null?String(Math.round(eZ.analyzeMs/1e3)):"";function tf(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tx(e){if(void 0===e)return;let t=tf(e);return null!=t?1e3*t:void 0}function tv(e={}){let t=tf(e.ciTimeout??ex),i=e.autoArchiveEnabled??eu,n=parseInt(e.autoArchiveDelay??em,10);return{workflow:{openPrOnImplementationComplete:e.openPr??H,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??U,allowPrd:e.allowPrd??Z,allowPlan:e.allowPlan??Y,allowMerge:e.allowMerge??Q},enableEvidence:e.enableEvidence??et,commitEvidence:e.commitEvidence??en,ciWatchEnabled:e.ciWatchEnabled??ea,hideCiStatus:e.hideCiStatus??er,defaultFastMode:e.defaultFastMode??ec,autoArchiveDelayMinutes:i?Number.isNaN(n)||n<1?10:n:0,ciMaxFixAttempts:tf(e.ciMaxFix??eh),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tf(e.ciLogMax??eb),ciWatchPollIntervalSeconds:tf(e.ciPollInterval??ej),stageTimeouts:{analyzeMs:tx(e.analyzeTimeout??ek),requirementsMs:tx(e.requirementsTimeout??eM),researchMs:tx(e.researchTimeout??e_),planMs:tx(e.planTimeout??eV),implementMs:tx(e.implementTimeout??eO),fastImplementMs:tx(e.fastImplementTimeout??eH),mergeMs:tx(e.mergeTimeout??eU)},analyzeRepoTimeouts:{analyzeMs:tx(e.analyzeRepoTimeout??eX)}}}}function tb(e={}){return{notifications:{inApp:{enabled:e.inApp??e9},events:e.events??te}}}let[tw,tj]=(0,i.useState)("agent");(0,i.useEffect)(()=>{let e=eF.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&tj(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let i of e)t.observe(i);return()=>t.disconnect()},[]);let ty=(0,i.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:h("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,y.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",k?"opacity-100":"opacity-0"),children:h("settings.saving")}),(0,t.jsxs)("span",{className:(0,y.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",M&&!k?"opacity-100":"opacity-0"),children:[(0,t.jsx)(n.Check,{className:"h-3 w-3"}),h("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:eF.map(e=>{let i=e.icon,n=tw===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>ty(e.id),className:(0,y.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",n?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(i,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:h(e.labelKey)})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{id:"section-language",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:(0,t.jsx)(eR,{icon:g.Globe,title:h("settings.language.title"),description:h("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eP,{label:h("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(C.Select,{value:D,onValueChange:function(e){P(e),S.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,T({user:{preferredLanguage:e}})},children:[(0,t.jsx)(C.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(C.SelectValue,{placeholder:h("settings.language.placeholder")})}),(0,t.jsx)(C.SelectContent,{children:eT.map(e=>(0,t.jsx)(C.SelectItem,{value:e.value,children:e.nativeName},e.value))})]})})})}),(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eR,{icon:s.Bot,title:h("settings.agent.sectionTitle"),description:h("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,t.jsx)(eP,{label:h("settings.agent.agentAndModel"),description:h("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(_.AgentModelPicker,{initialAgentType:E,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>R(e),className:"w-55"})})}),(0,t.jsx)(eL,{links:[{label:h("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:h("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:h("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:h("settings.agent.hint")})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:a.Terminal,title:h("settings.environment.sectionTitle"),description:h("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eP,{label:h("settings.environment.defaultEditor"),description:h("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(C.Select,{value:z,onValueChange:e=>{B(e),T({environment:{defaultEditor:e,shellPreference:K,terminalPreference:W}})},children:[(0,t.jsx)(C.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(C.SelectValue,{})}),(0,t.jsx)(C.SelectContent,{children:eA.map(e=>{var i;let n=(i=e.value)&&i in L?L[i]:F;return(0,t.jsx)(C.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(n,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eP,{label:h("settings.environment.shell"),description:h("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(C.Select,{value:K,onValueChange:e=>{V(e),T({environment:{defaultEditor:z,shellPreference:e,terminalPreference:W}})},children:[(0,t.jsx)(C.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(C.SelectValue,{})}),(0,t.jsx)(C.SelectContent,{children:eD.map(e=>(0,t.jsx)(C.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eP,{label:h("settings.environment.terminal"),description:h("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(C.Select,{value:W,onValueChange:e=>{O(e),T({environment:{defaultEditor:z,shellPreference:K,terminalPreference:e}})},children:[(0,t.jsx)(C.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(C.SelectValue,{})}),(0,t.jsx)(C.SelectContent,{children:G.map(e=>(0,t.jsx)(C.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eL,{links:[{label:h("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:h("settings.environment.hint")})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:l.GitBranch,title:h("settings.workflow.title"),description:h("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(eE,{label:h("settings.workflow.defaultFastMode"),description:h("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:ec,onChange:e=>{ed(e),T(tv({defaultFastMode:e}))}}),(0,t.jsx)(eB,{children:h("settings.workflow.subsections.approve")}),(0,t.jsx)(eE,{label:h("settings.workflow.autoApprovePrd"),description:h("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:Z,onChange:e=>{X(e),T(tv({allowPrd:e}))}}),(0,t.jsx)(eE,{label:h("settings.workflow.autoApprovePlan"),description:h("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:Y,onChange:e=>{J(e),T(tv({allowPlan:e}))}}),(0,t.jsx)(eE,{label:h("settings.workflow.autoApproveMerge"),description:h("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:Q,onChange:e=>{ee(e),T(tv({allowMerge:e}))}}),(0,t.jsx)(eB,{children:h("settings.workflow.subsections.evidence")}),(0,t.jsx)(eE,{label:h("settings.workflow.collectEvidence"),description:h("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:et,onChange:e=>{ei(e),e?T(tv({enableEvidence:e})):(es(!1),T(tv({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(eE,{label:h("settings.workflow.addEvidenceToPr"),description:h("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:en,disabled:!et||!H,onChange:e=>{es(e),T(tv({commitEvidence:e}))}}),(0,t.jsx)(eB,{children:h("settings.workflow.subsections.git")}),(0,t.jsx)(eE,{label:h("settings.workflow.pushOnComplete"),description:h("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:U,onChange:e=>{$(e),T(tv({pushOnComplete:e}))}}),(0,t.jsx)(eE,{label:h("settings.workflow.openPrOnComplete"),description:h("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:H,onChange:e=>{q(e),e?T(tv({openPr:e})):(es(!1),T(tv({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(eE,{label:h("settings.workflow.watchCiAfterPush"),description:h("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:ea,onChange:e=>{el(e),T(tv({ciWatchEnabled:e}))}}),(0,t.jsx)(eB,{children:"Archive"}),(0,t.jsx)(eE,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:eu,onChange:e=>{eg(e),T(tv({autoArchiveEnabled:e}))}}),(0,t.jsx)(eP,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(ez,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:em,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{ep(e)},onBlur:()=>{if(!eu)return;let e=parseInt(em,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));ep(String(t)),T(tv({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eL,{links:[{label:h("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:h("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:h("settings.workflow.hint")})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:r.Activity,title:h("settings.ci.title"),description:h("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eP,{label:h("settings.ci.maxFixAttempts"),description:h("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(ez,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eh,onChange:ef,onBlur:()=>{eh!==ts&&T(tv({ciMaxFix:eh}))},min:1,max:10})}),(0,t.jsx)(eP,{label:h("settings.ci.watchTimeout"),description:h("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(ez,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:ex,onChange:ev,onBlur:()=>{ex!==ta&&T(tv({ciTimeout:ex}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eP,{label:h("settings.ci.maxLogSize"),description:h("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(ez,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eb,onChange:ew,onBlur:()=>{eb!==tl&&T(tv({ciLogMax:eb}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eP,{label:h("settings.ci.pollInterval"),description:h("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(ez,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:ej,onChange:ey,onBlur:()=>{ej!==tr&&T(tv({ciPollInterval:ej}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(eE,{label:h("settings.ci.hideCiStatus"),description:h("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:er,onChange:e=>{eo(e),T(tv({hideCiStatus:e}))}})]}),(0,t.jsx)(eL,{links:[{label:h("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:h("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:h("settings.ci.hint")})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:x.Timer,title:h("settings.stageTimeouts.title"),description:h("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eB,{children:h("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.analyze"),description:h("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(eN,{id:"timeout-analyze",testId:"timeout-analyze-input",value:ek,onChange:eC,onBlur:()=>{ek!==to&&T(tv({analyzeTimeout:ek}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.requirements"),description:h("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(eN,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eM,onChange:eI,onBlur:()=>{eM!==tc&&T(tv({requirementsTimeout:eM}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.research"),description:h("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(eN,{id:"timeout-research",testId:"timeout-research-input",value:e_,onChange:eK,onBlur:()=>{e_!==td&&T(tv({researchTimeout:e_}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.plan"),description:h("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(eN,{id:"timeout-plan",testId:"timeout-plan-input",value:eV,onChange:eW,onBlur:()=>{eV!==tu&&T(tv({planTimeout:eV}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.implement"),description:h("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(eN,{id:"timeout-implement",testId:"timeout-implement-input",value:eO,onChange:eG,onBlur:()=>{eO!==tg&&T(tv({implementTimeout:eO}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.fastImplement"),description:h("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(eN,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:eH,onChange:eq,onBlur:()=>{eH!==tm&&T(tv({fastImplementTimeout:eH}))},defaultSeconds:1800})}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.merge"),description:h("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(eN,{id:"timeout-merge",testId:"timeout-merge-input",value:eU,onChange:e$,onBlur:()=>{eU!==tp&&T(tv({mergeTimeout:eU}))},defaultSeconds:1800})}),(0,t.jsx)(eB,{children:h("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eP,{label:h("settings.stageTimeouts.analyze"),description:h("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(eN,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:eX,onChange:eY,onBlur:()=>{eX!==th&&T(tv({analyzeRepoTimeout:eX}))},defaultSeconds:600})})]}),(0,t.jsx)(eL,{children:h("settings.stageTimeouts.hint")})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:c,title:h("settings.notifications.title"),description:h("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eB,{children:h("settings.notifications.channels")}),(0,t.jsx)(eE,{label:h("settings.notifications.inAppLabel"),description:h("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:e9,onChange:e=>{e7(e),T(tb({inApp:e}))}}),(0,t.jsx)(eB,{children:h("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(eE,{label:h("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:te.agentStarted,onChange:e=>{let t={...te,agentStarted:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:te.phaseCompleted,onChange:e=>{let t={...te,phaseCompleted:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:te.waitingApproval,onChange:e=>{let t={...te,waitingApproval:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:te.agentCompleted,onChange:e=>{let t={...te,agentCompleted:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:te.agentFailed,onChange:e=>{let t={...te,agentFailed:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eB,{children:h("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:te.prMerged,onChange:e=>{let t={...te,prMerged:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:te.prClosed,onChange:e=>{let t={...te,prClosed:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:te.prChecksPassed,onChange:e=>{let t={...te,prChecksPassed:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:te.prChecksFailed,onChange:e=>{let t={...te,prChecksFailed:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:te.prBlocked,onChange:e=>{let t={...te,prBlocked:e};tt(t),T(tb({events:t}))}}),(0,t.jsx)(eE,{label:h("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:te.mergeReviewReady,onChange:e=>{let t={...te,mergeReviewReady:e};tt(t),T(tb({events:t}))}})]}),(0,t.jsx)(eL,{links:[{label:h("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:h("settings.notifications.hint")})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:d,title:h("settings.featureFlags.title"),description:h("settings.featureFlags.sectionDescription"),badge:h("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(eE,{label:h("settings.featureFlags.skills"),description:h("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:ti.skills,onChange:e=>{let t={...ti,skills:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.deployments"),description:h("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:ti.envDeploy,onChange:e=>{let t={...ti,envDeploy:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.debug"),description:h("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:ti.debug,onChange:e=>{let t={...ti,debug:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.githubImport"),description:h("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:ti.githubImport,onChange:e=>{let t={...ti,githubImport:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.adoptBranch"),description:h("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:ti.adoptBranch,onChange:e=>{let t={...ti,adoptBranch:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.gitRebaseSync"),description:h("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:ti.gitRebaseSync,onChange:e=>{let t={...ti,gitRebaseSync:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.reactFileManager"),description:h("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:ti.reactFileManager,onChange:e=>{let t={...ti,reactFileManager:e};tn(t),T({featureFlags:t})}}),(0,t.jsx)(eE,{label:h("settings.featureFlags.inventory"),description:h("settings.featureFlags.inventoryDescription"),id:"flag-inventory",testId:"switch-flag-inventory",checked:ti.inventory,onChange:e=>{let t={...ti,inventory:e};tn(t),T({featureFlags:t})}})]}),(0,t.jsx)(eL,{children:h("settings.featureFlags.hint")})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:v.MessageSquare,title:h("settings.interactiveAgent.title"),description:h("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(eE,{label:h("settings.interactiveAgent.enableChatTab"),description:h("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:eQ,onChange:e=>{e0(e),T({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(e1,10)||15,maxConcurrentSessions:parseInt(e3,10)||3}})}}),(0,t.jsx)(eP,{label:h("settings.interactiveAgent.autoTimeout"),description:h("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(ez,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:e1,placeholder:"15",min:1,max:120,suffix:"min",onChange:e2,onBlur:()=>{let e=parseInt(e1,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));e2(String(t)),T({interactiveAgent:{enabled:eQ,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(e3,10)||3}})}})}),(0,t.jsx)(eP,{label:h("settings.interactiveAgent.maxConcurrentSessions"),description:h("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(ez,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:e3,placeholder:"3",min:1,max:10,onChange:e5,onBlur:()=>{let e=parseInt(e3,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));e5(String(t)),T({interactiveAgent:{enabled:eQ,autoTimeoutMinutes:parseInt(e1,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eL,{children:h("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eR,{icon:b.LayoutGrid,title:h("settings.fabLayout.title"),description:h("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(eE,{label:h("settings.fabLayout.swapPosition"),description:h("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:e8,onChange:e=>{e6(e),T({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eL,{children:h("settings.fabLayout.hint")})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eR,{icon:u,title:h("settings.database.title"),description:h("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eP,{label:h("settings.database.location"),description:h("settings.database.locationDescription"),children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:o})}),(0,t.jsx)(eP,{label:h("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:m})})]}),(0,t.jsx)(eL,{links:[{label:h("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:h("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:h("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>e_],41952)}]);