@shepai/cli 1.180.0 → 1.181.0-pr549.2ef9b8f

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 (213) hide show
  1. package/dist/src/presentation/cli/commands/app/del.command.d.ts +14 -0
  2. package/dist/src/presentation/cli/commands/app/del.command.d.ts.map +1 -0
  3. package/dist/src/presentation/cli/commands/app/del.command.js +58 -0
  4. package/dist/src/presentation/cli/commands/app/index.d.ts +20 -0
  5. package/dist/src/presentation/cli/commands/app/index.d.ts.map +1 -0
  6. package/dist/src/presentation/cli/commands/app/index.js +33 -0
  7. package/dist/src/presentation/cli/commands/app/ls.command.d.ts +11 -0
  8. package/dist/src/presentation/cli/commands/app/ls.command.d.ts.map +1 -0
  9. package/dist/src/presentation/cli/commands/app/ls.command.js +74 -0
  10. package/dist/src/presentation/cli/commands/app/new.command.d.ts +17 -0
  11. package/dist/src/presentation/cli/commands/app/new.command.d.ts.map +1 -0
  12. package/dist/src/presentation/cli/commands/app/new.command.js +59 -0
  13. package/dist/src/presentation/cli/commands/app/resolve-application.d.ts +10 -0
  14. package/dist/src/presentation/cli/commands/app/resolve-application.d.ts.map +1 -0
  15. package/dist/src/presentation/cli/commands/app/resolve-application.js +33 -0
  16. package/dist/src/presentation/cli/commands/app/show.command.d.ts +11 -0
  17. package/dist/src/presentation/cli/commands/app/show.command.d.ts.map +1 -0
  18. package/dist/src/presentation/cli/commands/app/show.command.js +95 -0
  19. package/dist/src/presentation/cli/index.js +2 -0
  20. package/dist/translations/ar/cli.json +64 -0
  21. package/dist/translations/de/cli.json +64 -0
  22. package/dist/translations/en/cli.json +64 -0
  23. package/dist/translations/es/cli.json +64 -0
  24. package/dist/translations/fr/cli.json +64 -0
  25. package/dist/translations/he/cli.json +64 -0
  26. package/dist/translations/pt/cli.json +64 -0
  27. package/dist/translations/ru/cli.json +64 -0
  28. package/dist/translations/uk/cli.json +64 -0
  29. package/dist/tsconfig.build.tsbuildinfo +1 -1
  30. package/package.json +1 -1
  31. package/web/.next/BUILD_ID +1 -1
  32. package/web/.next/build-manifest.json +2 -2
  33. package/web/.next/fallback-build-manifest.json +2 -2
  34. package/web/.next/prerender-manifest.json +3 -3
  35. package/web/.next/required-server-files.js +3 -3
  36. package/web/.next/required-server-files.json +3 -3
  37. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
  38. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
  41. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  42. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  43. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
  44. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  45. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  46. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  47. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  48. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  49. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
  50. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  53. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  54. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  55. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  56. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  57. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  58. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
  59. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
  62. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  65. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  66. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
  68. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  69. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  70. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
  71. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  74. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  75. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  77. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  78. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  79. package/web/.next/server/app/_global-error.html +2 -2
  80. package/web/.next/server/app/_global-error.rsc +1 -1
  81. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  82. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  83. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  84. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  85. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  86. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  87. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  88. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +15 -15
  89. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  90. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  91. package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
  92. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
  94. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
  96. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  97. package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
  98. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  99. package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
  100. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  102. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  103. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  104. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  105. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +1 -1
  109. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +1 -1
  111. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +1 -1
  112. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -1
  113. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +2 -2
  114. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +1 -1
  115. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +1 -1
  116. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +1 -1
  117. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +1 -1
  119. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +1 -1
  120. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +1 -1
  121. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +1 -1
  123. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/[root-of-the-server]__e265da61._.js +1 -1
  125. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +1 -1
  126. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +1 -1
  127. package/web/.next/server/chunks/ssr/_0277d3b5._.js +1 -1
  128. package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/{_63fc4647._.js → _132baaae._.js} +2 -2
  130. package/web/.next/server/chunks/ssr/{_63fc4647._.js.map → _132baaae._.js.map} +1 -1
  131. package/web/.next/server/chunks/ssr/{_8caadb9a._.js → _54cfa69b._.js} +2 -2
  132. package/web/.next/server/chunks/ssr/{_8caadb9a._.js.map → _54cfa69b._.js.map} +1 -1
  133. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  134. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  135. package/web/.next/server/chunks/ssr/_946a7fc6._.js +1 -1
  136. package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/{_d44d091a._.js → _bd498475._.js} +2 -2
  138. package/web/.next/server/chunks/ssr/{_d44d091a._.js.map → _bd498475._.js.map} +1 -1
  139. package/web/.next/server/chunks/ssr/{_36489f2b._.js → _ccb9f4eb._.js} +2 -2
  140. package/web/.next/server/chunks/ssr/{_36489f2b._.js.map → _ccb9f4eb._.js.map} +1 -1
  141. package/web/.next/server/chunks/ssr/_ebc5354e._.js +3 -0
  142. package/web/.next/server/chunks/ssr/{_b8e8b690._.js.map → _ebc5354e._.js.map} +1 -1
  143. package/web/.next/server/chunks/ssr/_eff1b518._.js +1 -1
  144. package/web/.next/server/chunks/ssr/_eff1b518._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/_f227429a._.js +1 -1
  146. package/web/.next/server/chunks/ssr/_f227429a._.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
  148. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  150. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  151. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  153. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +1 -1
  154. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +1 -1
  156. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +1 -1
  158. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
  160. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +1 -1
  162. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +1 -1
  164. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +1 -1
  166. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +1 -1
  168. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
  170. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +3 -3
  172. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +1 -1
  173. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +1 -1
  174. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  175. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  176. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  177. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  179. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  180. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  181. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  183. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +1 -1
  184. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +1 -1
  186. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js.map +1 -1
  187. package/web/.next/server/pages/500.html +2 -2
  188. package/web/.next/server/server-reference-manifest.js +1 -1
  189. package/web/.next/server/server-reference-manifest.json +54 -54
  190. package/web/.next/static/chunks/{893a2a76546c66a7.js → 030032b3eedf81a5.js} +1 -1
  191. package/web/.next/static/chunks/{be89c20c257247ad.js → 163ba66a9a7daf8c.js} +1 -1
  192. package/web/.next/static/chunks/{f28aef9cf5107c4b.js → 32f138066712b193.js} +1 -1
  193. package/web/.next/static/chunks/{e7da54dde18e7fb2.js → 36325390008e5dec.js} +1 -1
  194. package/web/.next/static/chunks/{7849c6797be7c6ca.js → 4bb232241e5c47ab.js} +1 -1
  195. package/web/.next/static/chunks/{f6d47ff35d612852.js → 4d6cb7875c952cb6.js} +3 -3
  196. package/web/.next/static/chunks/5094b782167a2738.js +1 -0
  197. package/web/.next/static/chunks/{e2f9e224d1fa1faa.js → 58bdd21527ae5c20.js} +1 -1
  198. package/web/.next/static/chunks/{26e2ca76ab6c38b4.js → 661a250d3b44f3b8.js} +1 -1
  199. package/web/.next/static/chunks/8477a39119499815.js +1 -0
  200. package/web/.next/static/chunks/{8746807722de67a8.js → 9386b833903ead26.js} +1 -1
  201. package/web/.next/static/chunks/{7bc7028587490fff.js → b69e7c8128a49748.js} +1 -1
  202. package/web/.next/static/chunks/d6c5c813cd8b8314.js +1 -0
  203. package/web/.next/static/chunks/{c0bd3ffcf94d1845.js → daf74fecee2806a2.js} +1 -1
  204. package/web/.next/static/chunks/{a1098522326428d1.js → e204cfc41b1c9805.js} +1 -1
  205. package/web/.next/static/chunks/fee205149a35396c.js +1 -0
  206. package/web/.next/server/chunks/ssr/_b8e8b690._.js +0 -3
  207. package/web/.next/static/chunks/1bc12075020723ed.js +0 -1
  208. package/web/.next/static/chunks/1fa1574b87bd2eb1.js +0 -1
  209. package/web/.next/static/chunks/490667b2a9bb58e2.js +0 -1
  210. package/web/.next/static/chunks/dfdcccf73de56960.js +0 -1
  211. /package/web/.next/static/{GQFJf3UCD4D5C4NCn8eXl → bcx1aPG-0sRGDvC6TGG0_}/_buildManifest.js +0 -0
  212. /package/web/.next/static/{GQFJf3UCD4D5C4NCn8eXl → bcx1aPG-0sRGDvC6TGG0_}/_clientMiddlewareManifest.json +0 -0
  213. /package/web/.next/static/{GQFJf3UCD4D5C4NCn8eXl → bcx1aPG-0sRGDvC6TGG0_}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11495,72714,81803,60335,99348,45811,e=>{"use strict";let t;var n=e.i(20314),r=e.i(79054),a=e.i(48249),o=e.i(24042),l=e.i(6910),i=e.i(94237),s=e.i(31777),u=e.i(83428),d=e.i(51251),c=e.i(35364),f=e.i(8361);function m({label:e,onClick:t,loading:r,error:a,icon:o,iconOnly:l=!1,variant:i="outline",size:m="sm"}){let p=(0,f.useSoundAction)("click");return(0,n.jsxs)(c.Button,{variant:i,size:m,"aria-label":e,disabled:r,onClick:()=>{p.play(),t()},className:(0,s.cn)("gap-1.5",a&&"text-destructive hover:text-destructive",!a&&l&&"ghost"===i&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[r?(0,n.jsx)(u.Loader2,{className:"size-4 animate-spin"}):a?(0,n.jsx)(d.CircleAlert,{className:"size-4"}):(0,n.jsx)(o,{className:"size-4"}),l?null:e]})}e.s(["ActionButton",()=>m],72714),e.s([],81803);var p=e.i(30702),h=e.i(38573),g=e.i(17406),v=e.i(2828),w=e.i(2287),x=e.i(21023);let y=(0,x.createServerReference)("4037fd4ab66f2d1363d59e46e6ce8c528a8d4cc53a",x.callServer,void 0,x.findSourceMapURL,"getDeploymentLogs");function b({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}y(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(j,{open:e,onOpenChange:t,logs:o,isConnected:l})}function j({open:e,onOpenChange:t,logs:a,isConnected:o}){let l=(0,r.useRef)(null),i=(0,r.useRef)(!0),s=(0,r.useCallback)(()=>{let e=l.current;e&&(i.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{i.current&&l.current&&(l.current.scrollTop=l.current.scrollHeight)},[a]),(0,n.jsx)(w.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(w.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,n.jsxs)(w.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(h.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(w.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:l,onScroll:s,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(T,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function T({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let C="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function R({status:e,url:t,targetId:a}){let[o,l]=(0,r.useState)(!1),i=a&&(e===g.DeploymentState.Booting||e===g.DeploymentState.Ready);switch(e){case g.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(u.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(b,{open:o,onOpenChange:l,targetId:a}):null]});case g.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(p.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(b,{open:o,onOpenChange:l,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>R],60335),e.s([],99348);var E=e.i(567);let D=r.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),N=()=>{let e=r.default.useContext(D);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function k(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function S(){return $(/^iPhone/)||$(/^iPad/)||$(/^Mac/)&&navigator.maxTouchPoints>1}function $(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let P="u">typeof window?r.useLayoutEffect:r.useEffect;function z(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let M="u">typeof document&&window.visualViewport;function O(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function B(e){for(O(e)&&(e=e.parentElement);e&&!O(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let L=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),F=0;function H(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function A(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=B(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function W(e){return e instanceof HTMLInputElement&&!L.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function I(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let q=new WeakMap;function Y(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||q.set(e,r)}let X=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function U(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[X(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[X(t)?5:4]):null}function V(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let K=[.32,.72,0,1],J="vaul-dragging";function _(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function G({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=_(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,s=_(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&s(n)}else o(t)},[l,e,o,s])]}let Q=()=>()=>{},Z=null;function ee({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:s=!1,setBackgroundColorOnScale:u=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:m=!1,fadeFromIndex:p=i&&i.length-1,activeSnapPoint:h,setActiveSnapPoint:g,fixed:v,modal:w=!0,onClose:x,nested:y,noBodyStyles:b=!1,direction:j="bottom",defaultOpen:T=!1,disablePreventScroll:C=!0,snapToSequentialPoint:R=!1,preventScrollRestoration:N=!1,repositionInputs:$=!0,onAnimationEnd:O,container:L,autoFocus:I=!1}){var V,_;let[Q=!1,ee]=G({defaultProp:T,prop:e,onChange:e=>{null==n||n(e),e||y||e$(),setTimeout(()=>{null==O||O(e)},500),e&&!w&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=r.default.useState(!1),[er,ea]=r.default.useState(!1),[eo,el]=r.default.useState(!1),ei=r.default.useRef(null),es=r.default.useRef(null),eu=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),em=r.default.useRef(null),ep=r.default.useRef(0),eh=r.default.useRef(!1),eg=r.default.useRef(!T),ev=r.default.useRef(0),ew=r.default.useRef(null),ex=r.default.useRef((null==(V=ew.current)?void 0:V.getBoundingClientRect().height)||0),ey=r.default.useRef((null==(_=ew.current)?void 0:_.getBoundingClientRect().width)||0),eb=r.default.useRef(0),ej=r.default.useCallback(e=>{i&&e===eD.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:eR,onRelease:eE,snapPointsOffset:eD,onDrag:eN,shouldFade:ek,getPercentageDragged:eS}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:s="bottom",container:u,snapToSequentialPoint:d}){let[c,f]=G({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[m,p]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){p({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let h=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),g=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=u?{width:u.getBoundingClientRect().width,height:u.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),X(s)){let a=n?r:m?e*t.height:0;return m?"bottom"===s?t.height-a:-t.height+a:a}let a=n?r:m?e*t.width:0;return m?"right"===s?t.width-a:-t.width+a:a}))?e:[]},[n,m,u]),x=r.default.useMemo(()=>null!==g?null==w?void 0:w[g]:null,[w,g]),y=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),Y(a.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(s)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"0"}):Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&y(w[r])}},[c,e,n,w,y]),{isLastSnapPoint:h,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof g||!w||void 0===l)return null;let r=g===l-1;if(g>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?g+1:g-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:g,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===s||"right"===s?(null!=x?x:0)-e:(null!=x?x:0)+e,u=g===l-1,c=0===g,f=e>0;if(u&&Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`}),!d&&r>2&&!f)return void(a?t():y(w[0]));if(!d&&r>2&&f&&w&&n)return void y(w[n.length-1]);let m=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),p=X(s)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*p){let e=f?1:-1;return e>0&&h&&n?void y(w[n.length-1]):void(c&&e<0&&a&&t(),null===g||y(w[g+e]))}y(m)},onDrag:function({draggedDistance:e}){if(null===x)return;let t="bottom"===s||"right"===s?x-e:x+e;("bottom"===s||"right"===s)&&t<w[w.length-1]||("top"===s||"left"===s)&&t>w[w.length-1]||Y(a.current,{transform:X(s)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:h,setActiveSnapPointProp:g,drawerRef:ew,fadeFromIndex:p,overlayRef:ei,onSnapPointChange:ej,direction:j,container:L,snapToSequentialPoint:R});!function(e={}){let{isDisabled:n}=e;P(()=>{if(!n){var e,r,a;let n,o,l,i,s,u,d;return 1==++F&&S()&&(l=0,i=window.pageXOffset,s=window.pageYOffset,u=z((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=z(H(document,"touchstart",e=>{((o=B(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),H(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),H(document,"touchend",e=>{let t=e.target;W(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),H(document,"focus",e=>{let t=e.target;W(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",M&&(M.height<window.innerHeight?requestAnimationFrame(()=>{A(t)}):M.addEventListener("resize",()=>A(t),{once:!0}))}))},!0),H(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{u(),d(),window.scrollTo(i,s)}),()=>{0==--F&&(null==t||t())}}},[n])}({isDisabled:!Q||er||!w||eo||!et||!$||!C});let{restorePositionSetting:e$}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,s]=r.default.useState(()=>"u">typeof window?window.location.href:""),u=r.default.useRef(0),d=r.default.useCallback(()=>{if(k()&&null===Z&&e&&!l){Z={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-u.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&u.current>=t&&(document.body.style.top=`${-(u.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(k()&&null!==Z&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Z),window.requestAnimationFrame(()=>{o&&i!==window.location.href?s(window.location.href):window.scrollTo(t,e)}),Z=null}},[i]);return r.default.useEffect(()=>{function e(){u.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:Q,modal:w,nested:null!=y&&y,hasBeenOpened:et,preventScrollRestoration:N,noBodyStyles:b});function eP(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?U(ew.current,j):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===j||"left"===j)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===j?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<c&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eM(e){er&&ew.current&&(ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date),null==x||x(),e||ee(!1),setTimeout(()=>{i&&eR(i[0])},500)}function eO(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=U(ew.current,j);Y(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${K.join(",")})`}),Y(ei.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),s&&t&&t>0&&Q&&Y(e,{borderRadius:"8px",overflow:"hidden",...X(j)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{eg.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&$&&(W(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;eb.current||(eb.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eD&&eC&&(r+=eD[eC]||0),ev.current=r,a>t||eh.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),v?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ew.current.style.height=`${eb.current}px`)}i&&i.length>0&&!eh.current?ew.current.style.bottom="0px":ew.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eC,i,eD]),r.default.useEffect(()=>(Q&&(Y(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=q.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Q]),r.default.useEffect(()=>{w||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[w]),r.default.createElement(E.Root,{defaultOpen:T,onOpenChange:e=>{(f||e)&&(e?en(!0):eM(!0),ee(e))},open:Q},r.default.createElement(D.Provider,{value:{activeSnapPoint:eT,snapPoints:i,setActiveSnapPoint:eR,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ew.current||ew.current.contains(e.target))&&(ex.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,ey.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),eu.current=new Date,S()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),ep.current=X(j)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date;let r=U(ew.current,j);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===eu.current)return;let a=ed.current.getTime()-eu.current.getTime(),o=ep.current-(X(j)?e.pageY:e.pageX),s=Math.abs(o)/a;if(s>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eE({draggedDistance:o*("bottom"===j||"right"===j?1:-1),closeDrawer:eM,velocity:s,dismissible:f}),null==l||l(e,!0);return}if("bottom"===j||"right"===j?o>0:o<0){eO(),null==l||l(e,!0);return}if(s>.4){eM(),null==l||l(e,!1);return}let u=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===j||"right"===j?c:u)*d){eM(),null==l||l(e,!1);return}null==l||l(e,!0),eO()},onDrag:function(e){if(ew.current&&er){let t="bottom"===j||"right"===j?1:-1,n=(ep.current-(X(j)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eC)return;let l=Math.abs(n),u=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===j||"top"===j?ex.current:ey.current),c=eS(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!ez(e.target,r))return;if(ew.current.classList.add(J),ef.current=!0,Y(ew.current,{transition:"none"}),Y(ei.current,{transition:"none"}),i&&eN({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let m=1-d;if((ek||p&&eC===p-1)&&(null==o||o(e,d),Y(ei.current,{opacity:`${m}`,transition:"none"},!0)),u&&ei.current&&s){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);Y(u,{borderRadius:`${t}px`,transform:X(j)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eg,handleOnly:m,isOpen:Q,isDragging:er,shouldFade:ek,closeDrawer:eM,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;Y(ew.current,{transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(em.current=setTimeout(()=>{let e=U(ew.current,j);Y(ew.current,{transition:"none",transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=X(j)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:w,snapPointsOffset:eD,activeSnapPointIndex:eC,direction:j,shouldScaleBackground:s,setBackgroundColorOnScale:u,noBodyStyles:b,container:L,autoFocus:I}},a))}let et=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:s,shouldAnimate:u}=N(),d=I(t,n),c=a&&a.length>0;if(!s)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(E.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==u?void 0:u.current)?"true":"false",...e})});et.displayName="Drawer.Overlay";let en=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:s,onDrag:u,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:m,isOpen:p,direction:h,snapPoints:g,container:v,handleOnly:w,shouldAnimate:x,autoFocus:y}=N(),[b,j]=r.default.useState(!1),T=I(o,l),C=r.default.useRef(null),R=r.default.useRef(null),D=r.default.useRef(!1),k=g&&g.length>0;function S(e){C.current=null,D.current=!1,s(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=N(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function s(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?V(document.body,{background:"black"}):Q,V(t,{transformOrigin:X(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`}));let n=V(t,{borderRadius:"8px",overflow:"hidden",...X(e)?{transform:`scale(${s()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${s()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{j(!0)})},[]),r.default.createElement(E.Content,{"data-vaul-drawer-direction":h,"data-vaul-drawer":"","data-vaul-delayed-snap-points":b?"true":"false","data-vaul-snap-points":p&&k?"true":"false","data-vaul-custom-container":v?"true":"false","data-vaul-animate":(null==x?void 0:x.current)?"true":"false",...a,ref:T,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{w||(null==a.onPointerDown||a.onPointerDown.call(a,e),C.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),y||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!m||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!m)return void e.preventDefault()},onPointerMove:e=>{if(R.current=e,w||(null==a.onPointerMove||a.onPointerMove.call(a,e),!C.current))return;let t=e.pageY-C.current.y,n=e.pageX-C.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(D.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return D.current=!0,!0})({x:n,y:t},h,r)?u(e):(Math.abs(n)>r||Math.abs(t)>r)&&(C.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),C.current=null,D.current=!1,s(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),S(R.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),R.current&&S(R.current)}})});en.displayName="Drawer.Content";let er=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:s,setActiveSnapPoint:u,dismissible:d,handleOnly:c,isOpen:f,onPress:m,onDrag:p}=N(),h=r.default.useRef(null),g=r.default.useRef(!1);function v(){h.current&&window.clearTimeout(h.current),g.current=!1}return r.default.createElement("div",{onClick:function(){g.current?v():window.setTimeout(()=>{!function(){if(l||e||g.current)return v();if(v(),!i||0===i.length){d||o();return}if(s===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===s);-1===t||u(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&m(e),h.current=window.setTimeout(()=>{g.current=!0},250)},onPointerMove:e=>{c&&p(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});er.displayName="Drawer.Handle";let ea={Root:ee,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=N();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(ee,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:en,Overlay:et,Trigger:E.Trigger,Portal:function(e){let t=N(),{container:n=t.container,...a}=e;return r.default.createElement(E.Portal,{container:n,...a})},Handle:er,Close:E.Close,Title:E.Title,Description:E.Description};function eo({...e}){return(0,n.jsx)(ea.Root,{"data-slot":"drawer",...e})}function el({...e}){return(0,n.jsx)(ea.Portal,{"data-slot":"drawer-portal",...e})}function ei({className:e,...t}){return(0,n.jsx)(ea.Overlay,{"data-slot":"drawer-overlay",className:(0,s.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function es({className:e,children:t,direction:r="bottom",showCloseButton:o=!0,...l}){return(0,n.jsx)(el,{children:(0,n.jsxs)(ea.Content,{"data-slot":"drawer-content",className:(0,s.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...l.style??{}},...l,children:[t,o?(0,n.jsxs)(ea.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function eu({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...t})}function ed({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,s.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function ec({className:e,...t}){return(0,n.jsx)(ea.Title,{"data-slot":"drawer-title",className:(0,s.cn)("text-foreground font-semibold",e),...t})}function ef({className:e,...t}){return(0,n.jsx)(ea.Description,{"data-slot":"drawer-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>eo,"DrawerContent",()=>es,"DrawerDescription",()=>ef,"DrawerFooter",()=>ed,"DrawerHeader",()=>eu,"DrawerOverlay",()=>ei,"DrawerTitle",()=>ec],45811);var em=e.i(25235);e.i(41001);var ep=e.i(64780),eh=e.i(8537),eg=e.i(75921);let ev=(0,i.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function ew({open:e,onClose:t,modal:o=!1,dismissOnOutsideClick:l=!1,title:i="Drawer",size:u,header:d,children:c,footer:f,className:m,"data-testid":p,deployTarget:h}){let{i18n:g}=(0,ep.useTranslation)(),v=(0,eg.useFeatureFlags)(),w=(0,r.useRef)(null),x="rtl"===g.dir()?"left":"right";return(0,r.useEffect)(()=>{if(!e||o)return;let n=e=>{let n=e.target;!document.body.contains(n)||w.current?.contains(n)||n.closest(l?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||t()};return document.addEventListener("click",n),()=>document.removeEventListener("click",n)},[e,o,t,l]),(0,n.jsxs)(eo,{direction:x,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||t()},children:[o?(0,n.jsx)(ei,{}):null,(0,n.jsxs)(es,{ref:w,direction:x,showCloseButton:!1,className:(0,s.cn)(ev({size:u}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",m),"data-testid":p,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,n.jsx)(ec,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsx)(ef,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsxs)("button",{type:"button","aria-label":"Close",onClick:t,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":p?`${p}-close-button`:void 0,children:[(0,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}),d?(0,n.jsx)(eu,{className:"shrink-0",children:d}):null,d?(0,n.jsx)(em.Separator,{}):null,v.envDeploy&&h?(0,n.jsx)(ex,{deployTarget:h}):null,(0,n.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:c}),f?(0,n.jsx)(ed,{className:"shrink-0",children:f}):null]})]})}function ex({deployTarget:e}){let t=(0,eh.useDeployAction)(e),r="Booting"===t.status||"Ready"===t.status;return(0,n.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,n.jsx)(v.TooltipProvider,{children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(m,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?t.stop:t.deploy,loading:t.deployLoading||t.stopLoading,error:!!t.deployError,icon:r?l.Square:o.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,n.jsx)(v.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,n.jsx)(R,{status:t.status,url:t.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>ew],11495)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},24042,e=>{"use strict";let t=(0,e.i(3645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],24042)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},73504,81605,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(21023);let l=(0,a.createServerReference)("4030ef5a3a4d6e2e7af75e1357fffe24c048784353",a.callServer,void 0,a.findSourceMapURL,"deployFeature"),r=(0,a.createServerReference)("40a687f04a4705f667c3127d60c33855948ddf6203",a.callServer,void 0,a.findSourceMapURL,"deployRepository"),n=(0,a.createServerReference)("403a778155eca3d66caced3ec53525cda3391dc67d",a.callServer,void 0,a.findSourceMapURL,"deployApplication"),i=(0,a.createServerReference)("402a9c7b1cbacbd4f6ae2adc15150a5e9fa6689da6",a.callServer,void 0,a.findSourceMapURL,"stopDeployment"),d=(0,a.createServerReference)("408784dcdf29dcba457fa87bdb1d61da77cd0be033",a.callServer,void 0,a.findSourceMapURL,"getDeploymentStatus");var o=e.i(18354);let c={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class u{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let s of e)t.add(s.targetId),this.update(s.targetId,{status:s.state,url:s.url,targetType:s.targetType,hydrated:!0});for(let[e,s]of this.entries)!t.has(e)&&s.hydrated&&null!==s.status?this.update(e,{status:null,url:null}):t.has(e)||s.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??c}update(e,t){let s={...this.entries.get(e)??c,...t};this.entries.set(e,s),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let s=this.listeners.get(e);return s||(s=new Set,this.listeners.set(e,s)),s.add(t),()=>{s?.delete(t),s?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>u,"EMPTY_ENTRY",0,c],81605);let m=(0,o.createLogger)("[DeploymentStatusProvider]"),x=new Set(["Booting","Ready"]),p=(0,s.createContext)(null);function f({initialDeployments:e,children:a}){let o=(0,s.useRef)(null);o.current||(o.current=new u,o.current.hydrate(e));let c=o.current;(0,s.useEffect)(()=>{c.hydrate(e)},[e,c]);let f=(0,s.useRef)(new Map),h=(0,s.useCallback)(e=>{let t=f.current.get(e);t&&(clearInterval(t),f.current.delete(e))},[]),g=(0,s.useCallback)(e=>{if(f.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await d(e)}catch(t){m.warn(`poll failed for "${e}"`,t),c.setStatus(e,null),h(e);return}if(!t||"Stopped"===t.state){c.setStatus(e,null),h(e);return}c.setStatus(e,t)},3e3);f.current.set(e,t)},[c,h]);(0,s.useEffect)(()=>{let e=f.current,t=c.subscribeAll(()=>{for(let[t]of e){let e=c.getEntry(t);e.status&&x.has(e.status)||h(t)}});return()=>{for(let[,s]of(t(),e))clearInterval(s);e.clear()}},[c,h]);let j=(0,s.useCallback)(e=>{!e||c.getEntry(e).hydrated||(c.update(e,{hydrated:!0}),(async()=>{try{let t=await d(e);c.setStatus(e,t),t&&x.has(t.state)&&g(e)}catch(t){m.warn(`ensureHydrated failed for "${e}"`,t)}})())},[c,g]),y=(0,s.useCallback)(async e=>{c.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await n(e.targetId):await r(e.repositoryPath);if(!t.success)return void c.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});c.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),g(e.targetId)}catch(s){let t=s instanceof Error?s.message:"An unexpected error occurred";c.update(e.targetId,{deployLoading:!1,deployError:t})}},[c,g]),v=(0,s.useCallback)(async e=>{if(e){c.update(e,{stopLoading:!0});try{(await i(e)).success?(h(e),c.update(e,{stopLoading:!1,status:null,url:null})):c.update(e,{stopLoading:!1})}catch(t){m.warn("stop error (non-critical)",t),c.update(e,{stopLoading:!1})}}},[c,h]),N=(0,s.useMemo)(()=>({store:c,deploy:y,stop:v,ensureHydrated:j}),[c,y,v,j]);return(0,t.jsx)(p.Provider,{value:N,children:a})}function h(){let e=(0,s.useContext)(p);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function g(){let e=(0,s.useContext)(p);return e||j}let j={store:new u,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>f,"useDeploymentStatusContext",()=>h,"useDeploymentStatusContextOptional",()=>g],73504)},8537,e=>{"use strict";var t=e.i(79054),s=e.i(73504);function a(){}function l(e){let{store:l,deploy:r,stop:n,ensureHydrated:i}=(0,s.useDeploymentStatusContextOptional)(),d=e?.targetId??"",o=(0,t.useCallback)(e=>d?l.subscribe(d,e):a,[l,d]),c=(0,t.useCallback)(()=>d?l.getEntry(d):l.getEntry(""),[l,d]),u=(0,t.useSyncExternalStore)(o,c,c);return(0,t.useEffect)(()=>{d&&i(d)},[d,i]),{deploy:(0,t.useCallback)(async()=>{e&&await r(e)},[r,e]),stop:(0,t.useCallback)(async()=>{d&&await n(d)},[n,d]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>l])},1650,e=>{"use strict";e.i(11495),e.s([])},956,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(31777);let l=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...s}));l.displayName="Card";let r=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...s}));r.displayName="CardHeader";let n=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("leading-none font-semibold tracking-tight",e),...s}));n.displayName="CardTitle";let i=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("text-muted-foreground text-sm",e),...s}));i.displayName="CardDescription";let d=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("p-6 pt-0",e),...s}));d.displayName="CardContent",s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",()=>l,"CardContent",()=>d,"CardDescription",()=>i,"CardHeader",()=>r,"CardTitle",()=>n])},54793,7729,e=>{"use strict";var t=e.i(20314),s=e.i(31777);function a({icon:e,title:a,description:l,action:r,className:n,...i}){return(0,t.jsxs)("div",{className:(0,s.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...i,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,r?(0,t.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>a],7729),e.s([],54793)},9443,85871,e=>{"use strict";var t=e.i(20314),s=e.i(31777);function a({title:e,description:a,children:l,className:r}){return(0,t.jsxs)("header",{className:(0,s.cn)("flex items-center justify-between gap-4",r),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),a?(0,t.jsx)("p",{className:"text-muted-foreground",children:a}):null]}),l?(0,t.jsx)("div",{"data-slot":"actions",children:l}):null]})}e.s(["PageHeader",()=>a],85871),e.s([],9443)},38752,e=>{"use strict";var t=e.i(20314);e.i(1650);var s=e.i(11495),a=e.i(45811),l=e.i(81846),r=e.i(25235),n=e.i(19933);function i({skill:e,onClose:i}){return(0,t.jsx)(s.BaseDrawer,{open:null!==e,onClose:i,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.DrawerTitle,{children:e.displayName}),(0,t.jsx)(a.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(l.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(l.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(l.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(n.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>i])},16919,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(66459),l=e.i(12103),r=e.i(98127),n=e.i(35364);e.i(9443);var i=e.i(85871);e.i(54793);var d=e.i(7729),o=e.i(956),c=e.i(81846),u=e.i(19933);function m({skill:e,onSelect:s}){return(0,t.jsxs)(o.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>s(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),s(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(o.CardHeader,{className:"pb-3",children:[(0,t.jsx)(o.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(o.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let x=["Workflow","Code Generation","Analysis","Reference"];function p({skills:e,onSkillSelect:s}){let a=function(e){let t=new Map;for(let s of e){let e=t.get(s.category)??[];e.push(s),t.set(s.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:x.map(e=>{let l=a.get(e);return l&&0!==l.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",l.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:l.map(e=>(0,t.jsx)(m,{skill:e,onSelect:s},e.name))})]},e):null})})}let f=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function h({activeCategory:e,onCategoryChange:s,counts:a}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:f.map(({label:l,value:r})=>(0,t.jsxs)(n.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>s(r),children:[l,a&&r?(0,t.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",a[r],")"]}):null]},l))})}var g=e.i(38752),j=e.i(25235),y=e.i(31406),v=e.i(3214),N=e.i(60253),k=e.i(60112),b=e.i(21023);let S=(0,b.createServerReference)("401fdd7f63c064d184819ef5a976c11d4e6de36e2b",b.callServer,void 0,b.findSourceMapURL,"removeInjectedSkill");var C=e.i(2287),w=e.i(41957),R=e.i(68304);let L=(0,b.createServerReference)("40a042416bf5ac310bf4a5f0ccf8a28eaba63e7fe0",b.callServer,void 0,b.findSourceMapURL,"addInjectedSkill");function T({open:e,onOpenChange:a,onAdded:l,discoveredSkills:i,existingSkillNames:d}){let[o,c]=(0,s.useState)(!1),[u,m]=(0,s.useState)(""),[x,p]=(0,s.useState)(""),[f,h]=(0,s.useState)(""),g=i.filter(e=>!d.includes(e.name)),j=async e=>{c(!0);let t=await L({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),t.success)?(k.toast.success(`Added "${e.name}" to feature skills`),l()):k.toast.error(t.error??"Failed to add skill")},y=async()=>{if(!u.trim()||!x.trim())return void k.toast.error("Name and source are required");c(!0);let e=await L({name:u.trim(),type:"remote",source:x.trim(),...f.trim()&&{remoteSkillName:f.trim()}});(c(!1),e.success)?(k.toast.success(`Added "${u.trim()}" to feature skills`),m(""),p(""),h(""),l()):k.toast.error(e.error??"Failed to add skill")};return(0,t.jsx)(C.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(C.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Add Skill to Features"})}),(0,t.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,t.jsxs)(R.TabsList,{className:"w-full",children:[(0,t.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,t.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,t.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===g.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,t.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:g.map(e=>(0,t.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>j(e),disabled:o,"data-testid":`add-local-skill-${e.name}`,children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,t.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-name",children:"Name"}),(0,t.jsx)(r.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:u,onChange:e=>m(e.target.value),"data-testid":"remote-skill-name"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,t.jsx)(r.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:x,onChange:e=>p(e.target.value),"data-testid":"remote-skill-source"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,t.jsx)(r.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:f,onChange:e=>h(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,t.jsx)(C.DialogFooter,{children:(0,t.jsx)(n.Button,{onClick:y,disabled:o||!u.trim()||!x.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function D({config:e,discoveredSkills:a}){let l=(0,y.useRouter)(),[r,i]=(0,s.useState)(!1),[d,o]=(0,s.useState)(null),c=(0,s.useMemo)(()=>{let e=new Map;for(let t of a)e.set(t.name,t.description);return e},[a]),u=async e=>{o(e);let t=await S(e);(o(null),t.success)?(k.toast.success(`Removed "${e}" from feature skills`),l.refresh()):k.toast.error(t.error??"Failed to remove skill")};return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,t.jsx)(A,{skill:e,description:c.get(e.name),onRemove:()=>u(e.name),isRemoving:d===e.name},e.name))}):(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,t.jsx)("div",{children:(0,t.jsxs)(n.Button,{variant:"outline",size:"sm",onClick:()=>i(!0),"data-testid":"add-injected-skill-button",children:[(0,t.jsx)(v.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,t.jsx)(T,{open:r,onOpenChange:i,onAdded:()=>{i(!1),l.refresh()},discoveredSkills:a,existingSkillNames:e.skills.map(e=>e.name)})]})}function A({skill:e,description:s,onRemove:a,isRemoving:l}){return(0,t.jsxs)(o.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,t.jsxs)(o.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,t.jsx)("div",{className:"min-w-0",children:(0,t.jsx)(o.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,t.jsx)(n.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:a,disabled:l,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,t.jsx)(N.X,{className:"size-4"})})]}),(0,t.jsxs)(o.CardContent,{className:"space-y-2 pt-0",children:[s?(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:s}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,t.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function E({skills:e,injectionConfig:o}){let[c,u]=(0,s.useState)(""),[m,x]=(0,s.useState)(null),[f,y]=(0,s.useState)(null),v=(0,s.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let s of e)t[s.category]++;return t})(e),[e]),N=(0,s.useMemo)(()=>{let t=c.toLowerCase();return e.filter(e=>{if(m&&e.category!==m)return!1;if(t){let s=e.name.toLowerCase().includes(t),a=e.description.toLowerCase().includes(t);if(!s&&!a)return!1}return!0})},[e,c,m]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(D,{config:o,discoveredSkills:e}),(0,t.jsx)(j.Separator,{}),(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(l.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(D,{config:o,discoveredSkills:e}),(0,t.jsx)(j.Separator,{}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(a.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(r.Input,{placeholder:"Search skills...",value:c,onChange:e=>u(e.target.value),className:"ps-9"})]}),(0,t.jsx)(h,{activeCategory:m,onCategoryChange:x,counts:v}),N.length>0?(0,t.jsx)(p,{skills:N,onSkillSelect:y}):(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(a.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>{u(""),x(null)},children:"Clear filters"})}),(0,t.jsx)(g.SkillDetailDrawer,{skill:f,onClose:()=>y(null)})]})}e.s(["SkillsPageClient",()=>E],16919)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},24042,e=>{"use strict";let t=(0,e.i(3645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],24042)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},73504,81605,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(21023);let l=(0,a.createServerReference)("409c558f9d05382fa1a2320b3a9c908c9fc73cf721",a.callServer,void 0,a.findSourceMapURL,"deployFeature"),r=(0,a.createServerReference)("40a71fe4b496b6477aea7ffe65ee3261b46800ebc5",a.callServer,void 0,a.findSourceMapURL,"deployRepository"),n=(0,a.createServerReference)("4028cb9ab877ba84a6ed9e8f48ae7d4ed7987f6669",a.callServer,void 0,a.findSourceMapURL,"deployApplication"),i=(0,a.createServerReference)("409b0d15caa26333dd182a4e9794c36f37de35f25a",a.callServer,void 0,a.findSourceMapURL,"stopDeployment"),o=(0,a.createServerReference)("40141c111d8aaf3ab9a94cf606dd358970b0b1a56d",a.callServer,void 0,a.findSourceMapURL,"getDeploymentStatus");var d=e.i(18354);let c={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class u{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let s of e)t.add(s.targetId),this.update(s.targetId,{status:s.state,url:s.url,targetType:s.targetType,hydrated:!0});for(let[e,s]of this.entries)!t.has(e)&&s.hydrated&&null!==s.status?this.update(e,{status:null,url:null}):t.has(e)||s.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??c}update(e,t){let s={...this.entries.get(e)??c,...t};this.entries.set(e,s),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let s=this.listeners.get(e);return s||(s=new Set,this.listeners.set(e,s)),s.add(t),()=>{s?.delete(t),s?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>u,"EMPTY_ENTRY",0,c],81605);let m=(0,d.createLogger)("[DeploymentStatusProvider]"),x=new Set(["Booting","Ready"]),p=(0,s.createContext)(null);function f({initialDeployments:e,children:a}){let d=(0,s.useRef)(null);d.current||(d.current=new u,d.current.hydrate(e));let c=d.current;(0,s.useEffect)(()=>{c.hydrate(e)},[e,c]);let f=(0,s.useRef)(new Map),h=(0,s.useCallback)(e=>{let t=f.current.get(e);t&&(clearInterval(t),f.current.delete(e))},[]),g=(0,s.useCallback)(e=>{if(f.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await o(e)}catch(t){m.warn(`poll failed for "${e}"`,t),c.setStatus(e,null),h(e);return}if(!t||"Stopped"===t.state){c.setStatus(e,null),h(e);return}c.setStatus(e,t)},3e3);f.current.set(e,t)},[c,h]);(0,s.useEffect)(()=>{let e=f.current,t=c.subscribeAll(()=>{for(let[t]of e){let e=c.getEntry(t);e.status&&x.has(e.status)||h(t)}});return()=>{for(let[,s]of(t(),e))clearInterval(s);e.clear()}},[c,h]);let j=(0,s.useCallback)(e=>{!e||c.getEntry(e).hydrated||(c.update(e,{hydrated:!0}),(async()=>{try{let t=await o(e);c.setStatus(e,t),t&&x.has(t.state)&&g(e)}catch(t){m.warn(`ensureHydrated failed for "${e}"`,t)}})())},[c,g]),y=(0,s.useCallback)(async e=>{c.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await n(e.targetId):await r(e.repositoryPath);if(!t.success)return void c.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});c.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),g(e.targetId)}catch(s){let t=s instanceof Error?s.message:"An unexpected error occurred";c.update(e.targetId,{deployLoading:!1,deployError:t})}},[c,g]),v=(0,s.useCallback)(async e=>{if(e){c.update(e,{stopLoading:!0});try{(await i(e)).success?(h(e),c.update(e,{stopLoading:!1,status:null,url:null})):c.update(e,{stopLoading:!1})}catch(t){m.warn("stop error (non-critical)",t),c.update(e,{stopLoading:!1})}}},[c,h]),N=(0,s.useMemo)(()=>({store:c,deploy:y,stop:v,ensureHydrated:j}),[c,y,v,j]);return(0,t.jsx)(p.Provider,{value:N,children:a})}function h(){let e=(0,s.useContext)(p);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function g(){let e=(0,s.useContext)(p);return e||j}let j={store:new u,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>f,"useDeploymentStatusContext",()=>h,"useDeploymentStatusContextOptional",()=>g],73504)},8537,e=>{"use strict";var t=e.i(79054),s=e.i(73504);function a(){}function l(e){let{store:l,deploy:r,stop:n,ensureHydrated:i}=(0,s.useDeploymentStatusContextOptional)(),o=e?.targetId??"",d=(0,t.useCallback)(e=>o?l.subscribe(o,e):a,[l,o]),c=(0,t.useCallback)(()=>o?l.getEntry(o):l.getEntry(""),[l,o]),u=(0,t.useSyncExternalStore)(d,c,c);return(0,t.useEffect)(()=>{o&&i(o)},[o,i]),{deploy:(0,t.useCallback)(async()=>{e&&await r(e)},[r,e]),stop:(0,t.useCallback)(async()=>{o&&await n(o)},[n,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>l])},1650,e=>{"use strict";e.i(11495),e.s([])},956,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(31777);let l=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...s}));l.displayName="Card";let r=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...s}));r.displayName="CardHeader";let n=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("leading-none font-semibold tracking-tight",e),...s}));n.displayName="CardTitle";let i=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("text-muted-foreground text-sm",e),...s}));i.displayName="CardDescription";let o=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("p-6 pt-0",e),...s}));o.displayName="CardContent",s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",()=>l,"CardContent",()=>o,"CardDescription",()=>i,"CardHeader",()=>r,"CardTitle",()=>n])},54793,7729,e=>{"use strict";var t=e.i(20314),s=e.i(31777);function a({icon:e,title:a,description:l,action:r,className:n,...i}){return(0,t.jsxs)("div",{className:(0,s.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...i,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,r?(0,t.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>a],7729),e.s([],54793)},9443,85871,e=>{"use strict";var t=e.i(20314),s=e.i(31777);function a({title:e,description:a,children:l,className:r}){return(0,t.jsxs)("header",{className:(0,s.cn)("flex items-center justify-between gap-4",r),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),a?(0,t.jsx)("p",{className:"text-muted-foreground",children:a}):null]}),l?(0,t.jsx)("div",{"data-slot":"actions",children:l}):null]})}e.s(["PageHeader",()=>a],85871),e.s([],9443)},38752,e=>{"use strict";var t=e.i(20314);e.i(1650);var s=e.i(11495),a=e.i(45811),l=e.i(81846),r=e.i(25235),n=e.i(19933);function i({skill:e,onClose:i}){return(0,t.jsx)(s.BaseDrawer,{open:null!==e,onClose:i,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.DrawerTitle,{children:e.displayName}),(0,t.jsx)(a.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(l.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(l.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(l.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(n.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>i])},16919,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(66459),l=e.i(12103),r=e.i(98127),n=e.i(35364);e.i(9443);var i=e.i(85871);e.i(54793);var o=e.i(7729),d=e.i(956),c=e.i(81846),u=e.i(19933);function m({skill:e,onSelect:s}){return(0,t.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>s(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),s(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,t.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let x=["Workflow","Code Generation","Analysis","Reference"];function p({skills:e,onSkillSelect:s}){let a=function(e){let t=new Map;for(let s of e){let e=t.get(s.category)??[];e.push(s),t.set(s.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:x.map(e=>{let l=a.get(e);return l&&0!==l.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",l.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:l.map(e=>(0,t.jsx)(m,{skill:e,onSelect:s},e.name))})]},e):null})})}let f=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function h({activeCategory:e,onCategoryChange:s,counts:a}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:f.map(({label:l,value:r})=>(0,t.jsxs)(n.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>s(r),children:[l,a&&r?(0,t.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",a[r],")"]}):null]},l))})}var g=e.i(38752),j=e.i(25235),y=e.i(31406),v=e.i(3214),N=e.i(60253),b=e.i(60112),k=e.i(21023);let S=(0,k.createServerReference)("40ec17c06899579b9abfd2e03d7cfce6754bada733",k.callServer,void 0,k.findSourceMapURL,"removeInjectedSkill");var C=e.i(2287),w=e.i(41957),R=e.i(68304);let L=(0,k.createServerReference)("40630f6ab3cf26a26bd7efd59d2813de84b2e02e95",k.callServer,void 0,k.findSourceMapURL,"addInjectedSkill");function T({open:e,onOpenChange:a,onAdded:l,discoveredSkills:i,existingSkillNames:o}){let[d,c]=(0,s.useState)(!1),[u,m]=(0,s.useState)(""),[x,p]=(0,s.useState)(""),[f,h]=(0,s.useState)(""),g=i.filter(e=>!o.includes(e.name)),j=async e=>{c(!0);let t=await L({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),t.success)?(b.toast.success(`Added "${e.name}" to feature skills`),l()):b.toast.error(t.error??"Failed to add skill")},y=async()=>{if(!u.trim()||!x.trim())return void b.toast.error("Name and source are required");c(!0);let e=await L({name:u.trim(),type:"remote",source:x.trim(),...f.trim()&&{remoteSkillName:f.trim()}});(c(!1),e.success)?(b.toast.success(`Added "${u.trim()}" to feature skills`),m(""),p(""),h(""),l()):b.toast.error(e.error??"Failed to add skill")};return(0,t.jsx)(C.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(C.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Add Skill to Features"})}),(0,t.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,t.jsxs)(R.TabsList,{className:"w-full",children:[(0,t.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,t.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,t.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===g.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,t.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:g.map(e=>(0,t.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>j(e),disabled:d,"data-testid":`add-local-skill-${e.name}`,children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,t.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-name",children:"Name"}),(0,t.jsx)(r.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:u,onChange:e=>m(e.target.value),"data-testid":"remote-skill-name"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,t.jsx)(r.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:x,onChange:e=>p(e.target.value),"data-testid":"remote-skill-source"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,t.jsx)(r.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:f,onChange:e=>h(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,t.jsx)(C.DialogFooter,{children:(0,t.jsx)(n.Button,{onClick:y,disabled:d||!u.trim()||!x.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function D({config:e,discoveredSkills:a}){let l=(0,y.useRouter)(),[r,i]=(0,s.useState)(!1),[o,d]=(0,s.useState)(null),c=(0,s.useMemo)(()=>{let e=new Map;for(let t of a)e.set(t.name,t.description);return e},[a]),u=async e=>{d(e);let t=await S(e);(d(null),t.success)?(b.toast.success(`Removed "${e}" from feature skills`),l.refresh()):b.toast.error(t.error??"Failed to remove skill")};return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,t.jsx)(A,{skill:e,description:c.get(e.name),onRemove:()=>u(e.name),isRemoving:o===e.name},e.name))}):(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,t.jsx)("div",{children:(0,t.jsxs)(n.Button,{variant:"outline",size:"sm",onClick:()=>i(!0),"data-testid":"add-injected-skill-button",children:[(0,t.jsx)(v.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,t.jsx)(T,{open:r,onOpenChange:i,onAdded:()=>{i(!1),l.refresh()},discoveredSkills:a,existingSkillNames:e.skills.map(e=>e.name)})]})}function A({skill:e,description:s,onRemove:a,isRemoving:l}){return(0,t.jsxs)(d.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,t.jsx)("div",{className:"min-w-0",children:(0,t.jsx)(d.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,t.jsx)(n.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:a,disabled:l,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,t.jsx)(N.X,{className:"size-4"})})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-2 pt-0",children:[s?(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:s}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,t.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function E({skills:e,injectionConfig:d}){let[c,u]=(0,s.useState)(""),[m,x]=(0,s.useState)(null),[f,y]=(0,s.useState)(null),v=(0,s.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let s of e)t[s.category]++;return t})(e),[e]),N=(0,s.useMemo)(()=>{let t=c.toLowerCase();return e.filter(e=>{if(m&&e.category!==m)return!1;if(t){let s=e.name.toLowerCase().includes(t),a=e.description.toLowerCase().includes(t);if(!s&&!a)return!1}return!0})},[e,c,m]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(D,{config:d,discoveredSkills:e}),(0,t.jsx)(j.Separator,{}),(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(l.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(D,{config:d,discoveredSkills:e}),(0,t.jsx)(j.Separator,{}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(a.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(r.Input,{placeholder:"Search skills...",value:c,onChange:e=>u(e.target.value),className:"ps-9"})]}),(0,t.jsx)(h,{activeCategory:m,onCategoryChange:x,counts:v}),N.length>0?(0,t.jsx)(p,{skills:N,onSkillSelect:y}):(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(a.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>{u(""),x(null)},children:"Clear filters"})}),(0,t.jsx)(g.SkillDetailDrawer,{skill:f,onClose:()=>y(null)})]})}e.s(["SkillsPageClient",()=>E],16919)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83843,e=>{"use strict";let a=(0,e.i(3645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",()=>a],83843)},36479,e=>{"use strict";var a=e.i(20314),t=e.i(79054),s=e.i(31406),r=e.i(60112),o=e.i(21023);let n=(0,o.createServerReference)("404510401357ce7d23bf54a9a910ce1f45fcdd513c",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("40e9633f4a6e856323f36b06a1c7f5d1deae6ddc9e",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(23925),i=e.i(97667),d=e.i(83843),p=e.i(49228),h=e.i(83428);e.i(1650);var u=e.i(11495),m=e.i(45811),x=e.i(35364),f=e.i(98127),b=e.i(41957),v=e.i(66459),g=e.i(31777);let j=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));j.displayName="Command";let w=t.forwardRef(({className:e,...t},s)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(v.Search,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:s,className:(0,g.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));w.displayName="CommandInput";let N=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));N.displayName="CommandList";let y=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));y.displayName="CommandEmpty";let C=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-foreground overflow-hidden p-1",e),...t}));C.displayName="CommandGroup";let S=t.forwardRef(({className:e,selected:t,...s},r)=>(0,a.jsx)("button",{ref:r,type:"button","data-selected":t,className:(0,g.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));S.displayName="CommandItem",t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-border -mx-1 h-px",e),...t})).displayName="CommandSeparator";var k=e.i(90382);function R({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:v,onRepositoryChange:R,branches:L=[],branchesLoading:B=!1}){let[P,E]=(0,t.useState)(""),[D,T]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),I=(0,t.useRef)(null),[O,F]=(0,t.useState)(!1),[G,K]=(0,t.useState)(""),M=(0,t.useRef)(null),$=l.find(e=>e.path===v),z=!!v;(0,t.useEffect)(()=>{e||(E(""),A(""),T(!1),F(!1),K(""))},[e]),(0,t.useEffect)(()=>{E(""),A("")},[v]);let W=(0,t.useCallback)(e=>{e.preventDefault();let a=P.trim();a&&v&&!o&&r(a,v)},[P,v,o,r]),q=(0,t.useCallback)(()=>{E(""),A(""),s()},[s]),H=(0,t.useCallback)(e=>{E(e),A(e),T(!1)},[]),J=(0,t.useCallback)(e=>{A(e.target.value),D||T(!0)},[D]),Q=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(E(a),T(!1))}"Escape"===e.key&&(T(!1),A(P))},[U,P]),V=(0,t.useCallback)(e=>{R?.(e),F(!1),K("")},[R]),X=L.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Y=G.trim()?l.filter(e=>e.name.toLowerCase().includes(G.toLowerCase())||e.path.toLowerCase().includes(G.toLowerCase())):l;(0,t.useEffect)(()=>{O?setTimeout(()=>M.current?.focus(),0):K("")},[O]);let Z=!P.trim()||!v||o,_=(0,a.jsxs)("div",{children:[(0,a.jsxs)(m.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(p.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(m.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:q,size:"sm",modal:!1,header:_,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:W,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(k.Popover,{open:O,onOpenChange:F,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":O,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!$&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:$?$.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(f.Input,{ref:M,placeholder:"Search repositories...",value:G,onChange:e=>K(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===Y.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Y.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>V(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",v===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(i.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",v!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(k.Popover,{open:D,onOpenChange:T,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":D,disabled:o||!z,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:z?B?"Loading branches...":P||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(j,{children:[(0,a.jsx)(w,{ref:I,placeholder:"Search branches...",value:U,onChange:J,onKeyDown:Q,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!B&&0===X.length&&(0,a.jsx)(y,{children:0===L.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),B?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,X.length>0&&(0,a.jsx)(C,{children:X.map(e=>(0,a.jsxs)(S,{selected:e===P,onClick:()=>H(e),children:[(0,a.jsx)(c.Check,{className:(0,g.cn)("me-2 h-4 w-4",e===P?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"me-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:z?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(x.Button,{type:"button",variant:"outline",onClick:q,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:Z,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function L({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(0,s.usePathname)(),[d,p]=(0,t.useState)(!1),[h,u]=(0,t.useState)(),[m,x]=(0,t.useState)([]),[f,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=i.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&p(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),x([]),l(v).then(x).catch(()=>x([])).finally(()=>b(!1))):x([])},[j,v]);let N=(0,t.useCallback)(()=>{c.push("/")},[c]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),c.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),p(!1)})},[c]);return(0,a.jsx)(R,{open:w,onClose:N,onSubmit:C,isSubmitting:d,error:h,repositories:o,selectedRepositoryPath:v,onRepositoryChange:y,branches:m,branchesLoading:f})}e.s(["AdoptDrawerClient",()=>L],36479)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83843,e=>{"use strict";let a=(0,e.i(3645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",()=>a],83843)},36479,e=>{"use strict";var a=e.i(20314),t=e.i(79054),s=e.i(31406),r=e.i(60112),o=e.i(21023);let n=(0,o.createServerReference)("406013efcf1f09c1033e764ef142f291e3d124564e",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("40df326d304d52cfae07adb533fb42763e3ca0bdfd",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(23925),i=e.i(97667),d=e.i(83843),p=e.i(49228),h=e.i(83428);e.i(1650);var u=e.i(11495),m=e.i(45811),f=e.i(35364),x=e.i(98127),b=e.i(41957),v=e.i(66459),g=e.i(31777);let j=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));j.displayName="Command";let w=t.forwardRef(({className:e,...t},s)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(v.Search,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:s,className:(0,g.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));w.displayName="CommandInput";let N=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));N.displayName="CommandList";let y=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));y.displayName="CommandEmpty";let C=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("text-foreground overflow-hidden p-1",e),...t}));C.displayName="CommandGroup";let S=t.forwardRef(({className:e,selected:t,...s},r)=>(0,a.jsx)("button",{ref:r,type:"button","data-selected":t,className:(0,g.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));S.displayName="CommandItem",t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,g.cn)("bg-border -mx-1 h-px",e),...t})).displayName="CommandSeparator";var k=e.i(90382);function R({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:v,onRepositoryChange:R,branches:L=[],branchesLoading:B=!1}){let[P,E]=(0,t.useState)(""),[D,T]=(0,t.useState)(!1),[U,A]=(0,t.useState)(""),I=(0,t.useRef)(null),[O,F]=(0,t.useState)(!1),[G,K]=(0,t.useState)(""),M=(0,t.useRef)(null),$=l.find(e=>e.path===v),z=!!v;(0,t.useEffect)(()=>{e||(E(""),A(""),T(!1),F(!1),K(""))},[e]),(0,t.useEffect)(()=>{E(""),A("")},[v]);let W=(0,t.useCallback)(e=>{e.preventDefault();let a=P.trim();a&&v&&!o&&r(a,v)},[P,v,o,r]),q=(0,t.useCallback)(()=>{E(""),A(""),s()},[s]),H=(0,t.useCallback)(e=>{E(e),A(e),T(!1)},[]),J=(0,t.useCallback)(e=>{A(e.target.value),D||T(!0)},[D]),Q=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=U.trim();a&&(E(a),T(!1))}"Escape"===e.key&&(T(!1),A(P))},[U,P]),V=(0,t.useCallback)(e=>{R?.(e),F(!1),K("")},[R]),X=L.filter(e=>e.toLowerCase().includes(U.toLowerCase())),Y=G.trim()?l.filter(e=>e.name.toLowerCase().includes(G.toLowerCase())||e.path.toLowerCase().includes(G.toLowerCase())):l;(0,t.useEffect)(()=>{O?setTimeout(()=>M.current?.focus(),0):K("")},[O]);let Z=!P.trim()||!v||o,_=(0,a.jsxs)("div",{children:[(0,a.jsxs)(m.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(p.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(m.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:q,size:"sm",modal:!1,header:_,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:W,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(k.Popover,{open:O,onOpenChange:F,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":O,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!$&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:$?$.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(x.Input,{ref:M,placeholder:"Search repositories...",value:G,onChange:e=>K(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===Y.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):Y.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":v===e.path,onClick:()=>V(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",v===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(i.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",v!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(k.Popover,{open:D,onOpenChange:T,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(f.Button,{variant:"outline",role:"combobox","aria-expanded":D,disabled:o||!z,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:z?B?"Loading branches...":P||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(k.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(j,{children:[(0,a.jsx)(w,{ref:I,placeholder:"Search branches...",value:U,onChange:J,onKeyDown:Q,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(N,{children:[!B&&0===X.length&&(0,a.jsx)(y,{children:0===L.length?"No branches found.":U?"No match — press Enter to use this value.":"No branches available."}),B?(0,a.jsx)(y,{children:(0,a.jsx)(h.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,X.length>0&&(0,a.jsx)(C,{children:X.map(e=>(0,a.jsxs)(S,{selected:e===P,onClick:()=>H(e),children:[(0,a.jsx)(c.Check,{className:(0,g.cn)("me-2 h-4 w-4",e===P?"opacity-100":"opacity-0")}),(0,a.jsx)(p.GitBranch,{className:"me-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:z?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(f.Button,{type:"button",variant:"outline",onClick:q,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(f.Button,{type:"submit",disabled:Z,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function L({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(0,s.usePathname)(),[d,p]=(0,t.useState)(!1),[h,u]=(0,t.useState)(),[m,f]=(0,t.useState)([]),[x,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=i.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&p(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),f([]),l(v).then(f).catch(()=>f([])).finally(()=>b(!1))):f([])},[j,v]);let N=(0,t.useCallback)(()=>{c.push("/")},[c]),y=(0,t.useCallback)(e=>{g(e)},[]),C=(0,t.useCallback)((e,a)=>{u(void 0),p(!0),c.push("/"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),p(!1)})},[c]);return(0,a.jsx)(R,{open:w,onClose:N,onSubmit:C,isSubmitting:d,error:h,repositories:o,selectedRepositoryPath:v,onRepositoryChange:y,branches:m,branchesLoading:x})}e.s(["AdoptDrawerClient",()=>L],36479)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,97667,e=>{"use strict";var t=e.i(1012);e.s(["CheckIcon",()=>t.default])},10714,e=>{"use strict";let t=(0,e.i(3645).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>t])},41698,e=>{"use strict";let t=(0,e.i(3645).default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);e.s(["ClipboardList",()=>t],41698)},38227,e=>{"use strict";let t=(0,e.i(3645).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",()=>t],38227)},87889,e=>{"use strict";let t=(0,e.i(3645).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],87889)},8986,48923,91795,31476,e=>{"use strict";var t=e.i(3645);let r=(0,t.default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>r],8986);let a=(0,t.default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["GitCommitHorizontal",()=>a],48923);var l=e.i(21023);let s=(0,l.createServerReference)("40fc51f0f916aef805fd9802ee4fd598a8d72f25ba",l.callServer,void 0,l.findSourceMapURL,"openIde");e.s(["openIde",()=>s],91795);let u=(0,l.createServerReference)("408c60317b2b86d366ab064bba73c698909fa2df91",l.callServer,void 0,l.findSourceMapURL,"openShell");e.s(["openShell",()=>u],31476)},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},24042,e=>{"use strict";let t=(0,e.i(3645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],24042)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},73504,81605,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(21023);let l=(0,a.createServerReference)("409c558f9d05382fa1a2320b3a9c908c9fc73cf721",a.callServer,void 0,a.findSourceMapURL,"deployFeature"),s=(0,a.createServerReference)("40a71fe4b496b6477aea7ffe65ee3261b46800ebc5",a.callServer,void 0,a.findSourceMapURL,"deployRepository"),u=(0,a.createServerReference)("4028cb9ab877ba84a6ed9e8f48ae7d4ed7987f6669",a.callServer,void 0,a.findSourceMapURL,"deployApplication"),n=(0,a.createServerReference)("409b0d15caa26333dd182a4e9794c36f37de35f25a",a.callServer,void 0,a.findSourceMapURL,"stopDeployment"),i=(0,a.createServerReference)("40141c111d8aaf3ab9a94cf606dd358970b0b1a56d",a.callServer,void 0,a.findSourceMapURL,"getDeploymentStatus");var d=e.i(18354);let c={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class o{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let r of e)t.add(r.targetId),this.update(r.targetId,{status:r.state,url:r.url,targetType:r.targetType,hydrated:!0});for(let[e,r]of this.entries)!t.has(e)&&r.hydrated&&null!==r.status?this.update(e,{status:null,url:null}):t.has(e)||r.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??c}update(e,t){let r={...this.entries.get(e)??c,...t};this.entries.set(e,r),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let r=this.listeners.get(e);return r||(r=new Set,this.listeners.set(e,r)),r.add(t),()=>{r?.delete(t),r?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>o,"EMPTY_ENTRY",0,c],81605);let y=(0,d.createLogger)("[DeploymentStatusProvider]"),p=new Set(["Booting","Ready"]),h=(0,r.createContext)(null);function f({initialDeployments:e,children:a}){let d=(0,r.useRef)(null);d.current||(d.current=new o,d.current.hydrate(e));let c=d.current;(0,r.useEffect)(()=>{c.hydrate(e)},[e,c]);let f=(0,r.useRef)(new Map),g=(0,r.useCallback)(e=>{let t=f.current.get(e);t&&(clearInterval(t),f.current.delete(e))},[]),S=(0,r.useCallback)(e=>{if(f.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await i(e)}catch(t){y.warn(`poll failed for "${e}"`,t),c.setStatus(e,null),g(e);return}if(!t||"Stopped"===t.state){c.setStatus(e,null),g(e);return}c.setStatus(e,t)},3e3);f.current.set(e,t)},[c,g]);(0,r.useEffect)(()=>{let e=f.current,t=c.subscribeAll(()=>{for(let[t]of e){let e=c.getEntry(t);e.status&&p.has(e.status)||g(t)}});return()=>{for(let[,r]of(t(),e))clearInterval(r);e.clear()}},[c,g]);let v=(0,r.useCallback)(e=>{!e||c.getEntry(e).hydrated||(c.update(e,{hydrated:!0}),(async()=>{try{let t=await i(e);c.setStatus(e,t),t&&p.has(t.state)&&S(e)}catch(t){y.warn(`ensureHydrated failed for "${e}"`,t)}})())},[c,S]),k=(0,r.useCallback)(async e=>{c.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await u(e.targetId):await s(e.repositoryPath);if(!t.success)return void c.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});c.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),S(e.targetId)}catch(r){let t=r instanceof Error?r.message:"An unexpected error occurred";c.update(e.targetId,{deployLoading:!1,deployError:t})}},[c,S]),x=(0,r.useCallback)(async e=>{if(e){c.update(e,{stopLoading:!0});try{(await n(e)).success?(g(e),c.update(e,{stopLoading:!1,status:null,url:null})):c.update(e,{stopLoading:!1})}catch(t){y.warn("stop error (non-critical)",t),c.update(e,{stopLoading:!1})}}},[c,g]),b=(0,r.useMemo)(()=>({store:c,deploy:k,stop:x,ensureHydrated:v}),[c,k,x,v]);return(0,t.jsx)(h.Provider,{value:b,children:a})}function g(){let e=(0,r.useContext)(h);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function S(){let e=(0,r.useContext)(h);return e||v}let v={store:new o,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>f,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>S],73504)},8537,e=>{"use strict";var t=e.i(79054),r=e.i(73504);function a(){}function l(e){let{store:l,deploy:s,stop:u,ensureHydrated:n}=(0,r.useDeploymentStatusContextOptional)(),i=e?.targetId??"",d=(0,t.useCallback)(e=>i?l.subscribe(i,e):a,[l,i]),c=(0,t.useCallback)(()=>i?l.getEntry(i):l.getEntry(""),[l,i]),o=(0,t.useSyncExternalStore)(d,c,c);return(0,t.useEffect)(()=>{i&&n(i)},[i,n]),{deploy:(0,t.useCallback)(async()=>{e&&await s(e)},[s,e]),stop:(0,t.useCallback)(async()=>{i&&await u(i)},[u,i]),deployLoading:o.deployLoading,stopLoading:o.stopLoading,deployError:o.deployError,status:o.status,url:o.url}}e.s(["useDeployAction",()=>l])},1650,e=>{"use strict";e.i(11495),e.s([])},37260,e=>{"use strict";let t=(0,e.i(3645).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",()=>t],37260)},74667,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("40c889063733213ac8ab6717a43c731449cd5f68c0",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>r])},76852,e=>{"use strict";var t=e.i(79054),r=e.i(91795),a=e.i(31476),l=e.i(74667),s=e.i(21023);let u=(0,s.createServerReference)("40aee1c38547e8cd4a966435f1e7a61cf8fd571825",s.callServer,void 0,s.findSourceMapURL,"syncRepository");function n(e){let[s,n]=(0,t.useState)(!1),[i,d]=(0,t.useState)(!1),[c,o]=(0,t.useState)(!1),[y,p]=(0,t.useState)(!1),[h,f]=(0,t.useState)(null),[g,S]=(0,t.useState)(null),[v,k]=(0,t.useState)(null),[x,b]=(0,t.useState)(null),m=(0,t.useRef)(null),M=(0,t.useRef)(null),w=(0,t.useRef)(null),R=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{m.current&&clearTimeout(m.current),M.current&&clearTimeout(M.current),w.current&&clearTimeout(w.current),R.current&&clearTimeout(R.current)},[]);let L=(0,t.useCallback)(async(t,r,a,l,s)=>{if(e&&!s){l.current&&clearTimeout(l.current),r(!0),a(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";a(t),l.current=setTimeout(()=>a(null),5e3)}}catch(e){a(e instanceof Error?e.message:"An unexpected error occurred"),l.current=setTimeout(()=>a(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>L(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),n,f,m,s),[L,s,e]),openInShell:(0,t.useCallback)(()=>L(()=>(0,a.openShell)({repositoryPath:e.repositoryPath}),d,S,M,i),[L,i,e]),openFolder:(0,t.useCallback)(()=>L(()=>(0,l.openFolder)(e.repositoryPath),o,k,w,c),[L,c,e]),syncMain:(0,t.useCallback)(()=>L(()=>u(e.repositoryId??""),p,b,R,y),[L,y,e]),ideLoading:s,shellLoading:i,folderLoading:c,syncLoading:y,ideError:h,shellError:g,folderError:v,syncError:x}}e.s(["useRepositoryActions",()=>n],76852)},91925,e=>{"use strict";let t=(0,e.i(3645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],91925)},22832,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("4002241d451a22ef455832ac94395a8a752f05ee28",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>r])},42049,e=>{"use strict";let t=(0,e.i(3645).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>t],42049)},70002,e=>{"use strict";var t=e.i(15131);e.s(["TriangleAlert",()=>t.default])},22173,e=>{"use strict";var t=e.i(73504),r=e.i(81605);e.s(["DeploymentStatusProvider",()=>t.DeploymentStatusProvider,"EMPTY_ENTRY",()=>r.EMPTY_ENTRY,"useDeploymentStatusContext",()=>t.useDeploymentStatusContext,"useDeploymentStatusContextOptional",()=>t.useDeploymentStatusContextOptional])},54793,7729,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function a({icon:e,title:a,description:l,action:s,className:u,...n}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",u),...n,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,s?(0,t.jsx)("div",{className:"mt-2",children:s}):null]})}e.s(["EmptyState",()=>a],7729),e.s([],54793)},13005,e=>{"use strict";let t=(0,e.i(3645).default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);e.s(["SlidersHorizontal",()=>t],13005)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,15203,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),s=e.i(60112),i=e.i(21023);let o=(0,i.createServerReference)("404361b7023ce4ee903966491882dda81aee4ff559",i.callServer,void 0,i.findSourceMapURL,"createFeature");e.i(41001);var l=e.i(64780),n=e.i(16868),c=e.i(83843),d=e.i(97667),p=e.i(53360),h=e.i(55016),u=e.i(91925),m=e.i(83428),x=e.i(81542),f=e.i(70471),g=e.i(12103),b=e.i(59311),j=e.i(31777),w=e.i(8361);e.i(1650);var v=e.i(11495),C=e.i(45811),y=e.i(35364),k=e.i(98127),N=e.i(48306),D=e.i(41957),T=e.i(81846),S=e.i(90382),P=e.i(51911),F=e.i(2828),L=e.i(30153);e.i(50032);var E=e.i(86254);let z=(0,i.createServerReference)("40ea0cde1e8175444f215a880d95f6772a410c4667",i.callServer,void 0,i.findSourceMapURL,"getViewerPermission");var R=e.i(41413),I=e.i(25235),M=e.i(78521);e.i(13322);var U=e.i(61201),A=e.i(75921),O=e.i(15671),B=e.i(42076);let $=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),G={allowPrd:!1,allowPlan:!1,allowMerge:!1};function q({open:e,onClose:a,onSubmit:s,repositoryPath:i,isSubmitting:o=!1,workflowDefaults:c,features:d,repositories:u,initialParentId:m,currentAgentType:k,currentModel:S,initialDescription:I,canPushDirectly:M}){let U=(0,w.useSoundAction)("create"),{t:A}=(0,l.useTranslation)("web"),O=i&&(!u||0===u.length||u.some(e=>e.path===i))?i:"",q=c?.approvalGates??G,Z=c?.push??!1,J=c?.openPr??!1,V=c?.ciWatchEnabled!==!1,H=c?.enableEvidence??!1,Q=c?.commitEvidence??!1,X=c?.fast!==!1,[Y,_]=(0,r.useState)(I??"");(0,r.useEffect)(()=>{I&&_(I)},[I]);let[ee,et]=(0,r.useState)([]),[er,ea]=(0,r.useState)({...q}),[es,ei]=(0,r.useState)(Z),[eo,el]=(0,r.useState)(J),[en,ec]=(0,r.useState)(c?.ciWatchEnabled!==!1),[ed,ep]=(0,r.useState)(H),[eh,eu]=(0,r.useState)(Q),[em,ex]=(0,r.useState)(void 0),[ef,eg]=(0,r.useState)(X),[eb,ej]=(0,r.useState)(!1),[ew,ev]=(0,r.useState)(!1),[eC,ey]=(0,r.useState)(!0),[ek,eN]=(0,r.useState)(!0),[eD,eT]=(0,r.useState)(c?.injectSkills??!1),[eS,eP]=(0,r.useState)(void 0),[eF,eL]=(0,r.useState)(void 0),[eE,ez]=(0,r.useState)(O||void 0),[eR,eI]=(0,r.useState)(u??[]),[eM,eU]=(0,r.useState)(!1),[eA,eO]=(0,r.useState)(null),[eB,e$]=(0,r.useState)(!1),eG=(0,r.useRef)(crypto.randomUUID()),eq=(0,r.useRef)(0),eK=(0,r.useRef)(null);(0,r.useEffect)(()=>{c&&(ea({...c.approvalGates}),ei(c.push),el(c.openPr),ec(!1!==c.ciWatchEnabled),ep(c.enableEvidence),eu(c.commitEvidence),eg(!1!==c.fast),eT(c.injectSkills??!1))},[c]),(0,r.useEffect)(()=>{eI(u??[])},[u]),(0,r.useEffect)(()=>{e&&m&&ex(m)},[e,m]);let[eW,eZ]=(0,r.useState)(M??!1);(0,r.useEffect)(()=>{eZ(M??!1)},[M]);let eJ=(0,r.useRef)(eE);(0,r.useEffect)(()=>{eE&&eE!==eJ.current&&(eJ.current=eE,z(eE).then(e=>eZ(e.canPushDirectly)).catch(()=>eZ(!1)))},[eE]),(0,r.useEffect)(()=>{eW&&(ev(!1),ei(Z),el(J),ey(!0))},[eW,Z,J]);let eV=(0,r.useCallback)(()=>{_(""),et([]),ea({...q}),ei(Z),el(J),ec(V),ep(H),eu(Q),ex(void 0),ez(O||void 0),eI(u??[]),eg(X),ej(!1),ev(!1),ey(!0),eN(!0),eP(void 0),eL(void 0),eO(null),eq.current=0,eU(!1)},[q,Z,J,H,V,Q,X,O,u]),eH=""!==Y.trim()||ee.length>0,{attemptClose:eQ}=(0,L.useGuardedDrawerClose)({open:e,isDirty:eH,onClose:a,onReset:eV}),eX=(0,r.useCallback)(async e=>{for(let t of(eO(null),e)){if(t.size>0xa00000)return void eO(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!$.has(e))return void eO(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();et(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eG.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));et(t=>t.filter(t=>t.id!==e)),eO(t.error??"Upload failed");return}let s=await a.json();et(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{et(t=>t.filter(t=>t.id!==e)),eO("Upload failed")}}},[]),eY=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eq.current+=1,1===eq.current&&eU(!0)},[]),e_=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eq.current-=1,0===eq.current&&eU(!1)},[]),e0=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),e1=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eq.current=0,eU(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&eX(t)},[eX]),e5=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),eX(r))},[eX]),e2=(0,r.useCallback)(e=>{if(e.preventDefault(),!Y.trim())return;let t=eE??O;t&&(U.play(),s({description:Y.trim(),attachments:ee.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:er.allowPrd??!1,allowPlan:er.allowPlan??!1,allowMerge:er.allowMerge??!1},push:!!ew||es||eo,openPr:!!ew||eo,ciWatchEnabled:en,enableEvidence:ed,commitEvidence:eh,fast:ef,forkAndPr:ew,commitSpecs:eC,rebaseBeforeBranch:ek,injectSkills:eD,...eb?{pending:eb}:{},...eS?{agentType:eS}:{},...eF?{model:eF}:{},...em?{parentId:em}:{},sessionId:eG.current}),eV())},[Y,ee,er,eE,O,s,es,eo,ed,en,eh,ef,ew,eC,ek,eD,eb,eS,eF,em,U,eV]),e4=(0,r.useCallback)(async()=>{try{let e=await (0,B.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();et(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eG.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));et(t=>t.filter(t=>t.id!==e)),eO(t.error??"Upload failed");return}let a=await r.json();et(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{et(t=>t.filter(t=>t.id!==e)),eO("Upload failed")}}}catch{}},[]),e3=(0,r.useCallback)(e=>{et(t=>t.filter(t=>t.id!==e))},[]),e8=(0,r.useCallback)((e,t)=>{et(r=>r.map(r=>r.id===e?{...r,notes:t}:r))},[]),e6=(0,r.useRef)(null),e7=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),e6.current?.requestSubmit())},[]),e9=(0,r.useCallback)(()=>{e$(!0)},[]),te=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eK.current?.contains(document.activeElement),t=eK.current?.querySelector('[aria-expanded="true"]')!==null;e||t||e$(!1)},0)},[]),tt=d&&d.length>0,tr=!O&&!eE,ta=!O&&void 0!==u,ts=[{id:"allowPrd",label:A("createDrawer.prd"),description:A("createDrawer.prdDescription")},{id:"allowPlan",label:A("createDrawer.plan"),description:A("createDrawer.planDescription")},{id:"allowMerge",label:A("createDrawer.merge"),description:A("createDrawer.mergeDescription")}];return(0,t.jsx)(v.BaseDrawer,{open:e,onClose:eQ,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(C.DrawerTitle,{children:A("createDrawer.title")})]}),o?(0,t.jsx)(C.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(T.Badge,{variant:"secondary",children:A("createDrawer.creating")})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(y.Button,{variant:"outline",onClick:eQ,disabled:o,children:A("createDrawer.cancel")}),(0,t.jsx)(y.Button,{type:"submit",form:"create-feature-form",disabled:!Y.trim()||o||tr,children:o?A("createDrawer.creating"):A("createDrawer.createFeature")})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(F.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:e6,id:"create-feature-form",onSubmit:e2,onKeyDown:e7,className:"flex flex-col gap-4",children:[ta?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(D.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:A("createDrawer.repository")}),(0,t.jsx)(W,{repositories:eR,value:eE,onChange:ez,onAddRepository:e=>{eI(t=>[...t,e]),ez(e.path)},disabled:o})]}):O?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(D.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:A("createDrawer.repository")}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:u?.find(e=>e.path===O)?.name??O.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":A("createDrawer.fileDropZone"),"data-drag-over":eM?"true":"false",onDragEnter:eY,onDragLeave:e_,onDragOver:e0,onDrop:e1,className:(0,j.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",eM&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(D.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:A("createDrawer.describeFeature")}),(0,t.jsxs)("div",{ref:eK,onFocus:e9,onBlur:te,className:(0,j.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eB&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(N.Textarea,{id:"feature-description",placeholder:A("createDrawer.featurePlaceholder"),value:Y,onChange:e=>_(e.target.value),onPaste:e5,required:!0,disabled:o,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),ee.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:ee.map(e=>(0,t.jsx)(E.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>e3(e.id),disabled:o,loading:e.loading,notes:e.notes,onNotesChange:t=>e8(e.id,t)},e.id))}),eA?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:eA}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(R.AgentModelPicker,{initialAgentType:eS??k??"claude-code",initialModel:eF??S??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{eP(e),eL(t)},disabled:o,className:"w-55"}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(P.Switch,{id:"pending-mode",checked:eb,onCheckedChange:ej,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(h.Clock,{className:"h-3.5 w-3.5"}),A("createDrawer.pendingMode")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.pendingModeDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(P.Switch,{id:"fast-mode",checked:ef,onCheckedChange:eg,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(p.Zap,{className:"h-3.5 w-3.5"}),A("createDrawer.fastModeLabel")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.fastModeDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:e4,disabled:o,"aria-label":A("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(n.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("chat.attachFiles")})]})]})]})]}),tt&&void 0!==m?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(D.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:A("createDrawer.parentFeature")}),(0,t.jsx)(K,{features:d,value:em,onChange:ex,disabled:o})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:A("createDrawer.approve")})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.approveDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:ts.map(e=>(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:`approve-${e.id}`,size:"sm",checked:er[e.id]??!1,onCheckedChange:t=>ea(r=>({...r,[e.id]:t})),disabled:o||ef&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(D.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:ef&&("allowPrd"===e.id||"allowPlan"===e.id)?A("createDrawer.skippedInFastMode"):e.description})]},e.id))}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=ts.every(e=>er[e.id]),t={};for(let r of ts)t[r.id]=!e;ea(t)},disabled:o,className:(0,j.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",ts.every(e=>er[e.id])&&"text-primary"),children:A("createDrawer.all")})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.toggleAllApprovalGates")})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:A("createDrawer.evidence")})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.evidenceDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"enable-evidence",size:"sm",checked:ed,onCheckedChange:e=>{ep(e),e||eu(!1)},disabled:o}),(0,t.jsx)(D.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:A("createDrawer.collect")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.collectDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"commit-evidence",size:"sm",checked:eh,onCheckedChange:eu,disabled:o||!ed||!eo&&!ew}),(0,t.jsx)(D.Label,{htmlFor:"commit-evidence",className:(0,j.cn)("cursor-pointer text-xs font-medium",(!ed||!eo&&!ew)&&"opacity-50"),children:A("createDrawer.addToPr")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:eo||ew?ed?A("createDrawer.addToPrDescription"):A("createDrawer.requiresEvidence"):A("createDrawer.requiresPr")})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:A("createDrawer.skills")})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.skillsDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"inject-skills",size:"sm",checked:eD,onCheckedChange:eT,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(g.Puzzle,{className:"h-3 w-3"}),A("createDrawer.injectSkills")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.injectSkillsDescription")})]})})]}),(0,t.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:A("createDrawer.git")}),(0,t.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"push",size:"sm",checked:!!ew||es||eo,onCheckedChange:e=>{ei(e),!e&&eo&&el(!1)},disabled:o||ew}),(0,t.jsx)(D.Label,{htmlFor:"push",className:(0,j.cn)("cursor-pointer text-xs font-medium",ew&&"opacity-50"),children:A("createDrawer.push")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:ew?"Enabled — contributing to upstream":A("createDrawer.pushDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"open-pr",size:"sm",checked:!!ew||eo,onCheckedChange:e=>{el(e),e||eu(!1)},disabled:o||ew}),(0,t.jsx)(D.Label,{htmlFor:"open-pr",className:(0,j.cn)("cursor-pointer text-xs font-medium",ew&&"opacity-50"),children:A("createDrawer.pr")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:ew?"Enabled — contributing to upstream":A("createDrawer.prDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"ci-watch",size:"sm",checked:en,onCheckedChange:ec,disabled:o}),(0,t.jsx)(D.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:A("createDrawer.watch")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.watchDescription")})]}),(0,t.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"rebase-before-branch",size:"sm",checked:ek,onCheckedChange:eN,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(b.RefreshCw,{className:"h-3 w-3"}),A("createDrawer.sync")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.syncDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"commit-specs",size:"sm",checked:eC,onCheckedChange:ey,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(f.FileText,{className:"h-3 w-3"}),A("createDrawer.commitSpecs")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.commitSpecsDescription")})]}),!eW&&(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"fork-and-pr",size:"sm",checked:ew,onCheckedChange:e=>{ev(e),e&&ey(!1)},disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(x.GitFork,{className:"h-3 w-3"}),A("createDrawer.forkAndPr")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function K({features:e,value:a,onChange:s,disabled:i}){let{t:o}=(0,l.useTranslation)("web"),[n,p]=(0,r.useState)(!1),[h,u]=(0,r.useState)(""),m=(0,r.useRef)(null),x=e.find(e=>e.id===a),f=h.trim()?e.filter(e=>e.name.toLowerCase().includes(h.toLowerCase())||e.id.toLowerCase().includes(h.toLowerCase())):e,g=(0,r.useCallback)(e=>{s(e),p(!1),u("")},[s]);return(0,r.useEffect)(()=>{n?setTimeout(()=>m.current?.focus(),0):u("")},[n]),(0,t.jsxs)(S.Popover,{open:n,onOpenChange:p,children:[(0,t.jsx)(S.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":n,"aria-label":"Parent Feature",disabled:i,"data-testid":"parent-feature-combobox",className:(0,j.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!x&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:x?`${x.name} (${x.id.slice(0,8)})`:o("createDrawer.selectParent")}),(0,t.jsx)(c.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(S.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(k.Input,{ref:m,placeholder:o("createDrawer.searchFeatures"),value:h,onChange:e=>u(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===a,onClick:()=>g(void 0),className:(0,j.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===a&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(d.CheckIcon,{className:(0,j.cn)("h-4 w-4 shrink-0",void 0!==a&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:o("createDrawer.noParent")})]}),0===f.length&&h?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:o("createDrawer.noFeaturesFound")}):f.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.id,onClick:()=>g(e.id),className:(0,j.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,j.cn)("h-4 w-4 shrink-0",a!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function W({repositories:e,value:a,onChange:s,onAddRepository:i,disabled:o}){let[n,p]=(0,r.useState)(!1),[h,f]=(0,r.useState)(""),[g,b]=(0,r.useState)(!1),[w,v]=(0,r.useState)(null),[C,y]=(0,r.useState)(!1),N=(0,r.useRef)(null),{reactFileManager:D}=(0,A.useFeatureFlags)(),{t:P}=(0,l.useTranslation)("web"),F=e.find(e=>e.path===a),L=h.trim()?e.filter(e=>e.name.toLowerCase().includes(h.toLowerCase())||e.path.toLowerCase().includes(h.toLowerCase())):e,E=(0,r.useCallback)(e=>{s(e),p(!1),f("")},[s]),z=(0,r.useCallback)(async e=>{let t=await (0,O.addRepository)({path:e});if(t.error){v(t.error),b(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};i?.(e),s(e.path),p(!1),f("")}},[i,s]),R=(0,r.useCallback)(async()=>{if(!g){if(D)return void y(!0);b(!0),v(null);try{let e=await (0,M.pickFolder)();if(!e)return void b(!1);await z(e)}catch{y(!0)}finally{b(!1)}}},[g,D,z]),B=(0,r.useCallback)(async e=>{if(y(!1),e){b(!0),v(null);try{await z(e)}catch(e){v(e instanceof Error?e.message:"Failed to add repository")}finally{b(!1)}}},[z]);return(0,r.useEffect)(()=>{n?setTimeout(()=>N.current?.focus(),0):f("")},[n]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(S.Popover,{open:n,onOpenChange:p,children:[(0,t.jsx)(S.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":n,"aria-label":"Repository",disabled:o,"data-testid":"repository-combobox",className:(0,j.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!F&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:F?F.name:"Select repository..."}),(0,t.jsx)(c.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(S.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(k.Input,{ref:N,placeholder:P("createDrawer.searchRepositories"),value:h,onChange:e=>f(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===L.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):L.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.path,onClick:()=>E(e.path),className:(0,j.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,j.cn)("h-4 w-4 shrink-0",a!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[e.name,e.isFork?(0,t.jsxs)(T.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,t.jsx)(x.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(I.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:R,disabled:g,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[g?(0,t.jsx)(m.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(u.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),w?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:w}):null]})})]}),(0,t.jsx)(U.ReactFileManagerDialog,{open:C,onOpenChange:e=>{e||y(!1)},onSelect:B})]})}function Z({repositoryPath:e,initialParentId:i,initialDescription:l,features:n,repositories:c,workflowDefaults:d,currentAgentType:p,currentModel:h,canPushDirectly:u}){let m=(0,a.useRouter)(),[x,f]=(0,r.useState)(!1),g=(0,a.usePathname)().startsWith("/create"),b=!x&&g;(0,r.useEffect)(()=>{!g&&x&&f(!1)},[g,x]);let j=(0,r.useCallback)(()=>{m.push("/")},[m]),w=(0,r.useCallback)(e=>{f(!0),m.push("/"),o(e).then(t=>{t.error?s.toast.error(t.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.feature.repositoryPath,parentId:e.parentId}}))}).catch(()=>{s.toast.error("Failed to create feature"),f(!1)})},[m]);return(0,t.jsx)(q,{open:b,onClose:j,onSubmit:w,repositoryPath:e,features:n,repositories:c,workflowDefaults:d,initialParentId:i,initialDescription:l,isSubmitting:x,currentAgentType:p,currentModel:h,canPushDirectly:u})}e.s(["CreateDrawerClient",()=>Z],15203)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,15203,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),s=e.i(60112),i=e.i(21023);let o=(0,i.createServerReference)("4031b5be33c5baebbc823c479e399ab89c6192cf6c",i.callServer,void 0,i.findSourceMapURL,"createFeature");e.i(41001);var l=e.i(64780),n=e.i(16868),c=e.i(83843),d=e.i(97667),p=e.i(53360),h=e.i(55016),u=e.i(91925),m=e.i(83428),x=e.i(81542),f=e.i(70471),g=e.i(12103),b=e.i(59311),j=e.i(31777),w=e.i(8361);e.i(1650);var v=e.i(11495),C=e.i(45811),y=e.i(35364),k=e.i(98127),N=e.i(48306),D=e.i(41957),T=e.i(81846),S=e.i(90382),P=e.i(51911),F=e.i(2828),L=e.i(30153);e.i(50032);var E=e.i(86254);let z=(0,i.createServerReference)("40b22d39f9c9a45f8a34aba19c6b7fe8223feddc46",i.callServer,void 0,i.findSourceMapURL,"getViewerPermission");var R=e.i(41413),I=e.i(25235),M=e.i(78521);e.i(13322);var U=e.i(61201),A=e.i(75921),O=e.i(22832),B=e.i(42076);let $=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),G={allowPrd:!1,allowPlan:!1,allowMerge:!1};function q({open:e,onClose:a,onSubmit:s,repositoryPath:i,isSubmitting:o=!1,workflowDefaults:c,features:d,repositories:u,initialParentId:m,currentAgentType:k,currentModel:S,initialDescription:I,canPushDirectly:M}){let U=(0,w.useSoundAction)("create"),{t:A}=(0,l.useTranslation)("web"),O=i&&(!u||0===u.length||u.some(e=>e.path===i))?i:"",q=c?.approvalGates??G,Z=c?.push??!1,J=c?.openPr??!1,V=c?.ciWatchEnabled!==!1,H=c?.enableEvidence??!1,Q=c?.commitEvidence??!1,X=c?.fast!==!1,[Y,_]=(0,r.useState)(I??"");(0,r.useEffect)(()=>{I&&_(I)},[I]);let[ee,et]=(0,r.useState)([]),[er,ea]=(0,r.useState)({...q}),[es,ei]=(0,r.useState)(Z),[eo,el]=(0,r.useState)(J),[en,ec]=(0,r.useState)(c?.ciWatchEnabled!==!1),[ed,ep]=(0,r.useState)(H),[eh,eu]=(0,r.useState)(Q),[em,ex]=(0,r.useState)(void 0),[ef,eg]=(0,r.useState)(X),[eb,ej]=(0,r.useState)(!1),[ew,ev]=(0,r.useState)(!1),[eC,ey]=(0,r.useState)(!0),[ek,eN]=(0,r.useState)(!0),[eD,eT]=(0,r.useState)(c?.injectSkills??!1),[eS,eP]=(0,r.useState)(void 0),[eF,eL]=(0,r.useState)(void 0),[eE,ez]=(0,r.useState)(O||void 0),[eR,eI]=(0,r.useState)(u??[]),[eM,eU]=(0,r.useState)(!1),[eA,eO]=(0,r.useState)(null),[eB,e$]=(0,r.useState)(!1),eG=(0,r.useRef)(crypto.randomUUID()),eq=(0,r.useRef)(0),eK=(0,r.useRef)(null);(0,r.useEffect)(()=>{c&&(ea({...c.approvalGates}),ei(c.push),el(c.openPr),ec(!1!==c.ciWatchEnabled),ep(c.enableEvidence),eu(c.commitEvidence),eg(!1!==c.fast),eT(c.injectSkills??!1))},[c]),(0,r.useEffect)(()=>{eI(u??[])},[u]),(0,r.useEffect)(()=>{e&&m&&ex(m)},[e,m]);let[eW,eZ]=(0,r.useState)(M??!1);(0,r.useEffect)(()=>{eZ(M??!1)},[M]);let eJ=(0,r.useRef)(eE);(0,r.useEffect)(()=>{eE&&eE!==eJ.current&&(eJ.current=eE,z(eE).then(e=>eZ(e.canPushDirectly)).catch(()=>eZ(!1)))},[eE]),(0,r.useEffect)(()=>{eW&&(ev(!1),ei(Z),el(J),ey(!0))},[eW,Z,J]);let eV=(0,r.useCallback)(()=>{_(""),et([]),ea({...q}),ei(Z),el(J),ec(V),ep(H),eu(Q),ex(void 0),ez(O||void 0),eI(u??[]),eg(X),ej(!1),ev(!1),ey(!0),eN(!0),eP(void 0),eL(void 0),eO(null),eq.current=0,eU(!1)},[q,Z,J,H,V,Q,X,O,u]),eH=""!==Y.trim()||ee.length>0,{attemptClose:eQ}=(0,L.useGuardedDrawerClose)({open:e,isDirty:eH,onClose:a,onReset:eV}),eX=(0,r.useCallback)(async e=>{for(let t of(eO(null),e)){if(t.size>0xa00000)return void eO(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!$.has(e))return void eO(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();et(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eG.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));et(t=>t.filter(t=>t.id!==e)),eO(t.error??"Upload failed");return}let s=await a.json();et(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{et(t=>t.filter(t=>t.id!==e)),eO("Upload failed")}}},[]),eY=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eq.current+=1,1===eq.current&&eU(!0)},[]),e_=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eq.current-=1,0===eq.current&&eU(!1)},[]),e0=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),e1=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eq.current=0,eU(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&eX(t)},[eX]),e5=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),eX(r))},[eX]),e2=(0,r.useCallback)(e=>{if(e.preventDefault(),!Y.trim())return;let t=eE??O;t&&(U.play(),s({description:Y.trim(),attachments:ee.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:er.allowPrd??!1,allowPlan:er.allowPlan??!1,allowMerge:er.allowMerge??!1},push:!!ew||es||eo,openPr:!!ew||eo,ciWatchEnabled:en,enableEvidence:ed,commitEvidence:eh,fast:ef,forkAndPr:ew,commitSpecs:eC,rebaseBeforeBranch:ek,injectSkills:eD,...eb?{pending:eb}:{},...eS?{agentType:eS}:{},...eF?{model:eF}:{},...em?{parentId:em}:{},sessionId:eG.current}),eV())},[Y,ee,er,eE,O,s,es,eo,ed,en,eh,ef,ew,eC,ek,eD,eb,eS,eF,em,U,eV]),e3=(0,r.useCallback)(async()=>{try{let e=await (0,B.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();et(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eG.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));et(t=>t.filter(t=>t.id!==e)),eO(t.error??"Upload failed");return}let a=await r.json();et(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{et(t=>t.filter(t=>t.id!==e)),eO("Upload failed")}}}catch{}},[]),e4=(0,r.useCallback)(e=>{et(t=>t.filter(t=>t.id!==e))},[]),e8=(0,r.useCallback)((e,t)=>{et(r=>r.map(r=>r.id===e?{...r,notes:t}:r))},[]),e6=(0,r.useRef)(null),e9=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),e6.current?.requestSubmit())},[]),e7=(0,r.useCallback)(()=>{e$(!0)},[]),te=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eK.current?.contains(document.activeElement),t=eK.current?.querySelector('[aria-expanded="true"]')!==null;e||t||e$(!1)},0)},[]),tt=d&&d.length>0,tr=!O&&!eE,ta=!O&&void 0!==u,ts=[{id:"allowPrd",label:A("createDrawer.prd"),description:A("createDrawer.prdDescription")},{id:"allowPlan",label:A("createDrawer.plan"),description:A("createDrawer.planDescription")},{id:"allowMerge",label:A("createDrawer.merge"),description:A("createDrawer.mergeDescription")}];return(0,t.jsx)(v.BaseDrawer,{open:e,onClose:eQ,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(C.DrawerTitle,{children:A("createDrawer.title")})]}),o?(0,t.jsx)(C.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(T.Badge,{variant:"secondary",children:A("createDrawer.creating")})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(y.Button,{variant:"outline",onClick:eQ,disabled:o,children:A("createDrawer.cancel")}),(0,t.jsx)(y.Button,{type:"submit",form:"create-feature-form",disabled:!Y.trim()||o||tr,children:o?A("createDrawer.creating"):A("createDrawer.createFeature")})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(F.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:e6,id:"create-feature-form",onSubmit:e2,onKeyDown:e9,className:"flex flex-col gap-4",children:[ta?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(D.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:A("createDrawer.repository")}),(0,t.jsx)(W,{repositories:eR,value:eE,onChange:ez,onAddRepository:e=>{eI(t=>[...t,e]),ez(e.path)},disabled:o})]}):O?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(D.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:A("createDrawer.repository")}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:u?.find(e=>e.path===O)?.name??O.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":A("createDrawer.fileDropZone"),"data-drag-over":eM?"true":"false",onDragEnter:eY,onDragLeave:e_,onDragOver:e0,onDrop:e1,className:(0,j.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",eM&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(D.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:A("createDrawer.describeFeature")}),(0,t.jsxs)("div",{ref:eK,onFocus:e7,onBlur:te,className:(0,j.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eB&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(N.Textarea,{id:"feature-description",placeholder:A("createDrawer.featurePlaceholder"),value:Y,onChange:e=>_(e.target.value),onPaste:e5,required:!0,disabled:o,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),ee.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:ee.map(e=>(0,t.jsx)(E.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>e4(e.id),disabled:o,loading:e.loading,notes:e.notes,onNotesChange:t=>e8(e.id,t)},e.id))}),eA?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:eA}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(R.AgentModelPicker,{initialAgentType:eS??k??"claude-code",initialModel:eF??S??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{eP(e),eL(t)},disabled:o,className:"w-55"}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(P.Switch,{id:"pending-mode",checked:eb,onCheckedChange:ej,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(h.Clock,{className:"h-3.5 w-3.5"}),A("createDrawer.pendingMode")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.pendingModeDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(P.Switch,{id:"fast-mode",checked:ef,onCheckedChange:eg,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(p.Zap,{className:"h-3.5 w-3.5"}),A("createDrawer.fastModeLabel")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.fastModeDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:e3,disabled:o,"aria-label":A("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(n.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("chat.attachFiles")})]})]})]})]}),tt&&void 0!==m?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(D.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:A("createDrawer.parentFeature")}),(0,t.jsx)(K,{features:d,value:em,onChange:ex,disabled:o})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:A("createDrawer.approve")})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.approveDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:ts.map(e=>(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:`approve-${e.id}`,size:"sm",checked:er[e.id]??!1,onCheckedChange:t=>ea(r=>({...r,[e.id]:t})),disabled:o||ef&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(D.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:ef&&("allowPrd"===e.id||"allowPlan"===e.id)?A("createDrawer.skippedInFastMode"):e.description})]},e.id))}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=ts.every(e=>er[e.id]),t={};for(let r of ts)t[r.id]=!e;ea(t)},disabled:o,className:(0,j.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",ts.every(e=>er[e.id])&&"text-primary"),children:A("createDrawer.all")})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.toggleAllApprovalGates")})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:A("createDrawer.evidence")})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.evidenceDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"enable-evidence",size:"sm",checked:ed,onCheckedChange:e=>{ep(e),e||eu(!1)},disabled:o}),(0,t.jsx)(D.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:A("createDrawer.collect")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.collectDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"commit-evidence",size:"sm",checked:eh,onCheckedChange:eu,disabled:o||!ed||!eo&&!ew}),(0,t.jsx)(D.Label,{htmlFor:"commit-evidence",className:(0,j.cn)("cursor-pointer text-xs font-medium",(!ed||!eo&&!ew)&&"opacity-50"),children:A("createDrawer.addToPr")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:eo||ew?ed?A("createDrawer.addToPrDescription"):A("createDrawer.requiresEvidence"):A("createDrawer.requiresPr")})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:A("createDrawer.skills")})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.skillsDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"inject-skills",size:"sm",checked:eD,onCheckedChange:eT,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(g.Puzzle,{className:"h-3 w-3"}),A("createDrawer.injectSkills")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.injectSkillsDescription")})]})})]}),(0,t.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:A("createDrawer.git")}),(0,t.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"push",size:"sm",checked:!!ew||es||eo,onCheckedChange:e=>{ei(e),!e&&eo&&el(!1)},disabled:o||ew}),(0,t.jsx)(D.Label,{htmlFor:"push",className:(0,j.cn)("cursor-pointer text-xs font-medium",ew&&"opacity-50"),children:A("createDrawer.push")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:ew?"Enabled — contributing to upstream":A("createDrawer.pushDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"open-pr",size:"sm",checked:!!ew||eo,onCheckedChange:e=>{el(e),e||eu(!1)},disabled:o||ew}),(0,t.jsx)(D.Label,{htmlFor:"open-pr",className:(0,j.cn)("cursor-pointer text-xs font-medium",ew&&"opacity-50"),children:A("createDrawer.pr")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:ew?"Enabled — contributing to upstream":A("createDrawer.prDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"ci-watch",size:"sm",checked:en,onCheckedChange:ec,disabled:o}),(0,t.jsx)(D.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:A("createDrawer.watch")})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.watchDescription")})]}),(0,t.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"rebase-before-branch",size:"sm",checked:ek,onCheckedChange:eN,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(b.RefreshCw,{className:"h-3 w-3"}),A("createDrawer.sync")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.syncDescription")})]}),(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"commit-specs",size:"sm",checked:eC,onCheckedChange:ey,disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(f.FileText,{className:"h-3 w-3"}),A("createDrawer.commitSpecs")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.commitSpecsDescription")})]}),!eW&&(0,t.jsxs)(F.Tooltip,{children:[(0,t.jsx)(F.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(P.Switch,{id:"fork-and-pr",size:"sm",checked:ew,onCheckedChange:e=>{ev(e),e&&ey(!1)},disabled:o}),(0,t.jsxs)(D.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(x.GitFork,{className:"h-3 w-3"}),A("createDrawer.forkAndPr")]})]})}),(0,t.jsx)(F.TooltipContent,{side:"bottom",children:A("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function K({features:e,value:a,onChange:s,disabled:i}){let{t:o}=(0,l.useTranslation)("web"),[n,p]=(0,r.useState)(!1),[h,u]=(0,r.useState)(""),m=(0,r.useRef)(null),x=e.find(e=>e.id===a),f=h.trim()?e.filter(e=>e.name.toLowerCase().includes(h.toLowerCase())||e.id.toLowerCase().includes(h.toLowerCase())):e,g=(0,r.useCallback)(e=>{s(e),p(!1),u("")},[s]);return(0,r.useEffect)(()=>{n?setTimeout(()=>m.current?.focus(),0):u("")},[n]),(0,t.jsxs)(S.Popover,{open:n,onOpenChange:p,children:[(0,t.jsx)(S.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":n,"aria-label":"Parent Feature",disabled:i,"data-testid":"parent-feature-combobox",className:(0,j.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!x&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:x?`${x.name} (${x.id.slice(0,8)})`:o("createDrawer.selectParent")}),(0,t.jsx)(c.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(S.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(k.Input,{ref:m,placeholder:o("createDrawer.searchFeatures"),value:h,onChange:e=>u(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===a,onClick:()=>g(void 0),className:(0,j.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===a&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(d.CheckIcon,{className:(0,j.cn)("h-4 w-4 shrink-0",void 0!==a&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:o("createDrawer.noParent")})]}),0===f.length&&h?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:o("createDrawer.noFeaturesFound")}):f.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.id,onClick:()=>g(e.id),className:(0,j.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,j.cn)("h-4 w-4 shrink-0",a!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function W({repositories:e,value:a,onChange:s,onAddRepository:i,disabled:o}){let[n,p]=(0,r.useState)(!1),[h,f]=(0,r.useState)(""),[g,b]=(0,r.useState)(!1),[w,v]=(0,r.useState)(null),[C,y]=(0,r.useState)(!1),N=(0,r.useRef)(null),{reactFileManager:D}=(0,A.useFeatureFlags)(),{t:P}=(0,l.useTranslation)("web"),F=e.find(e=>e.path===a),L=h.trim()?e.filter(e=>e.name.toLowerCase().includes(h.toLowerCase())||e.path.toLowerCase().includes(h.toLowerCase())):e,E=(0,r.useCallback)(e=>{s(e),p(!1),f("")},[s]),z=(0,r.useCallback)(async e=>{let t=await (0,O.addRepository)({path:e});if(t.error){v(t.error),b(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};i?.(e),s(e.path),p(!1),f("")}},[i,s]),R=(0,r.useCallback)(async()=>{if(!g){if(D)return void y(!0);b(!0),v(null);try{let e=await (0,M.pickFolder)();if(!e)return void b(!1);await z(e)}catch{y(!0)}finally{b(!1)}}},[g,D,z]),B=(0,r.useCallback)(async e=>{if(y(!1),e){b(!0),v(null);try{await z(e)}catch(e){v(e instanceof Error?e.message:"Failed to add repository")}finally{b(!1)}}},[z]);return(0,r.useEffect)(()=>{n?setTimeout(()=>N.current?.focus(),0):f("")},[n]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(S.Popover,{open:n,onOpenChange:p,children:[(0,t.jsx)(S.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":n,"aria-label":"Repository",disabled:o,"data-testid":"repository-combobox",className:(0,j.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!F&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:F?F.name:"Select repository..."}),(0,t.jsx)(c.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(S.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(k.Input,{ref:N,placeholder:P("createDrawer.searchRepositories"),value:h,onChange:e=>f(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===L.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):L.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.path,onClick:()=>E(e.path),className:(0,j.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,j.cn)("h-4 w-4 shrink-0",a!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[e.name,e.isFork?(0,t.jsxs)(T.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,t.jsx)(x.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(I.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:R,disabled:g,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[g?(0,t.jsx)(m.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(u.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),w?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:w}):null]})})]}),(0,t.jsx)(U.ReactFileManagerDialog,{open:C,onOpenChange:e=>{e||y(!1)},onSelect:B})]})}function Z({repositoryPath:e,initialParentId:i,initialDescription:l,features:n,repositories:c,workflowDefaults:d,currentAgentType:p,currentModel:h,canPushDirectly:u}){let m=(0,a.useRouter)(),[x,f]=(0,r.useState)(!1),g=(0,a.usePathname)().startsWith("/create"),b=!x&&g;(0,r.useEffect)(()=>{!g&&x&&f(!1)},[g,x]);let j=(0,r.useCallback)(()=>{m.push("/")},[m]),w=(0,r.useCallback)(e=>{f(!0),m.push("/"),o(e).then(t=>{t.error?s.toast.error(t.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.feature.repositoryPath,parentId:e.parentId}}))}).catch(()=>{s.toast.error("Failed to create feature"),f(!1)})},[m]);return(0,t.jsx)(q,{open:b,onClose:j,onSubmit:w,repositoryPath:e,features:n,repositories:c,workflowDefaults:d,initialParentId:i,initialDescription:l,isSubmitting:x,currentAgentType:p,currentModel:h,canPushDirectly:u})}e.s(["CreateDrawerClient",()=>Z],15203)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86076,e=>{"use strict";let t=(0,e.i(3645).default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);e.s(["FileCode",()=>t],86076)},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},10714,e=>{"use strict";let t=(0,e.i(3645).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>t])},41698,e=>{"use strict";let t=(0,e.i(3645).default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);e.s(["ClipboardList",()=>t],41698)},87889,e=>{"use strict";let t=(0,e.i(3645).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],87889)},38227,e=>{"use strict";let t=(0,e.i(3645).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",()=>t],38227)},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},24042,e=>{"use strict";let t=(0,e.i(3645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],24042)},73504,81605,e=>{"use strict";var t=e.i(20314),a=e.i(79054),r=e.i(21023);let l=(0,r.createServerReference)("4030ef5a3a4d6e2e7af75e1357fffe24c048784353",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),s=(0,r.createServerReference)("40a687f04a4705f667c3127d60c33855948ddf6203",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),d=(0,r.createServerReference)("403a778155eca3d66caced3ec53525cda3391dc67d",r.callServer,void 0,r.findSourceMapURL,"deployApplication"),i=(0,r.createServerReference)("402a9c7b1cbacbd4f6ae2adc15150a5e9fa6689da6",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),u=(0,r.createServerReference)("408784dcdf29dcba457fa87bdb1d61da77cd0be033",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus");var n=e.i(18354);let o={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class c{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let a of e)t.add(a.targetId),this.update(a.targetId,{status:a.state,url:a.url,targetType:a.targetType,hydrated:!0});for(let[e,a]of this.entries)!t.has(e)&&a.hydrated&&null!==a.status?this.update(e,{status:null,url:null}):t.has(e)||a.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??o}update(e,t){let a={...this.entries.get(e)??o,...t};this.entries.set(e,a),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let a=this.listeners.get(e);return a||(a=new Set,this.listeners.set(e,a)),a.add(t),()=>{a?.delete(t),a?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>c,"EMPTY_ENTRY",0,o],81605);let y=(0,n.createLogger)("[DeploymentStatusProvider]"),p=new Set(["Booting","Ready"]),h=(0,a.createContext)(null);function f({initialDeployments:e,children:r}){let n=(0,a.useRef)(null);n.current||(n.current=new c,n.current.hydrate(e));let o=n.current;(0,a.useEffect)(()=>{o.hydrate(e)},[e,o]);let f=(0,a.useRef)(new Map),g=(0,a.useCallback)(e=>{let t=f.current.get(e);t&&(clearInterval(t),f.current.delete(e))},[]),v=(0,a.useCallback)(e=>{if(f.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await u(e)}catch(t){y.warn(`poll failed for "${e}"`,t),o.setStatus(e,null),g(e);return}if(!t||"Stopped"===t.state){o.setStatus(e,null),g(e);return}o.setStatus(e,t)},3e3);f.current.set(e,t)},[o,g]);(0,a.useEffect)(()=>{let e=f.current,t=o.subscribeAll(()=>{for(let[t]of e){let e=o.getEntry(t);e.status&&p.has(e.status)||g(t)}});return()=>{for(let[,a]of(t(),e))clearInterval(a);e.clear()}},[o,g]);let k=(0,a.useCallback)(e=>{!e||o.getEntry(e).hydrated||(o.update(e,{hydrated:!0}),(async()=>{try{let t=await u(e);o.setStatus(e,t),t&&p.has(t.state)&&v(e)}catch(t){y.warn(`ensureHydrated failed for "${e}"`,t)}})())},[o,v]),S=(0,a.useCallback)(async e=>{o.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await d(e.targetId):await s(e.repositoryPath);if(!t.success)return void o.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});o.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),v(e.targetId)}catch(a){let t=a instanceof Error?a.message:"An unexpected error occurred";o.update(e.targetId,{deployLoading:!1,deployError:t})}},[o,v]),b=(0,a.useCallback)(async e=>{if(e){o.update(e,{stopLoading:!0});try{(await i(e)).success?(g(e),o.update(e,{stopLoading:!1,status:null,url:null})):o.update(e,{stopLoading:!1})}catch(t){y.warn("stop error (non-critical)",t),o.update(e,{stopLoading:!1})}}},[o,g]),x=(0,a.useMemo)(()=>({store:o,deploy:S,stop:b,ensureHydrated:k}),[o,S,b,k]);return(0,t.jsx)(h.Provider,{value:x,children:r})}function g(){let e=(0,a.useContext)(h);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function v(){let e=(0,a.useContext)(h);return e||k}let k={store:new c,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>f,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>v],73504)},8537,e=>{"use strict";var t=e.i(79054),a=e.i(73504);function r(){}function l(e){let{store:l,deploy:s,stop:d,ensureHydrated:i}=(0,a.useDeploymentStatusContextOptional)(),u=e?.targetId??"",n=(0,t.useCallback)(e=>u?l.subscribe(u,e):r,[l,u]),o=(0,t.useCallback)(()=>u?l.getEntry(u):l.getEntry(""),[l,u]),c=(0,t.useSyncExternalStore)(n,o,o);return(0,t.useEffect)(()=>{u&&i(u)},[u,i]),{deploy:(0,t.useCallback)(async()=>{e&&await s(e)},[s,e]),stop:(0,t.useCallback)(async()=>{u&&await d(u)},[d,u]),deployLoading:c.deployLoading,stopLoading:c.stopLoading,deployError:c.deployError,status:c.status,url:c.url}}e.s(["useDeployAction",()=>l])},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},79888,e=>{"use strict";var t=e.i(21023);let a=(0,t.createServerReference)("4062431cb8c77c2dfff30e85282ee89f33eba6dc16",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>a])},12919,e=>{"use strict";let t=(0,e.i(3645).default)("file-plus",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]);e.s(["FilePlus",()=>t],12919)},91909,e=>{"use strict";let t=(0,e.i(3645).default)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);e.s(["default",()=>t])},43669,e=>{"use strict";var t=e.i(21023);let a=(0,t.createServerReference)("601e3832ebcdd661c4299258bb166e3b6178b27033",t.callServer,void 0,t.findSourceMapURL,"getGitRepoInfo");e.s(["getGitRepoInfo",()=>a])},9388,e=>{"use strict";let t=(0,e.i(3645).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);e.s(["Monitor",()=>t],9388)},70002,e=>{"use strict";var t=e.i(15131);e.s(["TriangleAlert",()=>t.default])},22173,e=>{"use strict";var t=e.i(73504),a=e.i(81605);e.s(["DeploymentStatusProvider",()=>t.DeploymentStatusProvider,"EMPTY_ENTRY",()=>a.EMPTY_ENTRY,"useDeploymentStatusContext",()=>t.useDeploymentStatusContext,"useDeploymentStatusContextOptional",()=>t.useDeploymentStatusContextOptional])},42049,e=>{"use strict";let t=(0,e.i(3645).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>t],42049)},34808,e=>{"use strict";var t=e.i(10714);e.s(["Minus",()=>t.default])},63812,e=>{e.v(t=>Promise.all(["static/chunks/11ef340e4cfbdbe6.js"].map(t=>e.l(t))).then(()=>t(58480)))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86076,e=>{"use strict";let t=(0,e.i(3645).default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);e.s(["FileCode",()=>t],86076)},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},10714,e=>{"use strict";let t=(0,e.i(3645).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>t])},41698,e=>{"use strict";let t=(0,e.i(3645).default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);e.s(["ClipboardList",()=>t],41698)},87889,e=>{"use strict";let t=(0,e.i(3645).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],87889)},38227,e=>{"use strict";let t=(0,e.i(3645).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",()=>t],38227)},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},24042,e=>{"use strict";let t=(0,e.i(3645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],24042)},73504,81605,e=>{"use strict";var t=e.i(20314),a=e.i(79054),r=e.i(21023);let l=(0,r.createServerReference)("409c558f9d05382fa1a2320b3a9c908c9fc73cf721",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),s=(0,r.createServerReference)("40a71fe4b496b6477aea7ffe65ee3261b46800ebc5",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),i=(0,r.createServerReference)("4028cb9ab877ba84a6ed9e8f48ae7d4ed7987f6669",r.callServer,void 0,r.findSourceMapURL,"deployApplication"),d=(0,r.createServerReference)("409b0d15caa26333dd182a4e9794c36f37de35f25a",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),u=(0,r.createServerReference)("40141c111d8aaf3ab9a94cf606dd358970b0b1a56d",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus");var n=e.i(18354);let o={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class c{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let a of e)t.add(a.targetId),this.update(a.targetId,{status:a.state,url:a.url,targetType:a.targetType,hydrated:!0});for(let[e,a]of this.entries)!t.has(e)&&a.hydrated&&null!==a.status?this.update(e,{status:null,url:null}):t.has(e)||a.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??o}update(e,t){let a={...this.entries.get(e)??o,...t};this.entries.set(e,a),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let a=this.listeners.get(e);return a||(a=new Set,this.listeners.set(e,a)),a.add(t),()=>{a?.delete(t),a?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>c,"EMPTY_ENTRY",0,o],81605);let y=(0,n.createLogger)("[DeploymentStatusProvider]"),p=new Set(["Booting","Ready"]),h=(0,a.createContext)(null);function f({initialDeployments:e,children:r}){let n=(0,a.useRef)(null);n.current||(n.current=new c,n.current.hydrate(e));let o=n.current;(0,a.useEffect)(()=>{o.hydrate(e)},[e,o]);let f=(0,a.useRef)(new Map),g=(0,a.useCallback)(e=>{let t=f.current.get(e);t&&(clearInterval(t),f.current.delete(e))},[]),v=(0,a.useCallback)(e=>{if(f.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await u(e)}catch(t){y.warn(`poll failed for "${e}"`,t),o.setStatus(e,null),g(e);return}if(!t||"Stopped"===t.state){o.setStatus(e,null),g(e);return}o.setStatus(e,t)},3e3);f.current.set(e,t)},[o,g]);(0,a.useEffect)(()=>{let e=f.current,t=o.subscribeAll(()=>{for(let[t]of e){let e=o.getEntry(t);e.status&&p.has(e.status)||g(t)}});return()=>{for(let[,a]of(t(),e))clearInterval(a);e.clear()}},[o,g]);let k=(0,a.useCallback)(e=>{!e||o.getEntry(e).hydrated||(o.update(e,{hydrated:!0}),(async()=>{try{let t=await u(e);o.setStatus(e,t),t&&p.has(t.state)&&v(e)}catch(t){y.warn(`ensureHydrated failed for "${e}"`,t)}})())},[o,v]),S=(0,a.useCallback)(async e=>{o.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await i(e.targetId):await s(e.repositoryPath);if(!t.success)return void o.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});o.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),v(e.targetId)}catch(a){let t=a instanceof Error?a.message:"An unexpected error occurred";o.update(e.targetId,{deployLoading:!1,deployError:t})}},[o,v]),b=(0,a.useCallback)(async e=>{if(e){o.update(e,{stopLoading:!0});try{(await d(e)).success?(g(e),o.update(e,{stopLoading:!1,status:null,url:null})):o.update(e,{stopLoading:!1})}catch(t){y.warn("stop error (non-critical)",t),o.update(e,{stopLoading:!1})}}},[o,g]),x=(0,a.useMemo)(()=>({store:o,deploy:S,stop:b,ensureHydrated:k}),[o,S,b,k]);return(0,t.jsx)(h.Provider,{value:x,children:r})}function g(){let e=(0,a.useContext)(h);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function v(){let e=(0,a.useContext)(h);return e||k}let k={store:new c,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>f,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>v],73504)},8537,e=>{"use strict";var t=e.i(79054),a=e.i(73504);function r(){}function l(e){let{store:l,deploy:s,stop:i,ensureHydrated:d}=(0,a.useDeploymentStatusContextOptional)(),u=e?.targetId??"",n=(0,t.useCallback)(e=>u?l.subscribe(u,e):r,[l,u]),o=(0,t.useCallback)(()=>u?l.getEntry(u):l.getEntry(""),[l,u]),c=(0,t.useSyncExternalStore)(n,o,o);return(0,t.useEffect)(()=>{u&&d(u)},[u,d]),{deploy:(0,t.useCallback)(async()=>{e&&await s(e)},[s,e]),stop:(0,t.useCallback)(async()=>{u&&await i(u)},[i,u]),deployLoading:c.deployLoading,stopLoading:c.stopLoading,deployError:c.deployError,status:c.status,url:c.url}}e.s(["useDeployAction",()=>l])},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},74667,e=>{"use strict";var t=e.i(21023);let a=(0,t.createServerReference)("40c889063733213ac8ab6717a43c731449cd5f68c0",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>a])},12919,e=>{"use strict";let t=(0,e.i(3645).default)("file-plus",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]);e.s(["FilePlus",()=>t],12919)},91909,e=>{"use strict";let t=(0,e.i(3645).default)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);e.s(["default",()=>t])},54433,e=>{"use strict";var t=e.i(21023);let a=(0,t.createServerReference)("60c3cd2d1735c2e604f0259d510495175026e340cd",t.callServer,void 0,t.findSourceMapURL,"getGitRepoInfo");e.s(["getGitRepoInfo",()=>a])},9388,e=>{"use strict";let t=(0,e.i(3645).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);e.s(["Monitor",()=>t],9388)},70002,e=>{"use strict";var t=e.i(15131);e.s(["TriangleAlert",()=>t.default])},22173,e=>{"use strict";var t=e.i(73504),a=e.i(81605);e.s(["DeploymentStatusProvider",()=>t.DeploymentStatusProvider,"EMPTY_ENTRY",()=>a.EMPTY_ENTRY,"useDeploymentStatusContext",()=>t.useDeploymentStatusContext,"useDeploymentStatusContextOptional",()=>t.useDeploymentStatusContextOptional])},42049,e=>{"use strict";let t=(0,e.i(3645).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>t],42049)},34808,e=>{"use strict";var t=e.i(10714);e.s(["Minus",()=>t.default])},63812,e=>{e.v(t=>Promise.all(["static/chunks/11ef340e4cfbdbe6.js"].map(t=>e.l(t))).then(()=>t(58480)))}]);