@shepai/cli 1.178.0 → 1.178.1-pr541.46448db

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 (178) hide show
  1. package/README.md +2 -0
  2. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
  3. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +31 -5
  4. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts +14 -0
  5. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
  6. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +63 -0
  7. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +57 -10
  9. package/dist/tsconfig.build.tsbuildinfo +1 -1
  10. package/package.json +1 -1
  11. package/web/.next/BUILD_ID +1 -1
  12. package/web/.next/build-manifest.json +2 -2
  13. package/web/.next/fallback-build-manifest.json +2 -2
  14. package/web/.next/prerender-manifest.json +3 -3
  15. package/web/.next/required-server-files.js +3 -3
  16. package/web/.next/required-server-files.json +3 -3
  17. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +30 -30
  18. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +28 -28
  21. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  22. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +31 -31
  24. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  25. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  26. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +39 -39
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  29. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +39 -39
  30. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +29 -29
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  34. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +29 -29
  36. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +28 -28
  39. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +31 -31
  42. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +39 -39
  45. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  46. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +39 -39
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +28 -28
  51. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  52. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  53. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +29 -29
  54. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  55. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  56. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +29 -29
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  58. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/_global-error.html +2 -2
  60. package/web/.next/server/app/_global-error.rsc +1 -1
  61. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  62. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  63. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  64. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  65. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  66. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  67. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  68. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
  70. package/web/.next/server/app/features/page.js.nft.json +1 -1
  71. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  72. package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
  73. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  74. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
  76. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  77. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  79. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  80. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  82. package/web/.next/server/app/version/page.js.nft.json +1 -1
  83. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  84. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  85. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  86. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  87. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  88. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  89. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +1 -1
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -1
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  92. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  93. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  94. package/web/.next/server/chunks/ssr/[root-of-the-server]__46b10380._.js +1 -1
  95. package/web/.next/server/chunks/ssr/[root-of-the-server]__46b10380._.js.map +1 -1
  96. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +2 -2
  97. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
  98. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
  99. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b512877._.js +1 -1
  100. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b512877._.js.map +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__990dba2d._.js +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__990dba2d._.js.map +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__cc9c7bbb._.js +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__cc9c7bbb._.js.map +1 -1
  107. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  108. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  109. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  110. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  111. package/web/.next/server/chunks/ssr/_1e08a336._.js +1 -1
  112. package/web/.next/server/chunks/ssr/{_83e1c526._.js → _328c12b0._.js} +2 -2
  113. package/web/.next/server/chunks/ssr/{_83e1c526._.js.map → _328c12b0._.js.map} +1 -1
  114. package/web/.next/server/chunks/ssr/_496c9117._.js +1 -1
  115. package/web/.next/server/chunks/ssr/_496c9117._.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/_6abfa39e._.js +1 -1
  119. package/web/.next/server/chunks/ssr/{_49b9ba41._.js → _d7fd9d40._.js} +2 -2
  120. package/web/.next/server/chunks/ssr/{_49b9ba41._.js.map → _d7fd9d40._.js.map} +1 -1
  121. package/web/.next/server/chunks/ssr/{_64efdf53._.js → _f1f73040._.js} +2 -2
  122. package/web/.next/server/chunks/ssr/{_64efdf53._.js.map → _f1f73040._.js.map} +1 -1
  123. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  124. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  125. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  127. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/src_presentation_web_06109d28._.js +2 -2
  129. package/web/.next/server/chunks/ssr/src_presentation_web_06109d28._.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/src_presentation_web_0bca70f8._.js +1 -1
  131. package/web/.next/server/chunks/ssr/src_presentation_web_0bca70f8._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/src_presentation_web_367cdbe0._.js +1 -1
  133. package/web/.next/server/chunks/ssr/src_presentation_web_367cdbe0._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/src_presentation_web_57fed7fd._.js +1 -1
  135. package/web/.next/server/chunks/ssr/src_presentation_web_57fed7fd._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/src_presentation_web_7f567f6d._.js +1 -1
  137. package/web/.next/server/chunks/ssr/src_presentation_web_7f567f6d._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/src_presentation_web_972f58d5._.js +1 -1
  139. package/web/.next/server/chunks/ssr/src_presentation_web_972f58d5._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +1 -1
  141. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +1 -1
  143. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +1 -1
  144. package/web/.next/server/chunks/ssr/src_presentation_web_a71b18a2._.js +1 -1
  145. package/web/.next/server/chunks/ssr/src_presentation_web_a71b18a2._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/src_presentation_web_bebe675e._.js +1 -1
  147. package/web/.next/server/chunks/ssr/src_presentation_web_bebe675e._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/src_presentation_web_c93e8bc6._.js +1 -1
  149. package/web/.next/server/chunks/ssr/src_presentation_web_c93e8bc6._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  151. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  153. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  155. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/src_presentation_web_e729f44a._.js +2 -2
  157. package/web/.next/server/chunks/ssr/src_presentation_web_e729f44a._.js.map +1 -1
  158. package/web/.next/server/pages/500.html +2 -2
  159. package/web/.next/server/server-reference-manifest.js +1 -1
  160. package/web/.next/server/server-reference-manifest.json +51 -51
  161. package/web/.next/static/chunks/2453c9bb2ed49ae2.js +3 -0
  162. package/web/.next/static/chunks/{e167803ac69c66c7.js → 4a2a7849180d6c35.js} +1 -1
  163. package/web/.next/static/chunks/{5f57f0d80d3db147.js → 4a415ab361ca731b.js} +1 -1
  164. package/web/.next/static/chunks/{2cc487403c107f3f.js → 4b154aa063bc82c1.js} +3 -3
  165. package/web/.next/static/chunks/{0b7251e5d717dd17.js → 6af952d63bf3aafe.js} +1 -1
  166. package/web/.next/static/chunks/{9e9cddf8e38342e8.js → 84172d8483b37100.js} +1 -1
  167. package/web/.next/static/chunks/{35bf9838f21d1818.js → 96c832101989512f.js} +1 -1
  168. package/web/.next/static/chunks/{25a0d3f50b0a26c1.js → 9f2cc1dd89b19d25.js} +1 -1
  169. package/web/.next/static/chunks/{0fd39d549d277843.js → b026b1bb429a9491.js} +1 -1
  170. package/web/.next/static/chunks/{5df9da8b40e298ee.js → c9424f67c1665567.js} +1 -1
  171. package/web/.next/static/chunks/{c6fdd161a9e5b554.js → df4c00579f57bc2c.js} +1 -1
  172. package/web/.next/static/chunks/{36e3d626ed8defca.js → e1b525fb0d68aecb.js} +1 -1
  173. package/web/.next/static/chunks/{ac586c86d71187fc.js → e8cf602905c9e4b7.js} +1 -1
  174. package/web/.next/static/chunks/{8286914ac835a1cc.js → fa321a361a8211ac.js} +1 -1
  175. package/web/.next/static/chunks/8777b2a0a2e85fd1.js +0 -3
  176. /package/web/.next/static/{sfBZvlx-erv7S1C49vRSU → v-gXVigBMiUhPmia-w6ib}/_buildManifest.js +0 -0
  177. /package/web/.next/static/{sfBZvlx-erv7S1C49vRSU → v-gXVigBMiUhPmia-w6ib}/_clientMiddlewareManifest.json +0 -0
  178. /package/web/.next/static/{sfBZvlx-erv7S1C49vRSU → v-gXVigBMiUhPmia-w6ib}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,6910,e=>{"use strict";var t=e.i(3645);let n=(0,t.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",()=>n],24042);let r=(0,t.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>r],6910)},72714,e=>{"use strict";var t=e.i(20314),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);function i({label:e,onClick:i,loading:u,error:s,icon:d,iconOnly:c=!1,variant:f="outline",size:p="sm"}){let m=(0,l.useSoundAction)("click");return(0,t.jsxs)(o.Button,{variant:f,size:p,"aria-label":e,disabled:u,onClick:()=>{m.play(),i()},className:(0,a.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&c&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[u?(0,t.jsx)(n.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(r.CircleAlert,{className:"size-4"}):(0,t.jsx)(d,{className:"size-4"}),c?null:e]})}e.s(["ActionButton",()=>i])},81803,5259,99348,45811,e=>{"use strict";let t;e.i(72714),e.s([],81803);var n=e.i(20314),r=e.i(79054),a=e.i(83428),o=e.i(30702),l=e.i(38573),i=e.i(17406),u=e.i(2828),s=e.i(2287),d=e.i(21023);let c=(0,d.createServerReference)("40578a5e0798e5de5afacd614ac35e5e7398662b4e",d.callServer,void 0,d.findSourceMapURL,"getDeploymentLogs");function f({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}c(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)(p,{open:e,onOpenChange:t,logs:o,isConnected:l})}function p({open:e,onOpenChange:t,logs:a,isConnected:o}){let i=(0,r.useRef)(null),u=(0,r.useRef)(!0),d=(0,r.useCallback)(()=>{let e=i.current;e&&(u.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{u.current&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[a]),(0,n.jsx)(s.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(s.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)(s.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)(l.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(s.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:i,onScroll:d,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)(m,{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 m({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 g="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function h({status:e,url:t,targetId:s}){let[d,c]=(0,r.useState)(!1),p=s&&(e===i.DeploymentState.Booting||e===i.DeploymentState.Ready);switch(e){case i.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)(a.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});case i.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)(o.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>h],5259),e.s([],99348);var v=e.i(48249),w=e.i(567);let y=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}),x=()=>{let e=r.default.useContext(y);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function b(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function j(){return T(/^iPhone/)||T(/^iPad/)||T(/^Mac/)&&navigator.maxTouchPoints>1}function T(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 C="u">typeof window?r.useLayoutEffect:r.useEffect;function R(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let D="u">typeof document&&window.visualViewport;function S(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function E(e){for(S(e)&&(e=e.parentElement);e&&!S(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let $=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),N=0;function k(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function P(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=E(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 M(e){return e instanceof HTMLInputElement&&!$.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function z(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let O=new WeakMap;function L(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||O.set(e,r)}let B=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function F(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(", ")[B(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[B(t)?5:4]):null}function A(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let I=[.32,.72,0,1],H="vaul-dragging";function W(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 q({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=W(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,u=W(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else o(t)},[l,e,o,u])]}let Y=()=>()=>{},U=null;function X({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:u=!1,setBackgroundColorOnScale:s=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:p=!1,fadeFromIndex:m=i&&i.length-1,activeSnapPoint:g,setActiveSnapPoint:h,fixed:v,modal:x=!0,onClose:T,nested:S,noBodyStyles:$=!1,direction:z="bottom",defaultOpen:A=!1,disablePreventScroll:W=!0,snapToSequentialPoint:Y=!1,preventScrollRestoration:X=!1,repositionInputs:V=!0,onAnimationEnd:K,container:J,autoFocus:_=!1}){var G,Q;let[Z=!1,ee]=q({defaultProp:A,prop:e,onChange:e=>{null==n||n(e),e||S||ek(),setTimeout(()=>{null==K||K(e)},500),e&&!x&&"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),eu=r.default.useRef(null),es=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),ep=r.default.useRef(null),em=r.default.useRef(0),eg=r.default.useRef(!1),eh=r.default.useRef(!A),ev=r.default.useRef(0),ew=r.default.useRef(null),ey=r.default.useRef((null==(G=ew.current)?void 0:G.getBoundingClientRect().height)||0),ex=r.default.useRef((null==(Q=ew.current)?void 0:Q.getBoundingClientRect().width)||0),eb=r.default.useRef(0),ej=r.default.useCallback(e=>{i&&e===eS.length-1&&(eu.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:eR,onRelease:eD,snapPointsOffset:eS,onDrag:eE,shouldFade:e$,getPercentageDragged:eN}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:u="bottom",container:s,snapToSequentialPoint:d}){let[c,f]=q({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[p,m]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let g=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),h=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=s?{width:s.getBoundingClientRect().width,height:s.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)),B(u)){let a=n?r:p?e*t.height:0;return p?"bottom"===u?t.height-a:-t.height+a:a}let a=n?r:p?e*t.width:0;return p?"right"===u?t.width-a:-t.width+a:a}))?e:[]},[n,p,s]),y=r.default.useMemo(()=>null!==h?null==w?void 0:w[h]:null,[w,h]),x=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),L(a.current,{transition:`transform 0.5s cubic-bezier(${I.join(",")})`,transform:B(u)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?L(o.current,{transition:`opacity 0.5s cubic-bezier(${I.join(",")})`,opacity:"0"}):L(o.current,{transition:`opacity 0.5s cubic-bezier(${I.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]&&x(w[r])}},[c,e,n,w,x]),{isLastSnapPoint:g,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof h||!w||void 0===l)return null;let r=h===l-1;if(h>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?h+1:h-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:h,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===u||"right"===u?(null!=y?y:0)-e:(null!=y?y:0)+e,s=h===l-1,c=0===h,f=e>0;if(s&&L(o.current,{transition:`opacity 0.5s cubic-bezier(${I.join(",")})`}),!d&&r>2&&!f)return void(a?t():x(w[0]));if(!d&&r>2&&f&&w&&n)return void x(w[n.length-1]);let p=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),m=B(u)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*m){let e=f?1:-1;return e>0&&g&&n?void x(w[n.length-1]):void(c&&e<0&&a&&t(),null===h||x(w[h+e]))}x(p)},onDrag:function({draggedDistance:e}){if(null===y)return;let t="bottom"===u||"right"===u?y-e:y+e;("bottom"===u||"right"===u)&&t<w[w.length-1]||("top"===u||"left"===u)&&t>w[w.length-1]||L(a.current,{transform:B(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:g,setActiveSnapPointProp:h,drawerRef:ew,fadeFromIndex:m,overlayRef:ei,onSnapPointChange:ej,direction:z,container:J,snapToSequentialPoint:Y});!function(e={}){let{isDisabled:n}=e;C(()=>{if(!n){var e,r,a;let n,o,l,i,u,s,d;return 1==++N&&j()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,s=R((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=R(k(document,"touchstart",e=>{((o=E(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),k(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}),k(document,"touchend",e=>{let t=e.target;M(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),k(document,"focus",e=>{let t=e.target;M(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",D&&(D.height<window.innerHeight?requestAnimationFrame(()=>{P(t)}):D.addEventListener("resize",()=>P(t),{once:!0}))}))},!0),k(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{s(),d(),window.scrollTo(i,u)}),()=>{0==--N&&(null==t||t())}}},[n])}({isDisabled:!Z||er||!x||eo||!et||!V||!W});let{restorePositionSetting:ek}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,u]=r.default.useState(()=>"u">typeof window?window.location.href:""),s=r.default.useRef(0),d=r.default.useCallback(()=>{if(b()&&null===U&&e&&!l){U={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:`${-s.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&s.current>=t&&(document.body.style.top=`${-(s.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(b()&&null!==U&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,U),window.requestAnimationFrame(()=>{o&&i!==window.location.href?u(window.location.href):window.scrollTo(t,e)}),U=null}},[i]);return r.default.useEffect(()=>{function e(){s.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:Z,modal:x,nested:null!=S&&S,hasBeenOpened:et,preventScrollRestoration:X,noBodyStyles:$});function eP(){return(window.innerWidth-26)/window.innerWidth}function eM(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?F(ew.current,z):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===z||"left"===z)return!0;if(eu.current&&l.getTime()-eu.current.getTime()<500)return!1;if(null!==o&&("bottom"===z?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 ez(e){er&&ew.current&&(ew.current.classList.remove(H),ef.current=!1,ea(!1),ed.current=new Date),null==T||T(),e||ee(!1),setTimeout(()=>{i&&eR(i[0])},500)}function eO(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=F(ew.current,z);L(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${I.join(",")})`}),L(ei.current,{transition:`opacity 0.5s cubic-bezier(${I.join(",")})`,opacity:"1"}),u&&t&&t>0&&Z&&L(e,{borderRadius:"8px",overflow:"hidden",...B(z)?{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(${I.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{eh.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&V&&(M(document.activeElement)||eg.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;eb.current||(eb.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eg.current=!eg.current),i&&i.length>0&&eS&&eC&&(r+=eS[eC]||0),ev.current=r,a>t||eg.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=`${eb.current}px`)}i&&i.length>0&&!eg.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,eS]),r.default.useEffect(()=>(Z&&(L(document.documentElement,{scrollBehavior:"auto"}),eu.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=O.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Z]),r.default.useEffect(()=>{x||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[x]),r.default.createElement(w.Root,{defaultOpen:A,onOpenChange:e=>{(f||e)&&(e?en(!0):ez(!0),ee(e))},open:Z},r.default.createElement(y.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))&&(ey.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,ex.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),es.current=new Date,j()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),em.current=B(z)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(H),ef.current=!1,ea(!1),ed.current=new Date;let r=F(ew.current,z);if(!e||!eM(e.target,!1)||!r||Number.isNaN(r)||null===es.current)return;let a=ed.current.getTime()-es.current.getTime(),o=em.current-(B(z)?e.pageY:e.pageX),u=Math.abs(o)/a;if(u>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eD({draggedDistance:o*("bottom"===z||"right"===z?1:-1),closeDrawer:ez,velocity:u,dismissible:f}),null==l||l(e,!0);return}if("bottom"===z||"right"===z?o>0:o<0){eO(),null==l||l(e,!0);return}if(u>.4){ez(),null==l||l(e,!1);return}let s=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"===z||"right"===z?c:s)*d){ez(),null==l||l(e,!1);return}null==l||l(e,!0),eO()},onDrag:function(e){if(ew.current&&er){let t="bottom"===z||"right"===z?1:-1,n=(em.current-(B(z)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eC)return;let l=Math.abs(n),s=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===z||"top"===z?ey.current:ex.current),c=eN(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!eM(e.target,r))return;if(ew.current.classList.add(H),ef.current=!0,L(ew.current,{transition:"none"}),L(ei.current,{transition:"none"}),i&&eE({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;L(ew.current,{transform:B(z)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let p=1-d;if((e$||m&&eC===m-1)&&(null==o||o(e,d),L(ei.current,{opacity:`${p}`,transition:"none"},!0)),s&&ei.current&&u){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);L(s,{borderRadius:`${t}px`,transform:B(z)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;L(ew.current,{transform:B(z)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eh,handleOnly:p,isOpen:Z,isDragging:er,shouldFade:e$,closeDrawer:ez,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;L(ew.current,{transform:B(z)?`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;ep.current&&window.clearTimeout(ep.current),L(ew.current,{transition:`transform 0.5s cubic-bezier(${I.join(",")})`,transform:B(z)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(ep.current=setTimeout(()=>{let e=F(ew.current,z);L(ew.current,{transition:"none",transform:B(z)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=B(z)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&L(ew.current,{transition:`transform 0.5s cubic-bezier(${I.join(",")})`,transform:B(z)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eg,modal:x,snapPointsOffset:eS,activeSnapPointIndex:eC,direction:z,shouldScaleBackground:u,setBackgroundColorOnScale:s,noBodyStyles:$,container:J,autoFocus:_}},a))}let V=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:u,shouldAnimate:s}=x(),d=z(t,n),c=a&&a.length>0;if(!u)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(w.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==s?void 0:s.current)?"true":"false",...e})});V.displayName="Drawer.Overlay";let K=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:u,onDrag:s,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:p,isOpen:m,direction:g,snapPoints:h,container:v,handleOnly:y,shouldAnimate:b,autoFocus:j}=x(),[T,C]=r.default.useState(!1),R=z(o,l),D=r.default.useRef(null),S=r.default.useRef(null),E=r.default.useRef(!1),$=h&&h.length>0;function N(e){D.current=null,E.current=!1,u(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=x(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function u(){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?A(document.body,{background:"black"}):Y,A(t,{transformOrigin:B(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${I.join(",")})`}));let n=A(t,{borderRadius:"8px",overflow:"hidden",...B(e)?{transform:`scale(${u()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${u()}) 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(()=>{$&&window.requestAnimationFrame(()=>{C(!0)})},[]),r.default.createElement(w.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":T?"true":"false","data-vaul-snap-points":m&&$?"true":"false","data-vaul-custom-container":v?"true":"false","data-vaul-animate":(null==b?void 0:b.current)?"true":"false",...a,ref:R,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{y||(null==a.onPointerDown||a.onPointerDown.call(a,e),D.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),j||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!p||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!p)return void e.preventDefault()},onPointerMove:e=>{if(S.current=e,y||(null==a.onPointerMove||a.onPointerMove.call(a,e),!D.current))return;let t=e.pageY-D.current.y,n=e.pageX-D.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(E.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 E.current=!0,!0})({x:n,y:t},g,r)?s(e):(Math.abs(n)>r||Math.abs(t)>r)&&(D.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),D.current=null,E.current=!1,u(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),N(S.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),S.current&&N(S.current)}})});K.displayName="Drawer.Content";let J=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:u,setActiveSnapPoint:s,dismissible:d,handleOnly:c,isOpen:f,onPress:p,onDrag:m}=x(),g=r.default.useRef(null),h=r.default.useRef(!1);function v(){g.current&&window.clearTimeout(g.current),h.current=!1}return r.default.createElement("div",{onClick:function(){h.current?v():window.setTimeout(()=>{!function(){if(l||e||h.current)return v();if(v(),!i||0===i.length){d||o();return}if(u===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===u);-1===t||s(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&p(e),g.current=window.setTimeout(()=>{h.current=!0},250)},onPointerMove:e=>{c&&m(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))});J.displayName="Drawer.Handle";let _={Root:X,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=x();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(X,{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:K,Overlay:V,Trigger:w.Trigger,Portal:function(e){let t=x(),{container:n=t.container,...a}=e;return r.default.createElement(w.Portal,{container:n,...a})},Handle:J,Close:w.Close,Title:w.Title,Description:w.Description};var G=e.i(31777);function Q({...e}){return(0,n.jsx)(_.Root,{"data-slot":"drawer",...e})}function Z({...e}){return(0,n.jsx)(_.Portal,{"data-slot":"drawer-portal",...e})}function ee({className:e,...t}){return(0,n.jsx)(_.Overlay,{"data-slot":"drawer-overlay",className:(0,G.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function et({className:e,children:t,direction:r="bottom",showCloseButton:a=!0,...o}){return(0,n.jsx)(Z,{children:(0,n.jsxs)(_.Content,{"data-slot":"drawer-content",className:(0,G.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",...o.style??{}},...o,children:[t,a?(0,n.jsxs)(_.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)(v.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function en({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,G.cn)("flex flex-col gap-1.5 p-4",e),...t})}function er({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,G.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function ea({className:e,...t}){return(0,n.jsx)(_.Title,{"data-slot":"drawer-title",className:(0,G.cn)("text-foreground font-semibold",e),...t})}function eo({className:e,...t}){return(0,n.jsx)(_.Description,{"data-slot":"drawer-description",className:(0,G.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>Q,"DrawerContent",()=>et,"DrawerDescription",()=>eo,"DrawerFooter",()=>er,"DrawerHeader",()=>en,"DrawerOverlay",()=>ee,"DrawerTitle",()=>ea],45811)},8537,e=>{"use strict";var t=e.i(79054),n=e.i(18354),r=e.i(21023);let a=(0,r.createServerReference)("4041a696dad0c2b717c57f32b24c419d930cb865a4",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("4018997b0ca01632c6e0918434cae92a6554c90bf1",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("400bd2a72e84658cae84cd2dc2ddc8749ad40b7d24",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("40c56522fdf5080900abbb8858ca9acf666ae1c44d",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u=(0,n.createLogger)("[useDeployAction]");function s(e){let[n,r]=(0,t.useState)(!1),[s,d]=(0,t.useState)(!1),[c,f]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[g,h]=(0,t.useState)(null),v=(0,t.useRef)(null),w=(0,t.useRef)(!0),y=(0,t.useRef)(p);(0,t.useEffect)(()=>{y.current=p},[p]),(0,t.useEffect)(()=>(w.current=!0,()=>{w.current=!1}),[]),(0,t.useEffect)(()=>()=>{v.current&&clearInterval(v.current)},[]);let x=(0,t.useCallback)(()=>{v.current&&(u.debug("stopping polling"),clearInterval(v.current),v.current=null)},[]),b=(0,t.useCallback)(e=>{x(),u.debug(`starting polling for "${e}" every 3000ms`),v.current=setInterval(async()=>{let t;if(!w.current)return void x();try{t=await i(e)}catch(t){u.warn(`poll fetch failed for "${e}":`,t),w.current&&(m(null),h(null),x());return}w.current&&(t&&"Stopped"!==t.state?(t.state!==y.current&&u.info(`poll state changed: ${y.current} → ${t.state}, url=${t.url}`),m(t.state),h(t.url)):(u.info(`poll result: ${t?`state=${t.state}`:"null (deployment gone)"} — stopping poll`),m(null),h(null),x()))},3e3)},[x]),j=(0,t.useCallback)(async()=>{if(!e)return void u.warn("deploy() called but input is null — no-op");if(n)return void u.warn("deploy() called but already loading — no-op");u.info(`deploy() — targetType="${e.targetType}", targetId="${e.targetId}", repositoryPath="${e.repositoryPath}"`),r(!0),f(null);try{let t="feature"===e.targetType?await a(e.targetId):await o(e.repositoryPath);if(u.info("server action result:",t),!w.current)return void u.warn("component unmounted after deploy — discarding result");if(t.success)u.info(`deploy succeeded — initial state=${t.state}, starting polling`),m(t.state??null),h(null),b(e.targetId);else{let e=t.error??"An unexpected error occurred";u.warn(`deploy failed: ${e}`),f(e)}}catch(t){if(!w.current)return;let e=t instanceof Error?t.message:"An unexpected error occurred";u.error(`deploy threw exception: ${e}`,t),f(e)}finally{w.current&&r(!1)}},[e,n,b]),T=(0,t.useCallback)(async()=>{if(e&&!s){u.info(`stop() — targetId="${e.targetId}"`),d(!0);try{let t=await l(e.targetId);if(u.info("stop result:",t),!w.current)return;t.success&&(x(),m(null),h(null))}catch(e){u.warn("stop error (non-critical):",e)}finally{w.current&&d(!1)}}},[e,s,x]);return{deploy:j,stop:T,deployLoading:n,stopLoading:s,deployError:c,status:p,url:g}}e.s(["useDeployAction",()=>s],8537)},11495,e=>{"use strict";var t=e.i(20314),n=e.i(79054),r=e.i(48249),a=e.i(24042),o=e.i(6910),l=e.i(94237),i=e.i(31777);e.i(81803);var u=e.i(72714);e.i(99348);var s=e.i(5259),d=e.i(45811),c=e.i(25235),f=e.i(2828);e.i(41001);var p=e.i(64780),m=e.i(8537),g=e.i(75921);let h=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function v({open:e,onClose:a,modal:o=!1,dismissOnOutsideClick:l=!1,title:u="Drawer",size:s,header:f,children:m,footer:v,className:y,"data-testid":x,deployTarget:b}){let{i18n:j}=(0,p.useTranslation)(),T=(0,g.useFeatureFlags)(),C=(0,n.useRef)(null),R="rtl"===j.dir()?"left":"right";return(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{let t=e.target;!document.body.contains(t)||C.current?.contains(t)||t.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]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,o,a,l]),(0,t.jsxs)(d.Drawer,{direction:R,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(d.DrawerOverlay,{}):null,(0,t.jsxs)(d.DrawerContent,{ref:C,direction:R,showCloseButton:!1,className:(0,i.cn)(h({size:s}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",y),"data-testid":x,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,t.jsx)(d.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:u})}),(0,t.jsx)(d.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:u})}),(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":x?`${x}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),f?(0,t.jsx)(d.DrawerHeader,{className:"shrink-0",children:f}):null,f?(0,t.jsx)(c.Separator,{}):null,T.envDeploy&&b?(0,t.jsx)(w,{deployTarget:b}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:m}),v?(0,t.jsx)(d.DrawerFooter,{className:"shrink-0",children:v}):null]})]})}function w({deployTarget:e}){let n=(0,m.useDeployAction)(e),r="Booting"===n.status||"Ready"===n.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(f.TooltipProvider,{children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(u.ActionButton,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?n.stop:n.deploy,loading:n.deployLoading||n.stopLoading,error:!!n.deployError,icon:r?o.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(f.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(s.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>v])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,6910,e=>{"use strict";var t=e.i(3645);let n=(0,t.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",()=>n],24042);let r=(0,t.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>r],6910)},72714,e=>{"use strict";var t=e.i(20314),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);function i({label:e,onClick:i,loading:u,error:s,icon:d,iconOnly:c=!1,variant:f="outline",size:p="sm"}){let m=(0,l.useSoundAction)("click");return(0,t.jsxs)(o.Button,{variant:f,size:p,"aria-label":e,disabled:u,onClick:()=>{m.play(),i()},className:(0,a.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&c&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[u?(0,t.jsx)(n.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(r.CircleAlert,{className:"size-4"}):(0,t.jsx)(d,{className:"size-4"}),c?null:e]})}e.s(["ActionButton",()=>i])},81803,5259,99348,45811,e=>{"use strict";let t;e.i(72714),e.s([],81803);var n=e.i(20314),r=e.i(79054),a=e.i(83428),o=e.i(30702),l=e.i(38573),i=e.i(17406),u=e.i(2828),s=e.i(2287),d=e.i(21023);let c=(0,d.createServerReference)("407add07c287f96bf10c931f5672fdbbd62f4c81b6",d.callServer,void 0,d.findSourceMapURL,"getDeploymentLogs");function f({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}c(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)(p,{open:e,onOpenChange:t,logs:o,isConnected:l})}function p({open:e,onOpenChange:t,logs:a,isConnected:o}){let i=(0,r.useRef)(null),u=(0,r.useRef)(!0),d=(0,r.useCallback)(()=>{let e=i.current;e&&(u.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{u.current&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[a]),(0,n.jsx)(s.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(s.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)(s.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)(l.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(s.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:i,onScroll:d,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)(m,{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 m({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 g="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function h({status:e,url:t,targetId:s}){let[d,c]=(0,r.useState)(!1),p=s&&(e===i.DeploymentState.Booting||e===i.DeploymentState.Ready);switch(e){case i.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)(a.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});case i.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)(o.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),p?(0,n.jsx)(u.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(u.Tooltip,{children:[(0,n.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:g,onClick:e=>{e.stopPropagation(),c(!0)},children:(0,n.jsx)(l.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(u.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),p?(0,n.jsx)(f,{open:d,onOpenChange:c,targetId:s}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>h],5259),e.s([],99348);var v=e.i(48249),w=e.i(567);let y=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}),x=()=>{let e=r.default.useContext(y);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function b(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function j(){return T(/^iPhone/)||T(/^iPad/)||T(/^Mac/)&&navigator.maxTouchPoints>1}function T(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 C="u">typeof window?r.useLayoutEffect:r.useEffect;function R(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let D="u">typeof document&&window.visualViewport;function S(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function E(e){for(S(e)&&(e=e.parentElement);e&&!S(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let $=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),N=0;function k(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function P(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=E(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 M(e){return e instanceof HTMLInputElement&&!$.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function z(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let O=new WeakMap;function L(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||O.set(e,r)}let B=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function F(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(", ")[B(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[B(t)?5:4]):null}function A(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let I=[.32,.72,0,1],H="vaul-dragging";function W(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 q({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=W(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,u=W(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else o(t)},[l,e,o,u])]}let Y=()=>()=>{},U=null;function X({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:u=!1,setBackgroundColorOnScale:s=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:p=!1,fadeFromIndex:m=i&&i.length-1,activeSnapPoint:g,setActiveSnapPoint:h,fixed:v,modal:x=!0,onClose:T,nested:S,noBodyStyles:$=!1,direction:z="bottom",defaultOpen:A=!1,disablePreventScroll:W=!0,snapToSequentialPoint:Y=!1,preventScrollRestoration:X=!1,repositionInputs:V=!0,onAnimationEnd:K,container:J,autoFocus:_=!1}){var G,Q;let[Z=!1,ee]=q({defaultProp:A,prop:e,onChange:e=>{null==n||n(e),e||S||ek(),setTimeout(()=>{null==K||K(e)},500),e&&!x&&"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),eu=r.default.useRef(null),es=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),ep=r.default.useRef(null),em=r.default.useRef(0),eg=r.default.useRef(!1),eh=r.default.useRef(!A),ev=r.default.useRef(0),ew=r.default.useRef(null),ey=r.default.useRef((null==(G=ew.current)?void 0:G.getBoundingClientRect().height)||0),ex=r.default.useRef((null==(Q=ew.current)?void 0:Q.getBoundingClientRect().width)||0),eb=r.default.useRef(0),ej=r.default.useCallback(e=>{i&&e===eS.length-1&&(eu.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:eR,onRelease:eD,snapPointsOffset:eS,onDrag:eE,shouldFade:e$,getPercentageDragged:eN}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:u="bottom",container:s,snapToSequentialPoint:d}){let[c,f]=q({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[p,m]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let g=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),h=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=s?{width:s.getBoundingClientRect().width,height:s.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)),B(u)){let a=n?r:p?e*t.height:0;return p?"bottom"===u?t.height-a:-t.height+a:a}let a=n?r:p?e*t.width:0;return p?"right"===u?t.width-a:-t.width+a:a}))?e:[]},[n,p,s]),y=r.default.useMemo(()=>null!==h?null==w?void 0:w[h]:null,[w,h]),x=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),L(a.current,{transition:`transform 0.5s cubic-bezier(${I.join(",")})`,transform:B(u)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?L(o.current,{transition:`opacity 0.5s cubic-bezier(${I.join(",")})`,opacity:"0"}):L(o.current,{transition:`opacity 0.5s cubic-bezier(${I.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]&&x(w[r])}},[c,e,n,w,x]),{isLastSnapPoint:g,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof h||!w||void 0===l)return null;let r=h===l-1;if(h>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?h+1:h-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:h,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===u||"right"===u?(null!=y?y:0)-e:(null!=y?y:0)+e,s=h===l-1,c=0===h,f=e>0;if(s&&L(o.current,{transition:`opacity 0.5s cubic-bezier(${I.join(",")})`}),!d&&r>2&&!f)return void(a?t():x(w[0]));if(!d&&r>2&&f&&w&&n)return void x(w[n.length-1]);let p=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),m=B(u)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*m){let e=f?1:-1;return e>0&&g&&n?void x(w[n.length-1]):void(c&&e<0&&a&&t(),null===h||x(w[h+e]))}x(p)},onDrag:function({draggedDistance:e}){if(null===y)return;let t="bottom"===u||"right"===u?y-e:y+e;("bottom"===u||"right"===u)&&t<w[w.length-1]||("top"===u||"left"===u)&&t>w[w.length-1]||L(a.current,{transform:B(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:g,setActiveSnapPointProp:h,drawerRef:ew,fadeFromIndex:m,overlayRef:ei,onSnapPointChange:ej,direction:z,container:J,snapToSequentialPoint:Y});!function(e={}){let{isDisabled:n}=e;C(()=>{if(!n){var e,r,a;let n,o,l,i,u,s,d;return 1==++N&&j()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,s=R((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=R(k(document,"touchstart",e=>{((o=E(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),k(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}),k(document,"touchend",e=>{let t=e.target;M(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),k(document,"focus",e=>{let t=e.target;M(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",D&&(D.height<window.innerHeight?requestAnimationFrame(()=>{P(t)}):D.addEventListener("resize",()=>P(t),{once:!0}))}))},!0),k(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{s(),d(),window.scrollTo(i,u)}),()=>{0==--N&&(null==t||t())}}},[n])}({isDisabled:!Z||er||!x||eo||!et||!V||!W});let{restorePositionSetting:ek}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,u]=r.default.useState(()=>"u">typeof window?window.location.href:""),s=r.default.useRef(0),d=r.default.useCallback(()=>{if(b()&&null===U&&e&&!l){U={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:`${-s.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&s.current>=t&&(document.body.style.top=`${-(s.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(b()&&null!==U&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,U),window.requestAnimationFrame(()=>{o&&i!==window.location.href?u(window.location.href):window.scrollTo(t,e)}),U=null}},[i]);return r.default.useEffect(()=>{function e(){s.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:Z,modal:x,nested:null!=S&&S,hasBeenOpened:et,preventScrollRestoration:X,noBodyStyles:$});function eP(){return(window.innerWidth-26)/window.innerWidth}function eM(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?F(ew.current,z):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===z||"left"===z)return!0;if(eu.current&&l.getTime()-eu.current.getTime()<500)return!1;if(null!==o&&("bottom"===z?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 ez(e){er&&ew.current&&(ew.current.classList.remove(H),ef.current=!1,ea(!1),ed.current=new Date),null==T||T(),e||ee(!1),setTimeout(()=>{i&&eR(i[0])},500)}function eO(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=F(ew.current,z);L(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${I.join(",")})`}),L(ei.current,{transition:`opacity 0.5s cubic-bezier(${I.join(",")})`,opacity:"1"}),u&&t&&t>0&&Z&&L(e,{borderRadius:"8px",overflow:"hidden",...B(z)?{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(${I.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{eh.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&V&&(M(document.activeElement)||eg.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;eb.current||(eb.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eg.current=!eg.current),i&&i.length>0&&eS&&eC&&(r+=eS[eC]||0),ev.current=r,a>t||eg.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=`${eb.current}px`)}i&&i.length>0&&!eg.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,eS]),r.default.useEffect(()=>(Z&&(L(document.documentElement,{scrollBehavior:"auto"}),eu.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=O.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Z]),r.default.useEffect(()=>{x||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[x]),r.default.createElement(w.Root,{defaultOpen:A,onOpenChange:e=>{(f||e)&&(e?en(!0):ez(!0),ee(e))},open:Z},r.default.createElement(y.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))&&(ey.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,ex.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),es.current=new Date,j()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),em.current=B(z)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(H),ef.current=!1,ea(!1),ed.current=new Date;let r=F(ew.current,z);if(!e||!eM(e.target,!1)||!r||Number.isNaN(r)||null===es.current)return;let a=ed.current.getTime()-es.current.getTime(),o=em.current-(B(z)?e.pageY:e.pageX),u=Math.abs(o)/a;if(u>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eD({draggedDistance:o*("bottom"===z||"right"===z?1:-1),closeDrawer:ez,velocity:u,dismissible:f}),null==l||l(e,!0);return}if("bottom"===z||"right"===z?o>0:o<0){eO(),null==l||l(e,!0);return}if(u>.4){ez(),null==l||l(e,!1);return}let s=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"===z||"right"===z?c:s)*d){ez(),null==l||l(e,!1);return}null==l||l(e,!0),eO()},onDrag:function(e){if(ew.current&&er){let t="bottom"===z||"right"===z?1:-1,n=(em.current-(B(z)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eC)return;let l=Math.abs(n),s=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===z||"top"===z?ey.current:ex.current),c=eN(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!eM(e.target,r))return;if(ew.current.classList.add(H),ef.current=!0,L(ew.current,{transition:"none"}),L(ei.current,{transition:"none"}),i&&eE({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;L(ew.current,{transform:B(z)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let p=1-d;if((e$||m&&eC===m-1)&&(null==o||o(e,d),L(ei.current,{opacity:`${p}`,transition:"none"},!0)),s&&ei.current&&u){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);L(s,{borderRadius:`${t}px`,transform:B(z)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;L(ew.current,{transform:B(z)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eh,handleOnly:p,isOpen:Z,isDragging:er,shouldFade:e$,closeDrawer:ez,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;L(ew.current,{transform:B(z)?`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;ep.current&&window.clearTimeout(ep.current),L(ew.current,{transition:`transform 0.5s cubic-bezier(${I.join(",")})`,transform:B(z)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(ep.current=setTimeout(()=>{let e=F(ew.current,z);L(ew.current,{transition:"none",transform:B(z)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=B(z)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&L(ew.current,{transition:`transform 0.5s cubic-bezier(${I.join(",")})`,transform:B(z)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eg,modal:x,snapPointsOffset:eS,activeSnapPointIndex:eC,direction:z,shouldScaleBackground:u,setBackgroundColorOnScale:s,noBodyStyles:$,container:J,autoFocus:_}},a))}let V=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:u,shouldAnimate:s}=x(),d=z(t,n),c=a&&a.length>0;if(!u)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(w.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==s?void 0:s.current)?"true":"false",...e})});V.displayName="Drawer.Overlay";let K=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:u,onDrag:s,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:p,isOpen:m,direction:g,snapPoints:h,container:v,handleOnly:y,shouldAnimate:b,autoFocus:j}=x(),[T,C]=r.default.useState(!1),R=z(o,l),D=r.default.useRef(null),S=r.default.useRef(null),E=r.default.useRef(!1),$=h&&h.length>0;function N(e){D.current=null,E.current=!1,u(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=x(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function u(){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?A(document.body,{background:"black"}):Y,A(t,{transformOrigin:B(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${I.join(",")})`}));let n=A(t,{borderRadius:"8px",overflow:"hidden",...B(e)?{transform:`scale(${u()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${u()}) 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(()=>{$&&window.requestAnimationFrame(()=>{C(!0)})},[]),r.default.createElement(w.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":T?"true":"false","data-vaul-snap-points":m&&$?"true":"false","data-vaul-custom-container":v?"true":"false","data-vaul-animate":(null==b?void 0:b.current)?"true":"false",...a,ref:R,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{y||(null==a.onPointerDown||a.onPointerDown.call(a,e),D.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),j||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!p||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!p)return void e.preventDefault()},onPointerMove:e=>{if(S.current=e,y||(null==a.onPointerMove||a.onPointerMove.call(a,e),!D.current))return;let t=e.pageY-D.current.y,n=e.pageX-D.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(E.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 E.current=!0,!0})({x:n,y:t},g,r)?s(e):(Math.abs(n)>r||Math.abs(t)>r)&&(D.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),D.current=null,E.current=!1,u(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),N(S.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),S.current&&N(S.current)}})});K.displayName="Drawer.Content";let J=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:u,setActiveSnapPoint:s,dismissible:d,handleOnly:c,isOpen:f,onPress:p,onDrag:m}=x(),g=r.default.useRef(null),h=r.default.useRef(!1);function v(){g.current&&window.clearTimeout(g.current),h.current=!1}return r.default.createElement("div",{onClick:function(){h.current?v():window.setTimeout(()=>{!function(){if(l||e||h.current)return v();if(v(),!i||0===i.length){d||o();return}if(u===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===u);-1===t||s(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&p(e),g.current=window.setTimeout(()=>{h.current=!0},250)},onPointerMove:e=>{c&&m(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))});J.displayName="Drawer.Handle";let _={Root:X,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=x();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(X,{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:K,Overlay:V,Trigger:w.Trigger,Portal:function(e){let t=x(),{container:n=t.container,...a}=e;return r.default.createElement(w.Portal,{container:n,...a})},Handle:J,Close:w.Close,Title:w.Title,Description:w.Description};var G=e.i(31777);function Q({...e}){return(0,n.jsx)(_.Root,{"data-slot":"drawer",...e})}function Z({...e}){return(0,n.jsx)(_.Portal,{"data-slot":"drawer-portal",...e})}function ee({className:e,...t}){return(0,n.jsx)(_.Overlay,{"data-slot":"drawer-overlay",className:(0,G.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function et({className:e,children:t,direction:r="bottom",showCloseButton:a=!0,...o}){return(0,n.jsx)(Z,{children:(0,n.jsxs)(_.Content,{"data-slot":"drawer-content",className:(0,G.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",...o.style??{}},...o,children:[t,a?(0,n.jsxs)(_.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)(v.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function en({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,G.cn)("flex flex-col gap-1.5 p-4",e),...t})}function er({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,G.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function ea({className:e,...t}){return(0,n.jsx)(_.Title,{"data-slot":"drawer-title",className:(0,G.cn)("text-foreground font-semibold",e),...t})}function eo({className:e,...t}){return(0,n.jsx)(_.Description,{"data-slot":"drawer-description",className:(0,G.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>Q,"DrawerContent",()=>et,"DrawerDescription",()=>eo,"DrawerFooter",()=>er,"DrawerHeader",()=>en,"DrawerOverlay",()=>ee,"DrawerTitle",()=>ea],45811)},8537,e=>{"use strict";var t=e.i(79054),n=e.i(18354),r=e.i(21023);let a=(0,r.createServerReference)("4091a32b0df64fc9efc7ca0be6d0683fb6dcbcea96",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("40f68acf1c4763fbf02cccc454dea98bcc832544e1",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("40317946f55717186dc398a6a3ae5f6c32ac4c77db",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("40e001a731c67ea2731bd81785a92c4f66b8bd99c0",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u=(0,n.createLogger)("[useDeployAction]");function s(e){let[n,r]=(0,t.useState)(!1),[s,d]=(0,t.useState)(!1),[c,f]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[g,h]=(0,t.useState)(null),v=(0,t.useRef)(null),w=(0,t.useRef)(!0),y=(0,t.useRef)(p);(0,t.useEffect)(()=>{y.current=p},[p]),(0,t.useEffect)(()=>(w.current=!0,()=>{w.current=!1}),[]),(0,t.useEffect)(()=>()=>{v.current&&clearInterval(v.current)},[]);let x=(0,t.useCallback)(()=>{v.current&&(u.debug("stopping polling"),clearInterval(v.current),v.current=null)},[]),b=(0,t.useCallback)(e=>{x(),u.debug(`starting polling for "${e}" every 3000ms`),v.current=setInterval(async()=>{let t;if(!w.current)return void x();try{t=await i(e)}catch(t){u.warn(`poll fetch failed for "${e}":`,t),w.current&&(m(null),h(null),x());return}w.current&&(t&&"Stopped"!==t.state?(t.state!==y.current&&u.info(`poll state changed: ${y.current} → ${t.state}, url=${t.url}`),m(t.state),h(t.url)):(u.info(`poll result: ${t?`state=${t.state}`:"null (deployment gone)"} — stopping poll`),m(null),h(null),x()))},3e3)},[x]),j=(0,t.useCallback)(async()=>{if(!e)return void u.warn("deploy() called but input is null — no-op");if(n)return void u.warn("deploy() called but already loading — no-op");u.info(`deploy() — targetType="${e.targetType}", targetId="${e.targetId}", repositoryPath="${e.repositoryPath}"`),r(!0),f(null);try{let t="feature"===e.targetType?await a(e.targetId):await o(e.repositoryPath);if(u.info("server action result:",t),!w.current)return void u.warn("component unmounted after deploy — discarding result");if(t.success)u.info(`deploy succeeded — initial state=${t.state}, starting polling`),m(t.state??null),h(null),b(e.targetId);else{let e=t.error??"An unexpected error occurred";u.warn(`deploy failed: ${e}`),f(e)}}catch(t){if(!w.current)return;let e=t instanceof Error?t.message:"An unexpected error occurred";u.error(`deploy threw exception: ${e}`,t),f(e)}finally{w.current&&r(!1)}},[e,n,b]),T=(0,t.useCallback)(async()=>{if(e&&!s){u.info(`stop() — targetId="${e.targetId}"`),d(!0);try{let t=await l(e.targetId);if(u.info("stop result:",t),!w.current)return;t.success&&(x(),m(null),h(null))}catch(e){u.warn("stop error (non-critical):",e)}finally{w.current&&d(!1)}}},[e,s,x]);return{deploy:j,stop:T,deployLoading:n,stopLoading:s,deployError:c,status:p,url:g}}e.s(["useDeployAction",()=>s],8537)},11495,e=>{"use strict";var t=e.i(20314),n=e.i(79054),r=e.i(48249),a=e.i(24042),o=e.i(6910),l=e.i(94237),i=e.i(31777);e.i(81803);var u=e.i(72714);e.i(99348);var s=e.i(5259),d=e.i(45811),c=e.i(25235),f=e.i(2828);e.i(41001);var p=e.i(64780),m=e.i(8537),g=e.i(75921);let h=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function v({open:e,onClose:a,modal:o=!1,dismissOnOutsideClick:l=!1,title:u="Drawer",size:s,header:f,children:m,footer:v,className:y,"data-testid":x,deployTarget:b}){let{i18n:j}=(0,p.useTranslation)(),T=(0,g.useFeatureFlags)(),C=(0,n.useRef)(null),R="rtl"===j.dir()?"left":"right";return(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{let t=e.target;!document.body.contains(t)||C.current?.contains(t)||t.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]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,o,a,l]),(0,t.jsxs)(d.Drawer,{direction:R,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(d.DrawerOverlay,{}):null,(0,t.jsxs)(d.DrawerContent,{ref:C,direction:R,showCloseButton:!1,className:(0,i.cn)(h({size:s}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",y),"data-testid":x,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,t.jsx)(d.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:u})}),(0,t.jsx)(d.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:u})}),(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":x?`${x}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),f?(0,t.jsx)(d.DrawerHeader,{className:"shrink-0",children:f}):null,f?(0,t.jsx)(c.Separator,{}):null,T.envDeploy&&b?(0,t.jsx)(w,{deployTarget:b}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:m}),v?(0,t.jsx)(d.DrawerFooter,{className:"shrink-0",children:v}):null]})]})}function w({deployTarget:e}){let n=(0,m.useDeployAction)(e),r="Booting"===n.status||"Ready"===n.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(f.TooltipProvider,{children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(u.ActionButton,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?n.stop:n.deploy,loading:n.deployLoading||n.stopLoading,error:!!n.deployError,icon:r?o.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(f.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(s.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>v])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let s=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>s],30702)},38573,e=>{"use strict";let s=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>s],38573)},1650,e=>{"use strict";e.i(11495),e.s([])},956,e=>{"use strict";var s=e.i(20314),l=e.i(79054),a=e.i(31777);let t=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...l}));t.displayName="Card";let r=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...l}));r.displayName="CardHeader";let i=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("leading-none font-semibold tracking-tight",e),...l}));i.displayName="CardTitle";let n=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("text-muted-foreground text-sm",e),...l}));n.displayName="CardDescription";let o=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("p-6 pt-0",e),...l}));o.displayName="CardContent",l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("flex items-center p-6 pt-0",e),...l})).displayName="CardFooter",e.s(["Card",()=>t,"CardContent",()=>o,"CardDescription",()=>n,"CardHeader",()=>r,"CardTitle",()=>i])},54793,7729,e=>{"use strict";var s=e.i(20314),l=e.i(31777);function a({icon:e,title:a,description:t,action:r,className:i,...n}){return(0,s.jsxs)("div",{className:(0,l.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,s.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,s.jsx)("h3",{className:"text-lg font-semibold",children:a}),t?(0,s.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:t}):null,r?(0,s.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>a],7729),e.s([],54793)},9443,85871,e=>{"use strict";var s=e.i(20314),l=e.i(31777);function a({title:e,description:a,children:t,className:r}){return(0,s.jsxs)("header",{className:(0,l.cn)("flex items-center justify-between gap-4",r),children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),a?(0,s.jsx)("p",{className:"text-muted-foreground",children:a}):null]}),t?(0,s.jsx)("div",{"data-slot":"actions",children:t}):null]})}e.s(["PageHeader",()=>a],85871),e.s([],9443)},38752,e=>{"use strict";var s=e.i(20314);e.i(1650);var l=e.i(11495),a=e.i(45811),t=e.i(81846),r=e.i(25235),i=e.i(19933);function n({skill:e,onClose:n}){return(0,s.jsx)(l.BaseDrawer,{open:null!==e,onClose:n,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.DrawerTitle,{children:e.displayName}),(0,s.jsx)(a.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,s.jsxs)("div",{className:"px-4 pb-4",children:[(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(t.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,s.jsx)(t.Badge,{variant:"outline",children:e.category}),e.context?(0,s.jsx)(t.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,s.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,s.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,s.jsx)(i.FolderOpen,{className:"size-3.5 shrink-0"}),(0,s.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>n])},16919,e=>{"use strict";var s=e.i(20314),l=e.i(79054),a=e.i(66459),t=e.i(12103),r=e.i(98127),i=e.i(35364);e.i(9443);var n=e.i(85871);e.i(54793);var o=e.i(7729),d=e.i(956),c=e.i(81846),m=e.i(19933);function x({skill:e,onSelect:l}){return(0,s.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>l(e),onKeyDown:s=>{("Enter"===s.key||" "===s.key)&&(s.preventDefault(),l(e))},"data-testid":`skill-card-${e.name}`,children:[(0,s.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,s.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,s.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,s.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,s.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,s.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,s.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,s.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,s.jsx)(m.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let u=["Workflow","Code Generation","Analysis","Reference"];function h({skills:e,onSkillSelect:l}){let a=function(e){let s=new Map;for(let l of e){let e=s.get(l.category)??[];e.push(l),s.set(l.category,e)}return s}(e);return(0,s.jsx)("div",{className:"space-y-8",children:u.map(e=>{let t=a.get(e);return t&&0!==t.length?(0,s.jsxs)("section",{children:[(0,s.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,s.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",t.length,")"]})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:t.map(e=>(0,s.jsx)(x,{skill:e,onSelect:l},e.name))})]},e):null})})}let p=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function f({activeCategory:e,onCategoryChange:l,counts:a}){return(0,s.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:p.map(({label:t,value:r})=>(0,s.jsxs)(i.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>l(r),children:[t,a&&r?(0,s.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",a[r],")"]}):null]},t))})}var j=e.i(38752),g=e.i(25235),v=e.i(31406),N=e.i(3214),k=e.i(60253),y=e.i(60112),C=e.i(21023);let b=(0,C.createServerReference)("4091f06620a11c5b0e3e989efd9ba0c324d6ca717d",C.callServer,void 0,C.findSourceMapURL,"removeInjectedSkill");var w=e.i(2287),S=e.i(41957),R=e.i(68304);let T=(0,C.createServerReference)("401a5d76447f8dc4839a337e2e75da3f34278582e7",C.callServer,void 0,C.findSourceMapURL,"addInjectedSkill");function A({open:e,onOpenChange:a,onAdded:t,discoveredSkills:n,existingSkillNames:o}){let[d,c]=(0,l.useState)(!1),[m,x]=(0,l.useState)(""),[u,h]=(0,l.useState)(""),[p,f]=(0,l.useState)(""),j=n.filter(e=>!o.includes(e.name)),g=async e=>{c(!0);let s=await T({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),s.success)?(y.toast.success(`Added "${e.name}" to feature skills`),t()):y.toast.error(s.error??"Failed to add skill")},v=async()=>{if(!m.trim()||!u.trim())return void y.toast.error("Name and source are required");c(!0);let e=await T({name:m.trim(),type:"remote",source:u.trim(),...p.trim()&&{remoteSkillName:p.trim()}});(c(!1),e.success)?(y.toast.success(`Added "${m.trim()}" to feature skills`),x(""),h(""),f(""),t()):y.toast.error(e.error??"Failed to add skill")};return(0,s.jsx)(w.Dialog,{open:e,onOpenChange:a,children:(0,s.jsxs)(w.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,s.jsx)(w.DialogHeader,{children:(0,s.jsx)(w.DialogTitle,{children:"Add Skill to Features"})}),(0,s.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,s.jsxs)(R.TabsList,{className:"w-full",children:[(0,s.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,s.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,s.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===j.length?(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,s.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:j.map(e=>(0,s.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>g(e),disabled:d,"data-testid":`add-local-skill-${e.name}`,children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,s.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,s.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)(S.Label,{htmlFor:"remote-name",children:"Name"}),(0,s.jsx)(r.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:m,onChange:e=>x(e.target.value),"data-testid":"remote-skill-name"})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)(S.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,s.jsx)(r.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:u,onChange:e=>h(e.target.value),"data-testid":"remote-skill-source"})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)(S.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,s.jsx)(r.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:p,onChange:e=>f(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,s.jsx)(w.DialogFooter,{children:(0,s.jsx)(i.Button,{onClick:v,disabled:d||!m.trim()||!u.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function D({config:e,discoveredSkills:a}){let t=(0,v.useRouter)(),[r,n]=(0,l.useState)(!1),[o,d]=(0,l.useState)(null),c=(0,l.useMemo)(()=>{let e=new Map;for(let s of a)e.set(s.name,s.description);return e},[a]),m=async e=>{d(e);let s=await b(e);(d(null),s.success)?(y.toast.success(`Removed "${e}" from feature skills`),t.refresh()):y.toast.error(s.error??"Failed to remove skill")};return(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,s.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,s.jsx)(F,{skill:e,description:c.get(e.name),onRemove:()=>m(e.name),isRemoving:o===e.name},e.name))}):(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,s.jsx)("div",{children:(0,s.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:()=>n(!0),"data-testid":"add-injected-skill-button",children:[(0,s.jsx)(N.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,s.jsx)(A,{open:r,onOpenChange:n,onAdded:()=>{n(!1),t.refresh()},discoveredSkills:a,existingSkillNames:e.skills.map(e=>e.name)})]})}function F({skill:e,description:l,onRemove:a,isRemoving:t}){return(0,s.jsxs)(d.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,s.jsxs)(d.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,s.jsx)("div",{className:"min-w-0",children:(0,s.jsx)(d.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,s.jsx)(i.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:a,disabled:t,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,s.jsx)(k.X,{className:"size-4"})})]}),(0,s.jsxs)(d.CardContent,{className:"space-y-2 pt-0",children:[l?(0,s.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:l}):null,(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,s.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function B({skills:e,injectionConfig:d}){let[c,m]=(0,l.useState)(""),[x,u]=(0,l.useState)(null),[p,v]=(0,l.useState)(null),N=(0,l.useMemo)(()=>(function(e){let s={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let l of e)s[l.category]++;return s})(e),[e]),k=(0,l.useMemo)(()=>{let s=c.toLowerCase();return e.filter(e=>{if(x&&e.category!==x)return!1;if(s){let l=e.name.toLowerCase().includes(s),a=e.description.toLowerCase().includes(s);if(!l&&!a)return!1}return!0})},[e,c,x]);return 0===e.length?(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,s.jsx)(D,{config:d,discoveredSkills:e}),(0,s.jsx)(g.Separator,{}),(0,s.jsx)(o.EmptyState,{icon:(0,s.jsx)(t.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,s.jsx)(D,{config:d,discoveredSkills:e}),(0,s.jsx)(g.Separator,{}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(a.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,s.jsx)(r.Input,{placeholder:"Search skills...",value:c,onChange:e=>m(e.target.value),className:"ps-9"})]}),(0,s.jsx)(f,{activeCategory:x,onCategoryChange:u,counts:N}),k.length>0?(0,s.jsx)(h,{skills:k,onSkillSelect:v}):(0,s.jsx)(o.EmptyState,{icon:(0,s.jsx)(a.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,s.jsx)(i.Button,{variant:"outline",onClick:()=>{m(""),u(null)},children:"Clear filters"})}),(0,s.jsx)(j.SkillDetailDrawer,{skill:p,onClose:()=>v(null)})]})}e.s(["SkillsPageClient",()=>B],16919)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let s=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>s],30702)},38573,e=>{"use strict";let s=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>s],38573)},1650,e=>{"use strict";e.i(11495),e.s([])},956,e=>{"use strict";var s=e.i(20314),l=e.i(79054),a=e.i(31777);let t=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...l}));t.displayName="Card";let r=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...l}));r.displayName="CardHeader";let i=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("leading-none font-semibold tracking-tight",e),...l}));i.displayName="CardTitle";let n=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("text-muted-foreground text-sm",e),...l}));n.displayName="CardDescription";let o=l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("p-6 pt-0",e),...l}));o.displayName="CardContent",l.forwardRef(({className:e,...l},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("flex items-center p-6 pt-0",e),...l})).displayName="CardFooter",e.s(["Card",()=>t,"CardContent",()=>o,"CardDescription",()=>n,"CardHeader",()=>r,"CardTitle",()=>i])},54793,7729,e=>{"use strict";var s=e.i(20314),l=e.i(31777);function a({icon:e,title:a,description:t,action:r,className:i,...n}){return(0,s.jsxs)("div",{className:(0,l.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,s.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,s.jsx)("h3",{className:"text-lg font-semibold",children:a}),t?(0,s.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:t}):null,r?(0,s.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>a],7729),e.s([],54793)},9443,85871,e=>{"use strict";var s=e.i(20314),l=e.i(31777);function a({title:e,description:a,children:t,className:r}){return(0,s.jsxs)("header",{className:(0,l.cn)("flex items-center justify-between gap-4",r),children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),a?(0,s.jsx)("p",{className:"text-muted-foreground",children:a}):null]}),t?(0,s.jsx)("div",{"data-slot":"actions",children:t}):null]})}e.s(["PageHeader",()=>a],85871),e.s([],9443)},38752,e=>{"use strict";var s=e.i(20314);e.i(1650);var l=e.i(11495),a=e.i(45811),t=e.i(81846),r=e.i(25235),i=e.i(19933);function n({skill:e,onClose:n}){return(0,s.jsx)(l.BaseDrawer,{open:null!==e,onClose:n,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.DrawerTitle,{children:e.displayName}),(0,s.jsx)(a.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,s.jsxs)("div",{className:"px-4 pb-4",children:[(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(t.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,s.jsx)(t.Badge,{variant:"outline",children:e.category}),e.context?(0,s.jsx)(t.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,s.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,s.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,s.jsx)(i.FolderOpen,{className:"size-3.5 shrink-0"}),(0,s.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Separator,{className:"my-4"}),(0,s.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>n])},16919,e=>{"use strict";var s=e.i(20314),l=e.i(79054),a=e.i(66459),t=e.i(12103),r=e.i(98127),i=e.i(35364);e.i(9443);var n=e.i(85871);e.i(54793);var o=e.i(7729),d=e.i(956),c=e.i(81846),m=e.i(19933);function x({skill:e,onSelect:l}){return(0,s.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>l(e),onKeyDown:s=>{("Enter"===s.key||" "===s.key)&&(s.preventDefault(),l(e))},"data-testid":`skill-card-${e.name}`,children:[(0,s.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,s.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,s.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,s.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,s.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,s.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,s.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,s.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,s.jsx)(m.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let u=["Workflow","Code Generation","Analysis","Reference"];function h({skills:e,onSkillSelect:l}){let a=function(e){let s=new Map;for(let l of e){let e=s.get(l.category)??[];e.push(l),s.set(l.category,e)}return s}(e);return(0,s.jsx)("div",{className:"space-y-8",children:u.map(e=>{let t=a.get(e);return t&&0!==t.length?(0,s.jsxs)("section",{children:[(0,s.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,s.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",t.length,")"]})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:t.map(e=>(0,s.jsx)(x,{skill:e,onSelect:l},e.name))})]},e):null})})}let p=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function f({activeCategory:e,onCategoryChange:l,counts:a}){return(0,s.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:p.map(({label:t,value:r})=>(0,s.jsxs)(i.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>l(r),children:[t,a&&r?(0,s.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",a[r],")"]}):null]},t))})}var j=e.i(38752),g=e.i(25235),v=e.i(31406),N=e.i(3214),k=e.i(60253),y=e.i(60112),C=e.i(21023);let b=(0,C.createServerReference)("406545b678d61ce574cb9459d3a5100d656c797631",C.callServer,void 0,C.findSourceMapURL,"removeInjectedSkill");var w=e.i(2287),S=e.i(41957),R=e.i(68304);let T=(0,C.createServerReference)("40f86c35af3e114876ab450e568b5c90d44f5deca1",C.callServer,void 0,C.findSourceMapURL,"addInjectedSkill");function A({open:e,onOpenChange:a,onAdded:t,discoveredSkills:n,existingSkillNames:o}){let[d,c]=(0,l.useState)(!1),[m,x]=(0,l.useState)(""),[u,h]=(0,l.useState)(""),[p,f]=(0,l.useState)(""),j=n.filter(e=>!o.includes(e.name)),g=async e=>{c(!0);let s=await T({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),s.success)?(y.toast.success(`Added "${e.name}" to feature skills`),t()):y.toast.error(s.error??"Failed to add skill")},v=async()=>{if(!m.trim()||!u.trim())return void y.toast.error("Name and source are required");c(!0);let e=await T({name:m.trim(),type:"remote",source:u.trim(),...p.trim()&&{remoteSkillName:p.trim()}});(c(!1),e.success)?(y.toast.success(`Added "${m.trim()}" to feature skills`),x(""),h(""),f(""),t()):y.toast.error(e.error??"Failed to add skill")};return(0,s.jsx)(w.Dialog,{open:e,onOpenChange:a,children:(0,s.jsxs)(w.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,s.jsx)(w.DialogHeader,{children:(0,s.jsx)(w.DialogTitle,{children:"Add Skill to Features"})}),(0,s.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,s.jsxs)(R.TabsList,{className:"w-full",children:[(0,s.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,s.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,s.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===j.length?(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,s.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:j.map(e=>(0,s.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>g(e),disabled:d,"data-testid":`add-local-skill-${e.name}`,children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,s.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,s.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)(S.Label,{htmlFor:"remote-name",children:"Name"}),(0,s.jsx)(r.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:m,onChange:e=>x(e.target.value),"data-testid":"remote-skill-name"})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)(S.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,s.jsx)(r.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:u,onChange:e=>h(e.target.value),"data-testid":"remote-skill-source"})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)(S.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,s.jsx)(r.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:p,onChange:e=>f(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,s.jsx)(w.DialogFooter,{children:(0,s.jsx)(i.Button,{onClick:v,disabled:d||!m.trim()||!u.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function D({config:e,discoveredSkills:a}){let t=(0,v.useRouter)(),[r,n]=(0,l.useState)(!1),[o,d]=(0,l.useState)(null),c=(0,l.useMemo)(()=>{let e=new Map;for(let s of a)e.set(s.name,s.description);return e},[a]),m=async e=>{d(e);let s=await b(e);(d(null),s.success)?(y.toast.success(`Removed "${e}" from feature skills`),t.refresh()):y.toast.error(s.error??"Failed to remove skill")};return(0,s.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,s.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,s.jsx)(F,{skill:e,description:c.get(e.name),onRemove:()=>m(e.name),isRemoving:o===e.name},e.name))}):(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,s.jsx)("div",{children:(0,s.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:()=>n(!0),"data-testid":"add-injected-skill-button",children:[(0,s.jsx)(N.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,s.jsx)(A,{open:r,onOpenChange:n,onAdded:()=>{n(!1),t.refresh()},discoveredSkills:a,existingSkillNames:e.skills.map(e=>e.name)})]})}function F({skill:e,description:l,onRemove:a,isRemoving:t}){return(0,s.jsxs)(d.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,s.jsxs)(d.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,s.jsx)("div",{className:"min-w-0",children:(0,s.jsx)(d.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,s.jsx)(i.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:a,disabled:t,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,s.jsx)(k.X,{className:"size-4"})})]}),(0,s.jsxs)(d.CardContent,{className:"space-y-2 pt-0",children:[l?(0,s.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:l}):null,(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,s.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function B({skills:e,injectionConfig:d}){let[c,m]=(0,l.useState)(""),[x,u]=(0,l.useState)(null),[p,v]=(0,l.useState)(null),N=(0,l.useMemo)(()=>(function(e){let s={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let l of e)s[l.category]++;return s})(e),[e]),k=(0,l.useMemo)(()=>{let s=c.toLowerCase();return e.filter(e=>{if(x&&e.category!==x)return!1;if(s){let l=e.name.toLowerCase().includes(s),a=e.description.toLowerCase().includes(s);if(!l&&!a)return!1}return!0})},[e,c,x]);return 0===e.length?(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,s.jsx)(D,{config:d,discoveredSkills:e}),(0,s.jsx)(g.Separator,{}),(0,s.jsx)(o.EmptyState,{icon:(0,s.jsx)(t.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,s.jsx)(D,{config:d,discoveredSkills:e}),(0,s.jsx)(g.Separator,{}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(a.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,s.jsx)(r.Input,{placeholder:"Search skills...",value:c,onChange:e=>m(e.target.value),className:"ps-9"})]}),(0,s.jsx)(f,{activeCategory:x,onCategoryChange:u,counts:N}),k.length>0?(0,s.jsx)(h,{skills:k,onSkillSelect:v}):(0,s.jsx)(o.EmptyState,{icon:(0,s.jsx)(a.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,s.jsx)(i.Button,{variant:"outline",onClick:()=>{m(""),u(null)},children:"Clear filters"})}),(0,s.jsx)(j.SkillDetailDrawer,{skill:p,onClose:()=>v(null)})]})}e.s(["SkillsPageClient",()=>B],16919)}]);