@shepai/cli 1.65.0 → 1.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts +1 -1
  2. package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/ports/output/services/deployment-service.interface.d.ts +62 -0
  4. package/dist/packages/core/src/application/ports/output/services/deployment-service.interface.d.ts.map +1 -0
  5. package/dist/packages/core/src/application/ports/output/services/deployment-service.interface.js +12 -0
  6. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  7. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +4 -1
  10. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  11. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +5 -2
  12. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/di/container.js +3 -0
  14. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +25 -0
  16. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts +1 -1
  17. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts.map +1 -1
  18. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.js +5 -2
  19. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +6 -2
  21. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +11 -7
  23. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/plan.prompt.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/plan.prompt.js +11 -7
  25. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/requirements.prompt.d.ts.map +1 -1
  26. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/requirements.prompt.js +11 -7
  27. package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.d.ts +57 -0
  28. package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.d.ts.map +1 -0
  29. package/dist/packages/core/src/infrastructure/services/deployment/deployment.service.js +192 -0
  30. package/dist/packages/core/src/infrastructure/services/deployment/detect-dev-script.d.ts +26 -0
  31. package/dist/packages/core/src/infrastructure/services/deployment/detect-dev-script.d.ts.map +1 -0
  32. package/dist/packages/core/src/infrastructure/services/deployment/detect-dev-script.js +59 -0
  33. package/dist/packages/core/src/infrastructure/services/deployment/parse-port.d.ts +15 -0
  34. package/dist/packages/core/src/infrastructure/services/deployment/parse-port.d.ts.map +1 -0
  35. package/dist/packages/core/src/infrastructure/services/deployment/parse-port.js +52 -0
  36. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +13 -3
  38. package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
  39. package/dist/src/presentation/cli/commands/_serve.command.js +2 -0
  40. package/dist/src/presentation/web/app/actions/deploy-feature.d.ts +7 -0
  41. package/dist/src/presentation/web/app/actions/deploy-feature.d.ts.map +1 -0
  42. package/dist/src/presentation/web/app/actions/deploy-feature.js +28 -0
  43. package/dist/src/presentation/web/app/actions/deploy-repository.d.ts +7 -0
  44. package/dist/src/presentation/web/app/actions/deploy-repository.d.ts.map +1 -0
  45. package/dist/src/presentation/web/app/actions/deploy-repository.js +21 -0
  46. package/dist/src/presentation/web/app/actions/get-deployment-status.d.ts +3 -0
  47. package/dist/src/presentation/web/app/actions/get-deployment-status.d.ts.map +1 -0
  48. package/dist/src/presentation/web/app/actions/get-deployment-status.js +9 -0
  49. package/dist/src/presentation/web/app/actions/stop-deployment.d.ts +5 -0
  50. package/dist/src/presentation/web/app/actions/stop-deployment.d.ts.map +1 -0
  51. package/dist/src/presentation/web/app/actions/stop-deployment.js +16 -0
  52. package/dist/src/presentation/web/app/build-graph-nodes.d.ts +20 -0
  53. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -0
  54. package/dist/src/presentation/web/app/build-graph-nodes.js +142 -0
  55. package/dist/src/presentation/web/app/page.d.ts.map +1 -1
  56. package/dist/src/presentation/web/app/page.js +2 -112
  57. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts +3 -1
  58. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  59. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +13 -3
  60. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts +2 -0
  61. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts.map +1 -1
  62. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.js +9 -0
  63. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.d.ts +7 -0
  64. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.d.ts.map +1 -0
  65. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +14 -0
  66. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.stories.d.ts +14 -0
  67. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.stories.d.ts.map +1 -0
  68. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.stories.js +27 -0
  69. package/dist/src/presentation/web/components/common/deployment-status-badge/index.d.ts +2 -0
  70. package/dist/src/presentation/web/components/common/deployment-status-badge/index.d.ts.map +1 -0
  71. package/dist/src/presentation/web/components/common/deployment-status-badge/index.js +1 -0
  72. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.d.ts.map +1 -1
  73. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.js +8 -1
  74. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -1
  75. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +7 -1
  76. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  77. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +13 -2
  78. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map +1 -1
  79. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js +12 -2
  80. package/dist/src/presentation/web/hooks/use-deploy-action.d.ts +18 -0
  81. package/dist/src/presentation/web/hooks/use-deploy-action.d.ts.map +1 -0
  82. package/dist/src/presentation/web/hooks/use-deploy-action.js +130 -0
  83. package/dist/src/presentation/web/lib/feature-flags.d.ts +1 -0
  84. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  85. package/dist/src/presentation/web/lib/feature-flags.js +1 -0
  86. package/dist/tsconfig.build.tsbuildinfo +1 -1
  87. package/package.json +1 -1
  88. package/web/.next/BUILD_ID +1 -1
  89. package/web/.next/build-manifest.json +7 -6
  90. package/web/.next/cache/.previewinfo +1 -1
  91. package/web/.next/cache/.rscinfo +1 -1
  92. package/web/.next/cache/.tsbuildinfo +1 -1
  93. package/web/.next/cache/config.json +3 -3
  94. package/web/.next/fallback-build-manifest.json +2 -2
  95. package/web/.next/prerender-manifest.json +3 -3
  96. package/web/.next/required-server-files.js +1 -1
  97. package/web/.next/required-server-files.json +1 -1
  98. package/web/.next/server/app/_global-error/page/build-manifest.json +5 -4
  99. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  100. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/_global-error.html +2 -2
  102. package/web/.next/server/app/_global-error.rsc +1 -1
  103. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  104. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  105. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  106. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  107. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  108. package/web/.next/server/app/_not-found/page/build-manifest.json +5 -4
  109. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  110. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  111. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  112. package/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  113. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  114. package/web/.next/server/app/page/build-manifest.json +5 -4
  115. package/web/.next/server/app/page/server-reference-manifest.json +88 -28
  116. package/web/.next/server/app/page.js +2 -2
  117. package/web/.next/server/app/page.js.nft.json +1 -1
  118. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/skills/page/build-manifest.json +5 -4
  120. package/web/.next/server/app/skills/page/server-reference-manifest.json +62 -2
  121. package/web/.next/server/app/skills/page.js +2 -2
  122. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  123. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  124. package/web/.next/server/app/tools/page/build-manifest.json +5 -4
  125. package/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  126. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  127. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/version/page/build-manifest.json +5 -4
  129. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  130. package/web/.next/server/app/version/page.js +1 -1
  131. package/web/.next/server/app/version/page.js.nft.json +1 -1
  132. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  133. package/web/.next/server/chunks/{[root-of-the-server]__e926de65._.js → [root-of-the-server]__09413611._.js} +2 -2
  134. package/web/.next/server/chunks/{[root-of-the-server]__e926de65._.js.map → [root-of-the-server]__09413611._.js.map} +1 -1
  135. package/web/.next/server/chunks/ssr/403f9_next_dist_623b646a._.js +3 -0
  136. package/web/.next/server/chunks/ssr/403f9_next_dist_623b646a._.js.map +1 -0
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/{[root-of-the-server]__685eaa45._.js → [root-of-the-server]__248ee887._.js} +2 -2
  140. package/web/.next/server/chunks/ssr/{[root-of-the-server]__685eaa45._.js.map → [root-of-the-server]__248ee887._.js.map} +1 -1
  141. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js → server/chunks/ssr/[root-of-the-server]__249c74f6._.js} +2 -2
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__551fb7e1._.js +4 -0
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__551fb7e1._.js.map +1 -0
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb51fac._.js +3 -0
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb51fac._.js.map +1 -0
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +4 -4
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__c1f0f2a8._.js +3 -0
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__c1f0f2a8._.js.map +1 -0
  154. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js → server/chunks/ssr/[root-of-the-server]__f5830fa9._.js} +2 -2
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__f5830fa9._.js.map +1 -0
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__f648005b._.js +9 -0
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__f648005b._.js.map +1 -0
  158. package/web/.next/server/chunks/ssr/_28993370._.js +3 -0
  159. package/web/.next/server/chunks/ssr/_28993370._.js.map +1 -0
  160. package/web/.next/server/chunks/ssr/_380c6567._.js +1 -1
  161. package/web/.next/server/chunks/ssr/_380c6567._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/_45715073._.js +3 -0
  163. package/web/.next/server/chunks/ssr/{_d81184e2._.js.map → _45715073._.js.map} +1 -1
  164. package/web/.next/server/chunks/ssr/_6978d868._.js +3 -0
  165. package/web/.next/server/chunks/ssr/_6978d868._.js.map +1 -0
  166. package/web/.next/server/chunks/ssr/_85965278._.js +6 -0
  167. package/web/.next/server/chunks/ssr/_85965278._.js.map +1 -0
  168. package/web/.next/server/chunks/ssr/_c52cace8._.js +3 -0
  169. package/web/.next/server/chunks/ssr/_c52cace8._.js.map +1 -0
  170. package/web/.next/server/chunks/ssr/_ed9132c9._.js +3 -0
  171. package/web/.next/server/chunks/ssr/_ed9132c9._.js.map +1 -0
  172. package/web/.next/server/chunks/ssr/{node_modules__pnpm_87f920e7._.js → node_modules__pnpm_febcbea6._.js} +2 -2
  173. package/web/.next/server/chunks/ssr/node_modules__pnpm_febcbea6._.js.map +1 -0
  174. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  175. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  176. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  177. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
  178. package/web/.next/server/middleware-build-manifest.js +5 -4
  179. package/web/.next/server/pages/500.html +2 -2
  180. package/web/.next/server/server-reference-manifest.js +1 -1
  181. package/web/.next/server/server-reference-manifest.json +118 -30
  182. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  183. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +7 -6
  184. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  185. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  186. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +5 -4
  187. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  188. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  189. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  190. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  191. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  192. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  193. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  194. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  195. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  196. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +5 -4
  197. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  198. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  199. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  200. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  201. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  202. package/web/.next/standalone/src/presentation/web/.next/server/app/page/build-manifest.json +5 -4
  203. package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +88 -28
  204. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +2 -2
  205. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
  206. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
  207. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +5 -4
  208. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +62 -2
  209. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js +2 -2
  210. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  211. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  212. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +5 -4
  213. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  214. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  215. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  216. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +5 -4
  217. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  218. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +1 -1
  219. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  220. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  221. package/web/.next/standalone/src/presentation/web/.next/server/chunks/{[root-of-the-server]__e926de65._.js → [root-of-the-server]__09413611._.js} +2 -2
  222. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/403f9_next_dist_623b646a._.js +3 -0
  223. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  224. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__685eaa45._.js → [root-of-the-server]__248ee887._.js} +2 -2
  225. package/web/.next/{server/chunks/ssr/[root-of-the-server]__fbc89707._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js} +2 -2
  226. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__551fb7e1._.js +4 -0
  227. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  228. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6bb51fac._.js +3 -0
  229. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  230. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +4 -4
  231. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c1f0f2a8._.js +3 -0
  232. package/web/.next/{server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f5830fa9._.js} +2 -2
  233. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f648005b._.js +9 -0
  234. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_28993370._.js +3 -0
  235. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_380c6567._.js +1 -1
  236. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_45715073._.js +3 -0
  237. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6978d868._.js +3 -0
  238. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_85965278._.js +6 -0
  239. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_c52cace8._.js +3 -0
  240. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ed9132c9._.js +3 -0
  241. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{node_modules__pnpm_87f920e7._.js → node_modules__pnpm_febcbea6._.js} +2 -2
  242. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  243. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  244. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +5 -4
  245. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  246. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  247. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +118 -30
  248. package/web/.next/standalone/src/presentation/web/app/actions/deploy-feature.ts +39 -0
  249. package/web/.next/standalone/src/presentation/web/app/actions/deploy-repository.ts +28 -0
  250. package/web/.next/standalone/src/presentation/web/app/actions/get-deployment-status.ts +16 -0
  251. package/web/.next/standalone/src/presentation/web/app/actions/stop-deployment.ts +22 -0
  252. package/web/.next/standalone/src/presentation/web/app/build-graph-nodes.ts +180 -0
  253. package/web/.next/standalone/src/presentation/web/app/page.tsx +2 -129
  254. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.stories.tsx +26 -0
  255. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +45 -1
  256. package/web/.next/standalone/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.stories.tsx +35 -0
  257. package/web/.next/standalone/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.tsx +42 -0
  258. package/web/.next/standalone/src/presentation/web/components/common/deployment-status-badge/index.ts +1 -0
  259. package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.tsx +10 -0
  260. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-drawer.tsx +9 -0
  261. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.tsx +43 -2
  262. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.tsx +79 -44
  263. package/web/.next/standalone/src/presentation/web/hooks/use-deploy-action.ts +161 -0
  264. package/web/.next/standalone/src/presentation/web/lib/feature-flags.ts +1 -0
  265. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  266. package/web/.next/static/chunks/0b99eb9664d47ca7.js +1 -0
  267. package/web/.next/static/chunks/177f1dcbe83c136a.js +1 -0
  268. package/web/.next/static/chunks/41a2adc09edfffaf.js +1 -0
  269. package/web/.next/static/chunks/5054c72b1c8f5912.js +1 -0
  270. package/web/.next/static/chunks/71d2618e41d7da6d.js +1 -0
  271. package/web/.next/static/chunks/7ad36bef63f15bc6.js +1 -0
  272. package/web/.next/static/chunks/{3b941e59ac013e12.js → 87421ab1062a39b7.js} +2 -2
  273. package/web/.next/static/chunks/{21541b346dd4dd28.js → 8c60d1bd87239066.js} +1 -1
  274. package/web/.next/static/chunks/96f49affaceab206.css +2 -0
  275. package/web/.next/static/chunks/a6d1d774260fc927.js +2 -0
  276. package/web/.next/static/chunks/c7e793951b20a67f.js +1 -0
  277. package/web/.next/static/chunks/f54ff9c15fb7b383.js +1 -0
  278. package/web/.next/static/chunks/f5fb2f182ae9b015.js +1 -0
  279. package/web/.next/static/chunks/{fa8058049a43c698.js → f6766e799a69fb5d.js} +7 -7
  280. package/web/.next/static/chunks/turbopack-b6b5b4f015327a9a.js +4 -0
  281. package/web/.next/trace +1 -1
  282. package/web/.next/trace-build +1 -1
  283. package/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js +0 -3
  284. package/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js.map +0 -1
  285. package/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js +0 -3
  286. package/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js.map +0 -1
  287. package/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js +0 -9
  288. package/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js.map +0 -1
  289. package/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js +0 -4
  290. package/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js.map +0 -1
  291. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js.map +0 -1
  292. package/web/.next/server/chunks/ssr/[root-of-the-server]__edca9510._.js +0 -3
  293. package/web/.next/server/chunks/ssr/[root-of-the-server]__edca9510._.js.map +0 -1
  294. package/web/.next/server/chunks/ssr/_73d14b70._.js +0 -3
  295. package/web/.next/server/chunks/ssr/_73d14b70._.js.map +0 -1
  296. package/web/.next/server/chunks/ssr/_7f386377._.js +0 -3
  297. package/web/.next/server/chunks/ssr/_7f386377._.js.map +0 -1
  298. package/web/.next/server/chunks/ssr/_d3711354._.js +0 -6
  299. package/web/.next/server/chunks/ssr/_d3711354._.js.map +0 -1
  300. package/web/.next/server/chunks/ssr/_d81184e2._.js +0 -3
  301. package/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js +0 -3
  302. package/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js.map +0 -1
  303. package/web/.next/server/chunks/ssr/node_modules__pnpm_87f920e7._.js.map +0 -1
  304. package/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js +0 -3
  305. package/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js.map +0 -1
  306. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js +0 -3
  307. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js +0 -3
  308. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js +0 -9
  309. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js +0 -4
  310. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__edca9510._.js +0 -3
  311. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_73d14b70._.js +0 -3
  312. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_7f386377._.js +0 -3
  313. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d3711354._.js +0 -6
  314. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d81184e2._.js +0 -3
  315. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js +0 -3
  316. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js +0 -3
  317. package/web/.next/static/chunks/0c6654ec27f11c7e.js +0 -1
  318. package/web/.next/static/chunks/12c70bfd5951cf9b.js +0 -1
  319. package/web/.next/static/chunks/1887af4ad3781531.js +0 -2
  320. package/web/.next/static/chunks/233fbb89beb137e8.js +0 -1
  321. package/web/.next/static/chunks/78919481e7c5ad4f.js +0 -1
  322. package/web/.next/static/chunks/a5b6a22de303e877.css +0 -2
  323. package/web/.next/static/chunks/acdb8af5a21f1ae9.js +0 -1
  324. package/web/.next/static/chunks/af7a5bcb7c49e46e.js +0 -1
  325. package/web/.next/static/chunks/be784143669bb992.js +0 -1
  326. package/web/.next/static/chunks/turbopack-eb24b869babb34b4.js +0 -4
  327. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__fbc89707._.js.map → [root-of-the-server]__249c74f6._.js.map} +0 -0
  328. /package/web/.next/static/{zuqVLdEhCDdtLqCuWgUm5 → 5RMUwLfTnzL0pvJOwfuxg}/_buildManifest.js +0 -0
  329. /package/web/.next/static/{zuqVLdEhCDdtLqCuWgUm5 → 5RMUwLfTnzL0pvJOwfuxg}/_clientMiddlewareManifest.json +0 -0
  330. /package/web/.next/static/{zuqVLdEhCDdtLqCuWgUm5 → 5RMUwLfTnzL0pvJOwfuxg}/_ssgManifest.js +0 -0
@@ -0,0 +1,161 @@
1
+ 'use client';
2
+
3
+ import { useState, useCallback, useRef, useEffect } from 'react';
4
+ import type { DeploymentState } from '@shepai/core/domain/generated/output';
5
+ import { deployFeature } from '@/app/actions/deploy-feature';
6
+ import { deployRepository } from '@/app/actions/deploy-repository';
7
+ import { stopDeployment } from '@/app/actions/stop-deployment';
8
+ import { getDeploymentStatus } from '@/app/actions/get-deployment-status';
9
+
10
+ export interface DeployActionInput {
11
+ targetId: string;
12
+ targetType: 'feature' | 'repository';
13
+ repositoryPath: string;
14
+ branch?: string;
15
+ }
16
+
17
+ export interface DeployActionState {
18
+ deploy: () => Promise<void>;
19
+ stop: () => Promise<void>;
20
+ deployLoading: boolean;
21
+ stopLoading: boolean;
22
+ deployError: string | null;
23
+ status: DeploymentState | null;
24
+ url: string | null;
25
+ }
26
+
27
+ const ERROR_CLEAR_DELAY = 5000;
28
+ const POLL_INTERVAL = 3000;
29
+
30
+ export function useDeployAction(input: DeployActionInput | null): DeployActionState {
31
+ const [deployLoading, setDeployLoading] = useState(false);
32
+ const [stopLoading, setStopLoading] = useState(false);
33
+ const [deployError, setDeployError] = useState<string | null>(null);
34
+ const [status, setStatus] = useState<DeploymentState | null>(null);
35
+ const [url, setUrl] = useState<string | null>(null);
36
+
37
+ const errorTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
38
+ const pollIntervalRef = useRef<ReturnType<typeof setInterval> | null>(null);
39
+ const mountedRef = useRef(true);
40
+
41
+ // Track mounted state
42
+ useEffect(() => {
43
+ mountedRef.current = true;
44
+ return () => {
45
+ mountedRef.current = false;
46
+ };
47
+ }, []);
48
+
49
+ // Cleanup on unmount
50
+ useEffect(() => {
51
+ return () => {
52
+ if (errorTimerRef.current) clearTimeout(errorTimerRef.current);
53
+ if (pollIntervalRef.current) clearInterval(pollIntervalRef.current);
54
+ };
55
+ }, []);
56
+
57
+ const stopPolling = useCallback(() => {
58
+ if (pollIntervalRef.current) {
59
+ clearInterval(pollIntervalRef.current);
60
+ pollIntervalRef.current = null;
61
+ }
62
+ }, []);
63
+
64
+ const startPolling = useCallback(
65
+ (targetId: string) => {
66
+ stopPolling();
67
+
68
+ pollIntervalRef.current = setInterval(async () => {
69
+ if (!mountedRef.current) {
70
+ stopPolling();
71
+ return;
72
+ }
73
+
74
+ const result = await getDeploymentStatus(targetId);
75
+
76
+ if (!mountedRef.current) return;
77
+
78
+ if (!result || result.state === 'Stopped') {
79
+ setStatus(null);
80
+ setUrl(null);
81
+ stopPolling();
82
+ } else {
83
+ setStatus(result.state as DeploymentState);
84
+ setUrl(result.url);
85
+ }
86
+ }, POLL_INTERVAL);
87
+ },
88
+ [stopPolling]
89
+ );
90
+
91
+ const handleDeploy = useCallback(async () => {
92
+ if (!input || deployLoading) return;
93
+
94
+ if (errorTimerRef.current) clearTimeout(errorTimerRef.current);
95
+
96
+ setDeployLoading(true);
97
+ setDeployError(null);
98
+
99
+ try {
100
+ const result =
101
+ input.targetType === 'feature'
102
+ ? await deployFeature(input.targetId)
103
+ : await deployRepository(input.repositoryPath);
104
+
105
+ if (!mountedRef.current) return;
106
+
107
+ if (!result.success) {
108
+ const errorMessage = result.error ?? 'An unexpected error occurred';
109
+ setDeployError(errorMessage);
110
+ errorTimerRef.current = setTimeout(() => setDeployError(null), ERROR_CLEAR_DELAY);
111
+ } else {
112
+ setStatus(result.state ?? null);
113
+ setUrl(null);
114
+ startPolling(input.targetId);
115
+ }
116
+ } catch (err: unknown) {
117
+ if (!mountedRef.current) return;
118
+ const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred';
119
+ setDeployError(errorMessage);
120
+ errorTimerRef.current = setTimeout(() => setDeployError(null), ERROR_CLEAR_DELAY);
121
+ } finally {
122
+ if (mountedRef.current) {
123
+ setDeployLoading(false);
124
+ }
125
+ }
126
+ }, [input, deployLoading, startPolling]);
127
+
128
+ const handleStop = useCallback(async () => {
129
+ if (!input || stopLoading) return;
130
+
131
+ setStopLoading(true);
132
+
133
+ try {
134
+ const result = await stopDeployment(input.targetId);
135
+
136
+ if (!mountedRef.current) return;
137
+
138
+ if (result.success) {
139
+ stopPolling();
140
+ setStatus(null);
141
+ setUrl(null);
142
+ }
143
+ } catch {
144
+ // Stop errors are non-critical; process may have already exited
145
+ } finally {
146
+ if (mountedRef.current) {
147
+ setStopLoading(false);
148
+ }
149
+ }
150
+ }, [input, stopLoading, stopPolling]);
151
+
152
+ return {
153
+ deploy: handleDeploy,
154
+ stop: handleStop,
155
+ deployLoading,
156
+ stopLoading,
157
+ deployError,
158
+ status,
159
+ url,
160
+ };
161
+ }
@@ -11,4 +11,5 @@ function isEnabled(envVar: string | undefined): boolean {
11
11
 
12
12
  export const featureFlags = {
13
13
  skills: isEnabled(process.env.NEXT_PUBLIC_FLAG_SKILLS),
14
+ envDeploy: isEnabled(process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY),
14
15
  } as const;
@@ -15,7 +15,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
15
15
  const hostname = process.env.HOSTNAME || '0.0.0.0'
16
16
 
17
17
  let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
18
- const nextConfig = {"env":{"NEXT_PUBLIC_SHEP_VERSION":"1.64.2","NEXT_PUBLIC_SHEP_PACKAGE_NAME":"@shepai/cli","NEXT_PUBLIC_SHEP_DESCRIPTION":"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":true,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/cli/cli","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":false,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":false,"lockDistDir":true,"isolatedDevBuild":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":false,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/home/runner/work/cli/cli"},"serverExternalPackages":["tsyringe","reflect-metadata","better-sqlite3","node:os","node:child_process","node:fs"],"distDirRoot":".next"}
18
+ const nextConfig = {"env":{"NEXT_PUBLIC_SHEP_VERSION":"1.65.1","NEXT_PUBLIC_SHEP_PACKAGE_NAME":"@shepai/cli","NEXT_PUBLIC_SHEP_DESCRIPTION":"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":true,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/cli/cli","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":false,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":false,"lockDistDir":true,"isolatedDevBuild":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":false,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/home/runner/work/cli/cli"},"serverExternalPackages":["tsyringe","reflect-metadata","better-sqlite3","node:os","node:child_process","node:fs"],"distDirRoot":".next"}
19
19
 
20
20
  process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
21
21
 
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,7284,e=>{"use strict";function r(){for(var e,r,t=0,o="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=function e(r){var t,o,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(t=0;t<l;t++)r[t]&&(o=e(r[t]))&&(n&&(n+=" "),n+=o)}else for(o in r)r[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=r);return o}e.s(["clsx",()=>r])},94237,e=>{"use strict";var r=e.i(7284);let t=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,o=r.clsx;e.s(["cva",0,(e,r)=>n=>{var l;if((null==r?void 0:r.variants)==null)return o(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:s,defaultVariants:a}=r,i=Object.keys(s).map(e=>{let r=null==n?void 0:n[e],o=null==a?void 0:a[e];if(null===r)return null;let l=t(r)||t(o);return s[e][l]}),c=n&&Object.entries(n).reduce((e,r)=>{let[t,o]=r;return void 0===o||(e[t]=o),e},{});return o(e,i,null==r||null==(l=r.compoundVariants)?void 0:l.reduce((e,r)=>{let{class:t,className:o,...n}=r;return Object.entries(n).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...a,...c}[r]):({...a,...c})[r]===t})?[...e,t,o]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},86874,5978,e=>{"use strict";var r=e.i(79054);function t(e,r){if("function"==typeof e)return e(r);null!=e&&(e.current=r)}function o(...e){return r=>{let o=!1,n=e.map(e=>{let n=t(e,r);return o||"function"!=typeof n||(o=!0),n});if(o)return()=>{for(let r=0;r<n.length;r++){let o=n[r];"function"==typeof o?o():t(e[r],null)}}}}function n(...e){return r.useCallback(o(...e),e)}e.s(["composeRefs",()=>o,"useComposedRefs",()=>n],5978);var l=e.i(20314);function s(e){var t;let n,s=(t=e,(n=r.forwardRef((e,t)=>{let{children:n,...l}=e;if(r.isValidElement(n)){var s;let e,a,i=(s=n,(a=(e=Object.getOwnPropertyDescriptor(s.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.ref:(a=(e=Object.getOwnPropertyDescriptor(s,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.props.ref:s.props.ref||s.ref),c=function(e,r){let t={...r};for(let o in r){let n=e[o],l=r[o];/^on[A-Z]/.test(o)?n&&l?t[o]=(...e)=>{let r=l(...e);return n(...e),r}:n&&(t[o]=n):"style"===o?t[o]={...n,...l}:"className"===o&&(t[o]=[n,l].filter(Boolean).join(" "))}return{...e,...t}}(l,n.props);return n.type!==r.Fragment&&(c.ref=t?o(t,i):i),r.cloneElement(n,c)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${t}.SlotClone`,n),a=r.forwardRef((e,t)=>{let{children:o,...n}=e,a=r.Children.toArray(o),i=a.find(u);if(i){let e=i.props.children,o=a.map(t=>t!==i?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,l.jsx)(s,{...n,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,o):null})}return(0,l.jsx)(s,{...n,ref:t,children:o})});return a.displayName=`${e}.Slot`,a}var a=s("Slot"),i=Symbol("radix.slottable");function c(e){let r=({children:e})=>(0,l.jsx)(l.Fragment,{children:e});return r.displayName=`${e}.Slottable`,r.__radixId=i,r}var d=c("Slottable");function u(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===i}e.s(["Root",()=>a,"Slot",()=>a,"Slottable",()=>d,"createSlot",()=>s,"createSlottable",()=>c],86874)},5240,e=>{"use strict";var r=e.i(86874);e.s(["Slot",0,r])},31777,e=>{"use strict";var r=e.i(7284);let t=(e=new Map,r=null,t)=>({nextPart:e,validators:r,classGroupId:t}),o=[],n=(e,r,t)=>{if(0==e.length-r)return t.classGroupId;let o=e[r],l=t.nextPart.get(o);if(l){let t=n(e,r+1,l);if(t)return t}let s=t.validators;if(null===s)return;let a=0===r?e.join("-"):e.slice(r).join("-"),i=s.length;for(let e=0;e<i;e++){let r=s[e];if(r.validator(a))return r.classGroupId}},l=(e,r)=>{let o=t();for(let t in e)s(e[t],o,t,r);return o},s=(e,r,t,o)=>{let n=e.length;for(let l=0;l<n;l++)a(e[l],r,t,o)},a=(e,r,t,o)=>{"string"==typeof e?i(e,r,t):"function"==typeof e?c(e,r,t,o):d(e,r,t,o)},i=(e,r,t)=>{(""===e?r:u(r,e)).classGroupId=t},c=(e,r,t,o)=>{m(e)?s(e(o),r,t,o):(null===r.validators&&(r.validators=[]),r.validators.push({classGroupId:t,validator:e}))},d=(e,r,t,o)=>{let n=Object.entries(e),l=n.length;for(let e=0;e<l;e++){let[l,a]=n[e];s(a,u(r,l),t,o)}},u=(e,r)=>{let o=e,n=r.split("-"),l=n.length;for(let e=0;e<l;e++){let r=n[e],l=o.nextPart.get(r);l||(l=t(),o.nextPart.set(r,l)),o=l}return o},m=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,p=[],f=(e,r,t,o,n)=>({modifiers:e,hasImportantModifier:r,baseClassName:t,maybePostfixModifierPosition:o,isExternal:n}),b=/\s+/,g=e=>{let r;if("string"==typeof e)return e;let t="";for(let o=0;o<e.length;o++)e[o]&&(r=g(e[o]))&&(t&&(t+=" "),t+=r);return t},h=[],v=e=>{let r=r=>r[e]||h;return r.isThemeGetter=!0,r},x=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,y=/^\((?:(\w[\w-]*):)?(.+)\)$/i,w=/^\d+\/\d+$/,k=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,z=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,N=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,j=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,S=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,E=e=>w.test(e),C=e=>!!e&&!Number.isNaN(Number(e)),O=e=>!!e&&Number.isInteger(Number(e)),R=e=>e.endsWith("%")&&C(e.slice(0,-1)),M=e=>k.test(e),I=()=>!0,T=e=>z.test(e)&&!N.test(e),_=()=>!1,$=e=>j.test(e),P=e=>S.test(e),A=e=>!U(e)&&!B(e),W=e=>J(e,et,_),U=e=>x.test(e),G=e=>J(e,eo,T),D=e=>J(e,en,C),L=e=>J(e,ee,_),V=e=>J(e,er,P),F=e=>J(e,es,$),B=e=>y.test(e),q=e=>Q(e,eo),K=e=>Q(e,el),H=e=>Q(e,ee),X=e=>Q(e,et),Y=e=>Q(e,er),Z=e=>Q(e,es,!0),J=(e,r,t)=>{let o=x.exec(e);return!!o&&(o[1]?r(o[1]):t(o[2]))},Q=(e,r,t=!1)=>{let o=y.exec(e);return!!o&&(o[1]?r(o[1]):t)},ee=e=>"position"===e||"percentage"===e,er=e=>"image"===e||"url"===e,et=e=>"length"===e||"size"===e||"bg-size"===e,eo=e=>"length"===e,en=e=>"number"===e,el=e=>"family-name"===e,es=e=>"shadow"===e,ea=((e,...r)=>{let t,s,a,i,c=e=>{let r=s(e);if(r)return r;let o=((e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:l}=r,s=[],a=e.trim().split(b),i="";for(let e=a.length-1;e>=0;e-=1){let r=a[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:m,maybePostfixModifierPosition:p}=t(r);if(c){i=r+(i.length>0?" "+i:i);continue}let f=!!p,b=o(f?m.substring(0,p):m);if(!b){if(!f||!(b=o(m))){i=r+(i.length>0?" "+i:i);continue}f=!1}let g=0===d.length?"":1===d.length?d[0]:l(d).join(":"),h=u?g+"!":g,v=h+b;if(s.indexOf(v)>-1)continue;s.push(v);let x=n(b,f);for(let e=0;e<x.length;++e){let r=x[e];s.push(h+r)}i=r+(i.length>0?" "+i:i)}return i})(e,t);return a(e,o),o};return i=d=>{var u;let m;return s=(t={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,t=Object.create(null),o=Object.create(null),n=(n,l)=>{t[n]=l,++r>e&&(r=0,o=t,t=Object.create(null))};return{get(e){let r=t[e];return void 0!==r?r:void 0!==(r=o[e])?(n(e,r),r):void 0},set(e,r){e in t?t[e]=r:n(e,r)}}})((u=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{prefix:r,experimentalParseClassName:t}=e,o=e=>{let r,t=[],o=0,n=0,l=0,s=e.length;for(let a=0;a<s;a++){let s=e[a];if(0===o&&0===n){if(":"===s){t.push(e.slice(l,a)),l=a+1;continue}if("/"===s){r=a;continue}}"["===s?o++:"]"===s?o--:"("===s?n++:")"===s&&n--}let a=0===t.length?e:e.slice(l),i=a,c=!1;return a.endsWith("!")?(i=a.slice(0,-1),c=!0):a.startsWith("!")&&(i=a.slice(1),c=!0),f(t,c,i,r&&r>l?r-l:void 0)};if(r){let e=r+":",t=o;o=r=>r.startsWith(e)?t(r.slice(e.length)):f(p,!1,r,void 0,!0)}if(t){let e=o;o=r=>t({className:r,parseClassName:e})}return o})(u),sortModifiers:(m=new Map,u.orderSensitiveModifiers.forEach((e,r)=>{m.set(e,1e6+r)}),e=>{let r=[],t=[];for(let o=0;o<e.length;o++){let n=e[o],l="["===n[0],s=m.has(n);l||s?(t.length>0&&(t.sort(),r.push(...t),t=[]),r.push(n)):t.push(n)}return t.length>0&&(t.sort(),r.push(...t)),r}),...(e=>{let r=(e=>{let{theme:r,classGroups:t}=e;return l(t,r)})(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var t;let r,o,n;return -1===(t=e).slice(1,-1).indexOf(":")?void 0:(o=(r=t.slice(1,-1)).indexOf(":"),(n=r.slice(0,o))?"arbitrary.."+n:void 0)}let o=e.split("-"),l=+(""===o[0]&&o.length>1);return n(o,l,r)},getConflictingClassGroupIds:(e,r)=>{if(r){let r=s[e],n=t[e];if(r){if(n){let e=Array(n.length+r.length);for(let r=0;r<n.length;r++)e[r]=n[r];for(let t=0;t<r.length;t++)e[n.length+t]=r[t];return e}return r}return n||o}return t[e]||o}}})(u)}).cache.get,a=t.cache.set,i=c,c(d)},(...e)=>i(((...e)=>{let r,t,o=0,n="";for(;o<e.length;)(r=e[o++])&&(t=g(r))&&(n&&(n+=" "),n+=t);return n})(...e))})(()=>{let e=v("color"),r=v("font"),t=v("text"),o=v("font-weight"),n=v("tracking"),l=v("leading"),s=v("breakpoint"),a=v("container"),i=v("spacing"),c=v("radius"),d=v("shadow"),u=v("inset-shadow"),m=v("text-shadow"),p=v("drop-shadow"),f=v("blur"),b=v("perspective"),g=v("aspect"),h=v("ease"),x=v("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],w=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...w(),B,U],z=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],j=()=>[B,U,i],S=()=>[E,"full","auto",...j()],T=()=>[O,"none","subgrid",B,U],_=()=>["auto",{span:["full",O,B,U]},O,B,U],$=()=>[O,"auto",B,U],P=()=>["auto","min","max","fr",B,U],J=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Q=()=>["start","end","center","stretch","center-safe","end-safe"],ee=()=>["auto",...j()],er=()=>[E,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],et=()=>[e,B,U],eo=()=>[...w(),H,L,{position:[B,U]}],en=()=>["no-repeat",{repeat:["","x","y","space","round"]}],el=()=>["auto","cover","contain",X,W,{size:[B,U]}],es=()=>[R,q,G],ea=()=>["","none","full",c,B,U],ei=()=>["",C,q,G],ec=()=>["solid","dashed","dotted","double"],ed=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eu=()=>[C,R,H,L],em=()=>["","none",f,B,U],ep=()=>["none",C,B,U],ef=()=>["none",C,B,U],eb=()=>[C,B,U],eg=()=>[E,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[M],breakpoint:[M],color:[I],container:[M],"drop-shadow":[M],ease:["in","out","in-out"],font:[A],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[M],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[M],shadow:[M],spacing:["px",C],text:[M],"text-shadow":[M],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",E,U,B,g]}],container:["container"],columns:[{columns:[C,U,B,a]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{start:S()}],end:[{end:S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:["visible","invisible","collapse"],z:[{z:[O,"auto",B,U]}],basis:[{basis:[E,"full","auto",a,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[C,E,"auto","initial","none",U]}],grow:[{grow:["",C,B,U]}],shrink:[{shrink:["",C,B,U]}],order:[{order:[O,"first","last","none",B,U]}],"grid-cols":[{"grid-cols":T()}],"col-start-end":[{col:_()}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":T()}],"row-start-end":[{row:_()}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":P()}],"auto-rows":[{"auto-rows":P()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[...J(),"normal"]}],"justify-items":[{"justify-items":[...Q(),"normal"]}],"justify-self":[{"justify-self":["auto",...Q()]}],"align-content":[{content:["normal",...J()]}],"align-items":[{items:[...Q(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Q(),{baseline:["","last"]}]}],"place-content":[{"place-content":J()}],"place-items":[{"place-items":[...Q(),"baseline"]}],"place-self":[{"place-self":["auto",...Q()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:er()}],w:[{w:[a,"screen",...er()]}],"min-w":[{"min-w":[a,"screen","none",...er()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[s]},...er()]}],h:[{h:["screen","lh",...er()]}],"min-h":[{"min-h":["screen","lh","none",...er()]}],"max-h":[{"max-h":["screen","lh",...er()]}],"font-size":[{text:["base",t,q,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,B,D]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",R,U]}],"font-family":[{font:[K,U,r]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,B,U]}],"line-clamp":[{"line-clamp":[C,"none",B,D]}],leading:[{leading:[l,...j()]}],"list-image":[{"list-image":["none",B,U]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",B,U]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:et()}],"text-color":[{text:et()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ec(),"wavy"]}],"text-decoration-thickness":[{decoration:[C,"from-font","auto",B,G]}],"text-decoration-color":[{decoration:et()}],"underline-offset":[{"underline-offset":[C,"auto",B,U]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",B,U]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",B,U]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:eo()}],"bg-repeat":[{bg:en()}],"bg-size":[{bg:el()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},O,B,U],radial:["",B,U],conic:[O,B,U]},Y,V]}],"bg-color":[{bg:et()}],"gradient-from-pos":[{from:es()}],"gradient-via-pos":[{via:es()}],"gradient-to-pos":[{to:es()}],"gradient-from":[{from:et()}],"gradient-via":[{via:et()}],"gradient-to":[{to:et()}],rounded:[{rounded:ea()}],"rounded-s":[{"rounded-s":ea()}],"rounded-e":[{"rounded-e":ea()}],"rounded-t":[{"rounded-t":ea()}],"rounded-r":[{"rounded-r":ea()}],"rounded-b":[{"rounded-b":ea()}],"rounded-l":[{"rounded-l":ea()}],"rounded-ss":[{"rounded-ss":ea()}],"rounded-se":[{"rounded-se":ea()}],"rounded-ee":[{"rounded-ee":ea()}],"rounded-es":[{"rounded-es":ea()}],"rounded-tl":[{"rounded-tl":ea()}],"rounded-tr":[{"rounded-tr":ea()}],"rounded-br":[{"rounded-br":ea()}],"rounded-bl":[{"rounded-bl":ea()}],"border-w":[{border:ei()}],"border-w-x":[{"border-x":ei()}],"border-w-y":[{"border-y":ei()}],"border-w-s":[{"border-s":ei()}],"border-w-e":[{"border-e":ei()}],"border-w-t":[{"border-t":ei()}],"border-w-r":[{"border-r":ei()}],"border-w-b":[{"border-b":ei()}],"border-w-l":[{"border-l":ei()}],"divide-x":[{"divide-x":ei()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ei()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ec(),"hidden","none"]}],"divide-style":[{divide:[...ec(),"hidden","none"]}],"border-color":[{border:et()}],"border-color-x":[{"border-x":et()}],"border-color-y":[{"border-y":et()}],"border-color-s":[{"border-s":et()}],"border-color-e":[{"border-e":et()}],"border-color-t":[{"border-t":et()}],"border-color-r":[{"border-r":et()}],"border-color-b":[{"border-b":et()}],"border-color-l":[{"border-l":et()}],"divide-color":[{divide:et()}],"outline-style":[{outline:[...ec(),"none","hidden"]}],"outline-offset":[{"outline-offset":[C,B,U]}],"outline-w":[{outline:["",C,q,G]}],"outline-color":[{outline:et()}],shadow:[{shadow:["","none",d,Z,F]}],"shadow-color":[{shadow:et()}],"inset-shadow":[{"inset-shadow":["none",u,Z,F]}],"inset-shadow-color":[{"inset-shadow":et()}],"ring-w":[{ring:ei()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:et()}],"ring-offset-w":[{"ring-offset":[C,G]}],"ring-offset-color":[{"ring-offset":et()}],"inset-ring-w":[{"inset-ring":ei()}],"inset-ring-color":[{"inset-ring":et()}],"text-shadow":[{"text-shadow":["none",m,Z,F]}],"text-shadow-color":[{"text-shadow":et()}],opacity:[{opacity:[C,B,U]}],"mix-blend":[{"mix-blend":[...ed(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ed()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[C]}],"mask-image-linear-from-pos":[{"mask-linear-from":eu()}],"mask-image-linear-to-pos":[{"mask-linear-to":eu()}],"mask-image-linear-from-color":[{"mask-linear-from":et()}],"mask-image-linear-to-color":[{"mask-linear-to":et()}],"mask-image-t-from-pos":[{"mask-t-from":eu()}],"mask-image-t-to-pos":[{"mask-t-to":eu()}],"mask-image-t-from-color":[{"mask-t-from":et()}],"mask-image-t-to-color":[{"mask-t-to":et()}],"mask-image-r-from-pos":[{"mask-r-from":eu()}],"mask-image-r-to-pos":[{"mask-r-to":eu()}],"mask-image-r-from-color":[{"mask-r-from":et()}],"mask-image-r-to-color":[{"mask-r-to":et()}],"mask-image-b-from-pos":[{"mask-b-from":eu()}],"mask-image-b-to-pos":[{"mask-b-to":eu()}],"mask-image-b-from-color":[{"mask-b-from":et()}],"mask-image-b-to-color":[{"mask-b-to":et()}],"mask-image-l-from-pos":[{"mask-l-from":eu()}],"mask-image-l-to-pos":[{"mask-l-to":eu()}],"mask-image-l-from-color":[{"mask-l-from":et()}],"mask-image-l-to-color":[{"mask-l-to":et()}],"mask-image-x-from-pos":[{"mask-x-from":eu()}],"mask-image-x-to-pos":[{"mask-x-to":eu()}],"mask-image-x-from-color":[{"mask-x-from":et()}],"mask-image-x-to-color":[{"mask-x-to":et()}],"mask-image-y-from-pos":[{"mask-y-from":eu()}],"mask-image-y-to-pos":[{"mask-y-to":eu()}],"mask-image-y-from-color":[{"mask-y-from":et()}],"mask-image-y-to-color":[{"mask-y-to":et()}],"mask-image-radial":[{"mask-radial":[B,U]}],"mask-image-radial-from-pos":[{"mask-radial-from":eu()}],"mask-image-radial-to-pos":[{"mask-radial-to":eu()}],"mask-image-radial-from-color":[{"mask-radial-from":et()}],"mask-image-radial-to-color":[{"mask-radial-to":et()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":w()}],"mask-image-conic-pos":[{"mask-conic":[C]}],"mask-image-conic-from-pos":[{"mask-conic-from":eu()}],"mask-image-conic-to-pos":[{"mask-conic-to":eu()}],"mask-image-conic-from-color":[{"mask-conic-from":et()}],"mask-image-conic-to-color":[{"mask-conic-to":et()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:eo()}],"mask-repeat":[{mask:en()}],"mask-size":[{mask:el()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",B,U]}],filter:[{filter:["","none",B,U]}],blur:[{blur:em()}],brightness:[{brightness:[C,B,U]}],contrast:[{contrast:[C,B,U]}],"drop-shadow":[{"drop-shadow":["","none",p,Z,F]}],"drop-shadow-color":[{"drop-shadow":et()}],grayscale:[{grayscale:["",C,B,U]}],"hue-rotate":[{"hue-rotate":[C,B,U]}],invert:[{invert:["",C,B,U]}],saturate:[{saturate:[C,B,U]}],sepia:[{sepia:["",C,B,U]}],"backdrop-filter":[{"backdrop-filter":["","none",B,U]}],"backdrop-blur":[{"backdrop-blur":em()}],"backdrop-brightness":[{"backdrop-brightness":[C,B,U]}],"backdrop-contrast":[{"backdrop-contrast":[C,B,U]}],"backdrop-grayscale":[{"backdrop-grayscale":["",C,B,U]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[C,B,U]}],"backdrop-invert":[{"backdrop-invert":["",C,B,U]}],"backdrop-opacity":[{"backdrop-opacity":[C,B,U]}],"backdrop-saturate":[{"backdrop-saturate":[C,B,U]}],"backdrop-sepia":[{"backdrop-sepia":["",C,B,U]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",B,U]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[C,"initial",B,U]}],ease:[{ease:["linear","initial",h,B,U]}],delay:[{delay:[C,B,U]}],animate:[{animate:["none",x,B,U]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,B,U]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ep()}],"rotate-x":[{"rotate-x":ep()}],"rotate-y":[{"rotate-y":ep()}],"rotate-z":[{"rotate-z":ep()}],scale:[{scale:ef()}],"scale-x":[{"scale-x":ef()}],"scale-y":[{"scale-y":ef()}],"scale-z":[{"scale-z":ef()}],"scale-3d":["scale-3d"],skew:[{skew:eb()}],"skew-x":[{"skew-x":eb()}],"skew-y":[{"skew-y":eb()}],transform:[{transform:[B,U,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:eg()}],"translate-x":[{"translate-x":eg()}],"translate-y":[{"translate-y":eg()}],"translate-z":[{"translate-z":eg()}],"translate-none":["translate-none"],accent:[{accent:et()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:et()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",B,U]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",B,U]}],fill:[{fill:["none",...et()]}],"stroke-w":[{stroke:[C,q,G,D]}],stroke:[{stroke:["none",...et()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ei(...e){return ea((0,r.clsx)(e))}e.s(["cn",()=>ei],31777)},35364,e=>{"use strict";var r=e.i(20314),t=e.i(94237),o=e.i(5240),n=e.i(31777);let l=(0,t.cva)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function s({className:e,variant:t="default",size:s="default",asChild:a=!1,...i}){let c=a?o.Slot.Root:"button";return(0,r.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":s,className:(0,n.cn)(l({variant:t,size:s,className:e})),...i})}e.s(["Button",()=>s])},87620,e=>{"use strict";var r=e.i(79054),t=e.i(26036),o=e.i(86874),n=e.i(20314),l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let l=(0,o.createSlot)(`Primitive.${t}`),s=r.forwardRef((e,r)=>{let{asChild:o,...s}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(o?l:t,{...s,ref:r})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function s(e,r){e&&t.flushSync(()=>e.dispatchEvent(r))}e.s(["Primitive",()=>l,"dispatchDiscreteCustomEvent",()=>s])},91967,e=>{"use strict";function r(e,t,{checkForDefaultPrevented:o=!0}={}){return function(r){if(e?.(r),!1===o||!r.defaultPrevented)return t?.(r)}}"u">typeof window&&window.document&&window.document.createElement,e.s(["composeEventHandlers",()=>r])},22528,e=>{"use strict";var r=e.i(79054),t=e.i(20314);function o(e,o){let n=r.createContext(o),l=e=>{let{children:o,...l}=e,s=r.useMemo(()=>l,Object.values(l));return(0,t.jsx)(n.Provider,{value:s,children:o})};return l.displayName=e+"Provider",[l,function(t){let l=r.useContext(n);if(l)return l;if(void 0!==o)return o;throw Error(`\`${t}\` must be used within \`${e}\``)}]}function n(e,o=[]){let l=[],s=()=>{let t=l.map(e=>r.createContext(e));return function(o){let n=o?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...o,[e]:n}}),[o,n])}};return s.scopeName=e,[function(o,n){let s=r.createContext(n),a=l.length;l=[...l,n];let i=o=>{let{scope:n,children:l,...i}=o,c=n?.[e]?.[a]||s,d=r.useMemo(()=>i,Object.values(i));return(0,t.jsx)(c.Provider,{value:d,children:l})};return i.displayName=o+"Provider",[i,function(t,l){let i=l?.[e]?.[a]||s,c=r.useContext(i);if(c)return c;if(void 0!==n)return n;throw Error(`\`${t}\` must be used within \`${o}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let o=()=>{let o=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=o.reduce((r,{useScope:t,scopeName:o})=>{let n=t(e)[`__scope${o}`];return{...r,...n}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return o.scopeName=t.scopeName,o}(s,...o)]}e.s(["createContext",()=>o,"createContextScope",()=>n])},13123,5192,e=>{"use strict";var r=e.i(79054),t=globalThis?.document?r.useLayoutEffect:()=>{};e.s(["useLayoutEffect",()=>t],5192);var o=r[" useId ".trim().toString()]||(()=>void 0),n=0;function l(e){let[l,s]=r.useState(o());return t(()=>{e||s(e=>e??String(n++))},[e]),e||(l?`radix-${l}`:"")}e.s(["useId",()=>l],13123)},36589,e=>{"use strict";var r=e.i(79054),t=e.i(5192);r[" useEffectEvent ".trim().toString()],r[" useInsertionEffect ".trim().toString()];var o=r[" useInsertionEffect ".trim().toString()]||t.useLayoutEffect;function n({prop:e,defaultProp:t,onChange:n=()=>{},caller:l}){let[s,a,i]=function({defaultProp:e,onChange:t}){let[n,l]=r.useState(e),s=r.useRef(n),a=r.useRef(t);return o(()=>{a.current=t},[t]),r.useEffect(()=>{s.current!==n&&(a.current?.(n),s.current=n)},[n,s]),[n,l,a]}({defaultProp:t,onChange:n}),c=void 0!==e,d=c?e:s;{let t=r.useRef(void 0!==e);r.useEffect(()=>{let e=t.current;if(e!==c){let r=c?"controlled":"uncontrolled";console.warn(`${l} is changing from ${e?"controlled":"uncontrolled"} to ${r}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=c},[c,l])}return[d,r.useCallback(r=>{if(c){let t="function"==typeof r?r(e):r;t!==e&&i.current?.(t)}else a(r)},[c,e,a,i])]}Symbol("RADIX:SYNC_STATE"),e.s(["useControllableState",()=>n],36589)},29297,e=>{"use strict";var r=e.i(79054);function t(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}e.s(["useCallbackRef",()=>t])},85995,e=>{"use strict";var r=e.i(79054),t=e.i(5978),o=e.i(5192),n=e=>{var n;let s,a,{present:i,children:c}=e,d=function(e){var t,n;let[s,a]=r.useState(),i=r.useRef(null),c=r.useRef(e),d=r.useRef("none"),[u,m]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,r)=>n[e][r]??e,t));return r.useEffect(()=>{let e=l(i.current);d.current="mounted"===u?e:"none"},[u]),(0,o.useLayoutEffect)(()=>{let r=i.current,t=c.current;if(t!==e){let o=d.current,n=l(r);e?m("MOUNT"):"none"===n||r?.display==="none"?m("UNMOUNT"):t&&o!==n?m("ANIMATION_OUT"):m("UNMOUNT"),c.current=e}},[e,m]),(0,o.useLayoutEffect)(()=>{if(s){let e,r=s.ownerDocument.defaultView??window,t=t=>{let o=l(i.current).includes(CSS.escape(t.animationName));if(t.target===s&&o&&(m("ANIMATION_END"),!c.current)){let t=s.style.animationFillMode;s.style.animationFillMode="forwards",e=r.setTimeout(()=>{"forwards"===s.style.animationFillMode&&(s.style.animationFillMode=t)})}},o=e=>{e.target===s&&(d.current=l(i.current))};return s.addEventListener("animationstart",o),s.addEventListener("animationcancel",t),s.addEventListener("animationend",t),()=>{r.clearTimeout(e),s.removeEventListener("animationstart",o),s.removeEventListener("animationcancel",t),s.removeEventListener("animationend",t)}}m("ANIMATION_END")},[s,m]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:r.useCallback(e=>{i.current=e?getComputedStyle(e):null,a(e)},[])}}(i),u="function"==typeof c?c({present:d.isPresent}):r.Children.only(c),m=(0,t.useComposedRefs)(d.ref,(n=u,(a=(s=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?n.ref:(a=(s=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?n.props.ref:n.props.ref||n.ref));return"function"==typeof c||d.isPresent?r.cloneElement(u,{ref:m}):null};function l(e){return e?.animationName||"none"}n.displayName="Presence",e.s(["Presence",()=>n])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,57638,71379,t=>{"use strict";var e=t.i(20314),a=t.i(79054),r=t.i(94237);let s=(0,t.i(3645).default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);t.s(["default",()=>s],71379);var n=t.i(5240),o=t.i(31777);t.i(35364),t.i(98127),t.i(25235);var i=t.i(48249),l=t.i(90033);function d({...t}){return(0,e.jsx)(l.Dialog.Root,{"data-slot":"sheet",...t})}function c({...t}){return(0,e.jsx)(l.Dialog.Portal,{"data-slot":"sheet-portal",...t})}function u({className:t,...a}){return(0,e.jsx)(l.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,o.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",t),...a})}function f({className:t,children:a,side:r="right",showCloseButton:s=!0,...n}){return(0,e.jsxs)(c,{children:[(0,e.jsx)(u,{}),(0,e.jsxs)(l.Dialog.Content,{"data-slot":"sheet-content",className:(0,o.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",t),...n,children:[a,s?(0,e.jsxs)(l.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,e.jsx)(i.XIcon,{className:"size-4"}),(0,e.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function p({className:t,...a}){return(0,e.jsx)("div",{"data-slot":"sheet-header",className:(0,o.cn)("flex flex-col gap-1.5 p-4",t),...a})}function m({className:t,...a}){return(0,e.jsx)(l.Dialog.Title,{"data-slot":"sheet-title",className:(0,o.cn)("text-foreground font-semibold",t),...a})}function h({className:t,...a}){return(0,e.jsx)(l.Dialog.Description,{"data-slot":"sheet-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...a})}var g=t.i(2828);let b=a.createContext(null);function v(){let t=a.useContext(b);if(!t)throw Error("useSidebar must be used within a SidebarProvider.");return t}function x({defaultOpen:t=!0,open:r,onOpenChange:s,className:n,style:i,children:l,...d}){let c=function(){let[t,e]=a.useState(void 0);return a.useEffect(()=>{let t=window.matchMedia("(max-width: 767px)"),a=()=>{e(window.innerWidth<768)};return t.addEventListener("change",a),e(window.innerWidth<768),()=>t.removeEventListener("change",a)},[]),!!t}(),[u,f]=a.useState(!1),[p,m]=a.useState(t),h=r??p,v=a.useCallback(t=>{let e="function"==typeof t?t(h):t;s?s(e):m(e),document.cookie=`sidebar_state=${e}; path=/; max-age=604800`},[s,h]),x=a.useCallback(()=>c?f(t=>!t):v(t=>!t),[c,v,f]);a.useEffect(()=>{let t=t=>{"b"===t.key&&(t.metaKey||t.ctrlKey)&&(t.preventDefault(),x())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[x]);let y=h?"expanded":"collapsed",w=a.useMemo(()=>({state:y,open:h,setOpen:v,isMobile:c,openMobile:u,setOpenMobile:f,toggleSidebar:x}),[y,h,v,c,u,f,x]);return(0,e.jsx)(b.Provider,{value:w,children:(0,e.jsx)(g.TooltipProvider,{delayDuration:0,children:(0,e.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...i},className:(0,o.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",n),...d,children:l})})})}function y({side:t="left",variant:a="sidebar",collapsible:r="offcanvas",className:s,children:n,...i}){let{isMobile:l,state:c,openMobile:u,setOpenMobile:g}=v();return"none"===r?(0,e.jsx)("div",{"data-slot":"sidebar",className:(0,o.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",s),...i,children:n}):l?(0,e.jsx)(d,{open:u,onOpenChange:g,...i,children:(0,e.jsxs)(f,{"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:t,children:[(0,e.jsxs)(p,{className:"sr-only",children:[(0,e.jsx)(m,{children:"Sidebar"}),(0,e.jsx)(h,{children:"Displays the mobile sidebar."})]}),(0,e.jsx)("div",{className:"flex h-full w-full flex-col",children:n})]})}):(0,e.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":c,"data-collapsible":"collapsed"===c?r:"","data-variant":a,"data-side":t,"data-slot":"sidebar",children:[(0,e.jsx)("div",{"data-slot":"sidebar-gap",className:(0,o.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,e.jsx)("div",{"data-slot":"sidebar-container",className:(0,o.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===t?"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",s),...i,children:(0,e.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 w({className:t,...a}){let{toggleSidebar:r}=v();return(0,e.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:(0,o.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",t),...a})}function C({className:t,...a}){return(0,e.jsx)("main",{"data-slot":"sidebar-inset",className:(0,o.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",t),...a})}function k({className:t,...a}){return(0,e.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,o.cn)("flex flex-col gap-2 p-2",t),...a})}function j({className:t,...a}){return(0,e.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,o.cn)("flex flex-col gap-2 p-2",t),...a})}function S({className:t,...a}){return(0,e.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,o.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),...a})}function N({className:t,...a}){return(0,e.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,o.cn)("relative flex w-full min-w-0 flex-col p-2",t),...a})}function E({className:t,asChild:a=!1,...r}){let s=a?n.Slot.Root:"div";return(0,e.jsx)(s,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,o.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",t),...r})}function M({className:t,...a}){return(0,e.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,o.cn)("w-full text-sm",t),...a})}function T({className:t,...a}){return(0,e.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,o.cn)("flex w-full min-w-0 flex-col gap-1",t),...a})}function z({className:t,...a}){return(0,e.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,o.cn)("group/menu-item relative",t),...a})}let L=(0,r.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 B({asChild:t=!1,isActive:a=!1,variant:r="default",size:s="default",tooltip:i,className:l,...d}){let c=t?n.Slot.Root:"button",{isMobile:u,state:f}=v(),p=(0,e.jsx)(c,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":s,"data-active":a,className:(0,o.cn)(L({variant:r,size:s}),l),...d});return i?("string"==typeof i&&(i={children:i}),(0,e.jsxs)(g.Tooltip,{children:[(0,e.jsx)(g.TooltipTrigger,{asChild:!0,children:p}),(0,e.jsx)(g.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||u,...i})]})):p}t.s(["Sidebar",()=>y,"SidebarContent",()=>S,"SidebarFooter",()=>j,"SidebarGroup",()=>N,"SidebarGroupContent",()=>M,"SidebarGroupLabel",()=>E,"SidebarHeader",()=>k,"SidebarInset",()=>C,"SidebarMenu",()=>T,"SidebarMenuButton",()=>B,"SidebarMenuItem",()=>z,"SidebarProvider",()=>x,"SidebarRail",()=>w,"useSidebar",()=>v],57638)},31406,(t,e,a)=>{e.exports=t.r(67013)},3214,91891,t=>{"use strict";let e=(0,t.i(3645).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);t.s(["default",()=>e],91891),t.s(["Plus",()=>e],3214)},90491,90798,t=>{"use strict";var e=t.i(20314),a=t.i(24035),r=t.i(57638),s=t.i(8361);function n({icon:t,label:n,href:o,active:i=!1}){let l=(0,s.useSoundAction)("navigate");return(0,e.jsx)(r.SidebarMenuItem,{"data-testid":"sidebar-nav-item",children:(0,e.jsx)(r.SidebarMenuButton,{asChild:!0,isActive:i,tooltip:n,children:(0,e.jsxs)(a.default,{href:o,onClick:()=>l.play(),children:[(0,e.jsx)(t,{}),(0,e.jsx)("span",{children:n})]})})})}t.s(["SidebarNavItem",()=>n],90798),t.s([],90491)},85462,26506,t=>{"use strict";var e=t.i(20314),a=t.i(71379),a=a,r=t.i(57638),s=t.i(35364),n=t.i(31777),o=t.i(8361);function i({className:t}){let{toggleSidebar:i,open:l}=(0,r.useSidebar)(),d=(0,o.useSoundAction)("expand"),c=(0,o.useSoundAction)("collapse");return(0,e.jsx)("div",{className:(0,n.cn)("flex",t),children:(0,e.jsx)(s.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{l?c.play():d.play(),i()},"aria-label":l?"Collapse sidebar":"Expand sidebar",children:(0,e.jsx)(a.default,{className:"size-4"})})})}t.s(["SidebarCollapseToggle",()=>i],26506),t.s([],85462)},92233,10025,t=>{"use strict";var e=t.i(20314),a=t.i(31777);function r({className:t,size:r=24}){return(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:r,height:r,className:(0,a.cn)("shrink-0",t),"aria-hidden":"true",children:(0,e.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,e.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"})})})}t.s(["ShepLogo",()=>r],10025),t.s([],92233)},41589,84506,t=>{"use strict";var e=t.i(20314),a=t.i(79054);function r({startedAt:t}){let[r,s]=(0,a.useState)(()=>Date.now()-t);return(0,a.useEffect)(()=>{let e=setInterval(()=>{(0,a.startTransition)(()=>s(Date.now()-t))},1e3);return()=>clearInterval(e)},[t]),(0,e.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(t){let e=Math.floor(t/1e3);if(e>=3600){let t=Math.floor(e/3600);return`${t}h`}let a=Math.floor(e/60);return`${String(a).padStart(2,"0")}:${String(e%60).padStart(2,"0")}`}(r)})}t.s(["ElapsedTime",()=>r],84506),t.s([],41589)},10942,80986,t=>{"use strict";let e=(0,t.i(3645).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);t.s(["default",()=>e],80986),t.s(["CircleCheck",()=>e],10942)},8356,40327,71045,91495,78788,t=>{"use strict";var e=t.i(20314),a=t.i(57638);t.i(41589);var r=t.i(84506),s=t.i(51251),n=t.i(83428),o=t.i(10942);let i={"action-needed":{icon:s.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:n.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},done:{icon:o.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}};function l({name:t,status:s,startedAt:n,duration:o,onClick:l}){let{icon:d,iconClass:c}=i[s];return(0,e.jsx)(a.SidebarMenuItem,{"data-testid":"feature-list-item",children:(0,e.jsxs)(a.SidebarMenuButton,{size:"sm",onClick:l,tooltip:t,className:"cursor-pointer",children:[(0,e.jsx)(d,{className:c}),(0,e.jsx)("span",{className:"flex-1 truncate font-medium",children:t}),"in-progress"===s&&null!=n?(0,e.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,e.jsx)(r.ElapsedTime,{startedAt:n})}):null,"done"===s&&o?(0,e.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:o}):null]})})}function d({label:t,count:r,children:s}){return(0,e.jsxs)(a.SidebarGroup,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,e.jsxs)(a.SidebarGroupLabel,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[t,(0,e.jsx)("span",{"aria-label":`${r} 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:r})]}),(0,e.jsx)(a.SidebarGroupContent,{children:(0,e.jsx)(a.SidebarMenu,{className:"gap-0.5",children:s})})]})}t.s(["featureStatusConfig",0,i,"featureStatusOrder",0,["action-needed","in-progress","done"]],40327),t.s(["FeatureListItem",()=>l],71045),t.s([],8356),t.s(["FeatureStatusGroup",()=>d],91495),t.s([],78788)},72028,41506,t=>{"use strict";var e=t.i(20314),a=t.i(3645);let r=(0,a.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),s=(0,a.default)("grip-horizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]);var n=t.i(57638),o=t.i(2828),i=t.i(31777);function l({label:t,onFolderClick:a,onMenuClick:l,className:d}){let{state:c,isMobile:u}=(0,n.useSidebar)();return(0,e.jsx)(n.SidebarGroup,{"data-testid":"sidebar-section-header",className:(0,i.cn)("px-2 py-1",d),children:(0,e.jsxs)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:[(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate",children:t}),(0,e.jsxs)("span",{className:"text-sidebar-foreground/70 flex shrink-0 items-center gap-0.5",children:[(0,e.jsxs)(o.Tooltip,{children:[(0,e.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,e.jsx)("button",{type:"button",onClick:a,className:"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&>svg]:size-4","aria-label":"Open features folder",children:(0,e.jsx)(r,{className:"size-4"})})}),(0,e.jsx)(o.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==c||u,children:"Open features folder"})]}),(0,e.jsxs)(o.Tooltip,{children:[(0,e.jsx)(o.TooltipTrigger,{asChild:!0,children:(0,e.jsx)("button",{type:"button",onClick:l,className:"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&>svg]:size-4","aria-label":"Features options",children:(0,e.jsx)(s,{className:"size-4"})})}),(0,e.jsx)(o.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==c||u,children:"Features options"})]})]})]})})}t.s(["SidebarSectionHeader",()=>l],41506),t.s([],72028)},1354,78986,1963,17845,t=>{"use strict";var e=t.i(20314),a=t.i(79054),r=t.i(3214),s=t.i(83428),n=t.i(21023);let o=(0,n.createServerReference)("00b6113e4f7d9e5447b9fa0849ecf2f15c77386ede",n.callServer,void 0,n.findSourceMapURL,"pickFolder");async function i(){let t=await o();if(t.error)throw Error(t.error);return t.path}function l({data:t}){let[n,o]=(0,a.useState)(!1);async function l(){if(!n){o(!0);try{let e=await i();e&&t.onSelect?.(e)}finally{o(!1)}}}return(0,e.jsx)("div",{className:"group",children:(0,e.jsxs)("button",{type:"button","data-testid":"add-repository-node-card",onClick:l,disabled:n,className:"nodrag border-muted-foreground/30 flex w-56 cursor-pointer items-center gap-3 rounded-full border-2 border-dashed px-4 py-3 transition-colors hover:border-blue-500 hover:text-blue-500 disabled:cursor-wait disabled:opacity-60",children:[n?(0,e.jsx)(s.Loader2,{className:"h-5 w-5 shrink-0 animate-spin"}):(0,e.jsx)(r.Plus,{className:"h-5 w-5 shrink-0"}),(0,e.jsx)("span",{"data-testid":"add-repository-node-label",className:"text-sm font-medium",children:n?"Opening...":"Add Repository"})]})})}t.s(["pickFolder",()=>i],78986),t.s(["AddRepositoryNode",()=>l],1963);let d=(0,t.i(3645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var c=t.i(35364),u=t.i(2828);function f({onSelect:t}){let[r,n]=(0,a.useState)(!1);async function o(){if(!r){n(!0);try{let e=await i();e&&t?.(e)}finally{n(!1)}}}return(0,e.jsx)(u.TooltipProvider,{children:(0,e.jsxs)(u.Tooltip,{children:[(0,e.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,e.jsx)(c.Button,{variant:"ghost",size:"icon","aria-label":"Add Repository","data-testid":"add-repository-button",onClick:o,disabled:r,children:r?(0,e.jsx)(s.Loader2,{className:"h-5 w-5 animate-spin"}):(0,e.jsx)(d,{className:"h-5 w-5"})})}),(0,e.jsx)(u.TooltipContent,{children:"Add Repository"})]})})}t.s(["AddRepositoryButton",()=>f],17845),t.s([],1354)},53777,25732,t=>{"use strict";var e=t.i(20314),a=t.i(3645);let r=(0,a.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"}]]),s=(0,a.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"}]]);var n=t.i(35364),o=t.i(79054);let i="shep-theme";var l=t.i(8361);function d(){let{theme:t,resolvedTheme:a,setTheme:d}=function(){let[t,e]=(0,o.useState)("system"),[a,r]=(0,o.useState)("light"),s=(0,o.useCallback)(()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[]),n=(0,o.useCallback)(t=>"system"===t?s():t,[s]),l=(0,o.useCallback)(t=>{if("u"<typeof document)return;let e=document.documentElement;e.classList.remove("light","dark"),e.classList.add(t),r(t)},[]),d=(0,o.useCallback)(t=>{e(t),"u">typeof localStorage&&localStorage.setItem(i,t),l(n(t))},[n,l]);return(0,o.useEffect)(()=>{let t=localStorage.getItem(i)??"system";e(t),l(n(t))},[n,l]),(0,o.useEffect)(()=>{let e=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{"system"===t&&l(n("system"))};return e.addEventListener("change",a),()=>e.removeEventListener("change",a)},[t,n,l]),{theme:t,resolvedTheme:a,setTheme:d}}(),c=(0,l.useSoundAction)("toggle-on"),u=(0,l.useSoundAction)("toggle-off");return(0,e.jsxs)(n.Button,{variant:"ghost",size:"icon",onClick:()=>{"dark"!==("system"===t?a:t)?c.play():u.play(),"system"===t?d("dark"===a?"light":"dark"):d("dark"===t?"light":"dark")},"aria-label":`Switch to ${"dark"===a?"light":"dark"} mode`,children:[(0,e.jsx)(s,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,e.jsx)(r,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,e.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}t.s(["ThemeToggle",()=>d],25732),t.s([],53777)},39443,t=>{"use strict";var e=t.i(20314),a=t.i(79054);function r(t,e,a,r){if("u"<typeof EventSource)return()=>{};let s=null,n=!1,o=1e3,i=null,l=null;return!function d(){n||(s=new EventSource(t?`/api/agent-events?runId=${encodeURIComponent(t)}`:"/api/agent-events"),r("connecting"),s.onopen=()=>{r("connected"),l=setTimeout(()=>{l=null,o=1e3},5e3)},s.onerror=()=>{s?.close(),s=null,r("disconnected"),null!==l&&(clearTimeout(l),l=null);let t=o;o=Math.min(2*t,3e4),i=setTimeout(()=>{i=null,d()},t)},s.addEventListener("notification",t=>{let r=JSON.parse(t.data);e(t=>[...t,r]),a(r)}))}(),()=>{n=!0,null!==i&&(clearTimeout(i),i=null),null!==l&&(clearTimeout(l),l=null),s&&(s.close(),s=null)}}let s=(0,a.createContext)(null);function n({children:t,runId:n}){let o=function(t){let[e,s]=(0,a.useState)([]),[n,o]=(0,a.useState)(null),[i,l]=(0,a.useState)("disconnected"),d=t?.runId,c=(0,a.useRef)(null),u=(0,a.useCallback)(t=>{let e=t.data;if(e&&"object"==typeof e)if("notification"===e.type){let t=e.data;s(e=>[...e,t]),o(t)}else"status"===e.type&&l(e.status)},[]);return(0,a.useEffect)(()=>{let t="u">typeof location&&new URLSearchParams(location.search).has("sse");if(!navigator.serviceWorker||t)return r(d,s,o,l);let e=!1,a={current:void 0};function n(t){e||(c.current=t,t.postMessage({type:"subscribe",runId:d}),l("connecting"))}function i(){if(e)return;let t=navigator.serviceWorker.controller;t&&(c.current=t,t.postMessage({type:"subscribe",runId:d}),l("connecting"))}return navigator.serviceWorker.addEventListener("message",u),navigator.serviceWorker.addEventListener("controllerchange",i),navigator.serviceWorker.register("/agent-events-sw.js",{scope:"/"}).then(t=>{if(e)return;let i=t.active??t.installing??t.waiting;if(!i){a.current=r(d,s,o,l);return}"activated"===i.state?n(i):i.addEventListener("statechange",()=>{"activated"===i.state&&n(i)})}).catch(()=>{e||(a.current=r(d,s,o,l))}),()=>{e=!0,navigator.serviceWorker.removeEventListener("message",u),navigator.serviceWorker.removeEventListener("controllerchange",i),c.current?.postMessage({type:"unsubscribe"}),c.current=null,a.current?.()}},[d,u]),{events:e,lastEvent:n,connectionStatus:i}}({runId:n});return(0,e.jsx)(s.Provider,{value:o,children:t})}function o(){let t=(0,a.useContext)(s);if(!t)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return t}t.s(["AgentEventsProvider",()=>n,"useAgentEventsContext",()=>o],39443)},60112,t=>{"use strict";var e=t.i(79054),a=t.i(26036);let r=Array(12).fill(0),s=({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"},r.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"})),o=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"})),c=1,u=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,...r}=t,s="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:c++,n=this.toasts.find(t=>t.id===s),o=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),n?this.toasts=this.toasts.map(e=>e.id===s?(this.publish({...e,...t,id:s,title:a}),{...e,...t,id:s,dismissible:o,title:a}):e):this.addToast({title:a,...r,dismissible:o,id:s}),s},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 r,s;if(!a)return;void 0!==a.loading&&(s=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),o=void 0!==s,i=n.then(async t=>{if(r=["resolve",t],e.default.isValidElement(t))o=!1,this.create({id:s,type:"default",message:t});else if(f(t)&&!t.ok){o=!1;let r="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 r||e.default.isValidElement(r)?{message:r}:r;this.create({id:s,type:"error",description:n,...i})}else if(t instanceof Error){o=!1;let r="function"==typeof a.error?await a.error(t):a.error,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:s,type:"error",description:n,...i})}else if(void 0!==a.success){o=!1;let r="function"==typeof a.success?await a.success(t):a.success,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:s,type:"success",description:n,...i})}}).catch(async t=>{if(r=["reject",t],void 0!==a.error){o=!1;let r="function"==typeof a.error?await a.error(t):a.error,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:s,type:"error",description:n,...i})}}).finally(()=>{o&&(this.dismiss(s),s=void 0),null==a.finally||a.finally.call(a)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===r[0]?e(r[1]):t(r[1])).catch(e));return"string"!=typeof s&&"number"!=typeof s?{unwrap:l}:Object.assign(s,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||c++;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)||c++;return u.addToast({title:t,...e,id:a}),a},{success:u.success,info:u.info,warning:u.warning,error:u.error,custom:u.custom,message:u.message,promise:u.promise,dismiss:u.dismiss,loading:u.loading},{getHistory:()=>u.toasts,getToasts:()=>u.getActiveToasts()});function m(t){return void 0!==t.label}function h(...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 g=t=>{var a,r,c,u,f,p,g,b,v,x,y,w,C;let{invert:k,toast:j,unstyled:S,interacting:N,setHeights:E,visibleToasts:M,heights:T,index:z,toasts:L,expanded:B,removeToast:R,defaultRichColors:A,closeButton:I,style:D,cancelButtonStyle:P,actionButtonStyle:$,className:Y="",descriptionClassName:H="",duration:O,position:V,gap:_,expandByDefault:F,classNames:U,icons:W,closeButtonAriaLabel:X="Close toast"}=t,[G,Z]=e.default.useState(null),[K,q]=e.default.useState(null),[J,Q]=e.default.useState(!1),[tt,te]=e.default.useState(!1),[ta,tr]=e.default.useState(!1),[ts,tn]=e.default.useState(!1),[to,ti]=e.default.useState(!1),[tl,td]=e.default.useState(0),[tc,tu]=e.default.useState(0),tf=e.default.useRef(j.duration||O||4e3),tp=e.default.useRef(null),tm=e.default.useRef(null),th=0===z,tg=z+1<=M,tb=j.type,tv=!1!==j.dismissible,tx=j.className||"",ty=j.descriptionClassName||"",tw=e.default.useMemo(()=>T.findIndex(t=>t.toastId===j.id)||0,[T,j.id]),tC=e.default.useMemo(()=>{var t;return null!=(t=j.closeButton)?t:I},[j.closeButton,I]),tk=e.default.useMemo(()=>j.duration||O||4e3,[j.duration,O]),tj=e.default.useRef(0),tS=e.default.useRef(0),tN=e.default.useRef(0),tE=e.default.useRef(null),[tM,tT]=V.split("-"),tz=e.default.useMemo(()=>T.reduce((t,e,a)=>a>=tw?t:t+e.height,0),[T,tw]),tL=(()=>{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})(),tB=j.invert||k,tR="loading"===tb;tS.current=e.default.useMemo(()=>tw*_+tz,[tw,tz]),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 tu(e),E(t=>[{toastId:j.id,height:e,position:j.position},...t]),()=>E(t=>t.filter(t=>t.toastId!==j.id))}},[E,j.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,tu(a),E(t=>t.find(t=>t.toastId===j.id)?t.map(t=>t.toastId===j.id?{...t,height:a}:t):[{toastId:j.id,height:a,position:j.position},...t])},[J,j.title,j.description,E,j.id,j.jsx,j.action,j.cancel]);let tA=e.default.useCallback(()=>{te(!0),td(tS.current),E(t=>t.filter(t=>t.toastId!==j.id)),setTimeout(()=>{R(j)},200)},[j,R,E,tS]);e.default.useEffect(()=>{let t;if((!j.promise||"loading"!==tb)&&j.duration!==1/0&&"loading"!==j.type){if(B||N||tL){if(tN.current<tj.current){let t=new Date().getTime()-tj.current;tf.current=tf.current-t}tN.current=new Date().getTime()}else tf.current!==1/0&&(tj.current=new Date().getTime(),t=setTimeout(()=>{null==j.onAutoClose||j.onAutoClose.call(j,j),tA()},tf.current));return()=>clearTimeout(t)}},[B,N,j,tb,tL,tA]),e.default.useEffect(()=>{j.delete&&(tA(),null==j.onDismiss||j.onDismiss.call(j,j))},[tA,j.delete]);let tI=j.icon||(null==W?void 0:W[tb])||(t=>{switch(t){case"success":return n;case"info":return i;case"warning":return o;case"error":return l;default:return null}})(tb);return e.default.createElement("li",{tabIndex:0,ref:tm,className:h(Y,tx,null==U?void 0:U.toast,null==j||null==(a=j.classNames)?void 0:a.toast,null==U?void 0:U.default,null==U?void 0:U[tb],null==j||null==(r=j.classNames)?void 0:r[tb]),"data-sonner-toast":"","data-rich-colors":null!=(x=j.richColors)?x:A,"data-styled":!(j.jsx||j.unstyled||S),"data-mounted":J,"data-promise":!!j.promise,"data-swiped":to,"data-removed":tt,"data-visible":tg,"data-y-position":tM,"data-x-position":tT,"data-index":z,"data-front":th,"data-swiping":ta,"data-dismissible":tv,"data-type":tb,"data-invert":tB,"data-swipe-out":ts,"data-swipe-direction":K,"data-expanded":!!(B||F&&J),"data-testid":j.testId,style:{"--index":z,"--toasts-before":z,"--z-index":L.length-z,"--offset":`${tt?tl:tS.current}px`,"--initial-height":F?"auto":`${tc}px`,...D,...j.style},onDragEnd:()=>{tr(!1),Z(null),tE.current=null},onPointerDown:t=>{2===t.button||tR||!tv||(tp.current=new Date,td(tS.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&(tr(!0),tE.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,r,s;if(ts||!tv)return;tE.current=null;let n=Number((null==(t=tm.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),o=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"===G?n:o,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){td(tS.current),null==j.onDismiss||j.onDismiss.call(j,j),"x"===G?q(n>0?"right":"left"):q(o>0?"down":"up"),tA(),tn(!0);return}null==(r=tm.current)||r.style.setProperty("--swipe-amount-x","0px"),null==(s=tm.current)||s.style.setProperty("--swipe-amount-y","0px"),ti(!1),tr(!1),Z(null)},onPointerMove:e=>{var a,r,s,n;if(!tE.current||!tv||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let o=e.clientY-tE.current.y,i=e.clientX-tE.current.x,l=null!=(n=t.swipeDirections)?n:function(t){let[e,a]=t.split("-"),r=[];return e&&r.push(e),a&&r.push(a),r}(V);!G&&(Math.abs(i)>1||Math.abs(o)>1)&&Z(Math.abs(i)>Math.abs(o)?"x":"y");let d={x:0,y:0},c=t=>1/(1.5+Math.abs(t)/20);if("y"===G){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&o<0||l.includes("bottom")&&o>0)d.y=o;else{let t=o*c(o);d.y=Math.abs(t)<Math.abs(o)?t:o}}else if("x"===G&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)d.x=i;else{let t=i*c(i);d.x=Math.abs(t)<Math.abs(i)?t:i}(Math.abs(d.x)>0||Math.abs(d.y)>0)&&ti(!0),null==(r=tm.current)||r.style.setProperty("--swipe-amount-x",`${d.x}px`),null==(s=tm.current)||s.style.setProperty("--swipe-amount-y",`${d.y}px`)}},tC&&!j.jsx&&"loading"!==tb?e.default.createElement("button",{"aria-label":X,"data-disabled":tR,"data-close-button":!0,onClick:tR||!tv?()=>{}:()=>{tA(),null==j.onDismiss||j.onDismiss.call(j,j)},className:h(null==U?void 0:U.closeButton,null==j||null==(c=j.classNames)?void 0:c.closeButton)},null!=(y=null==W?void 0:W.close)?y:d):null,(tb||j.icon||j.promise)&&null!==j.icon&&((null==W?void 0:W[tb])!==null||j.icon)?e.default.createElement("div",{"data-icon":"",className:h(null==U?void 0:U.icon,null==j||null==(u=j.classNames)?void 0:u.icon)},j.promise||"loading"===j.type&&!j.icon?j.icon||((null==W?void 0:W.loading)?e.default.createElement("div",{className:h(null==U?void 0:U.loader,null==j||null==(C=j.classNames)?void 0:C.loader,"sonner-loader"),"data-visible":"loading"===tb},W.loading):e.default.createElement(s,{className:h(null==U?void 0:U.loader,null==j||null==(w=j.classNames)?void 0:w.loader),visible:"loading"===tb})):null,"loading"!==j.type?tI:null):null,e.default.createElement("div",{"data-content":"",className:h(null==U?void 0:U.content,null==j||null==(f=j.classNames)?void 0:f.content)},e.default.createElement("div",{"data-title":"",className:h(null==U?void 0:U.title,null==j||null==(p=j.classNames)?void 0:p.title)},j.jsx?j.jsx:"function"==typeof j.title?j.title():j.title),j.description?e.default.createElement("div",{"data-description":"",className:h(H,ty,null==U?void 0:U.description,null==j||null==(g=j.classNames)?void 0:g.description)},"function"==typeof j.description?j.description():j.description):null),e.default.isValidElement(j.cancel)?j.cancel:j.cancel&&m(j.cancel)?e.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:j.cancelButtonStyle||P,onClick:t=>{!m(j.cancel)||tv&&(null==j.cancel.onClick||j.cancel.onClick.call(j.cancel,t),tA())},className:h(null==U?void 0:U.cancelButton,null==j||null==(b=j.classNames)?void 0:b.cancelButton)},j.cancel.label):null,e.default.isValidElement(j.action)?j.action:j.action&&m(j.action)?e.default.createElement("button",{"data-button":!0,"data-action":!0,style:j.actionButtonStyle||$,onClick:t=>{!m(j.action)||(null==j.action.onClick||j.action.onClick.call(j.action,t),t.defaultPrevented||tA())},className:h(null==U?void 0:U.actionButton,null==j||null==(v=j.classNames)?void 0:v.actionButton)},j.action.label):null)};function b(){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 v=e.default.forwardRef(function(t,r){let{id:s,invert:n,position:o="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:d,className:c,offset:f,mobileOffset:p,theme:m="light",richColors:h,duration:v,style:x,visibleToasts:y=3,toastOptions:w,dir:C=b(),gap:k=14,icons:j,containerAriaLabel:S="Notifications"}=t,[N,E]=e.default.useState([]),M=e.default.useMemo(()=>s?N.filter(t=>t.toasterId===s):N.filter(t=>!t.toasterId),[N,s]),T=e.default.useMemo(()=>Array.from(new Set([o].concat(M.filter(t=>t.position).map(t=>t.position)))),[M,o]),[z,L]=e.default.useState([]),[B,R]=e.default.useState(!1),[A,I]=e.default.useState(!1),[D,P]=e.default.useState("system"!==m?m:"u">typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),$=e.default.useRef(null),Y=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),H=e.default.useRef(null),O=e.default.useRef(!1),V=e.default.useCallback(t=>{E(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||u.dismiss(t.id),e.filter(({id:e})=>e!==t.id)})},[]);return e.default.useEffect(()=>u.subscribe(t=>{t.dismiss?requestAnimationFrame(()=>{E(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))}):setTimeout(()=>{a.default.flushSync(()=>{E(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 P(m);if("system"===m&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?P("dark"):P("light")),"u"<typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",({matches:t})=>{t?P("dark"):P("light")})}catch(e){t.addListener(({matches:t})=>{try{t?P("dark"):P("light")}catch(t){console.error(t)}})}},[m]),e.default.useEffect(()=>{N.length<=1&&R(!1)},[N]),e.default.useEffect(()=>{let t=t=>{var e,a;i.every(e=>t[e]||t.code===e)&&(R(!0),null==(a=$.current)||a.focus()),"Escape"===t.code&&(document.activeElement===$.current||(null==(e=$.current)?void 0:e.contains(document.activeElement)))&&R(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[i]),e.default.useEffect(()=>{if($.current)return()=>{H.current&&(H.current.focus({preventScroll:!0}),H.current=null,O.current=!1)}},[$.current]),e.default.createElement("section",{ref:r,"aria-label":`${S} ${Y}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},T.map((a,r)=>{var s;let o,[i,u]=a.split("-");return M.length?e.default.createElement("ol",{key:a,dir:"auto"===C?b():C,tabIndex:-1,ref:$,className:c,"data-sonner-toaster":!0,"data-sonner-theme":D,"data-y-position":i,"data-x-position":u,style:{"--front-toast-height":`${(null==(s=z[0])?void 0:s.height)||0}px`,"--width":"356px","--gap":`${k}px`,...x,...(o={},[f,p].forEach((t,e)=>{let a=1===e,r=a?"--mobile-offset":"--offset",s=a?"16px":"24px";function n(t){["top","right","bottom","left"].forEach(e=>{o[`${r}-${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]?o[`${r}-${e}`]=s:o[`${r}-${e}`]="number"==typeof t[e]?`${t[e]}px`:t[e]}):n(s)}),o)},onBlur:t=>{O.current&&!t.currentTarget.contains(t.relatedTarget)&&(O.current=!1,H.current&&(H.current.focus({preventScroll:!0}),H.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&(O.current||(O.current=!0,H.current=t.relatedTarget))},onMouseEnter:()=>R(!0),onMouseMove:()=>R(!0),onMouseLeave:()=>{A||R(!1)},onDragEnd:()=>R(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||I(!0)},onPointerUp:()=>I(!1)},M.filter(t=>!t.position&&0===r||t.position===a).map((r,s)=>{var o,i;return e.default.createElement(g,{key:r.id,icons:j,index:s,toast:r,defaultRichColors:h,duration:null!=(o=null==w?void 0:w.duration)?o:v,className:null==w?void 0:w.className,descriptionClassName:null==w?void 0:w.descriptionClassName,invert:n,visibleToasts:y,closeButton:null!=(i=null==w?void 0:w.closeButton)?i:d,interacting:A,position:a,style:null==w?void 0:w.style,unstyled:null==w?void 0:w.unstyled,classNames:null==w?void 0:w.classNames,cancelButtonStyle:null==w?void 0:w.cancelButtonStyle,actionButtonStyle:null==w?void 0:w.actionButtonStyle,closeButtonAriaLabel:null==w?void 0:w.closeButtonAriaLabel,removeToast:V,toasts:M.filter(t=>t.position==r.position),heights:z.filter(t=>t.position==r.position),setHeights:L,expandByDefault:l,gap:k,expanded:B,swipeDirections:t.swipeDirections})})):null}))});t.s(["Toaster",()=>v,"toast",()=>p])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65064,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class i{disable(){throw u}getStore(){}run(){throw u}exit(){throw u}enterWith(){throw u}static bind(e){return e}}let l="u">typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return l?new l:new i}function s(e){return l?l.bind(e):i.bind(e)}function d(){return l?l.snapshot():function(e,...t){return e(...t)}}},22874,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(65064).createAsyncLocalStorage)()},58988,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(22874)},86762,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="u"<typeof window?e.r(58988).workAsyncStorage:void 0;function o({error:e}){if(n){let t=n.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},9338,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=e.r(79054),o=e.r(14869);function u(){return!function(){if("u"<typeof window){let{workUnitAsyncStorage:t}=e.r(3163),r=t.getStore();if(!r)return!1;switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":let n=r.fallbackRouteParams;return!!n&&n.size>0}}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},62949,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return i},useNavFailureHandler:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(79054);let u=e.r(32801);function i(e){return!!(e&&"u">typeof window)&&!!window.next.__pendingUrl&&(0,u.createHrefFromUrl)(new URL(window.location.href))!==(0,u.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function l(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},57351,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return _},ErrorBoundaryHandler:function(){return p}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(81258),i=e.r(20314),l=u._(e.r(79054)),a=e.r(9338),s=e.r(86092);e.r(62949);let d=e.r(86762),c=e.r(41608),f="u">typeof window&&(0,c.isBot)(window.navigator.userAgent);class p extends l.default.Component{constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,s.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!f?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(d.HandleISRError,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,i.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}}function _({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let o=(0,a.useUntrackedPathname)();return e?(0,i.jsx)(p,{pathname:o,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,i.jsx)(i.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},10706,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return p},RedirectErrorBoundary:function(){return f}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(44066),i=e.r(20314),l=u._(e.r(79054)),a=e.r(67013),s=e.r(25133),d=e.r(54809);function c({redirect:e,reset:t,redirectType:r}){let n=(0,a.useRouter)();return(0,l.useEffect)(()=>{l.default.startTransition(()=>{r===d.RedirectType.push?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class f extends l.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,d.isRedirectError)(e)){let t=(0,s.getURLFromRedirectError)(e),r=(0,s.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,i.jsx)(c,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function p({children:e}){let t=(0,a.useRouter)();return(0,i.jsx)(f,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},99271,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66658,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return l},OutletBoundary:function(){return s},RootLayoutBoundary:function(){return d},ViewportBoundary:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(42771),i={[u.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[u.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[u.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[u.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},l=i[u.METADATA_BOUNDARY_NAME.slice(0)],a=i[u.VIEWPORT_BOUNDARY_NAME.slice(0)],s=i[u.OUTLET_BOUNDARY_NAME.slice(0)],d=i[u.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},42726,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let n=e.r(20314),o=e.r(86762),u={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},i={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},l=function({error:e}){let t=e?.digest;return(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{}),(0,n.jsxs)("body",{children:[(0,n.jsx)(o.HandleISRError,{error:e}),(0,n.jsx)("div",{style:u,children:(0,n.jsxs)("div",{children:[(0,n.jsxs)("h2",{style:i,children:["Application error: a ",t?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",t?"server logs":"browser console"," for more information)."]}),t?(0,n.jsx)("p",{style:i,children:`Digest: ${t}`}):null]})})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},84210,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(79054)).default.createContext({})}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},66033,e=>{"use strict";var t=e.i(79054);e.i(20314);var r=t.createContext(void 0);function n(e){let n=t.useContext(r);return e||n||"ltr"}e.s(["useDirection",()=>n])},90033,e=>{"use strict";var t=e.i(567);e.s(["Dialog",0,t])},81975,e=>{"use strict";let t=(0,e.i(3645).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);e.s(["Wrench",()=>t],81975)},76314,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function i(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,a(e));else t.set(r,a(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95889,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return u},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(44066)._(e.r(76314)),a=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",l=e.hash||"",s=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),s&&"object"==typeof s&&(s=String(i.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${o}${c}${l}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return l(e)}},80764,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(79054);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},58464,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return m},MiddlewareNotFoundError:function(){return S},MissingStaticPage:function(){return y},NormalizeError:function(){return b},PageNotFoundError:function(){return w},SP:function(){return v},ST:function(){return g},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return x}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>l.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let v="u">typeof performance,g=v&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class b extends Error{}class w extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class y extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class S extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},51380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(58464),o=e.r(53626);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},38670,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},24035,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},useLinkStatus:function(){return w}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(44066),a=e.r(20314),l=i._(e.r(79054)),s=e.r(95889),u=e.r(18152),c=e.r(80764),d=e.r(58464),f=e.r(99267);e.r(24270);let p=e.r(59624),h=e.r(51380),v=e.r(95555);function g(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function m(t){var r;let n,o,i,[s,m]=(0,l.useOptimistic)(p.IDLE_LINK_STATUS),w=(0,l.useRef)(null),{href:y,as:S,children:x,prefetch:j=null,passHref:E,replace:C,shallow:P,scroll:T,onClick:R,onMouseEnter:N,onTouchStart:_,legacyBehavior:A=!1,onNavigate:L,ref:k,unstable_dynamicOnHover:O,...M}=t;n=x,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,a.jsx)("a",{children:n}));let D=l.default.useContext(u.AppRouterContext),I=!1!==j,z=!1!==j?null===(r=j)||"auto"===r?v.FetchStrategy.PPR:v.FetchStrategy.Full:v.FetchStrategy.PPR,{href:U,as:F}=l.default.useMemo(()=>{let e=g(y);return{href:e,as:S?g(S):e}},[y,S]);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=l.default.Children.only(n)}let H=A?o&&"object"==typeof o&&o.ref:k,W=l.default.useCallback(e=>(null!==D&&(w.current=(0,p.mountLinkInstance)(e,U,D,z,I,m)),()=>{w.current&&((0,p.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,p.unmountPrefetchableInstance)(e)}),[I,U,D,z,m]),$={ref:(0,c.useMergedRef)(W,H),onClick(t){A||"function"!=typeof R||R(t),A&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,o,i,a,s){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(81574);l.default.startTransition(()=>{d(n||r,i?"replace":"push",a??!0,o.current)})}}(t,U,F,w,C,T,L)},onMouseEnter(e){A||"function"!=typeof N||N(e),A&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),D&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){A||"function"!=typeof _||_(e),A&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),D&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,d.isAbsoluteUrl)(F)?$.href=F:A&&!E&&("a"!==o.type||"href"in o.props)||($.href=(0,f.addBasePath)(F)),i=A?l.default.cloneElement(o,$):(0,a.jsx)("a",{...M,...$,children:n}),(0,a.jsx)(b.Provider,{value:s,children:i})}e.r(38670);let b=(0,l.createContext)(p.IDLE_LINK_STATUS),w=()=>(0,l.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},12103,e=>{"use strict";let t=(0,e.i(3645).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",()=>t],12103)},87292,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(57638),o=e.i(31406),i=e.i(3645);let a=(0,i.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 l=e.i(81975),s=e.i(12103),u=e.i(3214),c=e.i(87620),d=e.i(85995),f=e.i(22528),p=e.i(5978),h=e.i(29297),v=e.i(66033),g=e.i(5192),m=e.i(91967),b="ScrollArea",[w,y]=(0,f.createContextScope)(b),[S,x]=w(b),j=r.forwardRef((e,n)=>{let{__scopeScrollArea:o,type:i="hover",dir:a,scrollHideDelay:l=600,...s}=e,[u,d]=r.useState(null),[f,h]=r.useState(null),[g,m]=r.useState(null),[b,w]=r.useState(null),[y,x]=r.useState(null),[j,E]=r.useState(0),[C,P]=r.useState(0),[T,R]=r.useState(!1),[N,_]=r.useState(!1),A=(0,p.useComposedRefs)(n,e=>d(e)),L=(0,v.useDirection)(a);return(0,t.jsx)(S,{scope:o,type:i,dir:L,scrollHideDelay:l,scrollArea:u,viewport:f,onViewportChange:h,content:g,onContentChange:m,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:T,onScrollbarXEnabledChange:R,scrollbarY:y,onScrollbarYChange:x,scrollbarYEnabled:N,onScrollbarYEnabledChange:_,onCornerWidthChange:E,onCornerHeightChange:P,children:(0,t.jsx)(c.Primitive.div,{dir:L,...s,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":j+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});j.displayName=b;var E="ScrollAreaViewport",C=r.forwardRef((e,n)=>{let{__scopeScrollArea:o,children:i,nonce:a,...l}=e,s=x(E,o),u=r.useRef(null),d=(0,p.useComposedRefs)(n,u,s.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:a}),(0,t.jsx)(c.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:d,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});C.displayName=E;var P="ScrollAreaScrollbar",T=r.forwardRef((e,n)=>{let{forceMount:o,...i}=e,a=x(P,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:s}=a,u="horizontal"===e.orientation;return r.useEffect(()=>(u?l(!0):s(!0),()=>{u?l(!1):s(!1)}),[u,l,s]),"hover"===a.type?(0,t.jsx)(R,{...i,ref:n,forceMount:o}):"scroll"===a.type?(0,t.jsx)(N,{...i,ref:n,forceMount:o}):"auto"===a.type?(0,t.jsx)(_,{...i,ref:n,forceMount:o}):"always"===a.type?(0,t.jsx)(A,{...i,ref:n}):null});T.displayName=P;var R=r.forwardRef((e,n)=>{let{forceMount:o,...i}=e,a=x(P,e.__scopeScrollArea),[l,s]=r.useState(!1);return r.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),s(!0)},n=()=>{t=window.setTimeout(()=>s(!1),a.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[a.scrollArea,a.scrollHideDelay]),(0,t.jsx)(d.Presence,{present:o||l,children:(0,t.jsx)(_,{"data-state":l?"visible":"hidden",...i,ref:n})})}),N=r.forwardRef((e,n)=>{var o;let{forceMount:i,...a}=e,l=x(P,e.__scopeScrollArea),s="horizontal"===e.orientation,u=q(()=>f("SCROLL_END"),100),[c,f]=(o={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>o[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===c){let e=window.setTimeout(()=>f("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,l.scrollHideDelay,f]),r.useEffect(()=>{let e=l.viewport,t=s?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(f("SCROLL"),u()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[l.viewport,s,f,u]),(0,t.jsx)(d.Presence,{present:i||"hidden"!==c,children:(0,t.jsx)(A,{"data-state":"hidden"===c?"hidden":"visible",...a,ref:n,onPointerEnter:(0,m.composeEventHandlers)(e.onPointerEnter,()=>f("POINTER_ENTER")),onPointerLeave:(0,m.composeEventHandlers)(e.onPointerLeave,()=>f("POINTER_LEAVE"))})})}),_=r.forwardRef((e,n)=>{let o=x(P,e.__scopeScrollArea),{forceMount:i,...a}=e,[l,s]=r.useState(!1),u="horizontal"===e.orientation,c=q(()=>{if(o.viewport){let e=o.viewport.offsetWidth<o.viewport.scrollWidth,t=o.viewport.offsetHeight<o.viewport.scrollHeight;s(u?e:t)}},10);return Q(o.viewport,c),Q(o.content,c),(0,t.jsx)(d.Presence,{present:i||l,children:(0,t.jsx)(A,{"data-state":l?"visible":"hidden",...a,ref:n})})}),A=r.forwardRef((e,n)=>{let{orientation:o="vertical",...i}=e,a=x(P,e.__scopeScrollArea),l=r.useRef(null),s=r.useRef(0),[u,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=B(u.viewport,u.content),f={...i,sizes:u,onSizesChange:c,hasThumb:!!(d>0&&d<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return function(e,t,r,n="ltr"){let o=X(r),i=t||o/2,a=r.scrollbar.paddingStart+i,l=r.scrollbar.size-r.scrollbar.paddingEnd-(o-i),s=r.content-r.viewport;return Y([a,l],"ltr"===n?[0,s]:[-1*s,0])(e)}(e,s.current,u,t)}return"horizontal"===o?(0,t.jsx)(L,{...f,ref:n,onThumbPositionChange:()=>{if(a.viewport&&l.current){let e=V(a.viewport.scrollLeft,u,a.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=p(e,a.dir))}}):"vertical"===o?(0,t.jsx)(k,{...f,ref:n,onThumbPositionChange:()=>{if(a.viewport&&l.current){let e=V(a.viewport.scrollTop,u);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=p(e))}}):null}),L=r.forwardRef((e,n)=>{let{sizes:o,onSizesChange:i,...a}=e,l=x(P,e.__scopeScrollArea),[s,u]=r.useState(),c=r.useRef(null),d=(0,p.useComposedRefs)(n,c,l.onScrollbarXChange);return r.useEffect(()=>{c.current&&u(getComputedStyle(c.current))},[c]),(0,t.jsx)(D,{"data-orientation":"horizontal",...a,ref:d,sizes:o,style:{bottom:0,left:"rtl"===l.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===l.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":X(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(l.viewport){var n,o;let i=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),n=i,o=r,n>0&&n<o&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&i({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:$(s.paddingLeft),paddingEnd:$(s.paddingRight)}})}})}),k=r.forwardRef((e,n)=>{let{sizes:o,onSizesChange:i,...a}=e,l=x(P,e.__scopeScrollArea),[s,u]=r.useState(),c=r.useRef(null),d=(0,p.useComposedRefs)(n,c,l.onScrollbarYChange);return r.useEffect(()=>{c.current&&u(getComputedStyle(c.current))},[c]),(0,t.jsx)(D,{"data-orientation":"vertical",...a,ref:d,sizes:o,style:{top:0,right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":X(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(l.viewport){var n,o;let i=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),n=i,o=r,n>0&&n<o&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&i({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:$(s.paddingTop),paddingEnd:$(s.paddingBottom)}})}})}),[O,M]=w(P),D=r.forwardRef((e,n)=>{let{__scopeScrollArea:o,sizes:i,hasThumb:a,onThumbChange:l,onThumbPointerUp:s,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:v,onResize:g,...b}=e,w=x(P,o),[y,S]=r.useState(null),j=(0,p.useComposedRefs)(n,e=>S(e)),E=r.useRef(null),C=r.useRef(""),T=w.viewport,R=i.content-i.viewport,N=(0,h.useCallbackRef)(v),_=(0,h.useCallbackRef)(d),A=q(g,10);function L(e){E.current&&f({x:e.clientX-E.current.left,y:e.clientY-E.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;y?.contains(t)&&N(e,R)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[T,y,R,N]),r.useEffect(_,[i,_]),Q(y,A),Q(w.content,A),(0,t.jsx)(O,{scope:o,scrollbar:y,hasThumb:a,onThumbChange:(0,h.useCallbackRef)(l),onThumbPointerUp:(0,h.useCallbackRef)(s),onThumbPositionChange:_,onThumbPointerDown:(0,h.useCallbackRef)(u),children:(0,t.jsx)(c.Primitive.div,{...b,ref:j,style:{position:"absolute",...b.style},onPointerDown:(0,m.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),E.current=y.getBoundingClientRect(),C.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),L(e))}),onPointerMove:(0,m.composeEventHandlers)(e.onPointerMove,L),onPointerUp:(0,m.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=C.current,w.viewport&&(w.viewport.style.scrollBehavior=""),E.current=null})})})}),I="ScrollAreaThumb",z=r.forwardRef((e,r)=>{let{forceMount:n,...o}=e,i=M(I,e.__scopeScrollArea);return(0,t.jsx)(d.Presence,{present:n||i.hasThumb,children:(0,t.jsx)(U,{ref:r,...o})})}),U=r.forwardRef((e,n)=>{let{__scopeScrollArea:o,style:i,...a}=e,l=x(I,o),s=M(I,o),{onThumbPositionChange:u}=s,d=(0,p.useComposedRefs)(n,e=>s.onThumbChange(e)),f=r.useRef(void 0),h=q(()=>{f.current&&(f.current(),f.current=void 0)},100);return r.useEffect(()=>{let e=l.viewport;if(e){let t=()=>{h(),f.current||(f.current=K(e,u),u())};return u(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[l.viewport,h,u]),(0,t.jsx)(c.Primitive.div,{"data-state":s.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,m.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;s.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,m.composeEventHandlers)(e.onPointerUp,s.onThumbPointerUp)})});z.displayName=I;var F="ScrollAreaCorner",H=r.forwardRef((e,r)=>{let n=x(F,e.__scopeScrollArea),o=!!(n.scrollbarX&&n.scrollbarY);return"scroll"!==n.type&&o?(0,t.jsx)(W,{...e,ref:r}):null});H.displayName=F;var W=r.forwardRef((e,n)=>{let{__scopeScrollArea:o,...i}=e,a=x(F,o),[l,s]=r.useState(0),[u,d]=r.useState(0),f=!!(l&&u);return Q(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),d(e)}),Q(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),s(e)}),f?(0,t.jsx)(c.Primitive.div,{...i,ref:n,style:{width:l,height:u,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null});function $(e){return e?parseInt(e,10):0}function B(e,t){let r=e/t;return isNaN(r)?0:r}function X(e){let t=B(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function V(e,t,r="ltr"){let n=X(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,a=t.content-t.viewport,l=function(e,[t,r]){return Math.min(r,Math.max(t,e))}(e,"ltr"===r?[0,a]:[-1*a,0]);return Y([0,a],[0,i-n])(l)}function Y(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var K=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let i={left:e.scrollLeft,top:e.scrollTop},a=r.left!==i.left,l=r.top!==i.top;(a||l)&&t(),r=i,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function q(e,t){let n=(0,h.useCallbackRef)(e),o=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(o.current),[]),r.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(n,t)},[n,t])}function Q(e,t){let r=(0,h.useCallbackRef)(t);(0,g.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}e.s(["Corner",()=>H,"Root",()=>j,"ScrollArea",()=>j,"ScrollAreaCorner",()=>H,"ScrollAreaScrollbar",()=>T,"ScrollAreaThumb",()=>z,"ScrollAreaViewport",()=>C,"Scrollbar",()=>T,"Thumb",()=>z,"Viewport",()=>C,"createScrollAreaScope",()=>y],87516);var G=e.i(87516),G=G,J=e.i(31777);function Z({className:e,children:r,...n}){return(0,t.jsxs)(G.Root,{"data-slot":"scroll-area",className:(0,J.cn)("relative",e),...n,children:[(0,t.jsx)(G.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",children:r}),(0,t.jsx)(ee,{}),(0,t.jsx)(G.Corner,{})]})}function ee({className:e,orientation:r="vertical",...n}){return(0,t.jsx)(G.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,J.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...n,children:(0,t.jsx)(G.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}e.i(90491);var et=e.i(90798);e.i(85462);var er=e.i(26506);e.i(92233);var en=e.i(10025);e.i(8356);var eo=e.i(71045);e.i(78788);var ei=e.i(91495);e.i(72028);var ea=e.i(41506),el=e.i(40327),es=e.i(63629);function eu({features:e,onNewFeature:i,onFeatureClick:c,onFeaturesFolderClick:d,onFeaturesMenuClick:f}){let p=(0,o.usePathname)(),{state:h}=(0,n.useSidebar)(),{mounted:v,visible:g}=function(e,t){let[n,o]=(0,r.useState)(!e),[i,a]=(0,r.useState)(!e);return(0,r.useEffect)(()=>{if(!e){o(!0);let e=requestAnimationFrame(()=>a(!0));return()=>cancelAnimationFrame(e)}a(!1);let t=window.setTimeout(()=>o(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:n,visible:i}}("collapsed"===h,0),m=el.featureStatusOrder.map(t=>{let{label:r}=el.featureStatusConfig[t],n=e.filter(e=>e.status===t);return{key:t,label:r,items:n}});return(0,t.jsxs)(n.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,t.jsx)(n.SidebarHeader,{children:(0,t.jsxs)(n.SidebarMenu,{children:[(0,t.jsx)(n.SidebarMenuItem,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[v?(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",g?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!g,children:[(0,t.jsx)(en.ShepLogo,{className:"shrink-0",size:20}),(0,t.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,t.jsx)(er.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(et.SidebarNavItem,{icon:a,label:"Control Center",href:"/",active:"/"===p}),(0,t.jsx)(et.SidebarNavItem,{icon:l.Wrench,label:"Tools",href:"/tools",active:"/tools"===p}),es.featureFlags.skills?(0,t.jsx)(et.SidebarNavItem,{icon:s.Puzzle,label:"Skills",href:"/skills",active:"/skills"===p}):null]})}),(0,t.jsx)(n.SidebarContent,{children:v?(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",g?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(ea.SidebarSectionHeader,{label:"Features",onFolderClick:d,onMenuClick:f}),(0,t.jsx)(Z,{children:m.map(({key:e,label:r,items:n})=>n.length>0?(0,t.jsx)(ei.FeatureStatusGroup,{label:r,count:n.length,children:n.map(e=>(0,t.jsx)(eo.FeatureListItem,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,onClick:c?()=>c(e.name):void 0},e.name))},e):null)})]}):null}),(0,t.jsx)(n.SidebarFooter,{children:(0,t.jsx)(n.SidebarMenu,{children:(0,t.jsx)(n.SidebarMenuItem,{children:(0,t.jsxs)(n.SidebarMenuButton,{onClick:i,tooltip:"New feature",children:[(0,t.jsx)(u.Plus,{}),(0,t.jsx)("span",{children:"New feature"})]})})})}),(0,t.jsx)(n.SidebarRail,{})]})}e.i(1354);var ec=e.i(17845);e.i(53777);var ed=e.i(25732);let ef=(0,i.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"}]]),ep=(0,i.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 eh=e.i(35364),ev=e.i(73709);function eg(){let{enabled:e,toggle:r}=(0,ev.useSoundEnabled)();return(0,t.jsxs)(eh.Button,{variant:"ghost",size:"icon",onClick:r,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,t.jsx)(ef,{className:"h-5 w-5"}):(0,t.jsx)(ep,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var em=e.i(39443),eb=e.i(60112),ew=e.i(17406),ey=e.i(8361);let eS={[ew.NotificationSeverity.Success]:"success",[ew.NotificationSeverity.Error]:"error",[ew.NotificationSeverity.Warning]:"warning",[ew.NotificationSeverity.Info]:"info"},ex={[ew.NotificationSeverity.Success]:"notification-success",[ew.NotificationSeverity.Error]:"notification-error",[ew.NotificationSeverity.Warning]:"notification-warning",[ew.NotificationSeverity.Info]:"notification-info"};function ej({children:e}){!function(){let{events:e}=(0,em.useAgentEventsContext)(),t=(0,ey.useSoundAction)("notification-success"),n=(0,ey.useSoundAction)("notification-error"),o=(0,ey.useSoundAction)("notification-warning"),i=(0,ey.useSoundAction)("notification-info"),a=(0,r.useMemo)(()=>({"notification-success":t,"notification-error":n,"notification-warning":o,"notification-info":i}),[t,n,o,i]),[l,s]=(0,r.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),u=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(e.length<=u.current)return;let t=e.slice(u.current);for(let r of(u.current=e.length,t)){if(r.severity!==ew.NotificationSeverity.Error&&r.severity!==ew.NotificationSeverity.Warning&&r.severity!==ew.NotificationSeverity.Success)continue;!function(e){let t=eS[e.severity]??"info",r=e.eventType===ew.NotificationEventType.WaitingApproval;eb.toast[t](e.featureName,{description:e.message,...r&&{action:{label:"Review",onClick:()=>{window.dispatchEvent(new CustomEvent("shep:select-feature",{detail:{featureId:e.featureId}}))}}}})}(r),globalThis.Notification?.permission==="granted"&&new Notification(`Shep: ${r.featureName}`,{body:r.message,icon:"/favicon-light.svg"});let e=ex[r.severity];a[e]?.play()}},[e,a]),(0,r.useCallback)(async()=>{void 0===globalThis.Notification||s(await globalThis.Notification.requestPermission())},[])}();let o=(0,r.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]),i=(0,r.useCallback)(e=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))},[]);return(0,t.jsxs)(n.SidebarProvider,{children:[(0,t.jsx)(eu,{features:[],onNewFeature:o}),(0,t.jsx)(n.SidebarInset,{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",children:[(0,t.jsx)(ec.AddRepositoryButton,{onSelect:i}),(0,t.jsx)(eg,{}),(0,t.jsx)(ed.ThemeToggle,{})]}),(0,t.jsx)("main",{className:"h-full",children:e})]})})]})}function eE({children:e}){return(0,t.jsx)(em.AgentEventsProvider,{children:(0,t.jsx)(ej,{children:e})})}e.s(["AppShell",()=>eE],87292)},25251,e=>{"use strict";var t=e.i(20314),r=e.i(60112);let n=({...e})=>(0,t.jsx)(r.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",()=>n])}]);