@shepai/cli 1.155.0 → 1.156.0-pr485.030e6b4

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 (615) hide show
  1. package/README.md +276 -161
  2. package/apis/json-schema/Language.yaml +13 -0
  3. package/apis/json-schema/UserProfile.yaml +3 -0
  4. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +5 -0
  6. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +7 -0
  8. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.js +11 -1
  10. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  11. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +3 -0
  12. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +5 -0
  14. package/dist/packages/core/src/domain/generated/output.d.ts +14 -0
  15. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  16. package/dist/packages/core/src/domain/generated/output.js +11 -0
  17. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  18. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +4 -2
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts +14 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts.map +1 -0
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.js +19 -0
  23. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
  25. package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
  26. package/dist/src/presentation/cli/commands/_serve.command.js +5 -3
  27. package/dist/src/presentation/cli/commands/agent/approve.command.d.ts.map +1 -1
  28. package/dist/src/presentation/cli/commands/agent/approve.command.js +9 -4
  29. package/dist/src/presentation/cli/commands/agent/delete.command.d.ts.map +1 -1
  30. package/dist/src/presentation/cli/commands/agent/delete.command.js +9 -5
  31. package/dist/src/presentation/cli/commands/agent/index.d.ts.map +1 -1
  32. package/dist/src/presentation/cli/commands/agent/index.js +3 -1
  33. package/dist/src/presentation/cli/commands/agent/logs.command.d.ts.map +1 -1
  34. package/dist/src/presentation/cli/commands/agent/logs.command.js +7 -5
  35. package/dist/src/presentation/cli/commands/agent/ls.command.d.ts.map +1 -1
  36. package/dist/src/presentation/cli/commands/agent/ls.command.js +12 -10
  37. package/dist/src/presentation/cli/commands/agent/reject.command.d.ts.map +1 -1
  38. package/dist/src/presentation/cli/commands/agent/reject.command.js +10 -5
  39. package/dist/src/presentation/cli/commands/agent/resolve-run.d.ts.map +1 -1
  40. package/dist/src/presentation/cli/commands/agent/resolve-run.js +7 -2
  41. package/dist/src/presentation/cli/commands/agent/show.command.d.ts.map +1 -1
  42. package/dist/src/presentation/cli/commands/agent/show.command.js +8 -6
  43. package/dist/src/presentation/cli/commands/agent/stop.command.d.ts.map +1 -1
  44. package/dist/src/presentation/cli/commands/agent/stop.command.js +9 -4
  45. package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts.map +1 -1
  46. package/dist/src/presentation/cli/commands/daemon/start-daemon.js +10 -8
  47. package/dist/src/presentation/cli/commands/daemon/stop-daemon.d.ts.map +1 -1
  48. package/dist/src/presentation/cli/commands/daemon/stop-daemon.js +5 -3
  49. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -1
  50. package/dist/src/presentation/cli/commands/feat/adopt.command.js +14 -12
  51. package/dist/src/presentation/cli/commands/feat/approve.command.d.ts.map +1 -1
  52. package/dist/src/presentation/cli/commands/feat/approve.command.js +8 -6
  53. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +1 -1
  54. package/dist/src/presentation/cli/commands/feat/archive.command.js +10 -8
  55. package/dist/src/presentation/cli/commands/feat/del.command.d.ts.map +1 -1
  56. package/dist/src/presentation/cli/commands/feat/del.command.js +17 -15
  57. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  58. package/dist/src/presentation/cli/commands/feat/index.js +2 -1
  59. package/dist/src/presentation/cli/commands/feat/logs.command.d.ts.map +1 -1
  60. package/dist/src/presentation/cli/commands/feat/logs.command.js +8 -6
  61. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
  62. package/dist/src/presentation/cli/commands/feat/ls.command.js +14 -12
  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 +43 -37
  65. package/dist/src/presentation/cli/commands/feat/reject.command.d.ts.map +1 -1
  66. package/dist/src/presentation/cli/commands/feat/reject.command.js +11 -9
  67. package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.d.ts.map +1 -1
  68. package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.js +12 -5
  69. package/dist/src/presentation/cli/commands/feat/resume.command.d.ts.map +1 -1
  70. package/dist/src/presentation/cli/commands/feat/resume.command.js +8 -6
  71. package/dist/src/presentation/cli/commands/feat/review.command.d.ts.map +1 -1
  72. package/dist/src/presentation/cli/commands/feat/review.command.js +17 -15
  73. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  74. package/dist/src/presentation/cli/commands/feat/show.command.js +89 -45
  75. package/dist/src/presentation/cli/commands/feat/start.command.d.ts.map +1 -1
  76. package/dist/src/presentation/cli/commands/feat/start.command.js +12 -10
  77. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +1 -1
  78. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +8 -6
  79. package/dist/src/presentation/cli/commands/ide-open.command.d.ts.map +1 -1
  80. package/dist/src/presentation/cli/commands/ide-open.command.js +10 -5
  81. package/dist/src/presentation/cli/commands/install.command.d.ts.map +1 -1
  82. package/dist/src/presentation/cli/commands/install.command.js +29 -21
  83. package/dist/src/presentation/cli/commands/log-viewer.d.ts.map +1 -1
  84. package/dist/src/presentation/cli/commands/log-viewer.js +6 -3
  85. package/dist/src/presentation/cli/commands/repo/add.command.d.ts.map +1 -1
  86. package/dist/src/presentation/cli/commands/repo/add.command.js +12 -10
  87. package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
  88. package/dist/src/presentation/cli/commands/repo/index.js +3 -1
  89. package/dist/src/presentation/cli/commands/repo/ls.command.d.ts.map +1 -1
  90. package/dist/src/presentation/cli/commands/repo/ls.command.js +11 -9
  91. package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts.map +1 -1
  92. package/dist/src/presentation/cli/commands/repo/resolve-repository.js +7 -2
  93. package/dist/src/presentation/cli/commands/repo/show.command.d.ts.map +1 -1
  94. package/dist/src/presentation/cli/commands/repo/show.command.js +21 -10
  95. package/dist/src/presentation/cli/commands/restart.command.d.ts.map +1 -1
  96. package/dist/src/presentation/cli/commands/restart.command.js +6 -4
  97. package/dist/src/presentation/cli/commands/run.command.d.ts.map +1 -1
  98. package/dist/src/presentation/cli/commands/run.command.js +21 -17
  99. package/dist/src/presentation/cli/commands/session/index.d.ts.map +1 -1
  100. package/dist/src/presentation/cli/commands/session/index.js +3 -1
  101. package/dist/src/presentation/cli/commands/session/ls.command.d.ts.map +1 -1
  102. package/dist/src/presentation/cli/commands/session/ls.command.js +11 -9
  103. package/dist/src/presentation/cli/commands/session/show.command.d.ts.map +1 -1
  104. package/dist/src/presentation/cli/commands/session/show.command.js +26 -18
  105. package/dist/src/presentation/cli/commands/settings/agent.command.d.ts.map +1 -1
  106. package/dist/src/presentation/cli/commands/settings/agent.command.js +12 -8
  107. package/dist/src/presentation/cli/commands/settings/ide.command.d.ts.map +1 -1
  108. package/dist/src/presentation/cli/commands/settings/ide.command.js +13 -7
  109. package/dist/src/presentation/cli/commands/settings/index.d.ts +1 -0
  110. package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
  111. package/dist/src/presentation/cli/commands/settings/index.js +7 -3
  112. package/dist/src/presentation/cli/commands/settings/init.command.d.ts.map +1 -1
  113. package/dist/src/presentation/cli/commands/settings/init.command.js +8 -7
  114. package/dist/src/presentation/cli/commands/settings/language.command.d.ts +14 -0
  115. package/dist/src/presentation/cli/commands/settings/language.command.d.ts.map +1 -0
  116. package/dist/src/presentation/cli/commands/settings/language.command.js +79 -0
  117. package/dist/src/presentation/cli/commands/settings/model.command.d.ts.map +1 -1
  118. package/dist/src/presentation/cli/commands/settings/model.command.js +7 -6
  119. package/dist/src/presentation/cli/commands/settings/show.command.d.ts.map +1 -1
  120. package/dist/src/presentation/cli/commands/settings/show.command.js +4 -3
  121. package/dist/src/presentation/cli/commands/settings/workflow.command.d.ts.map +1 -1
  122. package/dist/src/presentation/cli/commands/settings/workflow.command.js +20 -18
  123. package/dist/src/presentation/cli/commands/start.command.d.ts.map +1 -1
  124. package/dist/src/presentation/cli/commands/start.command.js +5 -3
  125. package/dist/src/presentation/cli/commands/status.command.d.ts.map +1 -1
  126. package/dist/src/presentation/cli/commands/status.command.js +32 -24
  127. package/dist/src/presentation/cli/commands/stop.command.d.ts.map +1 -1
  128. package/dist/src/presentation/cli/commands/stop.command.js +4 -2
  129. package/dist/src/presentation/cli/commands/tools.command.d.ts.map +1 -1
  130. package/dist/src/presentation/cli/commands/tools.command.js +8 -4
  131. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  132. package/dist/src/presentation/cli/commands/ui.command.js +12 -10
  133. package/dist/src/presentation/cli/commands/upgrade.command.d.ts.map +1 -1
  134. package/dist/src/presentation/cli/commands/upgrade.command.js +18 -13
  135. package/dist/src/presentation/cli/commands/version.command.d.ts.map +1 -1
  136. package/dist/src/presentation/cli/commands/version.command.js +5 -3
  137. package/dist/src/presentation/cli/i18n.d.ts +41 -0
  138. package/dist/src/presentation/cli/i18n.d.ts.map +1 -0
  139. package/dist/src/presentation/cli/i18n.js +100 -0
  140. package/dist/src/presentation/cli/index.js +13 -1
  141. package/dist/src/presentation/cli/ui/install-messages.d.ts.map +1 -1
  142. package/dist/src/presentation/cli/ui/install-messages.js +16 -6
  143. package/dist/src/presentation/tui/i18n.d.ts +24 -0
  144. package/dist/src/presentation/tui/i18n.d.ts.map +1 -0
  145. package/dist/src/presentation/tui/i18n.js +48 -0
  146. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts +13 -31
  147. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
  148. package/dist/src/presentation/tui/prompts/agent-select.prompt.js +17 -15
  149. package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts +7 -11
  150. package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts.map +1 -1
  151. package/dist/src/presentation/tui/prompts/auth-method.prompt.js +7 -5
  152. package/dist/src/presentation/tui/prompts/ide-select.prompt.d.ts.map +1 -1
  153. package/dist/src/presentation/tui/prompts/ide-select.prompt.js +2 -1
  154. package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.d.ts.map +1 -1
  155. package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.js +8 -6
  156. package/dist/src/presentation/tui/wizards/agent-config.wizard.d.ts.map +1 -1
  157. package/dist/src/presentation/tui/wizards/agent-config.wizard.js +2 -1
  158. package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts.map +1 -1
  159. package/dist/src/presentation/tui/wizards/github-import.wizard.js +15 -11
  160. package/dist/src/presentation/tui/wizards/merge-review.wizard.d.ts.map +1 -1
  161. package/dist/src/presentation/tui/wizards/merge-review.wizard.js +10 -8
  162. package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.d.ts.map +1 -1
  163. package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.js +10 -7
  164. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts +0 -41
  165. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts.map +1 -1
  166. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.js +15 -15
  167. package/dist/src/presentation/tui/wizards/plan-review.wizard.d.ts.map +1 -1
  168. package/dist/src/presentation/tui/wizards/plan-review.wizard.js +10 -8
  169. package/dist/src/presentation/tui/wizards/prd-review.wizard.d.ts.map +1 -1
  170. package/dist/src/presentation/tui/wizards/prd-review.wizard.js +3 -2
  171. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  172. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +4 -2
  173. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  174. package/dist/src/presentation/web/app/actions/create-feature.js +3 -0
  175. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  176. package/dist/src/presentation/web/app/layout.js +5 -2
  177. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -1
  178. package/dist/src/presentation/web/components/assistant-ui/thread.js +13 -10
  179. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts.map +1 -1
  180. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.js +3 -1
  181. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +1 -1
  182. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  183. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +5 -2
  184. package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.js +3 -3
  185. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +4 -4
  186. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  187. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +7 -1
  188. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +1 -1
  189. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.d.ts.map +1 -1
  190. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.js +3 -1
  191. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +2 -2
  192. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.d.ts.map +1 -1
  193. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +6 -2
  194. package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.js +2 -2
  195. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  196. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +34 -22
  197. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts.map +1 -1
  198. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +11 -7
  199. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.d.ts.map +1 -1
  200. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.js +3 -1
  201. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  202. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +4 -2
  203. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.d.ts.map +1 -1
  204. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.js +5 -3
  205. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map +1 -1
  206. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +9 -5
  207. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +1 -1
  208. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -2
  209. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  210. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +22 -22
  211. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  212. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +49 -36
  213. package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.d.ts.map +1 -1
  214. package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.js +7 -3
  215. package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.d.ts.map +1 -1
  216. package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.js +4 -2
  217. package/dist/src/presentation/web/components/common/feature-status-config.d.ts +2 -1
  218. package/dist/src/presentation/web/components/common/feature-status-config.d.ts.map +1 -1
  219. package/dist/src/presentation/web/components/common/feature-status-config.js +6 -6
  220. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.js +1 -1
  221. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.d.ts.map +1 -1
  222. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.js +4 -2
  223. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +1 -1
  224. package/dist/src/presentation/web/components/common/merge-review/diff-view.js +2 -2
  225. package/dist/src/presentation/web/components/common/merge-review/merge-review.js +2 -2
  226. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.js +3 -3
  227. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.d.ts.map +1 -1
  228. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.js +6 -4
  229. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  230. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +18 -11
  231. package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.js +1 -1
  232. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.d.ts.map +1 -1
  233. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.js +7 -4
  234. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.js +2 -2
  235. package/dist/src/presentation/web/components/common/version-badge/version-badge.d.ts.map +1 -1
  236. package/dist/src/presentation/web/components/common/version-badge/version-badge.js +3 -1
  237. package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts.map +1 -1
  238. package/dist/src/presentation/web/components/features/chat/ChatComposer.js +3 -1
  239. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.d.ts.map +1 -1
  240. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.js +7 -5
  241. package/dist/src/presentation/web/components/features/chat/ChatMessageList.js +1 -1
  242. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  243. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +5 -3
  244. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
  245. package/dist/src/presentation/web/components/features/chat/ChatTab.js +5 -3
  246. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  247. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +15 -11
  248. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  249. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +14 -6
  250. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +2 -2
  251. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  252. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +8 -6
  253. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts.map +1 -1
  254. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +3 -1
  255. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  256. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +4 -2
  257. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +2 -2
  258. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +2 -2
  259. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +1 -1
  260. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts +5 -0
  261. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts.map +1 -0
  262. package/dist/src/presentation/web/components/features/settings/language-settings-section.js +54 -0
  263. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +18 -0
  264. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +1 -0
  265. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.js +36 -0
  266. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  267. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +89 -77
  268. package/dist/src/presentation/web/components/features/settings/timeout-slider.js +1 -1
  269. package/dist/src/presentation/web/components/features/skills/category-filter.js +1 -1
  270. package/dist/src/presentation/web/components/features/skills/skills-page-client.js +1 -1
  271. package/dist/src/presentation/web/components/features/tools/tool-card.js +1 -1
  272. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +2 -2
  273. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  274. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +5 -1
  275. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  276. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +13 -7
  277. package/dist/src/presentation/web/components/providers/i18n-provider.d.ts +17 -0
  278. package/dist/src/presentation/web/components/providers/i18n-provider.d.ts.map +1 -0
  279. package/dist/src/presentation/web/components/providers/i18n-provider.js +36 -0
  280. package/dist/src/presentation/web/components/ui/alert-dialog.js +1 -1
  281. package/dist/src/presentation/web/components/ui/alert.js +1 -1
  282. package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
  283. package/dist/src/presentation/web/components/ui/command.js +1 -1
  284. package/dist/src/presentation/web/components/ui/dialog.d.ts.map +1 -1
  285. package/dist/src/presentation/web/components/ui/dialog.js +2 -2
  286. package/dist/src/presentation/web/components/ui/dialog.stories.js +1 -1
  287. package/dist/src/presentation/web/components/ui/drawer.d.ts.map +1 -1
  288. package/dist/src/presentation/web/components/ui/drawer.js +2 -8
  289. package/dist/src/presentation/web/components/ui/dropdown-menu.js +6 -6
  290. package/dist/src/presentation/web/components/ui/scroll-area.js +1 -1
  291. package/dist/src/presentation/web/components/ui/select.js +1 -1
  292. package/dist/src/presentation/web/components/ui/sheet.js +3 -3
  293. package/dist/src/presentation/web/components/ui/sidebar.d.ts.map +1 -1
  294. package/dist/src/presentation/web/components/ui/sidebar.js +15 -15
  295. package/dist/src/presentation/web/components/ui/switch.js +1 -1
  296. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  297. package/dist/src/presentation/web/hooks/use-graph-state.js +7 -4
  298. package/dist/src/presentation/web/hooks/use-sound-action.stories.js +1 -1
  299. package/dist/src/presentation/web/lib/i18n.d.ts +15 -0
  300. package/dist/src/presentation/web/lib/i18n.d.ts.map +1 -0
  301. package/dist/src/presentation/web/lib/i18n.js +64 -0
  302. package/dist/src/presentation/web/lib/language.d.ts +23 -0
  303. package/dist/src/presentation/web/lib/language.d.ts.map +1 -0
  304. package/dist/src/presentation/web/lib/language.js +37 -0
  305. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts +2 -0
  306. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts.map +1 -1
  307. package/dist/src/presentation/web/lib/layout-with-dagre.js +4 -0
  308. package/dist/src/presentation/web/lib/rtl-fonts.d.ts +19 -0
  309. package/dist/src/presentation/web/lib/rtl-fonts.d.ts.map +1 -0
  310. package/dist/src/presentation/web/lib/rtl-fonts.js +51 -0
  311. package/dist/translations/ar/cli.json +613 -0
  312. package/dist/translations/ar/common.json +55 -0
  313. package/dist/translations/ar/tui.json +130 -0
  314. package/dist/translations/ar/web.json +594 -0
  315. package/dist/translations/de/cli.json +613 -0
  316. package/dist/translations/de/common.json +55 -0
  317. package/dist/translations/de/tui.json +109 -0
  318. package/dist/translations/de/web.json +580 -0
  319. package/dist/translations/en/cli.json +613 -0
  320. package/dist/translations/en/common.json +55 -0
  321. package/dist/translations/en/tui.json +130 -0
  322. package/dist/translations/en/web.json +594 -0
  323. package/dist/translations/es/cli.json +613 -0
  324. package/dist/translations/es/common.json +55 -0
  325. package/dist/translations/es/tui.json +130 -0
  326. package/dist/translations/es/web.json +594 -0
  327. package/dist/translations/fr/cli.json +613 -0
  328. package/dist/translations/fr/common.json +55 -0
  329. package/dist/translations/fr/tui.json +130 -0
  330. package/dist/translations/fr/web.json +594 -0
  331. package/dist/translations/he/cli.json +613 -0
  332. package/dist/translations/he/common.json +55 -0
  333. package/dist/translations/he/tui.json +130 -0
  334. package/dist/translations/he/web.json +594 -0
  335. package/dist/translations/pt/cli.json +613 -0
  336. package/dist/translations/pt/common.json +55 -0
  337. package/dist/translations/pt/tui.json +130 -0
  338. package/dist/translations/pt/web.json +594 -0
  339. package/dist/translations/ru/cli.json +613 -0
  340. package/dist/translations/ru/common.json +55 -0
  341. package/dist/translations/ru/tui.json +130 -0
  342. package/dist/translations/ru/web.json +594 -0
  343. package/dist/tsconfig.build.tsbuildinfo +1 -1
  344. package/package.json +4 -2
  345. package/web/.next/BUILD_ID +1 -1
  346. package/web/.next/build-manifest.json +2 -2
  347. package/web/.next/fallback-build-manifest.json +2 -2
  348. package/web/.next/prerender-manifest.json +3 -3
  349. package/web/.next/required-server-files.js +7 -7
  350. package/web/.next/required-server-files.json +7 -7
  351. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
  352. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
  353. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  354. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  355. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
  356. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
  357. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  358. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  359. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
  360. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
  361. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  362. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  363. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  364. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
  365. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  366. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  367. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
  368. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  369. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  370. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  371. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  372. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
  373. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  374. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  375. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  376. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
  377. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  378. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  379. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
  380. package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
  381. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  382. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  383. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
  384. package/web/.next/server/app/(dashboard)/create/page.js +3 -3
  385. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  386. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  387. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  388. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
  389. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  390. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  391. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
  392. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  393. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  394. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  395. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
  396. package/web/.next/server/app/(dashboard)/page.js +3 -3
  397. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  398. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  399. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  400. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
  401. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  402. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  403. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  404. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
  405. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  406. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  407. package/web/.next/server/app/_global-error.html +2 -2
  408. package/web/.next/server/app/_global-error.rsc +1 -1
  409. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  410. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  411. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  412. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  413. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  414. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
  415. package/web/.next/server/app/_not-found/page.js +2 -2
  416. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  417. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  418. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  419. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  420. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  421. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  422. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  423. package/web/.next/server/app/settings/page.js +2 -2
  424. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  425. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  426. package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
  427. package/web/.next/server/app/skills/page.js +3 -4
  428. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  429. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  430. package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
  431. package/web/.next/server/app/tools/page.js +3 -4
  432. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  433. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  434. package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
  435. package/web/.next/server/app/version/page.js +2 -2
  436. package/web/.next/server/app/version/page.js.nft.json +1 -1
  437. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  438. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  439. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  440. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  441. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js.map +1 -1
  442. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +1 -1
  443. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js.map +1 -1
  444. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +1 -1
  445. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
  446. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  447. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  448. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  449. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  450. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
  451. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  452. package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js +4 -0
  453. package/web/.next/server/chunks/ssr/{[root-of-the-server]__88f7e8e6._.js.map → [root-of-the-server]__209c9597._.js.map} +1 -1
  454. package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js +4 -0
  455. package/web/.next/server/chunks/ssr/{[root-of-the-server]__17ed7ed1._.js.map → [root-of-the-server]__27301e38._.js.map} +1 -1
  456. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  457. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
  458. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
  459. package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js +4 -0
  460. package/web/.next/server/chunks/ssr/{[root-of-the-server]__42bf1807._.js.map → [root-of-the-server]__6fecf886._.js.map} +1 -1
  461. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  462. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js +4 -0
  463. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +1 -0
  464. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js +4 -0
  465. package/web/.next/server/chunks/ssr/{[root-of-the-server]__f80bfc75._.js.map → [root-of-the-server]__9f3504c7._.js.map} +1 -1
  466. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +4 -0
  467. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +1 -0
  468. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
  469. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
  470. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js +3 -0
  471. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js.map +1 -0
  472. package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js +2 -2
  473. package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js.map +1 -1
  474. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js +1 -1
  475. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +1 -1
  476. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  477. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  478. package/web/.next/server/chunks/ssr/_0dc06d07._.js +3 -0
  479. package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -0
  480. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  481. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  482. package/web/.next/server/chunks/ssr/_2b858df5._.js +3 -0
  483. package/web/.next/server/chunks/ssr/{_2c7d0c36._.js.map → _2b858df5._.js.map} +1 -1
  484. package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
  485. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
  486. package/web/.next/server/chunks/ssr/{_67104d9e._.js → _3bcda5d7._.js} +2 -2
  487. package/web/.next/server/chunks/ssr/{_67104d9e._.js.map → _3bcda5d7._.js.map} +1 -1
  488. package/web/.next/server/chunks/ssr/{_71e47f04._.js → _4e19e8d2._.js} +2 -2
  489. package/web/.next/server/chunks/ssr/{_71e47f04._.js.map → _4e19e8d2._.js.map} +1 -1
  490. package/web/.next/server/chunks/ssr/_5119a3df._.js +3 -0
  491. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -0
  492. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  493. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  494. package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
  495. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
  496. package/web/.next/server/chunks/ssr/_6645de45._.js +4 -0
  497. package/web/.next/server/chunks/ssr/_6645de45._.js.map +1 -0
  498. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
  499. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
  500. package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
  501. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
  502. package/web/.next/server/chunks/ssr/_8b57edb8._.js +1 -1
  503. package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +1 -1
  504. package/web/.next/server/chunks/ssr/_8d733ce4._.js +1 -1
  505. package/web/.next/server/chunks/ssr/_8d733ce4._.js.map +1 -1
  506. package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
  507. package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
  508. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
  509. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
  510. package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
  511. package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -1
  512. package/web/.next/server/chunks/ssr/{_507a8382._.js → _b9ba2473._.js} +2 -2
  513. package/web/.next/server/chunks/ssr/_b9ba2473._.js.map +1 -0
  514. package/web/.next/server/chunks/ssr/_bcaea66b._.js +3 -0
  515. package/web/.next/server/chunks/ssr/_bcaea66b._.js.map +1 -0
  516. package/web/.next/server/chunks/ssr/_bcfa8457._.js +9 -0
  517. package/web/.next/server/chunks/ssr/_bcfa8457._.js.map +1 -0
  518. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
  519. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
  520. package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
  521. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
  522. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +1 -1
  523. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +1 -1
  524. package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
  525. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
  526. package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
  527. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
  528. package/web/.next/server/chunks/ssr/_d90b0a06._.js +3 -0
  529. package/web/.next/server/chunks/ssr/_d90b0a06._.js.map +1 -0
  530. package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
  531. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
  532. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  533. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  534. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js +1 -1
  535. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js.map +1 -1
  536. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  537. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  538. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  539. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +3 -0
  540. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -0
  541. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  542. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  543. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  544. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  545. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  546. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  547. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +3 -0
  548. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -0
  549. package/web/.next/server/pages/500.html +2 -2
  550. package/web/.next/server/server-reference-manifest.js +1 -1
  551. package/web/.next/server/server-reference-manifest.json +45 -45
  552. package/web/.next/static/chunks/{b4cde06eff374c59.js → 0a79dfbb8486b66e.js} +2 -2
  553. package/web/.next/static/chunks/{f50d8e1825fae0fe.js → 0c87b59a0fdd22dd.js} +1 -1
  554. package/web/.next/static/chunks/11e4b9d959a6efa7.js +2 -0
  555. package/web/.next/static/chunks/{f6085a3750b6d8f4.js → 16d35285b664c30c.js} +1 -1
  556. package/web/.next/static/chunks/2273b81cd7c7d2af.css +1 -0
  557. package/web/.next/static/chunks/{60bc4daf6904d5a0.js → 24d701de138b762d.js} +1 -1
  558. package/web/.next/static/chunks/2c5bf14361cf6728.js +1 -0
  559. package/web/.next/static/chunks/{688971d5bad5dc7c.js → 3deefc76ea55047c.js} +1 -1
  560. package/web/.next/static/chunks/42e6a21f1d63dc5c.js +1 -0
  561. package/web/.next/static/chunks/{11091b676d1b3bd4.js → 47477ed4c5871747.js} +1 -1
  562. package/web/.next/static/chunks/4864ff06a738d58b.js +1 -0
  563. package/web/.next/static/chunks/{22c459f1877b1e4f.js → 74db65fa7bfb80bd.js} +1 -1
  564. package/web/.next/static/chunks/9061f08ab7e537a8.js +1 -0
  565. package/web/.next/static/chunks/919509a19de3205b.js +7 -0
  566. package/web/.next/static/chunks/{b3109b268c02449c.js → 9aa752f55e6cfcc9.js} +1 -1
  567. package/web/.next/static/chunks/a72f1d456f0afa8a.js +5 -0
  568. package/web/.next/static/chunks/ad5b1373e5ba0789.js +1 -0
  569. package/web/.next/static/chunks/b447e13b2ac5bb65.js +1 -0
  570. package/web/.next/static/chunks/d2cbeefbc8967b16.js +1 -0
  571. package/web/.next/static/chunks/d5366257d6b9f855.js +1 -0
  572. package/web/.next/static/chunks/{5ae60a052ab5f437.js → d6e702c209c413ce.js} +2 -2
  573. package/web/.next/static/chunks/{97c18bb438f775cf.js → e63d0d79a334fa97.js} +2 -2
  574. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +0 -3
  575. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +0 -1
  576. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js +0 -4
  577. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js +0 -4
  578. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +0 -1
  579. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js +0 -4
  580. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js +0 -4
  581. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js +0 -4
  582. package/web/.next/server/chunks/ssr/_2c7d0c36._.js +0 -3
  583. package/web/.next/server/chunks/ssr/_4b432739._.js +0 -3
  584. package/web/.next/server/chunks/ssr/_4b432739._.js.map +0 -1
  585. package/web/.next/server/chunks/ssr/_507a8382._.js.map +0 -1
  586. package/web/.next/server/chunks/ssr/_8219712a._.js +0 -3
  587. package/web/.next/server/chunks/ssr/_8219712a._.js.map +0 -1
  588. package/web/.next/server/chunks/ssr/_d4b20e29._.js +0 -3
  589. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +0 -1
  590. package/web/.next/server/chunks/ssr/_dd0d2cda._.js +0 -4
  591. package/web/.next/server/chunks/ssr/_dd0d2cda._.js.map +0 -1
  592. package/web/.next/server/chunks/ssr/_e9a73a63._.js +0 -9
  593. package/web/.next/server/chunks/ssr/_e9a73a63._.js.map +0 -1
  594. package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js +0 -3
  595. package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js.map +0 -1
  596. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +0 -3
  597. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +0 -1
  598. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +0 -3
  599. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +0 -1
  600. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +0 -3
  601. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +0 -1
  602. package/web/.next/static/chunks/08fe461cb16fced0.js +0 -1
  603. package/web/.next/static/chunks/1a1dc6a09c911b70.js +0 -1
  604. package/web/.next/static/chunks/21c8953d720bddcc.js +0 -7
  605. package/web/.next/static/chunks/450bfeed79bb1648.js +0 -1
  606. package/web/.next/static/chunks/4b2c4a5c35ebb70d.js +0 -1
  607. package/web/.next/static/chunks/711a2468a2ea3c85.js +0 -1
  608. package/web/.next/static/chunks/8590bd2e69b24b9e.css +0 -1
  609. package/web/.next/static/chunks/8ba1c07ef18b15a9.js +0 -1
  610. package/web/.next/static/chunks/cd54b758f58061d0.js +0 -1
  611. package/web/.next/static/chunks/d1fa9a48542437bd.js +0 -2
  612. package/web/.next/static/chunks/de8a83cc1a08a5f1.js +0 -5
  613. /package/web/.next/static/{gvtDuAeM3WKFc9kJihv1y → _3mdwhLrxBePUb5DWqy3q}/_buildManifest.js +0 -0
  614. /package/web/.next/static/{gvtDuAeM3WKFc9kJihv1y → _3mdwhLrxBePUb5DWqy3q}/_clientMiddlewareManifest.json +0 -0
  615. /package/web/.next/static/{gvtDuAeM3WKFc9kJihv1y → _3mdwhLrxBePUb5DWqy3q}/_ssgManifest.js +0 -0
@@ -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),n=e.i(79054),a=e.i(23925),r=e.i(26370),i=e.i(38573),l=e.i(49228),o=e.i(3645);let s=(0,o.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),d=(0,o.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),c=(0,o.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,o.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var p=e.i(10714),p=p,m=e.i(3214),h=e.i(30702);let f=(0,o.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var g=e.i(58860),x=e.i(48109),v=e.i(60112),b=e.i(31777),w=e.i(41957),y=e.i(51911),S=e.i(26036),j=e.i(27069),C=e.i(91967),k=e.i(87342),I=e.i(5978),M=e.i(22528),N=e.i(66033),P=e.i(53532),R=e.i(41687),E=e.i(56720),T=e.i(13123),A=e.i(52740),D=e.i(39979),F=e.i(87620),L=e.i(86874),H=e.i(29297),B=e.i(36589),z=e.i(5192),_=e.i(23405),V=e.i(1693),W=e.i(73772),O=e.i(13044),U=[" ","Enter","ArrowUp","ArrowDown"],K=[" ","Enter"],q="Select",[G,$,Y]=(0,k.createCollection)(q),[Z,X]=(0,M.createContextScope)(q,[Y,A.createPopperScope]),Q=(0,A.createPopperScope)(),[J,ee]=Z(q),[et,en]=Z(q),ea=e=>{let{__scopeSelect:a,children:r,open:i,defaultOpen:l,onOpenChange:o,value:s,defaultValue:d,onValueChange:c,dir:u,name:p,autoComplete:m,disabled:h,required:f,form:g}=e,x=Q(a),[v,b]=n.useState(null),[w,y]=n.useState(null),[S,j]=n.useState(!1),C=(0,N.useDirection)(u),[k,I]=(0,B.useControllableState)({prop:i,defaultProp:l??!1,onChange:o,caller:q}),[M,P]=(0,B.useControllableState)({prop:s,defaultProp:d,onChange:c,caller:q}),R=n.useRef(null),E=!v||g||!!v.closest("form"),[D,F]=n.useState(new Set),L=Array.from(D).map(e=>e.props.value).join(";");return(0,t.jsx)(A.Root,{...x,children:(0,t.jsxs)(J,{required:f,scope:a,trigger:v,onTriggerChange:b,valueNode:w,onValueNodeChange:y,valueNodeHasChildren:S,onValueNodeHasChildrenChange:j,contentId:(0,T.useId)(),value:M,onValueChange:P,open:k,onOpenChange:I,dir:C,triggerPointerDownPosRef:R,disabled:h,children:[(0,t.jsx)(G.Provider,{scope:a,children:(0,t.jsx)(et,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(e=>{F(t=>new Set(t).add(e))},[]),onNativeOptionRemove:n.useCallback(e=>{F(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:r})}),E?(0,t.jsxs)(eU,{"aria-hidden":!0,required:f,tabIndex:-1,name:p,autoComplete:m,value:M,onChange:e=>P(e.target.value),disabled:h,form:g,children:[void 0===M?(0,t.jsx)("option",{value:""}):null,Array.from(D)]},L):null]})})};ea.displayName=q;var er="SelectTrigger",ei=n.forwardRef((e,a)=>{let{__scopeSelect:r,disabled:i=!1,...l}=e,o=Q(r),s=ee(er,r),d=s.disabled||i,c=(0,I.useComposedRefs)(a,s.onTriggerChange),u=$(r),p=n.useRef("touch"),[m,h,f]=eq(e=>{let t=u().filter(e=>!e.disabled),n=t.find(e=>e.value===s.value),a=eG(t,e,n);void 0!==a&&s.onValueChange(a.value)}),g=e=>{d||(s.onOpenChange(!0),f()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(A.Anchor,{asChild:!0,...o,children:(0,t.jsx)(F.Primitive.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":eK(s.value)?"":void 0,...l,ref:c,onClick:(0,C.composeEventHandlers)(l.onClick,e=>{e.currentTarget.focus(),"mouse"!==p.current&&g(e)}),onPointerDown:(0,C.composeEventHandlers)(l.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(g(e),e.preventDefault())}),onKeyDown:(0,C.composeEventHandlers)(l.onKeyDown,e=>{let t=""!==m.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||h(e.key),(!t||" "!==e.key)&&U.includes(e.key)&&(g(),e.preventDefault())})})})});ei.displayName=er;var el="SelectValue",eo=n.forwardRef((e,n)=>{let{__scopeSelect:a,className:r,style:i,children:l,placeholder:o="",...s}=e,d=ee(el,a),{onValueNodeHasChildrenChange:c}=d,u=void 0!==l,p=(0,I.useComposedRefs)(n,d.onValueNodeChange);return(0,z.useLayoutEffect)(()=>{c(u)},[c,u]),(0,t.jsx)(F.Primitive.span,{...s,ref:p,style:{pointerEvents:"none"},children:eK(d.value)?(0,t.jsx)(t.Fragment,{children:o}):l})});eo.displayName=el;var es=n.forwardRef((e,n)=>{let{__scopeSelect:a,children:r,...i}=e;return(0,t.jsx)(F.Primitive.span,{"aria-hidden":!0,...i,ref:n,children:r||"▼"})});es.displayName="SelectIcon";var ed=e=>(0,t.jsx)(D.Portal,{asChild:!0,...e});ed.displayName="SelectPortal";var ec="SelectContent",eu=n.forwardRef((e,a)=>{let r=ee(ec,e.__scopeSelect),[i,l]=n.useState();return((0,z.useLayoutEffect)(()=>{l(new DocumentFragment)},[]),r.open)?(0,t.jsx)(ef,{...e,ref:a}):i?S.createPortal((0,t.jsx)(ep,{scope:e.__scopeSelect,children:(0,t.jsx)(G.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),i):null});eu.displayName=ec;var[ep,em]=Z(ec),eh=(0,L.createSlot)("SelectContent.RemoveScroll"),ef=n.forwardRef((e,a)=>{let{__scopeSelect:r,position:i="item-aligned",onCloseAutoFocus:l,onEscapeKeyDown:o,onPointerDownOutside:s,side:d,sideOffset:c,align:u,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:f,sticky:g,hideWhenDetached:x,avoidCollisions:v,...b}=e,w=ee(ec,r),[y,S]=n.useState(null),[j,k]=n.useState(null),M=(0,I.useComposedRefs)(a,e=>S(e)),[N,T]=n.useState(null),[A,D]=n.useState(null),F=$(r),[L,H]=n.useState(!1),B=n.useRef(!1);n.useEffect(()=>{if(y)return(0,W.hideOthers)(y)},[y]),(0,R.useFocusGuards)();let z=n.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[a]=n.slice(-1),r=document.activeElement;for(let n of e)if(n===r||(n?.scrollIntoView({block:"nearest"}),n===t&&j&&(j.scrollTop=0),n===a&&j&&(j.scrollTop=j.scrollHeight),n?.focus(),document.activeElement!==r))return},[F,j]),_=n.useCallback(()=>z([N,y]),[z,N,y]);n.useEffect(()=>{L&&_()},[L,_]);let{onOpenChange:V,triggerPointerDownPosRef:U}=w;n.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(U.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():y.contains(n.target)||V(!1),document.removeEventListener("pointermove",t),U.current=null};return null!==U.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",n,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",n,{capture:!0})}}},[y,V,U]),n.useEffect(()=>{let e=()=>V(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[V]);let[K,q]=eq(e=>{let t=F().filter(e=>!e.disabled),n=t.find(e=>e.ref.current===document.activeElement),a=eG(t,e,n);a&&setTimeout(()=>a.ref.current.focus())}),G=n.useCallback((e,t,n)=>{let a=!B.current&&!n;(void 0!==w.value&&w.value===t||a)&&(T(e),a&&(B.current=!0))},[w.value]),Y=n.useCallback(()=>y?.focus(),[y]),Z=n.useCallback((e,t,n)=>{let a=!B.current&&!n;(void 0!==w.value&&w.value===t||a)&&D(e)},[w.value]),X="popper"===i?ex:eg,Q=X===ex?{side:d,sideOffset:c,align:u,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:f,sticky:g,hideWhenDetached:x,avoidCollisions:v}:{};return(0,t.jsx)(ep,{scope:r,content:y,viewport:j,onViewportChange:k,itemRefCallback:G,selectedItem:N,onItemLeave:Y,itemTextRefCallback:Z,focusSelectedItem:_,selectedItemText:A,position:i,isPositioned:L,searchRef:K,children:(0,t.jsx)(O.RemoveScroll,{as:eh,allowPinchZoom:!0,children:(0,t.jsx)(E.FocusScope,{asChild:!0,trapped:w.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,C.composeEventHandlers)(l,e=>{w.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(P.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:(0,t.jsx)(X,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:e=>e.preventDefault(),...b,...Q,onPlaced:()=>H(!0),ref:M,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:(0,C.composeEventHandlers)(b.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||q(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=F().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 n=e.target,a=t.indexOf(n);t=t.slice(a+1)}setTimeout(()=>z(t)),e.preventDefault()}})})})})})})});ef.displayName="SelectContentImpl";var eg=n.forwardRef((e,a)=>{let{__scopeSelect:r,onPlaced:i,...l}=e,o=ee(ec,r),s=em(ec,r),[d,c]=n.useState(null),[u,p]=n.useState(null),m=(0,I.useComposedRefs)(a,e=>p(e)),h=$(r),f=n.useRef(!1),g=n.useRef(!0),{viewport:x,selectedItem:v,selectedItemText:b,focusSelectedItem:w}=s,y=n.useCallback(()=>{if(o.trigger&&o.valueNode&&d&&u&&x&&v&&b){let e=o.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=o.valueNode.getBoundingClientRect(),a=b.getBoundingClientRect();if("rtl"!==o.dir){let r=a.left-t.left,i=n.left-r,l=e.left-i,o=e.width+l,s=Math.max(o,t.width),c=window.innerWidth-10,u=(0,j.clamp)(i,[10,Math.max(10,c-s)]);d.style.minWidth=o+"px",d.style.left=u+"px"}else{let r=t.right-a.right,i=window.innerWidth-n.right-r,l=window.innerWidth-e.right-i,o=e.width+l,s=Math.max(o,t.width),c=window.innerWidth-10,u=(0,j.clamp)(i,[10,Math.max(10,c-s)]);d.style.minWidth=o+"px",d.style.right=u+"px"}let r=h(),l=window.innerHeight-20,s=x.scrollHeight,c=window.getComputedStyle(u),p=parseInt(c.borderTopWidth,10),m=parseInt(c.paddingTop,10),g=parseInt(c.borderBottomWidth,10),w=p+m+s+parseInt(c.paddingBottom,10)+g,y=Math.min(5*v.offsetHeight,w),S=window.getComputedStyle(x),C=parseInt(S.paddingTop,10),k=parseInt(S.paddingBottom,10),I=e.top+e.height/2-10,M=v.offsetHeight/2,N=p+m+(v.offsetTop+M);if(N<=I){let e=r.length>0&&v===r[r.length-1].ref.current;d.style.bottom="0px";let t=Math.max(l-I,M+(e?k:0)+(u.clientHeight-x.offsetTop-x.offsetHeight)+g);d.style.height=N+t+"px"}else{let e=r.length>0&&v===r[0].ref.current;d.style.top="0px";let t=Math.max(I,p+x.offsetTop+(e?C:0)+M);d.style.height=t+(w-N)+"px",x.scrollTop=N-I+x.offsetTop}d.style.margin="10px 0",d.style.minHeight=y+"px",d.style.maxHeight=l+"px",i?.(),requestAnimationFrame(()=>f.current=!0)}},[h,o.trigger,o.valueNode,d,u,x,v,b,o.dir,i]);(0,z.useLayoutEffect)(()=>y(),[y]);let[S,C]=n.useState();(0,z.useLayoutEffect)(()=>{u&&C(window.getComputedStyle(u).zIndex)},[u]);let k=n.useCallback(e=>{e&&!0===g.current&&(y(),w?.(),g.current=!1)},[y,w]);return(0,t.jsx)(ev,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:f,onScrollButtonChange:k,children:(0,t.jsx)("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:S},children:(0,t.jsx)(F.Primitive.div,{...l,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...l.style}})})})});eg.displayName="SelectItemAlignedPosition";var ex=n.forwardRef((e,n)=>{let{__scopeSelect:a,align:r="start",collisionPadding:i=10,...l}=e,o=Q(a);return(0,t.jsx)(A.Content,{...o,...l,ref:n,align:r,collisionPadding:i,style:{boxSizing:"border-box",...l.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)"}})});ex.displayName="SelectPopperPosition";var[ev,eb]=Z(ec,{}),ew="SelectViewport",ey=n.forwardRef((e,a)=>{let{__scopeSelect:r,nonce:i,...l}=e,o=em(ew,r),s=eb(ew,r),d=(0,I.useComposedRefs)(a,o.onViewportChange),c=n.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:i}),(0,t.jsx)(G.Slot,{scope:r,children:(0,t.jsx)(F.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...l,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...l.style},onScroll:(0,C.composeEventHandlers)(l.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:a}=s;if(a?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let a=window.innerHeight-20,r=Math.max(parseFloat(n.style.minHeight),parseFloat(n.style.height));if(r<a){let i=r+e,l=Math.min(a,i),o=i-l;n.style.height=l+"px","0px"===n.style.bottom&&(t.scrollTop=o>0?o:0,n.style.justifyContent="flex-end")}}}c.current=t.scrollTop})})})]})});ey.displayName=ew;var eS="SelectGroup",[ej,eC]=Z(eS),ek=n.forwardRef((e,n)=>{let{__scopeSelect:a,...r}=e,i=(0,T.useId)();return(0,t.jsx)(ej,{scope:a,id:i,children:(0,t.jsx)(F.Primitive.div,{role:"group","aria-labelledby":i,...r,ref:n})})});ek.displayName=eS;var eI="SelectLabel",eM=n.forwardRef((e,n)=>{let{__scopeSelect:a,...r}=e,i=eC(eI,a);return(0,t.jsx)(F.Primitive.div,{id:i.id,...r,ref:n})});eM.displayName=eI;var eN="SelectItem",[eP,eR]=Z(eN),eE=n.forwardRef((e,a)=>{let{__scopeSelect:r,value:i,disabled:l=!1,textValue:o,...s}=e,d=ee(eN,r),c=em(eN,r),u=d.value===i,[p,m]=n.useState(o??""),[h,f]=n.useState(!1),g=(0,I.useComposedRefs)(a,e=>c.itemRefCallback?.(e,i,l)),x=(0,T.useId)(),v=n.useRef("touch"),b=()=>{l||(d.onValueChange(i),d.onOpenChange(!1))};if(""===i)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)(eP,{scope:r,value:i,disabled:l,textId:x,isSelected:u,onItemTextChange:n.useCallback(e=>{m(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(G.ItemSlot,{scope:r,value:i,disabled:l,textValue:p,children:(0,t.jsx)(F.Primitive.div,{role:"option","aria-labelledby":x,"data-highlighted":h?"":void 0,"aria-selected":u&&h,"data-state":u?"checked":"unchecked","aria-disabled":l||void 0,"data-disabled":l?"":void 0,tabIndex:l?void 0:-1,...s,ref:g,onFocus:(0,C.composeEventHandlers)(s.onFocus,()=>f(!0)),onBlur:(0,C.composeEventHandlers)(s.onBlur,()=>f(!1)),onClick:(0,C.composeEventHandlers)(s.onClick,()=>{"mouse"!==v.current&&b()}),onPointerUp:(0,C.composeEventHandlers)(s.onPointerUp,()=>{"mouse"===v.current&&b()}),onPointerDown:(0,C.composeEventHandlers)(s.onPointerDown,e=>{v.current=e.pointerType}),onPointerMove:(0,C.composeEventHandlers)(s.onPointerMove,e=>{v.current=e.pointerType,l?c.onItemLeave?.():"mouse"===v.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,C.composeEventHandlers)(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:(0,C.composeEventHandlers)(s.onKeyDown,e=>{(c.searchRef?.current===""||" "!==e.key)&&(K.includes(e.key)&&b()," "===e.key&&e.preventDefault())})})})})});eE.displayName=eN;var eT="SelectItemText",eA=n.forwardRef((e,a)=>{let{__scopeSelect:r,className:i,style:l,...o}=e,s=ee(eT,r),d=em(eT,r),c=eR(eT,r),u=en(eT,r),[p,m]=n.useState(null),h=(0,I.useComposedRefs)(a,e=>m(e),c.onItemTextChange,e=>d.itemTextRefCallback?.(e,c.value,c.disabled)),f=p?.textContent,g=n.useMemo(()=>(0,t.jsx)("option",{value:c.value,disabled:c.disabled,children:f},c.value),[c.disabled,c.value,f]),{onNativeOptionAdd:x,onNativeOptionRemove:v}=u;return(0,z.useLayoutEffect)(()=>(x(g),()=>v(g)),[x,v,g]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(F.Primitive.span,{id:c.textId,...o,ref:h}),c.isSelected&&s.valueNode&&!s.valueNodeHasChildren?S.createPortal(o.children,s.valueNode):null]})});eA.displayName=eT;var eD="SelectItemIndicator",eF=n.forwardRef((e,n)=>{let{__scopeSelect:a,...r}=e;return eR(eD,a).isSelected?(0,t.jsx)(F.Primitive.span,{"aria-hidden":!0,...r,ref:n}):null});eF.displayName=eD;var eL="SelectScrollUpButton",eH=n.forwardRef((e,a)=>{let r=em(eL,e.__scopeSelect),i=eb(eL,e.__scopeSelect),[l,o]=n.useState(!1),s=(0,I.useComposedRefs)(a,i.onScrollButtonChange);return(0,z.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){o(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),l?(0,t.jsx)(e_,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});eH.displayName=eL;var eB="SelectScrollDownButton",ez=n.forwardRef((e,a)=>{let r=em(eB,e.__scopeSelect),i=eb(eB,e.__scopeSelect),[l,o]=n.useState(!1),s=(0,I.useComposedRefs)(a,i.onScrollButtonChange);return(0,z.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;o(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),l?(0,t.jsx)(e_,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ez.displayName=eB;var e_=n.forwardRef((e,a)=>{let{__scopeSelect:r,onAutoScroll:i,...l}=e,o=em("SelectScrollButton",r),s=n.useRef(null),d=$(r),c=n.useCallback(()=>{null!==s.current&&(window.clearInterval(s.current),s.current=null)},[]);return n.useEffect(()=>()=>c(),[c]),(0,z.useLayoutEffect)(()=>{let e=d().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[d]),(0,t.jsx)(F.Primitive.div,{"aria-hidden":!0,...l,ref:a,style:{flexShrink:0,...l.style},onPointerDown:(0,C.composeEventHandlers)(l.onPointerDown,()=>{null===s.current&&(s.current=window.setInterval(i,50))}),onPointerMove:(0,C.composeEventHandlers)(l.onPointerMove,()=>{o.onItemLeave?.(),null===s.current&&(s.current=window.setInterval(i,50))}),onPointerLeave:(0,C.composeEventHandlers)(l.onPointerLeave,()=>{c()})})}),eV=n.forwardRef((e,n)=>{let{__scopeSelect:a,...r}=e;return(0,t.jsx)(F.Primitive.div,{"aria-hidden":!0,...r,ref:n})});eV.displayName="SelectSeparator";var eW="SelectArrow",eO=n.forwardRef((e,n)=>{let{__scopeSelect:a,...r}=e,i=Q(a),l=ee(eW,a),o=em(eW,a);return l.open&&"popper"===o.position?(0,t.jsx)(A.Arrow,{...i,...r,ref:n}):null});eO.displayName=eW;var eU=n.forwardRef(({__scopeSelect:e,value:a,...r},i)=>{let l=n.useRef(null),o=(0,I.useComposedRefs)(i,l),s=(0,_.usePrevious)(a);return n.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(s!==a&&t){let n=new Event("change",{bubbles:!0});t.call(e,a),e.dispatchEvent(n)}},[s,a]),(0,t.jsx)(F.Primitive.select,{...r,style:{...V.VISUALLY_HIDDEN_STYLES,...r.style},ref:o,defaultValue:a})});function eK(e){return""===e||void 0===e}function eq(e){let t=(0,H.useCallbackRef)(e),a=n.useRef(""),r=n.useRef(0),i=n.useCallback(e=>{let n=a.current+e;t(n),function e(t){a.current=t,window.clearTimeout(r.current),""!==t&&(r.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),l=n.useCallback(()=>{a.current="",window.clearTimeout(r.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(r.current),[]),[a,i,l]}function eG(e,t,n){var a,r;let i=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,l=n?e.indexOf(n):-1,o=(a=e,r=Math.max(l,0),a.map((e,t)=>a[(r+t)%a.length]));1===i.length&&(o=o.filter(e=>e!==n));let s=o.find(e=>e.textValue.toLowerCase().startsWith(i.toLowerCase()));return s!==n?s:void 0}eU.displayName="SelectBubbleInput",e.s(["Arrow",()=>eO,"Content",()=>eu,"Group",()=>ek,"Icon",()=>es,"Item",()=>eE,"ItemIndicator",()=>eF,"ItemText",()=>eA,"Label",()=>eM,"Portal",()=>ed,"Root",()=>ea,"ScrollDownButton",()=>ez,"ScrollUpButton",()=>eH,"Select",()=>ea,"SelectArrow",()=>eO,"SelectContent",()=>eu,"SelectGroup",()=>ek,"SelectIcon",()=>es,"SelectItem",()=>eE,"SelectItemIndicator",()=>eF,"SelectItemText",()=>eA,"SelectLabel",()=>eM,"SelectPortal",()=>ed,"SelectScrollDownButton",()=>ez,"SelectScrollUpButton",()=>eH,"SelectSeparator",()=>eV,"SelectTrigger",()=>ei,"SelectValue",()=>eo,"SelectViewport",()=>ey,"Separator",()=>eV,"Trigger",()=>ei,"Value",()=>eo,"Viewport",()=>ey,"createSelectScope",()=>X],83830);var e$=e.i(83830),e$=e$,eY=e.i(99105),eZ=e.i(48829);let eX=e$.Root;e$.Group;let eQ=e$.Value,eJ=n.forwardRef(({className:e,children:n,...a},r)=>(0,t.jsxs)(e$.Trigger,{ref:r,className:(0,b.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),...a,children:[n,(0,t.jsx)(e$.Icon,{asChild:!0,children:(0,t.jsx)(eY.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));eJ.displayName=e$.Trigger.displayName;let e0=n.forwardRef(({className:e,...n},a)=>(0,t.jsx)(e$.ScrollUpButton,{ref:a,className:(0,b.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eZ.ChevronUp,{className:"h-4 w-4"})}));e0.displayName=e$.ScrollUpButton.displayName;let e1=n.forwardRef(({className:e,...n},a)=>(0,t.jsx)(e$.ScrollDownButton,{ref:a,className:(0,b.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eY.ChevronDown,{className:"h-4 w-4"})}));e1.displayName=e$.ScrollDownButton.displayName;let e2=n.forwardRef(({className:e,children:n,position:a="popper",...r},i)=>(0,t.jsx)(e$.Portal,{children:(0,t.jsxs)(e$.Content,{ref:i,className:(0,b.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"===a&&"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:a,...r,children:[(0,t.jsx)(e0,{}),(0,t.jsx)(e$.Viewport,{className:(0,b.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),(0,t.jsx)(e1,{})]})}));e2.displayName=e$.Content.displayName,n.forwardRef(({className:e,...n},a)=>(0,t.jsx)(e$.Label,{ref:a,className:(0,b.cn)("px-2 py-1.5 text-sm font-semibold",e),...n})).displayName=e$.Label.displayName;let e3=n.forwardRef(({className:e,children:n,...r},i)=>(0,t.jsxs)(e$.Item,{ref:i,className:(0,b.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),...r,children:[(0,t.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(e$.ItemIndicator,{children:(0,t.jsx)(a.Check,{className:"h-4 w-4"})})}),(0,t.jsx)(e$.ItemText,{children:n})]}));e3.displayName=e$.Item.displayName,n.forwardRef(({className:e,...n},a)=>(0,t.jsx)(e$.Separator,{ref:a,className:(0,b.cn)("bg-muted -mx-1 my-1 h-px",e),...n})).displayName=e$.Separator.displayName;var e5=e.i(21023);let e4=(0,e5.createServerReference)("40daf589ee139db9b96c4d5cb933ec0e8dbb8f71f9",e5.callServer,void 0,e5.findSourceMapURL,"updateSettingsAction");var e8=e.i(17406),e9=e.i(98804),e6=e.i(44229),e7=e.i(83902);function te(e){return(0,t.jsx)(e6.Code,{className:(0,b.cn)("h-4 w-4",e.className),...e})}function tt({className:e}){return(0,t.jsx)(e9.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,b.cn)("rounded-sm object-contain",e)})}function tn({className:e}){return(0,t.jsx)(e9.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,b.cn)("rounded-sm object-contain",e)})}function ta({className:e}){return(0,t.jsx)(e9.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,b.cn)("rounded-sm object-contain",e)})}function tr({className:e}){return(0,t.jsx)(e9.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,b.cn)("rounded-sm object-contain",e)})}function ti({className:e,...n}){return(0,t.jsx)(e7.Rocket,{className:(0,b.cn)("h-4 w-4",e),...n})}tt.displayName="VsCodeIcon",tn.displayName="CursorEditorIcon",ta.displayName="WindsurfIcon",tr.displayName="ZedIcon",ti.displayName="AntigravityIcon";let tl={vscode:tt,cursor:tn,windsurf:ta,zed:tr,antigravity:ti};var to=e.i(41413),ts=e.i(77624),td=["PageUp","PageDown"],tc=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],tu={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},tp="Slider",[tm,th,tf]=(0,k.createCollection)(tp),[tg,tx]=(0,M.createContextScope)(tp,[tf]),[tv,tb]=tg(tp),tw=n.forwardRef((e,a)=>{let{name:r,min:i=0,max:l=100,step:o=1,orientation:s="horizontal",disabled:d=!1,minStepsBetweenThumbs:c=0,defaultValue:u=[i],value:p,onValueChange:m=()=>{},onValueCommit:h=()=>{},inverted:f=!1,form:g,...x}=e,v=n.useRef(new Set),b=n.useRef(0),w="horizontal"===s,[y=[],S]=(0,B.useControllableState)({prop:p,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),m(e)}}),k=n.useRef(y);function I(e,t,{commit:n}={commit:!1}){let a,r=(String(o).split(".")[1]||"").length,s=Math.round((Math.round((e-i)/o)*o+i)*(a=Math.pow(10,r)))/a,d=(0,j.clamp)(s,[i,l]);S((e=[])=>{let a=function(e=[],t,n){let a=[...e];return a[n]=t,a.sort((e,t)=>e-t)}(e,d,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(a,c*o))return e;{b.current=a.indexOf(d);let t=String(a)!==String(e);return t&&n&&h(a),t?a:e}})}return(0,t.jsx)(tv,{scope:e.__scopeSlider,name:r,disabled:d,min:i,max:l,valueIndexToChangeRef:b,thumbs:v.current,values:y,orientation:s,form:g,children:(0,t.jsx)(tm.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(tm.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?tj:tC,{"aria-disabled":d,"data-disabled":d?"":void 0,...x,ref:a,onPointerDown:(0,C.composeEventHandlers)(x.onPointerDown,()=>{d||(k.current=y)}),min:i,max:l,inverted:f,onSlideStart:d?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),a=Math.min(...n);return n.indexOf(a)}(y,e);I(e,t)},onSlideMove:d?void 0:function(e){I(e,b.current)},onSlideEnd:d?void 0:function(){let e=k.current[b.current];y[b.current]!==e&&h(y)},onHomeKeyDown:()=>!d&&I(i,0,{commit:!0}),onEndKeyDown:()=>!d&&I(l,y.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!d){let n=td.includes(e.key)||e.shiftKey&&tc.includes(e.key),a=b.current;I(y[a]+o*(n?10:1)*t,a,{commit:!0})}}})})})})});tw.displayName=tp;var[ty,tS]=tg(tp,{startEdge:"left",endEdge:"right",size:"width",direction:1}),tj=n.forwardRef((e,a)=>{let{min:r,max:i,dir:l,inverted:o,onSlideStart:s,onSlideMove:d,onSlideEnd:c,onStepKeyDown:u,...p}=e,[m,h]=n.useState(null),f=(0,I.useComposedRefs)(a,e=>h(e)),g=n.useRef(void 0),x=(0,N.useDirection)(l),v="ltr"===x,b=v&&!o||!v&&o;function w(e){let t=g.current||m.getBoundingClientRect(),n=tF([0,t.width],b?[r,i]:[i,r]);return g.current=t,n(e-t.left)}return(0,t.jsx)(ty,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(tk,{dir:x,"data-orientation":"horizontal",...p,ref:f,style:{...p.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=w(e.clientX);s?.(t)},onSlideMove:e=>{let t=w(e.clientX);d?.(t)},onSlideEnd:()=>{g.current=void 0,c?.()},onStepKeyDown:e=>{let t=tu[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),tC=n.forwardRef((e,a)=>{let{min:r,max:i,inverted:l,onSlideStart:o,onSlideMove:s,onSlideEnd:d,onStepKeyDown:c,...u}=e,p=n.useRef(null),m=(0,I.useComposedRefs)(a,p),h=n.useRef(void 0),f=!l;function g(e){let t=h.current||p.current.getBoundingClientRect(),n=tF([0,t.height],f?[i,r]:[r,i]);return h.current=t,n(e-t.top)}return(0,t.jsx)(ty,{scope:e.__scopeSlider,startEdge:f?"bottom":"top",endEdge:f?"top":"bottom",size:"height",direction:f?1:-1,children:(0,t.jsx)(tk,{"data-orientation":"vertical",...u,ref:m,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=g(e.clientY);o?.(t)},onSlideMove:e=>{let t=g(e.clientY);s?.(t)},onSlideEnd:()=>{h.current=void 0,d?.()},onStepKeyDown:e=>{let t=tu[f?"from-bottom":"from-top"].includes(e.key);c?.({event:e,direction:t?-1:1})}})})}),tk=n.forwardRef((e,n)=>{let{__scopeSlider:a,onSlideStart:r,onSlideMove:i,onSlideEnd:l,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:d,...c}=e,u=tb(tp,a);return(0,t.jsx)(F.Primitive.span,{...c,ref:n,onKeyDown:(0,C.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(o(e),e.preventDefault()):"End"===e.key?(s(e),e.preventDefault()):td.concat(tc).includes(e.key)&&(d(e),e.preventDefault())}),onPointerDown:(0,C.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():r(e)}),onPointerMove:(0,C.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:(0,C.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),l(e))})})}),tI="SliderTrack",tM=n.forwardRef((e,n)=>{let{__scopeSlider:a,...r}=e,i=tb(tI,a);return(0,t.jsx)(F.Primitive.span,{"data-disabled":i.disabled?"":void 0,"data-orientation":i.orientation,...r,ref:n})});tM.displayName=tI;var tN="SliderRange",tP=n.forwardRef((e,a)=>{let{__scopeSlider:r,...i}=e,l=tb(tN,r),o=tS(tN,r),s=n.useRef(null),d=(0,I.useComposedRefs)(a,s),c=l.values.length,u=l.values.map(e=>tD(e,l.min,l.max)),p=c>1?Math.min(...u):0,m=100-Math.max(...u);return(0,t.jsx)(F.Primitive.span,{"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,...i,ref:d,style:{...e.style,[o.startEdge]:p+"%",[o.endEdge]:m+"%"}})});tP.displayName=tN;var tR="SliderThumb",tE=n.forwardRef((e,a)=>{let r=th(e.__scopeSlider),[i,l]=n.useState(null),o=(0,I.useComposedRefs)(a,e=>l(e)),s=n.useMemo(()=>i?r().findIndex(e=>e.ref.current===i):-1,[r,i]);return(0,t.jsx)(tT,{...e,ref:o,index:s})}),tT=n.forwardRef((e,a)=>{var r,i,l,o,s;let d,c,{__scopeSlider:u,index:p,name:m,...h}=e,f=tb(tR,u),g=tS(tR,u),[x,v]=n.useState(null),b=(0,I.useComposedRefs)(a,e=>v(e)),w=!x||f.form||!!x.closest("form"),y=(0,ts.useSize)(x),S=f.values[p],j=void 0===S?0:tD(S,f.min,f.max),k=(r=p,(i=f.values.length)>2?`Value ${r+1} of ${i}`:2===i?["Minimum","Maximum"][r]:void 0),M=y?.[g.size],N=M?(l=M,o=j,s=g.direction,c=tF([0,50],[0,d=l/2]),(d-c(o)*s)*s):0;return n.useEffect(()=>{if(x)return f.thumbs.add(x),()=>{f.thumbs.delete(x)}},[x,f.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[g.startEdge]:`calc(${j}% + ${N}px)`},children:[(0,t.jsx)(tm.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(F.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":f.min,"aria-valuenow":S,"aria-valuemax":f.max,"aria-orientation":f.orientation,"data-orientation":f.orientation,"data-disabled":f.disabled?"":void 0,tabIndex:f.disabled?void 0:0,...h,ref:b,style:void 0===S?{display:"none"}:e.style,onFocus:(0,C.composeEventHandlers)(e.onFocus,()=>{f.valueIndexToChangeRef.current=p})})}),w&&(0,t.jsx)(tA,{name:m??(f.name?f.name+(f.values.length>1?"[]":""):void 0),form:f.form,value:S},p)]})});tE.displayName=tR;var tA=n.forwardRef(({__scopeSlider:e,value:a,...r},i)=>{let l=n.useRef(null),o=(0,I.useComposedRefs)(l,i),s=(0,_.usePrevious)(a);return n.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(s!==a&&t){let n=new Event("input",{bubbles:!0});t.call(e,a),e.dispatchEvent(n)}},[s,a]),(0,t.jsx)(F.Primitive.input,{style:{display:"none"},...r,ref:o,defaultValue:a})});function tD(e,t,n){return(0,j.clamp)(100/(n-t)*(e-t),[0,100])}function tF(e,t){return n=>{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*(n-e[0])}}tA.displayName="RadioBubbleInput",e.s(["Range",()=>tP,"Root",()=>tw,"Slider",()=>tw,"SliderRange",()=>tP,"SliderThumb",()=>tE,"SliderTrack",()=>tM,"Thumb",()=>tE,"Track",()=>tM,"createSliderScope",()=>tx],29991);var tL=e.i(29991),tL=tL;function tH({className:e,defaultValue:a,value:r,min:i=0,max:l=100,...o}){let s=n.useMemo(()=>Array.isArray(r)?r:Array.isArray(a)?a:[i,l],[r,a,i,l]);return(0,t.jsxs)(tL.Root,{"data-slot":"slider",defaultValue:a,value:r,min:i,max:l,className:(0,b.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...o,children:[(0,t.jsx)(tL.Track,{"data-slot":"slider-track",className:(0,b.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(tL.Range,{"data-slot":"slider-range",className:(0,b.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:s.length},(e,n)=>(0,t.jsx)(tL.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},n))]})}let tB=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],tz=tB.length-1;function t_(e){let t=0,n=Math.abs(e-tB[0]);for(let a=1;a<tB.length;a++){let r=Math.abs(e-tB[a]);r<n&&(n=r,t=a)}return t}function tV({id:e,testId:a,value:r,onChange:i,onBlur:l,defaultSeconds:o=1800}){var s;let d,c,u=(""===r?o:parseInt(r,10))||o,[p,m]=(0,n.useState)(()=>t_(u)),h=t_(u);h!==p&&tB[p]!==u&&m(h);let f=(0,n.useCallback)(([e])=>{m(e),i(String(tB[e]))},[i]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(tH,{id:e,"data-testid":a,min:0,max:tz,step:1,value:[p],onValueChange:f,onValueCommit:()=>l(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-right text-xs tabular-nums",children:(d=Math.floor((s=tB[p])/3600),c=Math.round(s%3600/60),0===d?`${c}m`:0===c?`${d}h`:`${d}h ${c}m`)})]})}let tW=[{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"}],tO=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],tU=[{id:"agent",label:"Agent",icon:r.Bot},{id:"environment",label:"Environment",icon:i.Terminal},{id:"workflow",label:"Workflow",icon:l.GitBranch},{id:"ci",label:"CI",icon:s},{id:"stage-timeouts",label:"Timeouts",icon:g.Timer},{id:"notifications",label:"Notifications",icon:d},{id:"feature-flags",label:"Flags",icon:c},{id:"interactive-agent",label:"Chat",icon:x.MessageSquare},{id:"database",label:"Database",icon:u}];function tK({label:e,description:n,htmlFor:a,children:r}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(w.Label,{htmlFor:a,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:r})]})}function tq({label:e,description:n,id:a,testId:r,checked:i,onChange:l,disabled:o}){return(0,t.jsx)(tK,{label:e,description:n,htmlFor:a,children:(0,t.jsx)(y.Switch,{id:a,"data-testid":r,checked:i,onCheckedChange:l,disabled:o,className:(0,b.cn)("cursor-pointer",o&&"cursor-not-allowed opacity-50")})})}function tG({icon:e,title:n,description:a,badge:r,testId:i,children:l}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":i,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:n}),r?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:r}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:a})]}),(0,t.jsx)("div",{className:"px-4",children:l})]})}function t$({id:e,testId:n,value:a,onChange:r,onBlur:i,placeholder:l,min:o=1,max:s,step:d=1,suffix:c}){let u=""===a?void 0:parseInt(a,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{r(String(Math.max(o,(u??parseInt(l,10))-d)))},onMouseUp:i,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-r transition-colors","aria-label":"Decrease",children:(0,t.jsx)(p.default,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:a,placeholder:l,onChange:e=>{r(e.target.value.replace(/[^0-9]/g,""))},onBlur:i,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=u??parseInt(l,10),r(String(null!=s?Math.min(s,e+d):e+d))},onMouseUp:i,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-l transition-colors","aria-label":"Increase",children:(0,t.jsx)(m.Plus,{className:"h-3 w-3"})})]}),c?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:c}):null]})}function tY({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function tZ({children:e,links:n}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(h.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function tX({settings:e,shepHome:o,dbFileSize:p,availableTerminals:m}){let{showSaving:h,showSaved:w,save:y}=function(){let[e,t]=(0,n.useTransition)(),[a,r]=(0,n.useState)(!1),[i,l]=(0,n.useState)(!1),o=(0,n.useRef)(null),s=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{e&&!a&&(r(!0),s.current=!1,o.current=setTimeout(()=>{o.current=null,s.current&&(r(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!e&&a&&(s.current=!0,o.current||(r(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[e,a]),{showSaving:a,showSaved:i,save:(0,n.useCallback)(e=>{t(async()=>{let t=await e4(e);t.success||v.toast.error(t.error??"Failed to save settings")})},[t])}}(),S=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[j,C]=(0,n.useState)(e.agent.type),[k,I]=(0,n.useState)(e.environment.defaultEditor),[M,N]=(0,n.useState)(e.environment.shellPreference),[P,R]=(0,n.useState)(e.environment.terminalPreference??e8.TerminalType.System),E=m?m.filter(e=>e.available):[{id:e8.TerminalType.System,name:"System Terminal",available:!0}],[T,A]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[D,F]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[L,H]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[B,z]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[_,V]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[W,O]=(0,n.useState)(e.workflow.enableEvidence),[U,K]=(0,n.useState)(e.workflow.commitEvidence),[q,G]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[$,Y]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[Z,X]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[Q,J]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[ee,et]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[en,ea]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),er=e.workflow.stageTimeouts,[ei,el]=(0,n.useState)(String(Math.round((er?.analyzeMs??18e5)/1e3))),[eo,es]=(0,n.useState)(String(Math.round((er?.requirementsMs??18e5)/1e3))),[ed,ec]=(0,n.useState)(String(Math.round((er?.researchMs??18e5)/1e3))),[eu,ep]=(0,n.useState)(String(Math.round((er?.planMs??18e5)/1e3))),[em,eh]=(0,n.useState)(String(Math.round((er?.implementMs??18e5)/1e3))),[ef,eg]=(0,n.useState)(String(Math.round((er?.mergeMs??18e5)/1e3))),ex=e.workflow.analyzeRepoTimeouts,[ev,eb]=(0,n.useState)(String(Math.round((ex?.analyzeMs??6e5)/1e3))),ew=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ey,eS]=(0,n.useState)(ew.enabled),[ej,eC]=(0,n.useState)(String(ew.autoTimeoutMinutes)),[ek,eI]=(0,n.useState)(String(ew.maxConcurrentSessions)),[eM,eN]=(0,n.useState)(e.notifications.inApp.enabled),[eP,eR]=(0,n.useState)({...e.notifications.events}),[eE,eT]=(0,n.useState)({...S}),eA=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",eD=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",eF=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",eL=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",eH=er?.analyzeMs!=null?String(Math.round(er.analyzeMs/1e3)):"",eB=er?.requirementsMs!=null?String(Math.round(er.requirementsMs/1e3)):"",ez=er?.researchMs!=null?String(Math.round(er.researchMs/1e3)):"",e_=er?.planMs!=null?String(Math.round(er.planMs/1e3)):"",eV=er?.implementMs!=null?String(Math.round(er.implementMs/1e3)):"",eW=er?.mergeMs!=null?String(Math.round(er.mergeMs/1e3)):"",eO=ex?.analyzeMs!=null?String(Math.round(ex.analyzeMs/1e3)):"";function eU(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function eK(e){if(void 0===e)return;let t=eU(e);return null!=t?1e3*t:void 0}function eq(e={}){let t=eU(e.ciTimeout??Q);return{workflow:{openPrOnImplementationComplete:e.openPr??T,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??D,allowPrd:e.allowPrd??L,allowPlan:e.allowPlan??B,allowMerge:e.allowMerge??_},enableEvidence:e.enableEvidence??W,commitEvidence:e.commitEvidence??U,ciWatchEnabled:e.ciWatchEnabled??q,hideCiStatus:e.hideCiStatus??$,ciMaxFixAttempts:eU(e.ciMaxFix??Z),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:eU(e.ciLogMax??ee),ciWatchPollIntervalSeconds:eU(e.ciPollInterval??en),stageTimeouts:{analyzeMs:eK(e.analyzeTimeout??ei),requirementsMs:eK(e.requirementsTimeout??eo),researchMs:eK(e.researchTimeout??ed),planMs:eK(e.planTimeout??eu),implementMs:eK(e.implementTimeout??em),mergeMs:eK(e.mergeTimeout??ef)},analyzeRepoTimeouts:{analyzeMs:eK(e.analyzeRepoTimeout??ev)}}}}function eG(e={}){return{notifications:{inApp:{enabled:e.inApp??eM},events:e.events??eP}}}let[e$,eY]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=tU.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&eY(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let eZ=(0,n.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Settings"}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,b.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",h?"opacity-100":"opacity-0"),children:"Saving..."}),(0,t.jsxs)("span",{className:(0,b.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",w&&!h?"opacity-100":"opacity-0"),children:[(0,t.jsx)(a.Check,{className:"h-3 w-3"}),"Saved"]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:tU.map(e=>{let n=e.icon,a=e$===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>eZ(e.id),className:(0,b.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",a?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:e.label})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(tG,{icon:r.Bot,title:"Agent",description:"AI coding agent and authentication",testId:"agent-settings-section",children:(0,t.jsx)(tK,{label:"Agent & Model",description:"Provider and model for all operations",htmlFor:"agent-model-picker",children:(0,t.jsx)(to.AgentModelPicker,{initialAgentType:j,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>C(e),className:"w-55"})})}),(0,t.jsx)(tZ,{links:[{label:"Agent system",href:"https://github.com/shep-ai/cli/blob/main/docs/architecture/agent-system.md"},{label:"Adding agents",href:"https://github.com/shep-ai/cli/blob/main/docs/development/adding-agents.md"},{label:"Configuration guide",href:"https://github.com/shep-ai/cli/blob/main/docs/guides/configuration.md"}],children:"Choose which AI coding agent powers your features. Each agent supports different models and capabilities. Authentication is resolved automatically via your active session."})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tG,{icon:i.Terminal,title:"Environment",description:"Editor, shell, and terminal preferences",testId:"environment-settings-section",children:[(0,t.jsx)(tK,{label:"Default Editor",description:"Editor launched for file operations",htmlFor:"default-editor",children:(0,t.jsxs)(eX,{value:k,onValueChange:e=>{I(e),y({environment:{defaultEditor:e,shellPreference:M,terminalPreference:P}})},children:[(0,t.jsx)(eJ,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(eQ,{})}),(0,t.jsx)(e2,{children:tW.map(e=>{var n;let a=(n=e.value)&&n in tl?tl[n]:te;return(0,t.jsx)(e3,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(a,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(tK,{label:"Shell",description:"Default shell for generated scripts",htmlFor:"shell-preference",children:(0,t.jsxs)(eX,{value:M,onValueChange:e=>{N(e),y({environment:{defaultEditor:k,shellPreference:e,terminalPreference:P}})},children:[(0,t.jsx)(eJ,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(eQ,{})}),(0,t.jsx)(e2,{children:tO.map(e=>(0,t.jsx)(e3,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(tK,{label:"Terminal",description:"Terminal emulator for shell sessions",htmlFor:"terminal-preference",children:(0,t.jsxs)(eX,{value:P,onValueChange:e=>{R(e),y({environment:{defaultEditor:k,shellPreference:M,terminalPreference:e}})},children:[(0,t.jsx)(eJ,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(eQ,{})}),(0,t.jsx)(e2,{children:E.map(e=>(0,t.jsx)(e3,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(tZ,{links:[{label:"Configuration guide",href:"https://github.com/shep-ai/cli/blob/main/docs/guides/configuration.md"}],children:"Your preferred editor opens files for review. The shell setting controls generated scripts. The terminal emulator is launched when opening shell sessions from the web UI."})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tG,{icon:l.GitBranch,title:"Workflow",description:"Automation behavior after implementation",testId:"workflow-settings-section",children:[(0,t.jsx)(tY,{children:"Approve"}),(0,t.jsx)(tq,{label:"Auto-approve PRD",description:"Skip manual review of requirements",id:"allow-prd",testId:"switch-allow-prd",checked:L,onChange:e=>{H(e),y(eq({allowPrd:e}))}}),(0,t.jsx)(tq,{label:"Auto-approve Plan",description:"Skip manual review of implementation plan",id:"allow-plan",testId:"switch-allow-plan",checked:B,onChange:e=>{z(e),y(eq({allowPlan:e}))}}),(0,t.jsx)(tq,{label:"Auto-approve Merge",description:"Merge without manual review",id:"allow-merge",testId:"switch-allow-merge",checked:_,onChange:e=>{V(e),y(eq({allowMerge:e}))}}),(0,t.jsx)(tY,{children:"Evidence"}),(0,t.jsx)(tq,{label:"Collect evidence",description:"Capture screenshots and artifacts after implementation",id:"enable-evidence",testId:"switch-enable-evidence",checked:W,onChange:e=>{O(e),e?y(eq({enableEvidence:e})):(K(!1),y(eq({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(tq,{label:"Add evidence to PR",description:"Include evidence in the pull request body",id:"commit-evidence",testId:"switch-commit-evidence",checked:U,disabled:!W||!T,onChange:e=>{K(e),y(eq({commitEvidence:e}))}}),(0,t.jsx)(tY,{children:"Git"}),(0,t.jsx)(tq,{label:"Push on complete",description:"Push to remote when implementation finishes",id:"push-on-complete",testId:"switch-push-on-complete",checked:D,onChange:e=>{F(e),y(eq({pushOnComplete:e}))}}),(0,t.jsx)(tq,{label:"Open PR on complete",description:"Create a pull request when done",id:"open-pr",testId:"switch-open-pr",checked:T,onChange:e=>{A(e),e?y(eq({openPr:e})):(K(!1),y(eq({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(tq,{label:"Watch CI after push",description:"Monitor CI and auto-fix failures. Disable to avoid rate limits.",id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:q,onChange:e=>{G(e),y(eq({ciWatchEnabled:e}))}})]}),(0,t.jsx)(tZ,{links:[{label:"Approval gates",href:"https://github.com/shep-ai/cli/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:"Push & PR flags",href:"https://github.com/shep-ai/cli/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:"Control how autonomous each feature run is. Auto-approve skips the human review pause at each phase. Push and PR options control what happens after successful implementation."})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tG,{icon:s,title:"Continuous Integration",description:"Limits and timeouts for CI monitoring",testId:"ci-settings-section",children:[(0,t.jsx)(tK,{label:"Max fix attempts",description:"Agent retries on failing CI",htmlFor:"ci-max-fix",children:(0,t.jsx)(t$,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:Z,onChange:X,onBlur:()=>{Z!==eA&&y(eq({ciMaxFix:Z}))},min:1,max:10})}),(0,t.jsx)(tK,{label:"Watch timeout",description:"Max wait for CI completion",htmlFor:"ci-timeout",children:(0,t.jsx)(t$,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:Q,onChange:J,onBlur:()=>{Q!==eD&&y(eq({ciTimeout:Q}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(tK,{label:"Max log size",description:"Truncate CI logs beyond this limit",htmlFor:"ci-log-max",children:(0,t.jsx)(t$,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:ee,onChange:et,onBlur:()=>{ee!==eF&&y(eq({ciLogMax:ee}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(tK,{label:"Poll interval",description:"How often to check GitHub for CI status updates",htmlFor:"ci-poll-interval",children:(0,t.jsx)(t$,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:en,onChange:ea,onBlur:()=>{en!==eL&&y(eq({ciPollInterval:en}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(tq,{label:"Hide CI status",description:"Hide CI status badges from feature drawer and merge review",id:"hide-ci-status",testId:"switch-hide-ci-status",checked:$,onChange:e=>{Y(e),y(eq({hideCiStatus:e}))}})]}),(0,t.jsx)(tZ,{links:[{label:"CI/CD pipeline",href:"https://github.com/shep-ai/cli/blob/main/docs/development/cicd.md"},{label:"CI security gates",href:"https://github.com/shep-ai/cli/blob/main/specs/003-cicd-security-gates/spec.md"}],children:"When a feature completes, the agent can watch CI and auto-fix failures. These limits prevent runaway retries and control how much log output is sent to the agent for analysis."})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tG,{icon:g.Timer,title:"Stage Timeouts",description:"Maximum execution time per agent stage",testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(tY,{children:"Feature Agent"}),(0,t.jsx)(tK,{label:"Analyze",description:"Repository analysis timeout",htmlFor:"timeout-analyze",children:(0,t.jsx)(tV,{id:"timeout-analyze",testId:"timeout-analyze-input",value:ei,onChange:el,onBlur:()=>{ei!==eH&&y(eq({analyzeTimeout:ei}))},defaultSeconds:1800})}),(0,t.jsx)(tK,{label:"Requirements",description:"Requirements gathering timeout",htmlFor:"timeout-requirements",children:(0,t.jsx)(tV,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eo,onChange:es,onBlur:()=>{eo!==eB&&y(eq({requirementsTimeout:eo}))},defaultSeconds:1800})}),(0,t.jsx)(tK,{label:"Research",description:"Technical research timeout",htmlFor:"timeout-research",children:(0,t.jsx)(tV,{id:"timeout-research",testId:"timeout-research-input",value:ed,onChange:ec,onBlur:()=>{ed!==ez&&y(eq({researchTimeout:ed}))},defaultSeconds:1800})}),(0,t.jsx)(tK,{label:"Plan",description:"Implementation planning timeout",htmlFor:"timeout-plan",children:(0,t.jsx)(tV,{id:"timeout-plan",testId:"timeout-plan-input",value:eu,onChange:ep,onBlur:()=>{eu!==e_&&y(eq({planTimeout:eu}))},defaultSeconds:1800})}),(0,t.jsx)(tK,{label:"Implement",description:"Code implementation timeout",htmlFor:"timeout-implement",children:(0,t.jsx)(tV,{id:"timeout-implement",testId:"timeout-implement-input",value:em,onChange:eh,onBlur:()=>{em!==eV&&y(eq({implementTimeout:em}))},defaultSeconds:1800})}),(0,t.jsx)(tK,{label:"Merge",description:"PR creation and merge timeout",htmlFor:"timeout-merge",children:(0,t.jsx)(tV,{id:"timeout-merge",testId:"timeout-merge-input",value:ef,onChange:eg,onBlur:()=>{ef!==eW&&y(eq({mergeTimeout:ef}))},defaultSeconds:1800})}),(0,t.jsx)(tY,{children:"Analyze Repository Agent"}),(0,t.jsx)(tK,{label:"Analyze",description:"Repository analysis timeout",htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(tV,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:ev,onChange:eb,onBlur:()=>{ev!==eO&&y(eq({analyzeRepoTimeout:ev}))},defaultSeconds:600})})]}),(0,t.jsx)(tZ,{children:"Each agent has independently configurable stage timeouts. When a stage exceeds its timeout, the agent is terminated. Longer timeouts are useful for complex implementations. Feature agent defaults to 30 minutes per stage. Analyze repository agent defaults to 10 minutes."})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tG,{icon:d,title:"Notifications",description:"How and when you get notified",testId:"notification-settings-section",children:[(0,t.jsx)(tY,{children:"Channels"}),(0,t.jsx)(tq,{label:"In-app",description:"Notifications inside the Shep UI",id:"notif-in-app",testId:"switch-in-app",checked:eM,onChange:e=>{eN(e),y(eG({inApp:e}))}}),(0,t.jsx)(tY,{children:"Agent Events"}),(0,t.jsx)(tq,{label:"Agent started",id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:eP.agentStarted,onChange:e=>{let t={...eP,agentStarted:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"Phase completed",id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:eP.phaseCompleted,onChange:e=>{let t={...eP,phaseCompleted:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"Waiting approval",id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:eP.waitingApproval,onChange:e=>{let t={...eP,waitingApproval:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"Agent completed",id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:eP.agentCompleted,onChange:e=>{let t={...eP,agentCompleted:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"Agent failed",id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:eP.agentFailed,onChange:e=>{let t={...eP,agentFailed:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tY,{children:"Pull Request Events"}),(0,t.jsx)(tq,{label:"PR merged",id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:eP.prMerged,onChange:e=>{let t={...eP,prMerged:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"PR closed",id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:eP.prClosed,onChange:e=>{let t={...eP,prClosed:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"PR checks passed",id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:eP.prChecksPassed,onChange:e=>{let t={...eP,prChecksPassed:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"PR checks failed",id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:eP.prChecksFailed,onChange:e=>{let t={...eP,prChecksFailed:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"PR blocked",id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:eP.prBlocked,onChange:e=>{let t={...eP,prBlocked:e};eR(t),y(eG({events:t}))}}),(0,t.jsx)(tq,{label:"Merge review ready",id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:eP.mergeReviewReady,onChange:e=>{let t={...eP,mergeReviewReady:e};eR(t),y(eG({events:t}))}})]}),(0,t.jsx)(tZ,{links:[{label:"Notification system",href:"https://github.com/shep-ai/cli/blob/main/specs/021-agent-notifications/spec.yaml"}],children:"In-app toast notifications keep you in the loop. Fine-tune which agent lifecycle events trigger a notification."})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tG,{icon:c,title:"Feature Flags",description:"Enable or disable experimental features",badge:"Experimental",testId:"feature-flags-settings-section",children:[(0,t.jsx)(tq,{label:"Skills",description:"Enable the skills system for agent capabilities",id:"flag-skills",testId:"switch-flag-skills",checked:eE.skills,onChange:e=>{let t={...eE,skills:e};eT(t),y({featureFlags:t})}}),(0,t.jsx)(tq,{label:"Deployments",description:"Enable environment deployment workflows",id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:eE.envDeploy,onChange:e=>{let t={...eE,envDeploy:e};eT(t),y({featureFlags:t})}}),(0,t.jsx)(tq,{label:"Debug",description:"Show debug panels and verbose logging",id:"flag-debug",testId:"switch-flag-debug",checked:eE.debug,onChange:e=>{let t={...eE,debug:e};eT(t),y({featureFlags:t})}}),(0,t.jsx)(tq,{label:"GitHub Import",description:"Enable GitHub repository import in the web UI",id:"flag-githubImport",testId:"switch-flag-githubImport",checked:eE.githubImport,onChange:e=>{let t={...eE,githubImport:e};eT(t),y({featureFlags:t})}}),(0,t.jsx)(tq,{label:"Adopt Branch",description:"Import existing branches as tracked features",id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:eE.adoptBranch,onChange:e=>{let t={...eE,adoptBranch:e};eT(t),y({featureFlags:t})}}),(0,t.jsx)(tq,{label:"Git Rebase & Sync",description:"Enable git rebase-on-main and sync-main operations",id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:eE.gitRebaseSync,onChange:e=>{let t={...eE,gitRebaseSync:e};eT(t),y({featureFlags:t})}}),(0,t.jsx)(tq,{label:"React File Manager",description:"Use the built-in React file manager instead of the native OS folder picker",id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:eE.reactFileManager,onChange:e=>{let t={...eE,reactFileManager:e};eT(t),y({featureFlags:t})}})]}),(0,t.jsx)(tZ,{children:"Experimental features that are still under development. Enable at your own risk — they may change or be removed in future versions. Debug mode adds verbose logging useful for troubleshooting."})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tG,{icon:x.MessageSquare,title:"Interactive Agent",description:"Chat tab settings for per-feature interactive agent sessions",testId:"interactive-agent-settings-section",children:[(0,t.jsx)(tq,{label:"Enable Chat tab",description:"Show the Chat tab on all feature detail pages",id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ey,onChange:e=>{eS(e),y({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(ej,10)||15,maxConcurrentSessions:parseInt(ek,10)||3}})}}),(0,t.jsx)(tK,{label:"Auto-timeout",description:"Minutes of inactivity before the agent is stopped automatically (1–120)",htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(t$,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:ej,placeholder:"15",min:1,max:120,suffix:"min",onChange:eC,onBlur:()=>{let e=parseInt(ej,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));eC(String(t)),y({interactiveAgent:{enabled:ey,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(ek,10)||3}})}})}),(0,t.jsx)(tK,{label:"Max concurrent sessions",description:"Maximum number of active interactive agent sessions at once (1–10)",htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(t$,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:ek,placeholder:"3",min:1,max:10,onChange:eI,onBlur:()=>{let e=parseInt(ek,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));eI(String(t)),y({interactiveAgent:{enabled:ey,autoTimeoutMinutes:parseInt(ej,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(tZ,{children:"The Chat tab spawns a persistent agent process per feature. Auto-timeout stops idle sessions automatically to conserve resources. The concurrent session cap prevents runaway resource usage on developer machines."})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tG,{icon:u,title:"Database",description:"Local storage information",testId:"database-settings-section",children:[(0,t.jsx)(tK,{label:"Location",description:"Path to the local SQLite database",children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:o})}),(0,t.jsx)(tK,{label:"Size",children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:p})})]}),(0,t.jsx)(tZ,{links:[{label:"Settings service",href:"https://github.com/shep-ai/cli/blob/main/docs/architecture/settings-service.md"},{label:"Settings spec",href:"https://github.com/shep-ai/cli/blob/main/specs/005-global-settings-service/spec.md"}],children:"All settings are stored in a local SQLite database at ~/.shep/data. The database uses a singleton record pattern with automatic migrations on startup."})]})]})]})}e.s(["SettingsPageClient",()=>tX],41952)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,3645,e=>{"use strict";var t=e.i(79054);let n=(...e)=>e.filter((e,t,n)=>!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim(),r=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,t.forwardRef)(({color:e="currentColor",size:r=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:l="",children:c,iconNode:u,...s},f)=>(0,t.createElement)("svg",{ref:f,...o,width:r,height:r,stroke:e,strokeWidth:a?24*Number(i)/Number(r):i,className:n("lucide",l),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(s)&&{"aria-hidden":"true"},...s},[...u.map(([e,n])=>(0,t.createElement)(e,n)),...Array.isArray(c)?c:[c]])),a=(e,o)=>{let a=(0,t.forwardRef)(({className:a,...l},c)=>(0,t.createElement)(i,{ref:c,iconNode:o,className:n(`lucide-${r(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...l}));return a.displayName=r(e),a};e.s(["default",()=>a],3645)},53532,67384,e=>{"use strict";var t,n=e.i(79054),r=e.i(91967),o=e.i(87620),i=e.i(5978),a=e.i(29297);function l(e,t=globalThis?.document){let r=(0,a.useCallbackRef)(e);n.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}e.s(["useEscapeKeydown",()=>l],67384);var c=e.i(20314),u="dismissableLayer.update",s=n.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),f=n.forwardRef((e,f)=>{let{disableOutsidePointerEvents:h=!1,onEscapeKeyDown:m,onPointerDownOutside:v,onFocusOutside:g,onInteractOutside:y,onDismiss:w,...b}=e,x=n.useContext(s),[E,R]=n.useState(null),S=E?.ownerDocument??globalThis?.document,[,C]=n.useState({}),A=(0,i.useComposedRefs)(f,e=>R(e)),L=Array.from(x.layers),[P]=[...x.layersWithOutsidePointerEventsDisabled].slice(-1),T=L.indexOf(P),O=E?L.indexOf(E):-1,k=x.layersWithOutsidePointerEventsDisabled.size>0,M=O>=T,N=function(e,t=globalThis?.document){let r=(0,a.useCallbackRef)(e),o=n.useRef(!1),i=n.useRef(()=>{});return n.useEffect(()=>{let e=e=>{if(e.target&&!o.current){let n=function(){p("dismissableLayer.pointerDownOutside",r,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",i.current),i.current=n,t.addEventListener("click",i.current,{once:!0})):n()}else t.removeEventListener("click",i.current);o.current=!1},n=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(n),t.removeEventListener("pointerdown",e),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>o.current=!0}}(e=>{let t=e.target,n=[...x.branches].some(e=>e.contains(t));M&&!n&&(v?.(e),y?.(e),e.defaultPrevented||w?.())},S),D=function(e,t=globalThis?.document){let r=(0,a.useCallbackRef)(e),o=n.useRef(!1);return n.useEffect(()=>{let e=e=>{e.target&&!o.current&&p("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}(e=>{let t=e.target;![...x.branches].some(e=>e.contains(t))&&(g?.(e),y?.(e),e.defaultPrevented||w?.())},S);return l(e=>{O===x.layers.size-1&&(m?.(e),!e.defaultPrevented&&w&&(e.preventDefault(),w()))},S),n.useEffect(()=>{if(E)return h&&(0===x.layersWithOutsidePointerEventsDisabled.size&&(t=S.body.style.pointerEvents,S.body.style.pointerEvents="none"),x.layersWithOutsidePointerEventsDisabled.add(E)),x.layers.add(E),d(),()=>{h&&1===x.layersWithOutsidePointerEventsDisabled.size&&(S.body.style.pointerEvents=t)}},[E,S,h,x]),n.useEffect(()=>()=>{E&&(x.layers.delete(E),x.layersWithOutsidePointerEventsDisabled.delete(E),d())},[E,x]),n.useEffect(()=>{let e=()=>C({});return document.addEventListener(u,e),()=>document.removeEventListener(u,e)},[]),(0,c.jsx)(o.Primitive.div,{...b,ref:A,style:{pointerEvents:k?M?"auto":"none":void 0,...e.style},onFocusCapture:(0,r.composeEventHandlers)(e.onFocusCapture,D.onFocusCapture),onBlurCapture:(0,r.composeEventHandlers)(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:(0,r.composeEventHandlers)(e.onPointerDownCapture,N.onPointerDownCapture)})});function d(){let e=new CustomEvent(u);document.dispatchEvent(e)}function p(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?(0,o.dispatchDiscreteCustomEvent)(i,a):i.dispatchEvent(a)}f.displayName="DismissableLayer",n.forwardRef((e,t)=>{let r=n.useContext(s),a=n.useRef(null),l=(0,i.useComposedRefs)(t,a);return n.useEffect(()=>{let e=a.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,c.jsx)(o.Primitive.div,{...e,ref:l})}).displayName="DismissableLayerBranch",e.s(["DismissableLayer",()=>f],53532)},56720,e=>{"use strict";let t;var n=e.i(79054),r=e.i(5978),o=e.i(87620),i=e.i(29297),a=e.i(20314),l="focusScope.autoFocusOnMount",c="focusScope.autoFocusOnUnmount",u={bubbles:!1,cancelable:!0},s=n.forwardRef((e,t)=>{let{loop:s=!1,trapped:m=!1,onMountAutoFocus:v,onUnmountAutoFocus:g,...y}=e,[w,b]=n.useState(null),x=(0,i.useCallbackRef)(v),E=(0,i.useCallbackRef)(g),R=n.useRef(null),S=(0,r.useComposedRefs)(t,e=>b(e)),C=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(m){let e=function(e){if(C.paused||!w)return;let t=e.target;w.contains(t)?R.current=t:p(R.current,{select:!0})},t=function(e){if(C.paused||!w)return;let t=e.relatedTarget;null!==t&&(w.contains(t)||p(R.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let n=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&p(w)});return w&&n.observe(w,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[m,w,C.paused]),n.useEffect(()=>{if(w){h.add(C);let e=document.activeElement;if(!w.contains(e)){let t=new CustomEvent(l,u);w.addEventListener(l,x),w.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(p(r,{select:t}),document.activeElement!==n)return}(f(w).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&p(w))}return()=>{w.removeEventListener(l,x),setTimeout(()=>{let t=new CustomEvent(c,u);w.addEventListener(c,E),w.dispatchEvent(t),t.defaultPrevented||p(e??document.body,{select:!0}),w.removeEventListener(c,E),h.remove(C)},0)}}},[w,x,E,C]);let A=n.useCallback(e=>{if(!s&&!m||C.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){var r;let t,o=e.currentTarget,[i,a]=[d(t=f(r=o),r),d(t.reverse(),r)];i&&a?e.shiftKey||n!==a?e.shiftKey&&n===i&&(e.preventDefault(),s&&p(a,{select:!0})):(e.preventDefault(),s&&p(i,{select:!0})):n===o&&e.preventDefault()}},[s,m,C.paused]);return(0,a.jsx)(o.Primitive.div,{tabIndex:-1,...y,ref:S,onKeyDown:A})});function f(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function d(e,t){for(let n of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(n,{upTo:t}))return n}function p(e,{select:t=!1}={}){if(e&&e.focus){var n;let r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&(n=e)instanceof HTMLInputElement&&"select"in n&&t&&e.select()}}s.displayName="FocusScope";var h=(t=[],{add(e){let n=t[0];e!==n&&n?.pause(),(t=m(t,e)).unshift(e)},remove(e){t=m(t,e),t[0]?.resume()}});function m(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}e.s(["FocusScope",()=>s])},39979,e=>{"use strict";var t=e.i(79054),n=e.i(26036),r=e.i(87620),o=e.i(5192),i=e.i(20314),a=t.forwardRef((e,a)=>{let{container:l,...c}=e,[u,s]=t.useState(!1);(0,o.useLayoutEffect)(()=>s(!0),[]);let f=l||u&&globalThis?.document?.body;return f?n.default.createPortal((0,i.jsx)(r.Primitive.div,{...c,ref:a}),f):null});a.displayName="Portal",e.s(["Portal",()=>a])},41687,e=>{"use strict";var t=e.i(79054),n=0;function r(){t.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??o()),document.body.insertAdjacentElement("beforeend",e[1]??o()),n++,()=>{1===n&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),n--}},[])}function o(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}e.s(["useFocusGuards",()=>r])},13044,e=>{"use strict";var t,n,r,o,i,a,l,c=function(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function u(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}var s=("function"==typeof SuppressedError&&SuppressedError,e.i(79054)),f="right-scroll-bar-position",d="width-before-scroll-bar";function p(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var h="u">typeof window?s.useLayoutEffect:s.useEffect,m=new WeakMap,v=(void 0===t&&(t={}),(void 0===n&&(n=function(e){return e}),r=[],o=!1,i={read:function(){if(o)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:null},useMedium:function(e){var t=n(e,o);return r.push(t),function(){r=r.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(o=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){o=!0;var t=[];if(r.length){var n=r;r=[],n.forEach(e),t=r}var i=function(){var n=t;t=[],n.forEach(e)},a=function(){return Promise.resolve().then(i)};a(),r={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),r}}}}).options=c({async:!0,ssr:!1},t),i),g=function(){},y=s.forwardRef(function(e,t){var n,r,o,i,a=s.useRef(null),l=s.useState({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:g}),f=l[0],d=l[1],y=e.forwardProps,w=e.children,b=e.className,x=e.removeScrollBar,E=e.enabled,R=e.shards,S=e.sideCar,C=e.noRelative,A=e.noIsolation,L=e.inert,P=e.allowPinchZoom,T=e.as,O=e.gapMode,k=u(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),M=(n=[a,t],r=function(e){return n.forEach(function(t){return p(t,e)})},(o=(0,s.useState)(function(){return{value:null,callback:r,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=r,i=o.facade,h(function(){var e=m.get(i);if(e){var t=new Set(e),r=new Set(n),o=i.current;t.forEach(function(e){r.has(e)||p(e,null)}),r.forEach(function(e){t.has(e)||p(e,o)})}m.set(i,n)},[n]),i),N=c(c({},k),f);return s.createElement(s.Fragment,null,E&&s.createElement(S,{sideCar:v,removeScrollBar:x,shards:R,noRelative:C,noIsolation:A,inert:L,setCallbacks:d,allowPinchZoom:!!P,lockRef:a,gapMode:O}),y?s.cloneElement(s.Children.only(w),c(c({},N),{ref:M})):s.createElement(void 0===T?"div":T,c({},N,{className:b,ref:M}),w))});y.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},y.classNames={fullWidth:d,zeroRight:f};var w=function(e){var t=e.sideCar,n=u(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return s.createElement(r,c({},n))};w.isSideCarExport=!0;var b=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=l||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var r,o;(r=t).styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n)),o=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(o)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},x=function(){var e=b();return function(t,n){s.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},E=function(){var e=x();return function(t){return e(t.styles,t.dynamic),null}},R={left:0,top:0,right:0,gap:0},S=function(e){return parseInt(e||"",10)||0},C=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[S(n),S(r),S(o)]},A=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return R;var t=C(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},L=E(),P="data-scroll-locked",T=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,l=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(l,"px ").concat(r,";\n }\n body[").concat(P,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(i,"px;\n padding-right: ").concat(a,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(f," {\n right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(d," {\n margin-right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(f," .").concat(f," {\n right: 0 ").concat(r,";\n }\n \n .").concat(d," .").concat(d," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(P,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},O=function(){var e=parseInt(document.body.getAttribute(P)||"0",10);return isFinite(e)?e:0},k=function(){s.useEffect(function(){return document.body.setAttribute(P,(O()+1).toString()),function(){var e=O()-1;e<=0?document.body.removeAttribute(P):document.body.setAttribute(P,e.toString())}},[])},M=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;k();var i=s.useMemo(function(){return A(o)},[o]);return s.createElement(L,{styles:T(i,!t,o,n?"":"!important")})},N=!1;if("u">typeof window)try{var D=Object.defineProperty({},"passive",{get:function(){return N=!0,!0}});window.addEventListener("test",D,D),window.removeEventListener("test",D,D)}catch(e){N=!1}var W=!!N&&{passive:!1},F=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},_=function(e,t){var n=t.ownerDocument,r=t;do{if("u">typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),j(e,r)){var o=B(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body)return!1},j=function(e,t){return"v"===e?F(t,"overflowY"):F(t,"overflowX")},B=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},H=function(e,t,n,r,o){var i,a=(i=window.getComputedStyle(t).direction,"h"===e&&"rtl"===i?-1:1),l=a*r,c=n.target,u=t.contains(c),s=!1,f=l>0,d=0,p=0;do{if(!c)break;var h=B(e,c),m=h[0],v=h[1]-h[2]-a*m;(m||v)&&j(e,c)&&(d+=v,p+=m);var g=c.parentNode;c=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!u&&c!==document.body||u&&(t.contains(c)||t===c))return f&&(o&&1>Math.abs(d)||!o&&l>d)?s=!0:!f&&(o&&1>Math.abs(p)||!o&&-l>p)&&(s=!0),s},I=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},z=function(e){return[e.deltaX,e.deltaY]},$=function(e){return e&&"current"in e?e.current:e},V=0,Y=[];let K=(a=function(e){var t=s.useRef([]),n=s.useRef([0,0]),r=s.useRef(),o=s.useState(V++)[0],i=s.useState(E)[0],a=s.useRef(e);s.useEffect(function(){a.current=e},[e]),s.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map($),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=s.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!a.current.allowPinchZoom;var o,i=I(e),l=n.current,c="deltaX"in e?e.deltaX:l[0]-i[0],u="deltaY"in e?e.deltaY:l[1]-i[1],s=e.target,f=Math.abs(c)>Math.abs(u)?"h":"v";if("touches"in e&&"h"===f&&"range"===s.type)return!1;var d=window.getSelection(),p=d&&d.anchorNode;if(p&&(p===s||p.contains(s)))return!1;var h=_(f,s);if(!h)return!0;if(h?o=f:(o="v"===f?"h":"v",h=_(f,s)),!h)return!1;if(!r.current&&"changedTouches"in e&&(c||u)&&(r.current=o),!o)return!0;var m=r.current||o;return H(m,t,e,"h"===m?c:u,!0)},[]),c=s.useCallback(function(e){if(Y.length&&Y[Y.length-1]===i){var n="deltaY"in e?z(e):I(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var o=(a.current.shards||[]).map($).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?l(e,o[0]):!a.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),u=s.useCallback(function(e,n,r,o){var i={name:e,delta:n,target:r,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(i),setTimeout(function(){t.current=t.current.filter(function(e){return e!==i})},1)},[]),f=s.useCallback(function(e){n.current=I(e),r.current=void 0},[]),d=s.useCallback(function(t){u(t.type,z(t),t.target,l(t,e.lockRef.current))},[]),p=s.useCallback(function(t){u(t.type,I(t),t.target,l(t,e.lockRef.current))},[]);s.useEffect(function(){return Y.push(i),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:p}),document.addEventListener("wheel",c,W),document.addEventListener("touchmove",c,W),document.addEventListener("touchstart",f,W),function(){Y=Y.filter(function(e){return e!==i}),document.removeEventListener("wheel",c,W),document.removeEventListener("touchmove",c,W),document.removeEventListener("touchstart",f,W)}},[]);var h=e.removeScrollBar,m=e.inert;return s.createElement(s.Fragment,null,m?s.createElement(i,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,h?s.createElement(M,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},v.useMedium(a),w);var U=s.forwardRef(function(e,t){return s.createElement(y,c({},e,{ref:t,sideCar:K}))});U.classNames=y.classNames,e.s(["RemoveScroll",0,U],13044)},73772,e=>{"use strict";var t=new WeakMap,n=new WeakMap,r={},o=0,i=function(e){return e&&(e.host||i(e.parentNode))},a=function(e,a,l,c){var u=(Array.isArray(e)?e:[e]).map(function(e){if(a.contains(e))return e;var t=i(e);return t&&a.contains(t)?t:(console.error("aria-hidden",e,"in not contained inside",a,". Doing nothing"),null)}).filter(function(e){return!!e});r[l]||(r[l]=new WeakMap);var s=r[l],f=[],d=new Set,p=new Set(u),h=function(e){!e||d.has(e)||(d.add(e),h(e.parentNode))};u.forEach(h);var m=function(e){!e||p.has(e)||Array.prototype.forEach.call(e.children,function(e){if(d.has(e))m(e);else try{var r=e.getAttribute(c),o=null!==r&&"false"!==r,i=(t.get(e)||0)+1,a=(s.get(e)||0)+1;t.set(e,i),s.set(e,a),f.push(e),1===i&&o&&n.set(e,!0),1===a&&e.setAttribute(l,"true"),o||e.setAttribute(c,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return m(a),d.clear(),o++,function(){f.forEach(function(e){var r=t.get(e)-1,o=s.get(e)-1;t.set(e,r),s.set(e,o),r||(n.has(e)||e.removeAttribute(c),n.delete(e)),o||e.removeAttribute(l)}),--o||(t=new WeakMap,t=new WeakMap,n=new WeakMap,r={})}},l=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),a(r,o,n,"aria-hidden")):function(){return null}};e.s(["hideOthers",()=>l])},31227,41712,96142,e=>{"use strict";let t=["top","right","bottom","left"],n=t.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]),r=Math.min,o=Math.max,i=Math.round,a=Math.floor,l=e=>({x:e,y:e}),c={left:"right",right:"left",bottom:"top",top:"bottom"},u={start:"end",end:"start"};function s(e,t){return"function"==typeof e?e(t):e}function f(e){return e.split("-")[0]}function d(e){return e.split("-")[1]}function p(e){return"x"===e?"y":"x"}function h(e){return"y"===e?"height":"width"}let m=new Set(["top","bottom"]);function v(e){return m.has(f(e))?"y":"x"}function g(e,t,n){void 0===n&&(n=!1);let r=d(e),o=p(v(e)),i=h(o),a="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=R(a)),[a,R(a)]}function y(e){return e.replace(/start|end/g,e=>u[e])}let w=["left","right"],b=["right","left"],x=["top","bottom"],E=["bottom","top"];function R(e){return e.replace(/left|right|bottom|top/g,e=>c[e])}function S(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function C(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function A(e,t,n){let r,{reference:o,floating:i}=e,a=v(t),l=p(v(t)),c=h(l),u=f(t),s="y"===a,m=o.x+o.width/2-i.width/2,g=o.y+o.height/2-i.height/2,y=o[c]/2-i[c]/2;switch(u){case"top":r={x:m,y:o.y-i.height};break;case"bottom":r={x:m,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:g};break;case"left":r={x:o.x-i.width,y:g};break;default:r={x:o.x,y:o.y}}switch(d(t)){case"start":r[l]-=y*(n&&s?-1:1);break;case"end":r[l]+=y*(n&&s?-1:1)}return r}async function L(e,t){var n;void 0===t&&(t={});let{x:r,y:o,platform:i,rects:a,elements:l,strategy:c}=e,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:d="floating",altBoundary:p=!1,padding:h=0}=s(t,e),m=S(h),v=l[p?"floating"===d?"reference":"floating":d],g=C(await i.getClippingRect({element:null==(n=await (null==i.isElement?void 0:i.isElement(v)))||n?v:v.contextElement||await (null==i.getDocumentElement?void 0:i.getDocumentElement(l.floating)),boundary:u,rootBoundary:f,strategy:c})),y="floating"===d?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,w=await (null==i.getOffsetParent?void 0:i.getOffsetParent(l.floating)),b=await (null==i.isElement?void 0:i.isElement(w))&&await (null==i.getScale?void 0:i.getScale(w))||{x:1,y:1},x=C(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:y,offsetParent:w,strategy:c}):y);return{top:(g.top-x.top+m.top)/b.y,bottom:(x.bottom-g.bottom+m.bottom)/b.y,left:(g.left-x.left+m.left)/b.x,right:(x.right-g.right+m.right)/b.x}}let P=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n,l=i.filter(Boolean),c=await (null==a.isRTL?void 0:a.isRTL(t)),u=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:s,y:f}=A(u,r,c),d=r,p={},h=0;for(let n=0;n<l.length;n++){var m;let{name:i,fn:v}=l[n],{x:g,y:y,data:w,reset:b}=await v({x:s,y:f,initialPlacement:r,placement:d,strategy:o,middlewareData:p,rects:u,platform:{...a,detectOverflow:null!=(m=a.detectOverflow)?m:L},elements:{reference:e,floating:t}});s=null!=g?g:s,f=null!=y?y:f,p={...p,[i]:{...p[i],...w}},b&&h<=50&&(h++,"object"==typeof b&&(b.placement&&(d=b.placement),b.rects&&(u=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:o}):b.rects),{x:s,y:f}=A(u,d,c)),n=-1)}return{x:s,y:f,placement:d,strategy:o,middlewareData:p}};function T(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function O(e){return t.some(t=>e[t]>=0)}function k(e){let t=r(...e.map(e=>e.left)),n=r(...e.map(e=>e.top));return{x:t,y:n,width:o(...e.map(e=>e.right))-t,height:o(...e.map(e=>e.bottom))-n}}let M=new Set(["left","top"]);async function N(e,t){let{placement:n,platform:r,elements:o}=e,i=await (null==r.isRTL?void 0:r.isRTL(o.floating)),a=f(n),l=d(n),c="y"===v(n),u=M.has(a)?-1:1,p=i&&c?-1:1,h=s(t,e),{mainAxis:m,crossAxis:g,alignmentAxis:y}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&"number"==typeof y&&(g="end"===l?-1*y:y),c?{x:g*p,y:m*u}:{x:m*u,y:g*p}}function D(){return"u">typeof window}function W(e){return j(e)?(e.nodeName||"").toLowerCase():"#document"}function F(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function _(e){var t;return null==(t=(j(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function j(e){return!!D()&&(e instanceof Node||e instanceof F(e).Node)}function B(e){return!!D()&&(e instanceof Element||e instanceof F(e).Element)}function H(e){return!!D()&&(e instanceof HTMLElement||e instanceof F(e).HTMLElement)}function I(e){return!(!D()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof F(e).ShadowRoot)}let z=new Set(["inline","contents"]);function $(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!z.has(o)}let V=new Set(["table","td","th"]),Y=[":popover-open",":modal"];function K(e){return Y.some(t=>{try{return e.matches(t)}catch(e){return!1}})}let U=["transform","translate","scale","rotate","perspective"],X=["transform","translate","scale","rotate","perspective","filter"],Z=["paint","layout","strict","content"];function q(e){let t=G(),n=B(e)?ee(e):e;return U.some(e=>!!n[e]&&"none"!==n[e])||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||X.some(e=>(n.willChange||"").includes(e))||Z.some(e=>(n.contain||"").includes(e))}function G(){return!("u"<typeof CSS)&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let J=new Set(["html","body","#document"]);function Q(e){return J.has(W(e))}function ee(e){return F(e).getComputedStyle(e)}function et(e){return B(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function en(e){if("html"===W(e))return e;let t=e.assignedSlot||e.parentNode||I(e)&&e.host||_(e);return I(t)?t.host:t}function er(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let o=function e(t){let n=en(t);return Q(n)?t.ownerDocument?t.ownerDocument.body:t.body:H(n)&&$(n)?n:e(n)}(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=F(o);if(i){let e=eo(a);return t.concat(a,a.visualViewport||[],$(o)?o:[],e&&n?er(e):[])}return t.concat(o,er(o,[],n))}function eo(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ei(e){let t=ee(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=H(e),a=o?e.offsetWidth:n,l=o?e.offsetHeight:r,c=i(n)!==a||i(r)!==l;return c&&(n=a,r=l),{width:n,height:r,$:c}}function ea(e){return B(e)?e:e.contextElement}function el(e){let t=ea(e);if(!H(t))return l(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=ei(t),c=(a?i(n.width):n.width)/r,u=(a?i(n.height):n.height)/o;return c&&Number.isFinite(c)||(c=1),u&&Number.isFinite(u)||(u=1),{x:c,y:u}}let ec=l(0);function eu(e){let t=F(e);return G()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:ec}function es(e,t,n,r){var o;void 0===t&&(t=!1),void 0===n&&(n=!1);let i=e.getBoundingClientRect(),a=ea(e),c=l(1);t&&(r?B(r)&&(c=el(r)):c=el(e));let u=(void 0===(o=n)&&(o=!1),r&&(!o||r===F(a))&&o)?eu(a):l(0),s=(i.left+u.x)/c.x,f=(i.top+u.y)/c.y,d=i.width/c.x,p=i.height/c.y;if(a){let e=F(a),t=r&&B(r)?F(r):r,n=e,o=eo(n);for(;o&&r&&t!==n;){let e=el(o),t=o.getBoundingClientRect(),r=ee(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,a=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;s*=e.x,f*=e.y,d*=e.x,p*=e.y,s+=i,f+=a,o=eo(n=F(o))}}return C({width:d,height:p,x:s,y:f})}function ef(e,t){let n=et(e).scrollLeft;return t?t.left+n:es(_(e)).left+n}function ed(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-ef(e,n),y:n.top+t.scrollTop}}let ep=new Set(["absolute","fixed"]);function eh(e,t,n){var r;let i;if("viewport"===t)i=function(e,t){let n=F(e),r=_(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,l=0,c=0;if(o){i=o.width,a=o.height;let e=G();(!e||e&&"fixed"===t)&&(l=o.offsetLeft,c=o.offsetTop)}let u=ef(r);if(u<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),o="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(r.clientWidth-t.clientWidth-o);a<=25&&(i-=a)}else u<=25&&(i+=u);return{width:i,height:a,x:l,y:c}}(e,n);else if("document"===t){let t,n,a,l,c,u,s;r=_(e),t=_(r),n=et(r),a=r.ownerDocument.body,l=o(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),c=o(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight),u=-n.scrollLeft+ef(r),s=-n.scrollTop,"rtl"===ee(a).direction&&(u+=o(t.clientWidth,a.clientWidth)-l),i={width:l,height:c,x:u,y:s}}else if(B(t)){let e,r,o,a,c,u;r=(e=es(t,!0,"fixed"===n)).top+t.clientTop,o=e.left+t.clientLeft,a=H(t)?el(t):l(1),c=t.clientWidth*a.x,u=t.clientHeight*a.y,i={width:c,height:u,x:o*a.x,y:r*a.y}}else{let n=eu(e);i={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return C(i)}function em(e){return"static"===ee(e).position}function ev(e,t){if(!H(e)||"fixed"===ee(e).position)return null;if(t)return t(e);let n=e.offsetParent;return _(e)===n&&(n=n.ownerDocument.body),n}function eg(e,t){var n;let r=F(e);if(K(e))return r;if(!H(e)){let t=en(e);for(;t&&!Q(t);){if(B(t)&&!em(t))return t;t=en(t)}return r}let o=ev(e,t);for(;o&&(n=o,V.has(W(n)))&&em(o);)o=ev(o,t);return o&&Q(o)&&em(o)&&!q(o)?r:o||function(e){let t=en(e);for(;H(t)&&!Q(t);){if(q(t))return t;if(K(t))break;t=en(t)}return null}(e)||r}let ey=async function(e){let t=this.getOffsetParent||eg,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=H(t),o=_(t),i="fixed"===n,a=es(e,!0,i,t),c={scrollLeft:0,scrollTop:0},u=l(0);if(r||!r&&!i)if(("body"!==W(t)||$(o))&&(c=et(t)),r){let e=es(t,!0,i,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}else o&&(u.x=ef(o));i&&!r&&o&&(u.x=ef(o));let s=!o||r||i?l(0):ed(o,c);return{x:a.left+c.scrollLeft-u.x-s.x,y:a.top+c.scrollTop-u.y-s.y,width:a.width,height:a.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},ew={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,i="fixed"===o,a=_(r),c=!!t&&K(t.floating);if(r===a||c&&i)return n;let u={scrollLeft:0,scrollTop:0},s=l(1),f=l(0),d=H(r);if((d||!d&&!i)&&(("body"!==W(r)||$(a))&&(u=et(r)),H(r))){let e=es(r);s=el(r),f.x=e.x+r.clientLeft,f.y=e.y+r.clientTop}let p=!a||d||i?l(0):ed(a,u);return{width:n.width*s.x,height:n.height*s.y,x:n.x*s.x-u.scrollLeft*s.x+f.x+p.x,y:n.y*s.y-u.scrollTop*s.y+f.y+p.y}},getDocumentElement:_,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:i,strategy:a}=e,l=[..."clippingAncestors"===n?K(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=er(e,[],!1).filter(e=>B(e)&&"body"!==W(e)),o=null,i="fixed"===ee(e).position,a=i?en(e):e;for(;B(a)&&!Q(a);){let t=ee(a),n=q(a);n||"fixed"!==t.position||(o=null),(i?!n&&!o:!n&&"static"===t.position&&!!o&&ep.has(o.position)||$(a)&&!n&&function e(t,n){let r=en(t);return!(r===n||!B(r)||Q(r))&&("fixed"===ee(r).position||e(r,n))}(e,a))?r=r.filter(e=>e!==a):o=t,a=en(a)}return t.set(e,r),r}(t,this._c):[].concat(n),i],c=l[0],u=l.reduce((e,n)=>{let i=eh(t,n,a);return e.top=o(i.top,e.top),e.right=r(i.right,e.right),e.bottom=r(i.bottom,e.bottom),e.left=o(i.left,e.left),e},eh(t,c,a));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:eg,getElementRects:ey,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=ei(e);return{width:t,height:n}},getScale:el,isElement:B,isRTL:function(e){return"rtl"===ee(e).direction}};function eb(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ex(e,t,n,i){let l;void 0===i&&(i={});let{ancestorScroll:c=!0,ancestorResize:u=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:f="function"==typeof IntersectionObserver,animationFrame:d=!1}=i,p=ea(e),h=c||u?[...p?er(p):[],...er(t)]:[];h.forEach(e=>{c&&e.addEventListener("scroll",n,{passive:!0}),u&&e.addEventListener("resize",n)});let m=p&&f?function(e,t){let n,i=null,l=_(e);function c(){var e;clearTimeout(n),null==(e=i)||e.disconnect(),i=null}return!function u(s,f){void 0===s&&(s=!1),void 0===f&&(f=1),c();let d=e.getBoundingClientRect(),{left:p,top:h,width:m,height:v}=d;if(s||t(),!m||!v)return;let g={rootMargin:-a(h)+"px "+-a(l.clientWidth-(p+m))+"px "+-a(l.clientHeight-(h+v))+"px "+-a(p)+"px",threshold:o(0,r(1,f))||1},y=!0;function w(t){let r=t[0].intersectionRatio;if(r!==f){if(!y)return u();r?u(!1,r):n=setTimeout(()=>{u(!1,1e-7)},1e3)}1!==r||eb(d,e.getBoundingClientRect())||u(),y=!1}try{i=new IntersectionObserver(w,{...g,root:l.ownerDocument})}catch(e){i=new IntersectionObserver(w,g)}i.observe(e)}(!0),c}(p,n):null,v=-1,g=null;s&&(g=new ResizeObserver(e=>{let[r]=e;r&&r.target===p&&g&&(g.unobserve(t),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var e;null==(e=g)||e.observe(t)})),n()}),p&&!d&&g.observe(p),g.observe(t));let y=d?es(e):null;return d&&function t(){let r=es(e);y&&!eb(y,r)&&n(),y=r,l=requestAnimationFrame(t)}(),n(),()=>{var e;h.forEach(e=>{c&&e.removeEventListener("scroll",n),u&&e.removeEventListener("resize",n)}),null==m||m(),null==(e=g)||e.disconnect(),g=null,d&&cancelAnimationFrame(l)}}let eE=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:i,placement:a,middlewareData:l}=t,c=await N(t,e);return a===(null==(n=l.offset)?void 0:n.placement)&&null!=(r=l.arrow)&&r.alignmentOffset?{}:{x:o+c.x,y:i+c.y,data:{...c,placement:a}}}}},eR=function(e){return void 0===e&&(e={}),{name:"autoPlacement",options:e,async fn(t){var r,o,i,a;let{rects:l,middlewareData:c,placement:u,platform:p,elements:h}=t,{crossAxis:m=!1,alignment:v,allowedPlacements:w=n,autoAlignment:b=!0,...x}=s(e,t),E=void 0!==v||w===n?((a=v||null)?[...w.filter(e=>d(e)===a),...w.filter(e=>d(e)!==a)]:w.filter(e=>f(e)===e)).filter(e=>!a||d(e)===a||!!b&&y(e)!==e):w,R=await p.detectOverflow(t,x),S=(null==(r=c.autoPlacement)?void 0:r.index)||0,C=E[S];if(null==C)return{};let A=g(C,l,await (null==p.isRTL?void 0:p.isRTL(h.floating)));if(u!==C)return{reset:{placement:E[0]}};let L=[R[f(C)],R[A[0]],R[A[1]]],P=[...(null==(o=c.autoPlacement)?void 0:o.overflows)||[],{placement:C,overflows:L}],T=E[S+1];if(T)return{data:{index:S+1,overflows:P},reset:{placement:T}};let O=P.map(e=>{let t=d(e.placement);return[e.placement,t&&m?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),k=(null==(i=O.filter(e=>e[2].slice(0,d(e[0])?2:3).every(e=>e<=0))[0])?void 0:i[0])||O[0][0];return k!==u?{data:{index:S+1,overflows:P},reset:{placement:k}}:{}}}},eS=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:i,placement:a,platform:l}=t,{mainAxis:c=!0,crossAxis:u=!1,limiter:d={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...h}=s(e,t),m={x:n,y:i},g=await l.detectOverflow(t,h),y=v(f(a)),w=p(y),b=m[w],x=m[y];if(c){let e="y"===w?"top":"left",t="y"===w?"bottom":"right",n=b+g[e],i=b-g[t];b=o(n,r(b,i))}if(u){let e="y"===y?"top":"left",t="y"===y?"bottom":"right",n=x+g[e],i=x-g[t];x=o(n,r(x,i))}let E=d.fn({...t,[w]:b,[y]:x});return{...E,data:{x:E.x-n,y:E.y-i,enabled:{[w]:c,[y]:u}}}}}},eC=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r,o,i,a;let l,c,u,{placement:p,middlewareData:h,rects:m,initialPlacement:S,platform:C,elements:A}=t,{mainAxis:L=!0,crossAxis:P=!0,fallbackPlacements:T,fallbackStrategy:O="bestFit",fallbackAxisSideDirection:k="none",flipAlignment:M=!0,...N}=s(e,t);if(null!=(n=h.arrow)&&n.alignmentOffset)return{};let D=f(p),W=v(S),F=f(S)===S,_=await (null==C.isRTL?void 0:C.isRTL(A.floating)),j=T||(F||!M?[R(S)]:(l=R(S),[y(S),l,y(l)])),B="none"!==k;!T&&B&&j.push(...(c=d(S),u=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?b:w;return t?w:b;case"left":case"right":return t?x:E;default:return[]}}(f(S),"start"===k,_),c&&(u=u.map(e=>e+"-"+c),M&&(u=u.concat(u.map(y)))),u));let H=[S,...j],I=await C.detectOverflow(t,N),z=[],$=(null==(r=h.flip)?void 0:r.overflows)||[];if(L&&z.push(I[D]),P){let e=g(p,m,_);z.push(I[e[0]],I[e[1]])}if($=[...$,{placement:p,overflows:z}],!z.every(e=>e<=0)){let e=((null==(o=h.flip)?void 0:o.index)||0)+1,t=H[e];if(t&&("alignment"!==P||W===v(t)||$.every(e=>v(e.placement)!==W||e.overflows[0]>0)))return{data:{index:e,overflows:$},reset:{placement:t}};let n=null==(i=$.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:i.placement;if(!n)switch(O){case"bestFit":{let e=null==(a=$.filter(e=>{if(B){let t=v(e.placement);return t===W||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:a[0];e&&(n=e);break}case"initialPlacement":n=S}if(p!==n)return{reset:{placement:n}}}return{}}}},eA=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,i;let a,l,{placement:c,rects:u,platform:p,elements:h}=t,{apply:m=()=>{},...g}=s(e,t),y=await p.detectOverflow(t,g),w=f(c),b=d(c),x="y"===v(c),{width:E,height:R}=u.floating;"top"===w||"bottom"===w?(a=w,l=b===(await (null==p.isRTL?void 0:p.isRTL(h.floating))?"start":"end")?"left":"right"):(l=w,a="end"===b?"top":"bottom");let S=R-y.top-y.bottom,C=E-y.left-y.right,A=r(R-y[a],S),L=r(E-y[l],C),P=!t.middlewareData.shift,T=A,O=L;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(O=C),null!=(i=t.middlewareData.shift)&&i.enabled.y&&(T=S),P&&!b){let e=o(y.left,0),t=o(y.right,0),n=o(y.top,0),r=o(y.bottom,0);x?O=E-2*(0!==e||0!==t?e+t:o(y.left,y.right)):T=R-2*(0!==n||0!==r?n+r:o(y.top,y.bottom))}await m({...t,availableWidth:O,availableHeight:T});let k=await p.getDimensions(h.floating);return E!==k.width||R!==k.height?{reset:{rects:!0}}:{}}}},eL=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...i}=s(e,t);switch(o){case"referenceHidden":{let e=T(await r.detectOverflow(t,{...i,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:O(e)}}}case"escaped":{let e=T(await r.detectOverflow(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:O(e)}}}default:return{}}}}},eP=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:i,placement:a,rects:l,platform:c,elements:u,middlewareData:f}=t,{element:m,padding:g=0}=s(e,t)||{};if(null==m)return{};let y=S(g),w={x:n,y:i},b=p(v(a)),x=h(b),E=await c.getDimensions(m),R="y"===b,C=R?"clientHeight":"clientWidth",A=l.reference[x]+l.reference[b]-w[b]-l.floating[x],L=w[b]-l.reference[b],P=await (null==c.getOffsetParent?void 0:c.getOffsetParent(m)),T=P?P[C]:0;T&&await (null==c.isElement?void 0:c.isElement(P))||(T=u.floating[C]||l.floating[x]);let O=T/2-E[x]/2-1,k=r(y[R?"top":"left"],O),M=r(y[R?"bottom":"right"],O),N=T-E[x]-M,D=T/2-E[x]/2+(A/2-L/2),W=o(k,r(D,N)),F=!f.arrow&&null!=d(a)&&D!==W&&l.reference[x]/2-(D<k?k:M)-E[x]/2<0,_=F?D<k?D-k:D-N:0;return{[b]:w[b]+_,data:{[b]:W,centerOffset:D-W-_,...F&&{alignmentOffset:_}},reset:F}}}),eT=function(e){return void 0===e&&(e={}),{name:"inline",options:e,async fn(t){let{placement:n,elements:i,rects:a,platform:l,strategy:c}=t,{padding:u=2,x:d,y:p}=s(e,t),h=Array.from(await (null==l.getClientRects?void 0:l.getClientRects(i.reference))||[]),m=function(e){let t=e.slice().sort((e,t)=>e.y-t.y),n=[],r=null;for(let e=0;e<t.length;e++){let o=t[e];!r||o.y-r.y>r.height/2?n.push([o]):n[n.length-1].push(o),r=o}return n.map(e=>C(k(e)))}(h),g=C(k(h)),y=S(u),w=await l.getElementRects({reference:{getBoundingClientRect:function(){if(2===m.length&&m[0].left>m[1].right&&null!=d&&null!=p)return m.find(e=>d>e.left-y.left&&d<e.right+y.right&&p>e.top-y.top&&p<e.bottom+y.bottom)||g;if(m.length>=2){if("y"===v(n)){let e=m[0],t=m[m.length-1],r="top"===f(n),o=e.top,i=t.bottom,a=r?e.left:t.left,l=r?e.right:t.right;return{top:o,bottom:i,left:a,right:l,width:l-a,height:i-o,x:a,y:o}}let e="left"===f(n),t=o(...m.map(e=>e.right)),i=r(...m.map(e=>e.left)),a=m.filter(n=>e?n.left===i:n.right===t),l=a[0].top,c=a[a.length-1].bottom;return{top:l,bottom:c,left:i,right:t,width:t-i,height:c-l,x:i,y:l}}return g}},floating:i.floating,strategy:c});return a.reference.x!==w.reference.x||a.reference.y!==w.reference.y||a.reference.width!==w.reference.width||a.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},eO=function(e){return void 0===e&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:o,rects:i,middlewareData:a}=t,{offset:l=0,mainAxis:c=!0,crossAxis:u=!0}=s(e,t),d={x:n,y:r},h=v(o),m=p(h),g=d[m],y=d[h],w=s(l,t),b="number"==typeof w?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(c){let e="y"===m?"height":"width",t=i.reference[m]-i.floating[e]+b.mainAxis,n=i.reference[m]+i.reference[e]-b.mainAxis;g<t?g=t:g>n&&(g=n)}if(u){var x,E;let e="y"===m?"width":"height",t=M.has(f(o)),n=i.reference[h]-i.floating[e]+(t&&(null==(x=a.offset)?void 0:x[h])||0)+(t?0:b.crossAxis),r=i.reference[h]+i.reference[e]+(t?0:(null==(E=a.offset)?void 0:E[h])||0)-(t?b.crossAxis:0);y<n?y=n:y>r&&(y=r)}return{[m]:g,[h]:y}}}},ek=(e,t,n)=>{let r=new Map,o={platform:ew,...n},i={...o.platform,_c:r};return P(e,t,{...o,platform:i})};e.s(["arrow",()=>eP,"autoPlacement",()=>eR,"autoUpdate",()=>ex,"computePosition",()=>ek,"flip",()=>eC,"hide",()=>eL,"inline",()=>eT,"limitShift",()=>eO,"offset",()=>eE,"shift",()=>eS,"size",()=>eA],41712);var eM=e.i(79054),eN=e.i(26036),eD="u">typeof document?eM.useLayoutEffect:function(){};function eW(e,t){let n,r,o;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!eW(e[r],t[r]))return!1;return!0}if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){let n=o[r];if(("_owner"!==n||!e.$$typeof)&&!eW(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function eF(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function e_(e,t){let n=eF(e);return Math.round(t*n)/n}function ej(e){let t=eM.useRef(e);return eD(()=>{t.current=e}),t}function eB(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:a}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[s,f]=eM.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[d,p]=eM.useState(r);eW(d,r)||p(r);let[h,m]=eM.useState(null),[v,g]=eM.useState(null),y=eM.useCallback(e=>{e!==E.current&&(E.current=e,m(e))},[]),w=eM.useCallback(e=>{e!==R.current&&(R.current=e,g(e))},[]),b=i||h,x=a||v,E=eM.useRef(null),R=eM.useRef(null),S=eM.useRef(s),C=null!=c,A=ej(c),L=ej(o),P=ej(u),T=eM.useCallback(()=>{if(!E.current||!R.current)return;let e={placement:t,strategy:n,middleware:d};L.current&&(e.platform=L.current),ek(E.current,R.current,e).then(e=>{let t={...e,isPositioned:!1!==P.current};O.current&&!eW(S.current,t)&&(S.current=t,eN.flushSync(()=>{f(t)}))})},[d,t,n,L,P]);eD(()=>{!1===u&&S.current.isPositioned&&(S.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let O=eM.useRef(!1);eD(()=>(O.current=!0,()=>{O.current=!1}),[]),eD(()=>{if(b&&(E.current=b),x&&(R.current=x),b&&x){if(A.current)return A.current(b,x,T);T()}},[b,x,T,A,C]);let k=eM.useMemo(()=>({reference:E,floating:R,setReference:y,setFloating:w}),[y,w]),M=eM.useMemo(()=>({reference:b,floating:x}),[b,x]),N=eM.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=e_(M.floating,s.x),r=e_(M.floating,s.y);return l?{...e,transform:"translate("+t+"px, "+r+"px)",...eF(M.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,l,M.floating,s.x,s.y]);return eM.useMemo(()=>({...s,update:T,refs:k,elements:M,floatingStyles:N}),[s,T,k,M,N])}let eH=(e,t)=>({...eE(e),options:[e,t]}),eI=(e,t)=>({...eS(e),options:[e,t]}),ez=(e,t)=>({...eO(e),options:[e,t]}),e$=(e,t)=>({...eC(e),options:[e,t]}),eV=(e,t)=>({...eA(e),options:[e,t]}),eY=(e,t)=>({...eL(e),options:[e,t]}),eK=(e,t)=>({name:"arrow",options:e,fn(t){let{element:n,padding:r}="function"==typeof e?e(t):e;return n&&({}).hasOwnProperty.call(n,"current")?null!=n.current?eP({element:n.current,padding:r}).fn(t):{}:n?eP({element:n,padding:r}).fn(t):{}},options:[e,t]});e.s(["arrow",()=>eK,"flip",()=>e$,"hide",()=>eY,"limitShift",()=>ez,"offset",()=>eH,"shift",()=>eI,"size",()=>eV,"useFloating",()=>eB],31227);var eU=e.i(87620),eX=e.i(20314),eZ=eM.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...i}=e;return(0,eX.jsx)(eU.Primitive.svg,{...i,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,eX.jsx)("polygon",{points:"0,0 30,0 15,10"})})});eZ.displayName="Arrow",e.s(["Root",()=>eZ],96142)},77624,e=>{"use strict";var t=e.i(79054),n=e.i(5192);function r(e){let[r,o]=t.useState(void 0);return(0,n.useLayoutEffect)(()=>{if(e){o({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,r;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,r=t.blockSize}else n=e.offsetWidth,r=e.offsetHeight;o({width:n,height:r})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}o(void 0)},[e]),r}e.s(["useSize",()=>r])},52740,e=>{"use strict";var t=e.i(79054),n=e.i(31227),r=e.i(41712),o=e.i(96142),i=e.i(5978),a=e.i(22528),l=e.i(87620),c=e.i(29297),u=e.i(5192),s=e.i(77624),f=e.i(20314),d="Popper",[p,h]=(0,a.createContextScope)(d),[m,v]=p(d),g=e=>{let{__scopePopper:n,children:r}=e,[o,i]=t.useState(null);return(0,f.jsx)(m,{scope:n,anchor:o,onAnchorChange:i,children:r})};g.displayName=d;var y="PopperAnchor",w=t.forwardRef((e,n)=>{let{__scopePopper:r,virtualRef:o,...a}=e,c=v(y,r),u=t.useRef(null),s=(0,i.useComposedRefs)(n,u),d=t.useRef(null);return t.useEffect(()=>{let e=d.current;d.current=o?.current||u.current,e!==d.current&&c.onAnchorChange(d.current)}),o?null:(0,f.jsx)(l.Primitive.div,{...a,ref:s})});w.displayName=y;var b="PopperContent",[x,E]=p(b),R=t.forwardRef((e,o)=>{let{__scopePopper:a,side:d="bottom",sideOffset:p=0,align:h="center",alignOffset:m=0,arrowPadding:g=0,avoidCollisions:y=!0,collisionBoundary:w=[],collisionPadding:E=0,sticky:R="partial",hideWhenDetached:S=!1,updatePositionStrategy:C="optimized",onPlaced:A,...O}=e,k=v(b,a),[M,N]=t.useState(null),D=(0,i.useComposedRefs)(o,e=>N(e)),[W,F]=t.useState(null),_=(0,s.useSize)(W),j=_?.width??0,B=_?.height??0,H="number"==typeof E?E:{top:0,right:0,bottom:0,left:0,...E},I=Array.isArray(w)?w:[w],z=I.length>0,$={padding:H,boundary:I.filter(L),altBoundary:z},{refs:V,floatingStyles:Y,placement:K,isPositioned:U,middlewareData:X}=(0,n.useFloating)({strategy:"fixed",placement:d+("center"!==h?"-"+h:""),whileElementsMounted:(...e)=>(0,r.autoUpdate)(...e,{animationFrame:"always"===C}),elements:{reference:k.anchor},middleware:[(0,n.offset)({mainAxis:p+B,alignmentAxis:m}),y&&(0,n.shift)({mainAxis:!0,crossAxis:!1,limiter:"partial"===R?(0,n.limitShift)():void 0,...$}),y&&(0,n.flip)({...$}),(0,n.size)({...$,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:o,height:i}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${n}px`),a.setProperty("--radix-popper-available-height",`${r}px`),a.setProperty("--radix-popper-anchor-width",`${o}px`),a.setProperty("--radix-popper-anchor-height",`${i}px`)}}),W&&(0,n.arrow)({element:W,padding:g}),P({arrowWidth:j,arrowHeight:B}),S&&(0,n.hide)({strategy:"referenceHidden",...$})]}),[Z,q]=T(K),G=(0,c.useCallbackRef)(A);(0,u.useLayoutEffect)(()=>{U&&G?.()},[U,G]);let J=X.arrow?.x,Q=X.arrow?.y,ee=X.arrow?.centerOffset!==0,[et,en]=t.useState();return(0,u.useLayoutEffect)(()=>{M&&en(window.getComputedStyle(M).zIndex)},[M]),(0,f.jsx)("div",{ref:V.setFloating,"data-radix-popper-content-wrapper":"",style:{...Y,transform:U?Y.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:et,"--radix-popper-transform-origin":[X.transformOrigin?.x,X.transformOrigin?.y].join(" "),...X.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,f.jsx)(x,{scope:a,placedSide:Z,onArrowChange:F,arrowX:J,arrowY:Q,shouldHideArrow:ee,children:(0,f.jsx)(l.Primitive.div,{"data-side":Z,"data-align":q,...O,ref:D,style:{...O.style,animation:U?void 0:"none"}})})})});R.displayName=b;var S="PopperArrow",C={top:"bottom",right:"left",bottom:"top",left:"right"},A=t.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=E(S,n),a=C[i.placedSide];return(0,f.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,f.jsx)(o.Root,{...r,ref:t,style:{...r.style,display:"block"}})})});function L(e){return null!==e}A.displayName=S;var P=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,a=i?0:e.arrowWidth,l=i?0:e.arrowHeight,[c,u]=T(n),s={start:"0%",center:"50%",end:"100%"}[u],f=(o.arrow?.x??0)+a/2,d=(o.arrow?.y??0)+l/2,p="",h="";return"bottom"===c?(p=i?s:`${f}px`,h=`${-l}px`):"top"===c?(p=i?s:`${f}px`,h=`${r.floating.height+l}px`):"right"===c?(p=`${-l}px`,h=i?s:`${d}px`):"left"===c&&(p=`${r.floating.width+l}px`,h=i?s:`${d}px`),{data:{x:p,y:h}}}});function T(e){let[t,n="center"]=e.split("-");return[t,n]}e.s(["Anchor",()=>w,"Arrow",()=>A,"Content",()=>R,"Root",()=>g,"createPopperScope",()=>h])},1693,e=>{"use strict";var t=e.i(79054),n=e.i(87620),r=e.i(20314),o=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),i=t.forwardRef((e,t)=>(0,r.jsx)(n.Primitive.span,{...e,ref:t,style:{...o,...e.style}}));i.displayName="VisuallyHidden",e.s(["Root",()=>i,"VISUALLY_HIDDEN_STYLES",()=>o,"VisuallyHidden",()=>i])},21023,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={callServer:function(){return i.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(40487),a=e.r(45398),l=e.r(48378)},17406,e=>{"use strict";var t,n,r,o,i,a,l,c,u=((t={}).VsCode="vscode",t.Cursor="cursor",t.Windsurf="windsurf",t.Zed="zed",t.Antigravity="antigravity",t),s=((n={}).System="system",n.Warp="warp",n.ITerm2="iterm2",n.Alacritty="alacritty",n.Kitty="kitty",n),f=((r={}).Open="Open",r.Merged="Merged",r.Closed="Closed",r),d=((o={}).Pending="Pending",o.Success="Success",o.Failure="Failure",o),p=((i={}).AgentStarted="agent_started",i.PhaseCompleted="phase_completed",i.WaitingApproval="waiting_approval",i.AgentCompleted="agent_completed",i.AgentFailed="agent_failed",i.PrMerged="pr_merged",i.PrClosed="pr_closed",i.PrChecksPassed="pr_checks_passed",i.PrChecksFailed="pr_checks_failed",i.PrBlocked="pr_blocked",i.MergeReviewReady="merge_review_ready",i),h=((a={}).Info="info",a.Warning="warning",a.Success="success",a.Error="error",a),m=((l={}).Booting="Booting",l.Ready="Ready",l.Stopped="Stopped",l),v=((c={}).user="user",c.assistant="assistant",c);e.s(["CiStatus",()=>d,"DeploymentState",()=>m,"EditorType",()=>u,"InteractiveMessageRole",()=>v,"NotificationEventType",()=>p,"NotificationSeverity",()=>h,"PrStatus",()=>f,"TerminalType",()=>s])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16868,e=>{"use strict";var t=e.i(43698);e.s(["PaperclipIcon",()=>t.default])},70471,e=>{"use strict";var t=e.i(16298);e.s(["FileText",()=>t.default])},42076,e=>{"use strict";async function t(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["pickFiles",()=>t])},83843,e=>{"use strict";let t=(0,e.i(3645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",()=>t],83843)},51911,e=>{"use strict";var t=e.i(20314),a=e.i(79054),r=e.i(91967),s=e.i(5978),i=e.i(22528),o=e.i(36589),l=e.i(23405),n=e.i(77624),d=e.i(87620),c="Switch",[p,u]=(0,i.createContextScope)(c),[h,m]=p(c),x=a.forwardRef((e,i)=>{let{__scopeSwitch:l,name:n,checked:p,defaultChecked:u,required:m,disabled:x,value:f="on",onCheckedChange:g,form:v,...w}=e,[y,C]=a.useState(null),k=(0,s.useComposedRefs)(i,e=>C(e)),N=a.useRef(!1),T=!y||v||!!y.closest("form"),[S,P]=(0,o.useControllableState)({prop:p,defaultProp:u??!1,onChange:g,caller:c});return(0,t.jsxs)(h,{scope:l,checked:S,disabled:x,children:[(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":S,"aria-required":m,"data-state":j(S),"data-disabled":x?"":void 0,disabled:x,value:f,...w,ref:k,onClick:(0,r.composeEventHandlers)(e.onClick,e=>{P(e=>!e),T&&(N.current=e.isPropagationStopped(),N.current||e.stopPropagation())})}),T&&(0,t.jsx)(b,{control:y,bubbles:!N.current,name:n,value:f,checked:S,required:m,disabled:x,form:v,style:{transform:"translateX(-100%)"}})]})});x.displayName=c;var f="SwitchThumb",g=a.forwardRef((e,a)=>{let{__scopeSwitch:r,...s}=e,i=m(f,r);return(0,t.jsx)(d.Primitive.span,{"data-state":j(i.checked),"data-disabled":i.disabled?"":void 0,...s,ref:a})});g.displayName=f;var b=a.forwardRef(({__scopeSwitch:e,control:r,checked:i,bubbles:o=!0,...d},c)=>{let p=a.useRef(null),u=(0,s.useComposedRefs)(p,c),h=(0,l.usePrevious)(i),m=(0,n.useSize)(r);return a.useEffect(()=>{let e=p.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(h!==i&&t){let a=new Event("click",{bubbles:o});t.call(e,i),e.dispatchEvent(a)}},[h,i,o]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i,...d,tabIndex:-1,ref:u,style:{...d.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function j(e){return e?"checked":"unchecked"}b.displayName="SwitchBubbleInput",e.s(["Root",()=>x,"Switch",()=>x,"SwitchThumb",()=>g,"Thumb",()=>g,"createSwitchScope",()=>u],95291);var v=e.i(95291),v=v,w=e.i(31777);function y({className:e,size:a="default",...r}){return(0,t.jsx)(v.Root,{"data-slot":"switch","data-size":a,className:(0,w.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...r,children:(0,t.jsx)(v.Thumb,{"data-slot":"switch-thumb",className:(0,w.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}e.s(["Switch",()=>y],51911)},15203,e=>{"use strict";var t=e.i(20314),a=e.i(79054),r=e.i(31406),s=e.i(60112),i=e.i(21023);let o=(0,i.createServerReference)("4026f81223fb28f943eb83969911ea7368e598aa71",i.callServer,void 0,i.findSourceMapURL,"createFeature");var l=e.i(16868),n=e.i(83843),d=e.i(97667),c=e.i(53360),p=e.i(55016),u=e.i(91925),h=e.i(83428);let m=(0,e.i(3645).default)("git-fork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]);var x=e.i(70471),f=e.i(31777),g=e.i(8361);e.i(1650);var b=e.i(11495),j=e.i(45811),v=e.i(35364),w=e.i(98127),y=e.i(48306),C=e.i(41957),k=e.i(81846),N=e.i(90382),T=e.i(51911),S=e.i(2828),P=e.i(30153);e.i(50032);var R=e.i(86254);let E=(0,i.createServerReference)("40c993e3e46e96d39aabcd2e6643edc302b4f05f43",i.callServer,void 0,i.findSourceMapURL,"getViewerPermission");var F=e.i(41413),D=e.i(25235),z=e.i(78521);e.i(13322);var L=e.i(61201),A=e.i(75921),I=e.i(91046),O=e.i(42076);let U=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),M=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],q={allowPrd:!1,allowPlan:!1,allowMerge:!1};function B({open:e,onClose:r,onSubmit:s,repositoryPath:i,isSubmitting:o=!1,workflowDefaults:n,features:d,repositories:u,initialParentId:h,currentAgentType:w,currentModel:N,initialDescription:D,canPushDirectly:z}){let L=(0,g.useSoundAction)("create"),A=i&&(!u||0===u.length||u.some(e=>e.path===i))?i:"",I=n?.approvalGates??q,B=n?.push??!1,G=n?.openPr??!1,K=n?.ciWatchEnabled!==!1,H=n?.enableEvidence??!1,V=n?.commitEvidence??!1,[Y,J]=(0,a.useState)(D??"");(0,a.useEffect)(()=>{D&&J(D)},[D]);let[X,Z]=(0,a.useState)([]),[Q,_]=(0,a.useState)({...I}),[ee,et]=(0,a.useState)(B),[ea,er]=(0,a.useState)(G),[es,ei]=(0,a.useState)(n?.ciWatchEnabled!==!1),[eo,el]=(0,a.useState)(H),[en,ed]=(0,a.useState)(V),[ec,ep]=(0,a.useState)(void 0),[eu,eh]=(0,a.useState)(!1),[em,ex]=(0,a.useState)(!1),[ef,eg]=(0,a.useState)(!1),[eb,ej]=(0,a.useState)(!0),[ev,ew]=(0,a.useState)(void 0),[ey,eC]=(0,a.useState)(void 0),[ek,eN]=(0,a.useState)(A||void 0),[eT,eS]=(0,a.useState)(u??[]),[eP,eR]=(0,a.useState)(!1),[eE,eF]=(0,a.useState)(null),[eD,ez]=(0,a.useState)(!1),eL=(0,a.useRef)(crypto.randomUUID()),eA=(0,a.useRef)(0),eI=(0,a.useRef)(null);(0,a.useEffect)(()=>{n&&(_({...n.approvalGates}),et(n.push),er(n.openPr),ei(!1!==n.ciWatchEnabled),el(n.enableEvidence),ed(n.commitEvidence))},[n]),(0,a.useEffect)(()=>{eS(u??[])},[u]),(0,a.useEffect)(()=>{e&&h&&ep(h)},[e,h]);let[eO,eU]=(0,a.useState)(z??!1);(0,a.useEffect)(()=>{eU(z??!1)},[z]);let eM=(0,a.useRef)(ek);(0,a.useEffect)(()=>{ek&&ek!==eM.current&&(eM.current=ek,E(ek).then(e=>eU(e.canPushDirectly)).catch(()=>eU(!1)))},[ek]),(0,a.useEffect)(()=>{eO&&(eg(!1),et(B),er(G),ej(!0))},[eO,B,G]);let eq=(0,a.useCallback)(()=>{J(""),Z([]),_({...I}),et(B),er(G),ei(K),el(H),ed(V),ep(void 0),eN(A||void 0),eS(u??[]),eh(!1),ex(!1),eg(!1),ej(!0),ew(void 0),eC(void 0),eF(null),eA.current=0,eR(!1)},[I,B,G,H,K,V,A,u]),eB=""!==Y.trim()||X.length>0,{attemptClose:e$}=(0,P.useGuardedDrawerClose)({open:e,isDirty:eB,onClose:r,onReset:eq}),eW=(0,a.useCallback)(async e=>{for(let t of(eF(null),e)){if(t.size>0xa00000)return void eF(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!U.has(e))return void eF(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();Z(a=>[...a,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let a=new FormData;a.append("file",t),a.append("sessionId",eL.current);let r=await fetch("/api/attachments/upload",{method:"POST",body:a});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));Z(t=>t.filter(t=>t.id!==e)),eF(t.error??"Upload failed");return}let s=await r.json();Z(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{Z(t=>t.filter(t=>t.id!==e)),eF("Upload failed")}}},[]),eG=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eA.current+=1,1===eA.current&&eR(!0)},[]),eK=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eA.current-=1,0===eA.current&&eR(!1)},[]),eH=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),eV=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eA.current=0,eR(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&eW(t)},[eW]),eY=(0,a.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let a=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&a.push(t)}a.length>0&&(e.preventDefault(),eW(a))},[eW]),eJ=(0,a.useCallback)(e=>{if(e.preventDefault(),!Y.trim())return;let t=ek??A;t&&(L.play(),s({description:Y.trim(),attachments:X.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:Q.allowPrd??!1,allowPlan:Q.allowPlan??!1,allowMerge:Q.allowMerge??!1},push:!!ef||ee||ea,openPr:!!ef||ea,ciWatchEnabled:es,enableEvidence:eo,commitEvidence:en,fast:eu,forkAndPr:ef,commitSpecs:eb,...em?{pending:em}:{},...ev?{agentType:ev}:{},...ey?{model:ey}:{},...ec?{parentId:ec}:{},sessionId:eL.current}),eq())},[Y,X,Q,ek,A,s,ee,ea,eo,es,en,eu,ef,eb,em,ev,ey,ec,L,eq]),eX=(0,a.useCallback)(async()=>{try{let e=await (0,O.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();Z(a=>[...a,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let a=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eL.current})});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));Z(t=>t.filter(t=>t.id!==e)),eF(t.error??"Upload failed");return}let r=await a.json();Z(t=>t.some(t=>t.id!==e&&t.path===r.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...r,id:e,loading:!1}:t))}catch{Z(t=>t.filter(t=>t.id!==e)),eF("Upload failed")}}}catch{}},[]),eZ=(0,a.useCallback)(e=>{Z(t=>t.filter(t=>t.id!==e))},[]),eQ=(0,a.useCallback)((e,t)=>{Z(a=>a.map(a=>a.id===e?{...a,notes:t}:a))},[]),e_=(0,a.useRef)(null),e0=(0,a.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),e_.current?.requestSubmit())},[]),e1=(0,a.useCallback)(()=>{ez(!0)},[]),e5=(0,a.useCallback)(()=>{setTimeout(()=>{let e=eI.current?.contains(document.activeElement),t=eI.current?.querySelector('[aria-expanded="true"]')!==null;e||t||ez(!1)},0)},[]),e2=d&&d.length>0,e3=!A&&!ek,e4=!A&&void 0!==u;return(0,t.jsx)(b.BaseDrawer,{open:e,onClose:e$,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(j.DrawerTitle,{children:"NEW FEATURE"})]}),o?(0,t.jsx)(j.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(k.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(v.Button,{variant:"outline",onClick:e$,disabled:o,children:"Cancel"}),(0,t.jsx)(v.Button,{type:"submit",form:"create-feature-form",disabled:!Y.trim()||o||e3,children:o?"Creating...":"+ Create Feature"})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(S.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:e_,id:"create-feature-form",onSubmit:eJ,onKeyDown:e0,className:"flex flex-col gap-4",children:[e4?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(C.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,t.jsx)(W,{repositories:eT,value:ek,onChange:eN,onAddRepository:e=>{eS(t=>[...t,e]),eN(e.path)},disabled:o})]}):A?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(C.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:u?.find(e=>e.path===A)?.name??A.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":"File drop zone","data-drag-over":eP?"true":"false",onDragEnter:eG,onDragLeave:eK,onDragOver:eH,onDrop:eV,className:(0,f.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",eP&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(C.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIBE YOUR FEATURE"}),(0,t.jsxs)("div",{ref:eI,onFocus:e1,onBlur:e5,className:(0,f.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eD&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(y.Textarea,{id:"feature-description",placeholder:"e.g. Add GitHub OAuth login with callback handling and token refresh...",value:Y,onChange:e=>J(e.target.value),onPaste:eY,required:!0,disabled:o,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),X.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:X.map(e=>(0,t.jsx)(R.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>eZ(e.id),disabled:o,loading:e.loading,notes:e.notes,onNotesChange:t=>eQ(e.id,t)},e.id))}),eE?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:eE}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(F.AgentModelPicker,{initialAgentType:ev??w??"claude-code",initialModel:ey??N??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{ew(e),eC(t)},disabled:o,className:"w-55"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(T.Switch,{id:"pending-mode",checked:em,onCheckedChange:ex,disabled:o}),(0,t.jsxs)(C.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(p.Clock,{className:"h-3.5 w-3.5"}),"Pending"]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Create without starting — start manually later."})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(T.Switch,{id:"fast-mode",checked:eu,onCheckedChange:eh,disabled:o}),(0,t.jsxs)(C.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(c.Zap,{className:"h-3.5 w-3.5"}),"Fast Mode"]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Skip SDLC phases and implement directly from your prompt."})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:eX,disabled:o,"aria-label":"Attach files",className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(l.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Attach files"})]})]})]})]}),e2&&void 0!==h?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(C.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,t.jsx)($,{features:d,value:ec,onChange:ep,disabled:o})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"APPROVE"})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Auto-approve phase transitions without manual review."})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:M.map(e=>(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:`approve-${e.id}`,size:"sm",checked:Q[e.id]??!1,onCheckedChange:t=>_(a=>({...a,[e.id]:t})),disabled:o||eu&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(C.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:eu&&("allowPrd"===e.id||"allowPlan"===e.id)?"Skipped in Fast Mode":e.description})]},e.id))}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=M.every(e=>Q[e.id]),t={};for(let a of M)t[a.id]=!e;_(t)},disabled:o,className:(0,f.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",M.every(e=>Q[e.id])&&"text-primary"),children:"All"})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Toggle all approval gates"})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"EVIDENCE"})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Collect and attach evidence after implementation."})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"enable-evidence",size:"sm",checked:eo,onCheckedChange:e=>{el(e),e||ed(!1)},disabled:o}),(0,t.jsx)(C.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:"Collect"})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Capture screenshots and artifacts after implementation."})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-evidence",size:"sm",checked:en,onCheckedChange:ed,disabled:o||!eo||!ea&&!ef}),(0,t.jsx)(C.Label,{htmlFor:"commit-evidence",className:(0,f.cn)("cursor-pointer text-xs font-medium",(!eo||!ea&&!ef)&&"opacity-50"),children:"Add to PR"})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ea||ef?eo?"Include evidence in the pull request body.":"Requires evidence collection to be enabled":"Requires PR to be enabled"})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:"GIT"}),(0,t.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"push",size:"sm",checked:!!ef||ee||ea,onCheckedChange:e=>{et(e),!e&&ea&&er(!1)},disabled:o||ef}),(0,t.jsx)(C.Label,{htmlFor:"push",className:(0,f.cn)("cursor-pointer text-xs font-medium",ef&&"opacity-50"),children:"Push"})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ef?"Enabled — contributing to upstream":"Push branch to remote after implementation."})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"open-pr",size:"sm",checked:!!ef||ea,onCheckedChange:e=>{er(e),e||ed(!1)},disabled:o||ef}),(0,t.jsx)(C.Label,{htmlFor:"open-pr",className:(0,f.cn)("cursor-pointer text-xs font-medium",ef&&"opacity-50"),children:"PR"})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ef?"Enabled — contributing to upstream":"Open a pull request after pushing."})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"ci-watch",size:"sm",checked:es,onCheckedChange:ei,disabled:o}),(0,t.jsx)(C.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:"Watch"})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Watch CI and auto-fix after push."})]}),(0,t.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-specs",size:"sm",checked:eb,onCheckedChange:ej,disabled:o}),(0,t.jsxs)(C.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(x.FileText,{className:"h-3 w-3"}),"Commit Specs"]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Commit specs to repository."})]}),!eO&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"fork-and-pr",size:"sm",checked:ef,onCheckedChange:e=>{eg(e),e&&ej(!1)},disabled:o}),(0,t.jsxs)(C.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(m,{className:"h-3 w-3"}),"Fork & PR"]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:"Contribute via fork (PR to upstream)."})]})]})]})]})]})})})})}function $({features:e,value:r,onChange:s,disabled:i}){let[o,l]=(0,a.useState)(!1),[c,p]=(0,a.useState)(""),u=(0,a.useRef)(null),h=e.find(e=>e.id===r),m=c.trim()?e.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())||e.id.toLowerCase().includes(c.toLowerCase())):e,x=(0,a.useCallback)(e=>{s(e),l(!1),p("")},[s]);return(0,a.useEffect)(()=>{o?setTimeout(()=>u.current?.focus(),0):p("")},[o]),(0,t.jsxs)(N.Popover,{open:o,onOpenChange:l,children:[(0,t.jsx)(N.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":o,"aria-label":"Parent Feature",disabled:i,"data-testid":"parent-feature-combobox",className:(0,f.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!h&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:h?`${h.name} (${h.id.slice(0,8)})`:"Select parent feature..."}),(0,t.jsx)(n.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(N.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(w.Input,{ref:u,placeholder:"Search features...",value:c,onChange:e=>p(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===r,onClick:()=>x(void 0),className:(0,f.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===r&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(d.CheckIcon,{className:(0,f.cn)("h-4 w-4 shrink-0",void 0!==r&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===m.length&&c?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):m.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":r===e.id,onClick:()=>x(e.id),className:(0,f.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",r===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,f.cn)("h-4 w-4 shrink-0",r!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function W({repositories:e,value:r,onChange:s,onAddRepository:i,disabled:o}){let[l,c]=(0,a.useState)(!1),[p,m]=(0,a.useState)(""),[x,g]=(0,a.useState)(!1),[b,j]=(0,a.useState)(null),[v,y]=(0,a.useState)(!1),C=(0,a.useRef)(null),{reactFileManager:k}=(0,A.useFeatureFlags)(),T=e.find(e=>e.path===r),S=p.trim()?e.filter(e=>e.name.toLowerCase().includes(p.toLowerCase())||e.path.toLowerCase().includes(p.toLowerCase())):e,P=(0,a.useCallback)(e=>{s(e),c(!1),m("")},[s]),R=(0,a.useCallback)(async e=>{let t=await (0,I.addRepository)({path:e});if(t.error){j(t.error),g(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};i?.(e),s(e.path),c(!1),m("")}},[i,s]),E=(0,a.useCallback)(async()=>{if(!x){if(k)return void y(!0);g(!0),j(null);try{let e=await (0,z.pickFolder)();if(!e)return void g(!1);await R(e)}catch{y(!0)}finally{g(!1)}}},[x,k,R]),F=(0,a.useCallback)(async e=>{if(y(!1),e){g(!0),j(null);try{await R(e)}catch(e){j(e instanceof Error?e.message:"Failed to add repository")}finally{g(!1)}}},[R]);return(0,a.useEffect)(()=>{l?setTimeout(()=>C.current?.focus(),0):m("")},[l]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(N.Popover,{open:l,onOpenChange:c,children:[(0,t.jsx)(N.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":l,"aria-label":"Repository",disabled:o,"data-testid":"repository-combobox",className:(0,f.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!T&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:T?T.name:"Select repository..."}),(0,t.jsx)(n.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(N.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(w.Input,{ref:C,placeholder:"Search repositories...",value:p,onChange:e=>m(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===S.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):S.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":r===e.path,onClick:()=>P(e.path),className:(0,f.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",r===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(d.CheckIcon,{className:(0,f.cn)("h-4 w-4 shrink-0",r!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsx)("span",{className:"truncate",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(D.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:E,disabled:x,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[x?(0,t.jsx)(h.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(u.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),b?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:b}):null]})})]}),(0,t.jsx)(L.ReactFileManagerDialog,{open:v,onOpenChange:e=>{e||y(!1)},onSelect:F})]})}function G({repositoryPath:e,initialParentId:i,initialDescription:l,features:n,repositories:d,workflowDefaults:c,currentAgentType:p,currentModel:u,canPushDirectly:h}){let m=(0,r.useRouter)(),[x,f]=(0,a.useState)(!1),g=(0,r.usePathname)().startsWith("/create"),b=!x&&g;(0,a.useEffect)(()=>{!g&&x&&f(!1)},[g,x]);let j=(0,a.useCallback)(()=>{m.push("/")},[m]),v=(0,a.useCallback)(e=>{f(!0),m.push("/"),o(e).then(t=>{t.error?s.toast.error(t.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.feature.repositoryPath,parentId:e.parentId}}))}).catch(()=>{s.toast.error("Failed to create feature"),f(!1)})},[m]);return(0,t.jsx)(B,{open:b,onClose:j,onSubmit:v,repositoryPath:e,features:n,repositories:d,workflowDefaults:c,initialParentId:i,initialDescription:l,isSubmitting:x,currentAgentType:p,currentModel:u,canPushDirectly:h})}e.s(["CreateDrawerClient",()=>G],15203)}]);