@shepai/cli 1.122.2-pr392.a8f2b76 → 1.122.2-pr394.daae4c9

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 (286) hide show
  1. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +11 -0
  2. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts +15 -0
  4. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts +40 -0
  6. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -0
  7. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +146 -0
  8. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.d.ts +33 -0
  9. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.d.ts.map +1 -0
  10. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.js +77 -0
  11. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/di/container.js +5 -0
  13. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts +1 -0
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +8 -0
  16. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts +1 -0
  17. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts.map +1 -1
  18. package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +15 -0
  19. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts +14 -0
  20. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -0
  21. package/dist/src/presentation/cli/commands/feat/adopt.command.js +43 -0
  22. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  23. package/dist/src/presentation/cli/commands/feat/index.js +3 -1
  24. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.d.ts +10 -0
  25. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.d.ts.map +1 -0
  26. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.js +22 -0
  27. package/dist/src/presentation/web/app/actions/adopt-branch.d.ts +11 -0
  28. package/dist/src/presentation/web/app/actions/adopt-branch.d.ts.map +1 -0
  29. package/dist/src/presentation/web/app/actions/adopt-branch.js +20 -0
  30. package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts +0 -2
  31. package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts.map +1 -1
  32. package/dist/src/presentation/web/app/actions/get-feature-phase-timings.js +0 -2
  33. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts +9 -0
  34. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts.map +1 -0
  35. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +27 -0
  36. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts +32 -0
  37. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts.map +1 -0
  38. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.js +115 -0
  39. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.d.ts +5 -0
  40. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.d.ts.map +1 -0
  41. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.js +56 -0
  42. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  43. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +9 -20
  44. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts.map +1 -1
  45. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +31 -130
  46. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  47. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +0 -13
  48. package/dist/src/presentation/web/components/common/feature-drawer-tabs/use-tab-data-fetch.d.ts.map +1 -1
  49. package/dist/src/presentation/web/components/common/feature-drawer-tabs/use-tab-data-fetch.js +9 -18
  50. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  51. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +18 -18
  52. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  53. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +17 -31
  54. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  55. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +22 -29
  56. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +1 -1
  57. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  58. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +14 -5
  59. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts +0 -2
  60. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  61. package/dist/src/presentation/web/hooks/sidebar-features-context.js +1 -2
  62. package/dist/tsconfig.build.tsbuildinfo +1 -1
  63. package/package.json +1 -1
  64. package/web/.next/BUILD_ID +1 -1
  65. package/web/.next/app-path-routes-manifest.json +1 -0
  66. package/web/.next/build-manifest.json +4 -4
  67. package/web/.next/fallback-build-manifest.json +2 -2
  68. package/web/.next/prerender-manifest.json +3 -3
  69. package/web/.next/required-server-files.js +1 -1
  70. package/web/.next/required-server-files.json +1 -1
  71. package/web/.next/routes-manifest.json +6 -0
  72. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/app-paths-manifest.json +3 -0
  73. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +18 -0
  74. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/next-font-manifest.json +6 -0
  75. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +1 -0
  76. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +320 -0
  77. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +20 -0
  78. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.map +5 -0
  79. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -0
  80. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +2 -0
  81. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  82. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +22 -22
  83. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  84. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  85. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  86. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  87. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  88. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  90. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +28 -28
  91. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  92. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  94. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  95. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  96. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  97. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  98. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +22 -22
  99. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  100. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  102. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  103. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  104. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  105. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  106. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +28 -28
  107. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  108. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  109. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  110. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +20 -20
  111. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  112. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  114. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  115. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  116. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  117. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  118. package/web/.next/server/app/_global-error.html +2 -2
  119. package/web/.next/server/app/_global-error.rsc +1 -1
  120. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  121. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  122. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  123. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  124. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  125. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  126. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  127. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  128. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  129. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  130. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  131. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  132. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  133. package/web/.next/server/app/settings/page/server-reference-manifest.json +6 -6
  134. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  135. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  136. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  137. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  138. package/web/.next/server/app/skills/page.js +4 -4
  139. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  140. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  141. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  142. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  143. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  144. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  145. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  146. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  147. package/web/.next/server/app/version/page.js.nft.json +1 -1
  148. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  149. package/web/.next/server/app-paths-manifest.json +1 -0
  150. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  151. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_94d75bc3._.js +3 -0
  152. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_94d75bc3._.js.map +1 -0
  153. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_0b3f4f0d.js +3 -0
  154. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_0b3f4f0d.js.map +1 -0
  155. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_adopt-drawer-client_tsx_6c5e4bbb._.js +3 -0
  156. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_adopt-drawer-client_tsx_6c5e4bbb._.js.map +1 -0
  157. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  158. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js +1 -1
  160. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js +1 -1
  162. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__2698e9f4._.js +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__2698e9f4._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  172. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +2 -2
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e3bf5d7._.js +1 -1
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e3bf5d7._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__a022445f._.js +2 -2
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js +2 -2
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__c07f9f79._.js +1 -1
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__c07f9f79._.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__c605a375._.js +1 -1
  180. package/web/.next/server/chunks/ssr/[root-of-the-server]__c605a375._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/[root-of-the-server]__e2227c0f._.js +3 -0
  182. package/web/.next/server/chunks/ssr/[root-of-the-server]__e2227c0f._.js.map +1 -0
  183. package/web/.next/server/chunks/ssr/[root-of-the-server]__e7258841._.js +3 -0
  184. package/web/.next/server/chunks/ssr/[root-of-the-server]__e7258841._.js.map +1 -0
  185. package/web/.next/server/chunks/ssr/[root-of-the-server]__ec26e818._.js +3 -0
  186. package/web/.next/server/chunks/ssr/[root-of-the-server]__ec26e818._.js.map +1 -0
  187. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0589cc3._.js +3 -0
  188. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0589cc3._.js.map +1 -0
  189. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  190. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/_19a2fb35._.js +3 -0
  192. package/web/.next/server/chunks/ssr/_19a2fb35._.js.map +1 -0
  193. package/web/.next/server/chunks/ssr/_1e1b2639._.js +3 -0
  194. package/web/.next/server/chunks/ssr/_1e1b2639._.js.map +1 -0
  195. package/web/.next/server/chunks/ssr/_2f6f48b8._.js +1 -1
  196. package/web/.next/server/chunks/ssr/_2f6f48b8._.js.map +1 -1
  197. package/web/.next/server/chunks/ssr/_4093a637._.js +5 -0
  198. package/web/.next/server/chunks/ssr/_4093a637._.js.map +1 -0
  199. package/web/.next/server/chunks/ssr/{_36dccae9._.js → _5317c57e._.js} +2 -2
  200. package/web/.next/server/chunks/ssr/{_36dccae9._.js.map → _5317c57e._.js.map} +1 -1
  201. package/web/.next/server/chunks/ssr/_a4a44cc0._.js +3 -0
  202. package/web/.next/server/chunks/ssr/_a4a44cc0._.js.map +1 -0
  203. package/web/.next/server/chunks/ssr/_b56e7571._.js +3 -0
  204. package/web/.next/server/chunks/ssr/_b56e7571._.js.map +1 -0
  205. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  206. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_d5206f22._.js +4 -0
  208. package/web/.next/server/chunks/ssr/_d5206f22._.js.map +1 -0
  209. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  210. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  211. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +3 -0
  212. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
  213. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js +3 -0
  214. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js.map +1 -0
  215. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js +2 -2
  216. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js +1 -1
  218. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  220. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  222. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  223. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js +2 -2
  224. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js.map +1 -1
  225. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  226. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  227. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  228. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  230. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  231. package/web/.next/server/middleware-build-manifest.js +2 -2
  232. package/web/.next/server/pages/500.html +2 -2
  233. package/web/.next/server/server-reference-manifest.js +1 -1
  234. package/web/.next/server/server-reference-manifest.json +189 -34
  235. package/web/.next/static/chunks/0d2af96e64960ef5.css +1 -0
  236. package/web/.next/static/chunks/430ef376bd249b14.js +1 -0
  237. package/web/.next/static/chunks/4796c6e7d84294d7.js +1 -0
  238. package/web/.next/static/chunks/52c0456129cb8a10.js +1 -0
  239. package/web/.next/static/chunks/767cf20dbde41522.js +1 -0
  240. package/web/.next/static/chunks/78e2f79d08767e8d.js +9 -0
  241. package/web/.next/static/chunks/{90e7434ef9395b62.js → 7f0206527c67e121.js} +1 -1
  242. package/web/.next/static/chunks/{ed3a602003bcb31b.js → 89aac43287d73b02.js} +1 -1
  243. package/web/.next/static/chunks/{1c19bf1f99269544.js → 9f4eb9f1618c8bd9.js} +1 -1
  244. package/web/.next/static/chunks/a8d65187623d628b.js +5 -0
  245. package/web/.next/static/chunks/{816ee0f2c6b490a4.js → b14644925c7af7f5.js} +2 -2
  246. package/web/.next/static/chunks/b4a6061718adb25e.js +2 -0
  247. package/web/.next/static/chunks/bf108ed551e585e6.js +1 -0
  248. package/web/.next/static/chunks/c6356369a45d19d6.js +1 -0
  249. package/web/.next/static/chunks/ca946dcbfbb2df74.js +1 -0
  250. package/web/.next/static/chunks/cafcbd67d82d65db.js +1 -0
  251. package/web/.next/static/chunks/d6d6af31b7ef545b.js +1 -0
  252. package/web/.next/static/chunks/f83551c20dcda199.js +1 -0
  253. package/web/.next/static/chunks/{turbopack-426d9bc2450816ba.js → turbopack-080e470ea902d0ba.js} +1 -1
  254. package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js +0 -3
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js.map +0 -1
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js +0 -3
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js.map +0 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__f646b99a._.js +0 -3
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__f646b99a._.js.map +0 -1
  260. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js +0 -3
  261. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js.map +0 -1
  262. package/web/.next/server/chunks/ssr/_3a4c94e3._.js +0 -3
  263. package/web/.next/server/chunks/ssr/_3a4c94e3._.js.map +0 -1
  264. package/web/.next/server/chunks/ssr/_75f4ccb3._.js +0 -3
  265. package/web/.next/server/chunks/ssr/_75f4ccb3._.js.map +0 -1
  266. package/web/.next/server/chunks/ssr/_9ac70f88._.js +0 -5
  267. package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +0 -1
  268. package/web/.next/server/chunks/ssr/_d99705a5._.js +0 -3
  269. package/web/.next/server/chunks/ssr/_d99705a5._.js.map +0 -1
  270. package/web/.next/server/chunks/ssr/src_presentation_web_60c91521._.js +0 -3
  271. package/web/.next/server/chunks/ssr/src_presentation_web_60c91521._.js.map +0 -1
  272. package/web/.next/static/chunks/275f0d403059b5b4.js +0 -1
  273. package/web/.next/static/chunks/3911a7175044e784.js +0 -1
  274. package/web/.next/static/chunks/52b56677c842e45f.js +0 -3
  275. package/web/.next/static/chunks/61df7e9671cf4e76.css +0 -1
  276. package/web/.next/static/chunks/6272719b144b6c1a.js +0 -11
  277. package/web/.next/static/chunks/691a93561029b01b.js +0 -2
  278. package/web/.next/static/chunks/6db4aa6aed9e6545.js +0 -1
  279. package/web/.next/static/chunks/845d8e58a91014e6.js +0 -1
  280. package/web/.next/static/chunks/a92706d178a3fa6c.js +0 -1
  281. package/web/.next/static/chunks/bf479173877b0a2f.js +0 -1
  282. package/web/.next/static/chunks/dbbb446493f21874.js +0 -1
  283. package/web/.next/static/chunks/f90f55b8e972bd8e.js +0 -1
  284. /package/web/.next/static/{x39t_TXToqcf-uNwPMhq8 → eu15XGqVtBSCUjVy2GmoQ}/_buildManifest.js +0 -0
  285. /package/web/.next/static/{x39t_TXToqcf-uNwPMhq8 → eu15XGqVtBSCUjVy2GmoQ}/_clientMiddlewareManifest.json +0 -0
  286. /package/web/.next/static/{x39t_TXToqcf-uNwPMhq8 → eu15XGqVtBSCUjVy2GmoQ}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/app/%28dashboard%29/%40drawer/adopt/page.tsx"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const AdoptDrawerClient = registerClientReference(\n function() { throw new Error(\"Attempted to call AdoptDrawerClient() from the server but AdoptDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.tsx\",\n \"AdoptDrawerClient\",\n);\n","import { resolve } from '@/lib/server-container';\nimport type { ListRepositoriesUseCase } from '@shepai/core/application/use-cases/repositories/list-repositories.use-case';\nimport { AdoptDrawerClient } from '@/components/common/control-center-drawer/adopt-drawer-client';\n\n/** Skip static pre-rendering since we need runtime DI container. */\nexport const dynamic = 'force-dynamic';\n\ninterface AdoptDrawerPageProps {\n searchParams: Promise<{ repo?: string }>;\n}\n\nexport default async function AdoptDrawerPage({ searchParams }: AdoptDrawerPageProps) {\n const { repo } = await searchParams;\n\n let repositoryPath = repo ?? '';\n\n if (!repositoryPath) {\n try {\n const listRepos = resolve<ListRepositoriesUseCase>('ListRepositoriesUseCase');\n const repositories = await listRepos.execute();\n if (repositories.length > 0) {\n repositoryPath = repositories[0].path;\n }\n } catch {\n // Fall through with empty path — server action will validate\n }\n }\n\n return <AdoptDrawerClient repositoryPath={repositoryPath} />;\n}\n"],"names":[],"mappings":"gYAEO,IAAM,EAAoB,CAAA,EAAA,AADjC,EAAA,CAAA,CAAA,OACiC,uBAAA,AAAuB,EACpD,WAAa,MAAM,AAAI,MAAM,gPAAkP,EAC/Q,qHACA,8EAHG,IAAM,EAAoB,CAAA,EADjC,AACiC,EADjC,CAAA,CAAA,OACiC,uBAAA,AAAuB,EACpD,WAAa,MAAM,AAAI,MAAM,gPAAkP,EAC/Q,iGACA,yHCLJ,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OASe,eAAe,EAAgB,cAAE,CAAY,CAAwB,EAClF,GAAM,MAAE,CAAI,CAAE,CAAG,MAAM,EAEnB,EAAiB,GAAQ,GAE7B,GAAI,CAAC,EACH,GAAI,CACF,IAAM,EAAY,CAAA,EAAA,CAFD,CAEC,OAAA,AAAO,EAA0B,2BAC7C,EAAe,MAAM,EAAU,OAAO,GACxC,EAAa,MAAM,CAAG,GAAG,CAC3B,EAAiB,CAAY,CAAC,EAAE,CAAC,IAAA,AAAI,CAEzC,CAAE,KAAM,CAER,CAGF,MAAO,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,iBAAiB,CAAA,CAAC,eAAgB,GAC5C,kCAxBuB","ignoreList":[0]}
@@ -0,0 +1,3 @@
1
+ module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},57764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},44447,a=>{"use strict";var b=a.i(40617);a.s(["Code",()=>b.default])},83886,a=>{"use strict";let b=(0,a.i(25700).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"}]]);a.s(["Eye",()=>b],83886)},41305,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(59653),e=a.i(7420),f=a.i(77127),g=a.i(14272),h=a.i(66873),i=a.i(48939),j=a.i(17329),k=a.i(5472),l="Tabs",[m,n]=(0,e.createContextScope)(l,[f.createRovingFocusGroupScope]),o=(0,f.createRovingFocusGroupScope)(),[p,q]=m(l),r=c.forwardRef((a,c)=>{let{__scopeTabs:d,value:e,onValueChange:f,defaultValue:g,orientation:m="horizontal",dir:n,activationMode:o="automatic",...q}=a,r=(0,i.useDirection)(n),[s,t]=(0,j.useControllableState)({prop:e,onChange:f,defaultProp:g??"",caller:l});return(0,b.jsx)(p,{scope:d,baseId:(0,k.useId)(),value:s,onValueChange:t,orientation:m,dir:r,activationMode:o,children:(0,b.jsx)(h.Primitive.div,{dir:r,"data-orientation":m,...q,ref:c})})});r.displayName=l;var s="TabsList",t=c.forwardRef((a,c)=>{let{__scopeTabs:d,loop:e=!0,...g}=a,i=q(s,d),j=o(d);return(0,b.jsx)(f.Root,{asChild:!0,...j,orientation:i.orientation,dir:i.dir,loop:e,children:(0,b.jsx)(h.Primitive.div,{role:"tablist","aria-orientation":i.orientation,...g,ref:c})})});t.displayName=s;var u="TabsTrigger",v=c.forwardRef((a,c)=>{let{__scopeTabs:e,value:g,disabled:i=!1,...j}=a,k=q(u,e),l=o(e),m=y(k.baseId,g),n=z(k.baseId,g),p=g===k.value;return(0,b.jsx)(f.Item,{asChild:!0,...l,focusable:!i,active:p,children:(0,b.jsx)(h.Primitive.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":n,"data-state":p?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:m,...j,ref:c,onMouseDown:(0,d.composeEventHandlers)(a.onMouseDown,a=>{i||0!==a.button||!1!==a.ctrlKey?a.preventDefault():k.onValueChange(g)}),onKeyDown:(0,d.composeEventHandlers)(a.onKeyDown,a=>{[" ","Enter"].includes(a.key)&&k.onValueChange(g)}),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>{let a="manual"!==k.activationMode;p||i||!a||k.onValueChange(g)})})})});v.displayName=u;var w="TabsContent",x=c.forwardRef((a,d)=>{let{__scopeTabs:e,value:f,forceMount:i,children:j,...k}=a,l=q(w,e),m=y(l.baseId,f),n=z(l.baseId,f),o=f===l.value,p=c.useRef(o);return c.useEffect(()=>{let a=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(a)},[]),(0,b.jsx)(g.Presence,{present:i||o,children:({present:c})=>(0,b.jsx)(h.Primitive.div,{"data-state":o?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":m,hidden:!c,id:n,tabIndex:0,...k,ref:d,style:{...a.style,animationDuration:p.current?"0s":void 0},children:c&&j})})});function y(a,b){return`${a}-trigger-${b}`}function z(a,b){return`${a}-content-${b}`}x.displayName=w,a.s(["Content",()=>x,"List",()=>t,"Root",()=>r,"Tabs",()=>r,"TabsContent",()=>x,"TabsList",()=>t,"TabsTrigger",()=>v,"Trigger",()=>v,"createTabsScope",()=>n],287);var A=a.i(287),A=A,B=a.i(85536);let C=A.Root,D=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(A.List,{ref:d,className:(0,B.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",a),...c}));D.displayName=A.List.displayName;let E=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(A.Trigger,{ref:d,className:(0,B.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",a),...c}));E.displayName=A.Trigger.displayName;let F=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(A.Content,{ref:d,className:(0,B.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",a),...c}));F.displayName=A.Content.displayName,a.s(["Tabs",()=>C,"TabsContent",()=>F,"TabsList",()=>D,"TabsTrigger",()=>E],41305)},9955,a=>{"use strict";var b=a.i(76096);a.s(["Download",()=>b.default])},40617,a=>{"use strict";let b=(0,a.i(25700).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);a.s(["default",()=>b])},76096,a=>{"use strict";let b=(0,a.i(25700).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["default",()=>b])},45242,79620,73998,26633,30931,307,39116,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);a.s(["PaperclipIcon",()=>c],45242);var d=a.i(10973),e=a.i(85536);function f({className:a,...b}){return(0,d.jsx)("textarea",{"data-slot":"textarea",className:(0,e.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...b})}a.s(["Textarea",()=>f],79620);var g=a.i(2807),h=a.i(7052),h=h,i=a.i(76096);a.s(["DownloadIcon",()=>i.default],73998);var i=i,j=a.i(45670),k=a.i(50049);a.s(["VisuallyHidden",0,k],26633);var k=k;let l=(0,b.default)("file",[["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"}]]);var m=a.i(42642),m=m;let n=(0,b.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var o=a.i(40617),o=o;a.i(18948);let p=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),q=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function r(a){if(0===a)return"0 B";let b=Math.floor(Math.log(a)/Math.log(1024));return`${(a/Math.pow(1024,b)).toFixed(+(0!==b))} ${["B","KB","MB","GB"][b]}`}let s=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]);function t(a,b){let c=new URLSearchParams({path:a,mimeType:b});return`/api/attachments/preview?${c.toString()}`}function u({name:a,size:b,mimeType:c,path:f,onRemove:u,loading:v=!1,disabled:w=!1}){let x,y,z=(x=a.lastIndexOf("."))>=0?a.slice(x).toLowerCase():"",A=p.has(z)?n:".pdf"===z?m.default:q.has(z)?o.default:l,B=".pdf"===z?"bg-red-50 text-red-600":p.has(z)?"bg-blue-50 text-blue-600":q.has(z)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600",C=(y=a.lastIndexOf("."))>=0&&s.has(a.slice(y).toLowerCase());return v?(0,d.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-md border",children:(0,d.jsx)(h.default,{className:"text-muted-foreground h-5 w-5 animate-spin"})}):C?(0,d.jsxs)(j.Dialog,{children:[(0,d.jsxs)("div",{className:"group relative",children:[(0,d.jsx)(j.DialogTrigger,{asChild:!0,children:(0,d.jsx)("img",{src:t(f,c),alt:a,title:a,className:"h-12 w-12 cursor-pointer rounded-md border object-cover transition-opacity hover:opacity-80"})}),!w&&(0,d.jsx)("button",{type:"button",onClick:u,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${a}`,children:(0,d.jsx)(g.X,{className:"h-3 w-3"})})]}),(0,d.jsxs)(j.DialogContent,{className:"max-w-3xl gap-0 overflow-hidden border-0 p-0 [&>button:last-child]:!cursor-pointer [&>button:last-child]:!rounded-full [&>button:last-child]:!bg-black/70 [&>button:last-child]:!p-1.5 [&>button:last-child]:!text-white [&>button:last-child]:!opacity-100 [&>button:last-child]:!shadow-lg [&>button:last-child]:!backdrop-blur-md [&>button:last-child]:hover:!bg-black/90",children:[(0,d.jsx)(k.Root,{children:(0,d.jsxs)(j.DialogTitle,{children:["Preview: ",a]})}),(0,d.jsx)("div",{className:"relative bg-black/90",children:(0,d.jsx)("img",{src:t(f,c),alt:a,className:"h-auto max-h-[70vh] w-full object-contain"})}),(0,d.jsxs)("div",{className:"bg-background flex items-center gap-3 px-4 py-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,d.jsx)("span",{className:"truncate text-sm font-medium",children:a}),(0,d.jsx)("span",{className:"text-muted-foreground text-xs",children:r(b)})]}),(0,d.jsx)("a",{href:t(f,c),download:a,className:"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors","aria-label":`Download ${a}`,children:(0,d.jsx)(i.default,{className:"h-4 w-4"})})]})]})]}):(0,d.jsxs)("div",{className:"group relative flex items-center gap-2 rounded-full border py-1 pr-3 pl-2",children:[(0,d.jsx)("div",{className:(0,e.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full",B),children:(0,d.jsx)(A,{className:"h-3 w-3"})}),(0,d.jsx)("span",{className:"max-w-[120px] truncate text-sm",children:a}),(0,d.jsx)("span",{className:"text-muted-foreground text-xs",children:r(b)}),!w&&(0,d.jsx)("button",{type:"button",onClick:u,className:"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex","aria-label":`Remove ${a}`,children:(0,d.jsx)(g.X,{className:"h-3 w-3"})})]})}async function v(){let a=await fetch("/api/dialog/pick-files",{method:"POST"});if(!a.ok)throw Error("Failed to open file dialog");let b=await a.json();return b.cancelled?null:b.files}a.s(["AttachmentChip",()=>u],30931),a.s([],307),a.s(["pickFiles",()=>v],39116)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__e7258841._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/eye.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-tabs%401.1.13_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Breact%40_68a385a9eea120600bb372a91de22b00/node_modules/%40radix-ui/react-tabs/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/tabs.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/code.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/download.ts","../../../../../../../src/presentation/web/components/common/attachment-chip/attachment-chip.tsx","../../../../../../../src/presentation/web/components/ui/textarea.tsx","../../../../../../../src/presentation/web/components/common/attachment-card/attachment-card.tsx","../../../../../../../src/presentation/web/components/common/feature-create-drawer/pick-files.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/image.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/file.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/paperclip.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n 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',\n key: '1nclc0',\n },\n ],\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n];\n\n/**\n * @component @name Eye\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi4wNjIgMTIuMzQ4YTEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgMTkuODc2IDAgMSAxIDAgMCAxIDAgLjY5NiAxMC43NSAxMC43NSAwIDAgMS0xOS44NzYgMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/eye\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Eye = createLucideIcon('eye', __iconNode);\n\nexport default Eye;\n","\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1',\n className\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n 'ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow',\n className\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n 'ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',\n className\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm16 18 6-6-6-6', key: 'eg8j8' }],\n ['path', { d: 'm8 6-6 6 6 6', key: 'ppft3o' }],\n];\n\n/**\n * @component @name Code\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTggNi02LTYtNiIgLz4KICA8cGF0aCBkPSJtOCA2LTYgNiA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/code\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Code = createLucideIcon('code', __iconNode);\n\nexport default Code;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 15V3', key: 'm9g1x1' }],\n ['path', { d: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4', key: 'ih7n3h' }],\n ['path', { d: 'm7 10 5 5 5-5', key: 'brsn70' }],\n];\n\n/**\n * @component @name Download\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTVWMyIgLz4KICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIgLz4KICA8cGF0aCBkPSJtNyAxMCA1IDUgNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/download\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Download = createLucideIcon('download', __iconNode);\n\nexport default Download;\n","/* eslint-disable @next/next/no-img-element -- Local file preview requires raw <img>, not next/image */\n'use client';\n\nimport { X, Loader2Icon, DownloadIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { Dialog, DialogTrigger, DialogContent, DialogTitle } from '@/components/ui/dialog';\nimport { VisuallyHidden } from 'radix-ui';\nimport {\n formatFileSize,\n getFileIcon,\n getFileIconColor,\n} from '@/components/common/attachment-card/attachment-card';\n\nexport interface AttachmentChipProps {\n name: string;\n size: number;\n mimeType: string;\n path: string;\n onRemove: () => void;\n loading?: boolean;\n disabled?: boolean;\n}\n\nconst IMAGE_EXTS = new Set(['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.ico', '.bmp']);\n\nfunction isImage(name: string): boolean {\n const dot = name.lastIndexOf('.');\n return dot >= 0 && IMAGE_EXTS.has(name.slice(dot).toLowerCase());\n}\n\nfunction previewUrl(path: string, mimeType: string): string {\n const params = new URLSearchParams({ path, mimeType });\n return `/api/attachments/preview?${params.toString()}`;\n}\n\nfunction getExtension(filename: string): string {\n const dot = filename.lastIndexOf('.');\n return dot >= 0 ? filename.slice(dot).toLowerCase() : '';\n}\n\nexport function AttachmentChip({\n name,\n size,\n mimeType,\n path,\n onRemove,\n loading = false,\n disabled = false,\n}: AttachmentChipProps) {\n const ext = getExtension(name);\n const Icon = getFileIcon(ext);\n const iconColorClass = getFileIconColor(ext);\n const imageFile = isImage(name);\n\n if (loading) {\n return (\n <div className=\"flex h-12 w-12 items-center justify-center rounded-md border\">\n <Loader2Icon className=\"text-muted-foreground h-5 w-5 animate-spin\" />\n </div>\n );\n }\n\n if (imageFile) {\n return (\n <Dialog>\n <div className=\"group relative\">\n <DialogTrigger asChild>\n <img\n src={previewUrl(path, mimeType)}\n alt={name}\n title={name}\n className=\"h-12 w-12 cursor-pointer rounded-md border object-cover transition-opacity hover:opacity-80\"\n />\n </DialogTrigger>\n {!disabled && (\n <button\n type=\"button\"\n onClick={onRemove}\n className=\"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex\"\n aria-label={`Remove ${name}`}\n >\n <X className=\"h-3 w-3\" />\n </button>\n )}\n </div>\n <DialogContent className=\"max-w-3xl gap-0 overflow-hidden border-0 p-0 [&>button:last-child]:!cursor-pointer [&>button:last-child]:!rounded-full [&>button:last-child]:!bg-black/70 [&>button:last-child]:!p-1.5 [&>button:last-child]:!text-white [&>button:last-child]:!opacity-100 [&>button:last-child]:!shadow-lg [&>button:last-child]:!backdrop-blur-md [&>button:last-child]:hover:!bg-black/90\">\n <VisuallyHidden.Root>\n <DialogTitle>Preview: {name}</DialogTitle>\n </VisuallyHidden.Root>\n <div className=\"relative bg-black/90\">\n <img\n src={previewUrl(path, mimeType)}\n alt={name}\n className=\"h-auto max-h-[70vh] w-full object-contain\"\n />\n </div>\n <div className=\"bg-background flex items-center gap-3 px-4 py-3\">\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"truncate text-sm font-medium\">{name}</span>\n <span className=\"text-muted-foreground text-xs\">{formatFileSize(size)}</span>\n </div>\n <a\n href={previewUrl(path, mimeType)}\n download={name}\n className=\"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors\"\n aria-label={`Download ${name}`}\n >\n <DownloadIcon className=\"h-4 w-4\" />\n </a>\n </div>\n </DialogContent>\n </Dialog>\n );\n }\n\n return (\n <div className=\"group relative flex items-center gap-2 rounded-full border py-1 pr-3 pl-2\">\n <div\n className={cn(\n 'flex h-6 w-6 shrink-0 items-center justify-center rounded-full',\n iconColorClass\n )}\n >\n <Icon className=\"h-3 w-3\" />\n </div>\n <span className=\"max-w-[120px] truncate text-sm\">{name}</span>\n <span className=\"text-muted-foreground text-xs\">{formatFileSize(size)}</span>\n {!disabled && (\n <button\n type=\"button\"\n onClick={onRemove}\n className=\"absolute -top-1.5 -right-1.5 hidden h-5 w-5 cursor-pointer items-center justify-center rounded-full bg-black/70 text-white group-hover:flex\"\n aria-label={`Remove ${name}`}\n >\n <X className=\"h-3 w-3\" />\n </button>\n )}\n </div>\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import type { LucideIcon } from 'lucide-react';\nimport { FileIcon, FileTextIcon, ImageIcon, CodeIcon, Trash2Icon, Loader2Icon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/components/ui/button';\n\nexport interface AttachmentCardProps {\n name: string;\n size: number;\n mimeType: string;\n onRemove: () => void;\n loading?: boolean;\n disabled?: boolean;\n /** Optional secondary text shown below the filename (e.g. file path). */\n subtitle?: string;\n}\n\nexport function AttachmentCard({\n name,\n size,\n mimeType: _mimeType,\n onRemove,\n loading = false,\n disabled = false,\n subtitle,\n}: AttachmentCardProps) {\n const ext = getExtension(name);\n const Icon = getFileIcon(ext);\n const iconColorClass = getFileIconColor(ext);\n\n return (\n <div className=\"flex items-center gap-3 rounded-md border p-2\">\n <div\n className={cn('flex h-8 w-8 shrink-0 items-center justify-center rounded', iconColorClass)}\n >\n <Icon className=\"h-4 w-4\" />\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"truncate text-sm font-medium\">{name}</span>\n {subtitle ? (\n <span className=\"text-muted-foreground truncate text-xs\">{subtitle}</span>\n ) : null}\n <span className=\"text-muted-foreground text-xs\">\n {loading ? 'Uploading...' : formatFileSize(size)}\n </span>\n </div>\n {loading ? (\n <Loader2Icon className=\"text-muted-foreground h-4 w-4 animate-spin\" />\n ) : (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-xs\"\n onClick={onRemove}\n disabled={disabled}\n aria-label={`Remove ${name}`}\n >\n <Trash2Icon className=\"h-3 w-3\" />\n </Button>\n )}\n </div>\n );\n}\n\nfunction getExtension(filename: string): string {\n const dot = filename.lastIndexOf('.');\n return dot >= 0 ? filename.slice(dot).toLowerCase() : '';\n}\n\nconst IMAGE_EXTS = new Set(['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.ico', '.bmp']);\nconst CODE_EXTS = new Set([\n '.ts',\n '.tsx',\n '.js',\n '.jsx',\n '.json',\n '.yaml',\n '.yml',\n '.xml',\n '.html',\n '.css',\n '.md',\n]);\n\nexport function getFileIcon(ext: string): LucideIcon {\n if (IMAGE_EXTS.has(ext)) return ImageIcon;\n if (ext === '.pdf') return FileTextIcon;\n if (CODE_EXTS.has(ext)) return CodeIcon;\n return FileIcon;\n}\n\nexport function getFileIconColor(ext: string): string {\n if (ext === '.pdf') return 'bg-red-50 text-red-600';\n if (IMAGE_EXTS.has(ext)) return 'bg-blue-50 text-blue-600';\n if (CODE_EXTS.has(ext)) return 'bg-emerald-50 text-emerald-600';\n return 'bg-gray-50 text-gray-600';\n}\n\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 B';\n const units = ['B', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, i)).toFixed(i === 0 ? 0 : 1)} ${units[i]}`;\n}\n","import type { FileAttachment } from '@shepai/core/infrastructure/services/file-dialog.service';\n\n/**\n * Opens a native OS file picker dialog via API route.\n * Returns the selected files with metadata, or null if the user cancelled.\n */\nexport async function pickFiles(): Promise<FileAttachment[] | null> {\n const res = await fetch('/api/dialog/pick-files', { method: 'POST' });\n\n if (!res.ok) {\n throw new Error('Failed to open file dialog');\n }\n\n const data: { files: FileAttachment[] | null; cancelled: boolean } = await res.json();\n return data.cancelled ? null : data.files;\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', ry: '2', key: '1m3agn' }],\n ['circle', { cx: '9', cy: '9', r: '2', key: 'af1f0g' }],\n ['path', { d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21', key: '1xmnt7' }],\n];\n\n/**\n * @component @name Image\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMiIgLz4KICA8cGF0aCBkPSJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/image\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Image = createLucideIcon('image', __iconNode);\n\nexport default Image;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n 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',\n key: '1oefj6',\n },\n ],\n ['path', { d: 'M14 2v5a1 1 0 0 0 1 1h5', key: 'wfsgrz' }],\n];\n\n/**\n * @component @name File\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst File = createLucideIcon('file', __iconNode);\n\nexport default File;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551',\n key: '1miecu',\n },\n ],\n];\n\n/**\n * @component @name Paperclip\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgNi04LjQxNCA4LjU4NmEyIDIgMCAwIDAgMi44MjkgMi44MjlsOC40MTQtOC41ODZhNCA0IDAgMSAwLTUuNjU3LTUuNjU3bC04LjM3OSA4LjU1MWE2IDYgMCAxIDAgOC40ODUgOC40ODVsOC4zNzktOC41NTEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/paperclip\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Paperclip = createLucideIcon('paperclip', __iconNode);\n\nexport default Paperclip;\n"],"names":[],"mappings":"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","ignoreList":[0,1,9,10,11]}
@@ -0,0 +1,3 @@
1
+ module.exports=[15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},53170,a=>{"use strict";let b=(0,a.i(25700).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"}]]);a.s(["GitBranch",()=>b],53170)},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},48972,a=>{"use strict";function b(a,[b,c]){return Math.min(c,Math.max(b,a))}a.s(["clamp",()=>b])},67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)},1377,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("001c7983b5c0903aa5ee137fe8add842e12ed8cdff",b.callServer,void 0,b.findSourceMapURL,"pickFolder");async function d(){let a=await c();if(a.error)throw Error(a.error);return a.path}a.s(["pickFolder",()=>d],1377)},42527,a=>{"use strict";let b=(0,a.i(25700).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"}]]);a.s(["FolderPlus",()=>b],42527)},1356,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"blocked",pending:"pending",error:"error",creating:null,deleting:null};function e(a){return d[a]}let f=(0,c.createContext)(null);function g({children:a}){let[d,e]=(0,c.useState)([]),g=(0,c.useMemo)(()=>({features:d,setFeatures:e}),[d]);return(0,b.jsx)(f.Provider,{value:g,children:a})}function h(){let a=(0,c.useContext)(f);if(!a)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return a}a.s(["SidebarFeaturesProvider",()=>g,"mapNodeStateToSidebarStatus",()=>e,"useSidebarFeaturesContext",()=>h])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__ec26e818._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/git-branch.ts","../../../../../../../src/presentation/web/components/ui/input.tsx","../../../../../../../node_modules/.pnpm/%40radix-ui%2Bnumber%401.1.1/node_modules/%40radix-ui/number/src/number.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/puzzle.ts","../../../../../../../src/presentation/web/app/actions/data%3Abc513c%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/components/common/add-repository-button/pick-folder.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/folder-plus.ts","../../../../../../../src/presentation/web/hooks/sidebar-features-context.tsx"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['line', { x1: '6', x2: '6', y1: '3', y2: '15', key: '17qcm7' }],\n ['circle', { cx: '18', cy: '6', r: '3', key: '1h7g24' }],\n ['circle', { cx: '6', cy: '18', r: '3', key: 'fqmcym' }],\n ['path', { d: 'M18 9a9 9 0 0 1-9 9', key: 'n2h4wq' }],\n];\n\n/**\n * @component @name GitBranch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNiIgeDI9IjYiIHkxPSIzIiB5Mj0iMTUiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSI2IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyIgLz4KICA8cGF0aCBkPSJNMTggOWE5IDkgMCAwIDEtOSA5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/git-branch\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst GitBranch = createLucideIcon('git-branch', __iconNode);\n\nexport default GitBranch;\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport { clamp };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z',\n key: 'w46dr5',\n },\n ],\n];\n\n/**\n * @component @name Puzzle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUuMzkgNC4zOWExIDEgMCAwIDAgMS42OC0uNDc0IDIuNSAyLjUgMCAxIDEgMy4wMTQgMy4wMTUgMSAxIDAgMCAwLS40NzQgMS42OGwxLjY4MyAxLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwIDMuNDE0TDE5LjYxIDE1LjM5YTEgMSAwIDAgMS0xLjY4LS40NzQgMi41IDIuNSAwIDEgMC0zLjAxNCAzLjAxNSAxIDEgMCAwIDEgLjQ3NCAxLjY4bC0xLjY4MyAxLjY4MmEyLjQxNCAyLjQxNCAwIDAgMS0zLjQxNCAwTDguNjEgMTkuNjFhMSAxIDAgMCAwLTEuNjguNDc0IDIuNSAyLjUgMCAxIDEtMy4wMTQtMy4wMTUgMSAxIDAgMCAwIC40NzQtMS42OGwtMS42ODMtMS42ODJhMi40MTQgMi40MTQgMCAwIDEgMC0zLjQxNEw0LjM5IDguNjFhMSAxIDAgMCAxIDEuNjguNDc0IDIuNSAyLjUgMCAxIDAgMy4wMTQtMy4wMTUgMSAxIDAgMCAxLS40NzQtMS42OGwxLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAzLjQxNCAweiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/puzzle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Puzzle = createLucideIcon('puzzle', __iconNode);\n\nexport default Puzzle;\n","/* __next_internal_action_entry_do_not_use__ [{\"001c7983b5c0903aa5ee137fe8add842e12ed8cdff\":\"pickFolder\"},\"src/presentation/web/app/actions/pick-folder.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"001c7983b5c0903aa5ee137fe8add842e12ed8cdff\",callServer,void 0,findSourceMapURL,\"pickFolder\");export{$$RSC_SERVER_ACTION_0 as pickFolder};","import { pickFolder as pickFolderAction } from '@/app/actions/pick-folder';\n\n/**\n * Opens a native OS folder picker dialog via server action.\n * Returns the selected absolute path, or null if the user cancelled.\n */\nexport async function pickFolder(): Promise<string | null> {\n const result = await pickFolderAction();\n\n if (result.error) {\n throw new Error(result.error);\n }\n\n return result.path;\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 10v6', key: '1bos4e' }],\n ['path', { d: 'M9 13h6', key: '1uhe8q' }],\n [\n 'path',\n {\n 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',\n key: '1kt360',\n },\n ],\n];\n\n/**\n * @component @name FolderPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTB2NiIgLz4KICA8cGF0aCBkPSJNOSAxM2g2IiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-plus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FolderPlus = createLucideIcon('folder-plus', __iconNode);\n\nexport default FolderPlus;\n","'use client';\n\nimport { createContext, useContext, useState, useMemo, type ReactNode } from 'react';\nimport type { FeatureNodeState } from '@/components/common/feature-node/feature-node-state-config';\nimport type { FeatureStatus } from '@/components/common/feature-status-config';\n\n// Re-export the FeatureItem type so consumers can import from one place.\n// This will gain `featureId` in a later phase.\nexport interface SidebarFeatureItem {\n name: string;\n status: FeatureStatus;\n featureId: string;\n startedAt?: number;\n duration?: string;\n agentType?: string;\n modelId?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Pure mapping: FeatureNodeState (6-state) → FeatureStatus (5-state) | null\n// ---------------------------------------------------------------------------\n\nconst stateMapping: Record<FeatureNodeState, FeatureStatus | null> = {\n 'action-required': 'action-needed',\n running: 'in-progress',\n done: 'done',\n blocked: 'blocked',\n pending: 'pending',\n error: 'error',\n creating: null,\n deleting: null,\n};\n\n/**\n * Maps a canvas FeatureNodeState to the sidebar's 5-state FeatureStatus.\n * Returns `null` for `creating` (optimistic UI) — these should be excluded from the sidebar.\n */\nexport function mapNodeStateToSidebarStatus(state: FeatureNodeState): FeatureStatus | null {\n return stateMapping[state];\n}\n\n// ---------------------------------------------------------------------------\n// SidebarFeaturesContext\n// ---------------------------------------------------------------------------\n\ninterface SidebarFeaturesContextValue {\n features: SidebarFeatureItem[];\n setFeatures: (features: SidebarFeatureItem[]) => void;\n}\n\nconst SidebarFeaturesContext = createContext<SidebarFeaturesContextValue | null>(null);\n\ninterface SidebarFeaturesProviderProps {\n children: ReactNode;\n}\n\nexport function SidebarFeaturesProvider({ children }: SidebarFeaturesProviderProps) {\n const [features, setFeatures] = useState<SidebarFeatureItem[]>([]);\n\n const value = useMemo<SidebarFeaturesContextValue>(() => ({ features, setFeatures }), [features]);\n\n return (\n <SidebarFeaturesContext.Provider value={value}>{children}</SidebarFeaturesContext.Provider>\n );\n}\n\nexport function useSidebarFeaturesContext(): SidebarFeaturesContextValue {\n const ctx = useContext(SidebarFeaturesContext);\n if (!ctx) {\n throw new Error('useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>');\n }\n return ctx;\n}\n"],"names":["module","exports","require","vendored","HooksClientContext","ServerInsertedHtml","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React","ReactDOM","ReactServerDOMTurbopackClient","AppRouterContext"],"mappings":"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AAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,C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","ignoreList":[0,1,2,3,4,5,6,7,8,11,14]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},47407,a=>{a.n(a.i(5983))},59975,a=>{a.n(a.i(72884))},63754,a=>{a.n(a.i(39838))},27075,a=>{a.n(a.i(26048))},37458,a=>{a.n(a.i(72330))},85712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},89933,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(85712),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__f0589cc3._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/http-access-fallback/http-access-fallback.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/not-found.ts"],"sourcesContent":["export const HTTPAccessErrorStatus = {\n NOT_FOUND: 404,\n FORBIDDEN: 403,\n UNAUTHORIZED: 401,\n}\n\nconst ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus))\n\nexport const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK'\n\nexport type HTTPAccessFallbackError = Error & {\n digest: `${typeof HTTP_ERROR_FALLBACK_ERROR_CODE};${string}`\n}\n\n/**\n * Checks an error to determine if it's an error generated by\n * the HTTP navigation APIs `notFound()`, `forbidden()` or `unauthorized()`.\n *\n * @param error the error that may reference a HTTP access error\n * @returns true if the error is a HTTP access error\n */\nexport function isHTTPAccessFallbackError(\n error: unknown\n): error is HTTPAccessFallbackError {\n if (\n typeof error !== 'object' ||\n error === null ||\n !('digest' in error) ||\n typeof error.digest !== 'string'\n ) {\n return false\n }\n const [prefix, httpStatus] = error.digest.split(';')\n\n return (\n prefix === HTTP_ERROR_FALLBACK_ERROR_CODE &&\n ALLOWED_CODES.has(Number(httpStatus))\n )\n}\n\nexport function getAccessFallbackHTTPStatus(\n error: HTTPAccessFallbackError\n): number {\n const httpStatus = error.digest.split(';')[1]\n return Number(httpStatus)\n}\n\nexport function getAccessFallbackErrorTypeByStatus(\n status: number\n): 'not-found' | 'forbidden' | 'unauthorized' | undefined {\n switch (status) {\n case 401:\n return 'unauthorized'\n case 403:\n return 'forbidden'\n case 404:\n return 'not-found'\n default:\n return\n }\n}\n","import {\n HTTP_ERROR_FALLBACK_ERROR_CODE,\n type HTTPAccessFallbackError,\n} from './http-access-fallback/http-access-fallback'\n\n/**\n * This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found)\n * within a route segment as well as inject a tag.\n *\n * `notFound()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a `<meta name=\"robots\" content=\"noindex\" />` meta tag and set the status code to 404.\n * - In a Route Handler or Server Action, it will serve a 404 to the caller.\n *\n * Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found)\n */\n\nconst DIGEST = `${HTTP_ERROR_FALLBACK_ERROR_CODE};404`\n\nexport function notFound(): never {\n const error = new Error(DIGEST) as HTTPAccessFallbackError\n ;(error as HTTPAccessFallbackError).digest = DIGEST\n\n throw error\n}\n"],"names":["HTTPAccessErrorStatus","HTTP_ERROR_FALLBACK_ERROR_CODE","getAccessFallbackErrorTypeByStatus","getAccessFallbackHTTPStatus","isHTTPAccessFallbackError","NOT_FOUND","FORBIDDEN","UNAUTHORIZED","ALLOWED_CODES","Set","Object","values","error","digest","prefix","httpStatus","split","has","Number","status","notFound","DIGEST","Error"],"mappings":"kYAAaA,qBAAqB,CAAA,kBAArBA,GAQAC,8BAA8B,CAAA,kBAA9BA,GAuCGC,kCAAkC,CAAA,kBAAlCA,GAPAC,2BAA2B,CAAA,kBAA3BA,GAnBAC,yBAAyB,CAAA,kBAAzBA,uEArBT,IAAMJ,EAAwB,CACnCK,UAAW,IACXC,UAAW,IACXC,aAAc,GAChB,EAEMC,EAAgB,IAAIC,IAAIC,OAAOC,MAAM,CAACX,IAE/BC,EAAiC,2BAavC,SAASG,EACdQ,CAAc,EAEd,GACmB,UAAjB,OAAOA,GACPA,AAAU,UACV,CAAE,CAAA,WAAYA,CAAAA,CAAI,EACM,UAAxB,AACA,OADOA,EAAMC,MAAM,CAEnB,OAAO,EAET,GAAM,CAACC,EAAQC,EAAW,CAAGH,EAAMC,MAAM,CAACG,KAAK,CAAC,KAEhD,OACEF,IAAWb,GACXO,EAAcS,GAAG,CAACC,OAAOH,GAE7B,CAEO,SAASZ,EACdS,CAA8B,EAG9B,OAAOM,OADYN,AACLG,EADWF,MAAM,CAACG,KAAK,CAAC,IAAI,CAAC,EAAE,CAE/C,CAEO,SAASd,EACdiB,CAAc,EAEd,OAAQA,GACN,KAAK,IACH,MAAO,cACT,MAAK,IACH,MAAO,WACT,MAAK,IACH,MAAO,WACT,SACE,MACJ,CACF,+TCtCgBC,WAAAA,qCAAAA,aAnBT,CAAA,CAAA,IAAA,GAiBDC,EAAS,CAAA,EAAGpB,EAAAA,8BAA8B,CAAC,IAAI,CAAC,CAE/C,SAASmB,IACd,IAAMR,EAAQ,OAAA,cAAiB,CAAjB,AAAIU,MAAMD,GAAV,oBAAA,OAAA,mBAAA,eAAA,EAAgB,EAG9B,OAFET,EAAkCC,MAAM,CAAGQ,EAEvCT,CACR","ignoreList":[0,1]}
@@ -1,3 +1,3 @@
1
- module.exports=[50490,5698,a=>{"use strict";var b=a.i(25700);let c=(0,b.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"}]]);a.s(["Play",()=>c],50490);let d=(0,b.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",()=>d],5698)},69029,5623,45670,85080,49235,a=>{"use strict";var b=a.i(10973),c=a.i(88064),d=a.i(82697),e=a.i(85536),f=a.i(18948),g=a.i(19884);function h({label:a,onClick:h,loading:i,error:j,icon:k,iconOnly:l=!1,variant:m="outline",size:n="sm"}){let o=(0,g.useSoundAction)("click");return(0,b.jsxs)(f.Button,{variant:m,size:n,"aria-label":a,disabled:i,onClick:()=>{o.play(),h()},className:(0,e.cn)("gap-1.5",j&&"text-destructive hover:text-destructive",!j&&l&&"ghost"===m&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[i?(0,b.jsx)(c.Loader2,{className:"size-4 animate-spin"}):j?(0,b.jsx)(d.CircleAlert,{className:"size-4"}):(0,b.jsx)(k,{className:"size-4"}),l?null:a]})}a.s(["ActionButton",()=>h],5623),a.s([],69029);var i=a.i(96960),j=a.i(71238),k=a.i(63698),l=a.i(46847),m=a.i(58339),n=a.i(71335),o=a.i(2807);let p=n.Dialog.Root,q=n.Dialog.Trigger,r=n.Dialog.Portal,s=n.Dialog.Close,t=i.forwardRef(({className:a,onClick:c,...d},f)=>(0,b.jsx)(n.Dialog.Overlay,{ref:f,className:(0,e.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",a),onClick:a=>{a.stopPropagation(),c?.(a)},...d}));t.displayName=n.Dialog.Overlay.displayName;let u=i.forwardRef(({className:a,children:c,...d},f)=>(0,b.jsxs)(r,{children:[(0,b.jsx)(t,{}),(0,b.jsxs)(n.Dialog.Content,{ref:f,className:(0,e.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",a),...d,children:[c,(0,b.jsxs)(n.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,b.jsx)(o.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=n.Dialog.Content.displayName;let v=({className:a,...c})=>(0,b.jsx)("div",{className:(0,e.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...c});v.displayName="DialogHeader";let w=({className:a,...c})=>(0,b.jsx)("div",{className:(0,e.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...c});w.displayName="DialogFooter";let x=i.forwardRef(({className:a,...c},d)=>(0,b.jsx)(n.Dialog.Title,{ref:d,className:(0,e.cn)("text-lg leading-none font-semibold tracking-tight",a),...c}));x.displayName=n.Dialog.Title.displayName;let y=i.forwardRef(({className:a,...c},d)=>(0,b.jsx)(n.Dialog.Description,{ref:d,className:(0,e.cn)("text-muted-foreground text-sm",a),...c}));y.displayName=n.Dialog.Description.displayName,a.s(["Dialog",()=>p,"DialogClose",()=>s,"DialogContent",()=>u,"DialogDescription",()=>y,"DialogFooter",()=>w,"DialogHeader",()=>v,"DialogTitle",()=>x,"DialogTrigger",()=>q],45670);var z=a.i(25674);let A=(0,z.createServerReference)("40fdd65bb533e2fd4d2b05902dc6b479c9caae9786",z.callServer,void 0,z.findSourceMapURL,"getDeploymentLogs");function B({open:a,onOpenChange:c,targetId:d}){let{logs:e,isConnected:f}=function(a){let[b,c]=(0,i.useState)([]),[d,e]=(0,i.useState)(!1),f=(0,i.useRef)(null),g=(0,i.useCallback)(()=>{f.current&&(f.current.close(),f.current=null),e(!1)},[]);return(0,i.useEffect)(()=>{if(!a){c([]),e(!1);return}A(a).then(a=>{a&&c(a)}).catch(()=>{});let b=new EventSource(`/api/deployment-logs?targetId=${a}`);return f.current=b,b.onopen=()=>{e(!0)},b.addEventListener("log",a=>{let b=JSON.parse(a.data);c(a=>[...a,b])}),b.onerror=()=>{e(!1)},()=>{b.close(),f.current=null}},[a,g]),{logs:b,isConnected:d}}(a?d:null);return(0,b.jsx)(C,{open:a,onOpenChange:c,logs:e,isConnected:f})}function C({open:a,onOpenChange:c,logs:d,isConnected:e}){let f=(0,i.useRef)(null),g=(0,i.useRef)(!0),h=(0,i.useCallback)(()=>{let a=f.current;a&&(g.current=a.scrollTop+a.clientHeight>=a.scrollHeight-50)},[]);return(0,i.useEffect)(()=>{g.current&&f.current&&(f.current.scrollTop=f.current.scrollHeight)},[d]),(0,b.jsx)(p,{open:a,onOpenChange:c,children:(0,b.jsxs)(u,{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,b.jsxs)(v,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,b.jsx)(x,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,b.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${e?"bg-green-500":"bg-zinc-500"}`}),(0,b.jsx)("span",{className:"text-xs text-zinc-400",children:e?"Connected":"Disconnected"})]})]}),(0,b.jsxs)("div",{ref:f,onScroll:h,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===d.length?(0,b.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):d.map(a=>(0,b.jsx)(D,{entry:a},`${a.timestamp}-${a.stream}-${a.line}`)),!e&&d.length>0&&(0,b.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function D({entry:a}){return(0,b.jsx)("div",{"data-stream":a.stream,className:"stderr"===a.stream?"text-red-400":"text-zinc-200",children:(0,b.jsx)("span",{className:"break-all whitespace-pre-wrap",children:a.line})})}function E({status:a,url:d,targetId:e}){let[f,g]=(0,i.useState)(!1),h=e&&(a===l.DeploymentState.Booting||a===l.DeploymentState.Ready);switch(a){case l.DeploymentState.Booting:return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(m.Badge,{className:"border-transparent bg-blue-50 text-blue-700 hover:bg-blue-50",children:[(0,b.jsx)(c.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),"Starting...",h?(0,b.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-blue-100",onClick:a=>{a.stopPropagation(),g(!0)},children:(0,b.jsx)(k.Terminal,{className:"h-3 w-3"})}):null]}),h?(0,b.jsx)(B,{open:f,onOpenChange:g,targetId:e}):null]});case l.DeploymentState.Ready:return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(m.Badge,{className:"border-transparent bg-green-50 text-green-700 hover:bg-green-50",children:[(0,b.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full bg-green-500"}),d?(0,b.jsxs)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 hover:underline",onClick:a=>a.stopPropagation(),children:[d,(0,b.jsx)(j.ExternalLink,{className:"h-3 w-3"})]}):"Ready",h?(0,b.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-green-100",onClick:a=>{a.stopPropagation(),g(!0)},children:(0,b.jsx)(k.Terminal,{className:"h-3 w-3"})}):null]}),h?(0,b.jsx)(B,{open:f,onOpenChange:g,targetId:e}):null]});default:return null}}a.s(["DeploymentStatusBadge",()=>E],85080),a.s([],49235)},2824,a=>{"use strict";let b;var c=a.i(10973),d=a.i(10568),e=a.i(40093),f=a.i(96960);let g=f.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}),h=()=>{let a=f.default.useContext(g);if(!a)throw Error("useDrawerContext must be used within a Drawer.Root");return a};function i(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function j(){return k(/^iPhone/)||k(/^iPad/)||k(/^Mac/)&&navigator.maxTouchPoints>1}function k(a){}!function(a){if(!a||"u"<typeof document)return;let b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",b.appendChild(c),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}("[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 l=f.useEffect;"u">typeof document&&window.visualViewport;let m=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),n=0;function o(...a){return f.useCallback(function(...a){return b=>a.forEach(a=>{"function"==typeof a?a(b):null!=a&&(a.current=b)})}(...a),a)}let p=new WeakMap;function q(a,b,c=!1){if(!a||!(a instanceof HTMLElement))return;let d={};Object.entries(b).forEach(([b,c])=>{b.startsWith("--")?a.style.setProperty(b,c):(d[b]=a.style[b],a.style[b]=c)}),c||p.set(a,d)}let r=a=>{switch(a){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return a}};function s(a,b){if(!a)return null;let c=window.getComputedStyle(a),d=c.transform||c.webkitTransform||c.mozTransform,e=d.match(/^matrix3d\((.+)\)$/);return e?parseFloat(e[1].split(", ")[r(b)?13:12]):(e=d.match(/^matrix\((.+)\)$/))?parseFloat(e[1].split(", ")[r(b)?5:4]):null}function t(a,b){if(!a)return()=>{};let c=a.style.cssText;return Object.assign(a.style,b),()=>{a.style.cssText=c}}let u=[.32,.72,0,1],v="vaul-dragging";function w(a){let b=f.default.useRef(a);return f.default.useEffect(()=>{b.current=a}),f.default.useMemo(()=>(...a)=>null==b.current?void 0:b.current.call(b,...a),[])}function x({prop:a,defaultProp:b,onChange:c=()=>{}}){let[d,e]=function({defaultProp:a,onChange:b}){let c=f.default.useState(a),[d]=c,e=f.default.useRef(d),g=w(b);return f.default.useEffect(()=>{e.current!==d&&(g(d),e.current=d)},[d,e,g]),c}({defaultProp:b,onChange:c}),g=void 0!==a,h=g?a:d,i=w(c);return[h,f.default.useCallback(b=>{if(g){let c="function"==typeof b?b(a):b;c!==a&&i(c)}else e(b)},[g,a,e,i])]}let y=()=>()=>{},z=null;function A({open:a,onOpenChange:c,children:d,onDrag:h,onRelease:k,snapPoints:o,shouldScaleBackground:t=!1,setBackgroundColorOnScale:w=!0,closeThreshold:y=.25,scrollLockTimeout:A=100,dismissible:B=!0,handleOnly:C=!1,fadeFromIndex:D=o&&o.length-1,activeSnapPoint:E,setActiveSnapPoint:F,fixed:G,modal:H=!0,onClose:I,nested:J,noBodyStyles:K=!1,direction:L="bottom",defaultOpen:M=!1,disablePreventScroll:N=!0,snapToSequentialPoint:O=!1,preventScrollRestoration:P=!1,repositionInputs:Q=!0,onAnimationEnd:R,container:S,autoFocus:T=!1}){var U,V;let[W=!1,X]=x({defaultProp:M,prop:a,onChange:a=>{null==c||c(a),a||J||aA(),setTimeout(()=>{null==R||R(a)},500),a||(document.body.style.pointerEvents="auto")}}),[Y,Z]=f.default.useState(!1),[$,_]=f.default.useState(!1),[aa,ab]=f.default.useState(!1),ac=f.default.useRef(null),ad=f.default.useRef(null),ae=f.default.useRef(null),af=f.default.useRef(null),ag=f.default.useRef(null),ah=f.default.useRef(!1),ai=f.default.useRef(null),aj=f.default.useRef(0),ak=f.default.useRef(!1),al=f.default.useRef(!M),am=f.default.useRef(0),an=f.default.useRef(null),ao=f.default.useRef((null==(U=an.current)?void 0:U.getBoundingClientRect().height)||0),ap=f.default.useRef((null==(V=an.current)?void 0:V.getBoundingClientRect().width)||0),aq=f.default.useRef(0),ar=f.default.useCallback(a=>{o&&a===aw.length-1&&(ad.current=new Date)},[]),{activeSnapPoint:as,activeSnapPointIndex:at,setActiveSnapPoint:au,onRelease:av,snapPointsOffset:aw,onDrag:ax,shouldFade:ay,getPercentageDragged:az}=function({activeSnapPointProp:a,setActiveSnapPointProp:b,snapPoints:c,drawerRef:d,overlayRef:e,fadeFromIndex:g,onSnapPointChange:h,direction:i="bottom",container:j,snapToSequentialPoint:k}){let[l,m]=x({prop:a,defaultProp:null==c?void 0:c[0],onChange:b}),[n,o]=f.default.useState(void 0);f.default.useEffect(()=>{function a(){o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);let p=f.default.useMemo(()=>l===(null==c?void 0:c[c.length-1])||null,[c,l]),s=f.default.useMemo(()=>{var a;return null!=(a=null==c?void 0:c.findIndex(a=>a===l))?a:null},[c,l]),t=c&&c.length>0&&(g||0===g)&&!Number.isNaN(g)&&c[g]===l||!c,v=f.default.useMemo(()=>{var a;let b=j?{width:j.getBoundingClientRect().width,height:j.getBoundingClientRect().height}:{width:0,height:0};return null!=(a=null==c?void 0:c.map(a=>{let c="string"==typeof a,d=0;if(c&&(d=parseInt(a,10)),r(i)){let e=c?d:n?a*b.height:0;return n?"bottom"===i?b.height-e:-b.height+e:e}let e=c?d:n?a*b.width:0;return n?"right"===i?b.width-e:-b.width+e:e}))?a:[]},[c,n,j]),w=f.default.useMemo(()=>null!==s?null==v?void 0:v[s]:null,[v,s]),y=f.default.useCallback(a=>{var b;let f=null!=(b=null==v?void 0:v.findIndex(b=>b===a))?b:null;h(f),q(d.current,{transition:`transform 0.5s cubic-bezier(${u.join(",")})`,transform:r(i)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`}),v&&f!==v.length-1&&void 0!==g&&f!==g&&f<g?q(e.current,{transition:`opacity 0.5s cubic-bezier(${u.join(",")})`,opacity:"0"}):q(e.current,{transition:`opacity 0.5s cubic-bezier(${u.join(",")})`,opacity:"1"}),m(null==c?void 0:c[Math.max(f,0)])},[d.current,c,v,g,e,m]);return f.default.useEffect(()=>{if(l||a){var b;let d=null!=(b=null==c?void 0:c.findIndex(b=>b===a||b===l))?b:-1;v&&-1!==d&&"number"==typeof v[d]&&y(v[d])}},[l,a,c,v,y]),{isLastSnapPoint:p,activeSnapPoint:l,shouldFade:t,getPercentageDragged:function(a,b){if(!c||"number"!=typeof s||!v||void 0===g)return null;let d=s===g-1;if(s>=g&&b)return 0;if(d&&!b)return 1;if(!t&&!d)return null;let e=d?s+1:s-1,f=a/Math.abs(d?v[e]-v[e-1]:v[e+1]-v[e]);return d?1-f:f},setActiveSnapPoint:m,activeSnapPointIndex:s,onRelease:function({draggedDistance:a,closeDrawer:b,velocity:d,dismissible:f}){if(void 0===g)return;let h="bottom"===i||"right"===i?(null!=w?w:0)-a:(null!=w?w:0)+a,j=s===g-1,l=0===s,m=a>0;if(j&&q(e.current,{transition:`opacity 0.5s cubic-bezier(${u.join(",")})`}),!k&&d>2&&!m)return void(f?b():y(v[0]));if(!k&&d>2&&m&&v&&c)return void y(v[c.length-1]);let n=null==v?void 0:v.reduce((a,b)=>"number"!=typeof a||"number"!=typeof b?a:Math.abs(b-h)<Math.abs(a-h)?b:a),o=r(i)?window.innerHeight:window.innerWidth;if(d>.4&&Math.abs(a)<.4*o){let a=m?1:-1;return a>0&&p&&c?void y(v[c.length-1]):void(l&&a<0&&f&&b(),null===s||y(v[s+a]))}y(n)},onDrag:function({draggedDistance:a}){if(null===w)return;let b="bottom"===i||"right"===i?w-a:w+a;("bottom"===i||"right"===i)&&b<v[v.length-1]||("top"===i||"left"===i)&&b>v[v.length-1]||q(d.current,{transform:r(i)?`translate3d(0, ${b}px, 0)`:`translate3d(${b}px, 0, 0)`})},snapPointsOffset:v}}({snapPoints:o,activeSnapPointProp:E,setActiveSnapPointProp:F,drawerRef:an,fadeFromIndex:D,overlayRef:ac,onSnapPointChange:ar,direction:L,container:S,snapToSequentialPoint:O});!function(a={}){let{isDisabled:c}=a;l(()=>{if(!c)return 1==++n&&j(),()=>{0==--n&&(null==b||b())}},[c])}({isDisabled:!W||$||!H||aa||!Y||!Q||!N});let{restorePositionSetting:aA}=function({isOpen:a,modal:b,nested:c,hasBeenOpened:d,preventScrollRestoration:e,noBodyStyles:g}){let[h,j]=f.default.useState(()=>""),k=f.default.useRef(0),l=f.default.useCallback(()=>{if(i()&&null===z&&a&&!g){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:a,innerHeight:b}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-k.current}px`,left:`${-a}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let a=b-window.innerHeight;a&&k.current>=b&&(document.body.style.top=`${-(k.current+a)}px`)}),300)}},[a]),m=f.default.useCallback(()=>{if(i()&&null!==z&&!g){let a=-parseInt(document.body.style.top,10),b=-parseInt(document.body.style.left,10);Object.assign(document.body.style,z),window.requestAnimationFrame(()=>{e&&h!==window.location.href?j(window.location.href):window.scrollTo(b,a)}),z=null}},[h]);return f.default.useEffect(()=>{function a(){k.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),f.default.useEffect(()=>{if(b)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||m()}},[b,m]),f.default.useEffect(()=>{!c&&d&&(a?(window.matchMedia("(display-mode: standalone)").matches||l(),b||window.setTimeout(()=>{m()},500)):m())},[a,d,h,b,c,l,m]),{restorePositionSetting:m}}({isOpen:W,modal:H,nested:null!=J&&J,hasBeenOpened:Y,preventScrollRestoration:P,noBodyStyles:K});function aB(){return(window.innerWidth-26)/window.innerWidth}function aC(a,b){var c;let d=a,e=null==(c=window.getSelection())?void 0:c.toString(),f=an.current?s(an.current,L):null,g=new Date;if("SELECT"===d.tagName||d.hasAttribute("data-vaul-no-drag")||d.closest("[data-vaul-no-drag]"))return!1;if("right"===L||"left"===L)return!0;if(ad.current&&g.getTime()-ad.current.getTime()<500)return!1;if(null!==f&&("bottom"===L?f>0:f<0))return!0;if(e&&e.length>0)return!1;if(ag.current&&g.getTime()-ag.current.getTime()<A&&0===f||b)return ag.current=g,!1;for(;d;){if(d.scrollHeight>d.clientHeight){if(0!==d.scrollTop)return ag.current=new Date,!1;if("dialog"===d.getAttribute("role"))break}d=d.parentNode}return!0}function aD(a){$&&an.current&&(an.current.classList.remove(v),ah.current=!1,_(!1),af.current=new Date),null==I||I(),a||X(!1),setTimeout(()=>{o&&au(o[0])},500)}function aE(){if(!an.current)return;let a=document.querySelector("[data-vaul-drawer-wrapper]"),b=s(an.current,L);q(an.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${u.join(",")})`}),q(ac.current,{transition:`opacity 0.5s cubic-bezier(${u.join(",")})`,opacity:"1"}),t&&b&&b>0&&W&&q(a,{borderRadius:"8px",overflow:"hidden",...r(L)?{transform:`scale(${aB()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${aB()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${u.join(",")})`},!0)}return f.default.useEffect(()=>{window.requestAnimationFrame(()=>{al.current=!0})},[]),f.default.useEffect(()=>{var a;function b(){var a,b;if(an.current&&Q&&((a=document.activeElement)instanceof HTMLInputElement&&!m.has(a.type)||a instanceof HTMLTextAreaElement||a instanceof HTMLElement&&a.isContentEditable||ak.current)){let a=(null==(b=window.visualViewport)?void 0:b.height)||0,c=window.innerHeight,d=c-a,e=an.current.getBoundingClientRect().height||0;aq.current||(aq.current=e);let f=an.current.getBoundingClientRect().top;if(Math.abs(am.current-d)>60&&(ak.current=!ak.current),o&&o.length>0&&aw&&at&&(d+=aw[at]||0),am.current=d,e>a||ak.current){let b=an.current.getBoundingClientRect().height,g=b;b>a&&(g=a-(e>.8*c?f:26)),G?an.current.style.height=`${b-Math.max(d,0)}px`:an.current.style.height=`${Math.max(g,a-f)}px`}else navigator.userAgent,an.current.style.height=`${aq.current}px`;o&&o.length>0&&!ak.current?an.current.style.bottom="0px":an.current.style.bottom=`${Math.max(d,0)}px`}}return null==(a=window.visualViewport)||a.addEventListener("resize",b),()=>{var a;return null==(a=window.visualViewport)?void 0:a.removeEventListener("resize",b)}},[at,o,aw]),f.default.useEffect(()=>(W&&(q(document.documentElement,{scrollBehavior:"auto"}),ad.current=new Date),()=>{!function(a,b){if(!a||!(a instanceof HTMLElement))return;let c=p.get(a);c&&(a.style[b]=c[b])}(document.documentElement,"scrollBehavior")}),[W]),f.default.useEffect(()=>{H||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[H]),f.default.createElement(e.Root,{defaultOpen:M,onOpenChange:a=>{(B||a)&&(a?Z(!0):aD(!0),X(a))},open:W},f.default.createElement(g.Provider,{value:{activeSnapPoint:as,snapPoints:o,setActiveSnapPoint:au,drawerRef:an,overlayRef:ac,onOpenChange:c,onPress:function(a){var b,c;!B&&!o||(!an.current||an.current.contains(a.target))&&(ao.current=(null==(b=an.current)?void 0:b.getBoundingClientRect().height)||0,ap.current=(null==(c=an.current)?void 0:c.getBoundingClientRect().width)||0,_(!0),ae.current=new Date,j(),a.target.setPointerCapture(a.pointerId),aj.current=r(L)?a.pageY:a.pageX)},onRelease:function(a){var b,c;if(!$||!an.current)return;an.current.classList.remove(v),ah.current=!1,_(!1),af.current=new Date;let d=s(an.current,L);if(!a||!aC(a.target,!1)||!d||Number.isNaN(d)||null===ae.current)return;let e=af.current.getTime()-ae.current.getTime(),f=aj.current-(r(L)?a.pageY:a.pageX),g=Math.abs(f)/e;if(g>.05&&(ab(!0),setTimeout(()=>{ab(!1)},200)),o){av({draggedDistance:f*("bottom"===L||"right"===L?1:-1),closeDrawer:aD,velocity:g,dismissible:B}),null==k||k(a,!0);return}if("bottom"===L||"right"===L?f>0:f<0){aE(),null==k||k(a,!0);return}if(g>.4){aD(),null==k||k(a,!1);return}let h=Math.min(null!=(b=an.current.getBoundingClientRect().height)?b:0,window.innerHeight),i=Math.min(null!=(c=an.current.getBoundingClientRect().width)?c:0,window.innerWidth);if(Math.abs(d)>=("left"===L||"right"===L?i:h)*y){aD(),null==k||k(a,!1);return}null==k||k(a,!0),aE()},onDrag:function(a){if(an.current&&$){let b="bottom"===L||"right"===L?1:-1,c=(aj.current-(r(L)?a.pageY:a.pageX))*b,d=c>0,e=o&&!B&&!d;if(e&&0===at)return;let f=Math.abs(c),g=document.querySelector("[data-vaul-drawer-wrapper]"),i=f/("bottom"===L||"top"===L?ao.current:ap.current),j=az(f,d);if(null!==j&&(i=j),e&&i>=1||!ah.current&&!aC(a.target,d))return;if(an.current.classList.add(v),ah.current=!0,q(an.current,{transition:"none"}),q(ac.current,{transition:"none"}),o&&ax({draggedDistance:c}),d&&!o){let a=Math.min(-(8*(Math.log(c+1)-2)*1),0)*b;q(an.current,{transform:r(L)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`});return}let k=1-i;if((ay||D&&at===D-1)&&(null==h||h(a,i),q(ac.current,{opacity:`${k}`,transition:"none"},!0)),g&&ac.current&&t){let a=Math.min(aB()+i*(1-aB()),1),b=8-8*i,c=Math.max(0,14-14*i);q(g,{borderRadius:`${b}px`,transform:r(L)?`scale(${a}) translate3d(0, ${c}px, 0)`:`scale(${a}) translate3d(${c}px, 0, 0)`,transition:"none"},!0)}if(!o){let a=f*b;q(an.current,{transform:r(L)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})}}},dismissible:B,shouldAnimate:al,handleOnly:C,isOpen:W,isDragging:$,shouldFade:ay,closeDrawer:aD,onNestedDrag:function(a,b){if(b<0)return;let c=(window.innerWidth-16)/window.innerWidth,d=c+b*(1-c),e=-16+16*b;q(an.current,{transform:r(L)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(a){let b=a?(window.innerWidth-16)/window.innerWidth:1,c=a?-16:0;ai.current&&window.clearTimeout(ai.current),q(an.current,{transition:`transform 0.5s cubic-bezier(${u.join(",")})`,transform:r(L)?`scale(${b}) translate3d(0, ${c}px, 0)`:`scale(${b}) translate3d(${c}px, 0, 0)`}),!a&&an.current&&(ai.current=setTimeout(()=>{let a=s(an.current,L);q(an.current,{transition:"none",transform:r(L)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})},500))},onNestedRelease:function(a,b){let c=r(L)?window.innerHeight:window.innerWidth,d=b?(c-16)/c:1,e=b?-16:0;b&&q(an.current,{transition:`transform 0.5s cubic-bezier(${u.join(",")})`,transform:r(L)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`})},keyboardIsOpen:ak,modal:H,snapPointsOffset:aw,activeSnapPointIndex:at,direction:L,shouldScaleBackground:t,setBackgroundColorOnScale:w,noBodyStyles:K,container:S,autoFocus:T}},d))}let B=f.default.forwardRef(function({...a},b){let{overlayRef:c,snapPoints:d,onRelease:g,shouldFade:i,isOpen:j,modal:k,shouldAnimate:l}=h(),m=o(b,c),n=d&&d.length>0;if(!k)return null;let p=f.default.useCallback(a=>g(a),[g]);return f.default.createElement(e.Overlay,{onMouseUp:p,ref:m,"data-vaul-overlay":"","data-vaul-snap-points":j&&n?"true":"false","data-vaul-snap-points-overlay":j&&i?"true":"false","data-vaul-animate":(null==l?void 0:l.current)?"true":"false",...a})});B.displayName="Drawer.Overlay";let C=f.default.forwardRef(function({onPointerDownOutside:a,style:b,onOpenAutoFocus:c,...d},g){let{drawerRef:i,onPress:j,onRelease:k,onDrag:l,keyboardIsOpen:m,snapPointsOffset:n,activeSnapPointIndex:p,modal:q,isOpen:s,direction:v,snapPoints:w,container:x,handleOnly:z,shouldAnimate:A,autoFocus:B}=h(),[C,D]=f.default.useState(!1),E=o(g,i),F=f.default.useRef(null),G=f.default.useRef(null),H=f.default.useRef(!1),I=w&&w.length>0;function J(a){F.current=null,H.current=!1,k(a)}return!function(){let{direction:a,isOpen:b,shouldScaleBackground:c,setBackgroundColorOnScale:d,noBodyStyles:e}=h(),g=f.default.useRef(null),i=(0,f.useMemo)(()=>document.body.style.backgroundColor,[]);function j(){return(window.innerWidth-26)/window.innerWidth}f.default.useEffect(()=>{if(b&&c){g.current&&clearTimeout(g.current);let b=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!b)return;!function(...a){}(d&&!e?t(document.body,{background:"black"}):y,t(b,{transformOrigin:r(a)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${u.join(",")})`}));let c=t(b,{borderRadius:"8px",overflow:"hidden",...r(a)?{transform:`scale(${j()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${j()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{c(),g.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[b,c,i])}(),f.default.useEffect(()=>{I&&window.requestAnimationFrame(()=>{D(!0)})},[]),f.default.createElement(e.Content,{"data-vaul-drawer-direction":v,"data-vaul-drawer":"","data-vaul-delayed-snap-points":C?"true":"false","data-vaul-snap-points":s&&I?"true":"false","data-vaul-custom-container":x?"true":"false","data-vaul-animate":(null==A?void 0:A.current)?"true":"false",...d,ref:E,style:n&&n.length>0?{"--snap-point-height":`${n[null!=p?p:0]}px`,...b}:b,onPointerDown:a=>{z||(null==d.onPointerDown||d.onPointerDown.call(d,a),F.current={x:a.pageX,y:a.pageY},j(a))},onOpenAutoFocus:a=>{null==c||c(a),B||a.preventDefault()},onPointerDownOutside:b=>{(null==a||a(b),!q||b.defaultPrevented)?b.preventDefault():m.current&&(m.current=!1)},onFocusOutside:a=>{if(!q)return void a.preventDefault()},onPointerMove:a=>{if(G.current=a,z||(null==d.onPointerMove||d.onPointerMove.call(d,a),!F.current))return;let b=a.pageY-F.current.y,c=a.pageX-F.current.x,e="touch"===a.pointerType?10:2;((a,b,c=0)=>{if(H.current)return!0;let d=Math.abs(a.y),e=Math.abs(a.x),f=e>d,g=["bottom","right"].includes(b)?1:-1;if("left"===b||"right"===b){if(!(a.x*g<0)&&e>=0&&e<=c)return f}else if(!(a.y*g<0)&&d>=0&&d<=c)return!f;return H.current=!0,!0})({x:c,y:b},v,e)?l(a):(Math.abs(c)>e||Math.abs(b)>e)&&(F.current=null)},onPointerUp:a=>{null==d.onPointerUp||d.onPointerUp.call(d,a),F.current=null,H.current=!1,k(a)},onPointerOut:a=>{null==d.onPointerOut||d.onPointerOut.call(d,a),J(G.current)},onContextMenu:a=>{null==d.onContextMenu||d.onContextMenu.call(d,a),G.current&&J(G.current)}})});C.displayName="Drawer.Content";let D=f.default.forwardRef(function({preventCycle:a=!1,children:b,...c},d){let{closeDrawer:e,isDragging:g,snapPoints:i,activeSnapPoint:j,setActiveSnapPoint:k,dismissible:l,handleOnly:m,isOpen:n,onPress:o,onDrag:p}=h(),q=f.default.useRef(null),r=f.default.useRef(!1);function s(){q.current&&window.clearTimeout(q.current),r.current=!1}return f.default.createElement("div",{onClick:function(){r.current?s():window.setTimeout(()=>{!function(){if(g||a||r.current)return s();if(s(),!i||0===i.length){l||e();return}if(j===i[i.length-1]&&l)return e();let b=i.findIndex(a=>a===j);-1===b||k(i[b+1])}()},120)},onPointerCancel:s,onPointerDown:a=>{m&&o(a),q.current=window.setTimeout(()=>{r.current=!0},250)},onPointerMove:a=>{m&&p(a)},ref:d,"data-vaul-drawer-visible":n?"true":"false","data-vaul-handle":"","aria-hidden":"true",...c},f.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},b))});D.displayName="Drawer.Handle";let E={Root:A,NestedRoot:function({onDrag:a,onOpenChange:b,open:c,...d}){let{onNestedDrag:e,onNestedOpenChange:g,onNestedRelease:i}=h();if(!e)throw Error("Drawer.NestedRoot must be placed in another drawer");return f.default.createElement(A,{nested:!0,open:c,onClose:()=>{g(!1)},onDrag:(b,c)=>{e(b,c),null==a||a(b,c)},onOpenChange:a=>{a&&g(a),null==b||b(a)},onRelease:i,...d})},Content:C,Overlay:B,Trigger:e.Trigger,Portal:function(a){let b=h(),{container:c=b.container,...d}=a;return f.default.createElement(e.Portal,{container:c,...d})},Handle:D,Close:e.Close,Title:e.Title,Description:e.Description};var F=a.i(85536);function G({...a}){return(0,c.jsx)(E.Root,{"data-slot":"drawer",...a})}function H({...a}){return(0,c.jsx)(E.Portal,{"data-slot":"drawer-portal",...a})}function I({className:a,...b}){return(0,c.jsx)(E.Overlay,{"data-slot":"drawer-overlay",className:(0,F.cn)("fixed inset-0 z-50 bg-black/50",a),...b})}function J({className:a,children:b,direction:e="bottom",showCloseButton:f=!0,...g}){return(0,c.jsx)(H,{children:(0,c.jsxs)(E.Content,{"data-slot":"drawer-content",className:(0,F.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===e&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===e&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===e&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===e&&"inset-y-0 left-0 h-full w-3/4 border-r",a),style:{"--initial-transform":"right"===e?"calc(100% + 8px)":"left"===e||"top"===e?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...g.style??{}},...g,children:[b,f?(0,c.jsxs)(E.Close,{className:"ring-offset-background focus:ring-ring absolute top-4 right-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,c.jsx)(d.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function K({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-header",className:(0,F.cn)("flex flex-col gap-1.5 p-4",a),...b})}function L({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-footer",className:(0,F.cn)("mt-auto flex flex-col gap-2 p-4",a),...b})}function M({className:a,...b}){return(0,c.jsx)(E.Title,{"data-slot":"drawer-title",className:(0,F.cn)("text-foreground font-semibold",a),...b})}function N({className:a,...b}){return(0,c.jsx)(E.Description,{"data-slot":"drawer-description",className:(0,F.cn)("text-muted-foreground text-sm",a),...b})}a.s(["Drawer",()=>G,"DrawerContent",()=>J,"DrawerDescription",()=>N,"DrawerFooter",()=>L,"DrawerHeader",()=>K,"DrawerOverlay",()=>I,"DrawerTitle",()=>M],2824)},18662,a=>{"use strict";var b=a.i(96960),c=a.i(87139),d=a.i(25674);let e=(0,d.createServerReference)("4006dcae4d2c3b8f7c17529356ba48f7c951293dc3",d.callServer,void 0,d.findSourceMapURL,"deployFeature"),f=(0,d.createServerReference)("405cc0eeb61d430bd45fb83ba842fb6bc509b6d5aa",d.callServer,void 0,d.findSourceMapURL,"deployRepository"),g=(0,d.createServerReference)("401c8d816a16eef1220ccab887f8a2974bae2935f0",d.callServer,void 0,d.findSourceMapURL,"stopDeployment"),h=(0,d.createServerReference)("4056c0c5009aa84c0ee63d8de5b108071bee183705",d.callServer,void 0,d.findSourceMapURL,"getDeploymentStatus"),i=(0,c.createLogger)("[useDeployAction]");function j(a){let[c,d]=(0,b.useState)(!1),[j,k]=(0,b.useState)(!1),[l,m]=(0,b.useState)(null),[n,o]=(0,b.useState)(null),[p,q]=(0,b.useState)(null),r=(0,b.useRef)(null),s=(0,b.useRef)(null),t=(0,b.useRef)(!0),u=(0,b.useRef)(n);(0,b.useEffect)(()=>{u.current=n},[n]),(0,b.useEffect)(()=>(t.current=!0,()=>{t.current=!1}),[]),(0,b.useEffect)(()=>()=>{r.current&&clearTimeout(r.current),s.current&&clearInterval(s.current)},[]);let v=(0,b.useCallback)(()=>{s.current&&(i.debug("stopping polling"),clearInterval(s.current),s.current=null)},[]),w=(0,b.useCallback)(a=>{v(),i.debug(`starting polling for "${a}" every 3000ms`),s.current=setInterval(async()=>{if(!t.current)return void v();let b=await h(a);t.current&&(b&&"Stopped"!==b.state?(b.state!==u.current&&i.info(`poll state changed: ${u.current} → ${b.state}, url=${b.url}`),o(b.state),q(b.url)):(i.info(`poll result: ${b?`state=${b.state}`:"null (deployment gone)"} — stopping poll`),o(null),q(null),v()))},3e3)},[v]),x=(0,b.useCallback)(async()=>{if(!a)return void i.warn("deploy() called but input is null — no-op");if(c)return void i.warn("deploy() called but already loading — no-op");i.info(`deploy() — targetType="${a.targetType}", targetId="${a.targetId}", repositoryPath="${a.repositoryPath}"`),r.current&&clearTimeout(r.current),d(!0),m(null);try{let b="feature"===a.targetType?await e(a.targetId):await f(a.repositoryPath);if(i.info("server action result:",b),!t.current)return void i.warn("component unmounted after deploy — discarding result");if(b.success)i.info(`deploy succeeded — initial state=${b.state}, starting polling`),o(b.state??null),q(null),w(a.targetId);else{let a=b.error??"An unexpected error occurred";i.error(`deploy failed: ${a}`),m(a),r.current=setTimeout(()=>m(null),5e3)}}catch(b){if(!t.current)return;let a=b instanceof Error?b.message:"An unexpected error occurred";i.error(`deploy threw exception: ${a}`,b),m(a),r.current=setTimeout(()=>m(null),5e3)}finally{t.current&&d(!1)}},[a,c,w]),y=(0,b.useCallback)(async()=>{if(a&&!j){i.info(`stop() — targetId="${a.targetId}"`),k(!0);try{let b=await g(a.targetId);if(i.info("stop result:",b),!t.current)return;b.success&&(v(),o(null),q(null))}catch(a){i.warn("stop error (non-critical):",a)}finally{t.current&&k(!1)}}},[a,j,v]);return{deploy:x,stop:y,deployLoading:c,stopLoading:j,deployError:l,status:n,url:p}}a.s(["useDeployAction",()=>j],18662)},24255,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(10568),e=a.i(50490),f=a.i(5698),g=a.i(42261),h=a.i(85536);a.i(69029);var i=a.i(5623);a.i(49235);var j=a.i(85080),k=a.i(2824),l=a.i(13126),m=a.i(82934),n=a.i(18662),o=a.i(21333);let p=(0,g.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl"}},defaultVariants:{size:"sm"}});function q({open:a,onClose:e,modal:f=!1,dismissOnOutsideClick:g=!1,title:i="Drawer",size:j,header:m,children:n,footer:q,className:s,"data-testid":t,deployTarget:u}){let v=(0,o.useFeatureFlags)(),w=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!a||f)return;let b=a=>{let b=a.target;!document.body.contains(b)||w.current?.contains(b)||b.closest(g?'[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]')||e()};return document.addEventListener("click",b),()=>document.removeEventListener("click",b)},[a,f,e,g]),(0,b.jsxs)(k.Drawer,{direction:"right",modal:f,handleOnly:!0,open:a,onOpenChange:a=>{a||e()},children:[f?(0,b.jsx)(k.DrawerOverlay,{}):null,(0,b.jsxs)(k.DrawerContent,{ref:w,direction:"right",showCloseButton:!1,className:(0,h.cn)(p({size:j}),s),"data-testid":t,onInteractOutside:f?void 0:a=>a.preventDefault(),children:[(0,b.jsx)(k.DrawerTitle,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsx)(k.DrawerDescription,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsxs)("button",{type:"button","aria-label":"Close",onClick:e,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":t?`${t}-close-button`:void 0,children:[(0,b.jsx)(d.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}),m?(0,b.jsx)(k.DrawerHeader,{className:"shrink-0",children:m}):null,m?(0,b.jsx)(l.Separator,{}):null,v.envDeploy&&u?(0,b.jsx)(r,{deployTarget:u}):null,(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:n}),q?(0,b.jsx)(k.DrawerFooter,{className:"shrink-0",children:q}):null]})]})}function r({deployTarget:a}){let c=(0,n.useDeployAction)(a),d="Booting"===c.status||"Ready"===c.status;return(0,b.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pb-3",children:[(0,b.jsx)(m.TooltipProvider,{children:(0,b.jsxs)(m.Tooltip,{children:[(0,b.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsx)(i.ActionButton,{label:d?"Stop Dev Server":"Start Dev Server",onClick:d?c.stop:c.deploy,loading:c.deployLoading||c.stopLoading,error:!!c.deployError,icon:d?f.Square:e.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,b.jsx)(m.TooltipContent,{children:d?"Stop Dev Server":"Start Dev Server"})]})}),d?(0,b.jsx)(j.DeploymentStatusBadge,{status:c.status,url:c.url,targetId:a.targetId}):null]})}a.s(["BaseDrawer",()=>q])}];
1
+ module.exports=[50490,5698,a=>{"use strict";var b=a.i(25700);let c=(0,b.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"}]]);a.s(["Play",()=>c],50490);let d=(0,b.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",()=>d],5698)},69029,5623,45670,85080,49235,a=>{"use strict";var b=a.i(10973),c=a.i(88064),d=a.i(82697),e=a.i(85536),f=a.i(18948),g=a.i(19884);function h({label:a,onClick:h,loading:i,error:j,icon:k,iconOnly:l=!1,variant:m="outline",size:n="sm"}){let o=(0,g.useSoundAction)("click");return(0,b.jsxs)(f.Button,{variant:m,size:n,"aria-label":a,disabled:i,onClick:()=>{o.play(),h()},className:(0,e.cn)("gap-1.5",j&&"text-destructive hover:text-destructive",!j&&l&&"ghost"===m&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[i?(0,b.jsx)(c.Loader2,{className:"size-4 animate-spin"}):j?(0,b.jsx)(d.CircleAlert,{className:"size-4"}):(0,b.jsx)(k,{className:"size-4"}),l?null:a]})}a.s(["ActionButton",()=>h],5623),a.s([],69029);var i=a.i(96960),j=a.i(71238),k=a.i(63698),l=a.i(46847),m=a.i(58339),n=a.i(71335),o=a.i(2807);let p=n.Dialog.Root,q=n.Dialog.Trigger,r=n.Dialog.Portal,s=n.Dialog.Close,t=i.forwardRef(({className:a,onClick:c,...d},f)=>(0,b.jsx)(n.Dialog.Overlay,{ref:f,className:(0,e.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",a),onClick:a=>{a.stopPropagation(),c?.(a)},...d}));t.displayName=n.Dialog.Overlay.displayName;let u=i.forwardRef(({className:a,children:c,...d},f)=>(0,b.jsxs)(r,{children:[(0,b.jsx)(t,{}),(0,b.jsxs)(n.Dialog.Content,{ref:f,className:(0,e.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",a),...d,children:[c,(0,b.jsxs)(n.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,b.jsx)(o.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=n.Dialog.Content.displayName;let v=({className:a,...c})=>(0,b.jsx)("div",{className:(0,e.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...c});v.displayName="DialogHeader";let w=({className:a,...c})=>(0,b.jsx)("div",{className:(0,e.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...c});w.displayName="DialogFooter";let x=i.forwardRef(({className:a,...c},d)=>(0,b.jsx)(n.Dialog.Title,{ref:d,className:(0,e.cn)("text-lg leading-none font-semibold tracking-tight",a),...c}));x.displayName=n.Dialog.Title.displayName;let y=i.forwardRef(({className:a,...c},d)=>(0,b.jsx)(n.Dialog.Description,{ref:d,className:(0,e.cn)("text-muted-foreground text-sm",a),...c}));y.displayName=n.Dialog.Description.displayName,a.s(["Dialog",()=>p,"DialogClose",()=>s,"DialogContent",()=>u,"DialogDescription",()=>y,"DialogFooter",()=>w,"DialogHeader",()=>v,"DialogTitle",()=>x,"DialogTrigger",()=>q],45670);var z=a.i(25674);let A=(0,z.createServerReference)("409ab8ec865b6d1cca10134d7664257db6be7f2773",z.callServer,void 0,z.findSourceMapURL,"getDeploymentLogs");function B({open:a,onOpenChange:c,targetId:d}){let{logs:e,isConnected:f}=function(a){let[b,c]=(0,i.useState)([]),[d,e]=(0,i.useState)(!1),f=(0,i.useRef)(null),g=(0,i.useCallback)(()=>{f.current&&(f.current.close(),f.current=null),e(!1)},[]);return(0,i.useEffect)(()=>{if(!a){c([]),e(!1);return}A(a).then(a=>{a&&c(a)}).catch(()=>{});let b=new EventSource(`/api/deployment-logs?targetId=${a}`);return f.current=b,b.onopen=()=>{e(!0)},b.addEventListener("log",a=>{let b=JSON.parse(a.data);c(a=>[...a,b])}),b.onerror=()=>{e(!1)},()=>{b.close(),f.current=null}},[a,g]),{logs:b,isConnected:d}}(a?d:null);return(0,b.jsx)(C,{open:a,onOpenChange:c,logs:e,isConnected:f})}function C({open:a,onOpenChange:c,logs:d,isConnected:e}){let f=(0,i.useRef)(null),g=(0,i.useRef)(!0),h=(0,i.useCallback)(()=>{let a=f.current;a&&(g.current=a.scrollTop+a.clientHeight>=a.scrollHeight-50)},[]);return(0,i.useEffect)(()=>{g.current&&f.current&&(f.current.scrollTop=f.current.scrollHeight)},[d]),(0,b.jsx)(p,{open:a,onOpenChange:c,children:(0,b.jsxs)(u,{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,b.jsxs)(v,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,b.jsx)(x,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,b.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${e?"bg-green-500":"bg-zinc-500"}`}),(0,b.jsx)("span",{className:"text-xs text-zinc-400",children:e?"Connected":"Disconnected"})]})]}),(0,b.jsxs)("div",{ref:f,onScroll:h,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===d.length?(0,b.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):d.map(a=>(0,b.jsx)(D,{entry:a},`${a.timestamp}-${a.stream}-${a.line}`)),!e&&d.length>0&&(0,b.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function D({entry:a}){return(0,b.jsx)("div",{"data-stream":a.stream,className:"stderr"===a.stream?"text-red-400":"text-zinc-200",children:(0,b.jsx)("span",{className:"break-all whitespace-pre-wrap",children:a.line})})}function E({status:a,url:d,targetId:e}){let[f,g]=(0,i.useState)(!1),h=e&&(a===l.DeploymentState.Booting||a===l.DeploymentState.Ready);switch(a){case l.DeploymentState.Booting:return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(m.Badge,{className:"border-transparent bg-blue-50 text-blue-700 hover:bg-blue-50",children:[(0,b.jsx)(c.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),"Starting...",h?(0,b.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-blue-100",onClick:a=>{a.stopPropagation(),g(!0)},children:(0,b.jsx)(k.Terminal,{className:"h-3 w-3"})}):null]}),h?(0,b.jsx)(B,{open:f,onOpenChange:g,targetId:e}):null]});case l.DeploymentState.Ready:return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(m.Badge,{className:"border-transparent bg-green-50 text-green-700 hover:bg-green-50",children:[(0,b.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full bg-green-500"}),d?(0,b.jsxs)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 hover:underline",onClick:a=>a.stopPropagation(),children:[d,(0,b.jsx)(j.ExternalLink,{className:"h-3 w-3"})]}):"Ready",h?(0,b.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-green-100",onClick:a=>{a.stopPropagation(),g(!0)},children:(0,b.jsx)(k.Terminal,{className:"h-3 w-3"})}):null]}),h?(0,b.jsx)(B,{open:f,onOpenChange:g,targetId:e}):null]});default:return null}}a.s(["DeploymentStatusBadge",()=>E],85080),a.s([],49235)},2824,a=>{"use strict";let b;var c=a.i(10973),d=a.i(10568),e=a.i(40093),f=a.i(96960);let g=f.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}),h=()=>{let a=f.default.useContext(g);if(!a)throw Error("useDrawerContext must be used within a Drawer.Root");return a};function i(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function j(){return k(/^iPhone/)||k(/^iPad/)||k(/^Mac/)&&navigator.maxTouchPoints>1}function k(a){}!function(a){if(!a||"u"<typeof document)return;let b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",b.appendChild(c),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}("[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 l=f.useEffect;"u">typeof document&&window.visualViewport;let m=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),n=0;function o(...a){return f.useCallback(function(...a){return b=>a.forEach(a=>{"function"==typeof a?a(b):null!=a&&(a.current=b)})}(...a),a)}let p=new WeakMap;function q(a,b,c=!1){if(!a||!(a instanceof HTMLElement))return;let d={};Object.entries(b).forEach(([b,c])=>{b.startsWith("--")?a.style.setProperty(b,c):(d[b]=a.style[b],a.style[b]=c)}),c||p.set(a,d)}let r=a=>{switch(a){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return a}};function s(a,b){if(!a)return null;let c=window.getComputedStyle(a),d=c.transform||c.webkitTransform||c.mozTransform,e=d.match(/^matrix3d\((.+)\)$/);return e?parseFloat(e[1].split(", ")[r(b)?13:12]):(e=d.match(/^matrix\((.+)\)$/))?parseFloat(e[1].split(", ")[r(b)?5:4]):null}function t(a,b){if(!a)return()=>{};let c=a.style.cssText;return Object.assign(a.style,b),()=>{a.style.cssText=c}}let u=[.32,.72,0,1],v="vaul-dragging";function w(a){let b=f.default.useRef(a);return f.default.useEffect(()=>{b.current=a}),f.default.useMemo(()=>(...a)=>null==b.current?void 0:b.current.call(b,...a),[])}function x({prop:a,defaultProp:b,onChange:c=()=>{}}){let[d,e]=function({defaultProp:a,onChange:b}){let c=f.default.useState(a),[d]=c,e=f.default.useRef(d),g=w(b);return f.default.useEffect(()=>{e.current!==d&&(g(d),e.current=d)},[d,e,g]),c}({defaultProp:b,onChange:c}),g=void 0!==a,h=g?a:d,i=w(c);return[h,f.default.useCallback(b=>{if(g){let c="function"==typeof b?b(a):b;c!==a&&i(c)}else e(b)},[g,a,e,i])]}let y=()=>()=>{},z=null;function A({open:a,onOpenChange:c,children:d,onDrag:h,onRelease:k,snapPoints:o,shouldScaleBackground:t=!1,setBackgroundColorOnScale:w=!0,closeThreshold:y=.25,scrollLockTimeout:A=100,dismissible:B=!0,handleOnly:C=!1,fadeFromIndex:D=o&&o.length-1,activeSnapPoint:E,setActiveSnapPoint:F,fixed:G,modal:H=!0,onClose:I,nested:J,noBodyStyles:K=!1,direction:L="bottom",defaultOpen:M=!1,disablePreventScroll:N=!0,snapToSequentialPoint:O=!1,preventScrollRestoration:P=!1,repositionInputs:Q=!0,onAnimationEnd:R,container:S,autoFocus:T=!1}){var U,V;let[W=!1,X]=x({defaultProp:M,prop:a,onChange:a=>{null==c||c(a),a||J||aA(),setTimeout(()=>{null==R||R(a)},500),a||(document.body.style.pointerEvents="auto")}}),[Y,Z]=f.default.useState(!1),[$,_]=f.default.useState(!1),[aa,ab]=f.default.useState(!1),ac=f.default.useRef(null),ad=f.default.useRef(null),ae=f.default.useRef(null),af=f.default.useRef(null),ag=f.default.useRef(null),ah=f.default.useRef(!1),ai=f.default.useRef(null),aj=f.default.useRef(0),ak=f.default.useRef(!1),al=f.default.useRef(!M),am=f.default.useRef(0),an=f.default.useRef(null),ao=f.default.useRef((null==(U=an.current)?void 0:U.getBoundingClientRect().height)||0),ap=f.default.useRef((null==(V=an.current)?void 0:V.getBoundingClientRect().width)||0),aq=f.default.useRef(0),ar=f.default.useCallback(a=>{o&&a===aw.length-1&&(ad.current=new Date)},[]),{activeSnapPoint:as,activeSnapPointIndex:at,setActiveSnapPoint:au,onRelease:av,snapPointsOffset:aw,onDrag:ax,shouldFade:ay,getPercentageDragged:az}=function({activeSnapPointProp:a,setActiveSnapPointProp:b,snapPoints:c,drawerRef:d,overlayRef:e,fadeFromIndex:g,onSnapPointChange:h,direction:i="bottom",container:j,snapToSequentialPoint:k}){let[l,m]=x({prop:a,defaultProp:null==c?void 0:c[0],onChange:b}),[n,o]=f.default.useState(void 0);f.default.useEffect(()=>{function a(){o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);let p=f.default.useMemo(()=>l===(null==c?void 0:c[c.length-1])||null,[c,l]),s=f.default.useMemo(()=>{var a;return null!=(a=null==c?void 0:c.findIndex(a=>a===l))?a:null},[c,l]),t=c&&c.length>0&&(g||0===g)&&!Number.isNaN(g)&&c[g]===l||!c,v=f.default.useMemo(()=>{var a;let b=j?{width:j.getBoundingClientRect().width,height:j.getBoundingClientRect().height}:{width:0,height:0};return null!=(a=null==c?void 0:c.map(a=>{let c="string"==typeof a,d=0;if(c&&(d=parseInt(a,10)),r(i)){let e=c?d:n?a*b.height:0;return n?"bottom"===i?b.height-e:-b.height+e:e}let e=c?d:n?a*b.width:0;return n?"right"===i?b.width-e:-b.width+e:e}))?a:[]},[c,n,j]),w=f.default.useMemo(()=>null!==s?null==v?void 0:v[s]:null,[v,s]),y=f.default.useCallback(a=>{var b;let f=null!=(b=null==v?void 0:v.findIndex(b=>b===a))?b:null;h(f),q(d.current,{transition:`transform 0.5s cubic-bezier(${u.join(",")})`,transform:r(i)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`}),v&&f!==v.length-1&&void 0!==g&&f!==g&&f<g?q(e.current,{transition:`opacity 0.5s cubic-bezier(${u.join(",")})`,opacity:"0"}):q(e.current,{transition:`opacity 0.5s cubic-bezier(${u.join(",")})`,opacity:"1"}),m(null==c?void 0:c[Math.max(f,0)])},[d.current,c,v,g,e,m]);return f.default.useEffect(()=>{if(l||a){var b;let d=null!=(b=null==c?void 0:c.findIndex(b=>b===a||b===l))?b:-1;v&&-1!==d&&"number"==typeof v[d]&&y(v[d])}},[l,a,c,v,y]),{isLastSnapPoint:p,activeSnapPoint:l,shouldFade:t,getPercentageDragged:function(a,b){if(!c||"number"!=typeof s||!v||void 0===g)return null;let d=s===g-1;if(s>=g&&b)return 0;if(d&&!b)return 1;if(!t&&!d)return null;let e=d?s+1:s-1,f=a/Math.abs(d?v[e]-v[e-1]:v[e+1]-v[e]);return d?1-f:f},setActiveSnapPoint:m,activeSnapPointIndex:s,onRelease:function({draggedDistance:a,closeDrawer:b,velocity:d,dismissible:f}){if(void 0===g)return;let h="bottom"===i||"right"===i?(null!=w?w:0)-a:(null!=w?w:0)+a,j=s===g-1,l=0===s,m=a>0;if(j&&q(e.current,{transition:`opacity 0.5s cubic-bezier(${u.join(",")})`}),!k&&d>2&&!m)return void(f?b():y(v[0]));if(!k&&d>2&&m&&v&&c)return void y(v[c.length-1]);let n=null==v?void 0:v.reduce((a,b)=>"number"!=typeof a||"number"!=typeof b?a:Math.abs(b-h)<Math.abs(a-h)?b:a),o=r(i)?window.innerHeight:window.innerWidth;if(d>.4&&Math.abs(a)<.4*o){let a=m?1:-1;return a>0&&p&&c?void y(v[c.length-1]):void(l&&a<0&&f&&b(),null===s||y(v[s+a]))}y(n)},onDrag:function({draggedDistance:a}){if(null===w)return;let b="bottom"===i||"right"===i?w-a:w+a;("bottom"===i||"right"===i)&&b<v[v.length-1]||("top"===i||"left"===i)&&b>v[v.length-1]||q(d.current,{transform:r(i)?`translate3d(0, ${b}px, 0)`:`translate3d(${b}px, 0, 0)`})},snapPointsOffset:v}}({snapPoints:o,activeSnapPointProp:E,setActiveSnapPointProp:F,drawerRef:an,fadeFromIndex:D,overlayRef:ac,onSnapPointChange:ar,direction:L,container:S,snapToSequentialPoint:O});!function(a={}){let{isDisabled:c}=a;l(()=>{if(!c)return 1==++n&&j(),()=>{0==--n&&(null==b||b())}},[c])}({isDisabled:!W||$||!H||aa||!Y||!Q||!N});let{restorePositionSetting:aA}=function({isOpen:a,modal:b,nested:c,hasBeenOpened:d,preventScrollRestoration:e,noBodyStyles:g}){let[h,j]=f.default.useState(()=>""),k=f.default.useRef(0),l=f.default.useCallback(()=>{if(i()&&null===z&&a&&!g){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:a,innerHeight:b}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-k.current}px`,left:`${-a}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let a=b-window.innerHeight;a&&k.current>=b&&(document.body.style.top=`${-(k.current+a)}px`)}),300)}},[a]),m=f.default.useCallback(()=>{if(i()&&null!==z&&!g){let a=-parseInt(document.body.style.top,10),b=-parseInt(document.body.style.left,10);Object.assign(document.body.style,z),window.requestAnimationFrame(()=>{e&&h!==window.location.href?j(window.location.href):window.scrollTo(b,a)}),z=null}},[h]);return f.default.useEffect(()=>{function a(){k.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),f.default.useEffect(()=>{if(b)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||m()}},[b,m]),f.default.useEffect(()=>{!c&&d&&(a?(window.matchMedia("(display-mode: standalone)").matches||l(),b||window.setTimeout(()=>{m()},500)):m())},[a,d,h,b,c,l,m]),{restorePositionSetting:m}}({isOpen:W,modal:H,nested:null!=J&&J,hasBeenOpened:Y,preventScrollRestoration:P,noBodyStyles:K});function aB(){return(window.innerWidth-26)/window.innerWidth}function aC(a,b){var c;let d=a,e=null==(c=window.getSelection())?void 0:c.toString(),f=an.current?s(an.current,L):null,g=new Date;if("SELECT"===d.tagName||d.hasAttribute("data-vaul-no-drag")||d.closest("[data-vaul-no-drag]"))return!1;if("right"===L||"left"===L)return!0;if(ad.current&&g.getTime()-ad.current.getTime()<500)return!1;if(null!==f&&("bottom"===L?f>0:f<0))return!0;if(e&&e.length>0)return!1;if(ag.current&&g.getTime()-ag.current.getTime()<A&&0===f||b)return ag.current=g,!1;for(;d;){if(d.scrollHeight>d.clientHeight){if(0!==d.scrollTop)return ag.current=new Date,!1;if("dialog"===d.getAttribute("role"))break}d=d.parentNode}return!0}function aD(a){$&&an.current&&(an.current.classList.remove(v),ah.current=!1,_(!1),af.current=new Date),null==I||I(),a||X(!1),setTimeout(()=>{o&&au(o[0])},500)}function aE(){if(!an.current)return;let a=document.querySelector("[data-vaul-drawer-wrapper]"),b=s(an.current,L);q(an.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${u.join(",")})`}),q(ac.current,{transition:`opacity 0.5s cubic-bezier(${u.join(",")})`,opacity:"1"}),t&&b&&b>0&&W&&q(a,{borderRadius:"8px",overflow:"hidden",...r(L)?{transform:`scale(${aB()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${aB()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${u.join(",")})`},!0)}return f.default.useEffect(()=>{window.requestAnimationFrame(()=>{al.current=!0})},[]),f.default.useEffect(()=>{var a;function b(){var a,b;if(an.current&&Q&&((a=document.activeElement)instanceof HTMLInputElement&&!m.has(a.type)||a instanceof HTMLTextAreaElement||a instanceof HTMLElement&&a.isContentEditable||ak.current)){let a=(null==(b=window.visualViewport)?void 0:b.height)||0,c=window.innerHeight,d=c-a,e=an.current.getBoundingClientRect().height||0;aq.current||(aq.current=e);let f=an.current.getBoundingClientRect().top;if(Math.abs(am.current-d)>60&&(ak.current=!ak.current),o&&o.length>0&&aw&&at&&(d+=aw[at]||0),am.current=d,e>a||ak.current){let b=an.current.getBoundingClientRect().height,g=b;b>a&&(g=a-(e>.8*c?f:26)),G?an.current.style.height=`${b-Math.max(d,0)}px`:an.current.style.height=`${Math.max(g,a-f)}px`}else navigator.userAgent,an.current.style.height=`${aq.current}px`;o&&o.length>0&&!ak.current?an.current.style.bottom="0px":an.current.style.bottom=`${Math.max(d,0)}px`}}return null==(a=window.visualViewport)||a.addEventListener("resize",b),()=>{var a;return null==(a=window.visualViewport)?void 0:a.removeEventListener("resize",b)}},[at,o,aw]),f.default.useEffect(()=>(W&&(q(document.documentElement,{scrollBehavior:"auto"}),ad.current=new Date),()=>{!function(a,b){if(!a||!(a instanceof HTMLElement))return;let c=p.get(a);c&&(a.style[b]=c[b])}(document.documentElement,"scrollBehavior")}),[W]),f.default.useEffect(()=>{H||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[H]),f.default.createElement(e.Root,{defaultOpen:M,onOpenChange:a=>{(B||a)&&(a?Z(!0):aD(!0),X(a))},open:W},f.default.createElement(g.Provider,{value:{activeSnapPoint:as,snapPoints:o,setActiveSnapPoint:au,drawerRef:an,overlayRef:ac,onOpenChange:c,onPress:function(a){var b,c;!B&&!o||(!an.current||an.current.contains(a.target))&&(ao.current=(null==(b=an.current)?void 0:b.getBoundingClientRect().height)||0,ap.current=(null==(c=an.current)?void 0:c.getBoundingClientRect().width)||0,_(!0),ae.current=new Date,j(),a.target.setPointerCapture(a.pointerId),aj.current=r(L)?a.pageY:a.pageX)},onRelease:function(a){var b,c;if(!$||!an.current)return;an.current.classList.remove(v),ah.current=!1,_(!1),af.current=new Date;let d=s(an.current,L);if(!a||!aC(a.target,!1)||!d||Number.isNaN(d)||null===ae.current)return;let e=af.current.getTime()-ae.current.getTime(),f=aj.current-(r(L)?a.pageY:a.pageX),g=Math.abs(f)/e;if(g>.05&&(ab(!0),setTimeout(()=>{ab(!1)},200)),o){av({draggedDistance:f*("bottom"===L||"right"===L?1:-1),closeDrawer:aD,velocity:g,dismissible:B}),null==k||k(a,!0);return}if("bottom"===L||"right"===L?f>0:f<0){aE(),null==k||k(a,!0);return}if(g>.4){aD(),null==k||k(a,!1);return}let h=Math.min(null!=(b=an.current.getBoundingClientRect().height)?b:0,window.innerHeight),i=Math.min(null!=(c=an.current.getBoundingClientRect().width)?c:0,window.innerWidth);if(Math.abs(d)>=("left"===L||"right"===L?i:h)*y){aD(),null==k||k(a,!1);return}null==k||k(a,!0),aE()},onDrag:function(a){if(an.current&&$){let b="bottom"===L||"right"===L?1:-1,c=(aj.current-(r(L)?a.pageY:a.pageX))*b,d=c>0,e=o&&!B&&!d;if(e&&0===at)return;let f=Math.abs(c),g=document.querySelector("[data-vaul-drawer-wrapper]"),i=f/("bottom"===L||"top"===L?ao.current:ap.current),j=az(f,d);if(null!==j&&(i=j),e&&i>=1||!ah.current&&!aC(a.target,d))return;if(an.current.classList.add(v),ah.current=!0,q(an.current,{transition:"none"}),q(ac.current,{transition:"none"}),o&&ax({draggedDistance:c}),d&&!o){let a=Math.min(-(8*(Math.log(c+1)-2)*1),0)*b;q(an.current,{transform:r(L)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`});return}let k=1-i;if((ay||D&&at===D-1)&&(null==h||h(a,i),q(ac.current,{opacity:`${k}`,transition:"none"},!0)),g&&ac.current&&t){let a=Math.min(aB()+i*(1-aB()),1),b=8-8*i,c=Math.max(0,14-14*i);q(g,{borderRadius:`${b}px`,transform:r(L)?`scale(${a}) translate3d(0, ${c}px, 0)`:`scale(${a}) translate3d(${c}px, 0, 0)`,transition:"none"},!0)}if(!o){let a=f*b;q(an.current,{transform:r(L)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})}}},dismissible:B,shouldAnimate:al,handleOnly:C,isOpen:W,isDragging:$,shouldFade:ay,closeDrawer:aD,onNestedDrag:function(a,b){if(b<0)return;let c=(window.innerWidth-16)/window.innerWidth,d=c+b*(1-c),e=-16+16*b;q(an.current,{transform:r(L)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(a){let b=a?(window.innerWidth-16)/window.innerWidth:1,c=a?-16:0;ai.current&&window.clearTimeout(ai.current),q(an.current,{transition:`transform 0.5s cubic-bezier(${u.join(",")})`,transform:r(L)?`scale(${b}) translate3d(0, ${c}px, 0)`:`scale(${b}) translate3d(${c}px, 0, 0)`}),!a&&an.current&&(ai.current=setTimeout(()=>{let a=s(an.current,L);q(an.current,{transition:"none",transform:r(L)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})},500))},onNestedRelease:function(a,b){let c=r(L)?window.innerHeight:window.innerWidth,d=b?(c-16)/c:1,e=b?-16:0;b&&q(an.current,{transition:`transform 0.5s cubic-bezier(${u.join(",")})`,transform:r(L)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`})},keyboardIsOpen:ak,modal:H,snapPointsOffset:aw,activeSnapPointIndex:at,direction:L,shouldScaleBackground:t,setBackgroundColorOnScale:w,noBodyStyles:K,container:S,autoFocus:T}},d))}let B=f.default.forwardRef(function({...a},b){let{overlayRef:c,snapPoints:d,onRelease:g,shouldFade:i,isOpen:j,modal:k,shouldAnimate:l}=h(),m=o(b,c),n=d&&d.length>0;if(!k)return null;let p=f.default.useCallback(a=>g(a),[g]);return f.default.createElement(e.Overlay,{onMouseUp:p,ref:m,"data-vaul-overlay":"","data-vaul-snap-points":j&&n?"true":"false","data-vaul-snap-points-overlay":j&&i?"true":"false","data-vaul-animate":(null==l?void 0:l.current)?"true":"false",...a})});B.displayName="Drawer.Overlay";let C=f.default.forwardRef(function({onPointerDownOutside:a,style:b,onOpenAutoFocus:c,...d},g){let{drawerRef:i,onPress:j,onRelease:k,onDrag:l,keyboardIsOpen:m,snapPointsOffset:n,activeSnapPointIndex:p,modal:q,isOpen:s,direction:v,snapPoints:w,container:x,handleOnly:z,shouldAnimate:A,autoFocus:B}=h(),[C,D]=f.default.useState(!1),E=o(g,i),F=f.default.useRef(null),G=f.default.useRef(null),H=f.default.useRef(!1),I=w&&w.length>0;function J(a){F.current=null,H.current=!1,k(a)}return!function(){let{direction:a,isOpen:b,shouldScaleBackground:c,setBackgroundColorOnScale:d,noBodyStyles:e}=h(),g=f.default.useRef(null),i=(0,f.useMemo)(()=>document.body.style.backgroundColor,[]);function j(){return(window.innerWidth-26)/window.innerWidth}f.default.useEffect(()=>{if(b&&c){g.current&&clearTimeout(g.current);let b=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!b)return;!function(...a){}(d&&!e?t(document.body,{background:"black"}):y,t(b,{transformOrigin:r(a)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${u.join(",")})`}));let c=t(b,{borderRadius:"8px",overflow:"hidden",...r(a)?{transform:`scale(${j()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${j()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{c(),g.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[b,c,i])}(),f.default.useEffect(()=>{I&&window.requestAnimationFrame(()=>{D(!0)})},[]),f.default.createElement(e.Content,{"data-vaul-drawer-direction":v,"data-vaul-drawer":"","data-vaul-delayed-snap-points":C?"true":"false","data-vaul-snap-points":s&&I?"true":"false","data-vaul-custom-container":x?"true":"false","data-vaul-animate":(null==A?void 0:A.current)?"true":"false",...d,ref:E,style:n&&n.length>0?{"--snap-point-height":`${n[null!=p?p:0]}px`,...b}:b,onPointerDown:a=>{z||(null==d.onPointerDown||d.onPointerDown.call(d,a),F.current={x:a.pageX,y:a.pageY},j(a))},onOpenAutoFocus:a=>{null==c||c(a),B||a.preventDefault()},onPointerDownOutside:b=>{(null==a||a(b),!q||b.defaultPrevented)?b.preventDefault():m.current&&(m.current=!1)},onFocusOutside:a=>{if(!q)return void a.preventDefault()},onPointerMove:a=>{if(G.current=a,z||(null==d.onPointerMove||d.onPointerMove.call(d,a),!F.current))return;let b=a.pageY-F.current.y,c=a.pageX-F.current.x,e="touch"===a.pointerType?10:2;((a,b,c=0)=>{if(H.current)return!0;let d=Math.abs(a.y),e=Math.abs(a.x),f=e>d,g=["bottom","right"].includes(b)?1:-1;if("left"===b||"right"===b){if(!(a.x*g<0)&&e>=0&&e<=c)return f}else if(!(a.y*g<0)&&d>=0&&d<=c)return!f;return H.current=!0,!0})({x:c,y:b},v,e)?l(a):(Math.abs(c)>e||Math.abs(b)>e)&&(F.current=null)},onPointerUp:a=>{null==d.onPointerUp||d.onPointerUp.call(d,a),F.current=null,H.current=!1,k(a)},onPointerOut:a=>{null==d.onPointerOut||d.onPointerOut.call(d,a),J(G.current)},onContextMenu:a=>{null==d.onContextMenu||d.onContextMenu.call(d,a),G.current&&J(G.current)}})});C.displayName="Drawer.Content";let D=f.default.forwardRef(function({preventCycle:a=!1,children:b,...c},d){let{closeDrawer:e,isDragging:g,snapPoints:i,activeSnapPoint:j,setActiveSnapPoint:k,dismissible:l,handleOnly:m,isOpen:n,onPress:o,onDrag:p}=h(),q=f.default.useRef(null),r=f.default.useRef(!1);function s(){q.current&&window.clearTimeout(q.current),r.current=!1}return f.default.createElement("div",{onClick:function(){r.current?s():window.setTimeout(()=>{!function(){if(g||a||r.current)return s();if(s(),!i||0===i.length){l||e();return}if(j===i[i.length-1]&&l)return e();let b=i.findIndex(a=>a===j);-1===b||k(i[b+1])}()},120)},onPointerCancel:s,onPointerDown:a=>{m&&o(a),q.current=window.setTimeout(()=>{r.current=!0},250)},onPointerMove:a=>{m&&p(a)},ref:d,"data-vaul-drawer-visible":n?"true":"false","data-vaul-handle":"","aria-hidden":"true",...c},f.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},b))});D.displayName="Drawer.Handle";let E={Root:A,NestedRoot:function({onDrag:a,onOpenChange:b,open:c,...d}){let{onNestedDrag:e,onNestedOpenChange:g,onNestedRelease:i}=h();if(!e)throw Error("Drawer.NestedRoot must be placed in another drawer");return f.default.createElement(A,{nested:!0,open:c,onClose:()=>{g(!1)},onDrag:(b,c)=>{e(b,c),null==a||a(b,c)},onOpenChange:a=>{a&&g(a),null==b||b(a)},onRelease:i,...d})},Content:C,Overlay:B,Trigger:e.Trigger,Portal:function(a){let b=h(),{container:c=b.container,...d}=a;return f.default.createElement(e.Portal,{container:c,...d})},Handle:D,Close:e.Close,Title:e.Title,Description:e.Description};var F=a.i(85536);function G({...a}){return(0,c.jsx)(E.Root,{"data-slot":"drawer",...a})}function H({...a}){return(0,c.jsx)(E.Portal,{"data-slot":"drawer-portal",...a})}function I({className:a,...b}){return(0,c.jsx)(E.Overlay,{"data-slot":"drawer-overlay",className:(0,F.cn)("fixed inset-0 z-50 bg-black/50",a),...b})}function J({className:a,children:b,direction:e="bottom",showCloseButton:f=!0,...g}){return(0,c.jsx)(H,{children:(0,c.jsxs)(E.Content,{"data-slot":"drawer-content",className:(0,F.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===e&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===e&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===e&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===e&&"inset-y-0 left-0 h-full w-3/4 border-r",a),style:{"--initial-transform":"right"===e?"calc(100% + 8px)":"left"===e||"top"===e?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...g.style??{}},...g,children:[b,f?(0,c.jsxs)(E.Close,{className:"ring-offset-background focus:ring-ring absolute top-4 right-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,c.jsx)(d.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function K({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-header",className:(0,F.cn)("flex flex-col gap-1.5 p-4",a),...b})}function L({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-footer",className:(0,F.cn)("mt-auto flex flex-col gap-2 p-4",a),...b})}function M({className:a,...b}){return(0,c.jsx)(E.Title,{"data-slot":"drawer-title",className:(0,F.cn)("text-foreground font-semibold",a),...b})}function N({className:a,...b}){return(0,c.jsx)(E.Description,{"data-slot":"drawer-description",className:(0,F.cn)("text-muted-foreground text-sm",a),...b})}a.s(["Drawer",()=>G,"DrawerContent",()=>J,"DrawerDescription",()=>N,"DrawerFooter",()=>L,"DrawerHeader",()=>K,"DrawerOverlay",()=>I,"DrawerTitle",()=>M],2824)},18662,a=>{"use strict";var b=a.i(96960),c=a.i(87139),d=a.i(25674);let e=(0,d.createServerReference)("40de5a6f5d9d740565b7d688994ca450bd7454030c",d.callServer,void 0,d.findSourceMapURL,"deployFeature"),f=(0,d.createServerReference)("403be984d394ea814f7c915bbbb5f04e4191f52332",d.callServer,void 0,d.findSourceMapURL,"deployRepository"),g=(0,d.createServerReference)("4082d5f2333dd95358bac896fa2444270b1be51441",d.callServer,void 0,d.findSourceMapURL,"stopDeployment"),h=(0,d.createServerReference)("402823d97b84aabbe5618026484b227d1ec4fdd577",d.callServer,void 0,d.findSourceMapURL,"getDeploymentStatus"),i=(0,c.createLogger)("[useDeployAction]");function j(a){let[c,d]=(0,b.useState)(!1),[j,k]=(0,b.useState)(!1),[l,m]=(0,b.useState)(null),[n,o]=(0,b.useState)(null),[p,q]=(0,b.useState)(null),r=(0,b.useRef)(null),s=(0,b.useRef)(null),t=(0,b.useRef)(!0),u=(0,b.useRef)(n);(0,b.useEffect)(()=>{u.current=n},[n]),(0,b.useEffect)(()=>(t.current=!0,()=>{t.current=!1}),[]),(0,b.useEffect)(()=>()=>{r.current&&clearTimeout(r.current),s.current&&clearInterval(s.current)},[]);let v=(0,b.useCallback)(()=>{s.current&&(i.debug("stopping polling"),clearInterval(s.current),s.current=null)},[]),w=(0,b.useCallback)(a=>{v(),i.debug(`starting polling for "${a}" every 3000ms`),s.current=setInterval(async()=>{if(!t.current)return void v();let b=await h(a);t.current&&(b&&"Stopped"!==b.state?(b.state!==u.current&&i.info(`poll state changed: ${u.current} → ${b.state}, url=${b.url}`),o(b.state),q(b.url)):(i.info(`poll result: ${b?`state=${b.state}`:"null (deployment gone)"} — stopping poll`),o(null),q(null),v()))},3e3)},[v]),x=(0,b.useCallback)(async()=>{if(!a)return void i.warn("deploy() called but input is null — no-op");if(c)return void i.warn("deploy() called but already loading — no-op");i.info(`deploy() — targetType="${a.targetType}", targetId="${a.targetId}", repositoryPath="${a.repositoryPath}"`),r.current&&clearTimeout(r.current),d(!0),m(null);try{let b="feature"===a.targetType?await e(a.targetId):await f(a.repositoryPath);if(i.info("server action result:",b),!t.current)return void i.warn("component unmounted after deploy — discarding result");if(b.success)i.info(`deploy succeeded — initial state=${b.state}, starting polling`),o(b.state??null),q(null),w(a.targetId);else{let a=b.error??"An unexpected error occurred";i.error(`deploy failed: ${a}`),m(a),r.current=setTimeout(()=>m(null),5e3)}}catch(b){if(!t.current)return;let a=b instanceof Error?b.message:"An unexpected error occurred";i.error(`deploy threw exception: ${a}`,b),m(a),r.current=setTimeout(()=>m(null),5e3)}finally{t.current&&d(!1)}},[a,c,w]),y=(0,b.useCallback)(async()=>{if(a&&!j){i.info(`stop() — targetId="${a.targetId}"`),k(!0);try{let b=await g(a.targetId);if(i.info("stop result:",b),!t.current)return;b.success&&(v(),o(null),q(null))}catch(a){i.warn("stop error (non-critical):",a)}finally{t.current&&k(!1)}}},[a,j,v]);return{deploy:x,stop:y,deployLoading:c,stopLoading:j,deployError:l,status:n,url:p}}a.s(["useDeployAction",()=>j],18662)},24255,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(10568),e=a.i(50490),f=a.i(5698),g=a.i(42261),h=a.i(85536);a.i(69029);var i=a.i(5623);a.i(49235);var j=a.i(85080),k=a.i(2824),l=a.i(13126),m=a.i(82934),n=a.i(18662),o=a.i(21333);let p=(0,g.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl"}},defaultVariants:{size:"sm"}});function q({open:a,onClose:e,modal:f=!1,dismissOnOutsideClick:g=!1,title:i="Drawer",size:j,header:m,children:n,footer:q,className:s,"data-testid":t,deployTarget:u}){let v=(0,o.useFeatureFlags)(),w=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!a||f)return;let b=a=>{let b=a.target;!document.body.contains(b)||w.current?.contains(b)||b.closest(g?'[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]')||e()};return document.addEventListener("click",b),()=>document.removeEventListener("click",b)},[a,f,e,g]),(0,b.jsxs)(k.Drawer,{direction:"right",modal:f,handleOnly:!0,open:a,onOpenChange:a=>{a||e()},children:[f?(0,b.jsx)(k.DrawerOverlay,{}):null,(0,b.jsxs)(k.DrawerContent,{ref:w,direction:"right",showCloseButton:!1,className:(0,h.cn)(p({size:j}),s),"data-testid":t,onInteractOutside:f?void 0:a=>a.preventDefault(),children:[(0,b.jsx)(k.DrawerTitle,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsx)(k.DrawerDescription,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsxs)("button",{type:"button","aria-label":"Close",onClick:e,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":t?`${t}-close-button`:void 0,children:[(0,b.jsx)(d.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}),m?(0,b.jsx)(k.DrawerHeader,{className:"shrink-0",children:m}):null,m?(0,b.jsx)(l.Separator,{}):null,v.envDeploy&&u?(0,b.jsx)(r,{deployTarget:u}):null,(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:n}),q?(0,b.jsx)(k.DrawerFooter,{className:"shrink-0",children:q}):null]})]})}function r({deployTarget:a}){let c=(0,n.useDeployAction)(a),d="Booting"===c.status||"Ready"===c.status;return(0,b.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pb-3",children:[(0,b.jsx)(m.TooltipProvider,{children:(0,b.jsxs)(m.Tooltip,{children:[(0,b.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsx)(i.ActionButton,{label:d?"Stop Dev Server":"Start Dev Server",onClick:d?c.stop:c.deploy,loading:c.deployLoading||c.stopLoading,error:!!c.deployError,icon:d?f.Square:e.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,b.jsx)(m.TooltipContent,{children:d?"Stop Dev Server":"Start Dev Server"})]})}),d?(0,b.jsx)(j.DeploymentStatusBadge,{status:c.status,url:c.url,targetId:a.targetId}):null]})}a.s(["BaseDrawer",()=>q])}];
2
2
 
3
3
  //# sourceMappingURL=_135edb9c._.js.map