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

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/_14f96702._.js +3 -0
  192. package/web/.next/server/chunks/ssr/_14f96702._.js.map +1 -0
  193. package/web/.next/server/chunks/ssr/_19a2fb35._.js +3 -0
  194. package/web/.next/server/chunks/ssr/_19a2fb35._.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 → _6847e12c._.js} +2 -2
  200. package/web/.next/server/chunks/ssr/{_36dccae9._.js.map → _6847e12c._.js.map} +1 -1
  201. package/web/.next/server/chunks/ssr/_b56e7571._.js +3 -0
  202. package/web/.next/server/chunks/ssr/_b56e7571._.js.map +1 -0
  203. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  204. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  205. package/web/.next/server/chunks/ssr/_d5206f22._.js +4 -0
  206. package/web/.next/server/chunks/ssr/_d5206f22._.js.map +1 -0
  207. package/web/.next/server/chunks/ssr/_f7eda65f._.js +3 -0
  208. package/web/.next/server/chunks/ssr/_f7eda65f._.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/17029c5f1d00fc93.js +1 -0
  237. package/web/.next/static/chunks/{90e7434ef9395b62.js → 2745f3ad9063085f.js} +1 -1
  238. package/web/.next/static/chunks/372ca551d638fa0f.js +1 -0
  239. package/web/.next/static/chunks/{1c19bf1f99269544.js → 493c993ee3ade96f.js} +1 -1
  240. package/web/.next/static/chunks/5750e62c32b225d4.js +1 -0
  241. package/web/.next/static/chunks/5905a4f9588b11f7.js +1 -0
  242. package/web/.next/static/chunks/767cf20dbde41522.js +1 -0
  243. package/web/.next/static/chunks/78e2f79d08767e8d.js +9 -0
  244. package/web/.next/static/chunks/{816ee0f2c6b490a4.js → 7a2e1c2cd9250da4.js} +2 -2
  245. package/web/.next/static/chunks/{ed3a602003bcb31b.js → 89aac43287d73b02.js} +1 -1
  246. package/web/.next/static/chunks/994703c532508731.js +2 -0
  247. package/web/.next/static/chunks/9f42f58eb93e94fa.js +1 -0
  248. package/web/.next/static/chunks/a8d65187623d628b.js +5 -0
  249. package/web/.next/static/chunks/ba4855da62a1199d.js +1 -0
  250. package/web/.next/static/chunks/bf108ed551e585e6.js +1 -0
  251. package/web/.next/static/chunks/ca946dcbfbb2df74.js +1 -0
  252. package/web/.next/static/chunks/ef92b64dbf5813d5.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 → 1R6ULRWeIsY2xDw1tiEVQ}/_buildManifest.js +0 -0
  285. /package/web/.next/static/{x39t_TXToqcf-uNwPMhq8 → 1R6ULRWeIsY2xDw1tiEVQ}/_clientMiddlewareManifest.json +0 -0
  286. /package/web/.next/static/{x39t_TXToqcf-uNwPMhq8 → 1R6ULRWeIsY2xDw1tiEVQ}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,93752,e=>{"use strict";let t=(0,e.i(3645).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);e.s(["default",()=>t])},95230,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["default",()=>t])},16868,48306,80436,28267,86254,50032,42076,e=>{"use strict";var t=e.i(3645);let r=(0,t.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"}]]);e.s(["PaperclipIcon",()=>r],16868);var a=e.i(20314),s=e.i(31777);function o({className:e,...t}){return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,s.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",e),...t})}e.s(["Textarea",()=>o],48306);var i=e.i(60253),n=e.i(15506),n=n,l=e.i(95230);e.s(["DownloadIcon",()=>l.default],80436);var l=l,d=e.i(2287),c=e.i(1693);e.s(["VisuallyHidden",0,c],28267);var c=c;let p=(0,t.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 u=e.i(16298),u=u;let h=(0,t.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 m=e.i(93752),m=m;e.i(35364);let x=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),f=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function g(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(+(0!==t))} ${["B","KB","MB","GB"][t]}`}let b=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]);function v(e,t){let r=new URLSearchParams({path:e,mimeType:t});return`/api/attachments/preview?${r.toString()}`}function j({name:e,size:t,mimeType:r,path:o,onRemove:j,loading:w=!1,disabled:y=!1}){let C,k,N=(C=e.lastIndexOf("."))>=0?e.slice(C).toLowerCase():"",P=x.has(N)?h:".pdf"===N?u.default:f.has(N)?m.default:p,T=".pdf"===N?"bg-red-50 text-red-600":x.has(N)?"bg-blue-50 text-blue-600":f.has(N)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600",S=(k=e.lastIndexOf("."))>=0&&b.has(e.slice(k).toLowerCase());return w?(0,a.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-md border",children:(0,a.jsx)(n.default,{className:"text-muted-foreground h-5 w-5 animate-spin"})}):S?(0,a.jsxs)(d.Dialog,{children:[(0,a.jsxs)("div",{className:"group relative",children:[(0,a.jsx)(d.DialogTrigger,{asChild:!0,children:(0,a.jsx)("img",{src:v(o,r),alt:e,title:e,className:"h-12 w-12 cursor-pointer rounded-md border object-cover transition-opacity hover:opacity-80"})}),!y&&(0,a.jsx)("button",{type:"button",onClick:j,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 ${e}`,children:(0,a.jsx)(i.X,{className:"h-3 w-3"})})]}),(0,a.jsxs)(d.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,a.jsx)(c.Root,{children:(0,a.jsxs)(d.DialogTitle,{children:["Preview: ",e]})}),(0,a.jsx)("div",{className:"relative bg-black/90",children:(0,a.jsx)("img",{src:v(o,r),alt:e,className:"h-auto max-h-[70vh] w-full object-contain"})}),(0,a.jsxs)("div",{className:"bg-background flex items-center gap-3 px-4 py-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,a.jsx)("span",{className:"truncate text-sm font-medium",children:e}),(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:g(t)})]}),(0,a.jsx)("a",{href:v(o,r),download:e,className:"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors","aria-label":`Download ${e}`,children:(0,a.jsx)(l.default,{className:"h-4 w-4"})})]})]})]}):(0,a.jsxs)("div",{className:"group relative flex items-center gap-2 rounded-full border py-1 pr-3 pl-2",children:[(0,a.jsx)("div",{className:(0,s.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full",T),children:(0,a.jsx)(P,{className:"h-3 w-3"})}),(0,a.jsx)("span",{className:"max-w-[120px] truncate text-sm",children:e}),(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:g(t)}),!y&&(0,a.jsx)("button",{type:"button",onClick:j,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 ${e}`,children:(0,a.jsx)(i.X,{className:"h-3 w-3"})})]})}async function w(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["AttachmentChip",()=>j],86254),e.s([],50032),e.s(["pickFiles",()=>w],42076)},90382,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(91967),s=e.i(5978),o=e.i(22528),i=e.i(53532),n=e.i(41687),l=e.i(56720),d=e.i(13123),c=e.i(52740),p=e.i(39979),u=e.i(85995),h=e.i(87620),m=e.i(86874),x=e.i(36589),f=e.i(73772),g=e.i(13044),b="Popover",[v,j]=(0,o.createContextScope)(b,[c.createPopperScope]),w=(0,c.createPopperScope)(),[y,C]=v(b),k=e=>{let{__scopePopover:a,children:s,open:o,defaultOpen:i,onOpenChange:n,modal:l=!1}=e,p=w(a),u=r.useRef(null),[h,m]=r.useState(!1),[f,g]=(0,x.useControllableState)({prop:o,defaultProp:i??!1,onChange:n,caller:b});return(0,t.jsx)(c.Root,{...p,children:(0,t.jsx)(y,{scope:a,contentId:(0,d.useId)(),triggerRef:u,open:f,onOpenChange:g,onOpenToggle:r.useCallback(()=>g(e=>!e),[g]),hasCustomAnchor:h,onCustomAnchorAdd:r.useCallback(()=>m(!0),[]),onCustomAnchorRemove:r.useCallback(()=>m(!1),[]),modal:l,children:s})})};k.displayName=b;var N="PopoverAnchor",P=r.forwardRef((e,a)=>{let{__scopePopover:s,...o}=e,i=C(N,s),n=w(s),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=i;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(c.Anchor,{...n,...o,ref:a})});P.displayName=N;var T="PopoverTrigger",S=r.forwardRef((e,r)=>{let{__scopePopover:o,...i}=e,n=C(T,o),l=w(o),d=(0,s.useComposedRefs)(r,n.triggerRef),p=(0,t.jsx)(h.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":q(n.open),...i,ref:d,onClick:(0,a.composeEventHandlers)(e.onClick,n.onOpenToggle)});return n.hasCustomAnchor?p:(0,t.jsx)(c.Anchor,{asChild:!0,...l,children:p})});S.displayName=T;var R="PopoverPortal",[A,E]=v(R,{forceMount:void 0}),F=e=>{let{__scopePopover:r,forceMount:a,children:s,container:o}=e,i=C(R,r);return(0,t.jsx)(A,{scope:r,forceMount:a,children:(0,t.jsx)(u.Presence,{present:a||i.open,children:(0,t.jsx)(p.Portal,{asChild:!0,container:o,children:s})})})};F.displayName=R;var D="PopoverContent",O=r.forwardRef((e,r)=>{let a=E(D,e.__scopePopover),{forceMount:s=a.forceMount,...o}=e,i=C(D,e.__scopePopover);return(0,t.jsx)(u.Presence,{present:s||i.open,children:i.modal?(0,t.jsx)(z,{...o,ref:r}):(0,t.jsx)(L,{...o,ref:r})})});O.displayName=D;var I=(0,m.createSlot)("PopoverContent.RemoveScroll"),z=r.forwardRef((e,o)=>{let i=C(D,e.__scopePopover),n=r.useRef(null),l=(0,s.useComposedRefs)(o,n),d=r.useRef(!1);return r.useEffect(()=>{let e=n.current;if(e)return(0,f.hideOthers)(e)},[]),(0,t.jsx)(g.RemoveScroll,{as:I,allowPinchZoom:!0,children:(0,t.jsx)(M,{...e,ref:l,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,a.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),d.current||i.triggerRef.current?.focus()}),onPointerDownOutside:(0,a.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;d.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,a.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),L=r.forwardRef((e,a)=>{let s=C(D,e.__scopePopover),o=r.useRef(!1),i=r.useRef(!1);return(0,t.jsx)(M,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||s.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));let r=t.target;s.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),M=r.forwardRef((e,r)=>{let{__scopePopover:a,trapFocus:s,onOpenAutoFocus:o,onCloseAutoFocus:d,disableOutsidePointerEvents:p,onEscapeKeyDown:u,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:x,...f}=e,g=C(D,a),b=w(a);return(0,n.useFocusGuards)(),(0,t.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:o,onUnmountAutoFocus:d,children:(0,t.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:p,onInteractOutside:x,onEscapeKeyDown:u,onPointerDownOutside:h,onFocusOutside:m,onDismiss:()=>g.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":q(g.open),role:"dialog",id:g.contentId,...b,...f,ref:r,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),U="PopoverClose",B=r.forwardRef((e,r)=>{let{__scopePopover:s,...o}=e,i=C(U,s);return(0,t.jsx)(h.Primitive.button,{type:"button",...o,ref:r,onClick:(0,a.composeEventHandlers)(e.onClick,()=>i.onOpenChange(!1))})});B.displayName=U;var $=r.forwardRef((e,r)=>{let{__scopePopover:a,...s}=e,o=w(a);return(0,t.jsx)(c.Arrow,{...o,...s,ref:r})});function q(e){return e?"open":"closed"}$.displayName="PopoverArrow",e.s(["Anchor",()=>P,"Arrow",()=>$,"Close",()=>B,"Content",()=>O,"Popover",()=>k,"PopoverAnchor",()=>P,"PopoverArrow",()=>$,"PopoverClose",()=>B,"PopoverContent",()=>O,"PopoverPortal",()=>F,"PopoverTrigger",()=>S,"Portal",()=>F,"Root",()=>k,"Trigger",()=>S,"createPopoverScope",()=>j],89920);var H=e.i(89920),H=H,G=e.i(31777);let _=H.Root,K=H.Trigger;H.Anchor;let W=r.forwardRef(({className:e,align:r="center",sideOffset:a=4,...s},o)=>(0,t.jsx)(H.Portal,{children:(0,t.jsx)(H.Content,{ref:o,align:r,sideOffset:a,className:(0,G.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...s})}));W.displayName=H.Content.displayName,e.s(["Popover",()=>_,"PopoverContent",()=>W,"PopoverTrigger",()=>K],90382)},51911,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(91967),s=e.i(5978),o=e.i(22528),i=e.i(36589),n=e.i(23405),l=e.i(77624),d=e.i(87620),c="Switch",[p,u]=(0,o.createContextScope)(c),[h,m]=p(c),x=r.forwardRef((e,o)=>{let{__scopeSwitch:n,name:l,checked:p,defaultChecked:u,required:m,disabled:x,value:f="on",onCheckedChange:g,form:j,...w}=e,[y,C]=r.useState(null),k=(0,s.useComposedRefs)(o,e=>C(e)),N=r.useRef(!1),P=!y||j||!!y.closest("form"),[T,S]=(0,i.useControllableState)({prop:p,defaultProp:u??!1,onChange:g,caller:c});return(0,t.jsxs)(h,{scope:n,checked:T,disabled:x,children:[(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":T,"aria-required":m,"data-state":v(T),"data-disabled":x?"":void 0,disabled:x,value:f,...w,ref:k,onClick:(0,a.composeEventHandlers)(e.onClick,e=>{S(e=>!e),P&&(N.current=e.isPropagationStopped(),N.current||e.stopPropagation())})}),P&&(0,t.jsx)(b,{control:y,bubbles:!N.current,name:l,value:f,checked:T,required:m,disabled:x,form:j,style:{transform:"translateX(-100%)"}})]})});x.displayName=c;var f="SwitchThumb",g=r.forwardRef((e,r)=>{let{__scopeSwitch:a,...s}=e,o=m(f,a);return(0,t.jsx)(d.Primitive.span,{"data-state":v(o.checked),"data-disabled":o.disabled?"":void 0,...s,ref:r})});g.displayName=f;var b=r.forwardRef(({__scopeSwitch:e,control:a,checked:o,bubbles:i=!0,...d},c)=>{let p=r.useRef(null),u=(0,s.useComposedRefs)(p,c),h=(0,n.usePrevious)(o),m=(0,l.useSize)(a);return r.useEffect(()=>{let e=p.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(h!==o&&t){let r=new Event("click",{bubbles:i});t.call(e,o),e.dispatchEvent(r)}},[h,o,i]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o,...d,tabIndex:-1,ref:u,style:{...d.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function v(e){return e?"checked":"unchecked"}b.displayName="SwitchBubbleInput",e.s(["Root",()=>x,"Switch",()=>x,"SwitchThumb",()=>g,"Thumb",()=>g,"createSwitchScope",()=>u],95291);var j=e.i(95291),j=j,w=e.i(31777);function y({className:e,size:r="default",...a}){return(0,t.jsx)(j.Root,{"data-slot":"switch","data-size":r,className:(0,w.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...a,children:(0,t.jsx)(j.Thumb,{"data-slot":"switch-thumb",className:(0,w.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}e.s(["Switch",()=>y],51911)},41413,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(23925),s=e.i(11345),o=e.i(76016),i=e.i(20482),n=e.i(1927),l=e.i(86782),d=e.i(29847),c=e.i(35364),p=e.i(90382),u=e.i(31777);function h({initialAgentType:e,initialModel:h,onAgentModelChange:m,disabled:x,className:f,mode:g}){let[b,v]=r.useState(!1),[j,w]=r.useState([]),[y,C]=r.useState(!0),[k,N]=r.useState(e),[P,T]=r.useState(h),[S,R]=r.useState(null),[A,E]=r.useState(0),[F,D]=r.useState(null);r.useEffect(()=>{(0,i.getAllAgentModels)().then(w).finally(()=>C(!1))},[]),r.useEffect(()=>{if(!b){let e=setTimeout(()=>{E(0),D(null)},150);return()=>clearTimeout(e)}},[b]);let O=async(e,t)=>{if(v(!1),e!==k||t!==P){if("override"===g){N(e),T(t),m?.(e,t);return}N(e),T(t),m?.(e,t),R(null);try{let r=await (0,n.updateAgentAndModel)(e,t||null);r.ok||(N(k),T(P),m?.(k,P),R(r.error??"Failed to save"))}catch{N(k),T(P),m?.(k,P),R("Failed to save")}}},I=(0,l.getAgentTypeIcon)(k),z=j.find(e=>e.agentType===k)?.label??k,L=P?(0,d.getModelMeta)(P).displayName||P:null,M=F?j.find(e=>e.agentType===F):null;return(0,t.jsxs)("div",{className:(0,u.cn)("flex flex-col gap-1",f),children:[(0,t.jsxs)(p.Popover,{open:b,onOpenChange:v,children:[(0,t.jsx)(p.PopoverTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"outline",role:"combobox","aria-expanded":b,disabled:(x??!1)||y,className:"w-auto cursor-pointer justify-start font-normal hover:border-violet-300 hover:bg-violet-50/50 dark:hover:border-violet-700 dark:hover:bg-violet-950/30",children:(0,t.jsxs)("span",{className:"flex items-center gap-2 truncate",children:[(0,t.jsx)(I,{className:"h-4 w-4 shrink-0"}),y?"Loading…":(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:z}),L?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground/50 text-xs",children:"·"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:L})]}):null]})]})})}),(0,t.jsx)(p.PopoverContent,{className:"w-(--radix-popover-trigger-width) overflow-hidden p-0",align:"start",children:(0,t.jsxs)("div",{className:"flex transition-transform duration-200 ease-in-out",style:{transform:`translateX(${1===A?"-50%":"0%"})`,width:"200%"},children:[(0,t.jsxs)("div",{className:"w-1/2 shrink-0",children:[(0,t.jsx)("div",{className:"text-muted-foreground border-b px-3 py-2 text-xs font-medium",children:"Select agent"}),j.map(e=>{let r=(0,l.getAgentTypeIcon)(e.agentType),s=k===e.agentType,i=e.models.length>0;return(0,t.jsxs)("button",{type:"button",className:(0,u.cn)("flex w-full cursor-pointer items-center gap-2.5 px-3 py-2 text-xs transition-colors","hover:bg-accent hover:text-accent-foreground",s&&"bg-accent/50"),onClick:()=>{i?(D(e.agentType),requestAnimationFrame(()=>{requestAnimationFrame(()=>E(1))})):O(e.agentType,"")},children:[(0,t.jsx)(r,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 text-left",children:e.label}),s&&!i?(0,t.jsx)(a.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null,i?(0,t.jsx)(o.ChevronRight,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}):null]},e.agentType)})]}),(0,t.jsx)("div",{className:"w-1/2 shrink-0",children:M?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{type:"button",className:"text-muted-foreground hover:text-foreground flex w-full cursor-pointer items-center gap-1.5 border-b px-3 py-2 text-xs font-medium transition-colors",onClick:()=>{E(0),setTimeout(()=>D(null),220)},children:[(0,t.jsx)(s.ChevronLeft,{className:"h-3.5 w-3.5"}),M.label]}),M.models.map(e=>{let r=k===M.agentType&&P===e.id;return(0,t.jsxs)("button",{type:"button",className:(0,u.cn)("flex w-full cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors","hover:bg-accent hover:text-accent-foreground",r&&"bg-accent/50"),onClick:()=>O(M.agentType,e.id),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:e.description})]}),r?(0,t.jsx)(a.Check,{className:"text-primary h-3.5 w-3.5 shrink-0"}):null]},e.id)})]}):null})]})})]}),!!S&&(0,t.jsx)("p",{className:"text-destructive text-sm",children:S})]})}e.s(["AgentModelPicker",()=>h])},15203,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),s=e.i(60112),o=e.i(21023);let i=(0,o.createServerReference)("4093956f6eeb37eb9b584f25d1ba040d09cbb056bc",o.callServer,void 0,o.findSourceMapURL,"createFeature");var n=e.i(16868);let l=(0,e.i(3645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var d=e.i(97667),c=e.i(53360),p=e.i(55016),u=e.i(91925),h=e.i(83428),m=e.i(31777),x=e.i(8361);e.i(1650);var f=e.i(11495),g=e.i(45811),b=e.i(35364),v=e.i(98127),j=e.i(48306),w=e.i(41957),y=e.i(81846),C=e.i(90382),k=e.i(51911),N=e.i(2828),P=e.i(30153);e.i(50032);var T=e.i(86254),S=e.i(41413),R=e.i(25235),A=e.i(78521),E=e.i(76363),F=e.i(42076);let D=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),O=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],I={allowPrd:!1,allowPlan:!1,allowMerge:!1};function z({open:e,onClose:a,onSubmit:s,repositoryPath:o,isSubmitting:i=!1,workflowDefaults:l,features:d,repositories:u,initialParentId:h,currentAgentType:v,currentModel:C,initialDescription:R}){let A=(0,x.useSoundAction)("create"),E=l?.approvalGates??I,z=l?.push??!1,U=l?.openPr??!1,B=l?.ciWatchEnabled!==!1,$=l?.enableEvidence??!1,q=l?.commitEvidence??!1,[H,G]=(0,r.useState)(R??"");(0,r.useEffect)(()=>{R&&G(R)},[R]);let[_,K]=(0,r.useState)([]),[W,V]=(0,r.useState)({...E}),[X,Y]=(0,r.useState)(z),[Z,J]=(0,r.useState)(U),[Q,ee]=(0,r.useState)(l?.ciWatchEnabled!==!1),[et,er]=(0,r.useState)($),[ea,es]=(0,r.useState)(q),[eo,ei]=(0,r.useState)(void 0),[en,el]=(0,r.useState)(!1),[ed,ec]=(0,r.useState)(!1),[ep,eu]=(0,r.useState)(void 0),[eh,em]=(0,r.useState)(void 0),[ex,ef]=(0,r.useState)(o||void 0),[eg,eb]=(0,r.useState)(u??[]),[ev,ej]=(0,r.useState)(!1),[ew,ey]=(0,r.useState)(null),[eC,ek]=(0,r.useState)(!1),eN=(0,r.useRef)(crypto.randomUUID()),eP=(0,r.useRef)(0),eT=(0,r.useRef)(null);(0,r.useEffect)(()=>{l&&(V({...l.approvalGates}),Y(l.push),J(l.openPr),ee(!1!==l.ciWatchEnabled),er(l.enableEvidence),es(l.commitEvidence))},[l]),(0,r.useEffect)(()=>{eb(u??[])},[u]),(0,r.useEffect)(()=>{e&&h&&ei(h)},[e,h]);let eS=(0,r.useCallback)(()=>{G(""),K([]),V({...E}),Y(z),J(U),ee(B),er($),es(q),ei(void 0),ef(o||void 0),eb(u??[]),el(!1),ec(!1),eu(void 0),em(void 0),ey(null),eP.current=0,ej(!1)},[E,z,U,$,B,q,o,u]),eR=""!==H.trim()||_.length>0,{attemptClose:eA}=(0,P.useGuardedDrawerClose)({open:e,isDirty:eR,onClose:a,onReset:eS}),eE=(0,r.useCallback)(async e=>{for(let t of(ey(null),e)){if(t.size>0xa00000)return void ey(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!D.has(e))return void ey(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();K(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eN.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));K(t=>t.filter(t=>t.id!==e)),ey(t.error??"Upload failed");return}let s=await a.json();K(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{K(t=>t.filter(t=>t.id!==e)),ey("Upload failed")}}},[]),eF=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eP.current+=1,1===eP.current&&ej(!0)},[]),eD=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eP.current-=1,0===eP.current&&ej(!1)},[]),eO=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),eI=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eP.current=0,ej(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&eE(t)},[eE]),ez=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),eE(r))},[eE]),eL=(0,r.useCallback)(e=>{if(e.preventDefault(),!H.trim())return;let t=ex??o;t&&(A.play(),s({description:H.trim(),attachments:_.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:W.allowPrd??!1,allowPlan:W.allowPlan??!1,allowMerge:W.allowMerge??!1},push:X||Z,openPr:Z,ciWatchEnabled:Q,enableEvidence:et,commitEvidence:ea,fast:en,...ed?{pending:ed}:{},...ep?{agentType:ep}:{},...eh?{model:eh}:{},...eo?{parentId:eo}:{},sessionId:eN.current}),eS())},[H,_,W,ex,o,s,X,Z,et,Q,ea,en,ed,ep,eh,eo,A,eS]),eM=(0,r.useCallback)(async()=>{try{let e=await (0,F.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();K(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eN.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));K(t=>t.filter(t=>t.id!==e)),ey(t.error??"Upload failed");return}let a=await r.json();K(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{K(t=>t.filter(t=>t.id!==e)),ey("Upload failed")}}}catch{}},[]),eU=(0,r.useCallback)(e=>{K(t=>t.filter(t=>t.id!==e))},[]),eB=(0,r.useRef)(null),e$=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),eB.current?.requestSubmit())},[]),eq=(0,r.useCallback)(()=>{ek(!0)},[]),eH=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eT.current?.contains(document.activeElement),t=eT.current?.querySelector('[aria-expanded="true"]')!==null;e||t||ek(!1)},0)},[]),eG=d&&d.length>0,e_=!o&&!ex,eK=!o&&void 0!==u;return(0,t.jsx)(f.BaseDrawer,{open:e,onClose:eA,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(g.DrawerTitle,{children:"NEW FEATURE"})]}),i?(0,t.jsx)(g.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(y.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(b.Button,{variant:"outline",onClick:eA,disabled:i,children:"Cancel"}),(0,t.jsx)(b.Button,{type:"submit",form:"create-feature-form",disabled:!H.trim()||i||e_,children:i?"Creating...":"+ Create Feature"})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(N.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:eB,id:"create-feature-form",onSubmit:eL,onKeyDown:e$,className:"flex flex-col gap-4",children:[eK?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(w.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,t.jsx)(M,{repositories:eg,value:ex,onChange:ef,onAddRepository:e=>{eb(t=>[...t,e]),ef(e.path)},disabled:i})]}):o?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(w.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:u?.find(e=>e.path===o)?.name??o.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":"File drop zone","data-drag-over":ev?"true":"false",onDragEnter:eF,onDragLeave:eD,onDragOver:eO,onDrop:eI,className:(0,m.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",ev&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(w.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIBE YOUR FEATURE"}),(0,t.jsxs)("div",{ref:eT,onFocus:eq,onBlur:eH,className:(0,m.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eC&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(j.Textarea,{id:"feature-description",placeholder:"e.g. Add GitHub OAuth login with callback handling and token refresh...",value:H,onChange:e=>G(e.target.value),onPaste:ez,required:!0,disabled:i,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),_.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:_.map(e=>(0,t.jsx)(T.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>eU(e.id),disabled:i,loading:e.loading},e.id))}),ew?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:ew}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(S.AgentModelPicker,{initialAgentType:ep??v??"claude-code",initialModel:eh??C??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{eu(e),em(t)},disabled:i,className:"w-55"}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(k.Switch,{id:"pending-mode",checked:ed,onCheckedChange:ec,disabled:i}),(0,t.jsxs)(w.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(p.Clock,{className:"h-3.5 w-3.5"}),"Pending"]})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Create without starting — start manually later."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(k.Switch,{id:"fast-mode",checked:en,onCheckedChange:el,disabled:i}),(0,t.jsxs)(w.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(c.Zap,{className:"h-3.5 w-3.5"}),"Fast Mode"]})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Skip SDLC phases and implement directly from your prompt."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:eM,disabled:i,"aria-label":"Attach files",className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(n.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Attach files"})]})]})]})]}),eG&&void 0!==h?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,t.jsx)(L,{features:d,value:eo,onChange:ei,disabled:i})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"APPROVE"})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Auto-approve phase transitions without manual review."})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:O.map(e=>(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:`approve-${e.id}`,size:"sm",checked:W[e.id]??!1,onCheckedChange:t=>V(r=>({...r,[e.id]:t})),disabled:i||en&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(w.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:en&&("allowPrd"===e.id||"allowPlan"===e.id)?"Skipped in Fast Mode":e.description})]},e.id))}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=O.every(e=>W[e.id]),t={};for(let r of O)t[r.id]=!e;V(t)},disabled:i,className:(0,m.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",O.every(e=>W[e.id])&&"text-primary"),children:"All"})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Toggle all approval gates"})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"EVIDENCE"})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Collect and attach evidence after implementation."})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"enable-evidence",size:"sm",checked:et,onCheckedChange:e=>{er(e),e||es(!1)},disabled:i}),(0,t.jsx)(w.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:"Collect"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Capture screenshots and artifacts after implementation."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"commit-evidence",size:"sm",checked:ea,onCheckedChange:es,disabled:i||!et||!Z}),(0,t.jsx)(w.Label,{htmlFor:"commit-evidence",className:(0,m.cn)("cursor-pointer text-xs font-medium",(!et||!Z)&&"opacity-50"),children:"Add to PR"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:Z?et?"Include evidence in the pull request body.":"Requires evidence collection to be enabled":"Requires PR to be enabled"})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 text-xs font-semibold tracking-wider",children:"GIT"}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"push",size:"sm",checked:X||Z,onCheckedChange:e=>{Y(e),!e&&Z&&J(!1)},disabled:i}),(0,t.jsx)(w.Label,{htmlFor:"push",className:"cursor-pointer text-xs font-medium",children:"Push"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Push branch to remote after implementation."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"open-pr",size:"sm",checked:Z,onCheckedChange:e=>{J(e),e||es(!1)},disabled:i}),(0,t.jsx)(w.Label,{htmlFor:"open-pr",className:"cursor-pointer text-xs font-medium",children:"PR"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Open a pull request after pushing."})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(k.Switch,{id:"ci-watch",size:"sm",checked:Q,onCheckedChange:ee,disabled:i}),(0,t.jsx)(w.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:"Watch"})]})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",children:"Watch CI and auto-fix after push."})]})]})]})]})]})})})})}function L({features:e,value:a,onChange:s,disabled:o}){let[i,n]=(0,r.useState)(!1),[c,p]=(0,r.useState)(""),u=(0,r.useRef)(null),h=e.find(e=>e.id===a),x=c.trim()?e.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())||e.id.toLowerCase().includes(c.toLowerCase())):e,f=(0,r.useCallback)(e=>{s(e),n(!1),p("")},[s]);return(0,r.useEffect)(()=>{i?setTimeout(()=>u.current?.focus(),0):p("")},[i]),(0,t.jsxs)(C.Popover,{open:i,onOpenChange:n,children:[(0,t.jsx)(C.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":i,"aria-label":"Parent Feature",disabled:o,"data-testid":"parent-feature-combobox",className:(0,m.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!h&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:h?`${h.name} (${h.id.slice(0,8)})`:"Select parent feature..."}),(0,t.jsx)(l,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(C.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(v.Input,{ref:u,placeholder:"Search features...",value:c,onChange:e=>p(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===a,onClick:()=>f(void 0),className:(0,m.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===a&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(d.CheckIcon,{className:(0,m.cn)("h-4 w-4 shrink-0",void 0!==a&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===x.length&&c?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):x.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.id,onClick:()=>f(e.id),className:(0,m.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,m.cn)("h-4 w-4 shrink-0",a!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function M({repositories:e,value:a,onChange:s,onAddRepository:o,disabled:i}){let[n,c]=(0,r.useState)(!1),[p,x]=(0,r.useState)(""),[f,g]=(0,r.useState)(!1),[b,j]=(0,r.useState)(null),w=(0,r.useRef)(null),y=e.find(e=>e.path===a),k=p.trim()?e.filter(e=>e.name.toLowerCase().includes(p.toLowerCase())||e.path.toLowerCase().includes(p.toLowerCase())):e,N=(0,r.useCallback)(e=>{s(e),c(!1),x("")},[s]),P=(0,r.useCallback)(async()=>{if(!f){g(!0),j(null);try{let e=await (0,A.pickFolder)();if(!e)return void g(!1);let t=await (0,E.addRepository)({path:e});if(t.error){j(t.error),g(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};o?.(e),s(e.path),c(!1),x("")}}catch(e){j(e instanceof Error?e.message:"Failed to add repository")}finally{g(!1)}}},[f,o,s]);return(0,r.useEffect)(()=>{n?setTimeout(()=>w.current?.focus(),0):x("")},[n]),(0,t.jsxs)(C.Popover,{open:n,onOpenChange:c,children:[(0,t.jsx)(C.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":n,"aria-label":"Repository",disabled:i,"data-testid":"repository-combobox",className:(0,m.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!y&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:y?y.name:"Select repository..."}),(0,t.jsx)(l,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(C.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(v.Input,{ref:w,placeholder:"Search repositories...",value:p,onChange:e=>x(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===k.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):k.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.path,onClick:()=>N(e.path),className:(0,m.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,m.cn)("h-4 w-4 shrink-0",a!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsx)("span",{className:"truncate",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(R.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:P,disabled:f,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[f?(0,t.jsx)(h.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(u.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),b?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:b}):null]})})]})}function U({repositoryPath:e,initialParentId:o,initialDescription:n,features:l,repositories:d,workflowDefaults:c,currentAgentType:p,currentModel:u}){let h=(0,a.useRouter)(),[m,x]=(0,r.useState)(!1),f=(0,a.usePathname)().startsWith("/create"),g=!m&&f;(0,r.useEffect)(()=>{!f&&m&&x(!1)},[f,m]);let b=(0,r.useCallback)(()=>{h.push("/")},[h]),v=(0,r.useCallback)(e=>{x(!0),h.push("/"),i(e).then(t=>{t.error?s.toast.error(t.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.feature.repositoryPath,parentId:e.parentId}}))}).catch(()=>{s.toast.error("Failed to create feature"),x(!1)})},[h]);return(0,t.jsx)(z,{open:g,onClose:b,onSubmit:v,repositoryPath:e,features:l,repositories:d,workflowDefaults:c,initialParentId:o,initialDescription:n,isSubmitting:m,currentAgentType:p,currentModel:u})}e.s(["CreateDrawerClient",()=>U],15203)}]);
@@ -0,0 +1,5 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,25235,t=>{"use strict";var e=t.i(20314),a=t.i(79054),o=t.i(87620),r="horizontal",n=["horizontal","vertical"],s=a.forwardRef((t,a)=>{var s;let{decorative:i,orientation:l=r,...d}=t,u=(s=l,n.includes(s))?l:r;return(0,e.jsx)(o.Primitive.div,{"data-orientation":u,...i?{role:"none"}:{"aria-orientation":"vertical"===u?u:void 0,role:"separator"},...d,ref:a})});s.displayName="Separator",t.s(["Root",()=>s,"Separator",()=>s],47402);var i=t.i(47402),i=i,l=t.i(31777);function d({className:t,orientation:a="horizontal",decorative:o=!0,...r}){return(0,e.jsx)(i.Root,{"data-slot":"separator",decorative:o,orientation:a,className:(0,l.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...r})}t.s(["Separator",()=>d],25235)},90537,t=>{"use strict";let e=(0,t.i(3645).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);t.s(["default",()=>e])},48249,t=>{"use strict";var e=t.i(90537);t.s(["XIcon",()=>e.default])},567,t=>{"use strict";var e=t.i(79054),a=t.i(91967),o=t.i(5978),r=t.i(22528),n=t.i(13123),s=t.i(36589),i=t.i(53532),l=t.i(56720),d=t.i(39979),u=t.i(85995),c=t.i(87620),f=t.i(41687),p=t.i(13044),m=t.i(73772),g=t.i(86874),h=t.i(20314),v="Dialog",[b,y]=(0,r.createContextScope)(v),[w,x]=b(v),E=t=>{let{__scopeDialog:a,children:o,open:r,defaultOpen:i,onOpenChange:l,modal:d=!0}=t,u=e.useRef(null),c=e.useRef(null),[f,p]=(0,s.useControllableState)({prop:r,defaultProp:i??!1,onChange:l,caller:v});return(0,h.jsx)(w,{scope:a,triggerRef:u,contentRef:c,contentId:(0,n.useId)(),titleId:(0,n.useId)(),descriptionId:(0,n.useId)(),open:f,onOpenChange:p,onOpenToggle:e.useCallback(()=>p(t=>!t),[p]),modal:d,children:o})};E.displayName=v;var k="DialogTrigger",C=e.forwardRef((t,e)=>{let{__scopeDialog:r,...n}=t,s=x(k,r),i=(0,o.useComposedRefs)(e,s.triggerRef);return(0,h.jsx)(c.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":U(s.open),...n,ref:i,onClick:(0,a.composeEventHandlers)(t.onClick,s.onOpenToggle)})});C.displayName=k;var D="DialogPortal",[N,R]=b(D,{forceMount:void 0}),S=t=>{let{__scopeDialog:a,forceMount:o,children:r,container:n}=t,s=x(D,a);return(0,h.jsx)(N,{scope:a,forceMount:o,children:e.Children.map(r,t=>(0,h.jsx)(u.Presence,{present:o||s.open,children:(0,h.jsx)(d.Portal,{asChild:!0,container:n,children:t})}))})};S.displayName=D;var T="DialogOverlay",j=e.forwardRef((t,e)=>{let a=R(T,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=x(T,t.__scopeDialog);return n.modal?(0,h.jsx)(u.Presence,{present:o||n.open,children:(0,h.jsx)(P,{...r,ref:e})}):null});j.displayName=T;var M=(0,g.createSlot)("DialogOverlay.RemoveScroll"),P=e.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=x(T,a);return(0,h.jsx)(p.RemoveScroll,{as:M,allowPinchZoom:!0,shards:[r.contentRef],children:(0,h.jsx)(c.Primitive.div,{"data-state":U(r.open),...o,ref:e,style:{pointerEvents:"auto",...o.style}})})}),I="DialogContent",B=e.forwardRef((t,e)=>{let a=R(I,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=x(I,t.__scopeDialog);return(0,h.jsx)(u.Presence,{present:o||n.open,children:n.modal?(0,h.jsx)(z,{...r,ref:e}):(0,h.jsx)(A,{...r,ref:e})})});B.displayName=I;var z=e.forwardRef((t,r)=>{let n=x(I,t.__scopeDialog),s=e.useRef(null),i=(0,o.useComposedRefs)(r,n.contentRef,s);return e.useEffect(()=>{let t=s.current;if(t)return(0,m.hideOthers)(t)},[]),(0,h.jsx)($,{...t,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,a.composeEventHandlers)(t.onCloseAutoFocus,t=>{t.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:(0,a.composeEventHandlers)(t.onPointerDownOutside,t=>{let e=t.detail.originalEvent,a=0===e.button&&!0===e.ctrlKey;(2===e.button||a)&&t.preventDefault()}),onFocusOutside:(0,a.composeEventHandlers)(t.onFocusOutside,t=>t.preventDefault())})}),A=e.forwardRef((t,a)=>{let o=x(I,t.__scopeDialog),r=e.useRef(!1),n=e.useRef(!1);return(0,h.jsx)($,{...t,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{t.onCloseAutoFocus?.(e),e.defaultPrevented||(r.current||o.triggerRef.current?.focus(),e.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:e=>{t.onInteractOutside?.(e),e.defaultPrevented||(r.current=!0,"pointerdown"===e.detail.originalEvent.type&&(n.current=!0));let a=e.target;o.triggerRef.current?.contains(a)&&e.preventDefault(),"focusin"===e.detail.originalEvent.type&&n.current&&e.preventDefault()}})}),$=e.forwardRef((t,a)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:s,onCloseAutoFocus:d,...u}=t,c=x(I,r),p=e.useRef(null),m=(0,o.useComposedRefs)(a,p);return(0,f.useFocusGuards)(),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:s,onUnmountAutoFocus:d,children:(0,h.jsx)(i.DismissableLayer,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":U(c.open),...u,ref:m,onDismiss:()=>c.onOpenChange(!1)})}),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(W,{titleId:c.titleId}),(0,h.jsx)(q,{contentRef:p,descriptionId:c.descriptionId})]})]})}),F="DialogTitle",O=e.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=x(F,a);return(0,h.jsx)(c.Primitive.h2,{id:r.titleId,...o,ref:e})});O.displayName=F;var _="DialogDescription",L=e.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=x(_,a);return(0,h.jsx)(c.Primitive.p,{id:r.descriptionId,...o,ref:e})});L.displayName=_;var Y="DialogClose",H=e.forwardRef((t,e)=>{let{__scopeDialog:o,...r}=t,n=x(Y,o);return(0,h.jsx)(c.Primitive.button,{type:"button",...r,ref:e,onClick:(0,a.composeEventHandlers)(t.onClick,()=>n.onOpenChange(!1))})});function U(t){return t?"open":"closed"}H.displayName=Y;var V="DialogTitleWarning",[X,K]=(0,r.createContext)(V,{contentName:I,titleName:F,docsSlug:"dialog"}),W=({titleId:t})=>{let a=K(V),o=`\`${a.contentName}\` requires a \`${a.titleName}\` for the component to be accessible for screen reader users.
2
+
3
+ If you want to hide the \`${a.titleName}\`, you can wrap it with our VisuallyHidden component.
4
+
5
+ For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return e.useEffect(()=>{t&&(document.getElementById(t)||console.error(o))},[o,t]),null},q=({contentRef:t,descriptionId:a})=>{let o=K("DialogDescriptionWarning"),r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${o.contentName}}.`;return e.useEffect(()=>{let e=t.current?.getAttribute("aria-describedby");a&&e&&(document.getElementById(a)||console.warn(r))},[r,t,a]),null};t.s(["Close",()=>H,"Content",()=>B,"Description",()=>L,"Dialog",()=>E,"DialogClose",()=>H,"DialogContent",()=>B,"DialogDescription",()=>L,"DialogOverlay",()=>j,"DialogPortal",()=>S,"DialogTitle",()=>O,"DialogTrigger",()=>C,"Overlay",()=>j,"Portal",()=>S,"Root",()=>E,"Title",()=>O,"Trigger",()=>C,"WarningProvider",()=>X,"createDialogScope",()=>y])},90033,t=>{"use strict";var e=t.i(567);t.s(["Dialog",0,e])},51251,14748,t=>{"use strict";let e=(0,t.i(3645).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);t.s(["default",()=>e],14748),t.s(["CircleAlert",()=>e],51251)},83428,15506,t=>{"use strict";let e=(0,t.i(3645).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);t.s(["default",()=>e],15506),t.s(["Loader2",()=>e],83428)},60253,t=>{"use strict";var e=t.i(90537);t.s(["X",()=>e.default])},8361,73709,18354,t=>{"use strict";var e=t.i(44172),a=t.i(79054);let o="shep-sound-enabled",r="shep:sound-toggle";function n(){let[t,e]=(0,a.useState)(!0);(0,a.useEffect)(()=>{"false"===localStorage.getItem(o)&&e(!1);let t=t=>{e(t.detail)};return window.addEventListener(r,t),()=>window.removeEventListener(r,t)},[]);let n=(0,a.useCallback)(()=>{let a=!t;localStorage.setItem(o,String(a)),e(a),window.dispatchEvent(new CustomEvent(r,{detail:a}))},[t]);return{enabled:t,toggle:n}}t.s(["useSoundEnabled",()=>n],73709);let s=new Map,i={navigate:{sound:"tap_01",volume:.2},"menu-item":{sound:"tap_01",volume:.2},select:{sound:"select",volume:.3},"toggle-on":{sound:"toggle_on",volume:.3},"toggle-off":{sound:"toggle_off",volume:.3},click:{sound:"tap_01",volume:.3},cancel:{sound:"transition_down",volume:.3},expand:{sound:"swipe",volume:.3},collapse:{sound:"swipe",volume:.3},"menu-open":{sound:"select",volume:.3},copy:{sound:"select",volume:.3},"drawer-open":{sound:"transition_up",volume:.4},"drawer-close":{sound:"transition_down",volume:.4},submit:{sound:"button",volume:.4},approve:{sound:"celebration",volume:.5},reject:{sound:"caution",volume:.5},create:{sound:"transition_up",volume:.5},delete:{sound:"transition_down",volume:.5},"notification-success":{sound:"celebration",volume:.5},"notification-error":{sound:"caution",volume:.5},"notification-warning":{sound:"notification",volume:.5},"notification-info":{sound:"button",volume:.5}};function l(t){let{sound:e,volume:o}=i[t];return function(t,e={}){let{volume:o=1,loop:r=!1}=e,{enabled:i}=n(),l=(0,a.useRef)(null),d=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{let e,a=((e=s.get(t))||((e=new Audio(`/sounds/${t}.wav`)).preload="auto",s.set(t,e)),e);return a.loop=r,a.volume=Math.max(0,Math.min(1,o)),a.addEventListener("ended",()=>{d.current=!1}),l.current=a,()=>{a.pause(),l.current=null,d.current=!1}},[t,r,o]),{play:(0,a.useCallback)(()=>{if(!i)return;let t=l.current;t&&(t.currentTime=0,t.play()?.catch(t=>{}),d.current=!0)},[i,t]),stop:(0,a.useCallback)(()=>{let t=l.current;t&&(t.pause(),t.currentTime=0,d.current=!1)},[]),isPlaying:d.current}}(e,{volume:o})}t.s(["useSoundAction",()=>l],8361);let d=!!e.default.env.NEXT_PUBLIC_DEBUG,u=()=>void 0;function c(t){return{info:d?(...e)=>console.info(t,...e):u,debug:d?(...e)=>console.debug(t,...e):u,warn:(...e)=>console.warn(t,...e),error:(...e)=>console.error(t,...e)}}t.s(["createLogger",()=>c],18354)},75921,t=>{"use strict";var e=t.i(20314),a=t.i(79054);let o=(0,a.createContext)({skills:!1,envDeploy:!0,debug:!1});function r({children:t,flags:a}){return(0,e.jsx)(o.Provider,{value:a,children:t})}function n(){return(0,a.useContext)(o)}t.s(["FeatureFlagsProvider",()=>r,"useFeatureFlags",()=>n])},31406,(t,e,a)=>{e.exports=t.r(67013)},60112,t=>{"use strict";var e=t.i(79054),a=t.i(26036);let o=Array(12).fill(0),r=({visible:t,className:a})=>e.default.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":t},e.default.createElement("div",{className:"sonner-spinner"},o.map((t,a)=>e.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),n=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),s=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),i=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),l=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),d=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},e.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),u=1,c=new class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...o}=t,r="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:u++,n=this.toasts.find(t=>t.id===r),s=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),n?this.toasts=this.toasts.map(e=>e.id===r?(this.publish({...e,...t,id:r,title:a}),{...e,...t,id:r,dismissible:s,title:a}):e):this.addToast({title:a,...o,dismissible:s,id:r}),r},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:t,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,a)=>{let o,r;if(!a)return;void 0!==a.loading&&(r=this.create({...a,promise:t,type:"loading",message:a.loading,description:"function"!=typeof a.description?a.description:void 0}));let n=Promise.resolve(t instanceof Function?t():t),s=void 0!==r,i=n.then(async t=>{if(o=["resolve",t],e.default.isValidElement(t))s=!1,this.create({id:r,type:"default",message:t});else if(f(t)&&!t.ok){s=!1;let o="function"==typeof a.error?await a.error(`HTTP error! status: ${t.status}`):a.error,n="function"==typeof a.description?await a.description(`HTTP error! status: ${t.status}`):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}else if(t instanceof Error){s=!1;let o="function"==typeof a.error?await a.error(t):a.error,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}else if(void 0!==a.success){s=!1;let o="function"==typeof a.success?await a.success(t):a.success,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"success",description:n,...i})}}).catch(async t=>{if(o=["reject",t],void 0!==a.error){s=!1;let o="function"==typeof a.error?await a.error(t):a.error,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}}).finally(()=>{s&&(this.dismiss(r),r=void 0),null==a.finally||a.finally.call(a)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===o[0]?e(o[1]):t(o[1])).catch(e));return"string"!=typeof r&&"number"!=typeof r?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||u++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=t=>t&&"object"==typeof t&&"ok"in t&&"boolean"==typeof t.ok&&"status"in t&&"number"==typeof t.status,p=Object.assign((t,e)=>{let a=(null==e?void 0:e.id)||u++;return c.addToast({title:t,...e,id:a}),a},{success:c.success,info:c.info,warning:c.warning,error:c.error,custom:c.custom,message:c.message,promise:c.promise,dismiss:c.dismiss,loading:c.loading},{getHistory:()=>c.toasts,getToasts:()=>c.getActiveToasts()});function m(t){return void 0!==t.label}function g(...t){return t.filter(Boolean).join(" ")}!function(t){if(!t||"u"<typeof document)return;let e=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",e.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let h=t=>{var a,o,u,c,f,p,h,v,b,y,w,x,E;let{invert:k,toast:C,unstyled:D,interacting:N,setHeights:R,visibleToasts:S,heights:T,index:j,toasts:M,expanded:P,removeToast:I,defaultRichColors:B,closeButton:z,style:A,cancelButtonStyle:$,actionButtonStyle:F,className:O="",descriptionClassName:_="",duration:L,position:Y,gap:H,expandByDefault:U,classNames:V,icons:X,closeButtonAriaLabel:K="Close toast"}=t,[W,q]=e.default.useState(null),[G,Z]=e.default.useState(null),[J,Q]=e.default.useState(!1),[tt,te]=e.default.useState(!1),[ta,to]=e.default.useState(!1),[tr,tn]=e.default.useState(!1),[ts,ti]=e.default.useState(!1),[tl,td]=e.default.useState(0),[tu,tc]=e.default.useState(0),tf=e.default.useRef(C.duration||L||4e3),tp=e.default.useRef(null),tm=e.default.useRef(null),tg=0===j,th=j+1<=S,tv=C.type,tb=!1!==C.dismissible,ty=C.className||"",tw=C.descriptionClassName||"",tx=e.default.useMemo(()=>T.findIndex(t=>t.toastId===C.id)||0,[T,C.id]),tE=e.default.useMemo(()=>{var t;return null!=(t=C.closeButton)?t:z},[C.closeButton,z]),tk=e.default.useMemo(()=>C.duration||L||4e3,[C.duration,L]),tC=e.default.useRef(0),tD=e.default.useRef(0),tN=e.default.useRef(0),tR=e.default.useRef(null),[tS,tT]=Y.split("-"),tj=e.default.useMemo(()=>T.reduce((t,e,a)=>a>=tx?t:t+e.height,0),[T,tx]),tM=(()=>{let[t,a]=e.default.useState(document.hidden);return e.default.useEffect(()=>{let t=()=>{a(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),t})(),tP=C.invert||k,tI="loading"===tv;tD.current=e.default.useMemo(()=>tx*H+tj,[tx,tj]),e.default.useEffect(()=>{tf.current=tk},[tk]),e.default.useEffect(()=>{Q(!0)},[]),e.default.useEffect(()=>{let t=tm.current;if(t){let e=t.getBoundingClientRect().height;return tc(e),R(t=>[{toastId:C.id,height:e,position:C.position},...t]),()=>R(t=>t.filter(t=>t.toastId!==C.id))}},[R,C.id]),e.default.useLayoutEffect(()=>{if(!J)return;let t=tm.current,e=t.style.height;t.style.height="auto";let a=t.getBoundingClientRect().height;t.style.height=e,tc(a),R(t=>t.find(t=>t.toastId===C.id)?t.map(t=>t.toastId===C.id?{...t,height:a}:t):[{toastId:C.id,height:a,position:C.position},...t])},[J,C.title,C.description,R,C.id,C.jsx,C.action,C.cancel]);let tB=e.default.useCallback(()=>{te(!0),td(tD.current),R(t=>t.filter(t=>t.toastId!==C.id)),setTimeout(()=>{I(C)},200)},[C,I,R,tD]);e.default.useEffect(()=>{let t;if((!C.promise||"loading"!==tv)&&C.duration!==1/0&&"loading"!==C.type){if(P||N||tM){if(tN.current<tC.current){let t=new Date().getTime()-tC.current;tf.current=tf.current-t}tN.current=new Date().getTime()}else tf.current!==1/0&&(tC.current=new Date().getTime(),t=setTimeout(()=>{null==C.onAutoClose||C.onAutoClose.call(C,C),tB()},tf.current));return()=>clearTimeout(t)}},[P,N,C,tv,tM,tB]),e.default.useEffect(()=>{C.delete&&(tB(),null==C.onDismiss||C.onDismiss.call(C,C))},[tB,C.delete]);let tz=C.icon||(null==X?void 0:X[tv])||(t=>{switch(t){case"success":return n;case"info":return i;case"warning":return s;case"error":return l;default:return null}})(tv);return e.default.createElement("li",{tabIndex:0,ref:tm,className:g(O,ty,null==V?void 0:V.toast,null==C||null==(a=C.classNames)?void 0:a.toast,null==V?void 0:V.default,null==V?void 0:V[tv],null==C||null==(o=C.classNames)?void 0:o[tv]),"data-sonner-toast":"","data-rich-colors":null!=(y=C.richColors)?y:B,"data-styled":!(C.jsx||C.unstyled||D),"data-mounted":J,"data-promise":!!C.promise,"data-swiped":ts,"data-removed":tt,"data-visible":th,"data-y-position":tS,"data-x-position":tT,"data-index":j,"data-front":tg,"data-swiping":ta,"data-dismissible":tb,"data-type":tv,"data-invert":tP,"data-swipe-out":tr,"data-swipe-direction":G,"data-expanded":!!(P||U&&J),"data-testid":C.testId,style:{"--index":j,"--toasts-before":j,"--z-index":M.length-j,"--offset":`${tt?tl:tD.current}px`,"--initial-height":U?"auto":`${tu}px`,...A,...C.style},onDragEnd:()=>{to(!1),q(null),tR.current=null},onPointerDown:t=>{2===t.button||tI||!tb||(tp.current=new Date,td(tD.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&(to(!0),tR.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,o,r;if(tr||!tb)return;tR.current=null;let n=Number((null==(t=tm.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(e=tm.current)?void 0:e.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=tp.current)?void 0:a.getTime()),l="x"===W?n:s,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){td(tD.current),null==C.onDismiss||C.onDismiss.call(C,C),"x"===W?Z(n>0?"right":"left"):Z(s>0?"down":"up"),tB(),tn(!0);return}null==(o=tm.current)||o.style.setProperty("--swipe-amount-x","0px"),null==(r=tm.current)||r.style.setProperty("--swipe-amount-y","0px"),ti(!1),to(!1),q(null)},onPointerMove:e=>{var a,o,r,n;if(!tR.current||!tb||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=e.clientY-tR.current.y,i=e.clientX-tR.current.x,l=null!=(n=t.swipeDirections)?n:function(t){let[e,a]=t.split("-"),o=[];return e&&o.push(e),a&&o.push(a),o}(Y);!W&&(Math.abs(i)>1||Math.abs(s)>1)&&q(Math.abs(i)>Math.abs(s)?"x":"y");let d={x:0,y:0},u=t=>1/(1.5+Math.abs(t)/20);if("y"===W){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)d.y=s;else{let t=s*u(s);d.y=Math.abs(t)<Math.abs(s)?t:s}}else if("x"===W&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)d.x=i;else{let t=i*u(i);d.x=Math.abs(t)<Math.abs(i)?t:i}(Math.abs(d.x)>0||Math.abs(d.y)>0)&&ti(!0),null==(o=tm.current)||o.style.setProperty("--swipe-amount-x",`${d.x}px`),null==(r=tm.current)||r.style.setProperty("--swipe-amount-y",`${d.y}px`)}},tE&&!C.jsx&&"loading"!==tv?e.default.createElement("button",{"aria-label":K,"data-disabled":tI,"data-close-button":!0,onClick:tI||!tb?()=>{}:()=>{tB(),null==C.onDismiss||C.onDismiss.call(C,C)},className:g(null==V?void 0:V.closeButton,null==C||null==(u=C.classNames)?void 0:u.closeButton)},null!=(w=null==X?void 0:X.close)?w:d):null,(tv||C.icon||C.promise)&&null!==C.icon&&((null==X?void 0:X[tv])!==null||C.icon)?e.default.createElement("div",{"data-icon":"",className:g(null==V?void 0:V.icon,null==C||null==(c=C.classNames)?void 0:c.icon)},C.promise||"loading"===C.type&&!C.icon?C.icon||((null==X?void 0:X.loading)?e.default.createElement("div",{className:g(null==V?void 0:V.loader,null==C||null==(E=C.classNames)?void 0:E.loader,"sonner-loader"),"data-visible":"loading"===tv},X.loading):e.default.createElement(r,{className:g(null==V?void 0:V.loader,null==C||null==(x=C.classNames)?void 0:x.loader),visible:"loading"===tv})):null,"loading"!==C.type?tz:null):null,e.default.createElement("div",{"data-content":"",className:g(null==V?void 0:V.content,null==C||null==(f=C.classNames)?void 0:f.content)},e.default.createElement("div",{"data-title":"",className:g(null==V?void 0:V.title,null==C||null==(p=C.classNames)?void 0:p.title)},C.jsx?C.jsx:"function"==typeof C.title?C.title():C.title),C.description?e.default.createElement("div",{"data-description":"",className:g(_,tw,null==V?void 0:V.description,null==C||null==(h=C.classNames)?void 0:h.description)},"function"==typeof C.description?C.description():C.description):null),e.default.isValidElement(C.cancel)?C.cancel:C.cancel&&m(C.cancel)?e.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:C.cancelButtonStyle||$,onClick:t=>{!m(C.cancel)||tb&&(null==C.cancel.onClick||C.cancel.onClick.call(C.cancel,t),tB())},className:g(null==V?void 0:V.cancelButton,null==C||null==(v=C.classNames)?void 0:v.cancelButton)},C.cancel.label):null,e.default.isValidElement(C.action)?C.action:C.action&&m(C.action)?e.default.createElement("button",{"data-button":!0,"data-action":!0,style:C.actionButtonStyle||F,onClick:t=>{!m(C.action)||(null==C.action.onClick||C.action.onClick.call(C.action,t),t.defaultPrevented||tB())},className:g(null==V?void 0:V.actionButton,null==C||null==(b=C.classNames)?void 0:b.actionButton)},C.action.label):null)};function v(){if("u"<typeof window||"u"<typeof document)return"ltr";let t=document.documentElement.getAttribute("dir");return"auto"!==t&&t?t:window.getComputedStyle(document.documentElement).direction}let b=e.default.forwardRef(function(t,o){let{id:r,invert:n,position:s="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:d,className:u,offset:f,mobileOffset:p,theme:m="light",richColors:g,duration:b,style:y,visibleToasts:w=3,toastOptions:x,dir:E=v(),gap:k=14,icons:C,containerAriaLabel:D="Notifications"}=t,[N,R]=e.default.useState([]),S=e.default.useMemo(()=>r?N.filter(t=>t.toasterId===r):N.filter(t=>!t.toasterId),[N,r]),T=e.default.useMemo(()=>Array.from(new Set([s].concat(S.filter(t=>t.position).map(t=>t.position)))),[S,s]),[j,M]=e.default.useState([]),[P,I]=e.default.useState(!1),[B,z]=e.default.useState(!1),[A,$]=e.default.useState("system"!==m?m:"u">typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),F=e.default.useRef(null),O=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),_=e.default.useRef(null),L=e.default.useRef(!1),Y=e.default.useCallback(t=>{R(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||c.dismiss(t.id),e.filter(({id:e})=>e!==t.id)})},[]);return e.default.useEffect(()=>c.subscribe(t=>{t.dismiss?requestAnimationFrame(()=>{R(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))}):setTimeout(()=>{a.default.flushSync(()=>{R(e=>{let a=e.findIndex(e=>e.id===t.id);return -1!==a?[...e.slice(0,a),{...e[a],...t},...e.slice(a+1)]:[t,...e]})})})}),[N]),e.default.useEffect(()=>{if("system"!==m)return void $(m);if("system"===m&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?$("dark"):$("light")),"u"<typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",({matches:t})=>{t?$("dark"):$("light")})}catch(e){t.addListener(({matches:t})=>{try{t?$("dark"):$("light")}catch(t){console.error(t)}})}},[m]),e.default.useEffect(()=>{N.length<=1&&I(!1)},[N]),e.default.useEffect(()=>{let t=t=>{var e,a;i.every(e=>t[e]||t.code===e)&&(I(!0),null==(a=F.current)||a.focus()),"Escape"===t.code&&(document.activeElement===F.current||(null==(e=F.current)?void 0:e.contains(document.activeElement)))&&I(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[i]),e.default.useEffect(()=>{if(F.current)return()=>{_.current&&(_.current.focus({preventScroll:!0}),_.current=null,L.current=!1)}},[F.current]),e.default.createElement("section",{ref:o,"aria-label":`${D} ${O}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},T.map((a,o)=>{var r;let s,[i,c]=a.split("-");return S.length?e.default.createElement("ol",{key:a,dir:"auto"===E?v():E,tabIndex:-1,ref:F,className:u,"data-sonner-toaster":!0,"data-sonner-theme":A,"data-y-position":i,"data-x-position":c,style:{"--front-toast-height":`${(null==(r=j[0])?void 0:r.height)||0}px`,"--width":"356px","--gap":`${k}px`,...y,...(s={},[f,p].forEach((t,e)=>{let a=1===e,o=a?"--mobile-offset":"--offset",r=a?"16px":"24px";function n(t){["top","right","bottom","left"].forEach(e=>{s[`${o}-${e}`]="number"==typeof t?`${t}px`:t})}"number"==typeof t||"string"==typeof t?n(t):"object"==typeof t?["top","right","bottom","left"].forEach(e=>{void 0===t[e]?s[`${o}-${e}`]=r:s[`${o}-${e}`]="number"==typeof t[e]?`${t[e]}px`:t[e]}):n(r)}),s)},onBlur:t=>{L.current&&!t.currentTarget.contains(t.relatedTarget)&&(L.current=!1,_.current&&(_.current.focus({preventScroll:!0}),_.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&(L.current||(L.current=!0,_.current=t.relatedTarget))},onMouseEnter:()=>I(!0),onMouseMove:()=>I(!0),onMouseLeave:()=>{B||I(!1)},onDragEnd:()=>I(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||z(!0)},onPointerUp:()=>z(!1)},S.filter(t=>!t.position&&0===o||t.position===a).map((o,r)=>{var s,i;return e.default.createElement(h,{key:o.id,icons:C,index:r,toast:o,defaultRichColors:g,duration:null!=(s=null==x?void 0:x.duration)?s:b,className:null==x?void 0:x.className,descriptionClassName:null==x?void 0:x.descriptionClassName,invert:n,visibleToasts:w,closeButton:null!=(i=null==x?void 0:x.closeButton)?i:d,interacting:B,position:a,style:null==x?void 0:x.style,unstyled:null==x?void 0:x.unstyled,classNames:null==x?void 0:x.classNames,cancelButtonStyle:null==x?void 0:x.cancelButtonStyle,actionButtonStyle:null==x?void 0:x.actionButtonStyle,closeButtonAriaLabel:null==x?void 0:x.closeButtonAriaLabel,removeToast:Y,toasts:S.filter(t=>t.position==o.position),heights:j.filter(t=>t.position==o.position),setHeights:M,expandByDefault:l,gap:k,expanded:P,swipeDirections:t.swipeDirections})})):null}))});t.s(["Toaster",()=>b,"toast",()=>p])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36479,e=>{"use strict";var a=e.i(20314),t=e.i(79054),r=e.i(31406),s=e.i(60112),i=e.i(21023);let n=(0,i.createServerReference)("40b804f65e22e0eac832fdf5ae76e4a1b6ed5873d0",i.callServer,void 0,i.findSourceMapURL,"adoptBranch");var l=e.i(49228),o=e.i(83428);e.i(1650);var c=e.i(11495),d=e.i(45811),u=e.i(35364),h=e.i(98127),m=e.i(41957);function p({open:e,onClose:r,onSubmit:s,isSubmitting:i=!1,error:n}){let[p,f]=(0,t.useState)(""),x=(0,t.useCallback)(e=>{e.preventDefault();let a=p.trim();a&&!i&&s(a)},[p,i,s]),b=(0,t.useCallback)(()=>{f(""),r()},[r]),v=!p.trim()||i,j=(0,a.jsxs)("div",{children:[(0,a.jsxs)(d.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(l.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(d.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(c.BaseDrawer,{open:e,onClose:b,size:"sm",modal:!1,header:j,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:x,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(m.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsx)(h.Input,{id:"branch-name",placeholder:"e.g. fix/login-bug or feat/user-auth",value:p,onChange:e=>f(e.target.value),disabled:i,autoFocus:!0,"data-testid":"adopt-branch-input"}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Enter the name of a local or remote branch to adopt as a tracked feature."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(u.Button,{type:"button",variant:"outline",onClick:b,disabled:i,className:"flex-1",children:"Cancel"}),(0,a.jsx)(u.Button,{type:"submit",disabled:v,className:"flex-1","data-testid":"adopt-branch-submit",children:i?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function f({repositoryPath:e}){let i=(0,r.useRouter)(),l=(0,r.usePathname)(),[o,c]=(0,t.useState)(!1),[d,u]=(0,t.useState)(),h=l.startsWith("/adopt"),m=!o&&h;(0,t.useEffect)(()=>{!h&&o&&c(!1)},[h,o]),(0,t.useEffect)(()=>{h&&u(void 0)},[h]);let f=(0,t.useCallback)(()=>{i.push("/")},[i]),x=(0,t.useCallback)(a=>{u(void 0),c(!0),i.push("/"),n({branchName:a,repositoryPath:e}).then(e=>{e.error?s.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),s.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{s.toast.error("Failed to adopt branch"),c(!1)})},[i,e]);return(0,a.jsx)(p,{open:m,onClose:f,onSubmit:x,isSubmitting:o,error:d})}e.s(["AdoptDrawerClient",()=>f],36479)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87292,e=>{"use strict";var t=e.i(20314),a=e.i(79054),r=e.i(31406),i=e.i(3214),n=e.i(91925),o=e.i(49228),s=e.i(94237),l=e.i(3645);let d=(0,l.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var c=e.i(5240),u=e.i(31777),p=e.i(35364);e.i(98127),e.i(25235);var f=e.i(48249),h=e.i(90033);function m({...e}){return(0,t.jsx)(h.Dialog.Root,{"data-slot":"sheet",...e})}function g({...e}){return(0,t.jsx)(h.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function b({className:e,...a}){return(0,t.jsx)(h.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,u.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...a})}function v({className:e,children:a,side:r="right",showCloseButton:i=!0,...n}){return(0,t.jsxs)(g,{children:[(0,t.jsx)(b,{}),(0,t.jsxs)(h.Dialog.Content,{"data-slot":"sheet-content",className:(0,u.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===r&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===r&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===r&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===r&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...n,children:[a,i?(0,t.jsxs)(h.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary 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,t.jsx)(f.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function x({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,u.cn)("flex flex-col gap-1.5 p-4",e),...a})}function w({className:e,...a}){return(0,t.jsx)(h.Dialog.Title,{"data-slot":"sheet-title",className:(0,u.cn)("text-foreground font-semibold",e),...a})}function y({className:e,...a}){return(0,t.jsx)(h.Dialog.Description,{"data-slot":"sheet-description",className:(0,u.cn)("text-muted-foreground text-sm",e),...a})}var C=e.i(2828);let j="shep-sidebar-open",S=a.createContext(null);function N(){let e=a.useContext(S);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function k({defaultOpen:e=!0,open:r,onOpenChange:i,className:n,style:o,children:s,...l}){let d=function(){let[e,t]=a.useState(void 0);return a.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[c,p]=a.useState(!1),[f,h]=a.useState(e),m=r??f;a.useEffect(()=>{if(void 0!==r)return;let t=function(e){try{let t=localStorage.getItem(j);if("true"===t)return!0;if("false"===t)return!1;return e}catch{return e}}(e);t!==e&&h(t)},[]);let g=a.useCallback(e=>{let t="function"==typeof e?e(m):e;i?i(t):h(t);try{localStorage.setItem(j,String(t))}catch{}},[i,m]),b=a.useCallback(()=>d?p(e=>!e):g(e=>!e),[d,g,p]);a.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[b]);let v=m?"expanded":"collapsed",x=a.useMemo(()=>({state:v,open:m,setOpen:g,isMobile:d,openMobile:c,setOpenMobile:p,toggleSidebar:b}),[v,m,g,d,c,p,b]);return(0,t.jsx)(S.Provider,{value:x,children:(0,t.jsx)(C.TooltipProvider,{delayDuration:0,children:(0,t.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...o},className:(0,u.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",n),...l,children:s})})})}function E({side:e="left",variant:a="sidebar",collapsible:r="offcanvas",className:i,children:n,...o}){let{isMobile:s,state:l,openMobile:d,setOpenMobile:c}=N();return"none"===r?(0,t.jsx)("div",{"data-slot":"sidebar",className:(0,u.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",i),...o,children:n}):s?(0,t.jsx)(m,{open:d,onOpenChange:c,...o,children:(0,t.jsxs)(v,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,t.jsxs)(x,{className:"sr-only",children:[(0,t.jsx)(w,{children:"Sidebar"}),(0,t.jsx)(y,{children:"Displays the mobile sidebar."})]}),(0,t.jsx)("div",{className:"flex h-full w-full flex-col",children:n})]})}):(0,t.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":l,"data-collapsible":"collapsed"===l?r:"","data-variant":a,"data-side":e,"data-slot":"sidebar",children:[(0,t.jsx)("div",{"data-slot":"sidebar-gap",className:(0,u.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,t.jsx)("div",{"data-slot":"sidebar-container",className:(0,u.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===e?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",i),...o,children:(0,t.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:n})})]})}function T({className:e,...a}){let{toggleSidebar:r}=N();return(0,t.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:(0,u.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})}function R({className:e,...a}){return(0,t.jsx)("main",{"data-slot":"sidebar-inset",className:(0,u.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...a})}function P({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,u.cn)("flex flex-col gap-2 p-2",e),...a})}function A({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,u.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a})}function L({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,u.cn)("relative flex w-full min-w-0 flex-col p-2",e),...a})}function D({className:e,asChild:a=!1,...r}){let i=a?c.Slot.Root:"div";return(0,t.jsx)(i,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,u.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...r})}function z({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,u.cn)("w-full text-sm",e),...a})}function M({className:e,...a}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,u.cn)("flex w-full min-w-0 flex-col gap-1",e),...a})}function _({className:e,...a}){return(0,t.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,u.cn)("group/menu-item relative",e),...a})}let I=(0,s.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function H({asChild:e=!1,isActive:a=!1,variant:r="default",size:i="default",tooltip:n,className:o,...s}){let l=e?c.Slot.Root:"button",{isMobile:d,state:p}=N(),f=(0,t.jsx)(l,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":i,"data-active":a,className:(0,u.cn)(I({variant:r,size:i}),o),...s});return n?("string"==typeof n&&(n={children:n}),(0,t.jsxs)(C.Tooltip,{children:[(0,t.jsx)(C.TooltipTrigger,{asChild:!0,children:f}),(0,t.jsx)(C.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==p||d,...n})]})):f}let W=(0,l.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var O=e.i(81975),B=e.i(12103);let $=(0,l.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var F=e.i(87620),U=e.i(85995),X=e.i(22528),V=e.i(5978),Y=e.i(29297),q=e.i(66033),Z=e.i(5192),G=e.i(27069),K=e.i(91967),J="ScrollArea",[Q,ee]=(0,X.createContextScope)(J),[et,ea]=Q(J),er=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,type:n="hover",dir:o,scrollHideDelay:s=600,...l}=e,[d,c]=a.useState(null),[u,p]=a.useState(null),[f,h]=a.useState(null),[m,g]=a.useState(null),[b,v]=a.useState(null),[x,w]=a.useState(0),[y,C]=a.useState(0),[j,S]=a.useState(!1),[N,k]=a.useState(!1),E=(0,V.useComposedRefs)(r,e=>c(e)),T=(0,q.useDirection)(o);return(0,t.jsx)(et,{scope:i,type:n,dir:T,scrollHideDelay:s,scrollArea:d,viewport:u,onViewportChange:p,content:f,onContentChange:h,scrollbarX:m,onScrollbarXChange:g,scrollbarXEnabled:j,onScrollbarXEnabledChange:S,scrollbarY:b,onScrollbarYChange:v,scrollbarYEnabled:N,onScrollbarYEnabledChange:k,onCornerWidthChange:w,onCornerHeightChange:C,children:(0,t.jsx)(F.Primitive.div,{dir:T,...l,ref:E,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":y+"px",...e.style}})})});er.displayName=J;var ei="ScrollAreaViewport",en=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,children:n,nonce:o,...s}=e,l=ea(ei,i),d=a.useRef(null),c=(0,V.useComposedRefs)(r,d,l.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),(0,t.jsx)(F.Primitive.div,{"data-radix-scroll-area-viewport":"",...s,ref:c,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});en.displayName=ei;var eo="ScrollAreaScrollbar",es=a.forwardRef((e,r)=>{let{forceMount:i,...n}=e,o=ea(eo,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:l}=o,d="horizontal"===e.orientation;return a.useEffect(()=>(d?s(!0):l(!0),()=>{d?s(!1):l(!1)}),[d,s,l]),"hover"===o.type?(0,t.jsx)(el,{...n,ref:r,forceMount:i}):"scroll"===o.type?(0,t.jsx)(ed,{...n,ref:r,forceMount:i}):"auto"===o.type?(0,t.jsx)(ec,{...n,ref:r,forceMount:i}):"always"===o.type?(0,t.jsx)(eu,{...n,ref:r}):null});es.displayName=eo;var el=a.forwardRef((e,r)=>{let{forceMount:i,...n}=e,o=ea(eo,e.__scopeScrollArea),[s,l]=a.useState(!1);return a.useEffect(()=>{let e=o.scrollArea,t=0;if(e){let a=()=>{window.clearTimeout(t),l(!0)},r=()=>{t=window.setTimeout(()=>l(!1),o.scrollHideDelay)};return e.addEventListener("pointerenter",a),e.addEventListener("pointerleave",r),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",r)}}},[o.scrollArea,o.scrollHideDelay]),(0,t.jsx)(U.Presence,{present:i||s,children:(0,t.jsx)(ec,{"data-state":s?"visible":"hidden",...n,ref:r})})}),ed=a.forwardRef((e,r)=>{var i;let{forceMount:n,...o}=e,s=ea(eo,e.__scopeScrollArea),l="horizontal"===e.orientation,d=eR(()=>u("SCROLL_END"),100),[c,u]=(i={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},a.useReducer((e,t)=>i[e][t]??e,"hidden"));return a.useEffect(()=>{if("idle"===c){let e=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,s.scrollHideDelay,u]),a.useEffect(()=>{let e=s.viewport,t=l?"scrollLeft":"scrollTop";if(e){let a=e[t],r=()=>{let r=e[t];a!==r&&(u("SCROLL"),d()),a=r};return e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[s.viewport,l,u,d]),(0,t.jsx)(U.Presence,{present:n||"hidden"!==c,children:(0,t.jsx)(eu,{"data-state":"hidden"===c?"hidden":"visible",...o,ref:r,onPointerEnter:(0,K.composeEventHandlers)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,K.composeEventHandlers)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),ec=a.forwardRef((e,r)=>{let i=ea(eo,e.__scopeScrollArea),{forceMount:n,...o}=e,[s,l]=a.useState(!1),d="horizontal"===e.orientation,c=eR(()=>{if(i.viewport){let e=i.viewport.offsetWidth<i.viewport.scrollWidth,t=i.viewport.offsetHeight<i.viewport.scrollHeight;l(d?e:t)}},10);return eP(i.viewport,c),eP(i.content,c),(0,t.jsx)(U.Presence,{present:n||s,children:(0,t.jsx)(eu,{"data-state":s?"visible":"hidden",...o,ref:r})})}),eu=a.forwardRef((e,r)=>{let{orientation:i="vertical",...n}=e,o=ea(eo,e.__scopeScrollArea),s=a.useRef(null),l=a.useRef(0),[d,c]=a.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=eS(d.viewport,d.content),p={...n,sizes:d,onSizesChange:c,hasThumb:!!(u>0&&u<1),onThumbChange:e=>s.current=e,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:e=>l.current=e};function f(e,t){return function(e,t,a,r="ltr"){let i=eN(a),n=t||i/2,o=a.scrollbar.paddingStart+n,s=a.scrollbar.size-a.scrollbar.paddingEnd-(i-n),l=a.content-a.viewport;return eE([o,s],"ltr"===r?[0,l]:[-1*l,0])(e)}(e,l.current,d,t)}return"horizontal"===i?(0,t.jsx)(ep,{...p,ref:r,onThumbPositionChange:()=>{if(o.viewport&&s.current){let e=ek(o.viewport.scrollLeft,d,o.dir);s.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollLeft=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollLeft=f(e,o.dir))}}):"vertical"===i?(0,t.jsx)(ef,{...p,ref:r,onThumbPositionChange:()=>{if(o.viewport&&s.current){let e=ek(o.viewport.scrollTop,d);s.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollTop=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollTop=f(e))}}):null}),ep=a.forwardRef((e,r)=>{let{sizes:i,onSizesChange:n,...o}=e,s=ea(eo,e.__scopeScrollArea),[l,d]=a.useState(),c=a.useRef(null),u=(0,V.useComposedRefs)(r,c,s.onScrollbarXChange);return a.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eg,{"data-orientation":"horizontal",...o,ref:u,sizes:i,style:{bottom:0,left:"rtl"===s.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===s.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":eN(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,a)=>{if(s.viewport){var r,i;let n=s.viewport.scrollLeft+t.deltaX;e.onWheelScroll(n),r=n,i=a,r>0&&r<i&&t.preventDefault()}},onResize:()=>{c.current&&s.viewport&&l&&n({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ej(l.paddingLeft),paddingEnd:ej(l.paddingRight)}})}})}),ef=a.forwardRef((e,r)=>{let{sizes:i,onSizesChange:n,...o}=e,s=ea(eo,e.__scopeScrollArea),[l,d]=a.useState(),c=a.useRef(null),u=(0,V.useComposedRefs)(r,c,s.onScrollbarYChange);return a.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eg,{"data-orientation":"vertical",...o,ref:u,sizes:i,style:{top:0,right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":eN(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,a)=>{if(s.viewport){var r,i;let n=s.viewport.scrollTop+t.deltaY;e.onWheelScroll(n),r=n,i=a,r>0&&r<i&&t.preventDefault()}},onResize:()=>{c.current&&s.viewport&&l&&n({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ej(l.paddingTop),paddingEnd:ej(l.paddingBottom)}})}})}),[eh,em]=Q(eo),eg=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,sizes:n,hasThumb:o,onThumbChange:s,onThumbPointerUp:l,onThumbPointerDown:d,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:p,onResize:f,...h}=e,m=ea(eo,i),[g,b]=a.useState(null),v=(0,V.useComposedRefs)(r,e=>b(e)),x=a.useRef(null),w=a.useRef(""),y=m.viewport,C=n.content-n.viewport,j=(0,Y.useCallbackRef)(p),S=(0,Y.useCallbackRef)(c),N=eR(f,10);function k(e){x.current&&u({x:e.clientX-x.current.left,y:e.clientY-x.current.top})}return a.useEffect(()=>{let e=e=>{let t=e.target;g?.contains(t)&&j(e,C)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[y,g,C,j]),a.useEffect(S,[n,S]),eP(g,N),eP(m.content,N),(0,t.jsx)(eh,{scope:i,scrollbar:g,hasThumb:o,onThumbChange:(0,Y.useCallbackRef)(s),onThumbPointerUp:(0,Y.useCallbackRef)(l),onThumbPositionChange:S,onThumbPointerDown:(0,Y.useCallbackRef)(d),children:(0,t.jsx)(F.Primitive.div,{...h,ref:v,style:{position:"absolute",...h.style},onPointerDown:(0,K.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),x.current=g.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),k(e))}),onPointerMove:(0,K.composeEventHandlers)(e.onPointerMove,k),onPointerUp:(0,K.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=w.current,m.viewport&&(m.viewport.style.scrollBehavior=""),x.current=null})})})}),eb="ScrollAreaThumb",ev=a.forwardRef((e,a)=>{let{forceMount:r,...i}=e,n=em(eb,e.__scopeScrollArea);return(0,t.jsx)(U.Presence,{present:r||n.hasThumb,children:(0,t.jsx)(ex,{ref:a,...i})})}),ex=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,style:n,...o}=e,s=ea(eb,i),l=em(eb,i),{onThumbPositionChange:d}=l,c=(0,V.useComposedRefs)(r,e=>l.onThumbChange(e)),u=a.useRef(void 0),p=eR(()=>{u.current&&(u.current(),u.current=void 0)},100);return a.useEffect(()=>{let e=s.viewport;if(e){let t=()=>{p(),u.current||(u.current=eT(e,d),d())};return d(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[s.viewport,p,d]),(0,t.jsx)(F.Primitive.div,{"data-state":l.hasThumb?"visible":"hidden",...o,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:(0,K.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),a=e.clientX-t.left,r=e.clientY-t.top;l.onThumbPointerDown({x:a,y:r})}),onPointerUp:(0,K.composeEventHandlers)(e.onPointerUp,l.onThumbPointerUp)})});ev.displayName=eb;var ew="ScrollAreaCorner",ey=a.forwardRef((e,a)=>{let r=ea(ew,e.__scopeScrollArea),i=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&i?(0,t.jsx)(eC,{...e,ref:a}):null});ey.displayName=ew;var eC=a.forwardRef((e,r)=>{let{__scopeScrollArea:i,...n}=e,o=ea(ew,i),[s,l]=a.useState(0),[d,c]=a.useState(0),u=!!(s&&d);return eP(o.scrollbarX,()=>{let e=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(e),c(e)}),eP(o.scrollbarY,()=>{let e=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(e),l(e)}),u?(0,t.jsx)(F.Primitive.div,{...n,ref:r,style:{width:s,height:d,position:"absolute",right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:0,...e.style}}):null});function ej(e){return e?parseInt(e,10):0}function eS(e,t){let a=e/t;return isNaN(a)?0:a}function eN(e){let t=eS(e.viewport,e.content),a=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-a)*t,18)}function ek(e,t,a="ltr"){let r=eN(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=t.scrollbar.size-i,o=t.content-t.viewport,s=(0,G.clamp)(e,"ltr"===a?[0,o]:[-1*o,0]);return eE([0,o],[0,n-r])(s)}function eE(e,t){return a=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(a-e[0])}}var eT=(e,t=()=>{})=>{let a={left:e.scrollLeft,top:e.scrollTop},r=0;return!function i(){let n={left:e.scrollLeft,top:e.scrollTop},o=a.left!==n.left,s=a.top!==n.top;(o||s)&&t(),a=n,r=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(r)};function eR(e,t){let r=(0,Y.useCallbackRef)(e),i=a.useRef(0);return a.useEffect(()=>()=>window.clearTimeout(i.current),[]),a.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(r,t)},[r,t])}function eP(e,t){let a=(0,Y.useCallbackRef)(t);(0,Z.useLayoutEffect)(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(a)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,a])}e.s(["Corner",()=>ey,"Root",()=>er,"ScrollArea",()=>er,"ScrollAreaCorner",()=>ey,"ScrollAreaScrollbar",()=>es,"ScrollAreaThumb",()=>ev,"ScrollAreaViewport",()=>en,"Scrollbar",()=>es,"Thumb",()=>ev,"Viewport",()=>en,"createScrollAreaScope",()=>ee],87516);var eA=e.i(87516),eA=eA;function eL({className:e,children:a,...r}){return(0,t.jsxs)(eA.Root,{"data-slot":"scroll-area",className:(0,u.cn)("relative",e),...r,children:[(0,t.jsx)(eA.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&>div]:block!",children:a}),(0,t.jsx)(eD,{}),(0,t.jsx)(eA.Corner,{})]})}function eD({className:e,orientation:a="vertical",...r}){return(0,t.jsx)(eA.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:a,className:(0,u.cn)("flex touch-none p-px transition-colors select-none","vertical"===a&&"h-full w-2.5 border-l border-l-transparent","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent",e),...r,children:(0,t.jsx)(eA.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var ez=e.i(24035),eM=e.i(8361);function e_({icon:e,label:a,href:r,active:i=!1}){let n=(0,eM.useSoundAction)("navigate");return(0,t.jsx)(_,{"data-testid":"sidebar-nav-item",children:(0,t.jsx)(H,{asChild:!0,isActive:i,tooltip:a,children:(0,t.jsxs)(ez.default,{href:r,onClick:()=>n.play(),children:[(0,t.jsx)(e,{}),(0,t.jsx)("span",{children:a})]})})})}function eI({className:e}){let{toggleSidebar:a,open:r}=N(),i=(0,eM.useSoundAction)("expand"),n=(0,eM.useSoundAction)("collapse");return(0,t.jsx)("div",{className:(0,u.cn)("flex",e),children:(0,t.jsx)(p.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{r?n.play():i.play(),a()},"aria-label":r?"Collapse sidebar":"Expand sidebar",children:(0,t.jsx)(d,{className:"size-4"})})})}function eH({className:e,size:a=24,variant:r="default"}){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:a,height:a,className:(0,u.cn)("shrink-0","dev"===r&&"text-cyan-400",e),"aria-hidden":"true",children:(0,t.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,t.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}function eW({version:e,branch:r,commitHash:i,isDev:n=!1,packageName:o="@shepai/cli",description:s,instancePath:l}){let d=i?.slice(0,7),{latest:c,updateAvailable:u}=function(e){let[t,r]=(0,a.useState)(null),[i,n]=(0,a.useState)(!0);(0,a.useEffect)(()=>{let e=!1;return async function(){try{let t=await fetch("/api/npm-version");if(!t.ok)return;let a=await t.json();!e&&a.latest&&r(a.latest)}catch{}finally{e||n(!1)}}(),()=>{e=!0}},[]);let o=null!==t&&function(e,t){let a=e=>e.split("-")[0].split(".").map(Number),r=a(e),i=a(t);for(let e=0;e<3;e++){let t=r[e]??0,a=i[e]??0;if(t>a)return 1;if(t<a)return -1}return 0}(t,e)>0;return{latest:t,updateAvailable:o,loading:i}}(e),{status:p,startUpgrade:f}=function(){let[e,t]=(0,a.useState)("idle"),[r,i]=(0,a.useState)(""),[n,o]=(0,a.useState)(),s=(0,a.useRef)(null),l=(0,a.useRef)(!1),d=(0,a.useCallback)(()=>{if("upgrading"===e||"restarting"===e)return;t("upgrading"),i(""),o(void 0),l.current=!1;let a=new AbortController;return s.current=a,fetch("/api/cli-upgrade",{method:"POST",signal:a.signal}).then(async e=>{if(!e.ok||!e.body){t("error"),o(`Server returned ${e.status}`);return}let a=e.body.getReader(),r=new TextDecoder,n="";for(;;){let{done:e,value:s}=await a.read();if(e)break;let d=(n+=r.decode(s,{stream:!0})).split("\n");for(let e of(n=d.pop()??"",d)){if(e.startsWith("event: restarting")){l.current=!0,t("restarting"),function(e,t){let a=Date.now()+3e4,r=()=>{Date.now()>a||fetch("/api/version",{method:"GET",cache:"no-store"}).then(e=>{e.ok?window.location.reload():setTimeout(r,500)}).catch(()=>{setTimeout(r,500)})};setTimeout(r,500)}(0,0);continue}if(!e.startsWith("event: done")&&e.startsWith("data: ")){let a=e.slice(6);try{let e=JSON.parse(a);"upgraded"===e.status?t("upgraded"):"up-to-date"===e.status?t("up-to-date"):"error"===e.status&&(t("error"),o(e.errorMessage))}catch{i(e=>e+a)}}}}}).catch(e=>{l.current||e instanceof DOMException&&"AbortError"===e.name||(t("error"),o(e instanceof Error?e.message:"Upgrade failed"))}),()=>{a.abort()}},[e]);return{status:e,output:r,errorMessage:n,startUpgrade:d}}(),h=n?`${e}-dev`:`v${e}`,m="upgrading"===p,g="restarting"===p,b="upgraded"===p;return(0,t.jsx)(C.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(C.Tooltip,{children:[(0,t.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{className:"text-muted-foreground/80 hover:text-muted-foreground relative cursor-default text-[11px] leading-tight transition-colors","data-testid":"version-label",children:[h,!u||b||g?null:(0,t.jsx)("span",{className:"absolute -top-0.5 -right-1.5 size-1.5 rounded-full bg-emerald-400","data-testid":"update-dot"})]})}),(0,t.jsxs)(C.TooltipContent,{side:"right",className:"max-w-[280px] space-y-1 p-3 text-left",children:[(0,t.jsx)("div",{className:"mb-1.5 text-xs font-semibold",children:o}),s?(0,t.jsx)("div",{className:"text-[10px] leading-snug opacity-70",children:s}):null,(0,t.jsxs)("div",{className:"border-t border-white/10 pt-1.5",children:[(0,t.jsx)(eO,{label:"Version",value:h}),n&&r?(0,t.jsx)(eO,{label:"Branch",value:r}):null,n&&d?(0,t.jsx)(eO,{label:"Commit",value:d,mono:!0}):null,n&&l?(0,t.jsx)(eO,{label:"Path",value:l,mono:!0}):null,c?(0,t.jsx)(eO,{label:"Latest",value:`v${c}`,highlight:u}):null]}),g?(0,t.jsx)("div",{className:"border-t border-white/10 pt-1.5",children:(0,t.jsx)("span",{className:"text-[10px] font-medium text-emerald-400","data-testid":"upgrade-restarting",children:"Restarting..."})}):b?(0,t.jsx)("div",{className:"border-t border-white/10 pt-1.5",children:(0,t.jsx)("span",{className:"text-[10px] font-medium text-emerald-400","data-testid":"upgrade-success",children:"Upgraded successfully"})}):"error"===p?(0,t.jsx)("div",{className:"border-t border-white/10 pt-1.5",children:(0,t.jsx)("span",{className:"text-[10px] font-medium text-red-400","data-testid":"upgrade-error",children:"Upgrade failed"})}):u?(0,t.jsx)("div",{className:"border-t border-white/10 pt-1.5",children:(0,t.jsx)("button",{type:"button",onClick:f,disabled:m||g,className:"inline-flex items-center gap-1 text-[10px] font-medium text-emerald-400 transition-colors hover:text-emerald-300 disabled:opacity-50","data-testid":"upgrade-button",children:m?"Upgrading...":g?"Restarting...":`Upgrade to v${c}`})}):null]})]})})}function eO({label:e,value:a,highlight:r,mono:i}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 text-[10px]",children:[(0,t.jsx)("span",{className:"opacity-60",children:e}),(0,t.jsx)("span",{className:[r?"font-medium text-emerald-400":"",i||!r?"font-mono":""].filter(Boolean).join(" "),children:a})]})}function eB({startedAt:e}){let[r,i]=(0,a.useState)(()=>Date.now()-e);return(0,a.useEffect)(()=>{let t=setInterval(()=>{(0,a.startTransition)(()=>i(Date.now()-e))},1e3);return()=>clearInterval(t)},[e]),(0,t.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(e){let t=Math.floor(e/1e3);if(t>=3600){let e=Math.floor(t/3600);return`${e}h`}let a=Math.floor(t/60);return`${String(a).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`}(r)})}var e$=e.i(51251),eF=e.i(83428),eU=e.i(10942),eX=e.i(94819),eV=e.i(54277),eY=e.i(55016);let eq={"action-needed":{icon:e$.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:eF.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},pending:{icon:eY.Clock,iconClass:"text-slate-400",bgClass:"bg-slate-400/10",label:"Pending"},blocked:{icon:eX.Ban,iconClass:"text-gray-400",bgClass:"bg-gray-400/10",label:"Blocked"},error:{icon:eV.CircleX,iconClass:"text-red-500",bgClass:"bg-red-500/10",label:"Error"},done:{icon:eU.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},eZ=["action-needed","error","blocked","in-progress","pending","done"];var eG=e.i(86782),eK=e.i(29847);function eJ({name:e,status:a,startedAt:r,duration:i,agentType:n,modelId:o,onClick:s}){let{icon:l,iconClass:d}=eq[a],c=n?(0,eG.getAgentTypeIcon)(n):null;return(0,t.jsx)(_,{"data-testid":"feature-list-item",children:(0,t.jsxs)(H,{size:"sm",onClick:s,tooltip:e,className:"cursor-pointer",children:[(0,t.jsx)(l,{className:d}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e}),"in-progress"===a&&null!=r?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,t.jsx)(eB,{startedAt:r})}):null,"done"===a&&i?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:i}):null,c?(0,t.jsx)(C.TooltipProvider,{children:(0,t.jsxs)(C.Tooltip,{children:[(0,t.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"ml-auto shrink-0",children:(0,t.jsx)(c,{className:"h-3.5 w-3.5"})})}),(0,t.jsxs)(C.TooltipContent,{side:"right",children:[(0,t.jsx)("span",{className:"font-medium",children:eG.agentTypeLabels[n]??n}),o?(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["· ",(0,eK.getModelMeta)(o).displayName||o]}):null]})]})}):null]})})}function eQ({label:e,count:a,children:r}){return(0,t.jsxs)(L,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,t.jsxs)(D,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[e,(0,t.jsx)("span",{"aria-label":`${a} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ml-1.5 inline-flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[0.6rem] font-medium tabular-nums",role:"img",children:a})]}),(0,t.jsx)(z,{children:(0,t.jsx)(M,{className:"gap-0.5",children:r})})]})}function e0({label:e,className:a}){return(0,t.jsx)(L,{"data-testid":"sidebar-section-header",className:(0,u.cn)("px-2 py-1",a),children:(0,t.jsx)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e})})})}let e2={version:"unknown",packageName:"@shepai/cli",description:"Autonomous AI Native SDLC Platform",branch:"",commitHash:"",instancePath:"",isDev:!1};function e1({features:e,featureFlags:i,onFeatureClick:n}){let o=(0,r.usePathname)(),{state:s}=N(),{mounted:l,visible:d}=function(e,t){let[r,i]=(0,a.useState)(!e),[n,o]=(0,a.useState)(!e);return(0,a.useEffect)(()=>{if(!e){i(!0);let e=requestAnimationFrame(()=>o(!0));return()=>cancelAnimationFrame(e)}o(!1);let t=window.setTimeout(()=>i(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:r,visible:n}}("collapsed"===s,0),c=function(){let[e,t]=(0,a.useState)(e2);return(0,a.useEffect)(()=>{let e=!1;return async function(){try{let a=await fetch("/api/version");if(!a.ok)return;let r=await a.json();e||t(r)}catch{}}(),()=>{e=!0}},[]),e}(),u=eZ.map(t=>{let{label:a}=eq[t],r=e.filter(e=>e.status===t);return{key:t,label:a,items:r}});return(0,t.jsxs)(E,{"data-testid":"app-sidebar","data-no-drawer-close":!0,collapsible:"icon",children:[(0,t.jsx)(P,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(_,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[l?(0,t.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",d?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!d,children:[(0,t.jsx)(eH,{className:"shrink-0",size:20,variant:c.isDev?"dev":"default"}),(0,t.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"}),(0,t.jsx)(eW,{version:c.version,branch:c.branch||void 0,commitHash:c.commitHash||void 0,isDev:c.isDev,packageName:c.packageName,description:c.description,instancePath:c.instancePath||void 0})]}):null,(0,t.jsx)(eI,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(e_,{icon:W,label:"Control Center",href:"/",active:"/"===o}),(0,t.jsx)(e_,{icon:O.Wrench,label:"Tools",href:"/tools",active:"/tools"===o}),i.skills?(0,t.jsx)(e_,{icon:B.Puzzle,label:"Skills",href:"/skills",active:"/skills"===o}):null,(0,t.jsx)(e_,{icon:$,label:"Settings",href:"/settings",active:"/settings"===o})]})}),(0,t.jsx)(A,{children:l?(0,t.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",d?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(e0,{label:"Features"}),(0,t.jsx)(eL,{children:u.map(({key:e,label:a,items:r})=>r.length>0?(0,t.jsx)(eQ,{label:a,count:r.length,children:r.map(e=>(0,t.jsx)(eJ,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,agentType:e.agentType,modelId:e.modelId,onClick:n?()=>n(e.featureId):void 0},e.featureId))},e):null)})]}):null}),(0,t.jsx)(T,{})]})}var e4=e.i(60253);function e3({actions:e,className:r}){let[n,o]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(n)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e);function e(e){"Escape"===e.key&&o(!1)}},[n]);let s=[...e].reverse();return(0,t.jsxs)(t.Fragment,{children:[n?(0,t.jsx)("div",{"data-testid":"fab-overlay",className:"fixed inset-0 z-40",onClick:()=>o(!1),"aria-hidden":"true"}):null,(0,t.jsxs)("div",{"data-testid":"floating-action-button",className:(0,u.cn)("fixed right-6 bottom-6 z-50",r),children:[(0,t.jsx)("div",{className:"absolute right-0 bottom-16 flex flex-col-reverse items-end gap-3","data-testid":"fab-actions",children:s.map((a,r)=>{let i=e.length-1-r;return(0,t.jsxs)("button",{"data-testid":`fab-action-${a.id}`,"aria-label":a.label,disabled:a.disabled??a.loading,className:(0,u.cn)("flex items-center gap-3 rounded-full px-4 py-2.5","bg-background text-foreground shadow-lg","border-border border","transition-all ease-out","hover:bg-accent hover:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",n?"translate-y-0 scale-100 opacity-100":"pointer-events-none translate-y-4 scale-95 opacity-0"),style:{transitionDuration:"250ms",transitionDelay:n?`${50*i}ms`:`${50*r}ms`},onClick:()=>{a.onClick(),o(!1)},children:[(0,t.jsx)("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:a.loading?(0,t.jsx)(eF.Loader2,{className:"h-5 w-5 animate-spin"}):a.icon}),(0,t.jsx)("span",{className:"text-sm font-medium whitespace-nowrap",children:a.label})]},a.id)})}),(0,t.jsxs)(p.Button,{size:"icon","data-testid":"fab-trigger","aria-label":n?"Close actions":"Open actions",className:(0,u.cn)("relative h-12 w-12 rounded-full shadow-lg","transition-colors duration-200"),onClick:()=>o(e=>!e),children:[(0,t.jsx)(i.Plus,{className:(0,u.cn)("absolute h-5 w-5 transition-all",n?"scale-0 rotate-90 opacity-0":"scale-100 rotate-0 opacity-100"),style:{transitionDuration:"250ms"}}),(0,t.jsx)(e4.X,{className:(0,u.cn)("absolute h-5 w-5 transition-all",n?"scale-100 rotate-0 opacity-100":"scale-0 -rotate-90 opacity-0"),style:{transitionDuration:"250ms"}})]})]})]})}let e5=(0,l.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),e7=(0,l.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),e6="shep-theme";function e8(){let{theme:e,resolvedTheme:r,setTheme:i}=function(){let[e,t]=(0,a.useState)("system"),[r,i]=(0,a.useState)("light"),n=(0,a.useCallback)(()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[]),o=(0,a.useCallback)(e=>"system"===e?n():e,[n]),s=(0,a.useCallback)(e=>{if("u"<typeof document)return;let t=document.documentElement;t.classList.remove("light","dark"),t.classList.add(e),i(e)},[]),l=(0,a.useCallback)(e=>{t(e),"u">typeof localStorage&&localStorage.setItem(e6,e),s(o(e))},[o,s]);return(0,a.useEffect)(()=>{let e=localStorage.getItem(e6)??"system";t(e),s(o(e))},[o,s]),(0,a.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{"system"===e&&s(o("system"))};return t.addEventListener("change",a),()=>t.removeEventListener("change",a)},[e,o,s]),{theme:e,resolvedTheme:r,setTheme:l}}(),n=(0,eM.useSoundAction)("toggle-on"),o=(0,eM.useSoundAction)("toggle-off");return(0,t.jsxs)(p.Button,{variant:"ghost",size:"icon",onClick:t=>{let a="system"===e?"dark"===r?"light":"dark":"dark"===e?"light":"dark";"dark"!==("system"===e?r:e)?n.play():o.play();let s=window.matchMedia("(prefers-reduced-motion: reduce)").matches;!document.startViewTransition||s?i(a):(document.documentElement.style.setProperty("--x",`${t.clientX}px`),document.documentElement.style.setProperty("--y",`${t.clientY}px`),document.startViewTransition(()=>{i(a)}))},"aria-label":`Switch to ${"dark"===r?"light":"dark"} mode`,children:[(0,t.jsx)(e7,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,t.jsx)(e5,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}let e9=(0,l.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),te=(0,l.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var tt=e.i(73709);function ta(){let{enabled:e,toggle:a}=(0,tt.useSoundEnabled)();return(0,t.jsxs)(p.Button,{variant:"ghost",size:"icon",onClick:a,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,t.jsx)(e9,{className:"h-5 w-5"}):(0,t.jsx)(te,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var tr=e.i(78521),ti=e.i(39443),tn=e.i(30153),to=e.i(5147),ts=e.i(60112),tl=e.i(17406);let td={[tl.NotificationSeverity.Success]:"success",[tl.NotificationSeverity.Error]:"error",[tl.NotificationSeverity.Warning]:"warning",[tl.NotificationSeverity.Info]:"info"},tc={[tl.NotificationSeverity.Success]:"notification-success",[tl.NotificationSeverity.Error]:"notification-error",[tl.NotificationSeverity.Warning]:"notification-warning",[tl.NotificationSeverity.Info]:"notification-info"};var tu=e.i(75921);let tp=["/","/create","/adopt","/feature","/repository"];function tf({children:e}){let s=(0,r.useRouter)(),l=(0,r.usePathname)(),{guardedNavigate:d}=(0,tn.useDrawerCloseGuard)(),c=(0,tu.useFeatureFlags)();!function(){let e=(0,r.useRouter)(),{events:t}=(0,ti.useAgentEventsContext)(),i=(0,eM.useSoundAction)("notification-success"),n=(0,eM.useSoundAction)("notification-error"),o=(0,eM.useSoundAction)("notification-warning"),s=(0,eM.useSoundAction)("notification-info"),l=(0,a.useMemo)(()=>({"notification-success":i,"notification-error":n,"notification-warning":o,"notification-info":s}),[i,n,o,s]),d=(0,a.useRef)(0);(0,a.useEffect)(()=>{if(t.length<=d.current)return;let a=t.slice(d.current);for(let r of(d.current=t.length,a)){if(r.eventType!==tl.NotificationEventType.MergeReviewReady&&r.severity!==tl.NotificationSeverity.Error&&r.severity!==tl.NotificationSeverity.Warning&&r.severity!==tl.NotificationSeverity.Success)continue;!function(e,t){let a=td[e.severity]??"info",r=e.eventType===tl.NotificationEventType.WaitingApproval||e.eventType===tl.NotificationEventType.MergeReviewReady;ts.toast[a](e.featureName,{description:e.message,...r&&t&&{action:{label:"Review",onClick:()=>{t(`/feature/${e.featureId}`)}}}})}(r,t=>e.push(t));let t=tc[r.severity];l[t]?.play()}},[t,l,e])}();let{features:u}=(0,to.useSidebarFeaturesContext)(),p=(0,a.useCallback)(()=>{d(()=>s.push("/create"))},[s,d]),f=(0,a.useCallback)(()=>{d(()=>s.push("/adopt"))},[s,d]),h=(0,a.useCallback)(e=>{d(()=>s.push(`/feature/${e}`))},[s,d]),[m,g]=(0,a.useState)(!1),b=(0,a.useCallback)(async()=>{if(!m){g(!0);try{let e=await (0,tr.pickFolder)();e&&window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))}finally{g(!1)}}},[m]),v=(0,a.useMemo)(()=>[{id:"new-feature",label:"New Feature",icon:(0,t.jsx)(i.Plus,{className:"h-4 w-4"}),onClick:p},{id:"adopt-branch",label:"Adopt Branch",icon:(0,t.jsx)(o.GitBranch,{className:"h-4 w-4"}),onClick:f},{id:"add-repository",label:"Add Repository",icon:(0,t.jsx)(n.FolderPlus,{className:"h-4 w-4"}),onClick:b,loading:m}],[p,f,b,m]);return(0,t.jsxs)(k,{defaultOpen:!1,children:[(0,t.jsx)(e1,{features:u,featureFlags:c,onFeatureClick:h}),(0,t.jsx)(R,{children:(0,t.jsxs)("div",{className:"relative h-full",children:[(0,t.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1","data-test-id":"canvas-actions-toolbar",children:[(0,t.jsx)(ta,{}),(0,t.jsx)(e8,{})]}),(0,t.jsx)("main",{className:"h-full",children:e}),tp.some(e=>l===e||"/"!==e&&l.startsWith(`${e}/`))&&(0,t.jsx)(e3,{actions:v})]})})]})}function th({children:e}){return(0,t.jsx)(ti.AgentEventsProvider,{children:(0,t.jsx)(tn.DrawerCloseGuardProvider,{children:(0,t.jsx)(to.SidebarFeaturesProvider,{children:(0,t.jsx)(tf,{children:e})})})})}e.s(["AppShell",()=>th],87292)},25251,e=>{"use strict";var t=e.i(20314),a=e.i(60112);let r=({...e})=>(0,t.jsx)(a.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e});e.s(["Toaster",()=>r])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,44229,e=>{"use strict";var t=e.i(93752);e.s(["Code",()=>t.default])},87889,e=>{"use strict";let t=(0,e.i(3645).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],87889)},68304,e=>{"use strict";var t=e.i(20314),a=e.i(79054),i=e.i(91967),r=e.i(22528),s=e.i(51080),n=e.i(85995),o=e.i(87620),l=e.i(66033),d=e.i(36589),c=e.i(13123),u="Tabs",[f,p]=(0,r.createContextScope)(u,[s.createRovingFocusGroupScope]),m=(0,s.createRovingFocusGroupScope)(),[h,b]=f(u),g=a.forwardRef((e,a)=>{let{__scopeTabs:i,value:r,onValueChange:s,defaultValue:n,orientation:f="horizontal",dir:p,activationMode:m="automatic",...b}=e,g=(0,l.useDirection)(p),[x,v]=(0,d.useControllableState)({prop:r,onChange:s,defaultProp:n??"",caller:u});return(0,t.jsx)(h,{scope:i,baseId:(0,c.useId)(),value:x,onValueChange:v,orientation:f,dir:g,activationMode:m,children:(0,t.jsx)(o.Primitive.div,{dir:g,"data-orientation":f,...b,ref:a})})});g.displayName=u;var x="TabsList",v=a.forwardRef((e,a)=>{let{__scopeTabs:i,loop:r=!0,...n}=e,l=b(x,i),d=m(i);return(0,t.jsx)(s.Root,{asChild:!0,...d,orientation:l.orientation,dir:l.dir,loop:r,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...n,ref:a})})});v.displayName=x;var y="TabsTrigger",w=a.forwardRef((e,a)=>{let{__scopeTabs:r,value:n,disabled:l=!1,...d}=e,c=b(y,r),u=m(r),f=k(c.baseId,n),p=T(c.baseId,n),h=n===c.value;return(0,t.jsx)(s.Item,{asChild:!0,...u,focusable:!l,active:h,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":p,"data-state":h?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:f,...d,ref:a,onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,i.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,i.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;h||l||!e||c.onValueChange(n)})})})});w.displayName=y;var j="TabsContent",N=a.forwardRef((e,i)=>{let{__scopeTabs:r,value:s,forceMount:l,children:d,...c}=e,u=b(j,r),f=k(u.baseId,s),p=T(u.baseId,s),m=s===u.value,h=a.useRef(m);return a.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(n.Presence,{present:l||m,children:({present:a})=>(0,t.jsx)(o.Primitive.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!a,id:p,tabIndex:0,...c,ref:i,style:{...e.style,animationDuration:h.current?"0s":void 0},children:a&&d})})});function k(e,t){return`${e}-trigger-${t}`}function T(e,t){return`${e}-content-${t}`}N.displayName=j,e.s(["Content",()=>N,"List",()=>v,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>N,"TabsList",()=>v,"TabsTrigger",()=>w,"Trigger",()=>w,"createTabsScope",()=>p],43133);var C=e.i(43133),C=C,R=e.i(31777);let D=C.Root,M=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(C.List,{ref:i,className:(0,R.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...a}));M.displayName=C.List.displayName;let I=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(C.Trigger,{ref:i,className:(0,R.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...a}));I.displayName=C.Trigger.displayName;let P=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(C.Content,{ref:i,className:(0,R.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...a}));P.displayName=C.Content.displayName,e.s(["Tabs",()=>D,"TabsContent",()=>P,"TabsList",()=>M,"TabsTrigger",()=>I],68304)},81181,e=>{"use strict";var t=e.i(95230);e.s(["Download",()=>t.default])},93752,e=>{"use strict";let t=(0,e.i(3645).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);e.s(["default",()=>t])},95230,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["default",()=>t])},16868,48306,80436,28267,86254,50032,42076,e=>{"use strict";var t=e.i(3645);let a=(0,t.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"}]]);e.s(["PaperclipIcon",()=>a],16868);var i=e.i(20314),r=e.i(31777);function s({className:e,...t}){return(0,i.jsx)("textarea",{"data-slot":"textarea",className:(0,r.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",e),...t})}e.s(["Textarea",()=>s],48306);var n=e.i(60253),o=e.i(15506),o=o,l=e.i(95230);e.s(["DownloadIcon",()=>l.default],80436);var l=l,d=e.i(2287),c=e.i(1693);e.s(["VisuallyHidden",0,c],28267);var c=c;let u=(0,t.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 f=e.i(16298),f=f;let p=(0,t.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 m=e.i(93752),m=m;e.i(35364);let h=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),b=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function g(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(+(0!==t))} ${["B","KB","MB","GB"][t]}`}let x=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]);function v(e,t){let a=new URLSearchParams({path:e,mimeType:t});return`/api/attachments/preview?${a.toString()}`}function y({name:e,size:t,mimeType:a,path:s,onRemove:y,loading:w=!1,disabled:j=!1}){let N,k,T=(N=e.lastIndexOf("."))>=0?e.slice(N).toLowerCase():"",C=h.has(T)?p:".pdf"===T?f.default:b.has(T)?m.default:u,R=".pdf"===T?"bg-red-50 text-red-600":h.has(T)?"bg-blue-50 text-blue-600":b.has(T)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600",D=(k=e.lastIndexOf("."))>=0&&x.has(e.slice(k).toLowerCase());return w?(0,i.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-md border",children:(0,i.jsx)(o.default,{className:"text-muted-foreground h-5 w-5 animate-spin"})}):D?(0,i.jsxs)(d.Dialog,{children:[(0,i.jsxs)("div",{className:"group relative",children:[(0,i.jsx)(d.DialogTrigger,{asChild:!0,children:(0,i.jsx)("img",{src:v(s,a),alt:e,title:e,className:"h-12 w-12 cursor-pointer rounded-md border object-cover transition-opacity hover:opacity-80"})}),!j&&(0,i.jsx)("button",{type:"button",onClick:y,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 ${e}`,children:(0,i.jsx)(n.X,{className:"h-3 w-3"})})]}),(0,i.jsxs)(d.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,i.jsx)(c.Root,{children:(0,i.jsxs)(d.DialogTitle,{children:["Preview: ",e]})}),(0,i.jsx)("div",{className:"relative bg-black/90",children:(0,i.jsx)("img",{src:v(s,a),alt:e,className:"h-auto max-h-[70vh] w-full object-contain"})}),(0,i.jsxs)("div",{className:"bg-background flex items-center gap-3 px-4 py-3",children:[(0,i.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,i.jsx)("span",{className:"truncate text-sm font-medium",children:e}),(0,i.jsx)("span",{className:"text-muted-foreground text-xs",children:g(t)})]}),(0,i.jsx)("a",{href:v(s,a),download:e,className:"text-muted-foreground hover:text-foreground shrink-0 cursor-pointer rounded p-1.5 transition-colors","aria-label":`Download ${e}`,children:(0,i.jsx)(l.default,{className:"h-4 w-4"})})]})]})]}):(0,i.jsxs)("div",{className:"group relative flex items-center gap-2 rounded-full border py-1 pr-3 pl-2",children:[(0,i.jsx)("div",{className:(0,r.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full",R),children:(0,i.jsx)(C,{className:"h-3 w-3"})}),(0,i.jsx)("span",{className:"max-w-[120px] truncate text-sm",children:e}),(0,i.jsx)("span",{className:"text-muted-foreground text-xs",children:g(t)}),!j&&(0,i.jsx)("button",{type:"button",onClick:y,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 ${e}`,children:(0,i.jsx)(n.X,{className:"h-3 w-3"})})]})}async function w(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["AttachmentChip",()=>y],86254),e.s([],50032),e.s(["pickFiles",()=>w],42076)}]);