@shepai/cli 1.161.0 → 1.162.0-pr505.816d365

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 (419) hide show
  1. package/apis/json-schema/FabLayoutConfig.yaml +11 -0
  2. package/apis/json-schema/Settings.yaml +3 -0
  3. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +20 -0
  4. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -1
  6. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/repositories/list-github-organizations.use-case.d.ts +13 -0
  8. package/dist/packages/core/src/application/use-cases/repositories/list-github-organizations.use-case.d.ts.map +1 -0
  9. package/dist/packages/core/src/application/use-cases/repositories/list-github-organizations.use-case.js +35 -0
  10. package/dist/packages/core/src/domain/generated/output.d.ts +13 -0
  11. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/di/container.js +5 -0
  14. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  15. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  16. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +6 -0
  17. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-fab-position-swapped.d.ts +15 -0
  18. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-fab-position-swapped.d.ts.map +1 -0
  19. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-fab-position-swapped.js +20 -0
  20. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +2 -1
  21. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +20 -0
  23. package/dist/src/presentation/cli/commands/repo/add.command.d.ts.map +1 -1
  24. package/dist/src/presentation/cli/commands/repo/add.command.js +3 -1
  25. package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts +5 -2
  26. package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts.map +1 -1
  27. package/dist/src/presentation/tui/wizards/github-import.wizard.js +38 -6
  28. package/dist/src/presentation/web/app/actions/list-github-organizations.d.ts +6 -0
  29. package/dist/src/presentation/web/app/actions/list-github-organizations.d.ts.map +1 -0
  30. package/dist/src/presentation/web/app/actions/list-github-organizations.js +17 -0
  31. package/dist/src/presentation/web/app/actions/list-github-repositories.d.ts +1 -0
  32. package/dist/src/presentation/web/app/actions/list-github-repositories.d.ts.map +1 -1
  33. package/dist/src/presentation/web/app/features/feature-tree-page-client.d.ts +6 -0
  34. package/dist/src/presentation/web/app/features/feature-tree-page-client.d.ts.map +1 -0
  35. package/dist/src/presentation/web/app/features/feature-tree-page-client.js +13 -0
  36. package/dist/src/presentation/web/app/features/get-feature-tree-data.d.ts +3 -0
  37. package/dist/src/presentation/web/app/features/get-feature-tree-data.d.ts.map +1 -0
  38. package/dist/src/presentation/web/app/features/get-feature-tree-data.js +40 -0
  39. package/dist/src/presentation/web/app/features/page.d.ts +4 -0
  40. package/dist/src/presentation/web/app/features/page.d.ts.map +1 -0
  41. package/dist/src/presentation/web/app/features/page.js +9 -0
  42. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  43. package/dist/src/presentation/web/app/layout.js +3 -1
  44. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.d.ts +8 -1
  45. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.d.ts.map +1 -1
  46. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +37 -7
  47. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts +1 -0
  48. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts.map +1 -1
  49. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.js +35 -0
  50. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  51. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +22 -2
  52. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  53. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +15 -1
  54. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.d.ts +28 -0
  55. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.d.ts.map +1 -0
  56. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.js +176 -0
  57. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.d.ts +11 -0
  58. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.d.ts.map +1 -0
  59. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.js +140 -0
  60. package/dist/src/presentation/web/components/features/feature-tree-table/index.d.ts +3 -0
  61. package/dist/src/presentation/web/components/features/feature-tree-table/index.d.ts.map +1 -0
  62. package/dist/src/presentation/web/components/features/feature-tree-table/index.js +1 -0
  63. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  64. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +9 -2
  65. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  66. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +3 -6
  67. package/dist/src/presentation/web/hooks/fab-layout-context.d.ts +18 -0
  68. package/dist/src/presentation/web/hooks/fab-layout-context.d.ts.map +1 -0
  69. package/dist/src/presentation/web/hooks/fab-layout-context.js +19 -0
  70. package/dist/src/presentation/web/lib/fab-layout.d.ts +11 -0
  71. package/dist/src/presentation/web/lib/fab-layout.d.ts.map +1 -0
  72. package/dist/src/presentation/web/lib/fab-layout.js +21 -0
  73. package/dist/translations/ar/web.json +8 -0
  74. package/dist/translations/de/web.json +8 -0
  75. package/dist/translations/en/web.json +8 -0
  76. package/dist/translations/es/web.json +8 -0
  77. package/dist/translations/fr/web.json +8 -0
  78. package/dist/translations/he/web.json +8 -0
  79. package/dist/translations/pt/web.json +8 -0
  80. package/dist/translations/ru/web.json +8 -0
  81. package/dist/tsconfig.build.tsbuildinfo +1 -1
  82. package/package.json +1 -1
  83. package/web/.next/BUILD_ID +1 -1
  84. package/web/.next/app-path-routes-manifest.json +1 -0
  85. package/web/.next/build-manifest.json +5 -5
  86. package/web/.next/fallback-build-manifest.json +2 -2
  87. package/web/.next/prerender-manifest.json +3 -3
  88. package/web/.next/required-server-files.js +3 -3
  89. package/web/.next/required-server-files.json +3 -3
  90. package/web/.next/routes-manifest.json +6 -0
  91. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +3 -3
  92. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +71 -56
  93. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
  94. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  95. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  96. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +3 -3
  97. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +67 -52
  98. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
  99. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  100. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  102. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +73 -58
  103. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
  104. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  105. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  106. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  107. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +87 -72
  108. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +3 -3
  109. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  110. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  111. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  112. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +87 -72
  113. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +3 -3
  114. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  115. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  117. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +67 -52
  118. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
  119. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  120. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  121. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  122. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +67 -52
  123. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
  124. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  125. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  126. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +3 -3
  127. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +67 -52
  128. package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
  129. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  130. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  131. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  132. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +73 -58
  133. package/web/.next/server/app/(dashboard)/create/page.js +3 -3
  134. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  135. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  136. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  137. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +87 -72
  138. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +3 -3
  139. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  140. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  141. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  142. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +87 -72
  143. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +3 -3
  144. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  145. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  146. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  147. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +67 -52
  148. package/web/.next/server/app/(dashboard)/page.js +3 -3
  149. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  150. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  151. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  152. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +67 -52
  153. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
  154. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  155. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  156. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  157. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +67 -52
  158. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
  159. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  160. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  161. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  162. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  163. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  164. package/web/.next/server/app/_global-error.html +2 -2
  165. package/web/.next/server/app/_global-error.rsc +1 -1
  166. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  167. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  168. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  169. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  170. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  171. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  172. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +25 -10
  173. package/web/.next/server/app/_not-found/page.js +2 -2
  174. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  175. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  176. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  177. package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
  178. package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
  179. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  180. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  181. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  182. package/web/.next/server/app/features/page/app-paths-manifest.json +3 -0
  183. package/web/.next/server/app/features/page/build-manifest.json +18 -0
  184. package/web/.next/server/app/features/page/next-font-manifest.json +6 -0
  185. package/web/.next/server/app/features/page/react-loadable-manifest.json +8 -0
  186. package/web/.next/server/app/features/page/server-reference-manifest.json +95 -0
  187. package/web/.next/server/app/features/page.js +18 -0
  188. package/web/.next/server/app/features/page.js.map +5 -0
  189. package/web/.next/server/app/features/page.js.nft.json +1 -0
  190. package/web/.next/server/app/features/page_client-reference-manifest.js +2 -0
  191. package/web/.next/server/app/settings/page/build-manifest.json +3 -3
  192. package/web/.next/server/app/settings/page/server-reference-manifest.json +31 -16
  193. package/web/.next/server/app/settings/page.js +3 -3
  194. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  195. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  196. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  197. package/web/.next/server/app/skills/page/server-reference-manifest.json +35 -20
  198. package/web/.next/server/app/skills/page.js +2 -2
  199. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  200. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  201. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  202. package/web/.next/server/app/tools/page/server-reference-manifest.json +35 -20
  203. package/web/.next/server/app/tools/page.js +2 -2
  204. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  205. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  206. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  207. package/web/.next/server/app/version/page/server-reference-manifest.json +25 -10
  208. package/web/.next/server/app/version/page.js +2 -2
  209. package/web/.next/server/app/version/page.js.nft.json +1 -1
  210. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  211. package/web/.next/server/app-paths-manifest.json +1 -0
  212. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  213. package/web/.next/server/chunks/{[root-of-the-server]__ea653642._.js → [root-of-the-server]__a5879003._.js} +2 -2
  214. package/web/.next/server/chunks/{[root-of-the-server]__ea653642._.js.map → [root-of-the-server]__a5879003._.js.map} +1 -1
  215. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
  216. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  218. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  220. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/[root-of-the-server]__08c912ab._.js +3 -0
  222. package/web/.next/server/chunks/ssr/[root-of-the-server]__08c912ab._.js.map +1 -0
  223. package/web/.next/server/chunks/ssr/{[root-of-the-server]__b062b383._.js → [root-of-the-server]__0c5452c3._.js} +2 -2
  224. package/web/.next/server/chunks/ssr/[root-of-the-server]__0c5452c3._.js.map +1 -0
  225. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +4 -0
  226. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -0
  227. package/web/.next/server/chunks/ssr/[root-of-the-server]__2b3d5020._.js +3 -0
  228. package/web/.next/server/chunks/ssr/[root-of-the-server]__2b3d5020._.js.map +1 -0
  229. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  230. package/web/.next/server/chunks/ssr/[root-of-the-server]__563e4faf._.js +4 -0
  231. package/web/.next/server/chunks/ssr/[root-of-the-server]__563e4faf._.js.map +1 -0
  232. package/web/.next/server/chunks/ssr/{[root-of-the-server]__dffa13c5._.js → [root-of-the-server]__69dd3217._.js} +2 -2
  233. package/web/.next/server/chunks/ssr/{[root-of-the-server]__dffa13c5._.js.map → [root-of-the-server]__69dd3217._.js.map} +1 -1
  234. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +4 -0
  235. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -0
  236. package/web/.next/server/chunks/ssr/[root-of-the-server]__7ffd3598._.js +4 -0
  237. package/web/.next/server/chunks/ssr/[root-of-the-server]__7ffd3598._.js.map +1 -0
  238. package/web/.next/server/chunks/ssr/[root-of-the-server]__821a11c1._.js +4 -0
  239. package/web/.next/server/chunks/ssr/[root-of-the-server]__821a11c1._.js.map +1 -0
  240. package/web/.next/server/chunks/ssr/{[root-of-the-server]__248ee887._.js → [root-of-the-server]__851f6adb._.js} +2 -2
  241. package/web/.next/server/chunks/ssr/[root-of-the-server]__851f6adb._.js.map +1 -0
  242. package/web/.next/server/chunks/ssr/[root-of-the-server]__98740ee4._.js +4 -0
  243. package/web/.next/server/chunks/ssr/[root-of-the-server]__98740ee4._.js.map +1 -0
  244. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +4 -0
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +1 -0
  246. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +4 -0
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -0
  248. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba9f9e11._.js +4 -0
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba9f9e11._.js.map +1 -0
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__e88da4ee._.js +4 -0
  251. package/web/.next/server/chunks/ssr/[root-of-the-server]__e88da4ee._.js.map +1 -0
  252. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  253. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  254. package/web/.next/server/chunks/ssr/{_9495d50b._.js → _0727935d._.js} +2 -2
  255. package/web/.next/server/chunks/ssr/{_9495d50b._.js.map → _0727935d._.js.map} +1 -1
  256. package/web/.next/server/chunks/ssr/_075fae20._.js +4 -0
  257. package/web/.next/server/chunks/ssr/_075fae20._.js.map +1 -0
  258. package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/_125c55af._.js +4 -0
  260. package/web/.next/server/chunks/ssr/_125c55af._.js.map +1 -0
  261. package/web/.next/server/chunks/ssr/_16235e5e._.js +1 -1
  262. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  263. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  264. package/web/.next/server/chunks/ssr/{_bcaea66b._.js → _1879404a._.js} +2 -2
  265. package/web/.next/server/chunks/ssr/_1879404a._.js.map +1 -0
  266. package/web/.next/server/chunks/ssr/{_b9ba2473._.js → _1e08a336._.js} +2 -2
  267. package/web/.next/server/chunks/ssr/_1e08a336._.js.map +1 -0
  268. package/web/.next/server/chunks/ssr/{_3f23f48f._.js → _2075adc9._.js} +2 -2
  269. package/web/.next/server/chunks/ssr/{_3f23f48f._.js.map → _2075adc9._.js.map} +1 -1
  270. package/web/.next/server/chunks/ssr/_22e00a14._.js +4 -0
  271. package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -0
  272. package/web/.next/server/chunks/ssr/_2711cbf9._.js +3 -0
  273. package/web/.next/server/chunks/ssr/_2711cbf9._.js.map +1 -0
  274. package/web/.next/server/chunks/ssr/_4a4709c5._.js +4 -0
  275. package/web/.next/server/chunks/ssr/_4a4709c5._.js.map +1 -0
  276. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
  277. package/web/.next/server/chunks/ssr/_560f2971._.js +3 -0
  278. package/web/.next/server/chunks/ssr/_560f2971._.js.map +1 -0
  279. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  280. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  281. package/web/.next/server/chunks/ssr/_628621c7._.js +4 -0
  282. package/web/.next/server/chunks/ssr/_628621c7._.js.map +1 -0
  283. package/web/.next/server/chunks/ssr/{_18a3b7f5._.js → _662ba487._.js} +2 -2
  284. package/web/.next/server/chunks/ssr/{_18a3b7f5._.js.map → _662ba487._.js.map} +1 -1
  285. package/web/.next/server/chunks/ssr/_68996e5b._.js +3 -0
  286. package/web/.next/server/chunks/ssr/_68996e5b._.js.map +1 -0
  287. package/web/.next/server/chunks/ssr/_9412b27f._.js +4 -0
  288. package/web/.next/server/chunks/ssr/_9412b27f._.js.map +1 -0
  289. package/web/.next/server/chunks/ssr/_a5a5901d._.js +4 -0
  290. package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -0
  291. package/web/.next/server/chunks/ssr/{_ac4a3873._.js → _ae8cf39a._.js} +2 -2
  292. package/web/.next/server/chunks/ssr/{_ac4a3873._.js.map → _ae8cf39a._.js.map} +1 -1
  293. package/web/.next/server/chunks/ssr/_c3f595c6._.js +4 -0
  294. package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -0
  295. package/web/.next/server/chunks/ssr/{_1c309165._.js → _ce97386b._.js} +2 -2
  296. package/web/.next/server/chunks/ssr/_ce97386b._.js.map +1 -0
  297. package/web/.next/server/chunks/ssr/_f1ba9be6._.js +6 -0
  298. package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -0
  299. package/web/.next/server/chunks/ssr/_f33cd07e._.js +6 -0
  300. package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -0
  301. package/web/.next/server/chunks/ssr/_f535d854._.js +3 -0
  302. package/web/.next/server/chunks/ssr/_f535d854._.js.map +1 -0
  303. package/web/.next/server/chunks/ssr/_f79e241b._.js +3 -0
  304. package/web/.next/server/chunks/ssr/{_3bcda5d7._.js.map → _f79e241b._.js.map} +1 -1
  305. package/web/.next/server/chunks/ssr/_f8b45233._.js +4 -0
  306. package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -0
  307. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  308. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  309. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  310. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +10 -0
  311. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js.map +1 -0
  312. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  313. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_page-header_index_ts_bdf4db0b._.js +3 -0
  315. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_page-header_index_ts_bdf4db0b._.js.map +1 -0
  316. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  317. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  318. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js +3 -0
  319. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js.map +1 -0
  320. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  321. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  322. package/web/.next/server/middleware-build-manifest.js +3 -3
  323. package/web/.next/server/pages/500.html +2 -2
  324. package/web/.next/server/server-reference-manifest.js +1 -1
  325. package/web/.next/server/server-reference-manifest.json +678 -495
  326. package/web/.next/static/chunks/0656555df5df306a.js +1 -0
  327. package/web/.next/static/chunks/{c7b37a688ea97611.js → 0ac97a997ceaf38b.js} +1 -1
  328. package/web/.next/static/chunks/184c69943589cf9a.js +3 -0
  329. package/web/.next/static/chunks/{b5155ee03ad70945.js → 1ff800831ec16462.js} +1 -1
  330. package/web/.next/static/chunks/20f7cc98a013b11c.js +1 -0
  331. package/web/.next/static/chunks/28ae5046faef6cec.js +1 -0
  332. package/web/.next/static/chunks/3e393d6a78b2ade4.js +1 -0
  333. package/web/.next/static/chunks/{328e534d335ef687.js → 4c0efcd118653c29.js} +1 -1
  334. package/web/.next/static/chunks/4cec255f2754e5ec.js +1 -0
  335. package/web/.next/static/chunks/{e523ab79dcc7f132.js → 4e4c1fb7f2723e99.js} +1 -1
  336. package/web/.next/static/chunks/52355f60ea8362fa.js +8 -0
  337. package/web/.next/static/chunks/5354a0c5267134b1.js +7 -0
  338. package/web/.next/static/chunks/5d4a8552d5b6a4a8.js +1 -0
  339. package/web/.next/static/chunks/73662aaafd582d7d.css +1 -0
  340. package/web/.next/static/chunks/{496df1d4a9c9d83c.js → 78cc28007417fbd3.js} +2 -2
  341. package/web/.next/static/chunks/7be58b72c60a5ca7.js +1 -0
  342. package/web/.next/static/chunks/{6d60df4b3071af3b.js → 7c09e93314520e07.js} +1 -1
  343. package/web/.next/static/chunks/{990b5a6eb6b8dedb.js → 8ba11b17f44007f3.js} +1 -1
  344. package/web/.next/static/chunks/a1c50de45f07f769.js +1 -0
  345. package/web/.next/static/chunks/bbd04e5805d9f654.js +5 -0
  346. package/web/.next/static/chunks/c3a67566f78b5bc3.js +1 -0
  347. package/web/.next/static/chunks/e779296e738a812b.css +1 -0
  348. package/web/.next/static/chunks/f998b42b5cddafd6.js +1 -0
  349. package/web/.next/static/chunks/{turbopack-432ef324fc27240c.js → turbopack-62782e656a49f322.js} +1 -1
  350. package/web/package.json +2 -0
  351. package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js +0 -4
  352. package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js.map +0 -1
  353. package/web/.next/server/chunks/ssr/[root-of-the-server]__248ee887._.js.map +0 -1
  354. package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js +0 -4
  355. package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js.map +0 -1
  356. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +0 -4
  357. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +0 -1
  358. package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js +0 -4
  359. package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js.map +0 -1
  360. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +0 -4
  361. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js.map +0 -1
  362. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js +0 -4
  363. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +0 -1
  364. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js +0 -4
  365. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js.map +0 -1
  366. package/web/.next/server/chunks/ssr/[root-of-the-server]__b062b383._.js.map +0 -1
  367. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +0 -4
  368. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +0 -1
  369. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +0 -4
  370. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +0 -1
  371. package/web/.next/server/chunks/ssr/[root-of-the-server]__ee0eaaf9._.js +0 -3
  372. package/web/.next/server/chunks/ssr/[root-of-the-server]__ee0eaaf9._.js.map +0 -1
  373. package/web/.next/server/chunks/ssr/_1c309165._.js.map +0 -1
  374. package/web/.next/server/chunks/ssr/_3a0b989f._.js +0 -6
  375. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +0 -1
  376. package/web/.next/server/chunks/ssr/_3bcda5d7._.js +0 -3
  377. package/web/.next/server/chunks/ssr/_3c638d2f._.js +0 -3
  378. package/web/.next/server/chunks/ssr/_3c638d2f._.js.map +0 -1
  379. package/web/.next/server/chunks/ssr/_5f69c13f._.js +0 -4
  380. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +0 -1
  381. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +0 -4
  382. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +0 -1
  383. package/web/.next/server/chunks/ssr/_82c57f10._.js +0 -4
  384. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +0 -1
  385. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +0 -4
  386. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +0 -1
  387. package/web/.next/server/chunks/ssr/_b5fc318a._.js +0 -3
  388. package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +0 -1
  389. package/web/.next/server/chunks/ssr/_b9ba2473._.js.map +0 -1
  390. package/web/.next/server/chunks/ssr/_bcaea66b._.js.map +0 -1
  391. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +0 -4
  392. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +0 -1
  393. package/web/.next/server/chunks/ssr/_cb5a021e._.js +0 -4
  394. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +0 -1
  395. package/web/.next/server/chunks/ssr/_d86175ae._.js +0 -4
  396. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +0 -1
  397. package/web/.next/server/chunks/ssr/_d8bedf13._.js +0 -4
  398. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +0 -1
  399. package/web/.next/server/chunks/ssr/_d90b0a06._.js +0 -3
  400. package/web/.next/server/chunks/ssr/_d90b0a06._.js.map +0 -1
  401. package/web/.next/server/chunks/ssr/_fa7efce3._.js +0 -6
  402. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +0 -1
  403. package/web/.next/static/chunks/076eaf8a817b5284.js +0 -7
  404. package/web/.next/static/chunks/3deefc76ea55047c.js +0 -1
  405. package/web/.next/static/chunks/3ee176daee98f78c.js +0 -1
  406. package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +0 -1
  407. package/web/.next/static/chunks/419f55272dedf3b3.js +0 -1
  408. package/web/.next/static/chunks/4864ff06a738d58b.js +0 -1
  409. package/web/.next/static/chunks/63b4954715fc3423.js +0 -1
  410. package/web/.next/static/chunks/672e3da3ad26005b.js +0 -1
  411. package/web/.next/static/chunks/86c476f04ff32e7b.css +0 -1
  412. package/web/.next/static/chunks/9555d8a511c05bd5.js +0 -1
  413. package/web/.next/static/chunks/c304db8f1d27505a.js +0 -3
  414. package/web/.next/static/chunks/c7e793951b20a67f.js +0 -1
  415. package/web/.next/static/chunks/d2cbeefbc8967b16.js +0 -1
  416. package/web/.next/static/chunks/d6e702c209c413ce.js +0 -5
  417. /package/web/.next/static/{kYE1v6B90r_hNugkL9Zh- → NLhXnNSDAAYeerbvjIdJX}/_buildManifest.js +0 -0
  418. /package/web/.next/static/{kYE1v6B90r_hNugkL9Zh- → NLhXnNSDAAYeerbvjIdJX}/_clientMiddlewareManifest.json +0 -0
  419. /package/web/.next/static/{kYE1v6B90r_hNugkL9Zh- → NLhXnNSDAAYeerbvjIdJX}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[79020,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(72016),e=a.i(34644),f=a.i(63698),g=a.i(53170),h=a.i(25700);let i=(0,h.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"}]]),j=(0,h.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"}]]),k=(0,h.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"}]]),l=(0,h.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 m=a.i(84494),n=a.i(96853),n=n,o=a.i(67837),p=a.i(71238);let q=(0,h.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 r=a.i(7421),s=a.i(12882),t=a.i(52313);a.i(90370);var u=a.i(24640),v=a.i(85536),w=a.i(584),x=a.i(96867),y=a.i(55690),z=a.i(48972),A=a.i(59653),B=a.i(63496),C=a.i(6175),D=a.i(7420),E=a.i(48939),F=a.i(58761),G=a.i(51473),H=a.i(59675),I=a.i(5472),J=a.i(75988),K=a.i(80930),L=a.i(66873),M=a.i(90986),N=a.i(79406),O=a.i(17329),P=a.i(61476),Q=a.i(64005),R=a.i(50049),S=a.i(16164),T=a.i(45291),U=[" ","Enter","ArrowUp","ArrowDown"],V=[" ","Enter"],W="Select",[X,Y,Z]=(0,B.createCollection)(W),[$,_]=(0,D.createContextScope)(W,[Z,J.createPopperScope]),aa=(0,J.createPopperScope)(),[ab,ac]=$(W),[ad,ae]=$(W),af=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q}=a,r=aa(d),[s,t]=c.useState(null),[u,v]=c.useState(null),[w,x]=c.useState(!1),y=(0,E.useDirection)(l),[z,A]=(0,O.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:W}),[B,C]=(0,O.useControllableState)({prop:i,defaultProp:j,onChange:k,caller:W}),D=c.useRef(null),F=!s||q||!!s.closest("form"),[G,H]=c.useState(new Set),K=Array.from(G).map(a=>a.props.value).join(";");return(0,b.jsx)(J.Root,{...r,children:(0,b.jsxs)(ab,{required:p,scope:d,trigger:s,onTriggerChange:t,valueNode:u,onValueNodeChange:v,valueNodeHasChildren:w,onValueNodeHasChildrenChange:x,contentId:(0,I.useId)(),value:B,onValueChange:C,open:z,onOpenChange:A,dir:y,triggerPointerDownPosRef:D,disabled:o,children:[(0,b.jsx)(X.Provider,{scope:d,children:(0,b.jsx)(ad,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{H(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{H(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),F?(0,b.jsxs)(aU,{"aria-hidden":!0,required:p,tabIndex:-1,name:m,autoComplete:n,value:B,onChange:a=>C(a.target.value),disabled:o,form:q,children:[void 0===B?(0,b.jsx)("option",{value:""}):null,Array.from(G)]},K):null]})})};af.displayName=W;var ag="SelectTrigger",ah=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:f=!1,...g}=a,h=aa(e),i=ac(ag,e),j=i.disabled||f,k=(0,C.useComposedRefs)(d,i.onTriggerChange),l=Y(e),m=c.useRef("touch"),[n,o,p]=aW(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=aX(b,a,c);void 0!==d&&i.onValueChange(d.value)}),q=a=>{j||(i.onOpenChange(!0),p()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(J.Anchor,{asChild:!0,...h,children:(0,b.jsx)(L.Primitive.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:j,"data-disabled":j?"":void 0,"data-placeholder":aV(i.value)?"":void 0,...g,ref:k,onClick:(0,A.composeEventHandlers)(g.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&q(a)}),onPointerDown:(0,A.composeEventHandlers)(g.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:(0,A.composeEventHandlers)(g.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&U.includes(a.key)&&(q(),a.preventDefault())})})})});ah.displayName=ag;var ai="SelectValue",aj=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:h="",...i}=a,j=ac(ai,d),{onValueNodeHasChildrenChange:k}=j,l=void 0!==g,m=(0,C.useComposedRefs)(c,j.onValueNodeChange);return(0,P.useLayoutEffect)(()=>{k(l)},[k,l]),(0,b.jsx)(L.Primitive.span,{...i,ref:m,style:{pointerEvents:"none"},children:aV(j.value)?(0,b.jsx)(b.Fragment,{children:h}):g})});aj.displayName=ai;var ak=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(L.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});ak.displayName="SelectIcon";var al=a=>(0,b.jsx)(K.Portal,{asChild:!0,...a});al.displayName="SelectPortal";var am="SelectContent",an=c.forwardRef((a,d)=>{let e=ac(am,a.__scopeSelect),[f,g]=c.useState();return((0,P.useLayoutEffect)(()=>{g(new DocumentFragment)},[]),e.open)?(0,b.jsx)(ar,{...a,ref:d}):f?y.createPortal((0,b.jsx)(ao,{scope:a.__scopeSelect,children:(0,b.jsx)(X.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),f):null});an.displayName=am;var[ao,ap]=$(am),aq=(0,M.createSlot)("SelectContent.RemoveScroll"),ar=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:f="item-aligned",onCloseAutoFocus:g,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=ac(am,e),[v,w]=c.useState(null),[x,y]=c.useState(null),z=(0,C.useComposedRefs)(d,a=>w(a)),[B,D]=c.useState(null),[E,I]=c.useState(null),J=Y(e),[K,L]=c.useState(!1),M=c.useRef(!1);c.useEffect(()=>{if(v)return(0,S.hideOthers)(v)},[v]),(0,G.useFocusGuards)();let N=c.useCallback(a=>{let[b,...c]=J().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&x&&(x.scrollTop=0),c===d&&x&&(x.scrollTop=x.scrollHeight),c?.focus(),document.activeElement!==e))return},[J,x]),O=c.useCallback(()=>N([B,v]),[N,B,v]);c.useEffect(()=>{K&&O()},[K,O]);let{onOpenChange:P,triggerPointerDownPosRef:Q}=u;c.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(Q.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(Q.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||P(!1),document.removeEventListener("pointermove",b),Q.current=null};return null!==Q.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,P,Q]),c.useEffect(()=>{let a=()=>P(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[P]);let[R,U]=aW(a=>{let b=J().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aX(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),V=c.useCallback((a,b,c)=>{let d=!M.current&&!c;(void 0!==u.value&&u.value===b||d)&&(D(a),d&&(M.current=!0))},[u.value]),W=c.useCallback(()=>v?.focus(),[v]),X=c.useCallback((a,b,c)=>{let d=!M.current&&!c;(void 0!==u.value&&u.value===b||d)&&I(a)},[u.value]),Z="popper"===f?at:as,$=Z===at?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,b.jsx)(ao,{scope:e,content:v,viewport:x,onViewportChange:y,itemRefCallback:V,selectedItem:B,onItemLeave:W,itemTextRefCallback:X,focusSelectedItem:O,selectedItemText:E,position:f,isPositioned:K,searchRef:R,children:(0,b.jsx)(T.RemoveScroll,{as:aq,allowPinchZoom:!0,children:(0,b.jsx)(H.FocusScope,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,A.composeEventHandlers)(g,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(F.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,b.jsx)(Z,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...$,onPlaced:()=>L(!0),ref:z,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:(0,A.composeEventHandlers)(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||U(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=J().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>N(b)),a.preventDefault()}})})})})})})});ar.displayName="SelectContentImpl";var as=c.forwardRef((a,d)=>{let{__scopeSelect:e,onPlaced:f,...g}=a,h=ac(am,e),i=ap(am,e),[j,k]=c.useState(null),[l,m]=c.useState(null),n=(0,C.useComposedRefs)(d,a=>m(a)),o=Y(e),p=c.useRef(!1),q=c.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=i,v=c.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&r&&s&&t){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),d=t.getBoundingClientRect();if("rtl"!==h.dir){let e=d.left-b.left,f=c.left-e,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,z.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.left=l+"px"}else{let e=b.right-d.right,f=window.innerWidth-c.right-e,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,z.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.right=l+"px"}let e=o(),g=window.innerHeight-20,i=r.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),u=m+n+i+parseInt(k.paddingBottom,10)+q,v=Math.min(5*s.offsetHeight,u),w=window.getComputedStyle(r),x=parseInt(w.paddingTop,10),y=parseInt(w.paddingBottom,10),A=a.top+a.height/2-10,B=s.offsetHeight/2,C=m+n+(s.offsetTop+B);if(C<=A){let a=e.length>0&&s===e[e.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-A,B+(a?y:0)+(l.clientHeight-r.offsetTop-r.offsetHeight)+q);j.style.height=C+b+"px"}else{let a=e.length>0&&s===e[0].ref.current;j.style.top="0px";let b=Math.max(A,m+r.offsetTop+(a?x:0)+B);j.style.height=b+(u-C)+"px",r.scrollTop=C-A+r.offsetTop}j.style.margin="10px 0",j.style.minHeight=v+"px",j.style.maxHeight=g+"px",f?.(),requestAnimationFrame(()=>p.current=!0)}},[o,h.trigger,h.valueNode,j,l,r,s,t,h.dir,f]);(0,P.useLayoutEffect)(()=>v(),[v]);let[w,x]=c.useState();(0,P.useLayoutEffect)(()=>{l&&x(window.getComputedStyle(l).zIndex)},[l]);let y=c.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,b.jsx)(au,{scope:e,contentWrapper:j,shouldExpandOnScrollRef:p,onScrollButtonChange:y,children:(0,b.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:(0,b.jsx)(L.Primitive.div,{...g,ref:n,style:{boxSizing:"border-box",maxHeight:"100%",...g.style}})})})});as.displayName="SelectItemAlignedPosition";var at=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=aa(d);return(0,b.jsx)(J.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.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)"}})});at.displayName="SelectPopperPosition";var[au,av]=$(am,{}),aw="SelectViewport",ax=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:f,...g}=a,h=ap(aw,e),i=av(aw,e),j=(0,C.useComposedRefs)(d,h.onViewportChange),k=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.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:f}),(0,b.jsx)(X.Slot,{scope:e,children:(0,b.jsx)(L.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...g,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...g.style},onScroll:(0,A.composeEventHandlers)(g.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});ax.displayName=aw;var ay="SelectGroup",[az,aA]=$(ay),aB=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,I.useId)();return(0,b.jsx)(az,{scope:d,id:f,children:(0,b.jsx)(L.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})});aB.displayName=ay;var aC="SelectLabel",aD=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=aA(aC,d);return(0,b.jsx)(L.Primitive.div,{id:f.id,...e,ref:c})});aD.displayName=aC;var aE="SelectItem",[aF,aG]=$(aE),aH=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:f,disabled:g=!1,textValue:h,...i}=a,j=ac(aE,e),k=ap(aE,e),l=j.value===f,[m,n]=c.useState(h??""),[o,p]=c.useState(!1),q=(0,C.useComposedRefs)(d,a=>k.itemRefCallback?.(a,f,g)),r=(0,I.useId)(),s=c.useRef("touch"),t=()=>{g||(j.onValueChange(f),j.onOpenChange(!1))};if(""===f)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,b.jsx)(aF,{scope:e,value:f,disabled:g,textId:r,isSelected:l,onItemTextChange:c.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(X.ItemSlot,{scope:e,value:f,disabled:g,textValue:m,children:(0,b.jsx)(L.Primitive.div,{role:"option","aria-labelledby":r,"data-highlighted":o?"":void 0,"aria-selected":l&&o,"data-state":l?"checked":"unchecked","aria-disabled":g||void 0,"data-disabled":g?"":void 0,tabIndex:g?void 0:-1,...i,ref:q,onFocus:(0,A.composeEventHandlers)(i.onFocus,()=>p(!0)),onBlur:(0,A.composeEventHandlers)(i.onBlur,()=>p(!1)),onClick:(0,A.composeEventHandlers)(i.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:(0,A.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:(0,A.composeEventHandlers)(i.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:(0,A.composeEventHandlers)(i.onPointerMove,a=>{s.current=a.pointerType,g?k.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,A.composeEventHandlers)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,A.composeEventHandlers)(i.onKeyDown,a=>{(k.searchRef?.current===""||" "!==a.key)&&(V.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});aH.displayName=aE;var aI="SelectItemText",aJ=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,...h}=a,i=ac(aI,e),j=ap(aI,e),k=aG(aI,e),l=ae(aI,e),[m,n]=c.useState(null),o=(0,C.useComposedRefs)(d,a=>n(a),k.onItemTextChange,a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),p=m?.textContent,q=c.useMemo(()=>(0,b.jsx)("option",{value:k.value,disabled:k.disabled,children:p},k.value),[k.disabled,k.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=l;return(0,P.useLayoutEffect)(()=>(r(q),()=>s(q)),[r,s,q]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L.Primitive.span,{id:k.textId,...h,ref:o}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren?y.createPortal(h.children,i.valueNode):null]})});aJ.displayName=aI;var aK="SelectItemIndicator",aL=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aG(aK,d).isSelected?(0,b.jsx)(L.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});aL.displayName=aK;var aM="SelectScrollUpButton",aN=c.forwardRef((a,d)=>{let e=ap(aM,a.__scopeSelect),f=av(aM,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,C.useComposedRefs)(d,f.onScrollButtonChange);return(0,P.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){h(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aQ,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aN.displayName=aM;var aO="SelectScrollDownButton",aP=c.forwardRef((a,d)=>{let e=ap(aO,a.__scopeSelect),f=av(aO,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,C.useComposedRefs)(d,f.onScrollButtonChange);return(0,P.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aQ,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});aP.displayName=aO;var aQ=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:f,...g}=a,h=ap("SelectScrollButton",e),i=c.useRef(null),j=Y(e),k=c.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return c.useEffect(()=>()=>k(),[k]),(0,P.useLayoutEffect)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,b.jsx)(L.Primitive.div,{"aria-hidden":!0,...g,ref:d,style:{flexShrink:0,...g.style},onPointerDown:(0,A.composeEventHandlers)(g.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(f,50))}),onPointerMove:(0,A.composeEventHandlers)(g.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(f,50))}),onPointerLeave:(0,A.composeEventHandlers)(g.onPointerLeave,()=>{k()})})}),aR=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(L.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aR.displayName="SelectSeparator";var aS="SelectArrow",aT=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=aa(d),g=ac(aS,d),h=ap(aS,d);return g.open&&"popper"===h.position?(0,b.jsx)(J.Arrow,{...f,...e,ref:c}):null});aT.displayName=aS;var aU=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,C.useComposedRefs)(f,g),i=(0,Q.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(L.Primitive.select,{...e,style:{...R.VISUALLY_HIDDEN_STYLES,...e.style},ref:h,defaultValue:d})});function aV(a){return""===a||void 0===a}function aW(a){let b=(0,N.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aX(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aU.displayName="SelectBubbleInput",a.s(["Arrow",()=>aT,"Content",()=>an,"Group",()=>aB,"Icon",()=>ak,"Item",()=>aH,"ItemIndicator",()=>aL,"ItemText",()=>aJ,"Label",()=>aD,"Portal",()=>al,"Root",()=>af,"ScrollDownButton",()=>aP,"ScrollUpButton",()=>aN,"Select",()=>af,"SelectArrow",()=>aT,"SelectContent",()=>an,"SelectGroup",()=>aB,"SelectIcon",()=>ak,"SelectItem",()=>aH,"SelectItemIndicator",()=>aL,"SelectItemText",()=>aJ,"SelectLabel",()=>aD,"SelectPortal",()=>al,"SelectScrollDownButton",()=>aP,"SelectScrollUpButton",()=>aN,"SelectSeparator",()=>aR,"SelectTrigger",()=>ah,"SelectValue",()=>aj,"SelectViewport",()=>ax,"Separator",()=>aR,"Trigger",()=>ah,"Value",()=>aj,"Viewport",()=>ax,"createSelectScope",()=>_],16252);var aY=a.i(16252),aY=aY,aZ=a.i(71716),a$=a.i(19880);let a_=aY.Root;aY.Group;let a0=aY.Value,a1=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aY.Trigger,{ref:e,className:(0,v.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",a),...d,children:[c,(0,b.jsx)(aY.Icon,{asChild:!0,children:(0,b.jsx)(aZ.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));a1.displayName=aY.Trigger.displayName;let a2=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aY.ScrollUpButton,{ref:d,className:(0,v.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(a$.ChevronUp,{className:"h-4 w-4"})}));a2.displayName=aY.ScrollUpButton.displayName;let a3=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aY.ScrollDownButton,{ref:d,className:(0,v.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aZ.ChevronDown,{className:"h-4 w-4"})}));a3.displayName=aY.ScrollDownButton.displayName;let a4=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(aY.Portal,{children:(0,b.jsxs)(aY.Content,{ref:f,className:(0,v.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"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(a2,{}),(0,b.jsx)(aY.Viewport,{className:(0,v.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(a3,{})]})}));a4.displayName=aY.Content.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aY.Label,{ref:d,className:(0,v.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=aY.Label.displayName;let a5=c.forwardRef(({className:a,children:c,...e},f)=>(0,b.jsxs)(aY.Item,{ref:f,className:(0,v.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...e,children:[(0,b.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aY.ItemIndicator,{children:(0,b.jsx)(d.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(aY.ItemText,{children:c})]}));a5.displayName=aY.Item.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aY.Separator,{ref:d,className:(0,v.cn)("bg-muted -mx-1 my-1 h-px",a),...c})).displayName=aY.Separator.displayName;var a6=a.i(25674);let a7=(0,a6.createServerReference)("406f8cb63814264afe46d20e25917ff67b344562a6",a6.callServer,void 0,a6.findSourceMapURL,"updateSettingsAction");var a8=a.i(46847),a9=a.i(61640),ba=a.i(44447),bb=a.i(87926);function bc(a){return(0,b.jsx)(ba.Code,{className:(0,v.cn)("h-4 w-4",a.className),...a})}function bd({className:a}){return(0,b.jsx)(a9.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,v.cn)("rounded-sm object-contain",a)})}function be({className:a}){return(0,b.jsx)(a9.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,v.cn)("rounded-sm object-contain",a)})}function bf({className:a}){return(0,b.jsx)(a9.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,v.cn)("rounded-sm object-contain",a)})}function bg({className:a}){return(0,b.jsx)(a9.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,v.cn)("rounded-sm object-contain",a)})}function bh({className:a,...c}){return(0,b.jsx)(bb.Rocket,{className:(0,v.cn)("h-4 w-4",a),...c})}bd.displayName="VsCodeIcon",be.displayName="CursorEditorIcon",bf.displayName="WindsurfIcon",bg.displayName="ZedIcon",bh.displayName="AntigravityIcon";let bi={vscode:bd,cursor:be,windsurf:bf,zed:bg,antigravity:bh};var bj=a.i(61781),bk=a.i(84117);let bl=[{value:a8.Language.English,label:"English",nativeName:"English"},{value:a8.Language.Russian,label:"Русский",nativeName:"Русский"},{value:a8.Language.Portuguese,label:"Português",nativeName:"Português"},{value:a8.Language.Spanish,label:"Español",nativeName:"Español"},{value:a8.Language.Arabic,label:"العربية",nativeName:"العربية"},{value:a8.Language.Hebrew,label:"עברית",nativeName:"עברית"},{value:a8.Language.French,label:"Français",nativeName:"Français"},{value:a8.Language.German,label:"Deutsch",nativeName:"Deutsch"}];function bm({language:a}){let{t:e,i18n:f}=(0,u.useTranslation)("web"),[g,h]=(0,c.useState)(a),[i,j]=(0,c.useTransition)(),[k,l]=(0,c.useState)(!1),n=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{if(n.current&&!i){l(!0);let a=setTimeout(()=>l(!1),2e3);return()=>clearTimeout(a)}n.current=i},[i]),(0,b.jsxs)(bk.Card,{id:"language",className:"scroll-mt-6","data-testid":"language-settings-section",children:[(0,b.jsxs)(bk.CardHeader,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.Globe,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)(bk.CardTitle,{children:e("settings.language.title")})]}),i?(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:e("common:labels.saving")}):null,k&&!i?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),e("common:labels.saved")]}):null]}),(0,b.jsx)(bk.CardDescription,{children:e("settings.language.description")})]}),(0,b.jsx)(bk.CardContent,{className:"space-y-4",children:(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.Label,{htmlFor:"display-language",children:e("settings.language.label")}),(0,b.jsxs)(a_,{value:g,onValueChange:function(a){h(a),f.changeLanguage(a);let b="ar"===a||"he"===a?"rtl":"ltr";document.documentElement.lang=a,document.documentElement.dir=b,j(async()=>{let b=await a7({user:{preferredLanguage:a}});b.success||t.toast.error(b.error??e("settings.language.failedToSave","Failed to save language settings"))})},children:[(0,b.jsx)(a1,{id:"display-language","data-testid":"language-select",children:(0,b.jsx)(a0,{placeholder:e("settings.language.placeholder")})}),(0,b.jsx)(a4,{children:bl.map(a=>(0,b.jsx)(a5,{value:a.value,children:a.nativeName},a.value))})]})]})})]})}var bn=a.i(74432),bo=["PageUp","PageDown"],bp=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],bq={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},br="Slider",[bs,bt,bu]=(0,B.createCollection)(br),[bv,bw]=(0,D.createContextScope)(br,[bu]),[bx,by]=bv(br),bz=c.forwardRef((a,d)=>{let{name:e,min:f=0,max:g=100,step:h=1,orientation:i="horizontal",disabled:j=!1,minStepsBetweenThumbs:k=0,defaultValue:l=[f],value:m,onValueChange:n=()=>{},onValueCommit:o=()=>{},inverted:p=!1,form:q,...r}=a,s=c.useRef(new Set),t=c.useRef(0),u="horizontal"===i,[v=[],w]=(0,O.useControllableState)({prop:m,defaultProp:l,onChange:a=>{let b=[...s.current];b[t.current]?.focus(),n(a)}}),x=c.useRef(v);function y(a,b,{commit:c}={commit:!1}){let d,e=(String(h).split(".")[1]||"").length,i=Math.round((Math.round((a-f)/h)*h+f)*(d=Math.pow(10,e)))/d,j=(0,z.clamp)(i,[f,g]);w((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,j,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,k*h))return a;{t.current=d.indexOf(j);let b=String(d)!==String(a);return b&&c&&o(d),b?d:a}})}return(0,b.jsx)(bx,{scope:a.__scopeSlider,name:e,disabled:j,min:f,max:g,valueIndexToChangeRef:t,thumbs:s.current,values:v,orientation:i,form:q,children:(0,b.jsx)(bs.Provider,{scope:a.__scopeSlider,children:(0,b.jsx)(bs.Slot,{scope:a.__scopeSlider,children:(0,b.jsx)(u?bC:bD,{"aria-disabled":j,"data-disabled":j?"":void 0,...r,ref:d,onPointerDown:(0,A.composeEventHandlers)(r.onPointerDown,()=>{j||(x.current=v)}),min:f,max:g,inverted:p,onSlideStart:j?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(v,a);y(a,b)},onSlideMove:j?void 0:function(a){y(a,t.current)},onSlideEnd:j?void 0:function(){let a=x.current[t.current];v[t.current]!==a&&o(v)},onHomeKeyDown:()=>!j&&y(f,0,{commit:!0}),onEndKeyDown:()=>!j&&y(g,v.length-1,{commit:!0}),onStepKeyDown:({event:a,direction:b})=>{if(!j){let c=bo.includes(a.key)||a.shiftKey&&bp.includes(a.key),d=t.current;y(v[d]+h*(c?10:1)*b,d,{commit:!0})}}})})})})});bz.displayName=br;var[bA,bB]=bv(br,{startEdge:"left",endEdge:"right",size:"width",direction:1}),bC=c.forwardRef((a,d)=>{let{min:e,max:f,dir:g,inverted:h,onSlideStart:i,onSlideMove:j,onSlideEnd:k,onStepKeyDown:l,...m}=a,[n,o]=c.useState(null),p=(0,C.useComposedRefs)(d,a=>o(a)),q=c.useRef(void 0),r=(0,E.useDirection)(g),s="ltr"===r,t=s&&!h||!s&&h;function u(a){let b=q.current||n.getBoundingClientRect(),c=bO([0,b.width],t?[e,f]:[f,e]);return q.current=b,c(a-b.left)}return(0,b.jsx)(bA,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,b.jsx)(bE,{dir:r,"data-orientation":"horizontal",...m,ref:p,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=u(a.clientX);i?.(b)},onSlideMove:a=>{let b=u(a.clientX);j?.(b)},onSlideEnd:()=>{q.current=void 0,k?.()},onStepKeyDown:a=>{let b=bq[t?"from-left":"from-right"].includes(a.key);l?.({event:a,direction:b?-1:1})}})})}),bD=c.forwardRef((a,d)=>{let{min:e,max:f,inverted:g,onSlideStart:h,onSlideMove:i,onSlideEnd:j,onStepKeyDown:k,...l}=a,m=c.useRef(null),n=(0,C.useComposedRefs)(d,m),o=c.useRef(void 0),p=!g;function q(a){let b=o.current||m.current.getBoundingClientRect(),c=bO([0,b.height],p?[f,e]:[e,f]);return o.current=b,c(a-b.top)}return(0,b.jsx)(bA,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,b.jsx)(bE,{"data-orientation":"vertical",...l,ref:n,style:{...l.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);h?.(b)},onSlideMove:a=>{let b=q(a.clientY);i?.(b)},onSlideEnd:()=>{o.current=void 0,j?.()},onStepKeyDown:a=>{let b=bq[p?"from-bottom":"from-top"].includes(a.key);k?.({event:a,direction:b?-1:1})}})})}),bE=c.forwardRef((a,c)=>{let{__scopeSlider:d,onSlideStart:e,onSlideMove:f,onSlideEnd:g,onHomeKeyDown:h,onEndKeyDown:i,onStepKeyDown:j,...k}=a,l=by(br,d);return(0,b.jsx)(L.Primitive.span,{...k,ref:c,onKeyDown:(0,A.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(h(a),a.preventDefault()):"End"===a.key?(i(a),a.preventDefault()):bo.concat(bp).includes(a.key)&&(j(a),a.preventDefault())}),onPointerDown:(0,A.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),l.thumbs.has(b)?b.focus():e(a)}),onPointerMove:(0,A.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&f(a)}),onPointerUp:(0,A.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),g(a))})})}),bF="SliderTrack",bG=c.forwardRef((a,c)=>{let{__scopeSlider:d,...e}=a,f=by(bF,d);return(0,b.jsx)(L.Primitive.span,{"data-disabled":f.disabled?"":void 0,"data-orientation":f.orientation,...e,ref:c})});bG.displayName=bF;var bH="SliderRange",bI=c.forwardRef((a,d)=>{let{__scopeSlider:e,...f}=a,g=by(bH,e),h=bB(bH,e),i=c.useRef(null),j=(0,C.useComposedRefs)(d,i),k=g.values.length,l=g.values.map(a=>bN(a,g.min,g.max)),m=k>1?Math.min(...l):0,n=100-Math.max(...l);return(0,b.jsx)(L.Primitive.span,{"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,...f,ref:j,style:{...a.style,[h.startEdge]:m+"%",[h.endEdge]:n+"%"}})});bI.displayName=bH;var bJ="SliderThumb",bK=c.forwardRef((a,d)=>{let e=bt(a.__scopeSlider),[f,g]=c.useState(null),h=(0,C.useComposedRefs)(d,a=>g(a)),i=c.useMemo(()=>f?e().findIndex(a=>a.ref.current===f):-1,[e,f]);return(0,b.jsx)(bL,{...a,ref:h,index:i})}),bL=c.forwardRef((a,d)=>{var e,f,g,h,i;let j,k,{__scopeSlider:l,index:m,name:n,...o}=a,p=by(bJ,l),q=bB(bJ,l),[r,s]=c.useState(null),t=(0,C.useComposedRefs)(d,a=>s(a)),u=!r||p.form||!!r.closest("form"),v=(0,bn.useSize)(r),w=p.values[m],x=void 0===w?0:bN(w,p.min,p.max),y=(e=m,(f=p.values.length)>2?`Value ${e+1} of ${f}`:2===f?["Minimum","Maximum"][e]:void 0),z=v?.[q.size],B=z?(g=z,h=x,i=q.direction,k=bO([0,50],[0,j=g/2]),(j-k(h)*i)*i):0;return c.useEffect(()=>{if(r)return p.thumbs.add(r),()=>{p.thumbs.delete(r)}},[r,p.thumbs]),(0,b.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[q.startEdge]:`calc(${x}% + ${B}px)`},children:[(0,b.jsx)(bs.ItemSlot,{scope:a.__scopeSlider,children:(0,b.jsx)(L.Primitive.span,{role:"slider","aria-label":a["aria-label"]||y,"aria-valuemin":p.min,"aria-valuenow":w,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...o,ref:t,style:void 0===w?{display:"none"}:a.style,onFocus:(0,A.composeEventHandlers)(a.onFocus,()=>{p.valueIndexToChangeRef.current=m})})}),u&&(0,b.jsx)(bM,{name:n??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:w},m)]})});bK.displayName=bJ;var bM=c.forwardRef(({__scopeSlider:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,C.useComposedRefs)(g,f),i=(0,Q.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(i!==d&&b){let c=new Event("input",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(L.Primitive.input,{style:{display:"none"},...e,ref:h,defaultValue:d})});function bN(a,b,c){return(0,z.clamp)(100/(c-b)*(a-b),[0,100])}function bO(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}bM.displayName="RadioBubbleInput",a.s(["Range",()=>bI,"Root",()=>bz,"Slider",()=>bz,"SliderRange",()=>bI,"SliderThumb",()=>bK,"SliderTrack",()=>bG,"Thumb",()=>bK,"Track",()=>bG,"createSliderScope",()=>bw],61569);var bP=a.i(61569),bP=bP;function bQ({className:a,defaultValue:d,value:e,min:f=0,max:g=100,...h}){let i=c.useMemo(()=>Array.isArray(e)?e:Array.isArray(d)?d:[f,g],[e,d,f,g]);return(0,b.jsxs)(bP.Root,{"data-slot":"slider",defaultValue:d,value:e,min:f,max:g,className:(0,v.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",a),...h,children:[(0,b.jsx)(bP.Track,{"data-slot":"slider-track",className:(0,v.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,b.jsx)(bP.Range,{"data-slot":"slider-range",className:(0,v.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:i.length},(a,c)=>(0,b.jsx)(bP.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"},c))]})}let bR=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],bS=bR.length-1;function bT(a){let b=0,c=Math.abs(a-bR[0]);for(let d=1;d<bR.length;d++){let e=Math.abs(a-bR[d]);e<c&&(c=e,b=d)}return b}function bU({id:a,testId:d,value:e,onChange:f,onBlur:g,defaultSeconds:h=1800}){var i;let j,k,l=(""===e?h:parseInt(e,10))||h,[m,n]=(0,c.useState)(()=>bT(l)),o=bT(l);o!==m&&bR[m]!==l&&n(o);let p=(0,c.useCallback)(([a])=>{n(a),f(String(bR[a]))},[f]);return(0,b.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,b.jsx)(bQ,{id:a,"data-testid":d,min:0,max:bS,step:1,value:[m],onValueChange:p,onValueCommit:()=>g(),className:"min-w-0 flex-1"}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(j=Math.floor((i=bR[m])/3600),k=Math.round(i%3600/60),0===j?`${k}m`:0===k?`${j}h`:`${j}h ${k}m`)})]})}let bV=[{value:a8.EditorType.VsCode,label:"VS Code"},{value:a8.EditorType.Cursor,label:"Cursor"},{value:a8.EditorType.Windsurf,label:"Windsurf"},{value:a8.EditorType.Zed,label:"Zed"},{value:a8.EditorType.Antigravity,label:"Antigravity"}],bW=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],bX=[{id:"language",labelKey:"settings.sections.language",icon:m.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:e.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:f.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:g.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:i},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:r.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:j},{id:"feature-flags",labelKey:"settings.sections.flags",icon:k},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:s.MessageSquare},{id:"database",labelKey:"settings.sections.database",icon:l}];function bY({label:a,description:c,htmlFor:d,children:e}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(w.Label,{htmlFor:d,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:a}),c?(0,b.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:c}):null]}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:e})]})}function bZ({label:a,description:c,id:d,testId:e,checked:f,onChange:g,disabled:h}){return(0,b.jsx)(bY,{label:a,description:c,htmlFor:d,children:(0,b.jsx)(x.Switch,{id:d,"data-testid":e,checked:f,onCheckedChange:g,disabled:h,className:(0,v.cn)("cursor-pointer",h&&"cursor-not-allowed opacity-50")})})}function b$({icon:a,title:c,description:d,badge:e,testId:f,children:g}){return(0,b.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":f,children:[(0,b.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(a,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,b.jsx)("h2",{className:"text-sm font-semibold",children:c}),e?(0,b.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:e}):null]}),(0,b.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:d})]}),(0,b.jsx)("div",{className:"px-4",children:g})]})}function b_({id:a,testId:c,value:d,onChange:e,onBlur:f,placeholder:g,min:h=1,max:i,step:j=1,suffix:k}){let{t:l}=(0,u.useTranslation)("web"),m=""===d?void 0:parseInt(d,10);return(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{e(String(Math.max(h,(m??parseInt(g,10))-j)))},onMouseUp:f,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":l("common.decrease"),children:(0,b.jsx)(n.default,{className:"h-3 w-3"})}),(0,b.jsx)("input",{id:a,"data-testid":c,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:d,placeholder:g,onChange:a=>{e(a.target.value.replace(/[^0-9]/g,""))},onBlur:f,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a;a=m??parseInt(g,10),e(String(null!=i?Math.min(i,a+j):a+j))},onMouseUp:f,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":l("common.increase"),children:(0,b.jsx)(o.Plus,{className:"h-3 w-3"})})]}),k?(0,b.jsx)("span",{className:"text-muted-foreground text-[11px]",children:k}):null]})}function b0({children:a}){return(0,b.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,b.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:a})})}function b1({children:a,links:c}){return(0,b.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,b.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:a}),null!=c&&c.length>0?(0,b.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:c.map(a=>(0,b.jsxs)("a",{href:a.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,b.jsx)(p.ExternalLink,{className:"h-2.5 w-2.5"}),a.label]},a.href))}):null]})}function b2({settings:a,shepHome:h,dbFileSize:m,availableTerminals:n}){let{t:o}=(0,u.useTranslation)("web"),{showSaving:p,showSaved:w,save:x}=function(){let{t:a}=(0,u.useTranslation)("web"),[b,d]=(0,c.useTransition)(),[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(!1),i=(0,c.useRef)(null),j=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{b&&!e&&(f(!0),j.current=!1,i.current=setTimeout(()=>{i.current=null,j.current&&(f(!1),h(!0),setTimeout(()=>h(!1),2e3))},350)),!b&&e&&(j.current=!0,i.current||(f(!1),h(!0),setTimeout(()=>h(!1),2e3)))},[b,e]),{showSaving:e,showSaved:g,save:(0,c.useCallback)(b=>{d(async()=>{let c=await a7(b);c.success||t.toast.error(c.error??a("settings.failedToSave"))})},[d,a])}}(),y=a.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[z,A]=(0,c.useState)(a.agent.type),[B,C]=(0,c.useState)(a.environment.defaultEditor),[D,E]=(0,c.useState)(a.environment.shellPreference),[F,G]=(0,c.useState)(a.environment.terminalPreference??a8.TerminalType.System),H=n?n.filter(a=>a.available):[{id:a8.TerminalType.System,name:o("settings.environment.systemTerminal"),available:!0}],[I,J]=(0,c.useState)(a.workflow.openPrOnImplementationComplete),[K,L]=(0,c.useState)(a.workflow.approvalGateDefaults.pushOnImplementationComplete),[M,N]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPrd),[O,P]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPlan),[Q,R]=(0,c.useState)(a.workflow.approvalGateDefaults.allowMerge),[S,T]=(0,c.useState)(a.workflow.enableEvidence),[U,V]=(0,c.useState)(a.workflow.commitEvidence),[W,X]=(0,c.useState)(!1!==a.workflow.ciWatchEnabled),[Y,Z]=(0,c.useState)(!1!==a.workflow.hideCiStatus),[$,_]=(0,c.useState)(!1!==a.workflow.defaultFastMode),[aa,ab]=(0,c.useState)((a.workflow.autoArchiveDelayMinutes??10)>0),[ac,ad]=(0,c.useState)(String(a.workflow.autoArchiveDelayMinutes??10)),[ae,af]=(0,c.useState)(null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):""),[ag,ah]=(0,c.useState)(null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):""),[ai,aj]=(0,c.useState)(null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):""),[ak,al]=(0,c.useState)(null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):""),am=a.workflow.stageTimeouts,[an,ao]=(0,c.useState)(String(Math.round((am?.analyzeMs??18e5)/1e3))),[ap,aq]=(0,c.useState)(String(Math.round((am?.requirementsMs??18e5)/1e3))),[ar,as]=(0,c.useState)(String(Math.round((am?.researchMs??18e5)/1e3))),[at,au]=(0,c.useState)(String(Math.round((am?.planMs??18e5)/1e3))),[av,aw]=(0,c.useState)(String(Math.round((am?.implementMs??18e5)/1e3))),[ax,ay]=(0,c.useState)(String(Math.round((am?.mergeMs??18e5)/1e3))),az=a.workflow.analyzeRepoTimeouts,[aA,aB]=(0,c.useState)(String(Math.round((az?.analyzeMs??6e5)/1e3))),aC=a.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[aD,aE]=(0,c.useState)(aC.enabled),[aF,aG]=(0,c.useState)(String(aC.autoTimeoutMinutes)),[aH,aI]=(0,c.useState)(String(aC.maxConcurrentSessions)),[aJ,aK]=(0,c.useState)(a.notifications.inApp.enabled),[aL,aM]=(0,c.useState)({...a.notifications.events}),[aN,aO]=(0,c.useState)({...y}),aP=null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):"",aQ=null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):"",aR=null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):"",aS=null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):"",aT=am?.analyzeMs!=null?String(Math.round(am.analyzeMs/1e3)):"",aU=am?.requirementsMs!=null?String(Math.round(am.requirementsMs/1e3)):"",aV=am?.researchMs!=null?String(Math.round(am.researchMs/1e3)):"",aW=am?.planMs!=null?String(Math.round(am.planMs/1e3)):"",aX=am?.implementMs!=null?String(Math.round(am.implementMs/1e3)):"",aY=am?.mergeMs!=null?String(Math.round(am.mergeMs/1e3)):"",aZ=az?.analyzeMs!=null?String(Math.round(az.analyzeMs/1e3)):"";function a$(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}function a2(a){if(void 0===a)return;let b=a$(a);return null!=b?1e3*b:void 0}function a3(a={}){let b=a$(a.ciTimeout??ag),c=a.autoArchiveEnabled??aa,d=parseInt(a.autoArchiveDelay??ac,10);return{workflow:{openPrOnImplementationComplete:a.openPr??I,approvalGateDefaults:{pushOnImplementationComplete:a.pushOnComplete??K,allowPrd:a.allowPrd??M,allowPlan:a.allowPlan??O,allowMerge:a.allowMerge??Q},enableEvidence:a.enableEvidence??S,commitEvidence:a.commitEvidence??U,ciWatchEnabled:a.ciWatchEnabled??W,hideCiStatus:a.hideCiStatus??Y,defaultFastMode:a.defaultFastMode??$,autoArchiveDelayMinutes:c?Number.isNaN(d)||d<1?10:d:0,ciMaxFixAttempts:a$(a.ciMaxFix??ae),ciWatchTimeoutMs:null!=b?1e3*b:void 0,ciLogMaxChars:a$(a.ciLogMax??ai),ciWatchPollIntervalSeconds:a$(a.ciPollInterval??ak),stageTimeouts:{analyzeMs:a2(a.analyzeTimeout??an),requirementsMs:a2(a.requirementsTimeout??ap),researchMs:a2(a.researchTimeout??ar),planMs:a2(a.planTimeout??at),implementMs:a2(a.implementTimeout??av),mergeMs:a2(a.mergeTimeout??ax)},analyzeRepoTimeouts:{analyzeMs:a2(a.analyzeRepoTimeout??aA)}}}}function a6(a={}){return{notifications:{inApp:{enabled:a.inApp??aJ},events:a.events??aL}}}let[a9,ba]=(0,c.useState)("agent");(0,c.useEffect)(()=>{let a=bX.map(a=>document.getElementById(`section-${a.id}`)).filter(Boolean);if(0===a.length)return;let b=new IntersectionObserver(a=>{for(let b of a)b.isIntersecting&&ba(b.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let c of a)b.observe(c);return()=>b.disconnect()},[]);let bb=(0,c.useCallback)(a=>{let b=document.getElementById(`section-${a}`);b&&(b.scrollIntoView({behavior:"smooth",block:"start"}),b.style.animation="none",b.offsetHeight,b.style.animation="section-flash 1s ease-out")},[]);return(0,b.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,b.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,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:o("settings.title")}),(0,b.jsxs)("span",{className:"relative h-4 w-16",children:[(0,b.jsx)("span",{className:(0,v.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",p?"opacity-100":"opacity-0"),children:o("settings.saving")}),(0,b.jsxs)("span",{className:(0,v.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",w&&!p?"opacity-100":"opacity-0"),children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),o("settings.saved")]})]}),(0,b.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:bX.map(a=>{let c=a.icon,d=a9===a.id;return(0,b.jsxs)("button",{type:"button",onClick:()=>bb(a.id),className:(0,v.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",d?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,b.jsx)(c,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:o(a.labelKey)})]},a.id)})})]})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsx)("div",{id:"section-language",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:(0,b.jsx)(bm,{language:a.user?.preferredLanguage??a8.Language.English})}),(0,b.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,b.jsx)(b$,{icon:e.Bot,title:o("settings.agent.sectionTitle"),description:o("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,b.jsx)(bY,{label:o("settings.agent.agentAndModel"),description:o("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,b.jsx)(bj.AgentModelPicker,{initialAgentType:z,initialModel:a.models.default,mode:"settings",onAgentModelChange:a=>A(a),className:"w-55"})})}),(0,b.jsx)(b1,{links:[{label:o("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:o("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:o("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:o("settings.agent.hint")})]}),(0,b.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,b.jsxs)(b$,{icon:f.Terminal,title:o("settings.environment.sectionTitle"),description:o("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,b.jsx)(bY,{label:o("settings.environment.defaultEditor"),description:o("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,b.jsxs)(a_,{value:B,onValueChange:a=>{C(a),x({environment:{defaultEditor:a,shellPreference:D,terminalPreference:F}})},children:[(0,b.jsx)(a1,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(a0,{})}),(0,b.jsx)(a4,{children:bV.map(a=>{var c;let d=(c=a.value)&&c in bi?bi[c]:bc;return(0,b.jsx)(a5,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(d,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)(bY,{label:o("settings.environment.shell"),description:o("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,b.jsxs)(a_,{value:D,onValueChange:a=>{E(a),x({environment:{defaultEditor:B,shellPreference:a,terminalPreference:F}})},children:[(0,b.jsx)(a1,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(a0,{})}),(0,b.jsx)(a4,{children:bW.map(a=>(0,b.jsx)(a5,{value:a.value,children:a.label},a.value))})]})}),(0,b.jsx)(bY,{label:o("settings.environment.terminal"),description:o("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,b.jsxs)(a_,{value:F,onValueChange:a=>{G(a),x({environment:{defaultEditor:B,shellPreference:D,terminalPreference:a}})},children:[(0,b.jsx)(a1,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(a0,{})}),(0,b.jsx)(a4,{children:H.map(a=>(0,b.jsx)(a5,{value:a.id,children:a.name},a.id))})]})})]}),(0,b.jsx)(b1,{links:[{label:o("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:o("settings.environment.hint")})]}),(0,b.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,b.jsxs)(b$,{icon:g.GitBranch,title:o("settings.workflow.title"),description:o("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,b.jsx)(bZ,{label:o("settings.workflow.defaultFastMode"),description:o("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:$,onChange:a=>{_(a),x(a3({defaultFastMode:a}))}}),(0,b.jsx)(b0,{children:o("settings.workflow.subsections.approve")}),(0,b.jsx)(bZ,{label:o("settings.workflow.autoApprovePrd"),description:o("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:M,onChange:a=>{N(a),x(a3({allowPrd:a}))}}),(0,b.jsx)(bZ,{label:o("settings.workflow.autoApprovePlan"),description:o("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:O,onChange:a=>{P(a),x(a3({allowPlan:a}))}}),(0,b.jsx)(bZ,{label:o("settings.workflow.autoApproveMerge"),description:o("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:Q,onChange:a=>{R(a),x(a3({allowMerge:a}))}}),(0,b.jsx)(b0,{children:o("settings.workflow.subsections.evidence")}),(0,b.jsx)(bZ,{label:o("settings.workflow.collectEvidence"),description:o("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:S,onChange:a=>{T(a),a?x(a3({enableEvidence:a})):(V(!1),x(a3({enableEvidence:a,commitEvidence:!1})))}}),(0,b.jsx)(bZ,{label:o("settings.workflow.addEvidenceToPr"),description:o("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:U,disabled:!S||!I,onChange:a=>{V(a),x(a3({commitEvidence:a}))}}),(0,b.jsx)(b0,{children:o("settings.workflow.subsections.git")}),(0,b.jsx)(bZ,{label:o("settings.workflow.pushOnComplete"),description:o("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:K,onChange:a=>{L(a),x(a3({pushOnComplete:a}))}}),(0,b.jsx)(bZ,{label:o("settings.workflow.openPrOnComplete"),description:o("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:I,onChange:a=>{J(a),a?x(a3({openPr:a})):(V(!1),x(a3({openPr:a,commitEvidence:!1})))}}),(0,b.jsx)(bZ,{label:o("settings.workflow.watchCiAfterPush"),description:o("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:W,onChange:a=>{X(a),x(a3({ciWatchEnabled:a}))}}),(0,b.jsx)(b0,{children:"Archive"}),(0,b.jsx)(bZ,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:aa,onChange:a=>{ab(a),x(a3({autoArchiveEnabled:a}))}}),(0,b.jsx)(bY,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,b.jsx)(b_,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:ac,placeholder:"10",min:1,max:1440,suffix:"min",onChange:a=>{ad(a)},onBlur:()=>{if(!aa)return;let a=parseInt(ac,10),b=Number.isNaN(a)?10:Math.min(1440,Math.max(1,a));ad(String(b)),x(a3({autoArchiveDelay:String(b)}))}})})]}),(0,b.jsx)(b1,{links:[{label:o("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:o("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:o("settings.workflow.hint")})]}),(0,b.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,b.jsxs)(b$,{icon:i,title:o("settings.ci.title"),description:o("settings.ci.description"),testId:"ci-settings-section",children:[(0,b.jsx)(bY,{label:o("settings.ci.maxFixAttempts"),description:o("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,b.jsx)(b_,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:ae,onChange:af,onBlur:()=>{ae!==aP&&x(a3({ciMaxFix:ae}))},min:1,max:10})}),(0,b.jsx)(bY,{label:o("settings.ci.watchTimeout"),description:o("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,b.jsx)(b_,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:ag,onChange:ah,onBlur:()=>{ag!==aQ&&x(a3({ciTimeout:ag}))},min:30,step:30,suffix:"sec"})}),(0,b.jsx)(bY,{label:o("settings.ci.maxLogSize"),description:o("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,b.jsx)(b_,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:ai,onChange:aj,onBlur:()=>{ai!==aR&&x(a3({ciLogMax:ai}))},min:1e3,step:5e3,suffix:"chars"})}),(0,b.jsx)(bY,{label:o("settings.ci.pollInterval"),description:o("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,b.jsx)(b_,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:ak,onChange:al,onBlur:()=>{ak!==aS&&x(a3({ciPollInterval:ak}))},min:5,step:5,suffix:"sec"})}),(0,b.jsx)(bZ,{label:o("settings.ci.hideCiStatus"),description:o("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:Y,onChange:a=>{Z(a),x(a3({hideCiStatus:a}))}})]}),(0,b.jsx)(b1,{links:[{label:o("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:o("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:o("settings.ci.hint")})]}),(0,b.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,b.jsxs)(b$,{icon:r.Timer,title:o("settings.stageTimeouts.title"),description:o("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,b.jsx)(b0,{children:o("settings.stageTimeouts.subsections.featureAgent")}),(0,b.jsx)(bY,{label:o("settings.stageTimeouts.analyze"),description:o("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,b.jsx)(bU,{id:"timeout-analyze",testId:"timeout-analyze-input",value:an,onChange:ao,onBlur:()=>{an!==aT&&x(a3({analyzeTimeout:an}))},defaultSeconds:1800})}),(0,b.jsx)(bY,{label:o("settings.stageTimeouts.requirements"),description:o("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,b.jsx)(bU,{id:"timeout-requirements",testId:"timeout-requirements-input",value:ap,onChange:aq,onBlur:()=>{ap!==aU&&x(a3({requirementsTimeout:ap}))},defaultSeconds:1800})}),(0,b.jsx)(bY,{label:o("settings.stageTimeouts.research"),description:o("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,b.jsx)(bU,{id:"timeout-research",testId:"timeout-research-input",value:ar,onChange:as,onBlur:()=>{ar!==aV&&x(a3({researchTimeout:ar}))},defaultSeconds:1800})}),(0,b.jsx)(bY,{label:o("settings.stageTimeouts.plan"),description:o("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,b.jsx)(bU,{id:"timeout-plan",testId:"timeout-plan-input",value:at,onChange:au,onBlur:()=>{at!==aW&&x(a3({planTimeout:at}))},defaultSeconds:1800})}),(0,b.jsx)(bY,{label:o("settings.stageTimeouts.implement"),description:o("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,b.jsx)(bU,{id:"timeout-implement",testId:"timeout-implement-input",value:av,onChange:aw,onBlur:()=>{av!==aX&&x(a3({implementTimeout:av}))},defaultSeconds:1800})}),(0,b.jsx)(bY,{label:o("settings.stageTimeouts.merge"),description:o("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,b.jsx)(bU,{id:"timeout-merge",testId:"timeout-merge-input",value:ax,onChange:ay,onBlur:()=>{ax!==aY&&x(a3({mergeTimeout:ax}))},defaultSeconds:1800})}),(0,b.jsx)(b0,{children:o("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,b.jsx)(bY,{label:o("settings.stageTimeouts.analyze"),description:o("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,b.jsx)(bU,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:aA,onChange:aB,onBlur:()=>{aA!==aZ&&x(a3({analyzeRepoTimeout:aA}))},defaultSeconds:600})})]}),(0,b.jsx)(b1,{children:o("settings.stageTimeouts.hint")})]}),(0,b.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,b.jsxs)(b$,{icon:j,title:o("settings.notifications.title"),description:o("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,b.jsx)(b0,{children:o("settings.notifications.channels")}),(0,b.jsx)(bZ,{label:o("settings.notifications.inAppLabel"),description:o("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:aJ,onChange:a=>{aK(a),x(a6({inApp:a}))}}),(0,b.jsx)(b0,{children:o("settings.notifications.subsections.agentEvents")}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:aL.agentStarted,onChange:a=>{let b={...aL,agentStarted:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:aL.phaseCompleted,onChange:a=>{let b={...aL,phaseCompleted:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:aL.waitingApproval,onChange:a=>{let b={...aL,waitingApproval:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:aL.agentCompleted,onChange:a=>{let b={...aL,agentCompleted:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:aL.agentFailed,onChange:a=>{let b={...aL,agentFailed:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(b0,{children:o("settings.notifications.subsections.pullRequestEvents")}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:aL.prMerged,onChange:a=>{let b={...aL,prMerged:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:aL.prClosed,onChange:a=>{let b={...aL,prClosed:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:aL.prChecksPassed,onChange:a=>{let b={...aL,prChecksPassed:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:aL.prChecksFailed,onChange:a=>{let b={...aL,prChecksFailed:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:aL.prBlocked,onChange:a=>{let b={...aL,prBlocked:a};aM(b),x(a6({events:b}))}}),(0,b.jsx)(bZ,{label:o("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:aL.mergeReviewReady,onChange:a=>{let b={...aL,mergeReviewReady:a};aM(b),x(a6({events:b}))}})]}),(0,b.jsx)(b1,{links:[{label:o("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:o("settings.notifications.hint")})]}),(0,b.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,b.jsxs)(b$,{icon:k,title:o("settings.featureFlags.title"),description:o("settings.featureFlags.sectionDescription"),badge:o("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,b.jsx)(bZ,{label:o("settings.featureFlags.skills"),description:o("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:aN.skills,onChange:a=>{let b={...aN,skills:a};aO(b),x({featureFlags:b})}}),(0,b.jsx)(bZ,{label:o("settings.featureFlags.deployments"),description:o("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:aN.envDeploy,onChange:a=>{let b={...aN,envDeploy:a};aO(b),x({featureFlags:b})}}),(0,b.jsx)(bZ,{label:o("settings.featureFlags.debug"),description:o("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:aN.debug,onChange:a=>{let b={...aN,debug:a};aO(b),x({featureFlags:b})}}),(0,b.jsx)(bZ,{label:o("settings.featureFlags.githubImport"),description:o("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:aN.githubImport,onChange:a=>{let b={...aN,githubImport:a};aO(b),x({featureFlags:b})}}),(0,b.jsx)(bZ,{label:o("settings.featureFlags.adoptBranch"),description:o("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:aN.adoptBranch,onChange:a=>{let b={...aN,adoptBranch:a};aO(b),x({featureFlags:b})}}),(0,b.jsx)(bZ,{label:o("settings.featureFlags.gitRebaseSync"),description:o("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:aN.gitRebaseSync,onChange:a=>{let b={...aN,gitRebaseSync:a};aO(b),x({featureFlags:b})}}),(0,b.jsx)(bZ,{label:o("settings.featureFlags.reactFileManager"),description:o("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:aN.reactFileManager,onChange:a=>{let b={...aN,reactFileManager:a};aO(b),x({featureFlags:b})}})]}),(0,b.jsx)(b1,{children:o("settings.featureFlags.hint")})]}),(0,b.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,b.jsxs)(b$,{icon:s.MessageSquare,title:o("settings.interactiveAgent.title"),description:o("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,b.jsx)(bZ,{label:o("settings.interactiveAgent.enableChatTab"),description:o("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:aD,onChange:a=>{aE(a),x({interactiveAgent:{enabled:a,autoTimeoutMinutes:parseInt(aF,10)||15,maxConcurrentSessions:parseInt(aH,10)||3}})}}),(0,b.jsx)(bY,{label:o("settings.interactiveAgent.autoTimeout"),description:o("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,b.jsx)(b_,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:aF,placeholder:"15",min:1,max:120,suffix:"min",onChange:aG,onBlur:()=>{let a=parseInt(aF,10),b=Number.isNaN(a)?15:Math.min(120,Math.max(1,a));aG(String(b)),x({interactiveAgent:{enabled:aD,autoTimeoutMinutes:b,maxConcurrentSessions:parseInt(aH,10)||3}})}})}),(0,b.jsx)(bY,{label:o("settings.interactiveAgent.maxConcurrentSessions"),description:o("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,b.jsx)(b_,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:aH,placeholder:"3",min:1,max:10,onChange:aI,onBlur:()=>{let a=parseInt(aH,10),b=Number.isNaN(a)?3:Math.min(10,Math.max(1,a));aI(String(b)),x({interactiveAgent:{enabled:aD,autoTimeoutMinutes:parseInt(aF,10)||15,maxConcurrentSessions:b}})}})})]}),(0,b.jsx)(b1,{children:o("settings.interactiveAgent.hint")})]}),(0,b.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,b.jsxs)(b$,{icon:l,title:o("settings.database.title"),description:o("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,b.jsx)(bY,{label:o("settings.database.location"),description:o("settings.database.locationDescription"),children:(0,b.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:h})}),(0,b.jsx)(bY,{label:o("settings.database.size"),children:(0,b.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:m})})]}),(0,b.jsx)(b1,{links:[{label:o("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:o("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:o("settings.database.hint")})]})]})]})}a.s(["SettingsPageClient",()=>b2],79020)}];
1
+ module.exports=[79020,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(72016),e=a.i(34644),f=a.i(63698),g=a.i(53170),h=a.i(25700);let i=(0,h.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"}]]),j=(0,h.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"}]]),k=(0,h.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"}]]),l=(0,h.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 m=a.i(84494),n=a.i(96853),n=n,o=a.i(67837),p=a.i(71238);let q=(0,h.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 r=a.i(7421),s=a.i(12882);let t=(0,h.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);var u=a.i(52313);a.i(90370);var v=a.i(24640),w=a.i(85536),x=a.i(584),y=a.i(96867),z=a.i(59175),A=a.i(25674);let B=(0,A.createServerReference)("40a614d4a1b37f154148e4d4f49556dd89132e2a9a",A.callServer,void 0,A.findSourceMapURL,"updateSettingsAction");var C=a.i(46847),D=a.i(61640),E=a.i(44447),F=a.i(87926);function G(a){return(0,b.jsx)(E.Code,{className:(0,w.cn)("h-4 w-4",a.className),...a})}function H({className:a}){return(0,b.jsx)(D.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,w.cn)("rounded-sm object-contain",a)})}function I({className:a}){return(0,b.jsx)(D.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,w.cn)("rounded-sm object-contain",a)})}function J({className:a}){return(0,b.jsx)(D.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,w.cn)("rounded-sm object-contain",a)})}function K({className:a}){return(0,b.jsx)(D.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,w.cn)("rounded-sm object-contain",a)})}function L({className:a,...c}){return(0,b.jsx)(F.Rocket,{className:(0,w.cn)("h-4 w-4",a),...c})}H.displayName="VsCodeIcon",I.displayName="CursorEditorIcon",J.displayName="WindsurfIcon",K.displayName="ZedIcon",L.displayName="AntigravityIcon";let M={vscode:H,cursor:I,windsurf:J,zed:K,antigravity:L};var N=a.i(61781),O=a.i(84117);let P=[{value:C.Language.English,label:"English",nativeName:"English"},{value:C.Language.Russian,label:"Русский",nativeName:"Русский"},{value:C.Language.Portuguese,label:"Português",nativeName:"Português"},{value:C.Language.Spanish,label:"Español",nativeName:"Español"},{value:C.Language.Arabic,label:"العربية",nativeName:"العربية"},{value:C.Language.Hebrew,label:"עברית",nativeName:"עברית"},{value:C.Language.French,label:"Français",nativeName:"Français"},{value:C.Language.German,label:"Deutsch",nativeName:"Deutsch"}];function Q({language:a}){let{t:e,i18n:f}=(0,v.useTranslation)("web"),[g,h]=(0,c.useState)(a),[i,j]=(0,c.useTransition)(),[k,l]=(0,c.useState)(!1),n=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{if(n.current&&!i){l(!0);let a=setTimeout(()=>l(!1),2e3);return()=>clearTimeout(a)}n.current=i},[i]),(0,b.jsxs)(O.Card,{id:"language",className:"scroll-mt-6","data-testid":"language-settings-section",children:[(0,b.jsxs)(O.CardHeader,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.Globe,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)(O.CardTitle,{children:e("settings.language.title")})]}),i?(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:e("common:labels.saving")}):null,k&&!i?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),e("common:labels.saved")]}):null]}),(0,b.jsx)(O.CardDescription,{children:e("settings.language.description")})]}),(0,b.jsx)(O.CardContent,{className:"space-y-4",children:(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(x.Label,{htmlFor:"display-language",children:e("settings.language.label")}),(0,b.jsxs)(z.Select,{value:g,onValueChange:function(a){h(a),f.changeLanguage(a);let b="ar"===a||"he"===a?"rtl":"ltr";document.documentElement.lang=a,document.documentElement.dir=b,j(async()=>{let b=await B({user:{preferredLanguage:a}});b.success||u.toast.error(b.error??e("settings.language.failedToSave","Failed to save language settings"))})},children:[(0,b.jsx)(z.SelectTrigger,{id:"display-language","data-testid":"language-select",children:(0,b.jsx)(z.SelectValue,{placeholder:e("settings.language.placeholder")})}),(0,b.jsx)(z.SelectContent,{children:P.map(a=>(0,b.jsx)(z.SelectItem,{value:a.value,children:a.nativeName},a.value))})]})]})})]})}var R=a.i(48972),S=a.i(59653),T=a.i(6175),U=a.i(7420),V=a.i(17329),W=a.i(48939),X=a.i(64005),Y=a.i(74432),Z=a.i(66873),$=a.i(63496),_=["PageUp","PageDown"],aa=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ab={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ac="Slider",[ad,ae,af]=(0,$.createCollection)(ac),[ag,ah]=(0,U.createContextScope)(ac,[af]),[ai,aj]=ag(ac),ak=c.forwardRef((a,d)=>{let{name:e,min:f=0,max:g=100,step:h=1,orientation:i="horizontal",disabled:j=!1,minStepsBetweenThumbs:k=0,defaultValue:l=[f],value:m,onValueChange:n=()=>{},onValueCommit:o=()=>{},inverted:p=!1,form:q,...r}=a,s=c.useRef(new Set),t=c.useRef(0),u="horizontal"===i,[v=[],w]=(0,V.useControllableState)({prop:m,defaultProp:l,onChange:a=>{let b=[...s.current];b[t.current]?.focus(),n(a)}}),x=c.useRef(v);function y(a,b,{commit:c}={commit:!1}){let d,e=(String(h).split(".")[1]||"").length,i=Math.round((Math.round((a-f)/h)*h+f)*(d=Math.pow(10,e)))/d,j=(0,R.clamp)(i,[f,g]);w((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,j,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,k*h))return a;{t.current=d.indexOf(j);let b=String(d)!==String(a);return b&&c&&o(d),b?d:a}})}return(0,b.jsx)(ai,{scope:a.__scopeSlider,name:e,disabled:j,min:f,max:g,valueIndexToChangeRef:t,thumbs:s.current,values:v,orientation:i,form:q,children:(0,b.jsx)(ad.Provider,{scope:a.__scopeSlider,children:(0,b.jsx)(ad.Slot,{scope:a.__scopeSlider,children:(0,b.jsx)(u?an:ao,{"aria-disabled":j,"data-disabled":j?"":void 0,...r,ref:d,onPointerDown:(0,S.composeEventHandlers)(r.onPointerDown,()=>{j||(x.current=v)}),min:f,max:g,inverted:p,onSlideStart:j?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(v,a);y(a,b)},onSlideMove:j?void 0:function(a){y(a,t.current)},onSlideEnd:j?void 0:function(){let a=x.current[t.current];v[t.current]!==a&&o(v)},onHomeKeyDown:()=>!j&&y(f,0,{commit:!0}),onEndKeyDown:()=>!j&&y(g,v.length-1,{commit:!0}),onStepKeyDown:({event:a,direction:b})=>{if(!j){let c=_.includes(a.key)||a.shiftKey&&aa.includes(a.key),d=t.current;y(v[d]+h*(c?10:1)*b,d,{commit:!0})}}})})})})});ak.displayName=ac;var[al,am]=ag(ac,{startEdge:"left",endEdge:"right",size:"width",direction:1}),an=c.forwardRef((a,d)=>{let{min:e,max:f,dir:g,inverted:h,onSlideStart:i,onSlideMove:j,onSlideEnd:k,onStepKeyDown:l,...m}=a,[n,o]=c.useState(null),p=(0,T.useComposedRefs)(d,a=>o(a)),q=c.useRef(void 0),r=(0,W.useDirection)(g),s="ltr"===r,t=s&&!h||!s&&h;function u(a){let b=q.current||n.getBoundingClientRect(),c=az([0,b.width],t?[e,f]:[f,e]);return q.current=b,c(a-b.left)}return(0,b.jsx)(al,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,b.jsx)(ap,{dir:r,"data-orientation":"horizontal",...m,ref:p,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=u(a.clientX);i?.(b)},onSlideMove:a=>{let b=u(a.clientX);j?.(b)},onSlideEnd:()=>{q.current=void 0,k?.()},onStepKeyDown:a=>{let b=ab[t?"from-left":"from-right"].includes(a.key);l?.({event:a,direction:b?-1:1})}})})}),ao=c.forwardRef((a,d)=>{let{min:e,max:f,inverted:g,onSlideStart:h,onSlideMove:i,onSlideEnd:j,onStepKeyDown:k,...l}=a,m=c.useRef(null),n=(0,T.useComposedRefs)(d,m),o=c.useRef(void 0),p=!g;function q(a){let b=o.current||m.current.getBoundingClientRect(),c=az([0,b.height],p?[f,e]:[e,f]);return o.current=b,c(a-b.top)}return(0,b.jsx)(al,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,b.jsx)(ap,{"data-orientation":"vertical",...l,ref:n,style:{...l.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);h?.(b)},onSlideMove:a=>{let b=q(a.clientY);i?.(b)},onSlideEnd:()=>{o.current=void 0,j?.()},onStepKeyDown:a=>{let b=ab[p?"from-bottom":"from-top"].includes(a.key);k?.({event:a,direction:b?-1:1})}})})}),ap=c.forwardRef((a,c)=>{let{__scopeSlider:d,onSlideStart:e,onSlideMove:f,onSlideEnd:g,onHomeKeyDown:h,onEndKeyDown:i,onStepKeyDown:j,...k}=a,l=aj(ac,d);return(0,b.jsx)(Z.Primitive.span,{...k,ref:c,onKeyDown:(0,S.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(h(a),a.preventDefault()):"End"===a.key?(i(a),a.preventDefault()):_.concat(aa).includes(a.key)&&(j(a),a.preventDefault())}),onPointerDown:(0,S.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),l.thumbs.has(b)?b.focus():e(a)}),onPointerMove:(0,S.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&f(a)}),onPointerUp:(0,S.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),g(a))})})}),aq="SliderTrack",ar=c.forwardRef((a,c)=>{let{__scopeSlider:d,...e}=a,f=aj(aq,d);return(0,b.jsx)(Z.Primitive.span,{"data-disabled":f.disabled?"":void 0,"data-orientation":f.orientation,...e,ref:c})});ar.displayName=aq;var as="SliderRange",at=c.forwardRef((a,d)=>{let{__scopeSlider:e,...f}=a,g=aj(as,e),h=am(as,e),i=c.useRef(null),j=(0,T.useComposedRefs)(d,i),k=g.values.length,l=g.values.map(a=>ay(a,g.min,g.max)),m=k>1?Math.min(...l):0,n=100-Math.max(...l);return(0,b.jsx)(Z.Primitive.span,{"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,...f,ref:j,style:{...a.style,[h.startEdge]:m+"%",[h.endEdge]:n+"%"}})});at.displayName=as;var au="SliderThumb",av=c.forwardRef((a,d)=>{let e=ae(a.__scopeSlider),[f,g]=c.useState(null),h=(0,T.useComposedRefs)(d,a=>g(a)),i=c.useMemo(()=>f?e().findIndex(a=>a.ref.current===f):-1,[e,f]);return(0,b.jsx)(aw,{...a,ref:h,index:i})}),aw=c.forwardRef((a,d)=>{var e,f,g,h,i;let j,k,{__scopeSlider:l,index:m,name:n,...o}=a,p=aj(au,l),q=am(au,l),[r,s]=c.useState(null),t=(0,T.useComposedRefs)(d,a=>s(a)),u=!r||p.form||!!r.closest("form"),v=(0,Y.useSize)(r),w=p.values[m],x=void 0===w?0:ay(w,p.min,p.max),y=(e=m,(f=p.values.length)>2?`Value ${e+1} of ${f}`:2===f?["Minimum","Maximum"][e]:void 0),z=v?.[q.size],A=z?(g=z,h=x,i=q.direction,k=az([0,50],[0,j=g/2]),(j-k(h)*i)*i):0;return c.useEffect(()=>{if(r)return p.thumbs.add(r),()=>{p.thumbs.delete(r)}},[r,p.thumbs]),(0,b.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[q.startEdge]:`calc(${x}% + ${A}px)`},children:[(0,b.jsx)(ad.ItemSlot,{scope:a.__scopeSlider,children:(0,b.jsx)(Z.Primitive.span,{role:"slider","aria-label":a["aria-label"]||y,"aria-valuemin":p.min,"aria-valuenow":w,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...o,ref:t,style:void 0===w?{display:"none"}:a.style,onFocus:(0,S.composeEventHandlers)(a.onFocus,()=>{p.valueIndexToChangeRef.current=m})})}),u&&(0,b.jsx)(ax,{name:n??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:w},m)]})});av.displayName=au;var ax=c.forwardRef(({__scopeSlider:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,T.useComposedRefs)(g,f),i=(0,X.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(i!==d&&b){let c=new Event("input",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(Z.Primitive.input,{style:{display:"none"},...e,ref:h,defaultValue:d})});function ay(a,b,c){return(0,R.clamp)(100/(c-b)*(a-b),[0,100])}function az(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}ax.displayName="RadioBubbleInput",a.s(["Range",()=>at,"Root",()=>ak,"Slider",()=>ak,"SliderRange",()=>at,"SliderThumb",()=>av,"SliderTrack",()=>ar,"Thumb",()=>av,"Track",()=>ar,"createSliderScope",()=>ah],61569);var aA=a.i(61569),aA=aA;function aB({className:a,defaultValue:d,value:e,min:f=0,max:g=100,...h}){let i=c.useMemo(()=>Array.isArray(e)?e:Array.isArray(d)?d:[f,g],[e,d,f,g]);return(0,b.jsxs)(aA.Root,{"data-slot":"slider",defaultValue:d,value:e,min:f,max:g,className:(0,w.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",a),...h,children:[(0,b.jsx)(aA.Track,{"data-slot":"slider-track",className:(0,w.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,b.jsx)(aA.Range,{"data-slot":"slider-range",className:(0,w.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:i.length},(a,c)=>(0,b.jsx)(aA.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"},c))]})}let aC=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],aD=aC.length-1;function aE(a){let b=0,c=Math.abs(a-aC[0]);for(let d=1;d<aC.length;d++){let e=Math.abs(a-aC[d]);e<c&&(c=e,b=d)}return b}function aF({id:a,testId:d,value:e,onChange:f,onBlur:g,defaultSeconds:h=1800}){var i;let j,k,l=(""===e?h:parseInt(e,10))||h,[m,n]=(0,c.useState)(()=>aE(l)),o=aE(l);o!==m&&aC[m]!==l&&n(o);let p=(0,c.useCallback)(([a])=>{n(a),f(String(aC[a]))},[f]);return(0,b.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,b.jsx)(aB,{id:a,"data-testid":d,min:0,max:aD,step:1,value:[m],onValueChange:p,onValueCommit:()=>g(),className:"min-w-0 flex-1"}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(j=Math.floor((i=aC[m])/3600),k=Math.round(i%3600/60),0===j?`${k}m`:0===k?`${j}h`:`${j}h ${k}m`)})]})}let aG=[{value:C.EditorType.VsCode,label:"VS Code"},{value:C.EditorType.Cursor,label:"Cursor"},{value:C.EditorType.Windsurf,label:"Windsurf"},{value:C.EditorType.Zed,label:"Zed"},{value:C.EditorType.Antigravity,label:"Antigravity"}],aH=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],aI=[{id:"language",labelKey:"settings.sections.language",icon:m.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:e.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:f.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:g.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:i},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:r.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:j},{id:"feature-flags",labelKey:"settings.sections.flags",icon:k},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:s.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:t},{id:"database",labelKey:"settings.sections.database",icon:l}];function aJ({label:a,description:c,htmlFor:d,children:e}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(x.Label,{htmlFor:d,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:a}),c?(0,b.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:c}):null]}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:e})]})}function aK({label:a,description:c,id:d,testId:e,checked:f,onChange:g,disabled:h}){return(0,b.jsx)(aJ,{label:a,description:c,htmlFor:d,children:(0,b.jsx)(y.Switch,{id:d,"data-testid":e,checked:f,onCheckedChange:g,disabled:h,className:(0,w.cn)("cursor-pointer",h&&"cursor-not-allowed opacity-50")})})}function aL({icon:a,title:c,description:d,badge:e,testId:f,children:g}){return(0,b.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":f,children:[(0,b.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(a,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,b.jsx)("h2",{className:"text-sm font-semibold",children:c}),e?(0,b.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:e}):null]}),(0,b.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:d})]}),(0,b.jsx)("div",{className:"px-4",children:g})]})}function aM({id:a,testId:c,value:d,onChange:e,onBlur:f,placeholder:g,min:h=1,max:i,step:j=1,suffix:k}){let{t:l}=(0,v.useTranslation)("web"),m=""===d?void 0:parseInt(d,10);return(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{e(String(Math.max(h,(m??parseInt(g,10))-j)))},onMouseUp:f,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":l("common.decrease"),children:(0,b.jsx)(n.default,{className:"h-3 w-3"})}),(0,b.jsx)("input",{id:a,"data-testid":c,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:d,placeholder:g,onChange:a=>{e(a.target.value.replace(/[^0-9]/g,""))},onBlur:f,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a;a=m??parseInt(g,10),e(String(null!=i?Math.min(i,a+j):a+j))},onMouseUp:f,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":l("common.increase"),children:(0,b.jsx)(o.Plus,{className:"h-3 w-3"})})]}),k?(0,b.jsx)("span",{className:"text-muted-foreground text-[11px]",children:k}):null]})}function aN({children:a}){return(0,b.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,b.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:a})})}function aO({children:a,links:c}){return(0,b.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,b.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:a}),null!=c&&c.length>0?(0,b.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:c.map(a=>(0,b.jsxs)("a",{href:a.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,b.jsx)(p.ExternalLink,{className:"h-2.5 w-2.5"}),a.label]},a.href))}):null]})}function aP({settings:a,shepHome:h,dbFileSize:m,availableTerminals:n}){let{t:o}=(0,v.useTranslation)("web"),{showSaving:p,showSaved:x,save:y}=function(){let{t:a}=(0,v.useTranslation)("web"),[b,d]=(0,c.useTransition)(),[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(!1),i=(0,c.useRef)(null),j=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{b&&!e&&(f(!0),j.current=!1,i.current=setTimeout(()=>{i.current=null,j.current&&(f(!1),h(!0),setTimeout(()=>h(!1),2e3))},350)),!b&&e&&(j.current=!0,i.current||(f(!1),h(!0),setTimeout(()=>h(!1),2e3)))},[b,e]),{showSaving:e,showSaved:g,save:(0,c.useCallback)(b=>{d(async()=>{let c=await B(b);c.success||u.toast.error(c.error??a("settings.failedToSave"))})},[d,a])}}(),A=a.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[D,E]=(0,c.useState)(a.agent.type),[F,H]=(0,c.useState)(a.environment.defaultEditor),[I,J]=(0,c.useState)(a.environment.shellPreference),[K,L]=(0,c.useState)(a.environment.terminalPreference??C.TerminalType.System),O=n?n.filter(a=>a.available):[{id:C.TerminalType.System,name:o("settings.environment.systemTerminal"),available:!0}],[P,R]=(0,c.useState)(a.workflow.openPrOnImplementationComplete),[S,T]=(0,c.useState)(a.workflow.approvalGateDefaults.pushOnImplementationComplete),[U,V]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPrd),[W,X]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPlan),[Y,Z]=(0,c.useState)(a.workflow.approvalGateDefaults.allowMerge),[$,_]=(0,c.useState)(a.workflow.enableEvidence),[aa,ab]=(0,c.useState)(a.workflow.commitEvidence),[ac,ad]=(0,c.useState)(!1!==a.workflow.ciWatchEnabled),[ae,af]=(0,c.useState)(!1!==a.workflow.hideCiStatus),[ag,ah]=(0,c.useState)(!1!==a.workflow.defaultFastMode),[ai,aj]=(0,c.useState)((a.workflow.autoArchiveDelayMinutes??10)>0),[ak,al]=(0,c.useState)(String(a.workflow.autoArchiveDelayMinutes??10)),[am,an]=(0,c.useState)(null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):""),[ao,ap]=(0,c.useState)(null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):""),[aq,ar]=(0,c.useState)(null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):""),[as,at]=(0,c.useState)(null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):""),au=a.workflow.stageTimeouts,[av,aw]=(0,c.useState)(String(Math.round((au?.analyzeMs??18e5)/1e3))),[ax,ay]=(0,c.useState)(String(Math.round((au?.requirementsMs??18e5)/1e3))),[az,aA]=(0,c.useState)(String(Math.round((au?.researchMs??18e5)/1e3))),[aB,aC]=(0,c.useState)(String(Math.round((au?.planMs??18e5)/1e3))),[aD,aE]=(0,c.useState)(String(Math.round((au?.implementMs??18e5)/1e3))),[aP,aQ]=(0,c.useState)(String(Math.round((au?.mergeMs??18e5)/1e3))),aR=a.workflow.analyzeRepoTimeouts,[aS,aT]=(0,c.useState)(String(Math.round((aR?.analyzeMs??6e5)/1e3))),aU=a.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[aV,aW]=(0,c.useState)(aU.enabled),[aX,aY]=(0,c.useState)(String(aU.autoTimeoutMinutes)),[aZ,a$]=(0,c.useState)(String(aU.maxConcurrentSessions)),a_=a.fabLayout??{swapPosition:!1},[a0,a1]=(0,c.useState)(a_.swapPosition),[a2,a3]=(0,c.useState)(a.notifications.inApp.enabled),[a4,a5]=(0,c.useState)({...a.notifications.events}),[a6,a7]=(0,c.useState)({...A}),a8=null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):"",a9=null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):"",ba=null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):"",bb=null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):"",bc=au?.analyzeMs!=null?String(Math.round(au.analyzeMs/1e3)):"",bd=au?.requirementsMs!=null?String(Math.round(au.requirementsMs/1e3)):"",be=au?.researchMs!=null?String(Math.round(au.researchMs/1e3)):"",bf=au?.planMs!=null?String(Math.round(au.planMs/1e3)):"",bg=au?.implementMs!=null?String(Math.round(au.implementMs/1e3)):"",bh=au?.mergeMs!=null?String(Math.round(au.mergeMs/1e3)):"",bi=aR?.analyzeMs!=null?String(Math.round(aR.analyzeMs/1e3)):"";function bj(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}function bk(a){if(void 0===a)return;let b=bj(a);return null!=b?1e3*b:void 0}function bl(a={}){let b=bj(a.ciTimeout??ao),c=a.autoArchiveEnabled??ai,d=parseInt(a.autoArchiveDelay??ak,10);return{workflow:{openPrOnImplementationComplete:a.openPr??P,approvalGateDefaults:{pushOnImplementationComplete:a.pushOnComplete??S,allowPrd:a.allowPrd??U,allowPlan:a.allowPlan??W,allowMerge:a.allowMerge??Y},enableEvidence:a.enableEvidence??$,commitEvidence:a.commitEvidence??aa,ciWatchEnabled:a.ciWatchEnabled??ac,hideCiStatus:a.hideCiStatus??ae,defaultFastMode:a.defaultFastMode??ag,autoArchiveDelayMinutes:c?Number.isNaN(d)||d<1?10:d:0,ciMaxFixAttempts:bj(a.ciMaxFix??am),ciWatchTimeoutMs:null!=b?1e3*b:void 0,ciLogMaxChars:bj(a.ciLogMax??aq),ciWatchPollIntervalSeconds:bj(a.ciPollInterval??as),stageTimeouts:{analyzeMs:bk(a.analyzeTimeout??av),requirementsMs:bk(a.requirementsTimeout??ax),researchMs:bk(a.researchTimeout??az),planMs:bk(a.planTimeout??aB),implementMs:bk(a.implementTimeout??aD),mergeMs:bk(a.mergeTimeout??aP)},analyzeRepoTimeouts:{analyzeMs:bk(a.analyzeRepoTimeout??aS)}}}}function bm(a={}){return{notifications:{inApp:{enabled:a.inApp??a2},events:a.events??a4}}}let[bn,bo]=(0,c.useState)("agent");(0,c.useEffect)(()=>{let a=aI.map(a=>document.getElementById(`section-${a.id}`)).filter(Boolean);if(0===a.length)return;let b=new IntersectionObserver(a=>{for(let b of a)b.isIntersecting&&bo(b.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let c of a)b.observe(c);return()=>b.disconnect()},[]);let bp=(0,c.useCallback)(a=>{let b=document.getElementById(`section-${a}`);b&&(b.scrollIntoView({behavior:"smooth",block:"start"}),b.style.animation="none",b.offsetHeight,b.style.animation="section-flash 1s ease-out")},[]);return(0,b.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,b.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,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:o("settings.title")}),(0,b.jsxs)("span",{className:"relative h-4 w-16",children:[(0,b.jsx)("span",{className:(0,w.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",p?"opacity-100":"opacity-0"),children:o("settings.saving")}),(0,b.jsxs)("span",{className:(0,w.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",x&&!p?"opacity-100":"opacity-0"),children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),o("settings.saved")]})]}),(0,b.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:aI.map(a=>{let c=a.icon,d=bn===a.id;return(0,b.jsxs)("button",{type:"button",onClick:()=>bp(a.id),className:(0,w.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",d?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,b.jsx)(c,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:o(a.labelKey)})]},a.id)})})]})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsx)("div",{id:"section-language",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:(0,b.jsx)(Q,{language:a.user?.preferredLanguage??C.Language.English})}),(0,b.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,b.jsx)(aL,{icon:e.Bot,title:o("settings.agent.sectionTitle"),description:o("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,b.jsx)(aJ,{label:o("settings.agent.agentAndModel"),description:o("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,b.jsx)(N.AgentModelPicker,{initialAgentType:D,initialModel:a.models.default,mode:"settings",onAgentModelChange:a=>E(a),className:"w-55"})})}),(0,b.jsx)(aO,{links:[{label:o("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:o("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:o("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:o("settings.agent.hint")})]}),(0,b.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,b.jsxs)(aL,{icon:f.Terminal,title:o("settings.environment.sectionTitle"),description:o("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,b.jsx)(aJ,{label:o("settings.environment.defaultEditor"),description:o("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,b.jsxs)(z.Select,{value:F,onValueChange:a=>{H(a),y({environment:{defaultEditor:a,shellPreference:I,terminalPreference:K}})},children:[(0,b.jsx)(z.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(z.SelectValue,{})}),(0,b.jsx)(z.SelectContent,{children:aG.map(a=>{var c;let d=(c=a.value)&&c in M?M[c]:G;return(0,b.jsx)(z.SelectItem,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(d,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)(aJ,{label:o("settings.environment.shell"),description:o("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,b.jsxs)(z.Select,{value:I,onValueChange:a=>{J(a),y({environment:{defaultEditor:F,shellPreference:a,terminalPreference:K}})},children:[(0,b.jsx)(z.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(z.SelectValue,{})}),(0,b.jsx)(z.SelectContent,{children:aH.map(a=>(0,b.jsx)(z.SelectItem,{value:a.value,children:a.label},a.value))})]})}),(0,b.jsx)(aJ,{label:o("settings.environment.terminal"),description:o("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,b.jsxs)(z.Select,{value:K,onValueChange:a=>{L(a),y({environment:{defaultEditor:F,shellPreference:I,terminalPreference:a}})},children:[(0,b.jsx)(z.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(z.SelectValue,{})}),(0,b.jsx)(z.SelectContent,{children:O.map(a=>(0,b.jsx)(z.SelectItem,{value:a.id,children:a.name},a.id))})]})})]}),(0,b.jsx)(aO,{links:[{label:o("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:o("settings.environment.hint")})]}),(0,b.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,b.jsxs)(aL,{icon:g.GitBranch,title:o("settings.workflow.title"),description:o("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,b.jsx)(aK,{label:o("settings.workflow.defaultFastMode"),description:o("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:ag,onChange:a=>{ah(a),y(bl({defaultFastMode:a}))}}),(0,b.jsx)(aN,{children:o("settings.workflow.subsections.approve")}),(0,b.jsx)(aK,{label:o("settings.workflow.autoApprovePrd"),description:o("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:U,onChange:a=>{V(a),y(bl({allowPrd:a}))}}),(0,b.jsx)(aK,{label:o("settings.workflow.autoApprovePlan"),description:o("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:W,onChange:a=>{X(a),y(bl({allowPlan:a}))}}),(0,b.jsx)(aK,{label:o("settings.workflow.autoApproveMerge"),description:o("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:Y,onChange:a=>{Z(a),y(bl({allowMerge:a}))}}),(0,b.jsx)(aN,{children:o("settings.workflow.subsections.evidence")}),(0,b.jsx)(aK,{label:o("settings.workflow.collectEvidence"),description:o("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:$,onChange:a=>{_(a),a?y(bl({enableEvidence:a})):(ab(!1),y(bl({enableEvidence:a,commitEvidence:!1})))}}),(0,b.jsx)(aK,{label:o("settings.workflow.addEvidenceToPr"),description:o("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:aa,disabled:!$||!P,onChange:a=>{ab(a),y(bl({commitEvidence:a}))}}),(0,b.jsx)(aN,{children:o("settings.workflow.subsections.git")}),(0,b.jsx)(aK,{label:o("settings.workflow.pushOnComplete"),description:o("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:S,onChange:a=>{T(a),y(bl({pushOnComplete:a}))}}),(0,b.jsx)(aK,{label:o("settings.workflow.openPrOnComplete"),description:o("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:P,onChange:a=>{R(a),a?y(bl({openPr:a})):(ab(!1),y(bl({openPr:a,commitEvidence:!1})))}}),(0,b.jsx)(aK,{label:o("settings.workflow.watchCiAfterPush"),description:o("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:ac,onChange:a=>{ad(a),y(bl({ciWatchEnabled:a}))}}),(0,b.jsx)(aN,{children:"Archive"}),(0,b.jsx)(aK,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ai,onChange:a=>{aj(a),y(bl({autoArchiveEnabled:a}))}}),(0,b.jsx)(aJ,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,b.jsx)(aM,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:ak,placeholder:"10",min:1,max:1440,suffix:"min",onChange:a=>{al(a)},onBlur:()=>{if(!ai)return;let a=parseInt(ak,10),b=Number.isNaN(a)?10:Math.min(1440,Math.max(1,a));al(String(b)),y(bl({autoArchiveDelay:String(b)}))}})})]}),(0,b.jsx)(aO,{links:[{label:o("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:o("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:o("settings.workflow.hint")})]}),(0,b.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,b.jsxs)(aL,{icon:i,title:o("settings.ci.title"),description:o("settings.ci.description"),testId:"ci-settings-section",children:[(0,b.jsx)(aJ,{label:o("settings.ci.maxFixAttempts"),description:o("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,b.jsx)(aM,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:am,onChange:an,onBlur:()=>{am!==a8&&y(bl({ciMaxFix:am}))},min:1,max:10})}),(0,b.jsx)(aJ,{label:o("settings.ci.watchTimeout"),description:o("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,b.jsx)(aM,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:ao,onChange:ap,onBlur:()=>{ao!==a9&&y(bl({ciTimeout:ao}))},min:30,step:30,suffix:"sec"})}),(0,b.jsx)(aJ,{label:o("settings.ci.maxLogSize"),description:o("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,b.jsx)(aM,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:aq,onChange:ar,onBlur:()=>{aq!==ba&&y(bl({ciLogMax:aq}))},min:1e3,step:5e3,suffix:"chars"})}),(0,b.jsx)(aJ,{label:o("settings.ci.pollInterval"),description:o("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,b.jsx)(aM,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:as,onChange:at,onBlur:()=>{as!==bb&&y(bl({ciPollInterval:as}))},min:5,step:5,suffix:"sec"})}),(0,b.jsx)(aK,{label:o("settings.ci.hideCiStatus"),description:o("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ae,onChange:a=>{af(a),y(bl({hideCiStatus:a}))}})]}),(0,b.jsx)(aO,{links:[{label:o("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:o("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:o("settings.ci.hint")})]}),(0,b.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,b.jsxs)(aL,{icon:r.Timer,title:o("settings.stageTimeouts.title"),description:o("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,b.jsx)(aN,{children:o("settings.stageTimeouts.subsections.featureAgent")}),(0,b.jsx)(aJ,{label:o("settings.stageTimeouts.analyze"),description:o("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,b.jsx)(aF,{id:"timeout-analyze",testId:"timeout-analyze-input",value:av,onChange:aw,onBlur:()=>{av!==bc&&y(bl({analyzeTimeout:av}))},defaultSeconds:1800})}),(0,b.jsx)(aJ,{label:o("settings.stageTimeouts.requirements"),description:o("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,b.jsx)(aF,{id:"timeout-requirements",testId:"timeout-requirements-input",value:ax,onChange:ay,onBlur:()=>{ax!==bd&&y(bl({requirementsTimeout:ax}))},defaultSeconds:1800})}),(0,b.jsx)(aJ,{label:o("settings.stageTimeouts.research"),description:o("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,b.jsx)(aF,{id:"timeout-research",testId:"timeout-research-input",value:az,onChange:aA,onBlur:()=>{az!==be&&y(bl({researchTimeout:az}))},defaultSeconds:1800})}),(0,b.jsx)(aJ,{label:o("settings.stageTimeouts.plan"),description:o("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,b.jsx)(aF,{id:"timeout-plan",testId:"timeout-plan-input",value:aB,onChange:aC,onBlur:()=>{aB!==bf&&y(bl({planTimeout:aB}))},defaultSeconds:1800})}),(0,b.jsx)(aJ,{label:o("settings.stageTimeouts.implement"),description:o("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,b.jsx)(aF,{id:"timeout-implement",testId:"timeout-implement-input",value:aD,onChange:aE,onBlur:()=>{aD!==bg&&y(bl({implementTimeout:aD}))},defaultSeconds:1800})}),(0,b.jsx)(aJ,{label:o("settings.stageTimeouts.merge"),description:o("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,b.jsx)(aF,{id:"timeout-merge",testId:"timeout-merge-input",value:aP,onChange:aQ,onBlur:()=>{aP!==bh&&y(bl({mergeTimeout:aP}))},defaultSeconds:1800})}),(0,b.jsx)(aN,{children:o("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,b.jsx)(aJ,{label:o("settings.stageTimeouts.analyze"),description:o("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,b.jsx)(aF,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:aS,onChange:aT,onBlur:()=>{aS!==bi&&y(bl({analyzeRepoTimeout:aS}))},defaultSeconds:600})})]}),(0,b.jsx)(aO,{children:o("settings.stageTimeouts.hint")})]}),(0,b.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,b.jsxs)(aL,{icon:j,title:o("settings.notifications.title"),description:o("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,b.jsx)(aN,{children:o("settings.notifications.channels")}),(0,b.jsx)(aK,{label:o("settings.notifications.inAppLabel"),description:o("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:a2,onChange:a=>{a3(a),y(bm({inApp:a}))}}),(0,b.jsx)(aN,{children:o("settings.notifications.subsections.agentEvents")}),(0,b.jsx)(aK,{label:o("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:a4.agentStarted,onChange:a=>{let b={...a4,agentStarted:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:a4.phaseCompleted,onChange:a=>{let b={...a4,phaseCompleted:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:a4.waitingApproval,onChange:a=>{let b={...a4,waitingApproval:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:a4.agentCompleted,onChange:a=>{let b={...a4,agentCompleted:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:a4.agentFailed,onChange:a=>{let b={...a4,agentFailed:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aN,{children:o("settings.notifications.subsections.pullRequestEvents")}),(0,b.jsx)(aK,{label:o("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:a4.prMerged,onChange:a=>{let b={...a4,prMerged:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:a4.prClosed,onChange:a=>{let b={...a4,prClosed:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:a4.prChecksPassed,onChange:a=>{let b={...a4,prChecksPassed:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:a4.prChecksFailed,onChange:a=>{let b={...a4,prChecksFailed:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:a4.prBlocked,onChange:a=>{let b={...a4,prBlocked:a};a5(b),y(bm({events:b}))}}),(0,b.jsx)(aK,{label:o("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:a4.mergeReviewReady,onChange:a=>{let b={...a4,mergeReviewReady:a};a5(b),y(bm({events:b}))}})]}),(0,b.jsx)(aO,{links:[{label:o("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:o("settings.notifications.hint")})]}),(0,b.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,b.jsxs)(aL,{icon:k,title:o("settings.featureFlags.title"),description:o("settings.featureFlags.sectionDescription"),badge:o("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,b.jsx)(aK,{label:o("settings.featureFlags.skills"),description:o("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:a6.skills,onChange:a=>{let b={...a6,skills:a};a7(b),y({featureFlags:b})}}),(0,b.jsx)(aK,{label:o("settings.featureFlags.deployments"),description:o("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:a6.envDeploy,onChange:a=>{let b={...a6,envDeploy:a};a7(b),y({featureFlags:b})}}),(0,b.jsx)(aK,{label:o("settings.featureFlags.debug"),description:o("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:a6.debug,onChange:a=>{let b={...a6,debug:a};a7(b),y({featureFlags:b})}}),(0,b.jsx)(aK,{label:o("settings.featureFlags.githubImport"),description:o("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:a6.githubImport,onChange:a=>{let b={...a6,githubImport:a};a7(b),y({featureFlags:b})}}),(0,b.jsx)(aK,{label:o("settings.featureFlags.adoptBranch"),description:o("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:a6.adoptBranch,onChange:a=>{let b={...a6,adoptBranch:a};a7(b),y({featureFlags:b})}}),(0,b.jsx)(aK,{label:o("settings.featureFlags.gitRebaseSync"),description:o("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:a6.gitRebaseSync,onChange:a=>{let b={...a6,gitRebaseSync:a};a7(b),y({featureFlags:b})}}),(0,b.jsx)(aK,{label:o("settings.featureFlags.reactFileManager"),description:o("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:a6.reactFileManager,onChange:a=>{let b={...a6,reactFileManager:a};a7(b),y({featureFlags:b})}})]}),(0,b.jsx)(aO,{children:o("settings.featureFlags.hint")})]}),(0,b.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,b.jsxs)(aL,{icon:s.MessageSquare,title:o("settings.interactiveAgent.title"),description:o("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,b.jsx)(aK,{label:o("settings.interactiveAgent.enableChatTab"),description:o("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:aV,onChange:a=>{aW(a),y({interactiveAgent:{enabled:a,autoTimeoutMinutes:parseInt(aX,10)||15,maxConcurrentSessions:parseInt(aZ,10)||3}})}}),(0,b.jsx)(aJ,{label:o("settings.interactiveAgent.autoTimeout"),description:o("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,b.jsx)(aM,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:aX,placeholder:"15",min:1,max:120,suffix:"min",onChange:aY,onBlur:()=>{let a=parseInt(aX,10),b=Number.isNaN(a)?15:Math.min(120,Math.max(1,a));aY(String(b)),y({interactiveAgent:{enabled:aV,autoTimeoutMinutes:b,maxConcurrentSessions:parseInt(aZ,10)||3}})}})}),(0,b.jsx)(aJ,{label:o("settings.interactiveAgent.maxConcurrentSessions"),description:o("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,b.jsx)(aM,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:aZ,placeholder:"3",min:1,max:10,onChange:a$,onBlur:()=>{let a=parseInt(aZ,10),b=Number.isNaN(a)?3:Math.min(10,Math.max(1,a));a$(String(b)),y({interactiveAgent:{enabled:aV,autoTimeoutMinutes:parseInt(aX,10)||15,maxConcurrentSessions:b}})}})})]}),(0,b.jsx)(aO,{children:o("settings.interactiveAgent.hint")})]}),(0,b.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,b.jsx)(aL,{icon:t,title:o("settings.fabLayout.title"),description:o("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,b.jsx)(aK,{label:o("settings.fabLayout.swapPosition"),description:o("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:a0,onChange:a=>{a1(a),y({fabLayout:{swapPosition:a}})}})}),(0,b.jsx)(aO,{children:o("settings.fabLayout.hint")})]}),(0,b.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,b.jsxs)(aL,{icon:l,title:o("settings.database.title"),description:o("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,b.jsx)(aJ,{label:o("settings.database.location"),description:o("settings.database.locationDescription"),children:(0,b.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:h})}),(0,b.jsx)(aJ,{label:o("settings.database.size"),children:(0,b.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:m})})]}),(0,b.jsx)(aO,{links:[{label:o("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:o("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:o("settings.database.hint")})]})]})]})}a.s(["SettingsPageClient",()=>aP],79020)}];
2
2
 
3
3
  //# sourceMappingURL=b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map