@shepai/cli 1.77.2-pr240.0ae5c6e → 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 (521) 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/build-feature-node-data.d.ts.map +1 -1
  93. package/dist/src/presentation/web/app/build-feature-node-data.js +1 -0
  94. package/dist/src/presentation/web/app/build-graph-nodes.js +1 -0
  95. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts +3 -1
  96. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
  97. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +2 -2
  98. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +9 -1
  99. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  100. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +29 -4
  101. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +5 -0
  102. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  103. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +32 -3
  104. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts +3 -1
  105. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.d.ts.map +1 -1
  106. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +6 -2
  107. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts +1 -0
  108. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.d.ts.map +1 -1
  109. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.js +15 -0
  110. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +2 -0
  111. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  112. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +11 -2
  113. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  114. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +1 -2
  115. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +3 -1
  116. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  117. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +0 -2
  118. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  119. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +9 -6
  120. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  121. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +19 -0
  122. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  123. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +2 -0
  124. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +12 -0
  125. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -0
  126. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +59 -0
  127. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts +11 -0
  128. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -0
  129. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +103 -0
  130. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts +24 -0
  131. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.d.ts.map +1 -0
  132. package/dist/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.js +53 -0
  133. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts +18 -0
  134. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts.map +1 -0
  135. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +84 -0
  136. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  137. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +7 -21
  138. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +2 -0
  139. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  140. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +1 -1
  141. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  142. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +28 -3
  143. package/dist/src/presentation/web/components/ui/checkbox-group-item.js +1 -1
  144. package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
  145. package/dist/src/presentation/web/components/ui/command.d.ts +19 -0
  146. package/dist/src/presentation/web/components/ui/command.d.ts.map +1 -0
  147. package/dist/src/presentation/web/components/ui/command.js +26 -0
  148. package/dist/src/presentation/web/components/ui/switch.js +1 -1
  149. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts +2 -0
  150. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  151. package/dist/src/presentation/web/lib/model-metadata.d.ts +6 -0
  152. package/dist/src/presentation/web/lib/model-metadata.d.ts.map +1 -0
  153. package/dist/src/presentation/web/lib/model-metadata.js +41 -0
  154. package/dist/tsconfig.build.tsbuildinfo +1 -1
  155. package/package.json +1 -1
  156. package/web/.next/BUILD_ID +1 -1
  157. package/web/.next/build-manifest.json +4 -4
  158. package/web/.next/cache/.previewinfo +1 -1
  159. package/web/.next/cache/.rscinfo +1 -1
  160. package/web/.next/cache/.tsbuildinfo +1 -1
  161. package/web/.next/cache/config.json +3 -3
  162. package/web/.next/fallback-build-manifest.json +2 -2
  163. package/web/.next/prerender-manifest.json +3 -3
  164. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  165. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +62 -32
  166. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  167. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  168. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  169. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  170. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  171. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  172. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  173. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  174. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  175. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  176. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  177. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  178. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +62 -32
  179. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  180. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  181. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  182. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  183. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  184. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  185. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  186. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  187. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  188. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  189. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  190. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  191. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  192. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  193. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  194. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  195. package/web/.next/server/app/_global-error.html +2 -2
  196. package/web/.next/server/app/_global-error.rsc +1 -1
  197. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  198. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  199. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  200. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  201. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  202. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  203. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  204. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  205. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  206. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  207. package/web/.next/server/app/settings/page/server-reference-manifest.json +36 -6
  208. package/web/.next/server/app/settings/page.js +2 -2
  209. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  210. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  211. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  212. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  213. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  214. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  215. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  216. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  217. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  218. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  219. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  220. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  221. package/web/.next/server/app/version/page.js.nft.json +1 -1
  222. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  223. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  224. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  225. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  226. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js +3 -0
  227. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js.map +1 -0
  228. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  229. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
  230. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  231. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
  232. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  233. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  234. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  235. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +4 -0
  236. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js.map +1 -0
  237. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  238. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  239. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +3 -0
  240. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js.map +1 -0
  241. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
  242. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js.map +1 -1
  243. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
  244. package/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js.map +1 -1
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js +3 -0
  246. package/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js.map +1 -0
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  248. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js.map +1 -1
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/_04968d9f._.js +3 -0
  252. package/web/.next/server/chunks/ssr/_04968d9f._.js.map +1 -0
  253. package/web/.next/server/chunks/ssr/_0bd0fafb._.js +9 -0
  254. package/web/.next/server/chunks/ssr/_0bd0fafb._.js.map +1 -0
  255. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  256. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/_14fa79b2._.js +3 -0
  258. package/web/.next/server/chunks/ssr/_14fa79b2._.js.map +1 -0
  259. package/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  260. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -1
  261. package/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  262. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
  263. package/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  264. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -1
  265. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_6645f218._.js → server/chunks/ssr/_8dacd1e7._.js} +2 -2
  266. package/web/.next/server/chunks/ssr/{_6645f218._.js.map → _8dacd1e7._.js.map} +1 -1
  267. package/web/.next/server/chunks/ssr/_9ac70f88._.js +5 -0
  268. package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +1 -0
  269. package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  270. package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
  271. package/web/.next/server/chunks/ssr/{_88c4dab8._.js → _b5fc318a._.js} +2 -2
  272. package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +1 -0
  273. package/web/.next/server/chunks/ssr/_ba1ec9b2._.js +3 -0
  274. package/web/.next/server/chunks/ssr/_ba1ec9b2._.js.map +1 -0
  275. package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  276. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  277. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_e830422e._.js → server/chunks/ssr/_e3da8cc8._.js} +2 -2
  278. package/web/.next/server/chunks/ssr/{_e830422e._.js.map → _e3da8cc8._.js.map} +1 -1
  279. package/web/.next/server/chunks/ssr/_ed356507._.js +3 -0
  280. package/web/.next/server/chunks/ssr/{_5428b384._.js.map → _ed356507._.js.map} +1 -1
  281. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  282. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  283. package/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js +3 -0
  284. package/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js.map +1 -0
  285. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  286. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js.map +1 -1
  287. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  288. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js.map +1 -1
  289. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  290. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
  291. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  292. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  293. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  294. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  295. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  296. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -1
  297. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +6 -0
  298. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js.map +1 -0
  299. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  300. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  301. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  302. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  303. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +6 -0
  304. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js.map +1 -0
  305. package/web/.next/server/middleware-build-manifest.js +2 -2
  306. package/web/.next/server/pages/500.html +2 -2
  307. package/web/.next/server/server-reference-manifest.js +1 -1
  308. package/web/.next/server/server-reference-manifest.json +117 -59
  309. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  310. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +4 -4
  311. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  312. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  313. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +62 -32
  314. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  315. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  316. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  317. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  318. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  319. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  320. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  321. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  322. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  323. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  324. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  325. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  326. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +62 -32
  327. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +1 -1
  328. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  329. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  330. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  331. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  332. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  333. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  334. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  335. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  336. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  337. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  338. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  339. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  340. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  341. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  342. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  343. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  344. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  345. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  346. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  347. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  348. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  349. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  350. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  351. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  352. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  353. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  354. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/build-manifest.json +2 -2
  355. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/server-reference-manifest.json +36 -6
  356. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js +2 -2
  357. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.nft.json +1 -1
  358. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  359. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +2 -2
  360. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  361. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  362. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  363. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +2 -2
  364. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  365. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  366. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  367. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +2 -2
  368. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  369. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  370. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  371. 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
  372. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_c7cfe351._.js +3 -0
  373. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  374. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  375. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  376. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  377. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +4 -0
  378. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  379. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +3 -0
  380. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c3c963c6._.js +1 -1
  381. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c9777776._.js +1 -1
  382. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d076a90b._.js +3 -0
  383. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  384. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  385. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_04968d9f._.js +3 -0
  386. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0bd0fafb._.js +9 -0
  387. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  388. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_14fa79b2._.js +3 -0
  389. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  390. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  391. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  392. package/web/.next/{server/chunks/ssr/_6645f218._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_8dacd1e7._.js} +2 -2
  393. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9ac70f88._.js +5 -0
  394. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  395. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_88c4dab8._.js → _b5fc318a._.js} +2 -2
  396. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ba1ec9b2._.js +3 -0
  397. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  398. package/web/.next/{server/chunks/ssr/_e830422e._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_e3da8cc8._.js} +2 -2
  399. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ed356507._.js +3 -0
  400. 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
  401. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_1fcecd3a._.js +3 -0
  402. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  403. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  404. 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
  405. 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
  406. 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
  407. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  408. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +6 -0
  409. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  410. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  411. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +6 -0
  412. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +2 -2
  413. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  414. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  415. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +117 -59
  416. package/web/.next/standalone/src/presentation/web/app/(dashboard)/@drawer/create/page.tsx +4 -0
  417. package/web/.next/standalone/src/presentation/web/app/actions/create-feature.ts +20 -2
  418. package/web/.next/standalone/src/presentation/web/app/actions/get-all-agent-models.ts +65 -0
  419. package/web/.next/standalone/src/presentation/web/app/actions/get-supported-models.ts +26 -0
  420. package/web/.next/standalone/src/presentation/web/app/actions/update-agent-and-model.ts +41 -0
  421. package/web/.next/standalone/src/presentation/web/app/actions/update-model.ts +45 -0
  422. package/web/.next/standalone/src/presentation/web/app/build-feature-node-data.ts +1 -0
  423. package/web/.next/standalone/src/presentation/web/app/build-graph-nodes.ts +1 -0
  424. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx +6 -0
  425. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx +56 -0
  426. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +238 -118
  427. package/web/.next/standalone/src/presentation/web/components/common/feature-list-item/feature-list-item.stories.tsx +16 -0
  428. package/web/.next/standalone/src/presentation/web/components/common/feature-list-item/feature-list-item.tsx +33 -0
  429. package/web/.next/standalone/src/presentation/web/components/common/feature-node/agent-type-icons.tsx +54 -2
  430. package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +1 -2
  431. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node-state-config.ts +2 -3
  432. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.stories.tsx +19 -0
  433. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.tsx +38 -16
  434. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +4 -0
  435. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.tsx +72 -0
  436. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/index.tsx +228 -0
  437. package/web/.next/standalone/src/presentation/web/components/features/settings/ModelPicker/ModelPicker.stories.tsx +64 -0
  438. package/web/.next/standalone/src/presentation/web/components/features/settings/ModelPicker/index.tsx +167 -0
  439. package/web/.next/standalone/src/presentation/web/components/features/settings/settings-page-client.tsx +25 -41
  440. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx +28 -3
  441. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +4 -0
  442. package/web/.next/standalone/src/presentation/web/components/ui/checkbox-group-item.tsx +1 -1
  443. package/web/.next/standalone/src/presentation/web/components/ui/checkbox-group.tsx +1 -1
  444. package/web/.next/standalone/src/presentation/web/components/ui/command.tsx +114 -0
  445. package/web/.next/standalone/src/presentation/web/components/ui/switch.tsx +1 -1
  446. package/web/.next/standalone/src/presentation/web/hooks/sidebar-features-context.tsx +2 -0
  447. package/web/.next/standalone/src/presentation/web/lib/model-metadata.ts +51 -0
  448. package/web/.next/static/chunks/007be9fab4adea42.js +1 -0
  449. package/web/.next/static/chunks/{8039796f8c3e43ad.js → 34eb9cda9da722b6.js} +1 -1
  450. package/web/.next/static/chunks/{66c225e5e51ffb0b.js → 3790f4bb02b9f6e0.js} +2 -2
  451. package/web/.next/static/chunks/42bd17823c7f41a1.css +2 -0
  452. package/web/.next/static/chunks/{9c1b8cc32d9bc9ca.js → 494800b05a910e69.js} +1 -1
  453. package/web/.next/static/chunks/4b652ede9c20379c.js +1 -0
  454. package/web/.next/static/chunks/{056b923048a700f3.js → 4d09dc48abcae1fd.js} +1 -1
  455. package/web/.next/static/chunks/51454a23ce051ec9.js +1 -0
  456. package/web/.next/static/chunks/{c24914717d72fb9c.js → 596adcd6a1f862cc.js} +1 -1
  457. package/web/.next/static/chunks/{98e3a7cf58fc912a.js → 672e3da3ad26005b.js} +1 -1
  458. package/web/.next/static/chunks/70b820a4be378635.js +1 -0
  459. package/web/.next/static/chunks/7acc79e599df9890.js +1 -0
  460. package/web/.next/static/chunks/{36d88ff9f7db4eb9.js → 876edf7bbd901942.js} +1 -1
  461. package/web/.next/static/chunks/8f122c3ac2102300.js +11 -0
  462. package/web/.next/static/chunks/96ba74ac76fe6826.js +1 -0
  463. package/web/.next/static/chunks/a1ddf1f9b1435434.js +3 -0
  464. package/web/.next/static/chunks/b5696d211be51b4d.js +1 -0
  465. package/web/.next/static/chunks/c8b2868ae430a586.js +1 -0
  466. package/web/.next/static/chunks/dfcdd7e8249e47fd.js +1 -0
  467. package/web/.next/static/chunks/{89aac43287d73b02.js → ed3a602003bcb31b.js} +1 -1
  468. package/web/.next/static/chunks/{turbopack-080e470ea902d0ba.js → turbopack-426d9bc2450816ba.js} +1 -1
  469. package/web/.next/trace +1 -1
  470. package/web/.next/trace-build +1 -1
  471. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  472. package/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js.map +0 -1
  473. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  474. package/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js.map +0 -1
  475. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  476. package/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js.map +0 -1
  477. package/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  478. package/web/.next/server/chunks/ssr/_4093a637._.js.map +0 -1
  479. package/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  480. package/web/.next/server/chunks/ssr/_88c4dab8._.js.map +0 -1
  481. package/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  482. package/web/.next/server/chunks/ssr/_956601a1._.js.map +0 -1
  483. package/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  484. package/web/.next/server/chunks/ssr/_c26c679f._.js.map +0 -1
  485. package/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  486. package/web/.next/server/chunks/ssr/_caf6533c._.js.map +0 -1
  487. package/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  488. package/web/.next/server/chunks/ssr/_f7f6173c._.js.map +0 -1
  489. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  490. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +0 -1
  491. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +0 -6
  492. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js.map +0 -1
  493. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +0 -6
  494. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js.map +0 -1
  495. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1c870feb._.js +0 -3
  496. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aea328fd._.js +0 -3
  497. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fd36b8bf._.js +0 -4
  498. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_4093a637._.js +0 -5
  499. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_5428b384._.js +0 -3
  500. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_956601a1._.js +0 -9
  501. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_c26c679f._.js +0 -3
  502. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_caf6533c._.js +0 -3
  503. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f7f6173c._.js +0 -3
  504. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  505. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +0 -6
  506. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +0 -6
  507. package/web/.next/static/chunks/239fda2c7ded3d48.js +0 -1
  508. package/web/.next/static/chunks/3479d6ae297e5410.css +0 -2
  509. package/web/.next/static/chunks/429af5c5c4ef5df3.js +0 -3
  510. package/web/.next/static/chunks/700501f5ac2bb320.js +0 -1
  511. package/web/.next/static/chunks/711bad15861ca1d0.js +0 -1
  512. package/web/.next/static/chunks/730cb306a35d6396.js +0 -1
  513. package/web/.next/static/chunks/7942efebc71dc363.js +0 -1
  514. package/web/.next/static/chunks/907556417091ee06.js +0 -11
  515. package/web/.next/static/chunks/aa6cc6df962a3fc0.js +0 -3
  516. package/web/.next/static/chunks/b3e546795810eb02.js +0 -1
  517. package/web/.next/static/chunks/c63d1c145c5a07dc.js +0 -1
  518. package/web/.next/static/chunks/fc00e1b83852da4e.js +0 -1
  519. /package/web/.next/static/{RiARmAGwzi1nabSHZVwYY → r7LAkVhSBzOwbRx2bcqLy}/_buildManifest.js +0 -0
  520. /package/web/.next/static/{RiARmAGwzi1nabSHZVwYY → r7LAkVhSBzOwbRx2bcqLy}/_clientMiddlewareManifest.json +0 -0
  521. /package/web/.next/static/{RiARmAGwzi1nabSHZVwYY → r7LAkVhSBzOwbRx2bcqLy}/_ssgManifest.js +0 -0
@@ -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,41952,e=>{"use strict";var t=e.i(20314),a=e.i(79054),n=e.i(3645);let r=(0,n.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),l=(0,n.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);var o=e.i(23925),s=e.i(60112),i=e.i(41957),d=e.i(98127),c=e.i(35364),u=e.i(91967),p=e.i(5978),h=e.i(22528),m=e.i(36589),f=e.i(23405),g=e.i(77624),v=e.i(87620),x="Switch",[w,b]=(0,h.createContextScope)(x),[y,C]=w(x),S=a.forwardRef((e,n)=>{let{__scopeSwitch:r,name:l,checked:o,defaultChecked:s,required:i,disabled:d,value:c="on",onCheckedChange:h,form:f,...g}=e,[w,b]=a.useState(null),C=(0,p.useComposedRefs)(n,e=>b(e)),S=a.useRef(!1),j=!w||f||!!w.closest("form"),[k,P]=(0,m.useControllableState)({prop:o,defaultProp:s??!1,onChange:h,caller:x});return(0,t.jsxs)(y,{scope:r,checked:k,disabled:d,children:[(0,t.jsx)(v.Primitive.button,{type:"button",role:"switch","aria-checked":k,"aria-required":i,"data-state":I(k),"data-disabled":d?"":void 0,disabled:d,value:c,...g,ref:C,onClick:(0,u.composeEventHandlers)(e.onClick,e=>{P(e=>!e),j&&(S.current=e.isPropagationStopped(),S.current||e.stopPropagation())})}),j&&(0,t.jsx)(N,{control:w,bubbles:!S.current,name:l,value:c,checked:k,required:i,disabled:d,form:f,style:{transform:"translateX(-100%)"}})]})});S.displayName=x;var j="SwitchThumb",k=a.forwardRef((e,a)=>{let{__scopeSwitch:n,...r}=e,l=C(j,n);return(0,t.jsx)(v.Primitive.span,{"data-state":I(l.checked),"data-disabled":l.disabled?"":void 0,...r,ref:a})});k.displayName=j;var N=a.forwardRef(({__scopeSwitch:e,control:n,checked:r,bubbles:l=!0,...o},s)=>{let i=a.useRef(null),d=(0,p.useComposedRefs)(i,s),c=(0,f.usePrevious)(r),u=(0,g.useSize)(n);return a.useEffect(()=>{let e=i.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(c!==r&&t){let a=new Event("click",{bubbles:l});t.call(e,r),e.dispatchEvent(a)}},[c,r,l]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:d,style:{...o.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function I(e){return e?"checked":"unchecked"}N.displayName="SwitchBubbleInput",e.s(["Root",()=>S,"Switch",()=>S,"SwitchThumb",()=>k,"Thumb",()=>k,"createSwitchScope",()=>b],95291);var P=e.i(95291),P=P,T=e.i(31777);function R({className:e,size:a="default",...n}){return(0,t.jsx)(P.Root,{"data-slot":"switch","data-size":a,className:(0,T.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...n,children:(0,t.jsx)(P.Thumb,{"data-slot":"switch-thumb",className:(0,T.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}var E=e.i(26036),M=e.i(27069),A=e.i(87342),D=e.i(66033),L=e.i(53532),F=e.i(41687),H=e.i(56720),B=e.i(13123),V=e.i(52740),z=e.i(39979),O=e.i(86874),W=e.i(29297),_=e.i(5192),U=e.i(1693),K=e.i(73772),G=e.i(13044),Z=[" ","Enter","ArrowUp","ArrowDown"],q=[" ","Enter"],Y="Select",[X,J,Q]=(0,A.createCollection)(Y),[$,ee]=(0,h.createContextScope)(Y,[Q,V.createPopperScope]),et=(0,V.createPopperScope)(),[ea,en]=$(Y),[er,el]=$(Y),eo=e=>{let{__scopeSelect:n,children:r,open:l,defaultOpen:o,onOpenChange:s,value:i,defaultValue:d,onValueChange:c,dir:u,name:p,autoComplete:h,disabled:f,required:g,form:v}=e,x=et(n),[w,b]=a.useState(null),[y,C]=a.useState(null),[S,j]=a.useState(!1),k=(0,D.useDirection)(u),[N,I]=(0,m.useControllableState)({prop:l,defaultProp:o??!1,onChange:s,caller:Y}),[P,T]=(0,m.useControllableState)({prop:i,defaultProp:d,onChange:c,caller:Y}),R=a.useRef(null),E=!w||v||!!w.closest("form"),[M,A]=a.useState(new Set),L=Array.from(M).map(e=>e.props.value).join(";");return(0,t.jsx)(V.Root,{...x,children:(0,t.jsxs)(ea,{required:g,scope:n,trigger:w,onTriggerChange:b,valueNode:y,onValueNodeChange:C,valueNodeHasChildren:S,onValueNodeHasChildrenChange:j,contentId:(0,B.useId)(),value:P,onValueChange:T,open:N,onOpenChange:I,dir:k,triggerPointerDownPosRef:R,disabled:f,children:[(0,t.jsx)(X.Provider,{scope:n,children:(0,t.jsx)(er,{scope:e.__scopeSelect,onNativeOptionAdd:a.useCallback(e=>{A(t=>new Set(t).add(e))},[]),onNativeOptionRemove:a.useCallback(e=>{A(t=>{let a=new Set(t);return a.delete(e),a})},[]),children:r})}),E?(0,t.jsxs)(eZ,{"aria-hidden":!0,required:g,tabIndex:-1,name:p,autoComplete:h,value:P,onChange:e=>T(e.target.value),disabled:f,form:v,children:[void 0===P?(0,t.jsx)("option",{value:""}):null,Array.from(M)]},L):null]})})};eo.displayName=Y;var es="SelectTrigger",ei=a.forwardRef((e,n)=>{let{__scopeSelect:r,disabled:l=!1,...o}=e,s=et(r),i=en(es,r),d=i.disabled||l,c=(0,p.useComposedRefs)(n,i.onTriggerChange),h=J(r),m=a.useRef("touch"),[f,g,x]=eY(e=>{let t=h().filter(e=>!e.disabled),a=t.find(e=>e.value===i.value),n=eX(t,e,a);void 0!==n&&i.onValueChange(n.value)}),w=e=>{d||(i.onOpenChange(!0),x()),e&&(i.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(V.Anchor,{asChild:!0,...s,children:(0,t.jsx)(v.Primitive.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":eq(i.value)?"":void 0,...o,ref:c,onClick:(0,u.composeEventHandlers)(o.onClick,e=>{e.currentTarget.focus(),"mouse"!==m.current&&w(e)}),onPointerDown:(0,u.composeEventHandlers)(o.onPointerDown,e=>{m.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(w(e),e.preventDefault())}),onKeyDown:(0,u.composeEventHandlers)(o.onKeyDown,e=>{let t=""!==f.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||g(e.key),(!t||" "!==e.key)&&Z.includes(e.key)&&(w(),e.preventDefault())})})})});ei.displayName=es;var ed="SelectValue",ec=a.forwardRef((e,a)=>{let{__scopeSelect:n,className:r,style:l,children:o,placeholder:s="",...i}=e,d=en(ed,n),{onValueNodeHasChildrenChange:c}=d,u=void 0!==o,h=(0,p.useComposedRefs)(a,d.onValueNodeChange);return(0,_.useLayoutEffect)(()=>{c(u)},[c,u]),(0,t.jsx)(v.Primitive.span,{...i,ref:h,style:{pointerEvents:"none"},children:eq(d.value)?(0,t.jsx)(t.Fragment,{children:s}):o})});ec.displayName=ed;var eu=a.forwardRef((e,a)=>{let{__scopeSelect:n,children:r,...l}=e;return(0,t.jsx)(v.Primitive.span,{"aria-hidden":!0,...l,ref:a,children:r||"▼"})});eu.displayName="SelectIcon";var ep=e=>(0,t.jsx)(z.Portal,{asChild:!0,...e});ep.displayName="SelectPortal";var eh="SelectContent",em=a.forwardRef((e,n)=>{let r=en(eh,e.__scopeSelect),[l,o]=a.useState();return((0,_.useLayoutEffect)(()=>{o(new DocumentFragment)},[]),r.open)?(0,t.jsx)(ex,{...e,ref:n}):l?E.createPortal((0,t.jsx)(ef,{scope:e.__scopeSelect,children:(0,t.jsx)(X.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),l):null});em.displayName=eh;var[ef,eg]=$(eh),ev=(0,O.createSlot)("SelectContent.RemoveScroll"),ex=a.forwardRef((e,n)=>{let{__scopeSelect:r,position:l="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:i,side:d,sideOffset:c,align:h,alignOffset:m,arrowPadding:f,collisionBoundary:g,collisionPadding:v,sticky:x,hideWhenDetached:w,avoidCollisions:b,...y}=e,C=en(eh,r),[S,j]=a.useState(null),[k,N]=a.useState(null),I=(0,p.useComposedRefs)(n,e=>j(e)),[P,T]=a.useState(null),[R,E]=a.useState(null),M=J(r),[A,D]=a.useState(!1),B=a.useRef(!1);a.useEffect(()=>{if(S)return(0,K.hideOthers)(S)},[S]),(0,F.useFocusGuards)();let V=a.useCallback(e=>{let[t,...a]=M().map(e=>e.ref.current),[n]=a.slice(-1),r=document.activeElement;for(let a of e)if(a===r||(a?.scrollIntoView({block:"nearest"}),a===t&&k&&(k.scrollTop=0),a===n&&k&&(k.scrollTop=k.scrollHeight),a?.focus(),document.activeElement!==r))return},[M,k]),z=a.useCallback(()=>V([P,S]),[V,P,S]);a.useEffect(()=>{A&&z()},[A,z]);let{onOpenChange:O,triggerPointerDownPosRef:W}=C;a.useEffect(()=>{if(S){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(W.current?.y??0))}},a=a=>{e.x<=10&&e.y<=10?a.preventDefault():S.contains(a.target)||O(!1),document.removeEventListener("pointermove",t),W.current=null};return null!==W.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",a,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",a,{capture:!0})}}},[S,O,W]),a.useEffect(()=>{let e=()=>O(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[O]);let[_,U]=eY(e=>{let t=M().filter(e=>!e.disabled),a=t.find(e=>e.ref.current===document.activeElement),n=eX(t,e,a);n&&setTimeout(()=>n.ref.current.focus())}),Z=a.useCallback((e,t,a)=>{let n=!B.current&&!a;(void 0!==C.value&&C.value===t||n)&&(T(e),n&&(B.current=!0))},[C.value]),q=a.useCallback(()=>S?.focus(),[S]),Y=a.useCallback((e,t,a)=>{let n=!B.current&&!a;(void 0!==C.value&&C.value===t||n)&&E(e)},[C.value]),X="popper"===l?eb:ew,Q=X===eb?{side:d,sideOffset:c,align:h,alignOffset:m,arrowPadding:f,collisionBoundary:g,collisionPadding:v,sticky:x,hideWhenDetached:w,avoidCollisions:b}:{};return(0,t.jsx)(ef,{scope:r,content:S,viewport:k,onViewportChange:N,itemRefCallback:Z,selectedItem:P,onItemLeave:q,itemTextRefCallback:Y,focusSelectedItem:z,selectedItemText:R,position:l,isPositioned:A,searchRef:_,children:(0,t.jsx)(G.RemoveScroll,{as:ev,allowPinchZoom:!0,children:(0,t.jsx)(H.FocusScope,{asChild:!0,trapped:C.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,u.composeEventHandlers)(o,e=>{C.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(L.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:(0,t.jsx)(X,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:e=>e.preventDefault(),...y,...Q,onPlaced:()=>D(!0),ref:I,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:(0,u.composeEventHandlers)(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||U(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=M().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let a=e.target,n=t.indexOf(a);t=t.slice(n+1)}setTimeout(()=>V(t)),e.preventDefault()}})})})})})})});ex.displayName="SelectContentImpl";var ew=a.forwardRef((e,n)=>{let{__scopeSelect:r,onPlaced:l,...o}=e,s=en(eh,r),i=eg(eh,r),[d,c]=a.useState(null),[u,h]=a.useState(null),m=(0,p.useComposedRefs)(n,e=>h(e)),f=J(r),g=a.useRef(!1),x=a.useRef(!0),{viewport:w,selectedItem:b,selectedItemText:y,focusSelectedItem:C}=i,S=a.useCallback(()=>{if(s.trigger&&s.valueNode&&d&&u&&w&&b&&y){let e=s.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),a=s.valueNode.getBoundingClientRect(),n=y.getBoundingClientRect();if("rtl"!==s.dir){let r=n.left-t.left,l=a.left-r,o=e.left-l,s=e.width+o,i=Math.max(s,t.width),c=window.innerWidth-10,u=(0,M.clamp)(l,[10,Math.max(10,c-i)]);d.style.minWidth=s+"px",d.style.left=u+"px"}else{let r=t.right-n.right,l=window.innerWidth-a.right-r,o=window.innerWidth-e.right-l,s=e.width+o,i=Math.max(s,t.width),c=window.innerWidth-10,u=(0,M.clamp)(l,[10,Math.max(10,c-i)]);d.style.minWidth=s+"px",d.style.right=u+"px"}let r=f(),o=window.innerHeight-20,i=w.scrollHeight,c=window.getComputedStyle(u),p=parseInt(c.borderTopWidth,10),h=parseInt(c.paddingTop,10),m=parseInt(c.borderBottomWidth,10),v=p+h+i+parseInt(c.paddingBottom,10)+m,x=Math.min(5*b.offsetHeight,v),C=window.getComputedStyle(w),S=parseInt(C.paddingTop,10),j=parseInt(C.paddingBottom,10),k=e.top+e.height/2-10,N=b.offsetHeight/2,I=p+h+(b.offsetTop+N);if(I<=k){let e=r.length>0&&b===r[r.length-1].ref.current;d.style.bottom="0px";let t=Math.max(o-k,N+(e?j:0)+(u.clientHeight-w.offsetTop-w.offsetHeight)+m);d.style.height=I+t+"px"}else{let e=r.length>0&&b===r[0].ref.current;d.style.top="0px";let t=Math.max(k,p+w.offsetTop+(e?S:0)+N);d.style.height=t+(v-I)+"px",w.scrollTop=I-k+w.offsetTop}d.style.margin="10px 0",d.style.minHeight=x+"px",d.style.maxHeight=o+"px",l?.(),requestAnimationFrame(()=>g.current=!0)}},[f,s.trigger,s.valueNode,d,u,w,b,y,s.dir,l]);(0,_.useLayoutEffect)(()=>S(),[S]);let[j,k]=a.useState();(0,_.useLayoutEffect)(()=>{u&&k(window.getComputedStyle(u).zIndex)},[u]);let N=a.useCallback(e=>{e&&!0===x.current&&(S(),C?.(),x.current=!1)},[S,C]);return(0,t.jsx)(ey,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:g,onScrollButtonChange:N,children:(0,t.jsx)("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,t.jsx)(v.Primitive.div,{...o,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});ew.displayName="SelectItemAlignedPosition";var eb=a.forwardRef((e,a)=>{let{__scopeSelect:n,align:r="start",collisionPadding:l=10,...o}=e,s=et(n);return(0,t.jsx)(V.Content,{...s,...o,ref:a,align:r,collisionPadding:l,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});eb.displayName="SelectPopperPosition";var[ey,eC]=$(eh,{}),eS="SelectViewport",ej=a.forwardRef((e,n)=>{let{__scopeSelect:r,nonce:l,...o}=e,s=eg(eS,r),i=eC(eS,r),d=(0,p.useComposedRefs)(n,s.onViewportChange),c=a.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,t.jsx)(X.Slot,{scope:r,children:(0,t.jsx)(v.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:(0,u.composeEventHandlers)(o.onScroll,e=>{let t=e.currentTarget,{contentWrapper:a,shouldExpandOnScrollRef:n}=i;if(n?.current&&a){let e=Math.abs(c.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,r=Math.max(parseFloat(a.style.minHeight),parseFloat(a.style.height));if(r<n){let l=r+e,o=Math.min(n,l),s=l-o;a.style.height=o+"px","0px"===a.style.bottom&&(t.scrollTop=s>0?s:0,a.style.justifyContent="flex-end")}}}c.current=t.scrollTop})})})]})});ej.displayName=eS;var ek="SelectGroup",[eN,eI]=$(ek),eP=a.forwardRef((e,a)=>{let{__scopeSelect:n,...r}=e,l=(0,B.useId)();return(0,t.jsx)(eN,{scope:n,id:l,children:(0,t.jsx)(v.Primitive.div,{role:"group","aria-labelledby":l,...r,ref:a})})});eP.displayName=ek;var eT="SelectLabel",eR=a.forwardRef((e,a)=>{let{__scopeSelect:n,...r}=e,l=eI(eT,n);return(0,t.jsx)(v.Primitive.div,{id:l.id,...r,ref:a})});eR.displayName=eT;var eE="SelectItem",[eM,eA]=$(eE),eD=a.forwardRef((e,n)=>{let{__scopeSelect:r,value:l,disabled:o=!1,textValue:s,...i}=e,d=en(eE,r),c=eg(eE,r),h=d.value===l,[m,f]=a.useState(s??""),[g,x]=a.useState(!1),w=(0,p.useComposedRefs)(n,e=>c.itemRefCallback?.(e,l,o)),b=(0,B.useId)(),y=a.useRef("touch"),C=()=>{o||(d.onValueChange(l),d.onOpenChange(!1))};if(""===l)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(eM,{scope:r,value:l,disabled:o,textId:b,isSelected:h,onItemTextChange:a.useCallback(e=>{f(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(X.ItemSlot,{scope:r,value:l,disabled:o,textValue:m,children:(0,t.jsx)(v.Primitive.div,{role:"option","aria-labelledby":b,"data-highlighted":g?"":void 0,"aria-selected":h&&g,"data-state":h?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:w,onFocus:(0,u.composeEventHandlers)(i.onFocus,()=>x(!0)),onBlur:(0,u.composeEventHandlers)(i.onBlur,()=>x(!1)),onClick:(0,u.composeEventHandlers)(i.onClick,()=>{"mouse"!==y.current&&C()}),onPointerUp:(0,u.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===y.current&&C()}),onPointerDown:(0,u.composeEventHandlers)(i.onPointerDown,e=>{y.current=e.pointerType}),onPointerMove:(0,u.composeEventHandlers)(i.onPointerMove,e=>{y.current=e.pointerType,o?c.onItemLeave?.():"mouse"===y.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,u.composeEventHandlers)(i.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:(0,u.composeEventHandlers)(i.onKeyDown,e=>{(c.searchRef?.current===""||" "!==e.key)&&(q.includes(e.key)&&C()," "===e.key&&e.preventDefault())})})})})});eD.displayName=eE;var eL="SelectItemText",eF=a.forwardRef((e,n)=>{let{__scopeSelect:r,className:l,style:o,...s}=e,i=en(eL,r),d=eg(eL,r),c=eA(eL,r),u=el(eL,r),[h,m]=a.useState(null),f=(0,p.useComposedRefs)(n,e=>m(e),c.onItemTextChange,e=>d.itemTextRefCallback?.(e,c.value,c.disabled)),g=h?.textContent,x=a.useMemo(()=>(0,t.jsx)("option",{value:c.value,disabled:c.disabled,children:g},c.value),[c.disabled,c.value,g]),{onNativeOptionAdd:w,onNativeOptionRemove:b}=u;return(0,_.useLayoutEffect)(()=>(w(x),()=>b(x)),[w,b,x]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.Primitive.span,{id:c.textId,...s,ref:f}),c.isSelected&&i.valueNode&&!i.valueNodeHasChildren?E.createPortal(s.children,i.valueNode):null]})});eF.displayName=eL;var eH="SelectItemIndicator",eB=a.forwardRef((e,a)=>{let{__scopeSelect:n,...r}=e;return eA(eH,n).isSelected?(0,t.jsx)(v.Primitive.span,{"aria-hidden":!0,...r,ref:a}):null});eB.displayName=eH;var eV="SelectScrollUpButton",ez=a.forwardRef((e,n)=>{let r=eg(eV,e.__scopeSelect),l=eC(eV,e.__scopeSelect),[o,s]=a.useState(!1),i=(0,p.useComposedRefs)(n,l.onScrollButtonChange);return(0,_.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){s(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),o?(0,t.jsx)(e_,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ez.displayName=eV;var eO="SelectScrollDownButton",eW=a.forwardRef((e,n)=>{let r=eg(eO,e.__scopeSelect),l=eC(eO,e.__scopeSelect),[o,s]=a.useState(!1),i=(0,p.useComposedRefs)(n,l.onScrollButtonChange);return(0,_.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),o?(0,t.jsx)(e_,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});eW.displayName=eO;var e_=a.forwardRef((e,n)=>{let{__scopeSelect:r,onAutoScroll:l,...o}=e,s=eg("SelectScrollButton",r),i=a.useRef(null),d=J(r),c=a.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return a.useEffect(()=>()=>c(),[c]),(0,_.useLayoutEffect)(()=>{let e=d().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[d]),(0,t.jsx)(v.Primitive.div,{"aria-hidden":!0,...o,ref:n,style:{flexShrink:0,...o.style},onPointerDown:(0,u.composeEventHandlers)(o.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(l,50))}),onPointerMove:(0,u.composeEventHandlers)(o.onPointerMove,()=>{s.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(l,50))}),onPointerLeave:(0,u.composeEventHandlers)(o.onPointerLeave,()=>{c()})})}),eU=a.forwardRef((e,a)=>{let{__scopeSelect:n,...r}=e;return(0,t.jsx)(v.Primitive.div,{"aria-hidden":!0,...r,ref:a})});eU.displayName="SelectSeparator";var eK="SelectArrow",eG=a.forwardRef((e,a)=>{let{__scopeSelect:n,...r}=e,l=et(n),o=en(eK,n),s=eg(eK,n);return o.open&&"popper"===s.position?(0,t.jsx)(V.Arrow,{...l,...r,ref:a}):null});eG.displayName=eK;var eZ=a.forwardRef(({__scopeSelect:e,value:n,...r},l)=>{let o=a.useRef(null),s=(0,p.useComposedRefs)(l,o),i=(0,f.usePrevious)(n);return a.useEffect(()=>{let e=o.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==n&&t){let a=new Event("change",{bubbles:!0});t.call(e,n),e.dispatchEvent(a)}},[i,n]),(0,t.jsx)(v.Primitive.select,{...r,style:{...U.VISUALLY_HIDDEN_STYLES,...r.style},ref:s,defaultValue:n})});function eq(e){return""===e||void 0===e}function eY(e){let t=(0,W.useCallbackRef)(e),n=a.useRef(""),r=a.useRef(0),l=a.useCallback(e=>{let a=n.current+e;t(a),function e(t){n.current=t,window.clearTimeout(r.current),""!==t&&(r.current=window.setTimeout(()=>e(""),1e3))}(a)},[t]),o=a.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return a.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,l,o]}function eX(e,t,a){var n,r;let l=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,o=a?e.indexOf(a):-1,s=(n=e,r=Math.max(o,0),n.map((e,t)=>n[(r+t)%n.length]));1===l.length&&(s=s.filter(e=>e!==a));let i=s.find(e=>e.textValue.toLowerCase().startsWith(l.toLowerCase()));return i!==a?i:void 0}eZ.displayName="SelectBubbleInput",e.s(["Arrow",()=>eG,"Content",()=>em,"Group",()=>eP,"Icon",()=>eu,"Item",()=>eD,"ItemIndicator",()=>eB,"ItemText",()=>eF,"Label",()=>eR,"Portal",()=>ep,"Root",()=>eo,"ScrollDownButton",()=>eW,"ScrollUpButton",()=>ez,"Select",()=>eo,"SelectArrow",()=>eG,"SelectContent",()=>em,"SelectGroup",()=>eP,"SelectIcon",()=>eu,"SelectItem",()=>eD,"SelectItemIndicator",()=>eB,"SelectItemText",()=>eF,"SelectLabel",()=>eR,"SelectPortal",()=>ep,"SelectScrollDownButton",()=>eW,"SelectScrollUpButton",()=>ez,"SelectSeparator",()=>eU,"SelectTrigger",()=>ei,"SelectValue",()=>ec,"SelectViewport",()=>ej,"Separator",()=>eU,"Trigger",()=>ei,"Value",()=>ec,"Viewport",()=>ej,"createSelectScope",()=>ee],83830);var eJ=e.i(83830),eJ=eJ,eQ=e.i(99105);let e$=(0,n.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),e0=eJ.Root;eJ.Group;let e1=eJ.Value,e2=a.forwardRef(({className:e,children:a,...n},r)=>(0,t.jsxs)(eJ.Trigger,{ref:r,className:(0,T.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[a,(0,t.jsx)(eJ.Icon,{asChild:!0,children:(0,t.jsx)(eQ.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));e2.displayName=eJ.Trigger.displayName;let e4=a.forwardRef(({className:e,...a},n)=>(0,t.jsx)(eJ.ScrollUpButton,{ref:n,className:(0,T.cn)("flex cursor-default items-center justify-center py-1",e),...a,children:(0,t.jsx)(e$,{className:"h-4 w-4"})}));e4.displayName=eJ.ScrollUpButton.displayName;let e5=a.forwardRef(({className:e,...a},n)=>(0,t.jsx)(eJ.ScrollDownButton,{ref:n,className:(0,T.cn)("flex cursor-default items-center justify-center py-1",e),...a,children:(0,t.jsx)(eQ.ChevronDown,{className:"h-4 w-4"})}));e5.displayName=eJ.ScrollDownButton.displayName;let e3=a.forwardRef(({className:e,children:a,position:n="popper",...r},l)=>(0,t.jsx)(eJ.Portal,{children:(0,t.jsxs)(eJ.Content,{ref:l,className:(0,T.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[(0,t.jsx)(e4,{}),(0,t.jsx)(eJ.Viewport,{className:(0,T.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),(0,t.jsx)(e5,{})]})}));e3.displayName=eJ.Content.displayName,a.forwardRef(({className:e,...a},n)=>(0,t.jsx)(eJ.Label,{ref:n,className:(0,T.cn)("px-2 py-1.5 text-sm font-semibold",e),...a})).displayName=eJ.Label.displayName;let e7=a.forwardRef(({className:e,children:a,...n},r)=>(0,t.jsxs)(eJ.Item,{ref:r,className:(0,T.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[(0,t.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(eJ.ItemIndicator,{children:(0,t.jsx)(o.Check,{className:"h-4 w-4"})})}),(0,t.jsx)(eJ.ItemText,{children:a})]}));e7.displayName=eJ.Item.displayName,a.forwardRef(({className:e,...a},n)=>(0,t.jsx)(eJ.Separator,{ref:n,className:(0,T.cn)("bg-muted -mx-1 my-1 h-px",e),...a})).displayName=eJ.Separator.displayName;var e6=e.i(21023);let e9=(0,e6.createServerReference)("40a92a4f09ee0bb639bbad64daa27e202c6c918023",e6.callServer,void 0,e6.findSourceMapURL,"updateSettingsAction");var e8=e.i(17406),te=e.i(86782),tt=e.i(98804),ta=e.i(93752),ta=ta,tn=e.i(83902);function tr(e){return(0,t.jsx)(ta.default,{className:(0,T.cn)("h-4 w-4",e.className),...e})}function tl({className:e}){return(0,t.jsx)(tt.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,T.cn)("rounded-sm object-contain",e)})}function to({className:e}){return(0,t.jsx)(tt.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,T.cn)("rounded-sm object-contain",e)})}function ts({className:e}){return(0,t.jsx)(tt.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,T.cn)("rounded-sm object-contain",e)})}function ti({className:e}){return(0,t.jsx)(tt.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,T.cn)("rounded-sm object-contain",e)})}function td({className:e,...a}){return(0,t.jsx)(tn.Rocket,{className:(0,T.cn)("h-4 w-4",e),...a})}tl.displayName="VsCodeIcon",to.displayName="CursorEditorIcon",ts.displayName="WindsurfIcon",ti.displayName="ZedIcon",td.displayName="AntigravityIcon";let tc={vscode:tl,cursor:to,windsurf:ts,zed:ti,antigravity:td},tu=[{value:e8.AgentType.ClaudeCode,label:"Claude Code"},{value:e8.AgentType.Cursor,label:"Cursor"},{value:e8.AgentType.GeminiCli,label:"Gemini CLI"},{value:e8.AgentType.Aider,label:"Aider"},{value:e8.AgentType.Continue,label:"Continue"},{value:e8.AgentType.Dev,label:"Dev"}],tp=[{value:e8.AgentAuthMethod.Session,label:"Session"},{value:e8.AgentAuthMethod.Token,label:"Token"}],th=[{value:e8.EditorType.VsCode,label:"VS Code"},{value:e8.EditorType.Cursor,label:"Cursor"},{value:e8.EditorType.Windsurf,label:"Windsurf"},{value:e8.EditorType.Zed,label:"Zed"},{value:e8.EditorType.Antigravity,label:"Antigravity"}];function tm({label:e,htmlFor:a,children:n}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-3 last:border-b-0",children:[(0,t.jsx)(i.Label,{htmlFor:a,className:"text-sm font-normal whitespace-nowrap",children:e}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:n})]})}function tf({label:e,id:a,testId:n,value:r,options:l,onChange:o}){return(0,t.jsx)(tm,{label:e,htmlFor:a,children:(0,t.jsxs)(e0,{value:r,onValueChange:o,children:[(0,t.jsx)(e2,{id:a,"data-testid":n,className:"w-45",children:(0,t.jsx)(e1,{})}),(0,t.jsx)(e3,{children:l.map(e=>(0,t.jsx)(e7,{value:e.value,children:e.label},e.value))})]})})}function tg({label:e,id:a,testId:n,checked:r,onChange:l}){return(0,t.jsx)(tm,{label:e,htmlFor:a,children:(0,t.jsx)(R,{id:a,"data-testid":n,checked:r,onCheckedChange:l})})}function tv({settings:e,shepHome:n,dbFileSize:i}){let{isPending:u,showSaved:p,save:h}=function(){let[e,t]=(0,a.useTransition)(),[n,r]=(0,a.useState)(!1),l=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{if(l.current&&!e){r(!0);let e=setTimeout(()=>r(!1),2e3);return()=>clearTimeout(e)}l.current=e},[e]),{isPending:e,showSaved:n,save:(0,a.useCallback)(e=>{t(async()=>{let t=await e9(e);t.success||s.toast.error(t.error??"Failed to save settings")})},[t])}}(),m=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1},[f,g]=(0,a.useState)(e.agent.type),[v,x]=(0,a.useState)(e.agent.authMethod),[w,b]=(0,a.useState)(e.agent.token??""),[y,C]=(0,a.useState)(!1),[S,j]=(0,a.useState)(e.environment.defaultEditor),k=e.environment.shellPreference,[N,I]=(0,a.useState)(e.workflow.openPrOnImplementationComplete),[P,T]=(0,a.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[R,E]=(0,a.useState)(e.workflow.approvalGateDefaults.allowPrd),[M,A]=(0,a.useState)(e.workflow.approvalGateDefaults.allowPlan),[D,L]=(0,a.useState)(e.workflow.approvalGateDefaults.allowMerge),[F,H]=(0,a.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[B,V]=(0,a.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[z,O]=(0,a.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[W,_]=(0,a.useState)(e.notifications.inApp.enabled),[U,K]=(0,a.useState)(e.notifications.browser.enabled),[G,Z]=(0,a.useState)(e.notifications.desktop.enabled),[q,Y]=(0,a.useState)({...e.notifications.events}),[X,J]=(0,a.useState)({...m}),Q=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",$=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",ee=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"";function et(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function ea(e={}){let t={type:f,authMethod:v,...e},a={type:t.type,authMethod:t.authMethod};return t.authMethod===e8.AgentAuthMethod.Token&&(a.token=e.token??w),{agent:a}}function en(e={}){let t=et(e.ciTimeout??B);return{workflow:{openPrOnImplementationComplete:e.openPr??N,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??P,allowPrd:e.allowPrd??R,allowPlan:e.allowPlan??M,allowMerge:e.allowMerge??D},ciMaxFixAttempts:et(e.ciMaxFix??F),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:et(e.ciLogMax??z)}}}function er(e={}){return{notifications:{inApp:{enabled:e.inApp??W},browser:{enabled:e.browser??U},desktop:{enabled:e.desktop??G},events:e.events??q}}}return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-lg",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b pb-3",children:[(0,t.jsx)("h1",{className:"text-lg font-semibold tracking-tight",children:"Settings"}),u?(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"Saving..."}):null,p&&!u?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,t.jsx)(o.Check,{className:"h-3 w-3"}),"Saved"]}):null]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"agent-settings-section",children:"Agent"}),(0,t.jsx)(tm,{label:"Agent",htmlFor:"agent-type",children:(0,t.jsxs)(e0,{value:f,onValueChange:e=>{g(e),h(ea({type:e}))},children:[(0,t.jsx)(e2,{id:"agent-type","data-testid":"agent-type-select",className:"w-45",children:(0,t.jsx)(e1,{})}),(0,t.jsx)(e3,{children:tu.map(e=>{let a=(0,te.getAgentTypeIcon)(e.value);return(0,t.jsx)(e7,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(a,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(tf,{label:"Authentication",id:"auth-method",testId:"auth-method-select",value:v,options:tp,onChange:e=>{x(e),h(ea({authMethod:e}))}}),v===e8.AgentAuthMethod.Token&&(0,t.jsx)(tm,{label:"API Token",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-45",children:[(0,t.jsx)(d.Input,{id:"agent-token","data-testid":"agent-token-input",type:y?"text":"password",value:w,onChange:e=>b(e.target.value),onBlur:()=>{w!==(e.agent.token??"")&&h(ea({token:w}))},placeholder:"Enter token",className:"pr-8"}),(0,t.jsx)(c.Button,{type:"button",variant:"ghost",size:"sm",className:"absolute top-0 right-0 h-full px-2 hover:bg-transparent",onClick:()=>C(!y),"data-testid":"toggle-token-visibility","aria-label":y?"Hide token":"Show token",children:y?(0,t.jsx)(l,{className:"h-3 w-3"}):(0,t.jsx)(r,{className:"h-3 w-3"})})]})}),(0,t.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"environment-settings-section",children:"Environment"}),(0,t.jsx)(tm,{label:"Editor",htmlFor:"default-editor",children:(0,t.jsxs)(e0,{value:S,onValueChange:e=>{j(e),h({environment:{defaultEditor:e,shellPreference:k}})},children:[(0,t.jsx)(e2,{id:"default-editor","data-testid":"editor-select",className:"w-45",children:(0,t.jsx)(e1,{})}),(0,t.jsx)(e3,{children:th.map(e=>{var a;let n=(a=e.value)&&a in tc?tc[a]:tr;return(0,t.jsx)(e7,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(n,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"workflow-settings-section",children:"Workflow"}),(0,t.jsx)(tg,{label:"Open PR on complete",id:"open-pr",testId:"switch-open-pr",checked:N,onChange:e=>{I(e),h(en({openPr:e}))}}),(0,t.jsx)(tg,{label:"Push on complete",id:"push-on-complete",testId:"switch-push-on-complete",checked:P,onChange:e=>{T(e),h(en({pushOnComplete:e}))}}),(0,t.jsx)(tg,{label:"Auto-approve PRD",id:"allow-prd",testId:"switch-allow-prd",checked:R,onChange:e=>{E(e),h(en({allowPrd:e}))}}),(0,t.jsx)(tg,{label:"Auto-approve Plan",id:"allow-plan",testId:"switch-allow-plan",checked:M,onChange:e=>{A(e),h(en({allowPlan:e}))}}),(0,t.jsx)(tg,{label:"Auto-approve Merge",id:"allow-merge",testId:"switch-allow-merge",checked:D,onChange:e=>{L(e),h(en({allowMerge:e}))}}),(0,t.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"ci-settings-section",children:"CI"}),(0,t.jsx)(tm,{label:"Max fix attempts",htmlFor:"ci-max-fix",children:(0,t.jsx)(d.Input,{id:"ci-max-fix","data-testid":"ci-max-fix-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"3",value:F,onChange:e=>H(e.target.value),onBlur:()=>{F!==Q&&h(en({ciMaxFix:F}))},className:"w-20"})}),(0,t.jsx)(tm,{label:"Watch timeout (s)",htmlFor:"ci-timeout",children:(0,t.jsx)(d.Input,{id:"ci-timeout","data-testid":"ci-timeout-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"300",value:B,onChange:e=>V(e.target.value),onBlur:()=>{B!==$&&h(en({ciTimeout:B}))},className:"w-20"})}),(0,t.jsx)(tm,{label:"Max log chars",htmlFor:"ci-log-max",children:(0,t.jsx)(d.Input,{id:"ci-log-max","data-testid":"ci-log-max-input",type:"text",inputMode:"numeric",pattern:"[0-9]*",placeholder:"50000",value:z,onChange:e=>O(e.target.value),onBlur:()=>{z!==ee&&h(en({ciLogMax:z}))},className:"w-20"})}),(0,t.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"notification-settings-section",children:"Notifications"}),(0,t.jsx)(tg,{label:"In-app",id:"notif-in-app",testId:"switch-in-app",checked:W,onChange:e=>{_(e),h(er({inApp:e}))}}),(0,t.jsx)(tg,{label:"Browser",id:"notif-browser",testId:"switch-browser",checked:U,onChange:e=>{K(e),h(er({browser:e}))}}),(0,t.jsx)(tg,{label:"Desktop",id:"notif-desktop",testId:"switch-desktop",checked:G,onChange:e=>{Z(e),h(er({desktop:e}))}}),(0,t.jsx)(tg,{label:"Agent started",id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:q.agentStarted,onChange:e=>{let t={...q,agentStarted:e};Y(t),h(er({events:t}))}}),(0,t.jsx)(tg,{label:"Phase completed",id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:q.phaseCompleted,onChange:e=>{let t={...q,phaseCompleted:e};Y(t),h(er({events:t}))}}),(0,t.jsx)(tg,{label:"Waiting approval",id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:q.waitingApproval,onChange:e=>{let t={...q,waitingApproval:e};Y(t),h(er({events:t}))}}),(0,t.jsx)(tg,{label:"Agent completed",id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:q.agentCompleted,onChange:e=>{let t={...q,agentCompleted:e};Y(t),h(er({events:t}))}}),(0,t.jsx)(tg,{label:"Agent failed",id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:q.agentFailed,onChange:e=>{let t={...q,agentFailed:e};Y(t),h(er({events:t}))}}),(0,t.jsx)(tg,{label:"PR merged",id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:q.prMerged,onChange:e=>{let t={...q,prMerged:e};Y(t),h(er({events:t}))}}),(0,t.jsx)(tg,{label:"PR closed",id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:q.prClosed,onChange:e=>{let t={...q,prClosed:e};Y(t),h(er({events:t}))}}),(0,t.jsx)(tg,{label:"PR checks passed",id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:q.prChecksPassed,onChange:e=>{let t={...q,prChecksPassed:e};Y(t),h(er({events:t}))}}),(0,t.jsx)(tg,{label:"PR checks failed",id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:q.prChecksFailed,onChange:e=>{let t={...q,prChecksFailed:e};Y(t),h(er({events:t}))}}),(0,t.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"feature-flags-settings-section",children:"Feature Flags"}),(0,t.jsx)(tg,{label:"Skills",id:"flag-skills",testId:"switch-flag-skills",checked:X.skills,onChange:e=>{let t={...X,skills:e};J(t),h({featureFlags:t})}}),(0,t.jsx)(tg,{label:"Deployments",id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:X.envDeploy,onChange:e=>{let t={...X,envDeploy:e};J(t),h({featureFlags:t})}}),(0,t.jsx)(tg,{label:"Debug",id:"flag-debug",testId:"switch-flag-debug",checked:X.debug,onChange:e=>{let t={...X,debug:e};J(t),h({featureFlags:t})}}),(0,t.jsx)("h2",{className:"text-muted-foreground mt-6 mb-1 text-xs font-medium tracking-wide uppercase","data-testid":"database-settings-section",children:"Database"}),(0,t.jsx)(tm,{label:"Location",children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:n})}),(0,t.jsx)(tm,{label:"Size",children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:i})})]})]})}e.s(["SettingsPageClient",()=>tv],41952)}]);
@@ -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])}]);