@shepai/cli 1.77.2-pr240.88b3534 → 1.77.2-pr243.1fc63c3

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 (536) hide show
  1. package/apis/json-schema/AgentRun.yaml +3 -0
  2. package/apis/json-schema/ModelConfiguration.yaml +5 -20
  3. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts +8 -0
  4. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +1 -0
  6. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +1 -0
  9. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +9 -2
  11. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +4 -0
  12. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  14. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +2 -0
  15. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts +3 -3
  16. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  17. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +5 -8
  18. package/dist/packages/core/src/domain/generated/output.d.ts +7 -15
  19. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.d.ts +1 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.js +2 -0
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +8 -10
  26. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +22 -3
  28. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.js +2 -2
  29. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
  31. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts +8 -0
  32. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  33. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +37 -0
  34. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  35. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +3 -2
  36. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +3 -2
  38. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.js +3 -2
  40. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts +1 -0
  41. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts.map +1 -1
  42. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.js +3 -0
  43. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +5 -0
  44. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  45. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +17 -0
  46. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  47. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +1 -0
  48. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
  49. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +3 -0
  50. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +1 -0
  51. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  52. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +35 -8
  53. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.d.ts +17 -0
  54. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.d.ts.map +1 -0
  55. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.js +21 -0
  56. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  57. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +4 -2
  58. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +1 -0
  59. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  60. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +4 -0
  61. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts +1 -1
  62. package/dist/packages/core/src/infrastructure/services/settings.service.js +1 -1
  63. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  64. package/dist/src/presentation/cli/commands/feat/new.command.js +2 -0
  65. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  66. package/dist/src/presentation/cli/commands/feat/show.command.js +13 -0
  67. package/dist/src/presentation/cli/commands/settings/index.d.ts +1 -0
  68. package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
  69. package/dist/src/presentation/cli/commands/settings/index.js +4 -1
  70. package/dist/src/presentation/cli/commands/settings/model.command.d.ts +17 -0
  71. package/dist/src/presentation/cli/commands/settings/model.command.d.ts.map +1 -0
  72. package/dist/src/presentation/cli/commands/settings/model.command.js +62 -0
  73. package/dist/src/presentation/cli/ui/tables.d.ts.map +1 -1
  74. package/dist/src/presentation/cli/ui/tables.js +6 -23
  75. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.d.ts.map +1 -1
  76. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.js +3 -1
  77. package/dist/src/presentation/web/app/actions/create-feature.d.ts +4 -0
  78. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  79. package/dist/src/presentation/web/app/actions/create-feature.js +5 -1
  80. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts +12 -0
  81. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -0
  82. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +49 -0
  83. package/dist/src/presentation/web/app/actions/get-supported-models.d.ts +11 -0
  84. package/dist/src/presentation/web/app/actions/get-supported-models.d.ts.map +1 -0
  85. package/dist/src/presentation/web/app/actions/get-supported-models.js +24 -0
  86. package/dist/src/presentation/web/app/actions/update-agent-and-model.d.ts +5 -0
  87. package/dist/src/presentation/web/app/actions/update-agent-and-model.d.ts.map +1 -0
  88. package/dist/src/presentation/web/app/actions/update-agent-and-model.js +28 -0
  89. package/dist/src/presentation/web/app/actions/update-model.d.ts +15 -0
  90. package/dist/src/presentation/web/app/actions/update-model.d.ts.map +1 -0
  91. package/dist/src/presentation/web/app/actions/update-model.js +35 -0
  92. package/dist/src/presentation/web/app/api/agent-events/route.js +1 -1
  93. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
  94. package/dist/src/presentation/web/app/build-feature-node-data.js +1 -0
  95. package/dist/src/presentation/web/app/build-graph-nodes.js +1 -0
  96. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts +3 -1
  97. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
  98. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +2 -2
  99. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  100. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +2 -4
  101. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +9 -1
  102. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  103. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +29 -4
  104. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +5 -0
  105. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  106. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +32 -3
  107. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.d.ts.map +1 -1
  108. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.js +0 -2
  109. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts +3 -1
  110. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts.map +1 -1
  111. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +6 -2
  112. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +1 -0
  113. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -1
  114. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.js +15 -0
  115. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +2 -0
  116. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  117. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +11 -2
  118. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  119. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +2 -3
  120. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +3 -1
  121. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  122. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +0 -4
  123. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  124. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +14 -15
  125. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +0 -1
  126. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  127. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +19 -23
  128. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  129. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +2 -0
  130. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +12 -0
  131. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -0
  132. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +59 -0
  133. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts +11 -0
  134. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -0
  135. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +103 -0
  136. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts +24 -0
  137. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts.map +1 -0
  138. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.js +53 -0
  139. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts +18 -0
  140. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts.map +1 -0
  141. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +84 -0
  142. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  143. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +7 -21
  144. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +2 -0
  145. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  146. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +1 -1
  147. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  148. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +28 -3
  149. package/dist/src/presentation/web/components/ui/checkbox-group-item.js +1 -1
  150. package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
  151. package/dist/src/presentation/web/components/ui/command.d.ts +19 -0
  152. package/dist/src/presentation/web/components/ui/command.d.ts.map +1 -0
  153. package/dist/src/presentation/web/components/ui/command.js +26 -0
  154. package/dist/src/presentation/web/components/ui/switch.js +1 -1
  155. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts +2 -0
  156. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  157. package/dist/src/presentation/web/lib/model-metadata.d.ts +6 -0
  158. package/dist/src/presentation/web/lib/model-metadata.d.ts.map +1 -0
  159. package/dist/src/presentation/web/lib/model-metadata.js +41 -0
  160. package/dist/tsconfig.build.tsbuildinfo +1 -1
  161. package/package.json +1 -1
  162. package/web/.next/BUILD_ID +1 -1
  163. package/web/.next/build-manifest.json +4 -4
  164. package/web/.next/cache/.previewinfo +1 -1
  165. package/web/.next/cache/.rscinfo +1 -1
  166. package/web/.next/cache/.tsbuildinfo +1 -1
  167. package/web/.next/cache/config.json +3 -3
  168. package/web/.next/fallback-build-manifest.json +2 -2
  169. package/web/.next/prerender-manifest.json +3 -3
  170. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  171. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +62 -32
  172. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  173. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  174. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  175. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  176. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  177. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  178. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  179. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  180. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  181. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  182. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  183. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  184. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +62 -32
  185. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  186. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  187. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  188. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  189. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  190. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  191. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  192. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  193. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  194. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  195. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  196. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  197. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  198. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  199. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  200. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  201. package/web/.next/server/app/_global-error.html +2 -2
  202. package/web/.next/server/app/_global-error.rsc +1 -1
  203. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  204. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  205. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  206. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  207. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  208. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  209. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  210. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  211. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  212. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  213. package/web/.next/server/app/settings/page/server-reference-manifest.json +36 -6
  214. package/web/.next/server/app/settings/page.js +2 -2
  215. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  216. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  217. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  218. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  219. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  220. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  221. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  222. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  223. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  224. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  225. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  226. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  227. package/web/.next/server/app/version/page.js.nft.json +1 -1
  228. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  229. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  230. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  231. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
  232. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  233. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  234. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js +3 -0
  235. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js.map +1 -0
  236. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  237. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
  238. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  239. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
  240. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  241. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  242. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  243. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +4 -0
  244. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js.map +1 -0
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  246. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +3 -0
  248. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js.map +1 -0
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
  252. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js +3 -0
  254. package/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js.map +1 -0
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/_04968d9f._.js +3 -0
  260. package/web/.next/server/chunks/ssr/_04968d9f._.js.map +1 -0
  261. package/web/.next/server/chunks/ssr/_0bd0fafb._.js +9 -0
  262. package/web/.next/server/chunks/ssr/_0bd0fafb._.js.map +1 -0
  263. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  264. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -1
  265. package/web/.next/server/chunks/ssr/_14fa79b2._.js +3 -0
  266. package/web/.next/server/chunks/ssr/_14fa79b2._.js.map +1 -0
  267. package/web/.next/server/chunks/ssr/_16235e5e._.js +1 -1
  268. package/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  269. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -1
  270. package/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  271. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
  272. package/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  273. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -1
  274. package/web/.next/server/chunks/ssr/{_6645f218._.js → _8dacd1e7._.js} +2 -2
  275. package/web/.next/server/chunks/ssr/{_6645f218._.js.map → _8dacd1e7._.js.map} +1 -1
  276. package/web/.next/server/chunks/ssr/_9ac70f88._.js +5 -0
  277. package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +1 -0
  278. package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  279. package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
  280. package/web/.next/server/chunks/ssr/{_88c4dab8._.js → _b5fc318a._.js} +2 -2
  281. package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +1 -0
  282. package/web/.next/server/chunks/ssr/_ba1ec9b2._.js +3 -0
  283. package/web/.next/server/chunks/ssr/_ba1ec9b2._.js.map +1 -0
  284. package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  285. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  286. package/web/.next/server/chunks/ssr/{_2557e3df._.js → _e3da8cc8._.js} +2 -2
  287. package/web/.next/server/chunks/ssr/{_2557e3df._.js.map → _e3da8cc8._.js.map} +1 -1
  288. package/web/.next/server/chunks/ssr/_ed356507._.js +3 -0
  289. package/web/.next/server/chunks/ssr/{_5428b384._.js.map → _ed356507._.js.map} +1 -1
  290. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  291. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js +3 -0
  293. package/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js.map +1 -0
  294. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  295. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  297. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  299. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  301. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  303. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  304. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  305. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -1
  306. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +6 -0
  307. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js.map +1 -0
  308. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  309. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  311. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +6 -0
  313. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js.map +1 -0
  314. package/web/.next/server/middleware-build-manifest.js +2 -2
  315. package/web/.next/server/pages/500.html +2 -2
  316. package/web/.next/server/server-reference-manifest.js +1 -1
  317. package/web/.next/server/server-reference-manifest.json +117 -59
  318. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  319. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +4 -4
  320. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  321. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  322. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +62 -32
  323. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  324. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  325. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  326. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  327. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  328. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  329. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  330. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  331. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  332. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  333. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  334. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  335. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +62 -32
  336. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +1 -1
  337. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  338. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  339. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  340. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  341. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  342. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  343. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  344. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  345. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  346. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  347. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  348. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  349. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  350. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  351. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  352. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  353. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  354. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  355. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  356. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  357. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  358. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  359. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  360. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  361. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  362. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  363. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/build-manifest.json +2 -2
  364. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/server-reference-manifest.json +36 -6
  365. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js +2 -2
  366. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.nft.json +1 -1
  367. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  368. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +2 -2
  369. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  370. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  371. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  372. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +2 -2
  373. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  374. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  375. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  376. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +2 -2
  377. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  378. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  379. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  380. package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  381. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
  382. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  383. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js +3 -0
  384. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  385. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  386. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  387. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  388. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +4 -0
  389. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  390. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +3 -0
  391. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
  392. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
  393. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js +3 -0
  394. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  395. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  396. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_04968d9f._.js +3 -0
  397. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0bd0fafb._.js +9 -0
  398. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  399. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_14fa79b2._.js +3 -0
  400. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_16235e5e._.js +1 -1
  401. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  402. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  403. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  404. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_6645f218._.js → _8dacd1e7._.js} +2 -2
  405. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9ac70f88._.js +5 -0
  406. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  407. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_88c4dab8._.js → _b5fc318a._.js} +2 -2
  408. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ba1ec9b2._.js +3 -0
  409. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  410. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_2557e3df._.js → _e3da8cc8._.js} +2 -2
  411. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ed356507._.js +3 -0
  412. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  413. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js +3 -0
  414. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  415. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  416. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  417. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  418. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  419. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  420. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +6 -0
  421. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  422. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  423. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +6 -0
  424. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +2 -2
  425. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  426. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  427. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +117 -59
  428. package/web/.next/standalone/src/presentation/web/app/(dashboard)/@drawer/create/page.tsx +4 -0
  429. package/web/.next/standalone/src/presentation/web/app/actions/create-feature.ts +20 -2
  430. package/web/.next/standalone/src/presentation/web/app/actions/get-all-agent-models.ts +65 -0
  431. package/web/.next/standalone/src/presentation/web/app/actions/get-supported-models.ts +26 -0
  432. package/web/.next/standalone/src/presentation/web/app/actions/update-agent-and-model.ts +41 -0
  433. package/web/.next/standalone/src/presentation/web/app/actions/update-model.ts +45 -0
  434. package/web/.next/standalone/src/presentation/web/app/api/agent-events/route.ts +1 -1
  435. package/web/.next/standalone/src/presentation/web/app/build-feature-node-data.ts +1 -0
  436. package/web/.next/standalone/src/presentation/web/app/build-graph-nodes.ts +1 -0
  437. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx +6 -0
  438. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/drawer-view.ts +2 -10
  439. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx +56 -0
  440. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +238 -118
  441. package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.stories.tsx +0 -2
  442. package/web/.next/standalone/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.tsx +16 -0
  443. package/web/.next/standalone/src/presentation/web/components/common/feature-list-item/feature-list-item.tsx +33 -0
  444. package/web/.next/standalone/src/presentation/web/components/common/feature-node/agent-type-icons.tsx +54 -2
  445. package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +2 -3
  446. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node-state-config.ts +2 -6
  447. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.stories.tsx +19 -24
  448. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.tsx +43 -24
  449. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +4 -0
  450. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.tsx +72 -0
  451. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/index.tsx +228 -0
  452. package/web/.next/standalone/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.tsx +64 -0
  453. package/web/.next/standalone/src/presentation/web/components/features/settings/ModelPicker/index.tsx +167 -0
  454. package/web/.next/standalone/src/presentation/web/components/features/settings/settings-page-client.tsx +25 -41
  455. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx +28 -3
  456. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +4 -0
  457. package/web/.next/standalone/src/presentation/web/components/ui/checkbox-group-item.tsx +1 -1
  458. package/web/.next/standalone/src/presentation/web/components/ui/checkbox-group.tsx +1 -1
  459. package/web/.next/standalone/src/presentation/web/components/ui/command.tsx +114 -0
  460. package/web/.next/standalone/src/presentation/web/components/ui/switch.tsx +1 -1
  461. package/web/.next/standalone/src/presentation/web/hooks/sidebar-features-context.tsx +2 -0
  462. package/web/.next/standalone/src/presentation/web/lib/model-metadata.ts +51 -0
  463. package/web/.next/static/chunks/007be9fab4adea42.js +1 -0
  464. package/web/.next/static/chunks/{25a8e4460619670a.js → 34eb9cda9da722b6.js} +1 -1
  465. package/web/.next/static/chunks/{6205ca0c28401b31.js → 3790f4bb02b9f6e0.js} +2 -2
  466. package/web/.next/static/chunks/42bd17823c7f41a1.css +2 -0
  467. package/web/.next/static/chunks/{5ea9cc400337eeae.js → 494800b05a910e69.js} +1 -1
  468. package/web/.next/static/chunks/4b652ede9c20379c.js +1 -0
  469. package/web/.next/static/chunks/{f8e33bd4c6770071.js → 4d09dc48abcae1fd.js} +1 -1
  470. package/web/.next/static/chunks/51454a23ce051ec9.js +1 -0
  471. package/web/.next/static/chunks/{3f88555d42e6c0a5.js → 596adcd6a1f862cc.js} +1 -1
  472. package/web/.next/static/chunks/{98e3a7cf58fc912a.js → 672e3da3ad26005b.js} +1 -1
  473. package/web/.next/static/chunks/70b820a4be378635.js +1 -0
  474. package/web/.next/static/chunks/7acc79e599df9890.js +1 -0
  475. package/web/.next/static/chunks/{36d88ff9f7db4eb9.js → 876edf7bbd901942.js} +1 -1
  476. package/web/.next/static/chunks/8f122c3ac2102300.js +11 -0
  477. package/web/.next/static/chunks/96ba74ac76fe6826.js +1 -0
  478. package/web/.next/static/chunks/a1ddf1f9b1435434.js +3 -0
  479. package/web/.next/static/chunks/b5696d211be51b4d.js +1 -0
  480. package/web/.next/static/chunks/c8b2868ae430a586.js +1 -0
  481. package/web/.next/static/chunks/dfcdd7e8249e47fd.js +1 -0
  482. package/web/.next/static/chunks/{89aac43287d73b02.js → ed3a602003bcb31b.js} +1 -1
  483. package/web/.next/static/chunks/{turbopack-080e470ea902d0ba.js → turbopack-426d9bc2450816ba.js} +1 -1
  484. package/web/.next/trace +1 -1
  485. package/web/.next/trace-build +1 -1
  486. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  487. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js.map +0 -1
  488. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  489. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js.map +0 -1
  490. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  491. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js.map +0 -1
  492. package/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  493. package/web/.next/server/chunks/ssr/_4093a637._.js.map +0 -1
  494. package/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  495. package/web/.next/server/chunks/ssr/_88c4dab8._.js.map +0 -1
  496. package/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  497. package/web/.next/server/chunks/ssr/_956601a1._.js.map +0 -1
  498. package/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  499. package/web/.next/server/chunks/ssr/_c26c679f._.js.map +0 -1
  500. package/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  501. package/web/.next/server/chunks/ssr/_caf6533c._.js.map +0 -1
  502. package/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  503. package/web/.next/server/chunks/ssr/_f7f6173c._.js.map +0 -1
  504. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  505. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +0 -1
  506. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +0 -6
  507. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js.map +0 -1
  508. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +0 -6
  509. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js.map +0 -1
  510. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  511. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  512. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  513. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  514. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  515. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  516. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  517. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  518. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  519. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  520. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +0 -6
  521. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +0 -6
  522. package/web/.next/static/chunks/0d1285175b320302.js +0 -1
  523. package/web/.next/static/chunks/146c0a7697bc5a5c.js +0 -1
  524. package/web/.next/static/chunks/16c1db929d7ed3c9.js +0 -1
  525. package/web/.next/static/chunks/18deef44e5e36e2b.js +0 -3
  526. package/web/.next/static/chunks/3479d6ae297e5410.css +0 -2
  527. package/web/.next/static/chunks/700501f5ac2bb320.js +0 -1
  528. package/web/.next/static/chunks/730cb306a35d6396.js +0 -1
  529. package/web/.next/static/chunks/907556417091ee06.js +0 -11
  530. package/web/.next/static/chunks/aa6cc6df962a3fc0.js +0 -3
  531. package/web/.next/static/chunks/c63d1c145c5a07dc.js +0 -1
  532. package/web/.next/static/chunks/fc00e1b83852da4e.js +0 -1
  533. package/web/.next/static/chunks/fe80866e23f343eb.js +0 -1
  534. /package/web/.next/static/{x8A1bt8tX5vg9IpB1ksif → r7LAkVhSBzOwbRx2bcqLy}/_buildManifest.js +0 -0
  535. /package/web/.next/static/{x8A1bt8tX5vg9IpB1ksif → r7LAkVhSBzOwbRx2bcqLy}/_clientMiddlewareManifest.json +0 -0
  536. /package/web/.next/static/{x8A1bt8tX5vg9IpB1ksif → r7LAkVhSBzOwbRx2bcqLy}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98127,t=>{"use strict";var e=t.i(20314),a=t.i(31777);function o({className:t,type:o,...r}){return(0,e.jsx)("input",{type:o,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...r})}t.s(["Input",()=>o])},60112,t=>{"use strict";var e=t.i(79054),a=t.i(26036);let o=Array(12).fill(0),r=({visible:t,className:a})=>e.default.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":t},e.default.createElement("div",{className:"sonner-spinner"},o.map((t,a)=>e.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),n=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),s=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),i=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),l=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),d=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},e.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),u=1,c=new class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...o}=t,r="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:u++,n=this.toasts.find(t=>t.id===r),s=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),n?this.toasts=this.toasts.map(e=>e.id===r?(this.publish({...e,...t,id:r,title:a}),{...e,...t,id:r,dismissible:s,title:a}):e):this.addToast({title:a,...o,dismissible:s,id:r}),r},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:t,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,a)=>{let o,r;if(!a)return;void 0!==a.loading&&(r=this.create({...a,promise:t,type:"loading",message:a.loading,description:"function"!=typeof a.description?a.description:void 0}));let n=Promise.resolve(t instanceof Function?t():t),s=void 0!==r,i=n.then(async t=>{if(o=["resolve",t],e.default.isValidElement(t))s=!1,this.create({id:r,type:"default",message:t});else if(f(t)&&!t.ok){s=!1;let o="function"==typeof a.error?await a.error(`HTTP error! status: ${t.status}`):a.error,n="function"==typeof a.description?await a.description(`HTTP error! status: ${t.status}`):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}else if(t instanceof Error){s=!1;let o="function"==typeof a.error?await a.error(t):a.error,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}else if(void 0!==a.success){s=!1;let o="function"==typeof a.success?await a.success(t):a.success,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"success",description:n,...i})}}).catch(async t=>{if(o=["reject",t],void 0!==a.error){s=!1;let o="function"==typeof a.error?await a.error(t):a.error,n="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof o||e.default.isValidElement(o)?{message:o}:o;this.create({id:r,type:"error",description:n,...i})}}).finally(()=>{s&&(this.dismiss(r),r=void 0),null==a.finally||a.finally.call(a)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===o[0]?e(o[1]):t(o[1])).catch(e));return"string"!=typeof r&&"number"!=typeof r?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||u++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=t=>t&&"object"==typeof t&&"ok"in t&&"boolean"==typeof t.ok&&"status"in t&&"number"==typeof t.status,m=Object.assign((t,e)=>{let a=(null==e?void 0:e.id)||u++;return c.addToast({title:t,...e,id:a}),a},{success:c.success,info:c.info,warning:c.warning,error:c.error,custom:c.custom,message:c.message,promise:c.promise,dismiss:c.dismiss,loading:c.loading},{getHistory:()=>c.toasts,getToasts:()=>c.getActiveToasts()});function p(t){return void 0!==t.label}function g(...t){return t.filter(Boolean).join(" ")}!function(t){if(!t||"u"<typeof document)return;let e=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",e.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let h=t=>{var a,o,u,c,f,m,h,b,v,y,x,w,E;let{invert:k,toast:N,unstyled:T,interacting:M,setHeights:S,visibleToasts:B,heights:C,index:j,toasts:z,expanded:R,removeToast:Y,defaultRichColors:D,closeButton:I,style:P,cancelButtonStyle:$,actionButtonStyle:A,className:L="",descriptionClassName:H="",duration:V,position:U,gap:X,expandByDefault:O,classNames:F,icons:K,closeButtonAriaLabel:q="Close toast"}=t,[W,G]=e.default.useState(null),[J,Q]=e.default.useState(null),[Z,_]=e.default.useState(!1),[tt,te]=e.default.useState(!1),[ta,to]=e.default.useState(!1),[tr,tn]=e.default.useState(!1),[ts,ti]=e.default.useState(!1),[tl,td]=e.default.useState(0),[tu,tc]=e.default.useState(0),tf=e.default.useRef(N.duration||V||4e3),tm=e.default.useRef(null),tp=e.default.useRef(null),tg=0===j,th=j+1<=B,tb=N.type,tv=!1!==N.dismissible,ty=N.className||"",tx=N.descriptionClassName||"",tw=e.default.useMemo(()=>C.findIndex(t=>t.toastId===N.id)||0,[C,N.id]),tE=e.default.useMemo(()=>{var t;return null!=(t=N.closeButton)?t:I},[N.closeButton,I]),tk=e.default.useMemo(()=>N.duration||V||4e3,[N.duration,V]),tN=e.default.useRef(0),tT=e.default.useRef(0),tM=e.default.useRef(0),tS=e.default.useRef(null),[tB,tC]=U.split("-"),tj=e.default.useMemo(()=>C.reduce((t,e,a)=>a>=tw?t:t+e.height,0),[C,tw]),tz=(()=>{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})(),tR=N.invert||k,tY="loading"===tb;tT.current=e.default.useMemo(()=>tw*X+tj,[tw,tj]),e.default.useEffect(()=>{tf.current=tk},[tk]),e.default.useEffect(()=>{_(!0)},[]),e.default.useEffect(()=>{let t=tp.current;if(t){let e=t.getBoundingClientRect().height;return tc(e),S(t=>[{toastId:N.id,height:e,position:N.position},...t]),()=>S(t=>t.filter(t=>t.toastId!==N.id))}},[S,N.id]),e.default.useLayoutEffect(()=>{if(!Z)return;let t=tp.current,e=t.style.height;t.style.height="auto";let a=t.getBoundingClientRect().height;t.style.height=e,tc(a),S(t=>t.find(t=>t.toastId===N.id)?t.map(t=>t.toastId===N.id?{...t,height:a}:t):[{toastId:N.id,height:a,position:N.position},...t])},[Z,N.title,N.description,S,N.id,N.jsx,N.action,N.cancel]);let tD=e.default.useCallback(()=>{te(!0),td(tT.current),S(t=>t.filter(t=>t.toastId!==N.id)),setTimeout(()=>{Y(N)},200)},[N,Y,S,tT]);e.default.useEffect(()=>{let t;if((!N.promise||"loading"!==tb)&&N.duration!==1/0&&"loading"!==N.type){if(R||M||tz){if(tM.current<tN.current){let t=new Date().getTime()-tN.current;tf.current=tf.current-t}tM.current=new Date().getTime()}else tf.current!==1/0&&(tN.current=new Date().getTime(),t=setTimeout(()=>{null==N.onAutoClose||N.onAutoClose.call(N,N),tD()},tf.current));return()=>clearTimeout(t)}},[R,M,N,tb,tz,tD]),e.default.useEffect(()=>{N.delete&&(tD(),null==N.onDismiss||N.onDismiss.call(N,N))},[tD,N.delete]);let tI=N.icon||(null==K?void 0:K[tb])||(t=>{switch(t){case"success":return n;case"info":return i;case"warning":return s;case"error":return l;default:return null}})(tb);return e.default.createElement("li",{tabIndex:0,ref:tp,className:g(L,ty,null==F?void 0:F.toast,null==N||null==(a=N.classNames)?void 0:a.toast,null==F?void 0:F.default,null==F?void 0:F[tb],null==N||null==(o=N.classNames)?void 0:o[tb]),"data-sonner-toast":"","data-rich-colors":null!=(y=N.richColors)?y:D,"data-styled":!(N.jsx||N.unstyled||T),"data-mounted":Z,"data-promise":!!N.promise,"data-swiped":ts,"data-removed":tt,"data-visible":th,"data-y-position":tB,"data-x-position":tC,"data-index":j,"data-front":tg,"data-swiping":ta,"data-dismissible":tv,"data-type":tb,"data-invert":tR,"data-swipe-out":tr,"data-swipe-direction":J,"data-expanded":!!(R||O&&Z),"data-testid":N.testId,style:{"--index":j,"--toasts-before":j,"--z-index":z.length-j,"--offset":`${tt?tl:tT.current}px`,"--initial-height":O?"auto":`${tu}px`,...P,...N.style},onDragEnd:()=>{to(!1),G(null),tS.current=null},onPointerDown:t=>{2===t.button||tY||!tv||(tm.current=new Date,td(tT.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&(to(!0),tS.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,o,r;if(tr||!tv)return;tS.current=null;let n=Number((null==(t=tp.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(e=tp.current)?void 0:e.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=tm.current)?void 0:a.getTime()),l="x"===W?n:s,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){td(tT.current),null==N.onDismiss||N.onDismiss.call(N,N),"x"===W?Q(n>0?"right":"left"):Q(s>0?"down":"up"),tD(),tn(!0);return}null==(o=tp.current)||o.style.setProperty("--swipe-amount-x","0px"),null==(r=tp.current)||r.style.setProperty("--swipe-amount-y","0px"),ti(!1),to(!1),G(null)},onPointerMove:e=>{var a,o,r,n;if(!tS.current||!tv||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=e.clientY-tS.current.y,i=e.clientX-tS.current.x,l=null!=(n=t.swipeDirections)?n:function(t){let[e,a]=t.split("-"),o=[];return e&&o.push(e),a&&o.push(a),o}(U);!W&&(Math.abs(i)>1||Math.abs(s)>1)&&G(Math.abs(i)>Math.abs(s)?"x":"y");let d={x:0,y:0},u=t=>1/(1.5+Math.abs(t)/20);if("y"===W){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)d.y=s;else{let t=s*u(s);d.y=Math.abs(t)<Math.abs(s)?t:s}}else if("x"===W&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)d.x=i;else{let t=i*u(i);d.x=Math.abs(t)<Math.abs(i)?t:i}(Math.abs(d.x)>0||Math.abs(d.y)>0)&&ti(!0),null==(o=tp.current)||o.style.setProperty("--swipe-amount-x",`${d.x}px`),null==(r=tp.current)||r.style.setProperty("--swipe-amount-y",`${d.y}px`)}},tE&&!N.jsx&&"loading"!==tb?e.default.createElement("button",{"aria-label":q,"data-disabled":tY,"data-close-button":!0,onClick:tY||!tv?()=>{}:()=>{tD(),null==N.onDismiss||N.onDismiss.call(N,N)},className:g(null==F?void 0:F.closeButton,null==N||null==(u=N.classNames)?void 0:u.closeButton)},null!=(x=null==K?void 0:K.close)?x:d):null,(tb||N.icon||N.promise)&&null!==N.icon&&((null==K?void 0:K[tb])!==null||N.icon)?e.default.createElement("div",{"data-icon":"",className:g(null==F?void 0:F.icon,null==N||null==(c=N.classNames)?void 0:c.icon)},N.promise||"loading"===N.type&&!N.icon?N.icon||((null==K?void 0:K.loading)?e.default.createElement("div",{className:g(null==F?void 0:F.loader,null==N||null==(E=N.classNames)?void 0:E.loader,"sonner-loader"),"data-visible":"loading"===tb},K.loading):e.default.createElement(r,{className:g(null==F?void 0:F.loader,null==N||null==(w=N.classNames)?void 0:w.loader),visible:"loading"===tb})):null,"loading"!==N.type?tI:null):null,e.default.createElement("div",{"data-content":"",className:g(null==F?void 0:F.content,null==N||null==(f=N.classNames)?void 0:f.content)},e.default.createElement("div",{"data-title":"",className:g(null==F?void 0:F.title,null==N||null==(m=N.classNames)?void 0:m.title)},N.jsx?N.jsx:"function"==typeof N.title?N.title():N.title),N.description?e.default.createElement("div",{"data-description":"",className:g(H,tx,null==F?void 0:F.description,null==N||null==(h=N.classNames)?void 0:h.description)},"function"==typeof N.description?N.description():N.description):null),e.default.isValidElement(N.cancel)?N.cancel:N.cancel&&p(N.cancel)?e.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:N.cancelButtonStyle||$,onClick:t=>{!p(N.cancel)||tv&&(null==N.cancel.onClick||N.cancel.onClick.call(N.cancel,t),tD())},className:g(null==F?void 0:F.cancelButton,null==N||null==(b=N.classNames)?void 0:b.cancelButton)},N.cancel.label):null,e.default.isValidElement(N.action)?N.action:N.action&&p(N.action)?e.default.createElement("button",{"data-button":!0,"data-action":!0,style:N.actionButtonStyle||A,onClick:t=>{!p(N.action)||(null==N.action.onClick||N.action.onClick.call(N.action,t),t.defaultPrevented||tD())},className:g(null==F?void 0:F.actionButton,null==N||null==(v=N.classNames)?void 0:v.actionButton)},N.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,o){let{id:r,invert:n,position:s="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:d,className:u,offset:f,mobileOffset:m,theme:p="light",richColors:g,duration:v,style:y,visibleToasts:x=3,toastOptions:w,dir:E=b(),gap:k=14,icons:N,containerAriaLabel:T="Notifications"}=t,[M,S]=e.default.useState([]),B=e.default.useMemo(()=>r?M.filter(t=>t.toasterId===r):M.filter(t=>!t.toasterId),[M,r]),C=e.default.useMemo(()=>Array.from(new Set([s].concat(B.filter(t=>t.position).map(t=>t.position)))),[B,s]),[j,z]=e.default.useState([]),[R,Y]=e.default.useState(!1),[D,I]=e.default.useState(!1),[P,$]=e.default.useState("system"!==p?p:"u">typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),A=e.default.useRef(null),L=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),H=e.default.useRef(null),V=e.default.useRef(!1),U=e.default.useCallback(t=>{S(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||c.dismiss(t.id),e.filter(({id:e})=>e!==t.id)})},[]);return e.default.useEffect(()=>c.subscribe(t=>{t.dismiss?requestAnimationFrame(()=>{S(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))}):setTimeout(()=>{a.default.flushSync(()=>{S(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]})})})}),[M]),e.default.useEffect(()=>{if("system"!==p)return void $(p);if("system"===p&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?$("dark"):$("light")),"u"<typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",({matches:t})=>{t?$("dark"):$("light")})}catch(e){t.addListener(({matches:t})=>{try{t?$("dark"):$("light")}catch(t){console.error(t)}})}},[p]),e.default.useEffect(()=>{M.length<=1&&Y(!1)},[M]),e.default.useEffect(()=>{let t=t=>{var e,a;i.every(e=>t[e]||t.code===e)&&(Y(!0),null==(a=A.current)||a.focus()),"Escape"===t.code&&(document.activeElement===A.current||(null==(e=A.current)?void 0:e.contains(document.activeElement)))&&Y(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[i]),e.default.useEffect(()=>{if(A.current)return()=>{H.current&&(H.current.focus({preventScroll:!0}),H.current=null,V.current=!1)}},[A.current]),e.default.createElement("section",{ref:o,"aria-label":`${T} ${L}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},C.map((a,o)=>{var r;let s,[i,c]=a.split("-");return B.length?e.default.createElement("ol",{key:a,dir:"auto"===E?b():E,tabIndex:-1,ref:A,className:u,"data-sonner-toaster":!0,"data-sonner-theme":P,"data-y-position":i,"data-x-position":c,style:{"--front-toast-height":`${(null==(r=j[0])?void 0:r.height)||0}px`,"--width":"356px","--gap":`${k}px`,...y,...(s={},[f,m].forEach((t,e)=>{let a=1===e,o=a?"--mobile-offset":"--offset",r=a?"16px":"24px";function n(t){["top","right","bottom","left"].forEach(e=>{s[`${o}-${e}`]="number"==typeof t?`${t}px`:t})}"number"==typeof t||"string"==typeof t?n(t):"object"==typeof t?["top","right","bottom","left"].forEach(e=>{void 0===t[e]?s[`${o}-${e}`]=r:s[`${o}-${e}`]="number"==typeof t[e]?`${t[e]}px`:t[e]}):n(r)}),s)},onBlur:t=>{V.current&&!t.currentTarget.contains(t.relatedTarget)&&(V.current=!1,H.current&&(H.current.focus({preventScroll:!0}),H.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&(V.current||(V.current=!0,H.current=t.relatedTarget))},onMouseEnter:()=>Y(!0),onMouseMove:()=>Y(!0),onMouseLeave:()=>{D||Y(!1)},onDragEnd:()=>Y(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||I(!0)},onPointerUp:()=>I(!1)},B.filter(t=>!t.position&&0===o||t.position===a).map((o,r)=>{var s,i;return e.default.createElement(h,{key:o.id,icons:N,index:r,toast:o,defaultRichColors:g,duration:null!=(s=null==w?void 0:w.duration)?s:v,className:null==w?void 0:w.className,descriptionClassName:null==w?void 0:w.descriptionClassName,invert:n,visibleToasts:x,closeButton:null!=(i=null==w?void 0:w.closeButton)?i:d,interacting:D,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:U,toasts:B.filter(t=>t.position==o.position),heights:j.filter(t=>t.position==o.position),setHeights:z,expandByDefault:l,gap:k,expanded:R,swipeDirections:t.swipeDirections})})):null}))});t.s(["Toaster",()=>v,"toast",()=>m])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99105,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],99105)},87342,e=>{"use strict";var t=e.i(79054),r=e.i(22528),i=e.i(5978),s=e.i(86874),n=e.i(20314);function o(e){let o=e+"CollectionProvider",[l,a]=(0,r.createContextScope)(o),[u,c]=l(o,{collectionRef:{current:null},itemMap:new Map}),f=e=>{let{scope:r,children:i}=e,s=t.default.useRef(null),o=t.default.useRef(new Map).current;return(0,n.jsx)(u,{scope:r,itemMap:o,collectionRef:s,children:i})};f.displayName=o;let d=e+"CollectionSlot",h=(0,s.createSlot)(d),p=t.default.forwardRef((e,t)=>{let{scope:r,children:s}=e,o=c(d,r),l=(0,i.useComposedRefs)(t,o.collectionRef);return(0,n.jsx)(h,{ref:l,children:s})});p.displayName=d;let v=e+"CollectionItemSlot",y="data-radix-collection-item",m=(0,s.createSlot)(v),g=t.default.forwardRef((e,r)=>{let{scope:s,children:o,...l}=e,a=t.default.useRef(null),u=(0,i.useComposedRefs)(r,a),f=c(v,s);return t.default.useEffect(()=>(f.itemMap.set(a,{ref:a,...l}),()=>void f.itemMap.delete(a))),(0,n.jsx)(m,{...{[y]:""},ref:u,children:o})});return g.displayName=v,[{Provider:f,Slot:p,ItemSlot:g},function(r){let i=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=i.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${y}]`));return Array.from(i.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[i.collectionRef,i.itemMap])},a]}var l=new WeakMap;function a(e,t){var r,i;let s,n,o;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let l=(r=e,i=t,s=r.length,(o=(n=u(i))>=0?n:s+n)<0||o>=s?-1:o);return -1===l?void 0:e[l]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],l.set(this,!0)}set(e,t){return l.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let i,s=this.has(t),n=this.#e.length,o=u(e),l=o>=0?o:n+o,a=l<0||l>=n?-1:l;if(a===this.size||s&&a===this.size-1||-1===a)return this.set(t,r),this;let c=this.size+ +!s;o<0&&l++;let f=[...this.#e],d=!1;for(let e=l;e<c;e++)if(l===e){let n=f[e];f[e]===t&&(n=f[e+1]),s&&this.delete(t),i=this.get(n),this.set(t,r)}else{d||f[e-1]!==t||(d=!0);let r=f[d?e:e-1],s=i;i=this.get(r),this.delete(r),this.set(r,s)}return this}with(t,r,i){let s=new e(this);return s.insert(t,r,i),s}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let i=this.#e.indexOf(e);return -1===i?this:this.insert(i,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let i=this.#e.indexOf(e);return -1===i?this:this.insert(i+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=a(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=a(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return a(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let i=r+t;return i<0&&(i=0),i>=this.size&&(i=this.size-1),this.at(i)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let i=r+t;return i<0&&(i=0),i>=this.size&&(i=this.size-1),this.keyAt(i)}find(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return i;r++}}findIndex(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return r;r++}return -1}filter(t,r){let i=[],s=0;for(let e of this)Reflect.apply(t,r,[e,s,this])&&i.push(e),s++;return new e(i)}map(t,r){let i=[],s=0;for(let e of this)i.push([e[0],Reflect.apply(t,r,[e,s,this])]),s++;return new e(i)}reduce(...e){let[t,r]=e,i=0,s=r??this.at(0);for(let r of this)s=0===i&&1===e.length?r:Reflect.apply(t,this,[s,r,i,this]),i++;return s}reduceRight(...e){let[t,r]=e,i=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let s=this.at(r);i=r===this.size-1&&1===e.length?s:Reflect.apply(t,this,[i,s,r,this])}return i}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),i=this.get(r);t.set(r,i)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let i=new e,s=this.size-1;if(void 0===t)return i;t<0&&(t+=this.size),void 0!==r&&r>0&&(s=r-1);for(let e=t;e<=s;e++){let t=this.keyAt(e),r=this.get(t);i.set(t,r)}return i}every(e,t){let r=0;for(let i of this){if(!Reflect.apply(e,t,[i,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>o])},68304,51080,e=>{"use strict";var t=e.i(20314),r=e.i(79054),i=e.i(91967),s=e.i(22528),n=e.i(87342),o=e.i(5978),l=e.i(13123),a=e.i(87620),u=e.i(29297),c=e.i(36589),f=e.i(66033),d="rovingFocusGroup.onEntryFocus",h={bubbles:!1,cancelable:!0},p="RovingFocusGroup",[v,y,m]=(0,n.createCollection)(p),[g,b]=(0,s.createContextScope)(p,[m]),[x,w]=g(p),R=r.forwardRef((e,r)=>(0,t.jsx)(v.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(v.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(k,{...e,ref:r})})}));R.displayName=p;var k=r.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:n,orientation:l,loop:v=!1,dir:m,currentTabStopId:g,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:w,onEntryFocus:R,preventScrollOnEntryFocus:k=!1,...C}=e,A=r.useRef(null),T=(0,o.useComposedRefs)(s,A),I=(0,f.useDirection)(m),[j,E]=(0,c.useControllableState)({prop:g,defaultProp:b??null,onChange:w,caller:p}),[F,D]=r.useState(!1),M=(0,u.useCallbackRef)(R),N=y(n),P=r.useRef(!1),[z,O]=r.useState(0);return r.useEffect(()=>{let e=A.current;if(e)return e.addEventListener(d,M),()=>e.removeEventListener(d,M)},[M]),(0,t.jsx)(x,{scope:n,orientation:l,dir:I,loop:v,currentTabStopId:j,onItemFocus:r.useCallback(e=>E(e),[E]),onItemShiftTab:r.useCallback(()=>D(!0),[]),onFocusableItemAdd:r.useCallback(()=>O(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>O(e=>e-1),[]),children:(0,t.jsx)(a.Primitive.div,{tabIndex:F||0===z?-1:0,"data-orientation":l,...C,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,()=>{P.current=!0}),onFocus:(0,i.composeEventHandlers)(e.onFocus,e=>{let t=!P.current;if(e.target===e.currentTarget&&t&&!F){let t=new CustomEvent(d,h);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=N().filter(e=>e.focusable);S([e.find(e=>e.active),e.find(e=>e.id===j),...e].filter(Boolean).map(e=>e.ref.current),k)}}P.current=!1}),onBlur:(0,i.composeEventHandlers)(e.onBlur,()=>D(!1))})})}),C="RovingFocusGroupItem",A=r.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:n,focusable:o=!0,active:u=!1,tabStopId:c,children:f,...d}=e,h=(0,l.useId)(),p=c||h,m=w(C,n),g=m.currentTabStopId===p,b=y(n),{onFocusableItemAdd:x,onFocusableItemRemove:R,currentTabStopId:k}=m;return r.useEffect(()=>{if(o)return x(),()=>R()},[o,x,R]),(0,t.jsx)(v.ItemSlot,{scope:n,id:p,focusable:o,active:u,children:(0,t.jsx)(a.Primitive.span,{tabIndex:g?0:-1,"data-orientation":m.orientation,...d,ref:s,onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,e=>{o?m.onItemFocus(p):e.preventDefault()}),onFocus:(0,i.composeEventHandlers)(e.onFocus,()=>m.onItemFocus(p)),onKeyDown:(0,i.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void m.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var i;let s=(i=e.key,"rtl"!==r?i:"ArrowLeft"===i?"ArrowRight":"ArrowRight"===i?"ArrowLeft":i);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(s))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(s)))return T[s]}(e,m.orientation,m.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let s=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)s.reverse();else if("prev"===t||"next"===t){var r,i;"prev"===t&&s.reverse();let n=s.indexOf(e.currentTarget);s=m.loop?(r=s,i=n+1,r.map((e,t)=>r[(i+t)%r.length])):s.slice(n+1)}setTimeout(()=>S(s))}}),children:"function"==typeof f?f({isCurrentTabStop:g,hasTabStop:null!=k}):f})})});A.displayName=C;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function S(e,t=!1){let r=document.activeElement;for(let i of e)if(i===r||(i.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>A,"Root",()=>R,"createRovingFocusGroupScope",()=>b],51080);var I=e.i(85995),j="Tabs",[E,F]=(0,s.createContextScope)(j,[b]),D=b(),[M,N]=E(j),P=r.forwardRef((e,r)=>{let{__scopeTabs:i,value:s,onValueChange:n,defaultValue:o,orientation:u="horizontal",dir:d,activationMode:h="automatic",...p}=e,v=(0,f.useDirection)(d),[y,m]=(0,c.useControllableState)({prop:s,onChange:n,defaultProp:o??"",caller:j});return(0,t.jsx)(M,{scope:i,baseId:(0,l.useId)(),value:y,onValueChange:m,orientation:u,dir:v,activationMode:h,children:(0,t.jsx)(a.Primitive.div,{dir:v,"data-orientation":u,...p,ref:r})})});P.displayName=j;var z="TabsList",O=r.forwardRef((e,r)=>{let{__scopeTabs:i,loop:s=!0,...n}=e,o=N(z,i),l=D(i);return(0,t.jsx)(R,{asChild:!0,...l,orientation:o.orientation,dir:o.dir,loop:s,children:(0,t.jsx)(a.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...n,ref:r})})});O.displayName=z;var K="TabsTrigger",L=r.forwardRef((e,r)=>{let{__scopeTabs:s,value:n,disabled:o=!1,...l}=e,u=N(K,s),c=D(s),f=G(u.baseId,n),d=q(u.baseId,n),h=n===u.value;return(0,t.jsx)(A,{asChild:!0,...c,focusable:!o,active:h,children:(0,t.jsx)(a.Primitive.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":d,"data-state":h?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:f,...l,ref:r,onMouseDown:(0,i.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():u.onValueChange(n)}),onKeyDown:(0,i.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&u.onValueChange(n)}),onFocus:(0,i.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==u.activationMode;h||o||!e||u.onValueChange(n)})})})});L.displayName=K;var H="TabsContent",B=r.forwardRef((e,i)=>{let{__scopeTabs:s,value:n,forceMount:o,children:l,...u}=e,c=N(H,s),f=G(c.baseId,n),d=q(c.baseId,n),h=n===c.value,p=r.useRef(h);return r.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(I.Presence,{present:o||h,children:({present:r})=>(0,t.jsx)(a.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":f,hidden:!r,id:d,tabIndex:0,...u,ref:i,style:{...e.style,animationDuration:p.current?"0s":void 0},children:r&&l})})});function G(e,t){return`${e}-trigger-${t}`}function q(e,t){return`${e}-content-${t}`}B.displayName=H,e.s(["Content",()=>B,"List",()=>O,"Root",()=>P,"Tabs",()=>P,"TabsContent",()=>B,"TabsList",()=>O,"TabsTrigger",()=>L,"Trigger",()=>L,"createTabsScope",()=>F],43133);var U=e.i(43133),U=U,$=e.i(31777);let V=U.Root,_=r.forwardRef(({className:e,...r},i)=>(0,t.jsx)(U.List,{ref:i,className:(0,$.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));_.displayName=U.List.displayName;let W=r.forwardRef(({className:e,...r},i)=>(0,t.jsx)(U.Trigger,{ref:i,className:(0,$.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...r}));W.displayName=U.Trigger.displayName;let J=r.forwardRef(({className:e,...r},i)=>(0,t.jsx)(U.Content,{ref:i,className:(0,$.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...r}));J.displayName=U.Content.displayName,e.s(["Tabs",()=>V,"TabsContent",()=>J,"TabsList",()=>_,"TabsTrigger",()=>W],68304)},35e3,e=>{"use strict";var t=e.i(80986);e.s(["CheckCircle2",()=>t.default])},95812,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812)},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)}]);
@@ -1,11 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,85995,e=>{"use strict";var t=e.i(79054),r=e.i(5978),o=e.i(5192),n=e=>{var n;let i,l,{present:s,children:u}=e,c=function(e){var r,n;let[i,l]=t.useState(),s=t.useRef(null),u=t.useRef(e),c=t.useRef("none"),[d,p]=(r=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>n[e][t]??e,r));return t.useEffect(()=>{let e=a(s.current);c.current="mounted"===d?e:"none"},[d]),(0,o.useLayoutEffect)(()=>{let t=s.current,r=u.current;if(r!==e){let o=c.current,n=a(t);e?p("MOUNT"):"none"===n||t?.display==="none"?p("UNMOUNT"):r&&o!==n?p("ANIMATION_OUT"):p("UNMOUNT"),u.current=e}},[e,p]),(0,o.useLayoutEffect)(()=>{if(i){let e,t=i.ownerDocument.defaultView??window,r=r=>{let o=a(s.current).includes(CSS.escape(r.animationName));if(r.target===i&&o&&(p("ANIMATION_END"),!u.current)){let r=i.style.animationFillMode;i.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===i.style.animationFillMode&&(i.style.animationFillMode=r)})}},o=e=>{e.target===i&&(c.current=a(s.current))};return i.addEventListener("animationstart",o),i.addEventListener("animationcancel",r),i.addEventListener("animationend",r),()=>{t.clearTimeout(e),i.removeEventListener("animationstart",o),i.removeEventListener("animationcancel",r),i.removeEventListener("animationend",r)}}p("ANIMATION_END")},[i,p]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{s.current=e?getComputedStyle(e):null,l(e)},[])}}(s),d="function"==typeof u?u({present:c.isPresent}):t.Children.only(u),p=(0,r.useComposedRefs)(c.ref,(n=d,(l=(i=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?n.ref:(l=(i=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?n.props.ref:n.props.ref||n.ref));return"function"==typeof u||c.isPresent?t.cloneElement(d,{ref:p}):null};function a(e){return e?.animationName||"none"}n.displayName="Presence",e.s(["Presence",()=>n])},25235,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(87620),n="horizontal",a=["horizontal","vertical"],i=r.forwardRef((e,r)=>{var i;let{decorative:l,orientation:s=n,...u}=e,c=(i=s,a.includes(i))?s:n;return(0,t.jsx)(o.Primitive.div,{"data-orientation":c,...l?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"},...u,ref:r})});i.displayName="Separator",e.s(["Root",()=>i,"Separator",()=>i],47402);var l=e.i(47402),l=l,s=e.i(31777);function u({className:e,orientation:r="horizontal",decorative:o=!0,...n}){return(0,t.jsx)(l.Root,{"data-slot":"separator",decorative:o,orientation:r,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...n})}e.s(["Separator",()=>u],25235)},90537,e=>{"use strict";let t=(0,e.i(3645).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["default",()=>t])},48249,e=>{"use strict";var t=e.i(90537);e.s(["XIcon",()=>t.default])},567,e=>{"use strict";var t=e.i(79054),r=e.i(91967),o=e.i(5978),n=e.i(22528),a=e.i(13123),i=e.i(36589),l=e.i(53532),s=e.i(56720),u=e.i(39979),c=e.i(85995),d=e.i(87620),p=e.i(41687),f=e.i(13044),g=e.i(73772),m=e.i(86874),v=e.i(20314),x="Dialog",[h,y]=(0,n.createContextScope)(x),[b,w]=h(x),C=e=>{let{__scopeDialog:r,children:o,open:n,defaultOpen:l,onOpenChange:s,modal:u=!0}=e,c=t.useRef(null),d=t.useRef(null),[p,f]=(0,i.useControllableState)({prop:n,defaultProp:l??!1,onChange:s,caller:x});return(0,v.jsx)(b,{scope:r,triggerRef:c,contentRef:d,contentId:(0,a.useId)(),titleId:(0,a.useId)(),descriptionId:(0,a.useId)(),open:p,onOpenChange:f,onOpenToggle:t.useCallback(()=>f(e=>!e),[f]),modal:u,children:o})};C.displayName=x;var D="DialogTrigger",j=t.forwardRef((e,t)=>{let{__scopeDialog:n,...a}=e,i=w(D,n),l=(0,o.useComposedRefs)(t,i.triggerRef);return(0,v.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":W(i.open),...a,ref:l,onClick:(0,r.composeEventHandlers)(e.onClick,i.onOpenToggle)})});j.displayName=D;var T="DialogPortal",[R,E]=h(T,{forceMount:void 0}),A=e=>{let{__scopeDialog:r,forceMount:o,children:n,container:a}=e,i=w(T,r);return(0,v.jsx)(R,{scope:r,forceMount:o,children:t.Children.map(n,e=>(0,v.jsx)(c.Presence,{present:o||i.open,children:(0,v.jsx)(u.Portal,{asChild:!0,container:a,children:e})}))})};A.displayName=T;var P="DialogOverlay",N=t.forwardRef((e,t)=>{let r=E(P,e.__scopeDialog),{forceMount:o=r.forceMount,...n}=e,a=w(P,e.__scopeDialog);return a.modal?(0,v.jsx)(c.Presence,{present:o||a.open,children:(0,v.jsx)(k,{...n,ref:t})}):null});N.displayName=P;var O=(0,m.createSlot)("DialogOverlay.RemoveScroll"),k=t.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,n=w(P,r);return(0,v.jsx)(f.RemoveScroll,{as:O,allowPinchZoom:!0,shards:[n.contentRef],children:(0,v.jsx)(d.Primitive.div,{"data-state":W(n.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})}),I="DialogContent",_=t.forwardRef((e,t)=>{let r=E(I,e.__scopeDialog),{forceMount:o=r.forceMount,...n}=e,a=w(I,e.__scopeDialog);return(0,v.jsx)(c.Presence,{present:o||a.open,children:a.modal?(0,v.jsx)(S,{...n,ref:t}):(0,v.jsx)(M,{...n,ref:t})})});_.displayName=I;var S=t.forwardRef((e,n)=>{let a=w(I,e.__scopeDialog),i=t.useRef(null),l=(0,o.useComposedRefs)(n,a.contentRef,i);return t.useEffect(()=>{let e=i.current;if(e)return(0,g.hideOthers)(e)},[]),(0,v.jsx)(L,{...e,ref:l,trapFocus:a.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,r.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:(0,r.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,r.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),M=t.forwardRef((e,r)=>{let o=w(I,e.__scopeDialog),n=t.useRef(!1),a=t.useRef(!1);return(0,v.jsx)(L,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||o.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),L=t.forwardRef((e,r)=>{let{__scopeDialog:n,trapFocus:a,onOpenAutoFocus:i,onCloseAutoFocus:u,...c}=e,d=w(I,n),f=t.useRef(null),g=(0,o.useComposedRefs)(r,f);return(0,p.useFocusGuards)(),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s.FocusScope,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:i,onUnmountAutoFocus:u,children:(0,v.jsx)(l.DismissableLayer,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":W(d.open),...c,ref:g,onDismiss:()=>d.onOpenChange(!1)})}),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Y,{titleId:d.titleId}),(0,v.jsx)(q,{contentRef:f,descriptionId:d.descriptionId})]})]})}),F="DialogTitle",z=t.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,n=w(F,r);return(0,v.jsx)(d.Primitive.h2,{id:n.titleId,...o,ref:t})});z.displayName=F;var H="DialogDescription",U=t.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,n=w(H,r);return(0,v.jsx)(d.Primitive.p,{id:n.descriptionId,...o,ref:t})});U.displayName=H;var B="DialogClose",$=t.forwardRef((e,t)=>{let{__scopeDialog:o,...n}=e,a=w(B,o);return(0,v.jsx)(d.Primitive.button,{type:"button",...n,ref:t,onClick:(0,r.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});function W(e){return e?"open":"closed"}$.displayName=B;var G="DialogTitleWarning",[K,X]=(0,n.createContext)(G,{contentName:I,titleName:F,docsSlug:"dialog"}),Y=({titleId:e})=>{let r=X(G),o=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return t.useEffect(()=>{e&&(document.getElementById(e)||console.error(o))},[o,e]),null},q=({contentRef:e,descriptionId:r})=>{let o=X("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${o.contentName}}.`;return t.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");r&&t&&(document.getElementById(r)||console.warn(n))},[n,e,r]),null};e.s(["Close",()=>$,"Content",()=>_,"Description",()=>U,"Dialog",()=>C,"DialogClose",()=>$,"DialogContent",()=>_,"DialogDescription",()=>U,"DialogOverlay",()=>N,"DialogPortal",()=>A,"DialogTitle",()=>z,"DialogTrigger",()=>j,"Overlay",()=>N,"Portal",()=>A,"Root",()=>C,"Title",()=>z,"Trigger",()=>j,"WarningProvider",()=>K,"createDialogScope",()=>y])},90033,e=>{"use strict";var t=e.i(567);e.s(["Dialog",0,t])},2828,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(91967),n=e.i(5978),a=e.i(22528),i=e.i(53532),l=e.i(13123),s=e.i(52740),u=e.i(39979),c=e.i(85995),d=e.i(87620),p=e.i(86874),f=e.i(36589),g=e.i(1693),[m,v]=(0,a.createContextScope)("Tooltip",[s.createPopperScope]),x=(0,s.createPopperScope)(),h="TooltipProvider",y="tooltip.open",[b,w]=m(h),C=e=>{let{__scopeTooltip:o,delayDuration:n=700,skipDelayDuration:a=300,disableHoverableContent:i=!1,children:l}=e,s=r.useRef(!0),u=r.useRef(!1),c=r.useRef(0);return r.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(b,{scope:o,isOpenDelayedRef:s,delayDuration:n,onOpen:r.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:r.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,a)},[a]),isPointerInTransitRef:u,onPointerInTransitChange:r.useCallback(e=>{u.current=e},[]),disableHoverableContent:i,children:l})};C.displayName=h;var D="Tooltip",[j,T]=m(D),R=e=>{let{__scopeTooltip:o,children:n,open:a,defaultOpen:i,onOpenChange:u,disableHoverableContent:c,delayDuration:d}=e,p=w(D,e.__scopeTooltip),g=x(o),[m,v]=r.useState(null),h=(0,l.useId)(),b=r.useRef(0),C=c??p.disableHoverableContent,T=d??p.delayDuration,R=r.useRef(!1),[E,A]=(0,f.useControllableState)({prop:a,defaultProp:i??!1,onChange:e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(y))):p.onClose(),u?.(e)},caller:D}),P=r.useMemo(()=>E?R.current?"delayed-open":"instant-open":"closed",[E]),N=r.useCallback(()=>{window.clearTimeout(b.current),b.current=0,R.current=!1,A(!0)},[A]),O=r.useCallback(()=>{window.clearTimeout(b.current),b.current=0,A(!1)},[A]),k=r.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>{R.current=!0,A(!0),b.current=0},T)},[T,A]);return r.useEffect(()=>()=>{b.current&&(window.clearTimeout(b.current),b.current=0)},[]),(0,t.jsx)(s.Root,{...g,children:(0,t.jsx)(j,{scope:o,contentId:h,open:E,stateAttribute:P,trigger:m,onTriggerChange:v,onTriggerEnter:r.useCallback(()=>{p.isOpenDelayedRef.current?k():N()},[p.isOpenDelayedRef,k,N]),onTriggerLeave:r.useCallback(()=>{C?O():(window.clearTimeout(b.current),b.current=0)},[O,C]),onOpen:N,onClose:O,disableHoverableContent:C,children:n})})};R.displayName=D;var E="TooltipTrigger",A=r.forwardRef((e,a)=>{let{__scopeTooltip:i,...l}=e,u=T(E,i),c=w(E,i),p=x(i),f=r.useRef(null),g=(0,n.useComposedRefs)(a,f,u.onTriggerChange),m=r.useRef(!1),v=r.useRef(!1),h=r.useCallback(()=>m.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),(0,t.jsx)(s.Anchor,{asChild:!0,...p,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...l,ref:g,onPointerMove:(0,o.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(v.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),v.current=!0))}),onPointerLeave:(0,o.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),v.current=!1}),onPointerDown:(0,o.composeEventHandlers)(e.onPointerDown,()=>{u.open&&u.onClose(),m.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:(0,o.composeEventHandlers)(e.onFocus,()=>{m.current||u.onOpen()}),onBlur:(0,o.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,o.composeEventHandlers)(e.onClick,u.onClose)})})});A.displayName=E;var P="TooltipPortal",[N,O]=m(P,{forceMount:void 0}),k=e=>{let{__scopeTooltip:r,forceMount:o,children:n,container:a}=e,i=T(P,r);return(0,t.jsx)(N,{scope:r,forceMount:o,children:(0,t.jsx)(c.Presence,{present:o||i.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:a,children:n})})})};k.displayName=P;var I="TooltipContent",_=r.forwardRef((e,r)=>{let o=O(I,e.__scopeTooltip),{forceMount:n=o.forceMount,side:a="top",...i}=e,l=T(I,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:n||l.open,children:l.disableHoverableContent?(0,t.jsx)(z,{side:a,...i,ref:r}):(0,t.jsx)(S,{side:a,...i,ref:r})})}),S=r.forwardRef((e,o)=>{let a=T(I,e.__scopeTooltip),i=w(I,e.__scopeTooltip),l=r.useRef(null),s=(0,n.useComposedRefs)(o,l),[u,c]=r.useState(null),{trigger:d,onClose:p}=a,f=l.current,{onPointerInTransitChange:g}=i,m=r.useCallback(()=>{c(null),g(!1)},[g]),v=r.useCallback((e,t)=>{let r,o=e.currentTarget,n={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,o,n,a)){case a:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}(n,o.getBoundingClientRect());c(((r=[...function(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}(n,a),...function(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),g(!0)},[g]);return r.useEffect(()=>()=>m(),[m]),r.useEffect(()=>{if(d&&f){let e=e=>v(e,f),t=e=>v(e,d);return d.addEventListener("pointerleave",e),f.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),f.removeEventListener("pointerleave",t)}}},[d,f,v,m]),r.useEffect(()=>{if(u){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=d?.contains(t)||f?.contains(t),n=!function(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let i=t[e],l=t[a],s=i.x,u=i.y,c=l.x,d=l.y;u>o!=d>o&&r<(c-s)*(o-u)/(d-u)+s&&(n=!n)}return n}(r,u);o?m():n&&(m(),p())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,f,u,p,m]),(0,t.jsx)(z,{...e,ref:s})}),[M,L]=m(D,{isInside:!1}),F=(0,p.createSlottable)("TooltipContent"),z=r.forwardRef((e,o)=>{let{__scopeTooltip:n,children:a,"aria-label":l,onEscapeKeyDown:u,onPointerDownOutside:c,...d}=e,p=T(I,n),f=x(n),{onClose:m}=p;return r.useEffect(()=>(document.addEventListener(y,m),()=>document.removeEventListener(y,m)),[m]),r.useEffect(()=>{if(p.trigger){let e=e=>{let t=e.target;t?.contains(p.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,m]),(0,t.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,t.jsxs)(s.Content,{"data-state":p.stateAttribute,...f,...d,ref:o,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(F,{children:a}),(0,t.jsx)(M,{scope:n,isInside:!0,children:(0,t.jsx)(g.Root,{id:p.contentId,role:"tooltip",children:l||a})})]})})});_.displayName=I;var H="TooltipArrow",U=r.forwardRef((e,r)=>{let{__scopeTooltip:o,...n}=e,a=x(o);return L(H,o).isInside?null:(0,t.jsx)(s.Arrow,{...a,...n,ref:r})});U.displayName=H,e.s(["Arrow",()=>U,"Content",()=>_,"Portal",()=>k,"Provider",()=>C,"Root",()=>R,"Tooltip",()=>R,"TooltipArrow",()=>U,"TooltipContent",()=>_,"TooltipPortal",()=>k,"TooltipProvider",()=>C,"TooltipTrigger",()=>A,"Trigger",()=>A,"createTooltipScope",()=>v],30643);var B=e.i(30643),B=B,$=e.i(31777);function W({delayDuration:e=0,...r}){return(0,t.jsx)(B.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...r})}function G({...e}){return(0,t.jsx)(B.Root,{"data-slot":"tooltip",...e})}function K({...e}){return(0,t.jsx)(B.Trigger,{"data-slot":"tooltip-trigger",...e})}function X({className:e,sideOffset:r=0,children:o,...n}){return(0,t.jsx)(B.Portal,{children:(0,t.jsxs)(B.Content,{"data-slot":"tooltip-content",sideOffset:r,className:(0,$.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...n,children:[o,(0,t.jsx)(B.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}e.s(["Tooltip",()=>G,"TooltipContent",()=>X,"TooltipProvider",()=>W,"TooltipTrigger",()=>K],2828)},51251,e=>{"use strict";let t=(0,e.i(3645).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["CircleAlert",()=>t],51251)},83428,e=>{"use strict";let t=(0,e.i(3645).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],83428)},8361,73709,18354,e=>{"use strict";var t=e.i(44172),r=e.i(79054);let o="shep-sound-enabled",n="shep:sound-toggle";function a(){let[e,t]=(0,r.useState)(!0);(0,r.useEffect)(()=>{"false"===localStorage.getItem(o)&&t(!1);let e=e=>{t(e.detail)};return window.addEventListener(n,e),()=>window.removeEventListener(n,e)},[]);let a=(0,r.useCallback)(()=>{let r=!e;localStorage.setItem(o,String(r)),t(r),window.dispatchEvent(new CustomEvent(n,{detail:r}))},[e]);return{enabled:e,toggle:a}}e.s(["useSoundEnabled",()=>a],73709);let i={navigate:{sound:"tap_01",volume:.2},"menu-item":{sound:"tap_01",volume:.2},select:{sound:"select",volume:.3},"toggle-on":{sound:"toggle_on",volume:.3},"toggle-off":{sound:"toggle_off",volume:.3},click:{sound:"tap_01",volume:.3},cancel:{sound:"transition_down",volume:.3},expand:{sound:"swipe",volume:.3},collapse:{sound:"swipe",volume:.3},"menu-open":{sound:"select",volume:.3},copy:{sound:"select",volume:.3},"drawer-open":{sound:"transition_up",volume:.4},"drawer-close":{sound:"transition_down",volume:.4},submit:{sound:"button",volume:.4},approve:{sound:"celebration",volume:.5},reject:{sound:"caution",volume:.5},create:{sound:"transition_up",volume:.5},delete:{sound:"transition_down",volume:.5},"notification-success":{sound:"celebration",volume:.5},"notification-error":{sound:"caution",volume:.5},"notification-warning":{sound:"notification",volume:.5},"notification-info":{sound:"button",volume:.5}};function l(e){let{sound:t,volume:o}=i[e];return function(e,t={}){let{volume:o=1,loop:n=!1}=t,{enabled:i}=a(),l=(0,r.useRef)(null),s=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{let t=new Audio(`/sounds/${e}.wav`);return t.preload="auto",t.loop=n,t.volume=Math.max(0,Math.min(1,o)),t.addEventListener("ended",()=>{s.current=!1}),l.current=t,()=>{t.pause(),t.removeAttribute("src"),l.current=null,s.current=!1}},[e,n,o]),{play:(0,r.useCallback)(()=>{if(!i)return;let e=l.current;e&&(e.currentTime=0,e.play()?.catch(e=>{}),s.current=!0)},[i,e]),stop:(0,r.useCallback)(()=>{let e=l.current;e&&(e.pause(),e.currentTime=0,s.current=!1)},[]),isPlaying:s.current}}(t,{volume:o})}e.s(["useSoundAction",()=>l],8361);let s=!!t.default.env.NEXT_PUBLIC_DEBUG,u=()=>void 0;function c(e){return{info:s?(...t)=>console.info(e,...t):u,debug:s?(...t)=>console.debug(e,...t):u,warn:(...t)=>console.warn(e,...t),error:(...t)=>console.error(e,...t)}}e.s(["createLogger",()=>c],18354)},75921,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let o=(0,r.createContext)({skills:!1,envDeploy:!1,debug:!1});function n({children:e,flags:r}){return(0,t.jsx)(o.Provider,{value:r,children:e})}function a(){return(0,r.useContext)(o)}e.s(["FeatureFlagsProvider",()=>n,"useFeatureFlags",()=>a])},31406,(e,t,r)=>{t.exports=e.r(67013)},91891,e=>{"use strict";let t=(0,e.i(3645).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["default",()=>t])},30153,71326,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(22528),n=e.i(5978),a=e.i(567),i=e.i(91967),l=e.i(86874),s="AlertDialog",[u,c]=(0,o.createContextScope)(s,[a.createDialogScope]),d=(0,a.createDialogScope)(),p=e=>{let{__scopeAlertDialog:r,...o}=e,n=d(r);return(0,t.jsx)(a.Root,{...n,...o,modal:!0})};p.displayName=s;var f=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Trigger,{...i,...n,ref:r})});f.displayName="AlertDialogTrigger";var g=e=>{let{__scopeAlertDialog:r,...o}=e,n=d(r);return(0,t.jsx)(a.Portal,{...n,...o})};g.displayName="AlertDialogPortal";var m=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Overlay,{...i,...n,ref:r})});m.displayName="AlertDialogOverlay";var v="AlertDialogContent",[x,h]=u(v),y=(0,l.createSlottable)("AlertDialogContent"),b=r.forwardRef((e,o)=>{let{__scopeAlertDialog:l,children:s,...u}=e,c=d(l),p=r.useRef(null),f=(0,n.useComposedRefs)(o,p),g=r.useRef(null);return(0,t.jsx)(a.WarningProvider,{contentName:v,titleName:w,docsSlug:"alert-dialog",children:(0,t.jsx)(x,{scope:l,cancelRef:g,children:(0,t.jsxs)(a.Content,{role:"alertdialog",...c,...u,ref:f,onOpenAutoFocus:(0,i.composeEventHandlers)(u.onOpenAutoFocus,e=>{e.preventDefault(),g.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,t.jsx)(y,{children:s}),(0,t.jsx)(A,{contentRef:p})]})})})});b.displayName=v;var w="AlertDialogTitle",C=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Title,{...i,...n,ref:r})});C.displayName=w;var D="AlertDialogDescription",j=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Description,{...i,...n,ref:r})});j.displayName=D;var T=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...n}=e,i=d(o);return(0,t.jsx)(a.Close,{...i,...n,ref:r})});T.displayName="AlertDialogAction";var R="AlertDialogCancel",E=r.forwardRef((e,r)=>{let{__scopeAlertDialog:o,...i}=e,{cancelRef:l}=h(R,o),s=d(o),u=(0,n.useComposedRefs)(r,l);return(0,t.jsx)(a.Close,{...s,...i,ref:u})});E.displayName=R;var A=({contentRef:e})=>{let t=`\`${v}\` requires a description for the component to be accessible for screen reader users.
6
-
7
- You can add a description to the \`${v}\` by passing a \`${D}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
8
-
9
- Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${v}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
10
-
11
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return r.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null};e.s(["Action",()=>T,"AlertDialog",()=>p,"AlertDialogAction",()=>T,"AlertDialogCancel",()=>E,"AlertDialogContent",()=>b,"AlertDialogDescription",()=>j,"AlertDialogOverlay",()=>m,"AlertDialogPortal",()=>g,"AlertDialogTitle",()=>C,"AlertDialogTrigger",()=>f,"Cancel",()=>E,"Content",()=>b,"Description",()=>j,"Overlay",()=>m,"Portal",()=>g,"Root",()=>p,"Title",()=>C,"Trigger",()=>f,"createAlertDialogScope",()=>c],28883);var P=e.i(28883),P=P,N=e.i(31777),O=e.i(35364);function k({...e}){return(0,t.jsx)(P.Root,{"data-slot":"alert-dialog",...e})}function I({...e}){return(0,t.jsx)(P.Trigger,{"data-slot":"alert-dialog-trigger",...e})}function _({...e}){return(0,t.jsx)(P.Portal,{"data-slot":"alert-dialog-portal",...e})}function S({className:e,onClick:r,...o}){return(0,t.jsx)(P.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,N.cn)("fixed inset-0 z-50 bg-black/50",e),onClick:e=>{e.stopPropagation(),r?.(e)},...o})}function M({className:e,size:r="default",...o}){return(0,t.jsxs)(_,{children:[(0,t.jsx)(S,{}),(0,t.jsx)(P.Content,{"data-slot":"alert-dialog-content","data-size":r,className:(0,N.cn)("bg-background group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",e),...o})]})}function L({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,N.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...r})}function F({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,N.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...r})}function z({className:e,...r}){return(0,t.jsx)(P.Title,{"data-slot":"alert-dialog-title",className:(0,N.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...r})}function H({className:e,...r}){return(0,t.jsx)(P.Description,{"data-slot":"alert-dialog-description",className:(0,N.cn)("text-muted-foreground text-sm",e),...r})}function U({className:e,variant:r="default",size:o="default",...n}){return(0,t.jsx)(O.Button,{variant:r,size:o,asChild:!0,children:(0,t.jsx)(P.Action,{"data-slot":"alert-dialog-action",className:(0,N.cn)(e),...n})})}function B({className:e,variant:r="outline",size:o="default",...n}){return(0,t.jsx)(O.Button,{variant:r,size:o,asChild:!0,children:(0,t.jsx)(P.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,N.cn)(e),...n})})}e.s(["AlertDialog",()=>k,"AlertDialogAction",()=>U,"AlertDialogCancel",()=>B,"AlertDialogContent",()=>M,"AlertDialogDescription",()=>H,"AlertDialogFooter",()=>F,"AlertDialogHeader",()=>L,"AlertDialogTitle",()=>z,"AlertDialogTrigger",()=>I],71326);let $=(0,r.createContext)(null);function W({children:e}){let o=(0,r.useRef)(null),n=(0,r.useRef)(null),[a,i]=(0,r.useState)(!1),l=(0,r.useCallback)(e=>{o.current=e},[]),s=(0,r.useCallback)(e=>{if(o.current?.isDirty){n.current=e,i(!0);return}e()},[]),u=(0,r.useCallback)(()=>{i(!1),o.current?.onReset(),o.current=null,n.current?.(),n.current=null},[]),c=(0,r.useCallback)(()=>{i(!1),n.current=null},[]),d=(0,r.useCallback)(()=>o.current?.isDirty??!1,[]);return(0,t.jsxs)($,{value:{setGuard:l,guardedNavigate:s,getIsDirty:d},children:[e,(0,t.jsx)(k,{open:a,children:(0,t.jsxs)(M,{children:[(0,t.jsxs)(L,{children:[(0,t.jsx)(z,{children:"Discard unsaved changes?"}),(0,t.jsx)(H,{children:"You have unsaved changes. Are you sure you want to discard them?"})]}),(0,t.jsxs)(F,{children:[(0,t.jsx)(U,{variant:"destructive",onClick:u,children:"Discard"}),(0,t.jsx)(B,{onClick:c,children:"Keep editing"})]})]})})]})}function G(){let e=(0,r.useContext)($);if(!e)throw Error("useDrawerCloseGuard must be used within DrawerCloseGuardProvider");return e}function K({open:e,isDirty:t,onClose:o,onReset:n}){let{setGuard:a,guardedNavigate:i}=G();return(0,r.useEffect)(()=>(e?a({isDirty:t,onReset:n}):a(null),()=>a(null)),[e,t,n,a]),{attemptClose:(0,r.useCallback)(()=>{i(()=>{n(),o()})},[i,o,n])}}e.s(["DrawerCloseGuardProvider",()=>W,"useDrawerCloseGuard",()=>G,"useGuardedDrawerClose",()=>K],30153)}]);
@@ -1,3 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83902,e=>{"use strict";let t=(0,e.i(3645).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);e.s(["Rocket",()=>t],83902)},41957,23405,e=>{"use strict";var t=e.i(20314),r=e.i(79054),i=e.i(87620),n=r.forwardRef((e,r)=>(0,t.jsx)(i.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));n.displayName="Label",e.s(["Label",()=>n,"Root",()=>n],27572);var s=e.i(27572),s=s,l=e.i(94237),o=e.i(31777);let a=(0,l.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),u=r.forwardRef(({className:e,...r},i)=>(0,t.jsx)(s.Root,{ref:i,className:(0,o.cn)(a(),e),...r}));function d(e){let t=r.useRef({value:e,previous:e});return r.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}u.displayName=s.Root.displayName,e.s(["Label",()=>u],41957),e.s(["usePrevious",()=>d],23405)},93752,e=>{"use strict";let t=(0,e.i(3645).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);e.s(["default",()=>t])},47904,(e,t,r)=>{"use strict";function i({widthInt:e,heightInt:t,blurWidth:r,blurHeight:i,blurDataURL:n,objectFit:s}){let l=r?40*r:e,o=i?40*i:t,a=l&&o?`viewBox='0 0 ${l} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${a}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${a?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${n}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return i}})},49261,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var i={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return l}};for(var n in i)Object.defineProperty(r,n,{enumerable:!0,get:i[n]});let s=["default","imgix","cloudinary","akamai","custom"],l={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:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},81241,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return u}}),e.r(24270);let i=e.r(22193),n=e.r(47904),s=e.r(49261),l=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u({src:e,sizes:t,unoptimized:r=!1,priority:u=!1,preload:d=!1,loading:c,className:f,quality:p,width:h,height:m,fill:g=!1,style:y,overrideSrc:v,onLoad:b,onLoadingComplete:w,placeholder:_="empty",blurDataURL:x,fetchPriority:j,decoding:R="async",layout:C,objectFit:O,objectPosition:P,lazyBoundary:k,lazyRoot:S,...E},M){var z;let A,I,$,{imgConf:D,showAltText:N,blurComplete:T,defaultLoader:L}=M,q=D||s.imageConfigDefault;if("allSizes"in q)A=q;else{let e=[...q.deviceSizes,...q.imageSizes].sort((e,t)=>e-t),t=q.deviceSizes.sort((e,t)=>e-t),r=q.qualities?.sort((e,t)=>e-t);A={...q,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===L)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let B=E.loader||L;delete E.loader,delete E.srcSet;let U="__next_img_default"in B;if(U){if("custom"===A.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
- Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=B;B=t=>{let{config:r,...i}=t;return e(i)}}if(C){"fill"===C&&(g=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];e&&(y={...y,...e});let r={responsive:"100vw",fill:"100vw"}[C];r&&!t&&(t=r)}let F="",W=a(h),G=a(m);if((z=e)&&"object"==typeof z&&(o(z)||void 0!==z.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(I=t.blurWidth,$=t.blurHeight,x=x||t.blurDataURL,F=t.src,!g)if(W||G){if(W&&!G){let e=W/t.width;G=Math.round(t.height*e)}else if(!W&&G){let e=G/t.height;W=Math.round(t.width*e)}}else W=t.width,G=t.height}let V=!u&&!d&&("lazy"===c||void 0===c);(!(e="string"==typeof e?e:F)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,V=!1),A.unoptimized&&(r=!0),U&&!A.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let X=a(p),H=Object.assign(g?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:O,objectPosition:P}:{},N?{}:{color:"transparent"},y),J=T||"empty"===_?null:"blur"===_?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:W,heightInt:G,blurWidth:I,blurHeight:$,blurDataURL:x||"",objectFit:H.objectFit})}")`:`url("${_}")`,K=l.includes(H.objectFit)?"fill"===H.objectFit?"100% 100%":"cover":H.objectFit,Q=J?{backgroundSize:K,backgroundPosition:H.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:J}:{},Y=function({config:e,src:t,unoptimized:r,width:n,quality:s,sizes:l,loader:o}){if(r){let e=(0,i.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:a,kind:u}=function({deviceSizes:e,allSizes:t},r,i){if(i){let r=/(^|\s)(1?\d?\d)vw/g,n=[];for(let e;e=r.exec(i);)n.push(parseInt(e[2]));if(n.length){let r=.01*Math.min(...n);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,l),d=a.length-1;return{sizes:l||"w"!==u?l:"100vw",srcSet:a.map((r,i)=>`${o({config:e,src:t,quality:s,width:r})} ${"w"===u?r:i+1}${u}`).join(", "),src:o({config:e,src:t,quality:s,width:a[d]})}}({config:A,src:e,unoptimized:r,width:W,quality:X,sizes:t,loader:B}),Z=V?"lazy":c;return{props:{...E,loading:Z,fetchPriority:j,width:W,height:G,decoding:R,className:f,style:{...H,...Q},sizes:Y.sizes,srcSet:Y.srcSet,src:v||Y.src},meta:{unoptimized:r,preload:d||u,placeholder:_,fill:g}}}},38820,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let i=e.r(79054),n="u"<typeof window,s=n?()=>{}:i.useLayoutEffect,l=n?()=>{}:i.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let e=i.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return n&&(t?.mountedInstances?.add(e.children),o()),s(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),s(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},79646,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var i={default:function(){return m},defaultHead:function(){return c}};for(var n in i)Object.defineProperty(r,n,{enumerable:!0,get:i[n]});let s=e.r(81258),l=e.r(44066),o=e.r(20314),a=l._(e.r(79054)),u=s._(e.r(38820)),d=e.r(84210);function c(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(24270);let p=["name","httpEquiv","charSet","itemProp"];function h(e){let t,r,i,n;return e.reduce(f,[]).reverse().concat(c().reverse()).filter((t=new Set,r=new Set,i=new Set,n={},e=>{let s=!0,l=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){l=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?s=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?s=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)i.has(r)?s=!1:i.add(r);else{let t=e.props[r],i=n[r]||new Set;("name"!==r||!l)&&i.has(t)?s=!1:(i.add(t),n[r]=i)}}}return s})).reverse().map((e,t)=>{let r=e.key||t;return a.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,a.useContext)(d.HeadManagerContext);return(0,o.jsx)(u.default,{reduceComponentsToState:h,headManager: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)},5160,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let i=e.r(81258)._(e.r(79054)),n=e.r(49261),s=i.default.createContext(n.imageConfigDefault)},2880,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return i}});let i=e.r(81258)._(e.r(79054)).default.createContext(null)},36200,(e,t,r)=>{"use strict";function i(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return i}})},78200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let i=e.r(36200),n=e.r(22193);function s({config:e,src:t,width:r,quality:s}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,i.findClosestQuality)(s,e),o=(0,n.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}s.__next_img_default=!0;let l=s},81819,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return w}});let i=e.r(81258),n=e.r(44066),s=e.r(20314),l=n._(e.r(79054)),o=i._(e.r(26036)),a=i._(e.r(79646)),u=e.r(81241),d=e.r(49261),c=e.r(5160);e.r(24270);let f=e.r(2880),p=i._(e.r(78200)),h=e.r(80764),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,i,n,s,l){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let i=!1,n=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>i,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{i=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}i?.current&&i.current(e)}}))}function y(e){return l.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let v=(0,l.forwardRef)(({src:e,srcSet:t,sizes:r,height:i,width:n,decoding:o,className:a,style:u,fetchPriority:d,placeholder:c,loading:f,unoptimized:p,fill:m,onLoadRef:v,onLoadingCompleteRef:b,setBlurComplete:w,setShowAltText:_,sizesInput:x,onLoad:j,onError:R,...C},O)=>{let P=(0,l.useCallback)(e=>{e&&(R&&(e.src=e.src),e.complete&&g(e,c,v,b,w,p,x))},[e,c,v,b,w,R,p,x]),k=(0,h.useMergedRef)(O,P);return(0,s.jsx)("img",{...C,...y(d),loading:f,width:n,height:i,decoding:o,"data-nimg":m?"fill":"1",className:a,style:u,sizes:r,srcSet:t,src:e,ref:k,onLoad:e=>{g(e.currentTarget,c,v,b,w,p,x)},onError:e=>{_(!0),"empty"!==c&&w(!0),R&&R(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,s.jsx)(a.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let w=(0,l.forwardRef)((e,t)=>{let r=(0,l.useContext)(f.RouterContext),i=(0,l.useContext)(c.ImageConfigContext),n=(0,l.useMemo)(()=>{let e=m||i||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),n=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:n,localPatterns:"u"<typeof window?i?.localPatterns:e.localPatterns}},[i]),{onLoad:o,onLoadingComplete:a}=e,h=(0,l.useRef)(o);(0,l.useEffect)(()=>{h.current=o},[o]);let g=(0,l.useRef)(a);(0,l.useEffect)(()=>{g.current=a},[a]);let[y,w]=(0,l.useState)(!1),[_,x]=(0,l.useState)(!1),{props:j,meta:R}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:n,blurComplete:y,showAltText:_});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(v,{...j,unoptimized:R.unoptimized,placeholder:R.placeholder,fill:R.fill,onLoadRef:h,onLoadingCompleteRef:g,setBlurComplete:w,setShowAltText:x,sizesInput:e.sizes,ref:t}),R.preload?(0,s.jsx)(b,{isAppRouter:!r,imgAttributes:j}):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)},78639,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var i={default:function(){return d},getImageProps:function(){return u}};for(var n in i)Object.defineProperty(r,n,{enumerable:!0,get:i[n]});let s=e.r(81258),l=e.r(81241),o=e.r(81819),a=s._(e.r(78200));function u(e){let{props:t}=(0,l.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=o.Image},98804,(e,t,r)=>{t.exports=e.r(78639)},86782,e=>{"use strict";var t=e.i(20314),r=e.i(98804);let i=(0,e.i(3645).default)("beaker",[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]]);var n=e.i(31777);function s(e,i){function s({className:s}){return(0,t.jsx)(r.default,{src:e,alt:i,width:24,height:24,className:(0,n.cn)("rounded-sm object-contain",s)})}return s.displayName=`BrandIcon(${i})`,s}function l(e){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function o({className:e,...r}){return(0,t.jsx)(i,{className:(0,n.cn)("h-6 w-6",e),...r})}o.displayName="DevAgentIcon";let a={"claude-code":s("/icons/agents/claude-ai-icon.svg","Claude Code"),cursor:s("/icons/agents/cursor.jpeg","Cursor"),"gemini-cli":s("/icons/agents/gemini-cli.jpeg","Gemini CLI"),aider:s("/icons/agents/aider.png","Aider"),continue:s("/icons/agents/continue.jpeg","Continue"),dev:o};function u(e){return e&&e in a?a[e]:l}e.s(["getAgentTypeIcon",()=>u],86782)},1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t])},23925,e=>{"use strict";var t=e.i(1012);e.s(["Check",()=>t.default])},87342,e=>{"use strict";var t=e.i(79054),r=e.i(22528),i=e.i(5978),n=e.i(86874),s=e.i(20314);function l(e){let l=e+"CollectionProvider",[o,a]=(0,r.createContextScope)(l),[u,d]=o(l,{collectionRef:{current:null},itemMap:new Map}),c=e=>{let{scope:r,children:i}=e,n=t.default.useRef(null),l=t.default.useRef(new Map).current;return(0,s.jsx)(u,{scope:r,itemMap:l,collectionRef:n,children:i})};c.displayName=l;let f=e+"CollectionSlot",p=(0,n.createSlot)(f),h=t.default.forwardRef((e,t)=>{let{scope:r,children:n}=e,l=d(f,r),o=(0,i.useComposedRefs)(t,l.collectionRef);return(0,s.jsx)(p,{ref:o,children:n})});h.displayName=f;let m=e+"CollectionItemSlot",g="data-radix-collection-item",y=(0,n.createSlot)(m),v=t.default.forwardRef((e,r)=>{let{scope:n,children:l,...o}=e,a=t.default.useRef(null),u=(0,i.useComposedRefs)(r,a),c=d(m,n);return t.default.useEffect(()=>(c.itemMap.set(a,{ref:a,...o}),()=>void c.itemMap.delete(a))),(0,s.jsx)(y,{...{[g]:""},ref:u,children:l})});return v.displayName=m,[{Provider:c,Slot:h,ItemSlot:v},function(r){let i=d(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=i.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${g}]`));return Array.from(i.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[i.collectionRef,i.itemMap])},a]}var o=new WeakMap;function a(e,t){var r,i;let n,s,l;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let o=(r=e,i=t,n=r.length,(l=(s=u(i))>=0?s:n+s)<0||l>=n?-1:l);return -1===o?void 0:e[o]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],o.set(this,!0)}set(e,t){return o.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let i,n=this.has(t),s=this.#e.length,l=u(e),o=l>=0?l:s+l,a=o<0||o>=s?-1:o;if(a===this.size||n&&a===this.size-1||-1===a)return this.set(t,r),this;let d=this.size+ +!n;l<0&&o++;let c=[...this.#e],f=!1;for(let e=o;e<d;e++)if(o===e){let s=c[e];c[e]===t&&(s=c[e+1]),n&&this.delete(t),i=this.get(s),this.set(t,r)}else{f||c[e-1]!==t||(f=!0);let r=c[f?e:e-1],n=i;i=this.get(r),this.delete(r),this.set(r,n)}return this}with(t,r,i){let n=new e(this);return n.insert(t,r,i),n}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let i=this.#e.indexOf(e);return -1===i?this:this.insert(i,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let i=this.#e.indexOf(e);return -1===i?this:this.insert(i+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=a(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=a(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return a(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let i=r+t;return i<0&&(i=0),i>=this.size&&(i=this.size-1),this.at(i)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let i=r+t;return i<0&&(i=0),i>=this.size&&(i=this.size-1),this.keyAt(i)}find(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return i;r++}}findIndex(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return r;r++}return -1}filter(t,r){let i=[],n=0;for(let e of this)Reflect.apply(t,r,[e,n,this])&&i.push(e),n++;return new e(i)}map(t,r){let i=[],n=0;for(let e of this)i.push([e[0],Reflect.apply(t,r,[e,n,this])]),n++;return new e(i)}reduce(...e){let[t,r]=e,i=0,n=r??this.at(0);for(let r of this)n=0===i&&1===e.length?r:Reflect.apply(t,this,[n,r,i,this]),i++;return n}reduceRight(...e){let[t,r]=e,i=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let n=this.at(r);i=r===this.size-1&&1===e.length?n:Reflect.apply(t,this,[i,n,r,this])}return i}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),i=this.get(r);t.set(r,i)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let i=new e,n=this.size-1;if(void 0===t)return i;t<0&&(t+=this.size),void 0!==r&&r>0&&(n=r-1);for(let e=t;e<=n;e++){let t=this.keyAt(e),r=this.get(t);i.set(t,r)}return i}every(e,t){let r=0;for(let i of this){if(!Reflect.apply(e,t,[i,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let i of this){if(Reflect.apply(e,t,[i,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>l])},99105,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],99105)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83902,e=>{"use strict";let t=(0,e.i(3645).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);e.s(["Rocket",()=>t],83902)},87342,e=>{"use strict";var t=e.i(79054),s=e.i(22528),r=e.i(5978),a=e.i(86874),i=e.i(20314);function l(e){let l=e+"CollectionProvider",[n,o]=(0,s.createContextScope)(l),[c,d]=n(l,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:s,children:r}=e,a=t.default.useRef(null),l=t.default.useRef(new Map).current;return(0,i.jsx)(c,{scope:s,itemMap:l,collectionRef:a,children:r})};u.displayName=l;let m=e+"CollectionSlot",f=(0,a.createSlot)(m),h=t.default.forwardRef((e,t)=>{let{scope:s,children:a}=e,l=d(m,s),n=(0,r.useComposedRefs)(t,l.collectionRef);return(0,i.jsx)(f,{ref:n,children:a})});h.displayName=m;let x=e+"CollectionItemSlot",p="data-radix-collection-item",g=(0,a.createSlot)(x),v=t.default.forwardRef((e,s)=>{let{scope:a,children:l,...n}=e,o=t.default.useRef(null),c=(0,r.useComposedRefs)(s,o),u=d(x,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...n}),()=>void u.itemMap.delete(o))),(0,i.jsx)(g,{...{[p]:""},ref:c,children:l})});return v.displayName=x,[{Provider:u,Slot:h,ItemSlot:v},function(s){let r=d(e+"CollectionConsumer",s);return t.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(r.itemMap.values()).sort((e,s)=>t.indexOf(e.ref.current)-t.indexOf(s.ref.current))},[r.collectionRef,r.itemMap])},o]}var n=new WeakMap;function o(e,t){var s,r;let a,i,l;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(s=e,r=t,a=s.length,(l=(i=c(r))>=0?i:a+i)<0||l>=a?-1:l);return -1===n?void 0:e[n]}function c(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],n.set(this,!0)}set(e,t){return n.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,s){let r,a=this.has(t),i=this.#e.length,l=c(e),n=l>=0?l:i+l,o=n<0||n>=i?-1:n;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,s),this;let d=this.size+ +!a;l<0&&n++;let u=[...this.#e],m=!1;for(let e=n;e<d;e++)if(n===e){let i=u[e];u[e]===t&&(i=u[e+1]),a&&this.delete(t),r=this.get(i),this.set(t,s)}else{m||u[e-1]!==t||(m=!0);let s=u[m?e:e-1],a=r;r=this.get(s),this.delete(s),this.set(s,a)}return this}with(t,s,r){let a=new e(this);return a.insert(t,s,r),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,s){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,s)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,s){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,s)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let s=this.indexOf(e);if(-1===s)return;let r=s+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let s=this.indexOf(e);if(-1===s)return;let r=s+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return r;s++}}findIndex(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return s;s++}return -1}filter(t,s){let r=[],a=0;for(let e of this)Reflect.apply(t,s,[e,a,this])&&r.push(e),a++;return new e(r)}map(t,s){let r=[],a=0;for(let e of this)r.push([e[0],Reflect.apply(t,s,[e,a,this])]),a++;return new e(r)}reduce(...e){let[t,s]=e,r=0,a=s??this.at(0);for(let s of this)a=0===r&&1===e.length?s:Reflect.apply(t,this,[a,s,r,this]),r++;return a}reduceRight(...e){let[t,s]=e,r=s??this.at(-1);for(let s=this.size-1;s>=0;s--){let a=this.at(s);r=s===this.size-1&&1===e.length?a:Reflect.apply(t,this,[r,a,s,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let s=this.keyAt(e),r=this.get(s);t.set(s,r)}return t}toSpliced(...t){let s=[...this.entries()];return s.splice(...t),new e(s)}slice(t,s){let r=new e,a=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==s&&s>0&&(a=s-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),s=this.get(t);r.set(t,s)}return r}every(e,t){let s=0;for(let r of this){if(!Reflect.apply(e,t,[r,s,this]))return!1;s++}return!0}some(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return!0;s++}return!1}}),e.s(["createCollection",()=>l])},68304,51080,e=>{"use strict";var t=e.i(20314),s=e.i(79054),r=e.i(91967),a=e.i(22528),i=e.i(87342),l=e.i(5978),n=e.i(13123),o=e.i(87620),c=e.i(29297),d=e.i(36589),u=e.i(66033),m="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[x,p,g]=(0,i.createCollection)(h),[v,b]=(0,a.createContextScope)(h,[g]),[y,j]=v(h),k=s.forwardRef((e,s)=>(0,t.jsx)(x.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(x.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(w,{...e,ref:s})})}));k.displayName=h;var w=s.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:i,orientation:n,loop:x=!1,dir:g,currentTabStopId:v,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:j,onEntryFocus:k,preventScrollOnEntryFocus:w=!1,...N}=e,C=s.useRef(null),T=(0,l.useComposedRefs)(a,C),I=(0,u.useDirection)(g),[S,A]=(0,d.useControllableState)({prop:v,defaultProp:b??null,onChange:j,caller:h}),[z,E]=s.useState(!1),M=(0,c.useCallbackRef)(k),D=p(i),L=s.useRef(!1),[P,F]=s.useState(0);return s.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(m,M),()=>e.removeEventListener(m,M)},[M]),(0,t.jsx)(y,{scope:i,orientation:n,dir:I,loop:x,currentTabStopId:S,onItemFocus:s.useCallback(e=>A(e),[A]),onItemShiftTab:s.useCallback(()=>E(!0),[]),onFocusableItemAdd:s.useCallback(()=>F(e=>e+1),[]),onFocusableItemRemove:s.useCallback(()=>F(e=>e-1),[]),children:(0,t.jsx)(o.Primitive.div,{tabIndex:z||0===P?-1:0,"data-orientation":n,...N,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{L.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!L.current;if(e.target===e.currentTarget&&t&&!z){let t=new CustomEvent(m,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=D().filter(e=>e.focusable);R([e.find(e=>e.active),e.find(e=>e.id===S),...e].filter(Boolean).map(e=>e.ref.current),w)}}L.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>E(!1))})})}),N="RovingFocusGroupItem",C=s.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:i,focusable:l=!0,active:c=!1,tabStopId:d,children:u,...m}=e,f=(0,n.useId)(),h=d||f,g=j(N,i),v=g.currentTabStopId===h,b=p(i),{onFocusableItemAdd:y,onFocusableItemRemove:k,currentTabStopId:w}=g;return s.useEffect(()=>{if(l)return y(),()=>k()},[l,y,k]),(0,t.jsx)(x.ItemSlot,{scope:i,id:h,focusable:l,active:c,children:(0,t.jsx)(o.Primitive.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...m,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,s){var r;let a=(r=e.key,"rtl"!==s?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return T[a]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var s,r;"prev"===t&&a.reverse();let i=a.indexOf(e.currentTarget);a=g.loop?(s=a,r=i+1,s.map((e,t)=>s[(r+t)%s.length])):a.slice(i+1)}setTimeout(()=>R(a))}}),children:"function"==typeof u?u({isCurrentTabStop:v,hasTabStop:null!=w}):u})})});C.displayName=N;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function R(e,t=!1){let s=document.activeElement;for(let r of e)if(r===s||(r.focus({preventScroll:t}),document.activeElement!==s))return}e.s(["Item",()=>C,"Root",()=>k,"createRovingFocusGroupScope",()=>b],51080);var I=e.i(85995),S="Tabs",[A,z]=(0,a.createContextScope)(S,[b]),E=b(),[M,D]=A(S),L=s.forwardRef((e,s)=>{let{__scopeTabs:r,value:a,onValueChange:i,defaultValue:l,orientation:c="horizontal",dir:m,activationMode:f="automatic",...h}=e,x=(0,u.useDirection)(m),[p,g]=(0,d.useControllableState)({prop:a,onChange:i,defaultProp:l??"",caller:S});return(0,t.jsx)(M,{scope:r,baseId:(0,n.useId)(),value:p,onValueChange:g,orientation:c,dir:x,activationMode:f,children:(0,t.jsx)(o.Primitive.div,{dir:x,"data-orientation":c,...h,ref:s})})});L.displayName=S;var P="TabsList",F=s.forwardRef((e,s)=>{let{__scopeTabs:r,loop:a=!0,...i}=e,l=D(P,r),n=E(r);return(0,t.jsx)(k,{asChild:!0,...n,orientation:l.orientation,dir:l.dir,loop:a,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...i,ref:s})})});F.displayName=P;var O="TabsTrigger",B=s.forwardRef((e,s)=>{let{__scopeTabs:a,value:i,disabled:l=!1,...n}=e,c=D(O,a),d=E(a),u=q(c.baseId,i),m=K(c.baseId,i),f=i===c.value;return(0,t.jsx)(C,{asChild:!0,...d,focusable:!l,active:f,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":m,"data-state":f?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:u,...n,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(i)}),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(i)}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;f||l||!e||c.onValueChange(i)})})})});B.displayName=O;var H="TabsContent",V=s.forwardRef((e,r)=>{let{__scopeTabs:a,value:i,forceMount:l,children:n,...c}=e,d=D(H,a),u=q(d.baseId,i),m=K(d.baseId,i),f=i===d.value,h=s.useRef(f);return s.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(I.Presence,{present:l||f,children:({present:s})=>(0,t.jsx)(o.Primitive.div,{"data-state":f?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":u,hidden:!s,id:m,tabIndex:0,...c,ref:r,style:{...e.style,animationDuration:h.current?"0s":void 0},children:s&&n})})});function q(e,t){return`${e}-trigger-${t}`}function K(e,t){return`${e}-content-${t}`}V.displayName=H,e.s(["Content",()=>V,"List",()=>F,"Root",()=>L,"Tabs",()=>L,"TabsContent",()=>V,"TabsList",()=>F,"TabsTrigger",()=>B,"Trigger",()=>B,"createTabsScope",()=>z],43133);var $=e.i(43133),$=$,U=e.i(31777);let G=$.Root,_=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)($.List,{ref:r,className:(0,U.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...s}));_.displayName=$.List.displayName;let W=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)($.Trigger,{ref:r,className:(0,U.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...s}));W.displayName=$.Trigger.displayName;let X=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)($.Content,{ref:r,className:(0,U.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...s}));X.displayName=$.Content.displayName,e.s(["Tabs",()=>G,"TabsContent",()=>X,"TabsList",()=>_,"TabsTrigger",()=>W],68304)},30090,e=>{"use strict";let t=(0,e.i(3645).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["default",()=>t])},54277,e=>{"use strict";var t=e.i(30090);e.s(["CircleX",()=>t.default])},33548,e=>{"use strict";let t=(0,e.i(3645).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],33548)},23925,e=>{"use strict";var t=e.i(1012);e.s(["Check",()=>t.default])},81846,e=>{"use strict";var t=e.i(20314),s=e.i(94237),r=e.i(31777);let a=(0,s.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:s,...i}){return(0,t.jsx)("div",{className:(0,r.cn)(a({variant:s}),e),...i})}e.s(["Badge",()=>i])},1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t])},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},95812,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812)},35e3,e=>{"use strict";var t=e.i(80986);e.s(["CheckCircle2",()=>t.default])},44412,e=>{"use strict";var t=e.i(20314),s=e.i(79054),r=e.i(81975),a=e.i(68304),i=e.i(31777),l=e.i(83428),n=e.i(83902),o=e.i(3645);let c=(0,o.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),d=(0,o.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var u=e.i(38573),m=e.i(49228),f=e.i(54277),h=e.i(95812),x=e.i(35e3);let p=(0,o.default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var g=e.i(35364),v=e.i(2828),b=e.i(33548),y=e.i(23925),j=e.i(30702),k=e.i(11495);let w={linux:"Linux",darwin:"macOS",win32:"Windows"},N={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:u.Terminal},vcs:{label:"VCS",icon:m.GitBranch},terminal:{label:"Terminal",icon:u.Terminal}};function C({status:e}){return"available"===e?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",children:[(0,t.jsx)(y.Check,{className:"h-3 w-3"}),"Installed"]}):"error"===e?(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",children:"Error"}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:"Missing"})}function T({tool:e,open:r,onClose:a,onRefresh:i,autoStart:o}){let[u,m]=(0,s.useState)(!1),[f,h]=(0,s.useState)(!1),{logs:x,status:v,startInstall:T}=function(e){let[t,r]=(0,s.useState)([]),[a,i]=(0,s.useState)("idle"),[l,n]=(0,s.useState)(null),o=(0,s.useRef)(null),c=(0,s.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,s.useEffect)(()=>c,[c]),{logs:t,status:a,result:l,startInstall:(0,s.useCallback)(()=>{c(),r([]),n(null),i("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{r(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);n(t),i("error"===t.status?"error":"done"),c()}),t.onerror=()=>{i("error"),c()}},[e,c])}}(e.id),R=(0,s.useRef)(null),I=(0,s.useRef)(!0),S=(0,s.useRef)(!1),A="available"===e.status.status,z="error"===e.status.status,E=A&&!!e.openDirectory,M=!A&&!z&&e.autoInstall;async function D(){h(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{h(!1)}}(0,s.useEffect)(()=>{r&&o&&M&&"idle"===v&&!S.current&&(S.current=!0,T()),r||(S.current=!1)},[r,o,M,v,T]);let L=(0,s.useCallback)(()=>{let e=R.current;e&&(I.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,s.useEffect)(()=>{I.current&&R.current&&(R.current.scrollTop=R.current.scrollHeight)},[x,v]),(0,s.useEffect)(()=>{"done"===v&&i&&i()},[v,i]);let P=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pr-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:24,height:24,className:"shrink-0 dark:invert"}):(0,t.jsx)(p,{className:"text-muted-foreground h-6 w-6 shrink-0"}),(0,t.jsx)("h2",{className:"text-base font-bold",children:e.name}),(0,t.jsx)(C,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let s=N[e]??{label:e,icon:d},r=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(r,{className:"h-3 w-3"}),s.label]},e)})})]});return(0,t.jsx)(k.BaseDrawer,{open:r,onClose:a,size:"md",modal:!0,title:e.name,header:P,"data-testid":"tool-detail-drawer",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),e.author||e.platforms?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[e.author?(0,t.jsxs)("span",{className:"text-muted-foreground",children:["by"," ",e.website?(0,t.jsx)("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:underline",children:e.author}):(0,t.jsx)("span",{className:"text-foreground",children:e.author})]}):null,e.platforms&&e.platforms.length>0?(0,t.jsx)("span",{className:"text-muted-foreground",children:e.platforms.map(e=>w[e]??e).join(" · ")}):null]}):null,e.installCommand?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install command"}),(0,t.jsxs)("div",{className:"relative rounded-md bg-zinc-900 text-zinc-100",children:[(0,t.jsx)("pre",{className:"overflow-x-auto px-3 py-2.5 pr-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(g.Button,{variant:"ghost",size:"sm",className:"absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100",onClick:function(){e.installCommand&&navigator.clipboard.writeText(e.installCommand).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},"aria-label":u?"Copied!":"Copy install command",children:[u?(0,t.jsx)(y.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(b.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ml-1 text-[10px]",children:u?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[M?(0,t.jsxs)(g.Button,{size:"sm",onClick:T,disabled:"streaming"===v,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===v?(0,t.jsx)(l.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(c,{className:"mr-1.5 h-3.5 w-3.5"}),"streaming"===v?"Installing...":"Install"]}):null,E?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:()=>void D(),disabled:f,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[f?(0,t.jsx)(l.Loader2,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(n.Rocket,{className:"mr-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(g.Button,{variant:"outline",size:"sm",className:"cursor-pointer",asChild:!0,children:(0,t.jsxs)("a",{href:e.documentationUrl,target:"_blank",rel:"noopener noreferrer",children:["Docs",(0,t.jsx)(j.ExternalLink,{className:"ml-1 h-3 w-3"})]})}):null]}),("streaming"===v||"done"===v||"error"===v)&&x.length>0?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install log"}),(0,t.jsxs)("div",{ref:R,onScroll:L,className:"max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100","data-testid":"tool-install-log",children:[x.map((e,s)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},s)),"done"===v?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===v?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let R={ide:{label:"IDE",icon:d},"cli-agent":{label:"CLI Agent",icon:u.Terminal},vcs:{label:"VCS",icon:m.GitBranch},terminal:{label:"Terminal",icon:u.Terminal}};function I({tool:e,onRefresh:r,className:a}){let[o,u]=(0,s.useState)(!1),[m,b]=(0,s.useState)(!1),[y,j]=(0,s.useTransition)(),k="available"===e.status.status,w="error"===e.status.status,N=k&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){b(!1),u(!0)},className:(0,i.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",a),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:20,height:20,className:"shrink-0 dark:invert"}):(0,t.jsx)(p,{className:"text-muted-foreground h-5 w-5 shrink-0"}),(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"truncate text-sm font-bold",children:e.name})]}),(0,t.jsx)("div",{"data-testid":"tool-card-tags",className:"flex shrink-0 items-center gap-1",children:e.tags.map(e=>{let s=R[e]??{label:e,icon:d},r=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(r,{className:"h-2.5 w-2.5"}),s.label]},e)})})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground mt-1 truncate text-xs",children:e.summary}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[w&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 truncate text-[10px] text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(f.CircleX,{className:"h-3 w-3 shrink-0"}),e.status.errorMessage??"Error"]}):k?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(x.CheckCircle2,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px]",children:[(0,t.jsx)(h.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(v.TooltipProvider,{children:(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"rounded bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-700 dark:bg-amber-900/50 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(v.TooltipContent,{side:"top",children:"This tool is required for Shep to function properly"})]})}):null]}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:k&&N?(0,t.jsxs)(g.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),j(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:y,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[y?(0,t.jsx)(l.Loader2,{className:"mr-1 h-3 w-3 animate-spin"}):(0,t.jsx)(n.Rocket,{className:"mr-1 h-3 w-3"}),"Launch"]}):k||w?null:(0,t.jsxs)(g.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),b(e.autoInstall),u(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[(0,t.jsx)(c,{className:"mr-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(T,{tool:e,open:o,onClose:()=>u(!1),onRefresh:r,autoStart:m})]})}let S={all:()=>!0,ide:e=>e.tags.includes("ide"),"cli-agent":e=>e.tags.includes("cli-agent"),vcs:e=>e.tags.includes("vcs"),terminal:e=>e.tags.includes("terminal")};function A({tools:e,className:l}){let[n,o]=(0,s.useState)(e),[c,d]=(0,s.useState)("all"),u=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();o(t)}}catch{}},[]),m=n.filter(S[c]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,i.cn)("space-y-4",l),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Wrench,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[n.filter(e=>"available"===e.status.status).length,"/",n.length," installed"]})]}),(0,t.jsxs)(a.Tabs,{value:c,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(a.TabsList,{className:"h-7",children:[(0,t.jsx)(a.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(a.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(a.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(a.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(a.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(a.TabsContent,{value:c,className:"mt-3",children:0===m.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(r.Wrench,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:m.map(e=>(0,t.jsx)(I,{tool:e,onRefresh:u},e.id))})})]})]})}e.s(["ToolsPageClient",()=>A],44412)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87292,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),o=e.i(94237),i=e.i(3645);let n=(0,i.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);var l=e.i(5240),s=e.i(31777),d=e.i(35364);e.i(98127),e.i(25235);var c=e.i(48249),u=e.i(90033);function f({...e}){return(0,t.jsx)(u.Dialog.Root,{"data-slot":"sheet",...e})}function p({...e}){return(0,t.jsx)(u.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function h({className:e,...r}){return(0,t.jsx)(u.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,s.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...r})}function m({className:e,children:r,side:a="right",showCloseButton:o=!0,...i}){return(0,t.jsxs)(p,{children:[(0,t.jsx)(h,{}),(0,t.jsxs)(u.Dialog.Content,{"data-slot":"sheet-content",className:(0,s.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"===a&&"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"===a&&"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"===a&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===a&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...i,children:[r,o?(0,t.jsxs)(u.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,t.jsx)(c.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function b({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...r})}function g({className:e,...r}){return(0,t.jsx)(u.Dialog.Title,{"data-slot":"sheet-title",className:(0,s.cn)("text-foreground font-semibold",e),...r})}function v({className:e,...r}){return(0,t.jsx)(u.Dialog.Description,{"data-slot":"sheet-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...r})}var x=e.i(2828);let w=r.createContext(null);function C(){let e=r.useContext(w);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function y({defaultOpen:e=!0,open:a,onOpenChange:o,className:i,style:n,children:l,...d}){let c=function(){let[e,t]=r.useState(void 0);return r.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),r=()=>{t(window.innerWidth<768)};return e.addEventListener("change",r),t(window.innerWidth<768),()=>e.removeEventListener("change",r)},[]),!!e}(),[u,f]=r.useState(!1),[p,h]=r.useState(e),m=a??p,b=r.useCallback(e=>{let t="function"==typeof e?e(m):e;o?o(t):h(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[o,m]),g=r.useCallback(()=>c?f(e=>!e):b(e=>!e),[c,b,f]);r.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);let v=m?"expanded":"collapsed",C=r.useMemo(()=>({state:v,open:m,setOpen:b,isMobile:c,openMobile:u,setOpenMobile:f,toggleSidebar:g}),[v,m,b,c,u,f,g]);return(0,t.jsx)(w.Provider,{value:C,children:(0,t.jsx)(x.TooltipProvider,{delayDuration:0,children:(0,t.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...n},className:(0,s.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",i),...d,children:l})})})}function j({side:e="left",variant:r="sidebar",collapsible:a="offcanvas",className:o,children:i,...n}){let{isMobile:l,state:d,openMobile:c,setOpenMobile:u}=C();return"none"===a?(0,t.jsx)("div",{"data-slot":"sidebar",className:(0,s.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",o),...n,children:i}):l?(0,t.jsx)(f,{open:c,onOpenChange:u,...n,children:(0,t.jsxs)(m,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,t.jsxs)(b,{className:"sr-only",children:[(0,t.jsx)(g,{children:"Sidebar"}),(0,t.jsx)(v,{children:"Displays the mobile sidebar."})]}),(0,t.jsx)("div",{className:"flex h-full w-full flex-col",children:i})]})}):(0,t.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":d,"data-collapsible":"collapsed"===d?a:"","data-variant":r,"data-side":e,"data-slot":"sidebar",children:[(0,t.jsx)("div",{"data-slot":"sidebar-gap",className:(0,s.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"===r||"inset"===r?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,t.jsx)("div",{"data-slot":"sidebar-container",className:(0,s.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===e?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===r||"inset"===r?"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",o),...n,children:(0,t.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:i})})]})}function S({className:e,...r}){let{toggleSidebar:a}=C();return(0,t.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:a,title:"Toggle Sidebar",className:(0,s.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...r})}function k({className:e,...r}){return(0,t.jsx)("main",{"data-slot":"sidebar-inset",className:(0,s.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...r})}function N({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,s.cn)("flex flex-col gap-2 p-2",e),...r})}function E({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,s.cn)("flex flex-col gap-2 p-2",e),...r})}function T({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,s.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...r})}function R({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,s.cn)("relative flex w-full min-w-0 flex-col p-2",e),...r})}function A({className:e,asChild:r=!1,...a}){let o=r?l.Slot.Root:"div";return(0,t.jsx)(o,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,s.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...a})}function L({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,s.cn)("w-full text-sm",e),...r})}function P({className:e,...r}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,s.cn)("flex w-full min-w-0 flex-col gap-1",e),...r})}function z({className:e,...r}){return(0,t.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,s.cn)("group/menu-item relative",e),...r})}let D=(0,o.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 _({asChild:e=!1,isActive:r=!1,variant:a="default",size:o="default",tooltip:i,className:n,...d}){let c=e?l.Slot.Root:"button",{isMobile:u,state:f}=C(),p=(0,t.jsx)(c,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":o,"data-active":r,className:(0,s.cn)(D({variant:a,size:o}),n),...d});return i?("string"==typeof i&&(i={children:i}),(0,t.jsxs)(x.Tooltip,{children:[(0,t.jsx)(x.TooltipTrigger,{asChild:!0,children:p}),(0,t.jsx)(x.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||u,...i})]})):p}let M=(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 H=e.i(81975),I=e.i(12103),W=e.i(3214),O=e.i(39200),F=e.i(87620),B=e.i(85995),U=e.i(22528),V=e.i(5978),X=e.i(29297),Y=e.i(66033),$=e.i(5192),q=e.i(27069),Z=e.i(91967),K="ScrollArea",[G,J]=(0,U.createContextScope)(K),[Q,ee]=G(K),et=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,type:i="hover",dir:n,scrollHideDelay:l=600,...s}=e,[d,c]=r.useState(null),[u,f]=r.useState(null),[p,h]=r.useState(null),[m,b]=r.useState(null),[g,v]=r.useState(null),[x,w]=r.useState(0),[C,y]=r.useState(0),[j,S]=r.useState(!1),[k,N]=r.useState(!1),E=(0,V.useComposedRefs)(a,e=>c(e)),T=(0,Y.useDirection)(n);return(0,t.jsx)(Q,{scope:o,type:i,dir:T,scrollHideDelay:l,scrollArea:d,viewport:u,onViewportChange:f,content:p,onContentChange:h,scrollbarX:m,onScrollbarXChange:b,scrollbarXEnabled:j,onScrollbarXEnabledChange:S,scrollbarY:g,onScrollbarYChange:v,scrollbarYEnabled:k,onScrollbarYEnabledChange:N,onCornerWidthChange:w,onCornerHeightChange:y,children:(0,t.jsx)(F.Primitive.div,{dir:T,...s,ref:E,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":C+"px",...e.style}})})});et.displayName=K;var er="ScrollAreaViewport",ea=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,children:i,nonce:n,...l}=e,s=ee(er,o),d=r.useRef(null),c=(0,V.useComposedRefs)(a,d,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:n}),(0,t.jsx)(F.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:c,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})})]})});ea.displayName=er;var eo="ScrollAreaScrollbar",ei=r.forwardRef((e,a)=>{let{forceMount:o,...i}=e,n=ee(eo,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:s}=n,d="horizontal"===e.orientation;return r.useEffect(()=>(d?l(!0):s(!0),()=>{d?l(!1):s(!1)}),[d,l,s]),"hover"===n.type?(0,t.jsx)(en,{...i,ref:a,forceMount:o}):"scroll"===n.type?(0,t.jsx)(el,{...i,ref:a,forceMount:o}):"auto"===n.type?(0,t.jsx)(es,{...i,ref:a,forceMount:o}):"always"===n.type?(0,t.jsx)(ed,{...i,ref:a}):null});ei.displayName=eo;var en=r.forwardRef((e,a)=>{let{forceMount:o,...i}=e,n=ee(eo,e.__scopeScrollArea),[l,s]=r.useState(!1);return r.useEffect(()=>{let e=n.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),s(!0)},a=()=>{t=window.setTimeout(()=>s(!1),n.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",a),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",a)}}},[n.scrollArea,n.scrollHideDelay]),(0,t.jsx)(B.Presence,{present:o||l,children:(0,t.jsx)(es,{"data-state":l?"visible":"hidden",...i,ref:a})})}),el=r.forwardRef((e,a)=>{var o;let{forceMount:i,...n}=e,l=ee(eo,e.__scopeScrollArea),s="horizontal"===e.orientation,d=eE(()=>u("SCROLL_END"),100),[c,u]=(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(()=>u("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,l.scrollHideDelay,u]),r.useEffect(()=>{let e=l.viewport,t=s?"scrollLeft":"scrollTop";if(e){let r=e[t],a=()=>{let a=e[t];r!==a&&(u("SCROLL"),d()),r=a};return e.addEventListener("scroll",a),()=>e.removeEventListener("scroll",a)}},[l.viewport,s,u,d]),(0,t.jsx)(B.Presence,{present:i||"hidden"!==c,children:(0,t.jsx)(ed,{"data-state":"hidden"===c?"hidden":"visible",...n,ref:a,onPointerEnter:(0,Z.composeEventHandlers)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,Z.composeEventHandlers)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),es=r.forwardRef((e,a)=>{let o=ee(eo,e.__scopeScrollArea),{forceMount:i,...n}=e,[l,s]=r.useState(!1),d="horizontal"===e.orientation,c=eE(()=>{if(o.viewport){let e=o.viewport.offsetWidth<o.viewport.scrollWidth,t=o.viewport.offsetHeight<o.viewport.scrollHeight;s(d?e:t)}},10);return eT(o.viewport,c),eT(o.content,c),(0,t.jsx)(B.Presence,{present:i||l,children:(0,t.jsx)(ed,{"data-state":l?"visible":"hidden",...n,ref:a})})}),ed=r.forwardRef((e,a)=>{let{orientation:o="vertical",...i}=e,n=ee(eo,e.__scopeScrollArea),l=r.useRef(null),s=r.useRef(0),[d,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ey(d.viewport,d.content),f={...i,sizes:d,onSizesChange:c,hasThumb:!!(u>0&&u<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return function(e,t,r,a="ltr"){let o=ej(r),i=t||o/2,n=r.scrollbar.paddingStart+i,l=r.scrollbar.size-r.scrollbar.paddingEnd-(o-i),s=r.content-r.viewport;return ek([n,l],"ltr"===a?[0,s]:[-1*s,0])(e)}(e,s.current,d,t)}return"horizontal"===o?(0,t.jsx)(ec,{...f,ref:a,onThumbPositionChange:()=>{if(n.viewport&&l.current){let e=eS(n.viewport.scrollLeft,d,n.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollLeft=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollLeft=p(e,n.dir))}}):"vertical"===o?(0,t.jsx)(eu,{...f,ref:a,onThumbPositionChange:()=>{if(n.viewport&&l.current){let e=eS(n.viewport.scrollTop,d);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollTop=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollTop=p(e))}}):null}),ec=r.forwardRef((e,a)=>{let{sizes:o,onSizesChange:i,...n}=e,l=ee(eo,e.__scopeScrollArea),[s,d]=r.useState(),c=r.useRef(null),u=(0,V.useComposedRefs)(a,c,l.onScrollbarXChange);return r.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eh,{"data-orientation":"horizontal",...n,ref:u,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":ej(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(l.viewport){var a,o;let i=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),a=i,o=r,a>0&&a<o&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&i({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:eC(s.paddingLeft),paddingEnd:eC(s.paddingRight)}})}})}),eu=r.forwardRef((e,a)=>{let{sizes:o,onSizesChange:i,...n}=e,l=ee(eo,e.__scopeScrollArea),[s,d]=r.useState(),c=r.useRef(null),u=(0,V.useComposedRefs)(a,c,l.onScrollbarYChange);return r.useEffect(()=>{c.current&&d(getComputedStyle(c.current))},[c]),(0,t.jsx)(eh,{"data-orientation":"vertical",...n,ref:u,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":ej(o)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(l.viewport){var a,o;let i=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),a=i,o=r,a>0&&a<o&&t.preventDefault()}},onResize:()=>{c.current&&l.viewport&&s&&i({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:eC(s.paddingTop),paddingEnd:eC(s.paddingBottom)}})}})}),[ef,ep]=G(eo),eh=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,sizes:i,hasThumb:n,onThumbChange:l,onThumbPointerUp:s,onThumbPointerDown:d,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:f,onResize:p,...h}=e,m=ee(eo,o),[b,g]=r.useState(null),v=(0,V.useComposedRefs)(a,e=>g(e)),x=r.useRef(null),w=r.useRef(""),C=m.viewport,y=i.content-i.viewport,j=(0,X.useCallbackRef)(f),S=(0,X.useCallbackRef)(c),k=eE(p,10);function N(e){x.current&&u({x:e.clientX-x.current.left,y:e.clientY-x.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;b?.contains(t)&&j(e,y)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[C,b,y,j]),r.useEffect(S,[i,S]),eT(b,k),eT(m.content,k),(0,t.jsx)(ef,{scope:o,scrollbar:b,hasThumb:n,onThumbChange:(0,X.useCallbackRef)(l),onThumbPointerUp:(0,X.useCallbackRef)(s),onThumbPositionChange:S,onThumbPointerDown:(0,X.useCallbackRef)(d),children:(0,t.jsx)(F.Primitive.div,{...h,ref:v,style:{position:"absolute",...h.style},onPointerDown:(0,Z.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),x.current=b.getBoundingClientRect(),w.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),N(e))}),onPointerMove:(0,Z.composeEventHandlers)(e.onPointerMove,N),onPointerUp:(0,Z.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=w.current,m.viewport&&(m.viewport.style.scrollBehavior=""),x.current=null})})})}),em="ScrollAreaThumb",eb=r.forwardRef((e,r)=>{let{forceMount:a,...o}=e,i=ep(em,e.__scopeScrollArea);return(0,t.jsx)(B.Presence,{present:a||i.hasThumb,children:(0,t.jsx)(eg,{ref:r,...o})})}),eg=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,style:i,...n}=e,l=ee(em,o),s=ep(em,o),{onThumbPositionChange:d}=s,c=(0,V.useComposedRefs)(a,e=>s.onThumbChange(e)),u=r.useRef(void 0),f=eE(()=>{u.current&&(u.current(),u.current=void 0)},100);return r.useEffect(()=>{let e=l.viewport;if(e){let t=()=>{f(),u.current||(u.current=eN(e,d),d())};return d(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[l.viewport,f,d]),(0,t.jsx)(F.Primitive.div,{"data-state":s.hasThumb?"visible":"hidden",...n,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,Z.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,a=e.clientY-t.top;s.onThumbPointerDown({x:r,y:a})}),onPointerUp:(0,Z.composeEventHandlers)(e.onPointerUp,s.onThumbPointerUp)})});eb.displayName=em;var ev="ScrollAreaCorner",ex=r.forwardRef((e,r)=>{let a=ee(ev,e.__scopeScrollArea),o=!!(a.scrollbarX&&a.scrollbarY);return"scroll"!==a.type&&o?(0,t.jsx)(ew,{...e,ref:r}):null});ex.displayName=ev;var ew=r.forwardRef((e,a)=>{let{__scopeScrollArea:o,...i}=e,n=ee(ev,o),[l,s]=r.useState(0),[d,c]=r.useState(0),u=!!(l&&d);return eT(n.scrollbarX,()=>{let e=n.scrollbarX?.offsetHeight||0;n.onCornerHeightChange(e),c(e)}),eT(n.scrollbarY,()=>{let e=n.scrollbarY?.offsetWidth||0;n.onCornerWidthChange(e),s(e)}),u?(0,t.jsx)(F.Primitive.div,{...i,ref:a,style:{width:l,height:d,position:"absolute",right:"ltr"===n.dir?0:void 0,left:"rtl"===n.dir?0:void 0,bottom:0,...e.style}}):null});function eC(e){return e?parseInt(e,10):0}function ey(e,t){let r=e/t;return isNaN(r)?0:r}function ej(e){let t=ey(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function eS(e,t,r="ltr"){let a=ej(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,n=t.content-t.viewport,l=(0,q.clamp)(e,"ltr"===r?[0,n]:[-1*n,0]);return ek([0,n],[0,i-a])(l)}function ek(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}var eN=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},a=0;return!function o(){let i={left:e.scrollLeft,top:e.scrollTop},n=r.left!==i.left,l=r.top!==i.top;(n||l)&&t(),r=i,a=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(a)};function eE(e,t){let a=(0,X.useCallbackRef)(e),o=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(o.current),[]),r.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(a,t)},[a,t])}function eT(e,t){let r=(0,X.useCallbackRef)(t);(0,$.useLayoutEffect)(()=>{let t=0;if(e){let a=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return a.observe(e),()=>{window.cancelAnimationFrame(t),a.unobserve(e)}}},[e,r])}e.s(["Corner",()=>ex,"Root",()=>et,"ScrollArea",()=>et,"ScrollAreaCorner",()=>ex,"ScrollAreaScrollbar",()=>ei,"ScrollAreaThumb",()=>eb,"ScrollAreaViewport",()=>ea,"Scrollbar",()=>ei,"Thumb",()=>eb,"Viewport",()=>ea,"createScrollAreaScope",()=>J],87516);var eR=e.i(87516),eR=eR;function eA({className:e,children:r,...a}){return(0,t.jsxs)(eR.Root,{"data-slot":"scroll-area",className:(0,s.cn)("relative",e),...a,children:[(0,t.jsx)(eR.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&>div]:block!",children:r}),(0,t.jsx)(eL,{}),(0,t.jsx)(eR.Corner,{})]})}function eL({className:e,orientation:r="vertical",...a}){return(0,t.jsx)(eR.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,s.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),...a,children:(0,t.jsx)(eR.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var eP=e.i(24035),ez=e.i(8361);function eD({icon:e,label:r,href:a,active:o=!1}){let i=(0,ez.useSoundAction)("navigate");return(0,t.jsx)(z,{"data-testid":"sidebar-nav-item",children:(0,t.jsx)(_,{asChild:!0,isActive:o,tooltip:r,children:(0,t.jsxs)(eP.default,{href:a,onClick:()=>i.play(),children:[(0,t.jsx)(e,{}),(0,t.jsx)("span",{children:r})]})})})}function e_({className:e}){let{toggleSidebar:r,open:a}=C(),o=(0,ez.useSoundAction)("expand"),i=(0,ez.useSoundAction)("collapse");return(0,t.jsx)("div",{className:(0,s.cn)("flex",e),children:(0,t.jsx)(d.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:()=>{a?i.play():o.play(),r()},"aria-label":a?"Collapse sidebar":"Expand sidebar",children:(0,t.jsx)(n,{className:"size-4"})})})}function eM({className:e,size:r=24}){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:r,height:r,className:(0,s.cn)("shrink-0",e),"aria-hidden":"true",children:(0,t.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,t.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}function eH({startedAt:e}){let[a,o]=(0,r.useState)(()=>Date.now()-e);return(0,r.useEffect)(()=>{let t=setInterval(()=>{(0,r.startTransition)(()=>o(Date.now()-e))},1e3);return()=>clearInterval(t)},[e]),(0,t.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(e){let t=Math.floor(e/1e3);if(t>=3600){let e=Math.floor(t/3600);return`${e}h`}let r=Math.floor(t/60);return`${String(r).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`}(a)})}var eI=e.i(51251),eW=e.i(83428),eO=e.i(10942);let eF={"action-needed":{icon:eI.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:eW.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},done:{icon:eO.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}},eB=["action-needed","in-progress","done"];function eU({name:e,status:r,startedAt:a,duration:o,onClick:i}){let{icon:n,iconClass:l}=eF[r];return(0,t.jsx)(z,{"data-testid":"feature-list-item",children:(0,t.jsxs)(_,{size:"sm",onClick:i,tooltip:e,className:"cursor-pointer",children:[(0,t.jsx)(n,{className:l}),(0,t.jsx)("span",{className:"flex-1 truncate font-medium",children:e}),"in-progress"===r&&null!=a?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,t.jsx)(eH,{startedAt:a})}):null,"done"===r&&o?(0,t.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:o}):null]})})}function eV({label:e,count:r,children:a}){return(0,t.jsxs)(R,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,t.jsxs)(A,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[e,(0,t.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,t.jsx)(L,{children:(0,t.jsx)(P,{className:"gap-0.5",children:a})})]})}function eX({label:e,className:r}){return(0,t.jsx)(R,{"data-testid":"sidebar-section-header",className:(0,s.cn)("px-2 py-1",r),children:(0,t.jsx)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e})})})}function eY({features:e,featureFlags:o,onNewFeature:i,onFeatureClick:n}){let l=(0,a.usePathname)(),{state:s}=C(),{mounted:d,visible:c}=function(e,t){let[a,o]=(0,r.useState)(!e),[i,n]=(0,r.useState)(!e);return(0,r.useEffect)(()=>{if(!e){o(!0);let e=requestAnimationFrame(()=>n(!0));return()=>cancelAnimationFrame(e)}n(!1);let t=window.setTimeout(()=>o(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:a,visible:i}}("collapsed"===s,0),u=eB.map(t=>{let{label:r}=eF[t],a=e.filter(e=>e.status===t);return{key:t,label:r,items:a}});return(0,t.jsxs)(j,{"data-testid":"app-sidebar","data-no-drawer-close":!0,collapsible:"icon",children:[(0,t.jsx)(N,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(z,{children:(0,t.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[d?(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",c?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!c,children:[(0,t.jsx)(eM,{className:"shrink-0",size:20}),(0,t.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,t.jsx)(e_,{className:"shrink-0 transition-all duration-200"})]})}),(0,t.jsx)(eD,{icon:M,label:"Control Center",href:"/",active:"/"===l}),(0,t.jsx)(eD,{icon:H.Wrench,label:"Tools",href:"/tools",active:"/tools"===l}),o.skills?(0,t.jsx)(eD,{icon:I.Puzzle,label:"Skills",href:"/skills",active:"/skills"===l}):null,(0,t.jsx)(eD,{icon:O.Settings,label:"Settings",href:"/settings",active:"/settings"===l})]})}),(0,t.jsx)(T,{children:d?(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",c?"opacity-100":"opacity-0"].join(" "),children:[(0,t.jsx)(eX,{label:"Features"}),(0,t.jsx)(eA,{children:u.map(({key:e,label:r,items:a})=>a.length>0?(0,t.jsx)(eV,{label:r,count:a.length,children:a.map(e=>(0,t.jsx)(eU,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,onClick:n?()=>n(e.featureId):void 0},e.featureId))},e):null)})]}):null}),(0,t.jsx)(E,{children:(0,t.jsx)(P,{children:(0,t.jsx)(z,{children:(0,t.jsxs)(_,{onClick:i,tooltip:"New feature",children:[(0,t.jsx)(W.Plus,{}),(0,t.jsx)("span",{children:"New feature"})]})})})}),(0,t.jsx)(S,{})]})}let e$=(0,i.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 eq=e.i(78521);function eZ({onSelect:e}){let[a,o]=(0,r.useState)(!1);async function i(){if(!a){o(!0);try{let t=await (0,eq.pickFolder)();t&&e?.(t)}finally{o(!1)}}}return(0,t.jsx)(x.TooltipProvider,{children:(0,t.jsxs)(x.Tooltip,{children:[(0,t.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(d.Button,{variant:"ghost",size:"icon","aria-label":"Add Repository","data-testid":"add-repository-button",onClick:i,disabled:a,children:a?(0,t.jsx)(eW.Loader2,{className:"h-5 w-5 animate-spin"}):(0,t.jsx)(e$,{className:"h-5 w-5"})})}),(0,t.jsx)(x.TooltipContent,{children:"Add Repository"})]})})}let eK=(0,i.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"}]]),eG=(0,i.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"}]]),eJ="shep-theme";function eQ(){let{theme:e,resolvedTheme:a,setTheme:o}=function(){let[e,t]=(0,r.useState)("system"),[a,o]=(0,r.useState)("light"),i=(0,r.useCallback)(()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[]),n=(0,r.useCallback)(e=>"system"===e?i():e,[i]),l=(0,r.useCallback)(e=>{if("u"<typeof document)return;let t=document.documentElement;t.classList.remove("light","dark"),t.classList.add(e),o(e)},[]),s=(0,r.useCallback)(e=>{t(e),"u">typeof localStorage&&localStorage.setItem(eJ,e),l(n(e))},[n,l]);return(0,r.useEffect)(()=>{let e=localStorage.getItem(eJ)??"system";t(e),l(n(e))},[n,l]),(0,r.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{"system"===e&&l(n("system"))};return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e,n,l]),{theme:e,resolvedTheme:a,setTheme:s}}(),i=(0,ez.useSoundAction)("toggle-on"),n=(0,ez.useSoundAction)("toggle-off");return(0,t.jsxs)(d.Button,{variant:"ghost",size:"icon",onClick:t=>{let r="system"===e?"dark"===a?"light":"dark":"dark"===e?"light":"dark";"dark"!==("system"===e?a:e)?i.play():n.play();let l=window.matchMedia("(prefers-reduced-motion: reduce)").matches;!document.startViewTransition||l?o(r):(document.documentElement.style.setProperty("--x",`${t.clientX}px`),document.documentElement.style.setProperty("--y",`${t.clientY}px`),document.startViewTransition(()=>{o(r)}))},"aria-label":`Switch to ${"dark"===a?"light":"dark"} mode`,children:[(0,t.jsx)(eG,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,t.jsx)(eK,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}let e0=(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"}]]),e2=(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 e1=e.i(73709);function e4(){let{enabled:e,toggle:r}=(0,e1.useSoundEnabled)();return(0,t.jsxs)(d.Button,{variant:"ghost",size:"icon",onClick:r,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,t.jsx)(e0,{className:"h-5 w-5"}):(0,t.jsx)(e2,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var e3=e.i(39443),e5=e.i(30153),e7=e.i(5147),e6=e.i(60112),e8=e.i(17406);let e9={[e8.NotificationSeverity.Success]:"success",[e8.NotificationSeverity.Error]:"error",[e8.NotificationSeverity.Warning]:"warning",[e8.NotificationSeverity.Info]:"info"},te={[e8.NotificationSeverity.Success]:"notification-success",[e8.NotificationSeverity.Error]:"notification-error",[e8.NotificationSeverity.Warning]:"notification-warning",[e8.NotificationSeverity.Info]:"notification-info"};var tt=e.i(75921);function tr({children:e}){let o=(0,a.useRouter)(),{guardedNavigate:i}=(0,e5.useDrawerCloseGuard)(),n=(0,tt.useFeatureFlags)();!function(){let e=(0,a.useRouter)(),{events:t}=(0,e3.useAgentEventsContext)(),o=(0,ez.useSoundAction)("notification-success"),i=(0,ez.useSoundAction)("notification-error"),n=(0,ez.useSoundAction)("notification-warning"),l=(0,ez.useSoundAction)("notification-info"),s=(0,r.useMemo)(()=>({"notification-success":o,"notification-error":i,"notification-warning":n,"notification-info":l}),[o,i,n,l]),d=(0,r.useRef)(0);(0,r.useEffect)(()=>{if(t.length<=d.current)return;let r=t.slice(d.current);for(let a of(d.current=t.length,r)){if(a.severity!==e8.NotificationSeverity.Error&&a.severity!==e8.NotificationSeverity.Warning&&a.severity!==e8.NotificationSeverity.Success)continue;!function(e,t){let r=e9[e.severity]??"info",a=e.eventType===e8.NotificationEventType.WaitingApproval;e6.toast[r](e.featureName,{description:e.message,...a&&t&&{action:{label:"Review",onClick:()=>{t(`/feature/${e.featureId}`)}}}})}(a,t=>e.push(t));let t=te[a.severity];s[t]?.play()}},[t,s,e])}();let{features:l}=(0,e7.useSidebarFeaturesContext)(),s=(0,r.useCallback)(()=>{i(()=>o.push("/create"))},[o,i]),d=(0,r.useCallback)(e=>{i(()=>o.push(`/feature/${e}`))},[o,i]),c=(0,r.useCallback)(e=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))},[]);return(0,t.jsxs)(y,{children:[(0,t.jsx)(eY,{features:l,featureFlags:n,onNewFeature:s,onFeatureClick:d}),(0,t.jsx)(k,{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)(eZ,{onSelect:c}),(0,t.jsx)(e4,{}),(0,t.jsx)(eQ,{})]}),(0,t.jsx)("main",{className:"h-full",children:e})]})})]})}function ta({children:e}){return(0,t.jsx)(e3.AgentEventsProvider,{children:(0,t.jsx)(e5.DrawerCloseGuardProvider,{children:(0,t.jsx)(e7.SidebarFeaturesProvider,{children:(0,t.jsx)(tr,{children:e})})})})}e.s(["AppShell",()=>ta],87292)},25251,e=>{"use strict";var t=e.i(20314),r=e.i(60112);let a=({...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",()=>a])}]);