@shepai/cli 1.160.0-pr501.ddca420 → 1.161.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apis/json-schema/WorkflowConfig.yaml +5 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.d.ts +30 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.js +75 -0
- package/dist/packages/core/src/application/use-cases/features/auto-resolve-merged-branches.use-case.d.ts +38 -0
- package/dist/packages/core/src/application/use-cases/features/auto-resolve-merged-branches.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/auto-resolve-merged-branches.use-case.js +190 -0
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +4 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +5 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +3 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.d.ts +15 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.js +20 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +6 -3
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.d.ts +48 -0
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.js +101 -0
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/_serve.command.js +5 -0
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ui.command.js +5 -0
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +10 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +23 -1
- package/dist/src/presentation/web/dev-server.js +10 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ee0eaaf9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ee0eaaf9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_c6670dc4._.js → _18a3b7f5._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c6670dc4._.js.map → _18a3b7f5._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
- package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_3c638d2f._.js +3 -0
- package/web/.next/server/chunks/ssr/{_fef309e0._.js.map → _3c638d2f._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_17066a99._.js → _3f23f48f._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_17066a99._.js.map → _3f23f48f._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
- package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
- package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
- package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
- package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
- package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +45 -45
- package/web/.next/static/chunks/{1bd2ba8a19d079aa.js → 076eaf8a817b5284.js} +1 -1
- package/web/.next/static/chunks/{303c0952da094261.js → 328e534d335ef687.js} +1 -1
- package/web/.next/static/chunks/3ee176daee98f78c.js +1 -0
- package/web/.next/static/chunks/{c6b20cc5ee4ef34d.js → 419f55272dedf3b3.js} +1 -1
- package/web/.next/static/chunks/{9a4178dc39dcd688.js → 496df1d4a9c9d83c.js} +3 -3
- package/web/.next/static/chunks/{477846404f442a7e.js → 6d60df4b3071af3b.js} +1 -1
- package/web/.next/static/chunks/{ef2562bc1dc46399.js → 9555d8a511c05bd5.js} +1 -1
- package/web/.next/static/chunks/{548c3788e8b0e92d.js → 990b5a6eb6b8dedb.js} +1 -1
- package/web/.next/static/chunks/{23b9eb93920d2ff9.js → b5155ee03ad70945.js} +1 -1
- package/web/.next/static/chunks/{2132c13f17d12462.js → c304db8f1d27505a.js} +2 -2
- package/web/.next/static/chunks/{a5782487c8a1ccbf.js → c7b37a688ea97611.js} +1 -1
- package/web/.next/static/chunks/{295fdc5e64c8733c.js → e523ab79dcc7f132.js} +1 -1
- package/web/.next/server/chunks/ssr/_fef309e0._.js +0 -3
- package/web/.next/static/chunks/e8987f3bc065cff8.js +0 -1
- /package/web/.next/static/{9dkRcoZpYzBI-UmJ3hw5- → kYE1v6B90r_hNugkL9Zh-}/_buildManifest.js +0 -0
- /package/web/.next/static/{9dkRcoZpYzBI-UmJ3hw5- → kYE1v6B90r_hNugkL9Zh-}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{9dkRcoZpYzBI-UmJ3hw5- → kYE1v6B90r_hNugkL9Zh-}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41952,e=>{"use strict";var t=e.i(20314),n=e.i(79054),i=e.i(23925),s=e.i(26370),a=e.i(38573),r=e.i(49228),l=e.i(3645);let o=(0,l.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"}]]),c=(0,l.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"}]]),d=(0,l.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,l.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var p=e.i(32494),g=e.i(10714),g=g,m=e.i(3214),h=e.i(30702);let f=(0,l.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 v=e.i(58860),x=e.i(48109),w=e.i(60112);e.i(41001);var b=e.i(64780),y=e.i(31777),j=e.i(41957),S=e.i(51911),C=e.i(26036),k=e.i(27069),N=e.i(91967),M=e.i(87342),I=e.i(5978),T=e.i(22528),P=e.i(66033),E=e.i(53532),R=e.i(41687),D=e.i(56720),A=e.i(13123),F=e.i(52740),L=e.i(39979),B=e.i(87620),H=e.i(86874),z=e.i(29297),_=e.i(36589),V=e.i(5192),K=e.i(23405),O=e.i(1693),W=e.i(73772),U=e.i(13044),G=[" ","Enter","ArrowUp","ArrowDown"],q=[" ","Enter"],$="Select",[Y,Z,X]=(0,M.createCollection)($),[J,Q]=(0,T.createContextScope)($,[X,F.createPopperScope]),ee=(0,F.createPopperScope)(),[et,en]=J($),[ei,es]=J($),ea=e=>{let{__scopeSelect:i,children:s,open:a,defaultOpen:r,onOpenChange:l,value:o,defaultValue:c,onValueChange:d,dir:u,name:p,autoComplete:g,disabled:m,required:h,form:f}=e,v=ee(i),[x,w]=n.useState(null),[b,y]=n.useState(null),[j,S]=n.useState(!1),C=(0,P.useDirection)(u),[k,N]=(0,_.useControllableState)({prop:a,defaultProp:r??!1,onChange:l,caller:$}),[M,I]=(0,_.useControllableState)({prop:o,defaultProp:c,onChange:d,caller:$}),T=n.useRef(null),E=!x||f||!!x.closest("form"),[R,D]=n.useState(new Set),L=Array.from(R).map(e=>e.props.value).join(";");return(0,t.jsx)(F.Root,{...v,children:(0,t.jsxs)(et,{required:h,scope:i,trigger:x,onTriggerChange:w,valueNode:b,onValueNodeChange:y,valueNodeHasChildren:j,onValueNodeHasChildrenChange:S,contentId:(0,A.useId)(),value:M,onValueChange:I,open:k,onOpenChange:N,dir:C,triggerPointerDownPosRef:T,disabled:m,children:[(0,t.jsx)(Y.Provider,{scope:i,children:(0,t.jsx)(ei,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(e=>{D(t=>new Set(t).add(e))},[]),onNativeOptionRemove:n.useCallback(e=>{D(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:s})}),E?(0,t.jsxs)(eG,{"aria-hidden":!0,required:h,tabIndex:-1,name:p,autoComplete:g,value:M,onChange:e=>I(e.target.value),disabled:m,form:f,children:[void 0===M?(0,t.jsx)("option",{value:""}):null,Array.from(R)]},L):null]})})};ea.displayName=$;var er="SelectTrigger",el=n.forwardRef((e,i)=>{let{__scopeSelect:s,disabled:a=!1,...r}=e,l=ee(s),o=en(er,s),c=o.disabled||a,d=(0,I.useComposedRefs)(i,o.onTriggerChange),u=Z(s),p=n.useRef("touch"),[g,m,h]=e$(e=>{let t=u().filter(e=>!e.disabled),n=t.find(e=>e.value===o.value),i=eY(t,e,n);void 0!==i&&o.onValueChange(i.value)}),f=e=>{c||(o.onOpenChange(!0),h()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(F.Anchor,{asChild:!0,...l,children:(0,t.jsx)(B.Primitive.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":eq(o.value)?"":void 0,...r,ref:d,onClick:(0,N.composeEventHandlers)(r.onClick,e=>{e.currentTarget.focus(),"mouse"!==p.current&&f(e)}),onPointerDown:(0,N.composeEventHandlers)(r.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(f(e),e.preventDefault())}),onKeyDown:(0,N.composeEventHandlers)(r.onKeyDown,e=>{let t=""!==g.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),(!t||" "!==e.key)&&G.includes(e.key)&&(f(),e.preventDefault())})})})});el.displayName=er;var eo="SelectValue",ec=n.forwardRef((e,n)=>{let{__scopeSelect:i,className:s,style:a,children:r,placeholder:l="",...o}=e,c=en(eo,i),{onValueNodeHasChildrenChange:d}=c,u=void 0!==r,p=(0,I.useComposedRefs)(n,c.onValueNodeChange);return(0,V.useLayoutEffect)(()=>{d(u)},[d,u]),(0,t.jsx)(B.Primitive.span,{...o,ref:p,style:{pointerEvents:"none"},children:eq(c.value)?(0,t.jsx)(t.Fragment,{children:l}):r})});ec.displayName=eo;var ed=n.forwardRef((e,n)=>{let{__scopeSelect:i,children:s,...a}=e;return(0,t.jsx)(B.Primitive.span,{"aria-hidden":!0,...a,ref:n,children:s||"▼"})});ed.displayName="SelectIcon";var eu=e=>(0,t.jsx)(L.Portal,{asChild:!0,...e});eu.displayName="SelectPortal";var ep="SelectContent",eg=n.forwardRef((e,i)=>{let s=en(ep,e.__scopeSelect),[a,r]=n.useState();return((0,V.useLayoutEffect)(()=>{r(new DocumentFragment)},[]),s.open)?(0,t.jsx)(ev,{...e,ref:i}):a?C.createPortal((0,t.jsx)(em,{scope:e.__scopeSelect,children:(0,t.jsx)(Y.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),a):null});eg.displayName=ep;var[em,eh]=J(ep),ef=(0,H.createSlot)("SelectContent.RemoveScroll"),ev=n.forwardRef((e,i)=>{let{__scopeSelect:s,position:a="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:l,onPointerDownOutside:o,side:c,sideOffset:d,align:u,alignOffset:p,arrowPadding:g,collisionBoundary:m,collisionPadding:h,sticky:f,hideWhenDetached:v,avoidCollisions:x,...w}=e,b=en(ep,s),[y,j]=n.useState(null),[S,C]=n.useState(null),k=(0,I.useComposedRefs)(i,e=>j(e)),[M,T]=n.useState(null),[P,A]=n.useState(null),F=Z(s),[L,B]=n.useState(!1),H=n.useRef(!1);n.useEffect(()=>{if(y)return(0,W.hideOthers)(y)},[y]),(0,R.useFocusGuards)();let z=n.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[i]=n.slice(-1),s=document.activeElement;for(let n of e)if(n===s||(n?.scrollIntoView({block:"nearest"}),n===t&&S&&(S.scrollTop=0),n===i&&S&&(S.scrollTop=S.scrollHeight),n?.focus(),document.activeElement!==s))return},[F,S]),_=n.useCallback(()=>z([M,y]),[z,M,y]);n.useEffect(()=>{L&&_()},[L,_]);let{onOpenChange:V,triggerPointerDownPosRef:K}=b;n.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(K.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():y.contains(n.target)||V(!1),document.removeEventListener("pointermove",t),K.current=null};return null!==K.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",n,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",n,{capture:!0})}}},[y,V,K]),n.useEffect(()=>{let e=()=>V(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[V]);let[O,G]=e$(e=>{let t=F().filter(e=>!e.disabled),n=t.find(e=>e.ref.current===document.activeElement),i=eY(t,e,n);i&&setTimeout(()=>i.ref.current.focus())}),q=n.useCallback((e,t,n)=>{let i=!H.current&&!n;(void 0!==b.value&&b.value===t||i)&&(T(e),i&&(H.current=!0))},[b.value]),$=n.useCallback(()=>y?.focus(),[y]),Y=n.useCallback((e,t,n)=>{let i=!H.current&&!n;(void 0!==b.value&&b.value===t||i)&&A(e)},[b.value]),X="popper"===a?ew:ex,J=X===ew?{side:c,sideOffset:d,align:u,alignOffset:p,arrowPadding:g,collisionBoundary:m,collisionPadding:h,sticky:f,hideWhenDetached:v,avoidCollisions:x}:{};return(0,t.jsx)(em,{scope:s,content:y,viewport:S,onViewportChange:C,itemRefCallback:q,selectedItem:M,onItemLeave:$,itemTextRefCallback:Y,focusSelectedItem:_,selectedItemText:P,position:a,isPositioned:L,searchRef:O,children:(0,t.jsx)(U.RemoveScroll,{as:ef,allowPinchZoom:!0,children:(0,t.jsx)(D.FocusScope,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,N.composeEventHandlers)(r,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(E.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,t.jsx)(X,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:e=>e.preventDefault(),...w,...J,onPlaced:()=>B(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:(0,N.composeEventHandlers)(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||G(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=F().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let n=e.target,i=t.indexOf(n);t=t.slice(i+1)}setTimeout(()=>z(t)),e.preventDefault()}})})})})})})});ev.displayName="SelectContentImpl";var ex=n.forwardRef((e,i)=>{let{__scopeSelect:s,onPlaced:a,...r}=e,l=en(ep,s),o=eh(ep,s),[c,d]=n.useState(null),[u,p]=n.useState(null),g=(0,I.useComposedRefs)(i,e=>p(e)),m=Z(s),h=n.useRef(!1),f=n.useRef(!0),{viewport:v,selectedItem:x,selectedItemText:w,focusSelectedItem:b}=o,y=n.useCallback(()=>{if(l.trigger&&l.valueNode&&c&&u&&v&&x&&w){let e=l.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=l.valueNode.getBoundingClientRect(),i=w.getBoundingClientRect();if("rtl"!==l.dir){let s=i.left-t.left,a=n.left-s,r=e.left-a,l=e.width+r,o=Math.max(l,t.width),d=window.innerWidth-10,u=(0,k.clamp)(a,[10,Math.max(10,d-o)]);c.style.minWidth=l+"px",c.style.left=u+"px"}else{let s=t.right-i.right,a=window.innerWidth-n.right-s,r=window.innerWidth-e.right-a,l=e.width+r,o=Math.max(l,t.width),d=window.innerWidth-10,u=(0,k.clamp)(a,[10,Math.max(10,d-o)]);c.style.minWidth=l+"px",c.style.right=u+"px"}let s=m(),r=window.innerHeight-20,o=v.scrollHeight,d=window.getComputedStyle(u),p=parseInt(d.borderTopWidth,10),g=parseInt(d.paddingTop,10),f=parseInt(d.borderBottomWidth,10),b=p+g+o+parseInt(d.paddingBottom,10)+f,y=Math.min(5*x.offsetHeight,b),j=window.getComputedStyle(v),S=parseInt(j.paddingTop,10),C=parseInt(j.paddingBottom,10),N=e.top+e.height/2-10,M=x.offsetHeight/2,I=p+g+(x.offsetTop+M);if(I<=N){let e=s.length>0&&x===s[s.length-1].ref.current;c.style.bottom="0px";let t=Math.max(r-N,M+(e?C:0)+(u.clientHeight-v.offsetTop-v.offsetHeight)+f);c.style.height=I+t+"px"}else{let e=s.length>0&&x===s[0].ref.current;c.style.top="0px";let t=Math.max(N,p+v.offsetTop+(e?S:0)+M);c.style.height=t+(b-I)+"px",v.scrollTop=I-N+v.offsetTop}c.style.margin="10px 0",c.style.minHeight=y+"px",c.style.maxHeight=r+"px",a?.(),requestAnimationFrame(()=>h.current=!0)}},[m,l.trigger,l.valueNode,c,u,v,x,w,l.dir,a]);(0,V.useLayoutEffect)(()=>y(),[y]);let[j,S]=n.useState();(0,V.useLayoutEffect)(()=>{u&&S(window.getComputedStyle(u).zIndex)},[u]);let C=n.useCallback(e=>{e&&!0===f.current&&(y(),b?.(),f.current=!1)},[y,b]);return(0,t.jsx)(eb,{scope:s,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:(0,t.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,t.jsx)(B.Primitive.div,{...r,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});ex.displayName="SelectItemAlignedPosition";var ew=n.forwardRef((e,n)=>{let{__scopeSelect:i,align:s="start",collisionPadding:a=10,...r}=e,l=ee(i);return(0,t.jsx)(F.Content,{...l,...r,ref:n,align:s,collisionPadding:a,style:{boxSizing:"border-box",...r.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)"}})});ew.displayName="SelectPopperPosition";var[eb,ey]=J(ep,{}),ej="SelectViewport",eS=n.forwardRef((e,i)=>{let{__scopeSelect:s,nonce:a,...r}=e,l=eh(ej,s),o=ey(ej,s),c=(0,I.useComposedRefs)(i,l.onViewportChange),d=n.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,t.jsx)(Y.Slot,{scope:s,children:(0,t.jsx)(B.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:(0,N.composeEventHandlers)(r.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:i}=o;if(i?.current&&n){let e=Math.abs(d.current-t.scrollTop);if(e>0){let i=window.innerHeight-20,s=Math.max(parseFloat(n.style.minHeight),parseFloat(n.style.height));if(s<i){let a=s+e,r=Math.min(i,a),l=a-r;n.style.height=r+"px","0px"===n.style.bottom&&(t.scrollTop=l>0?l:0,n.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})});eS.displayName=ej;var eC="SelectGroup",[ek,eN]=J(eC),eM=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=(0,A.useId)();return(0,t.jsx)(ek,{scope:i,id:a,children:(0,t.jsx)(B.Primitive.div,{role:"group","aria-labelledby":a,...s,ref:n})})});eM.displayName=eC;var eI="SelectLabel",eT=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=eN(eI,i);return(0,t.jsx)(B.Primitive.div,{id:a.id,...s,ref:n})});eT.displayName=eI;var eP="SelectItem",[eE,eR]=J(eP),eD=n.forwardRef((e,i)=>{let{__scopeSelect:s,value:a,disabled:r=!1,textValue:l,...o}=e,c=en(eP,s),d=eh(eP,s),u=c.value===a,[p,g]=n.useState(l??""),[m,h]=n.useState(!1),f=(0,I.useComposedRefs)(i,e=>d.itemRefCallback?.(e,a,r)),v=(0,A.useId)(),x=n.useRef("touch"),w=()=>{r||(c.onValueChange(a),c.onOpenChange(!1))};if(""===a)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(eE,{scope:s,value:a,disabled:r,textId:v,isSelected:u,onItemTextChange:n.useCallback(e=>{g(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(Y.ItemSlot,{scope:s,value:a,disabled:r,textValue:p,children:(0,t.jsx)(B.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":m?"":void 0,"aria-selected":u&&m,"data-state":u?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...o,ref:f,onFocus:(0,N.composeEventHandlers)(o.onFocus,()=>h(!0)),onBlur:(0,N.composeEventHandlers)(o.onBlur,()=>h(!1)),onClick:(0,N.composeEventHandlers)(o.onClick,()=>{"mouse"!==x.current&&w()}),onPointerUp:(0,N.composeEventHandlers)(o.onPointerUp,()=>{"mouse"===x.current&&w()}),onPointerDown:(0,N.composeEventHandlers)(o.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:(0,N.composeEventHandlers)(o.onPointerMove,e=>{x.current=e.pointerType,r?d.onItemLeave?.():"mouse"===x.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,N.composeEventHandlers)(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:(0,N.composeEventHandlers)(o.onKeyDown,e=>{(d.searchRef?.current===""||" "!==e.key)&&(q.includes(e.key)&&w()," "===e.key&&e.preventDefault())})})})})});eD.displayName=eP;var eA="SelectItemText",eF=n.forwardRef((e,i)=>{let{__scopeSelect:s,className:a,style:r,...l}=e,o=en(eA,s),c=eh(eA,s),d=eR(eA,s),u=es(eA,s),[p,g]=n.useState(null),m=(0,I.useComposedRefs)(i,e=>g(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),h=p?.textContent,f=n.useMemo(()=>(0,t.jsx)("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:v,onNativeOptionRemove:x}=u;return(0,V.useLayoutEffect)(()=>(v(f),()=>x(f)),[v,x,f]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B.Primitive.span,{id:d.textId,...l,ref:m}),d.isSelected&&o.valueNode&&!o.valueNodeHasChildren?C.createPortal(l.children,o.valueNode):null]})});eF.displayName=eA;var eL="SelectItemIndicator",eB=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e;return eR(eL,i).isSelected?(0,t.jsx)(B.Primitive.span,{"aria-hidden":!0,...s,ref:n}):null});eB.displayName=eL;var eH="SelectScrollUpButton",ez=n.forwardRef((e,i)=>{let s=eh(eH,e.__scopeSelect),a=ey(eH,e.__scopeSelect),[r,l]=n.useState(!1),o=(0,I.useComposedRefs)(i,a.onScrollButtonChange);return(0,V.useLayoutEffect)(()=>{if(s.viewport&&s.isPositioned){let e=function(){l(t.scrollTop>0)},t=s.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),r?(0,t.jsx)(eK,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=s;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ez.displayName=eH;var e_="SelectScrollDownButton",eV=n.forwardRef((e,i)=>{let s=eh(e_,e.__scopeSelect),a=ey(e_,e.__scopeSelect),[r,l]=n.useState(!1),o=(0,I.useComposedRefs)(i,a.onScrollButtonChange);return(0,V.useLayoutEffect)(()=>{if(s.viewport&&s.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;l(Math.ceil(t.scrollTop)<e)},t=s.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),r?(0,t.jsx)(eK,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=s;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});eV.displayName=e_;var eK=n.forwardRef((e,i)=>{let{__scopeSelect:s,onAutoScroll:a,...r}=e,l=eh("SelectScrollButton",s),o=n.useRef(null),c=Z(s),d=n.useCallback(()=>{null!==o.current&&(window.clearInterval(o.current),o.current=null)},[]);return n.useEffect(()=>()=>d(),[d]),(0,V.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(B.Primitive.div,{"aria-hidden":!0,...r,ref:i,style:{flexShrink:0,...r.style},onPointerDown:(0,N.composeEventHandlers)(r.onPointerDown,()=>{null===o.current&&(o.current=window.setInterval(a,50))}),onPointerMove:(0,N.composeEventHandlers)(r.onPointerMove,()=>{l.onItemLeave?.(),null===o.current&&(o.current=window.setInterval(a,50))}),onPointerLeave:(0,N.composeEventHandlers)(r.onPointerLeave,()=>{d()})})}),eO=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e;return(0,t.jsx)(B.Primitive.div,{"aria-hidden":!0,...s,ref:n})});eO.displayName="SelectSeparator";var eW="SelectArrow",eU=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=ee(i),r=en(eW,i),l=eh(eW,i);return r.open&&"popper"===l.position?(0,t.jsx)(F.Arrow,{...a,...s,ref:n}):null});eU.displayName=eW;var eG=n.forwardRef(({__scopeSelect:e,value:i,...s},a)=>{let r=n.useRef(null),l=(0,I.useComposedRefs)(a,r),o=(0,K.usePrevious)(i);return n.useEffect(()=>{let e=r.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(o!==i&&t){let n=new Event("change",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(B.Primitive.select,{...s,style:{...O.VISUALLY_HIDDEN_STYLES,...s.style},ref:l,defaultValue:i})});function eq(e){return""===e||void 0===e}function e$(e){let t=(0,z.useCallbackRef)(e),i=n.useRef(""),s=n.useRef(0),a=n.useCallback(e=>{let n=i.current+e;t(n),function e(t){i.current=t,window.clearTimeout(s.current),""!==t&&(s.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),r=n.useCallback(()=>{i.current="",window.clearTimeout(s.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(s.current),[]),[i,a,r]}function eY(e,t,n){var i,s;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,r=n?e.indexOf(n):-1,l=(i=e,s=Math.max(r,0),i.map((e,t)=>i[(s+t)%i.length]));1===a.length&&(l=l.filter(e=>e!==n));let o=l.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return o!==n?o:void 0}eG.displayName="SelectBubbleInput",e.s(["Arrow",()=>eU,"Content",()=>eg,"Group",()=>eM,"Icon",()=>ed,"Item",()=>eD,"ItemIndicator",()=>eB,"ItemText",()=>eF,"Label",()=>eT,"Portal",()=>eu,"Root",()=>ea,"ScrollDownButton",()=>eV,"ScrollUpButton",()=>ez,"Select",()=>ea,"SelectArrow",()=>eU,"SelectContent",()=>eg,"SelectGroup",()=>eM,"SelectIcon",()=>ed,"SelectItem",()=>eD,"SelectItemIndicator",()=>eB,"SelectItemText",()=>eF,"SelectLabel",()=>eT,"SelectPortal",()=>eu,"SelectScrollDownButton",()=>eV,"SelectScrollUpButton",()=>ez,"SelectSeparator",()=>eO,"SelectTrigger",()=>el,"SelectValue",()=>ec,"SelectViewport",()=>eS,"Separator",()=>eO,"Trigger",()=>el,"Value",()=>ec,"Viewport",()=>eS,"createSelectScope",()=>Q],83830);var eZ=e.i(83830),eZ=eZ,eX=e.i(99105),eJ=e.i(48829);let eQ=eZ.Root;eZ.Group;let e0=eZ.Value,e1=n.forwardRef(({className:e,children:n,...i},s)=>(0,t.jsxs)(eZ.Trigger,{ref:s,className:(0,y.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...i,children:[n,(0,t.jsx)(eZ.Icon,{asChild:!0,children:(0,t.jsx)(eX.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));e1.displayName=eZ.Trigger.displayName;let e2=n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.ScrollUpButton,{ref:i,className:(0,y.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eJ.ChevronUp,{className:"h-4 w-4"})}));e2.displayName=eZ.ScrollUpButton.displayName;let e3=n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.ScrollDownButton,{ref:i,className:(0,y.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eX.ChevronDown,{className:"h-4 w-4"})}));e3.displayName=eZ.ScrollDownButton.displayName;let e5=n.forwardRef(({className:e,children:n,position:i="popper",...s},a)=>(0,t.jsx)(eZ.Portal,{children:(0,t.jsxs)(eZ.Content,{ref:a,className:(0,y.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"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:i,...s,children:[(0,t.jsx)(e2,{}),(0,t.jsx)(eZ.Viewport,{className:(0,y.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),(0,t.jsx)(e3,{})]})}));e5.displayName=eZ.Content.displayName,n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.Label,{ref:i,className:(0,y.cn)("px-2 py-1.5 text-sm font-semibold",e),...n})).displayName=eZ.Label.displayName;let e4=n.forwardRef(({className:e,children:n,...s},a)=>(0,t.jsxs)(eZ.Item,{ref:a,className:(0,y.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",e),...s,children:[(0,t.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(eZ.ItemIndicator,{children:(0,t.jsx)(i.Check,{className:"h-4 w-4"})})}),(0,t.jsx)(eZ.ItemText,{children:n})]}));e4.displayName=eZ.Item.displayName,n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.Separator,{ref:i,className:(0,y.cn)("bg-muted -mx-1 my-1 h-px",e),...n})).displayName=eZ.Separator.displayName;var e8=e.i(21023);let e6=(0,e8.createServerReference)("400e6a712a87d83733c807a85f6929a9495e62aee3",e8.callServer,void 0,e8.findSourceMapURL,"updateSettingsAction");var e9=e.i(17406),e7=e.i(98804),te=e.i(44229),tt=e.i(83902);function tn(e){return(0,t.jsx)(te.Code,{className:(0,y.cn)("h-4 w-4",e.className),...e})}function ti({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function ts({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function ta({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function tr({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function tl({className:e,...n}){return(0,t.jsx)(tt.Rocket,{className:(0,y.cn)("h-4 w-4",e),...n})}ti.displayName="VsCodeIcon",ts.displayName="CursorEditorIcon",ta.displayName="WindsurfIcon",tr.displayName="ZedIcon",tl.displayName="AntigravityIcon";let to={vscode:ti,cursor:ts,windsurf:ta,zed:tr,antigravity:tl};var tc=e.i(41413),td=e.i(956);let tu=[{value:e9.Language.English,label:"English",nativeName:"English"},{value:e9.Language.Russian,label:"Русский",nativeName:"Русский"},{value:e9.Language.Portuguese,label:"Português",nativeName:"Português"},{value:e9.Language.Spanish,label:"Español",nativeName:"Español"},{value:e9.Language.Arabic,label:"العربية",nativeName:"العربية"},{value:e9.Language.Hebrew,label:"עברית",nativeName:"עברית"},{value:e9.Language.French,label:"Français",nativeName:"Français"},{value:e9.Language.German,label:"Deutsch",nativeName:"Deutsch"}];function tp({language:e}){let{t:s,i18n:a}=(0,b.useTranslation)("web"),[r,l]=(0,n.useState)(e),[o,c]=(0,n.useTransition)(),[d,u]=(0,n.useState)(!1),g=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{if(g.current&&!o){u(!0);let e=setTimeout(()=>u(!1),2e3);return()=>clearTimeout(e)}g.current=o},[o]),(0,t.jsxs)(td.Card,{id:"language",className:"scroll-mt-6","data-testid":"language-settings-section",children:[(0,t.jsxs)(td.CardHeader,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(p.Globe,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)(td.CardTitle,{children:s("settings.language.title")})]}),o?(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:s("common:labels.saving")}):null,d&&!o?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),s("common:labels.saved")]}):null]}),(0,t.jsx)(td.CardDescription,{children:s("settings.language.description")})]}),(0,t.jsx)(td.CardContent,{className:"space-y-4",children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{htmlFor:"display-language",children:s("settings.language.label")}),(0,t.jsxs)(eQ,{value:r,onValueChange:function(e){l(e),a.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,c(async()=>{let t=await e6({user:{preferredLanguage:e}});t.success||w.toast.error(t.error??s("settings.language.failedToSave","Failed to save language settings"))})},children:[(0,t.jsx)(e1,{id:"display-language","data-testid":"language-select",children:(0,t.jsx)(e0,{placeholder:s("settings.language.placeholder")})}),(0,t.jsx)(e5,{children:tu.map(e=>(0,t.jsx)(e4,{value:e.value,children:e.nativeName},e.value))})]})]})})]})}var tg=e.i(77624),tm=["PageUp","PageDown"],th=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],tf={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},tv="Slider",[tx,tw,tb]=(0,M.createCollection)(tv),[ty,tj]=(0,T.createContextScope)(tv,[tb]),[tS,tC]=ty(tv),tk=n.forwardRef((e,i)=>{let{name:s,min:a=0,max:r=100,step:l=1,orientation:o="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:p,onValueChange:g=()=>{},onValueCommit:m=()=>{},inverted:h=!1,form:f,...v}=e,x=n.useRef(new Set),w=n.useRef(0),b="horizontal"===o,[y=[],j]=(0,_.useControllableState)({prop:p,defaultProp:u,onChange:e=>{let t=[...x.current];t[w.current]?.focus(),g(e)}}),S=n.useRef(y);function C(e,t,{commit:n}={commit:!1}){let i,s=(String(l).split(".")[1]||"").length,o=Math.round((Math.round((e-a)/l)*l+a)*(i=Math.pow(10,s)))/i,c=(0,k.clamp)(o,[a,r]);j((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,d*l))return e;{w.current=i.indexOf(c);let t=String(i)!==String(e);return t&&n&&m(i),t?i:e}})}return(0,t.jsx)(tS,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:r,valueIndexToChangeRef:w,thumbs:x.current,values:y,orientation:o,form:f,children:(0,t.jsx)(tx.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(tx.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(b?tI:tT,{"aria-disabled":c,"data-disabled":c?"":void 0,...v,ref:i,onPointerDown:(0,N.composeEventHandlers)(v.onPointerDown,()=>{c||(S.current=y)}),min:a,max:r,inverted:h,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(y,e);C(e,t)},onSlideMove:c?void 0:function(e){C(e,w.current)},onSlideEnd:c?void 0:function(){let e=S.current[w.current];y[w.current]!==e&&m(y)},onHomeKeyDown:()=>!c&&C(a,0,{commit:!0}),onEndKeyDown:()=>!c&&C(r,y.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let n=tm.includes(e.key)||e.shiftKey&&th.includes(e.key),i=w.current;C(y[i]+l*(n?10:1)*t,i,{commit:!0})}}})})})})});tk.displayName=tv;var[tN,tM]=ty(tv,{startEdge:"left",endEdge:"right",size:"width",direction:1}),tI=n.forwardRef((e,i)=>{let{min:s,max:a,dir:r,inverted:l,onSlideStart:o,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...p}=e,[g,m]=n.useState(null),h=(0,I.useComposedRefs)(i,e=>m(e)),f=n.useRef(void 0),v=(0,P.useDirection)(r),x="ltr"===v,w=x&&!l||!x&&l;function b(e){let t=f.current||g.getBoundingClientRect(),n=t_([0,t.width],w?[s,a]:[a,s]);return f.current=t,n(e-t.left)}return(0,t.jsx)(tN,{scope:e.__scopeSlider,startEdge:w?"left":"right",endEdge:w?"right":"left",direction:w?1:-1,size:"width",children:(0,t.jsx)(tP,{dir:v,"data-orientation":"horizontal",...p,ref:h,style:{...p.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=b(e.clientX);o?.(t)},onSlideMove:e=>{let t=b(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=tf[w?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),tT=n.forwardRef((e,i)=>{let{min:s,max:a,inverted:r,onSlideStart:l,onSlideMove:o,onSlideEnd:c,onStepKeyDown:d,...u}=e,p=n.useRef(null),g=(0,I.useComposedRefs)(i,p),m=n.useRef(void 0),h=!r;function f(e){let t=m.current||p.current.getBoundingClientRect(),n=t_([0,t.height],h?[a,s]:[s,a]);return m.current=t,n(e-t.top)}return(0,t.jsx)(tN,{scope:e.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1,children:(0,t.jsx)(tP,{"data-orientation":"vertical",...u,ref:g,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);l?.(t)},onSlideMove:e=>{let t=f(e.clientY);o?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=tf[h?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),tP=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:s,onSlideMove:a,onSlideEnd:r,onHomeKeyDown:l,onEndKeyDown:o,onStepKeyDown:c,...d}=e,u=tC(tv,i);return(0,t.jsx)(B.Primitive.span,{...d,ref:n,onKeyDown:(0,N.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(o(e),e.preventDefault()):tm.concat(th).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,N.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,N.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,N.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),r(e))})})}),tE="SliderTrack",tR=n.forwardRef((e,n)=>{let{__scopeSlider:i,...s}=e,a=tC(tE,i);return(0,t.jsx)(B.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:n})});tR.displayName=tE;var tD="SliderRange",tA=n.forwardRef((e,i)=>{let{__scopeSlider:s,...a}=e,r=tC(tD,s),l=tM(tD,s),o=n.useRef(null),c=(0,I.useComposedRefs)(i,o),d=r.values.length,u=r.values.map(e=>tz(e,r.min,r.max)),p=d>1?Math.min(...u):0,g=100-Math.max(...u);return(0,t.jsx)(B.Primitive.span,{"data-orientation":r.orientation,"data-disabled":r.disabled?"":void 0,...a,ref:c,style:{...e.style,[l.startEdge]:p+"%",[l.endEdge]:g+"%"}})});tA.displayName=tD;var tF="SliderThumb",tL=n.forwardRef((e,i)=>{let s=tw(e.__scopeSlider),[a,r]=n.useState(null),l=(0,I.useComposedRefs)(i,e=>r(e)),o=n.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(tB,{...e,ref:l,index:o})}),tB=n.forwardRef((e,i)=>{var s,a,r,l,o;let c,d,{__scopeSlider:u,index:p,name:g,...m}=e,h=tC(tF,u),f=tM(tF,u),[v,x]=n.useState(null),w=(0,I.useComposedRefs)(i,e=>x(e)),b=!v||h.form||!!v.closest("form"),y=(0,tg.useSize)(v),j=h.values[p],S=void 0===j?0:tz(j,h.min,h.max),C=(s=p,(a=h.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),k=y?.[f.size],M=k?(r=k,l=S,o=f.direction,d=t_([0,50],[0,c=r/2]),(c-d(l)*o)*o):0;return n.useEffect(()=>{if(v)return h.thumbs.add(v),()=>{h.thumbs.delete(v)}},[v,h.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${M}px)`},children:[(0,t.jsx)(tx.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(B.Primitive.span,{role:"slider","aria-label":e["aria-label"]||C,"aria-valuemin":h.min,"aria-valuenow":j,"aria-valuemax":h.max,"aria-orientation":h.orientation,"data-orientation":h.orientation,"data-disabled":h.disabled?"":void 0,tabIndex:h.disabled?void 0:0,...m,ref:w,style:void 0===j?{display:"none"}:e.style,onFocus:(0,N.composeEventHandlers)(e.onFocus,()=>{h.valueIndexToChangeRef.current=p})})}),b&&(0,t.jsx)(tH,{name:g??(h.name?h.name+(h.values.length>1?"[]":""):void 0),form:h.form,value:j},p)]})});tL.displayName=tF;var tH=n.forwardRef(({__scopeSlider:e,value:i,...s},a)=>{let r=n.useRef(null),l=(0,I.useComposedRefs)(r,a),o=(0,K.usePrevious)(i);return n.useEffect(()=>{let e=r.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(o!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(B.Primitive.input,{style:{display:"none"},...s,ref:l,defaultValue:i})});function tz(e,t,n){return(0,k.clamp)(100/(n-t)*(e-t),[0,100])}function t_(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}tH.displayName="RadioBubbleInput",e.s(["Range",()=>tA,"Root",()=>tk,"Slider",()=>tk,"SliderRange",()=>tA,"SliderThumb",()=>tL,"SliderTrack",()=>tR,"Thumb",()=>tL,"Track",()=>tR,"createSliderScope",()=>tj],29991);var tV=e.i(29991),tV=tV;function tK({className:e,defaultValue:i,value:s,min:a=0,max:r=100,...l}){let o=n.useMemo(()=>Array.isArray(s)?s:Array.isArray(i)?i:[a,r],[s,i,a,r]);return(0,t.jsxs)(tV.Root,{"data-slot":"slider",defaultValue:i,value:s,min:a,max:r,className:(0,y.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...l,children:[(0,t.jsx)(tV.Track,{"data-slot":"slider-track",className:(0,y.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(tV.Range,{"data-slot":"slider-range",className:(0,y.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:o.length},(e,n)=>(0,t.jsx)(tV.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},n))]})}let tO=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],tW=tO.length-1;function tU(e){let t=0,n=Math.abs(e-tO[0]);for(let i=1;i<tO.length;i++){let s=Math.abs(e-tO[i]);s<n&&(n=s,t=i)}return t}function tG({id:e,testId:i,value:s,onChange:a,onBlur:r,defaultSeconds:l=1800}){var o;let c,d,u=(""===s?l:parseInt(s,10))||l,[p,g]=(0,n.useState)(()=>tU(u)),m=tU(u);m!==p&&tO[p]!==u&&g(m);let h=(0,n.useCallback)(([e])=>{g(e),a(String(tO[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(tK,{id:e,"data-testid":i,min:0,max:tW,step:1,value:[p],onValueChange:h,onValueCommit:()=>r(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(c=Math.floor((o=tO[p])/3600),d=Math.round(o%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let tq=[{value:e9.EditorType.VsCode,label:"VS Code"},{value:e9.EditorType.Cursor,label:"Cursor"},{value:e9.EditorType.Windsurf,label:"Windsurf"},{value:e9.EditorType.Zed,label:"Zed"},{value:e9.EditorType.Antigravity,label:"Antigravity"}],t$=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],tY=[{id:"language",labelKey:"settings.sections.language",icon:p.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:s.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:a.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:r.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:o},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:v.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:c},{id:"feature-flags",labelKey:"settings.sections.flags",icon:d},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:x.MessageSquare},{id:"database",labelKey:"settings.sections.database",icon:u}];function tZ({label:e,description:n,htmlFor:i,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(j.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function tX({label:e,description:n,id:i,testId:s,checked:a,onChange:r,disabled:l}){return(0,t.jsx)(tZ,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(S.Switch,{id:i,"data-testid":s,checked:a,onCheckedChange:r,disabled:l,className:(0,y.cn)("cursor-pointer",l&&"cursor-not-allowed opacity-50")})})}function tJ({icon:e,title:n,description:i,badge:s,testId:a,children:r}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:n}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:i})]}),(0,t.jsx)("div",{className:"px-4",children:r})]})}function tQ({id:e,testId:n,value:i,onChange:s,onBlur:a,placeholder:r,min:l=1,max:o,step:c=1,suffix:d}){let{t:u}=(0,b.useTranslation)("web"),p=""===i?void 0:parseInt(i,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(l,(p??parseInt(r,10))-c)))},onMouseUp:a,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":u("common.decrease"),children:(0,t.jsx)(g.default,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:r,onChange:e=>{s(e.target.value.replace(/[^0-9]/g,""))},onBlur:a,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=p??parseInt(r,10),s(String(null!=o?Math.min(o,e+c):e+c))},onMouseUp:a,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":u("common.increase"),children:(0,t.jsx)(m.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function t0({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function t1({children:e,links:n}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(h.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function t2({settings:e,shepHome:l,dbFileSize:p,availableTerminals:g}){let{t:m}=(0,b.useTranslation)("web"),{showSaving:h,showSaved:j,save:S}=function(){let{t:e}=(0,b.useTranslation)("web"),[t,i]=(0,n.useTransition)(),[s,a]=(0,n.useState)(!1),[r,l]=(0,n.useState)(!1),o=(0,n.useRef)(null),c=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,o.current=setTimeout(()=>{o.current=null,c.current&&(a(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!t&&s&&(c.current=!0,o.current||(a(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[t,s]),{showSaving:s,showSaved:r,save:(0,n.useCallback)(t=>{i(async()=>{let n=await e6(t);n.success||w.toast.error(n.error??e("settings.failedToSave"))})},[i,e])}}(),C=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[k,N]=(0,n.useState)(e.agent.type),[M,I]=(0,n.useState)(e.environment.defaultEditor),[T,P]=(0,n.useState)(e.environment.shellPreference),[E,R]=(0,n.useState)(e.environment.terminalPreference??e9.TerminalType.System),D=g?g.filter(e=>e.available):[{id:e9.TerminalType.System,name:m("settings.environment.systemTerminal"),available:!0}],[A,F]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[L,B]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[H,z]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[_,V]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[K,O]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[W,U]=(0,n.useState)(e.workflow.enableEvidence),[G,q]=(0,n.useState)(e.workflow.commitEvidence),[$,Y]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[Z,X]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[J,Q]=(0,n.useState)(!1!==e.workflow.defaultFastMode),[ee,et]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[en,ei]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[es,ea]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[er,el]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),eo=e.workflow.stageTimeouts,[ec,ed]=(0,n.useState)(String(Math.round((eo?.analyzeMs??18e5)/1e3))),[eu,ep]=(0,n.useState)(String(Math.round((eo?.requirementsMs??18e5)/1e3))),[eg,em]=(0,n.useState)(String(Math.round((eo?.researchMs??18e5)/1e3))),[eh,ef]=(0,n.useState)(String(Math.round((eo?.planMs??18e5)/1e3))),[ev,ex]=(0,n.useState)(String(Math.round((eo?.implementMs??18e5)/1e3))),[ew,eb]=(0,n.useState)(String(Math.round((eo?.mergeMs??18e5)/1e3))),ey=e.workflow.analyzeRepoTimeouts,[ej,eS]=(0,n.useState)(String(Math.round((ey?.analyzeMs??6e5)/1e3))),eC=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ek,eN]=(0,n.useState)(eC.enabled),[eM,eI]=(0,n.useState)(String(eC.autoTimeoutMinutes)),[eT,eP]=(0,n.useState)(String(eC.maxConcurrentSessions)),[eE,eR]=(0,n.useState)(e.notifications.inApp.enabled),[eD,eA]=(0,n.useState)({...e.notifications.events}),[eF,eL]=(0,n.useState)({...C}),eB=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",eH=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",ez=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",e_=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",eV=eo?.analyzeMs!=null?String(Math.round(eo.analyzeMs/1e3)):"",eK=eo?.requirementsMs!=null?String(Math.round(eo.requirementsMs/1e3)):"",eO=eo?.researchMs!=null?String(Math.round(eo.researchMs/1e3)):"",eW=eo?.planMs!=null?String(Math.round(eo.planMs/1e3)):"",eU=eo?.implementMs!=null?String(Math.round(eo.implementMs/1e3)):"",eG=eo?.mergeMs!=null?String(Math.round(eo.mergeMs/1e3)):"",eq=ey?.analyzeMs!=null?String(Math.round(ey.analyzeMs/1e3)):"";function e$(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function eY(e){if(void 0===e)return;let t=e$(e);return null!=t?1e3*t:void 0}function eZ(e={}){let t=e$(e.ciTimeout??en);return{workflow:{openPrOnImplementationComplete:e.openPr??A,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??L,allowPrd:e.allowPrd??H,allowPlan:e.allowPlan??_,allowMerge:e.allowMerge??K},enableEvidence:e.enableEvidence??W,commitEvidence:e.commitEvidence??G,ciWatchEnabled:e.ciWatchEnabled??$,hideCiStatus:e.hideCiStatus??Z,defaultFastMode:e.defaultFastMode??J,ciMaxFixAttempts:e$(e.ciMaxFix??ee),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:e$(e.ciLogMax??es),ciWatchPollIntervalSeconds:e$(e.ciPollInterval??er),stageTimeouts:{analyzeMs:eY(e.analyzeTimeout??ec),requirementsMs:eY(e.requirementsTimeout??eu),researchMs:eY(e.researchTimeout??eg),planMs:eY(e.planTimeout??eh),implementMs:eY(e.implementTimeout??ev),mergeMs:eY(e.mergeTimeout??ew)},analyzeRepoTimeouts:{analyzeMs:eY(e.analyzeRepoTimeout??ej)}}}}function eX(e={}){return{notifications:{inApp:{enabled:e.inApp??eE},events:e.events??eD}}}let[eJ,e2]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=tY.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&e2(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let e3=(0,n.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:m("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,y.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",h?"opacity-100":"opacity-0"),children:m("settings.saving")}),(0,t.jsxs)("span",{className:(0,y.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",j&&!h?"opacity-100":"opacity-0"),children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),m("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:tY.map(e=>{let n=e.icon,i=eJ===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>e3(e.id),className:(0,y.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:m(e.labelKey)})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.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,t.jsx)(tp,{language:e.user?.preferredLanguage??e9.Language.English})}),(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(tJ,{icon:s.Bot,title:m("settings.agent.sectionTitle"),description:m("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,t.jsx)(tZ,{label:m("settings.agent.agentAndModel"),description:m("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(tc.AgentModelPicker,{initialAgentType:k,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>N(e),className:"w-55"})})}),(0,t.jsx)(t1,{links:[{label:m("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:m("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:m("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.agent.hint")})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:a.Terminal,title:m("settings.environment.sectionTitle"),description:m("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.environment.defaultEditor"),description:m("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(eQ,{value:M,onValueChange:e=>{I(e),S({environment:{defaultEditor:e,shellPreference:T,terminalPreference:E}})},children:[(0,t.jsx)(e1,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:tq.map(e=>{var n;let i=(n=e.value)&&n in to?to[n]:tn;return(0,t.jsx)(e4,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(tZ,{label:m("settings.environment.shell"),description:m("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(eQ,{value:T,onValueChange:e=>{P(e),S({environment:{defaultEditor:M,shellPreference:e,terminalPreference:E}})},children:[(0,t.jsx)(e1,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:t$.map(e=>(0,t.jsx)(e4,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(tZ,{label:m("settings.environment.terminal"),description:m("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(eQ,{value:E,onValueChange:e=>{R(e),S({environment:{defaultEditor:M,shellPreference:T,terminalPreference:e}})},children:[(0,t.jsx)(e1,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:D.map(e=>(0,t.jsx)(e4,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.environment.hint")})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:r.GitBranch,title:m("settings.workflow.title"),description:m("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.workflow.defaultFastMode"),description:m("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:J,onChange:e=>{Q(e),S(eZ({defaultFastMode:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.approve")}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApprovePrd"),description:m("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:H,onChange:e=>{z(e),S(eZ({allowPrd:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApprovePlan"),description:m("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:_,onChange:e=>{V(e),S(eZ({allowPlan:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApproveMerge"),description:m("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:K,onChange:e=>{O(e),S(eZ({allowMerge:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.evidence")}),(0,t.jsx)(tX,{label:m("settings.workflow.collectEvidence"),description:m("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:W,onChange:e=>{U(e),e?S(eZ({enableEvidence:e})):(q(!1),S(eZ({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(tX,{label:m("settings.workflow.addEvidenceToPr"),description:m("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:G,disabled:!W||!A,onChange:e=>{q(e),S(eZ({commitEvidence:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.git")}),(0,t.jsx)(tX,{label:m("settings.workflow.pushOnComplete"),description:m("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:L,onChange:e=>{B(e),S(eZ({pushOnComplete:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.openPrOnComplete"),description:m("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:A,onChange:e=>{F(e),e?S(eZ({openPr:e})):(q(!1),S(eZ({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(tX,{label:m("settings.workflow.watchCiAfterPush"),description:m("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:$,onChange:e=>{Y(e),S(eZ({ciWatchEnabled:e}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:m("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:m("settings.workflow.hint")})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:o,title:m("settings.ci.title"),description:m("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.ci.maxFixAttempts"),description:m("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(tQ,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:ee,onChange:et,onBlur:()=>{ee!==eB&&S(eZ({ciMaxFix:ee}))},min:1,max:10})}),(0,t.jsx)(tZ,{label:m("settings.ci.watchTimeout"),description:m("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(tQ,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:en,onChange:ei,onBlur:()=>{en!==eH&&S(eZ({ciTimeout:en}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(tZ,{label:m("settings.ci.maxLogSize"),description:m("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(tQ,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:es,onChange:ea,onBlur:()=>{es!==ez&&S(eZ({ciLogMax:es}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(tZ,{label:m("settings.ci.pollInterval"),description:m("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(tQ,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:er,onChange:el,onBlur:()=>{er!==e_&&S(eZ({ciPollInterval:er}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(tX,{label:m("settings.ci.hideCiStatus"),description:m("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:Z,onChange:e=>{X(e),S(eZ({hideCiStatus:e}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:m("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:m("settings.ci.hint")})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:v.Timer,title:m("settings.stageTimeouts.title"),description:m("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(tG,{id:"timeout-analyze",testId:"timeout-analyze-input",value:ec,onChange:ed,onBlur:()=>{ec!==eV&&S(eZ({analyzeTimeout:ec}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.requirements"),description:m("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(tG,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eu,onChange:ep,onBlur:()=>{eu!==eK&&S(eZ({requirementsTimeout:eu}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.research"),description:m("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(tG,{id:"timeout-research",testId:"timeout-research-input",value:eg,onChange:em,onBlur:()=>{eg!==eO&&S(eZ({researchTimeout:eg}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.plan"),description:m("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(tG,{id:"timeout-plan",testId:"timeout-plan-input",value:eh,onChange:ef,onBlur:()=>{eh!==eW&&S(eZ({planTimeout:eh}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.implement"),description:m("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(tG,{id:"timeout-implement",testId:"timeout-implement-input",value:ev,onChange:ex,onBlur:()=>{ev!==eU&&S(eZ({implementTimeout:ev}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.merge"),description:m("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(tG,{id:"timeout-merge",testId:"timeout-merge-input",value:ew,onChange:eb,onBlur:()=>{ew!==eG&&S(eZ({mergeTimeout:ew}))},defaultSeconds:1800})}),(0,t.jsx)(t0,{children:m("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(tG,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:ej,onChange:eS,onBlur:()=>{ej!==eq&&S(eZ({analyzeRepoTimeout:ej}))},defaultSeconds:600})})]}),(0,t.jsx)(t1,{children:m("settings.stageTimeouts.hint")})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:c,title:m("settings.notifications.title"),description:m("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.notifications.channels")}),(0,t.jsx)(tX,{label:m("settings.notifications.inAppLabel"),description:m("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:eE,onChange:e=>{eR(e),S(eX({inApp:e}))}}),(0,t.jsx)(t0,{children:m("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:eD.agentStarted,onChange:e=>{let t={...eD,agentStarted:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:eD.phaseCompleted,onChange:e=>{let t={...eD,phaseCompleted:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:eD.waitingApproval,onChange:e=>{let t={...eD,waitingApproval:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:eD.agentCompleted,onChange:e=>{let t={...eD,agentCompleted:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:eD.agentFailed,onChange:e=>{let t={...eD,agentFailed:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(t0,{children:m("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:eD.prMerged,onChange:e=>{let t={...eD,prMerged:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:eD.prClosed,onChange:e=>{let t={...eD,prClosed:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:eD.prChecksPassed,onChange:e=>{let t={...eD,prChecksPassed:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:eD.prChecksFailed,onChange:e=>{let t={...eD,prChecksFailed:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:eD.prBlocked,onChange:e=>{let t={...eD,prBlocked:e};eA(t),S(eX({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:eD.mergeReviewReady,onChange:e=>{let t={...eD,mergeReviewReady:e};eA(t),S(eX({events:t}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:m("settings.notifications.hint")})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:d,title:m("settings.featureFlags.title"),description:m("settings.featureFlags.sectionDescription"),badge:m("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.featureFlags.skills"),description:m("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:eF.skills,onChange:e=>{let t={...eF,skills:e};eL(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.deployments"),description:m("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:eF.envDeploy,onChange:e=>{let t={...eF,envDeploy:e};eL(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.debug"),description:m("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:eF.debug,onChange:e=>{let t={...eF,debug:e};eL(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.githubImport"),description:m("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:eF.githubImport,onChange:e=>{let t={...eF,githubImport:e};eL(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.adoptBranch"),description:m("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:eF.adoptBranch,onChange:e=>{let t={...eF,adoptBranch:e};eL(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.gitRebaseSync"),description:m("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:eF.gitRebaseSync,onChange:e=>{let t={...eF,gitRebaseSync:e};eL(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.reactFileManager"),description:m("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:eF.reactFileManager,onChange:e=>{let t={...eF,reactFileManager:e};eL(t),S({featureFlags:t})}})]}),(0,t.jsx)(t1,{children:m("settings.featureFlags.hint")})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:x.MessageSquare,title:m("settings.interactiveAgent.title"),description:m("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.interactiveAgent.enableChatTab"),description:m("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ek,onChange:e=>{eN(e),S({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(eM,10)||15,maxConcurrentSessions:parseInt(eT,10)||3}})}}),(0,t.jsx)(tZ,{label:m("settings.interactiveAgent.autoTimeout"),description:m("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(tQ,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:eM,placeholder:"15",min:1,max:120,suffix:"min",onChange:eI,onBlur:()=>{let e=parseInt(eM,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));eI(String(t)),S({interactiveAgent:{enabled:ek,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(eT,10)||3}})}})}),(0,t.jsx)(tZ,{label:m("settings.interactiveAgent.maxConcurrentSessions"),description:m("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(tQ,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:eT,placeholder:"3",min:1,max:10,onChange:eP,onBlur:()=>{let e=parseInt(eT,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));eP(String(t)),S({interactiveAgent:{enabled:ek,autoTimeoutMinutes:parseInt(eM,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(t1,{children:m("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:u,title:m("settings.database.title"),description:m("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.database.location"),description:m("settings.database.locationDescription"),children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:l})}),(0,t.jsx)(tZ,{label:m("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:p})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:m("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:m("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>t2],41952)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41952,e=>{"use strict";var t=e.i(20314),n=e.i(79054),i=e.i(23925),s=e.i(26370),a=e.i(38573),r=e.i(49228),l=e.i(3645);let o=(0,l.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"}]]),c=(0,l.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"}]]),d=(0,l.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,l.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var p=e.i(32494),g=e.i(10714),g=g,m=e.i(3214),h=e.i(30702);let f=(0,l.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 v=e.i(58860),x=e.i(48109),w=e.i(60112);e.i(41001);var b=e.i(64780),y=e.i(31777),j=e.i(41957),S=e.i(51911),C=e.i(26036),k=e.i(27069),N=e.i(91967),M=e.i(87342),I=e.i(5978),T=e.i(22528),E=e.i(66033),P=e.i(53532),D=e.i(41687),R=e.i(56720),A=e.i(13123),F=e.i(52740),L=e.i(39979),B=e.i(87620),H=e.i(86874),z=e.i(29297),_=e.i(36589),V=e.i(5192),K=e.i(23405),O=e.i(1693),W=e.i(73772),U=e.i(13044),G=[" ","Enter","ArrowUp","ArrowDown"],q=[" ","Enter"],$="Select",[Y,Z,X]=(0,M.createCollection)($),[J,Q]=(0,T.createContextScope)($,[X,F.createPopperScope]),ee=(0,F.createPopperScope)(),[et,en]=J($),[ei,es]=J($),ea=e=>{let{__scopeSelect:i,children:s,open:a,defaultOpen:r,onOpenChange:l,value:o,defaultValue:c,onValueChange:d,dir:u,name:p,autoComplete:g,disabled:m,required:h,form:f}=e,v=ee(i),[x,w]=n.useState(null),[b,y]=n.useState(null),[j,S]=n.useState(!1),C=(0,E.useDirection)(u),[k,N]=(0,_.useControllableState)({prop:a,defaultProp:r??!1,onChange:l,caller:$}),[M,I]=(0,_.useControllableState)({prop:o,defaultProp:c,onChange:d,caller:$}),T=n.useRef(null),P=!x||f||!!x.closest("form"),[D,R]=n.useState(new Set),L=Array.from(D).map(e=>e.props.value).join(";");return(0,t.jsx)(F.Root,{...v,children:(0,t.jsxs)(et,{required:h,scope:i,trigger:x,onTriggerChange:w,valueNode:b,onValueNodeChange:y,valueNodeHasChildren:j,onValueNodeHasChildrenChange:S,contentId:(0,A.useId)(),value:M,onValueChange:I,open:k,onOpenChange:N,dir:C,triggerPointerDownPosRef:T,disabled:m,children:[(0,t.jsx)(Y.Provider,{scope:i,children:(0,t.jsx)(ei,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(e=>{R(t=>new Set(t).add(e))},[]),onNativeOptionRemove:n.useCallback(e=>{R(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:s})}),P?(0,t.jsxs)(eG,{"aria-hidden":!0,required:h,tabIndex:-1,name:p,autoComplete:g,value:M,onChange:e=>I(e.target.value),disabled:m,form:f,children:[void 0===M?(0,t.jsx)("option",{value:""}):null,Array.from(D)]},L):null]})})};ea.displayName=$;var er="SelectTrigger",el=n.forwardRef((e,i)=>{let{__scopeSelect:s,disabled:a=!1,...r}=e,l=ee(s),o=en(er,s),c=o.disabled||a,d=(0,I.useComposedRefs)(i,o.onTriggerChange),u=Z(s),p=n.useRef("touch"),[g,m,h]=e$(e=>{let t=u().filter(e=>!e.disabled),n=t.find(e=>e.value===o.value),i=eY(t,e,n);void 0!==i&&o.onValueChange(i.value)}),f=e=>{c||(o.onOpenChange(!0),h()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(F.Anchor,{asChild:!0,...l,children:(0,t.jsx)(B.Primitive.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":eq(o.value)?"":void 0,...r,ref:d,onClick:(0,N.composeEventHandlers)(r.onClick,e=>{e.currentTarget.focus(),"mouse"!==p.current&&f(e)}),onPointerDown:(0,N.composeEventHandlers)(r.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(f(e),e.preventDefault())}),onKeyDown:(0,N.composeEventHandlers)(r.onKeyDown,e=>{let t=""!==g.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),(!t||" "!==e.key)&&G.includes(e.key)&&(f(),e.preventDefault())})})})});el.displayName=er;var eo="SelectValue",ec=n.forwardRef((e,n)=>{let{__scopeSelect:i,className:s,style:a,children:r,placeholder:l="",...o}=e,c=en(eo,i),{onValueNodeHasChildrenChange:d}=c,u=void 0!==r,p=(0,I.useComposedRefs)(n,c.onValueNodeChange);return(0,V.useLayoutEffect)(()=>{d(u)},[d,u]),(0,t.jsx)(B.Primitive.span,{...o,ref:p,style:{pointerEvents:"none"},children:eq(c.value)?(0,t.jsx)(t.Fragment,{children:l}):r})});ec.displayName=eo;var ed=n.forwardRef((e,n)=>{let{__scopeSelect:i,children:s,...a}=e;return(0,t.jsx)(B.Primitive.span,{"aria-hidden":!0,...a,ref:n,children:s||"▼"})});ed.displayName="SelectIcon";var eu=e=>(0,t.jsx)(L.Portal,{asChild:!0,...e});eu.displayName="SelectPortal";var ep="SelectContent",eg=n.forwardRef((e,i)=>{let s=en(ep,e.__scopeSelect),[a,r]=n.useState();return((0,V.useLayoutEffect)(()=>{r(new DocumentFragment)},[]),s.open)?(0,t.jsx)(ev,{...e,ref:i}):a?C.createPortal((0,t.jsx)(em,{scope:e.__scopeSelect,children:(0,t.jsx)(Y.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),a):null});eg.displayName=ep;var[em,eh]=J(ep),ef=(0,H.createSlot)("SelectContent.RemoveScroll"),ev=n.forwardRef((e,i)=>{let{__scopeSelect:s,position:a="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:l,onPointerDownOutside:o,side:c,sideOffset:d,align:u,alignOffset:p,arrowPadding:g,collisionBoundary:m,collisionPadding:h,sticky:f,hideWhenDetached:v,avoidCollisions:x,...w}=e,b=en(ep,s),[y,j]=n.useState(null),[S,C]=n.useState(null),k=(0,I.useComposedRefs)(i,e=>j(e)),[M,T]=n.useState(null),[E,A]=n.useState(null),F=Z(s),[L,B]=n.useState(!1),H=n.useRef(!1);n.useEffect(()=>{if(y)return(0,W.hideOthers)(y)},[y]),(0,D.useFocusGuards)();let z=n.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[i]=n.slice(-1),s=document.activeElement;for(let n of e)if(n===s||(n?.scrollIntoView({block:"nearest"}),n===t&&S&&(S.scrollTop=0),n===i&&S&&(S.scrollTop=S.scrollHeight),n?.focus(),document.activeElement!==s))return},[F,S]),_=n.useCallback(()=>z([M,y]),[z,M,y]);n.useEffect(()=>{L&&_()},[L,_]);let{onOpenChange:V,triggerPointerDownPosRef:K}=b;n.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(K.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():y.contains(n.target)||V(!1),document.removeEventListener("pointermove",t),K.current=null};return null!==K.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",n,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",n,{capture:!0})}}},[y,V,K]),n.useEffect(()=>{let e=()=>V(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[V]);let[O,G]=e$(e=>{let t=F().filter(e=>!e.disabled),n=t.find(e=>e.ref.current===document.activeElement),i=eY(t,e,n);i&&setTimeout(()=>i.ref.current.focus())}),q=n.useCallback((e,t,n)=>{let i=!H.current&&!n;(void 0!==b.value&&b.value===t||i)&&(T(e),i&&(H.current=!0))},[b.value]),$=n.useCallback(()=>y?.focus(),[y]),Y=n.useCallback((e,t,n)=>{let i=!H.current&&!n;(void 0!==b.value&&b.value===t||i)&&A(e)},[b.value]),X="popper"===a?ew:ex,J=X===ew?{side:c,sideOffset:d,align:u,alignOffset:p,arrowPadding:g,collisionBoundary:m,collisionPadding:h,sticky:f,hideWhenDetached:v,avoidCollisions:x}:{};return(0,t.jsx)(em,{scope:s,content:y,viewport:S,onViewportChange:C,itemRefCallback:q,selectedItem:M,onItemLeave:$,itemTextRefCallback:Y,focusSelectedItem:_,selectedItemText:E,position:a,isPositioned:L,searchRef:O,children:(0,t.jsx)(U.RemoveScroll,{as:ef,allowPinchZoom:!0,children:(0,t.jsx)(R.FocusScope,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,N.composeEventHandlers)(r,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(P.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,t.jsx)(X,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:e=>e.preventDefault(),...w,...J,onPlaced:()=>B(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:(0,N.composeEventHandlers)(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||G(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=F().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let n=e.target,i=t.indexOf(n);t=t.slice(i+1)}setTimeout(()=>z(t)),e.preventDefault()}})})})})})})});ev.displayName="SelectContentImpl";var ex=n.forwardRef((e,i)=>{let{__scopeSelect:s,onPlaced:a,...r}=e,l=en(ep,s),o=eh(ep,s),[c,d]=n.useState(null),[u,p]=n.useState(null),g=(0,I.useComposedRefs)(i,e=>p(e)),m=Z(s),h=n.useRef(!1),f=n.useRef(!0),{viewport:v,selectedItem:x,selectedItemText:w,focusSelectedItem:b}=o,y=n.useCallback(()=>{if(l.trigger&&l.valueNode&&c&&u&&v&&x&&w){let e=l.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=l.valueNode.getBoundingClientRect(),i=w.getBoundingClientRect();if("rtl"!==l.dir){let s=i.left-t.left,a=n.left-s,r=e.left-a,l=e.width+r,o=Math.max(l,t.width),d=window.innerWidth-10,u=(0,k.clamp)(a,[10,Math.max(10,d-o)]);c.style.minWidth=l+"px",c.style.left=u+"px"}else{let s=t.right-i.right,a=window.innerWidth-n.right-s,r=window.innerWidth-e.right-a,l=e.width+r,o=Math.max(l,t.width),d=window.innerWidth-10,u=(0,k.clamp)(a,[10,Math.max(10,d-o)]);c.style.minWidth=l+"px",c.style.right=u+"px"}let s=m(),r=window.innerHeight-20,o=v.scrollHeight,d=window.getComputedStyle(u),p=parseInt(d.borderTopWidth,10),g=parseInt(d.paddingTop,10),f=parseInt(d.borderBottomWidth,10),b=p+g+o+parseInt(d.paddingBottom,10)+f,y=Math.min(5*x.offsetHeight,b),j=window.getComputedStyle(v),S=parseInt(j.paddingTop,10),C=parseInt(j.paddingBottom,10),N=e.top+e.height/2-10,M=x.offsetHeight/2,I=p+g+(x.offsetTop+M);if(I<=N){let e=s.length>0&&x===s[s.length-1].ref.current;c.style.bottom="0px";let t=Math.max(r-N,M+(e?C:0)+(u.clientHeight-v.offsetTop-v.offsetHeight)+f);c.style.height=I+t+"px"}else{let e=s.length>0&&x===s[0].ref.current;c.style.top="0px";let t=Math.max(N,p+v.offsetTop+(e?S:0)+M);c.style.height=t+(b-I)+"px",v.scrollTop=I-N+v.offsetTop}c.style.margin="10px 0",c.style.minHeight=y+"px",c.style.maxHeight=r+"px",a?.(),requestAnimationFrame(()=>h.current=!0)}},[m,l.trigger,l.valueNode,c,u,v,x,w,l.dir,a]);(0,V.useLayoutEffect)(()=>y(),[y]);let[j,S]=n.useState();(0,V.useLayoutEffect)(()=>{u&&S(window.getComputedStyle(u).zIndex)},[u]);let C=n.useCallback(e=>{e&&!0===f.current&&(y(),b?.(),f.current=!1)},[y,b]);return(0,t.jsx)(eb,{scope:s,contentWrapper:c,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:(0,t.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,t.jsx)(B.Primitive.div,{...r,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});ex.displayName="SelectItemAlignedPosition";var ew=n.forwardRef((e,n)=>{let{__scopeSelect:i,align:s="start",collisionPadding:a=10,...r}=e,l=ee(i);return(0,t.jsx)(F.Content,{...l,...r,ref:n,align:s,collisionPadding:a,style:{boxSizing:"border-box",...r.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)"}})});ew.displayName="SelectPopperPosition";var[eb,ey]=J(ep,{}),ej="SelectViewport",eS=n.forwardRef((e,i)=>{let{__scopeSelect:s,nonce:a,...r}=e,l=eh(ej,s),o=ey(ej,s),c=(0,I.useComposedRefs)(i,l.onViewportChange),d=n.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,t.jsx)(Y.Slot,{scope:s,children:(0,t.jsx)(B.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:(0,N.composeEventHandlers)(r.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:i}=o;if(i?.current&&n){let e=Math.abs(d.current-t.scrollTop);if(e>0){let i=window.innerHeight-20,s=Math.max(parseFloat(n.style.minHeight),parseFloat(n.style.height));if(s<i){let a=s+e,r=Math.min(i,a),l=a-r;n.style.height=r+"px","0px"===n.style.bottom&&(t.scrollTop=l>0?l:0,n.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})});eS.displayName=ej;var eC="SelectGroup",[ek,eN]=J(eC),eM=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=(0,A.useId)();return(0,t.jsx)(ek,{scope:i,id:a,children:(0,t.jsx)(B.Primitive.div,{role:"group","aria-labelledby":a,...s,ref:n})})});eM.displayName=eC;var eI="SelectLabel",eT=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=eN(eI,i);return(0,t.jsx)(B.Primitive.div,{id:a.id,...s,ref:n})});eT.displayName=eI;var eE="SelectItem",[eP,eD]=J(eE),eR=n.forwardRef((e,i)=>{let{__scopeSelect:s,value:a,disabled:r=!1,textValue:l,...o}=e,c=en(eE,s),d=eh(eE,s),u=c.value===a,[p,g]=n.useState(l??""),[m,h]=n.useState(!1),f=(0,I.useComposedRefs)(i,e=>d.itemRefCallback?.(e,a,r)),v=(0,A.useId)(),x=n.useRef("touch"),w=()=>{r||(c.onValueChange(a),c.onOpenChange(!1))};if(""===a)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(eP,{scope:s,value:a,disabled:r,textId:v,isSelected:u,onItemTextChange:n.useCallback(e=>{g(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(Y.ItemSlot,{scope:s,value:a,disabled:r,textValue:p,children:(0,t.jsx)(B.Primitive.div,{role:"option","aria-labelledby":v,"data-highlighted":m?"":void 0,"aria-selected":u&&m,"data-state":u?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...o,ref:f,onFocus:(0,N.composeEventHandlers)(o.onFocus,()=>h(!0)),onBlur:(0,N.composeEventHandlers)(o.onBlur,()=>h(!1)),onClick:(0,N.composeEventHandlers)(o.onClick,()=>{"mouse"!==x.current&&w()}),onPointerUp:(0,N.composeEventHandlers)(o.onPointerUp,()=>{"mouse"===x.current&&w()}),onPointerDown:(0,N.composeEventHandlers)(o.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:(0,N.composeEventHandlers)(o.onPointerMove,e=>{x.current=e.pointerType,r?d.onItemLeave?.():"mouse"===x.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,N.composeEventHandlers)(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:(0,N.composeEventHandlers)(o.onKeyDown,e=>{(d.searchRef?.current===""||" "!==e.key)&&(q.includes(e.key)&&w()," "===e.key&&e.preventDefault())})})})})});eR.displayName=eE;var eA="SelectItemText",eF=n.forwardRef((e,i)=>{let{__scopeSelect:s,className:a,style:r,...l}=e,o=en(eA,s),c=eh(eA,s),d=eD(eA,s),u=es(eA,s),[p,g]=n.useState(null),m=(0,I.useComposedRefs)(i,e=>g(e),d.onItemTextChange,e=>c.itemTextRefCallback?.(e,d.value,d.disabled)),h=p?.textContent,f=n.useMemo(()=>(0,t.jsx)("option",{value:d.value,disabled:d.disabled,children:h},d.value),[d.disabled,d.value,h]),{onNativeOptionAdd:v,onNativeOptionRemove:x}=u;return(0,V.useLayoutEffect)(()=>(v(f),()=>x(f)),[v,x,f]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B.Primitive.span,{id:d.textId,...l,ref:m}),d.isSelected&&o.valueNode&&!o.valueNodeHasChildren?C.createPortal(l.children,o.valueNode):null]})});eF.displayName=eA;var eL="SelectItemIndicator",eB=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e;return eD(eL,i).isSelected?(0,t.jsx)(B.Primitive.span,{"aria-hidden":!0,...s,ref:n}):null});eB.displayName=eL;var eH="SelectScrollUpButton",ez=n.forwardRef((e,i)=>{let s=eh(eH,e.__scopeSelect),a=ey(eH,e.__scopeSelect),[r,l]=n.useState(!1),o=(0,I.useComposedRefs)(i,a.onScrollButtonChange);return(0,V.useLayoutEffect)(()=>{if(s.viewport&&s.isPositioned){let e=function(){l(t.scrollTop>0)},t=s.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),r?(0,t.jsx)(eK,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=s;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ez.displayName=eH;var e_="SelectScrollDownButton",eV=n.forwardRef((e,i)=>{let s=eh(e_,e.__scopeSelect),a=ey(e_,e.__scopeSelect),[r,l]=n.useState(!1),o=(0,I.useComposedRefs)(i,a.onScrollButtonChange);return(0,V.useLayoutEffect)(()=>{if(s.viewport&&s.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;l(Math.ceil(t.scrollTop)<e)},t=s.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),r?(0,t.jsx)(eK,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=s;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});eV.displayName=e_;var eK=n.forwardRef((e,i)=>{let{__scopeSelect:s,onAutoScroll:a,...r}=e,l=eh("SelectScrollButton",s),o=n.useRef(null),c=Z(s),d=n.useCallback(()=>{null!==o.current&&(window.clearInterval(o.current),o.current=null)},[]);return n.useEffect(()=>()=>d(),[d]),(0,V.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(B.Primitive.div,{"aria-hidden":!0,...r,ref:i,style:{flexShrink:0,...r.style},onPointerDown:(0,N.composeEventHandlers)(r.onPointerDown,()=>{null===o.current&&(o.current=window.setInterval(a,50))}),onPointerMove:(0,N.composeEventHandlers)(r.onPointerMove,()=>{l.onItemLeave?.(),null===o.current&&(o.current=window.setInterval(a,50))}),onPointerLeave:(0,N.composeEventHandlers)(r.onPointerLeave,()=>{d()})})}),eO=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e;return(0,t.jsx)(B.Primitive.div,{"aria-hidden":!0,...s,ref:n})});eO.displayName="SelectSeparator";var eW="SelectArrow",eU=n.forwardRef((e,n)=>{let{__scopeSelect:i,...s}=e,a=ee(i),r=en(eW,i),l=eh(eW,i);return r.open&&"popper"===l.position?(0,t.jsx)(F.Arrow,{...a,...s,ref:n}):null});eU.displayName=eW;var eG=n.forwardRef(({__scopeSelect:e,value:i,...s},a)=>{let r=n.useRef(null),l=(0,I.useComposedRefs)(a,r),o=(0,K.usePrevious)(i);return n.useEffect(()=>{let e=r.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(o!==i&&t){let n=new Event("change",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(B.Primitive.select,{...s,style:{...O.VISUALLY_HIDDEN_STYLES,...s.style},ref:l,defaultValue:i})});function eq(e){return""===e||void 0===e}function e$(e){let t=(0,z.useCallbackRef)(e),i=n.useRef(""),s=n.useRef(0),a=n.useCallback(e=>{let n=i.current+e;t(n),function e(t){i.current=t,window.clearTimeout(s.current),""!==t&&(s.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),r=n.useCallback(()=>{i.current="",window.clearTimeout(s.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(s.current),[]),[i,a,r]}function eY(e,t,n){var i,s;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,r=n?e.indexOf(n):-1,l=(i=e,s=Math.max(r,0),i.map((e,t)=>i[(s+t)%i.length]));1===a.length&&(l=l.filter(e=>e!==n));let o=l.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return o!==n?o:void 0}eG.displayName="SelectBubbleInput",e.s(["Arrow",()=>eU,"Content",()=>eg,"Group",()=>eM,"Icon",()=>ed,"Item",()=>eR,"ItemIndicator",()=>eB,"ItemText",()=>eF,"Label",()=>eT,"Portal",()=>eu,"Root",()=>ea,"ScrollDownButton",()=>eV,"ScrollUpButton",()=>ez,"Select",()=>ea,"SelectArrow",()=>eU,"SelectContent",()=>eg,"SelectGroup",()=>eM,"SelectIcon",()=>ed,"SelectItem",()=>eR,"SelectItemIndicator",()=>eB,"SelectItemText",()=>eF,"SelectLabel",()=>eT,"SelectPortal",()=>eu,"SelectScrollDownButton",()=>eV,"SelectScrollUpButton",()=>ez,"SelectSeparator",()=>eO,"SelectTrigger",()=>el,"SelectValue",()=>ec,"SelectViewport",()=>eS,"Separator",()=>eO,"Trigger",()=>el,"Value",()=>ec,"Viewport",()=>eS,"createSelectScope",()=>Q],83830);var eZ=e.i(83830),eZ=eZ,eX=e.i(99105),eJ=e.i(48829);let eQ=eZ.Root;eZ.Group;let e0=eZ.Value,e1=n.forwardRef(({className:e,children:n,...i},s)=>(0,t.jsxs)(eZ.Trigger,{ref:s,className:(0,y.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...i,children:[n,(0,t.jsx)(eZ.Icon,{asChild:!0,children:(0,t.jsx)(eX.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));e1.displayName=eZ.Trigger.displayName;let e2=n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.ScrollUpButton,{ref:i,className:(0,y.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eJ.ChevronUp,{className:"h-4 w-4"})}));e2.displayName=eZ.ScrollUpButton.displayName;let e3=n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.ScrollDownButton,{ref:i,className:(0,y.cn)("flex cursor-default items-center justify-center py-1",e),...n,children:(0,t.jsx)(eX.ChevronDown,{className:"h-4 w-4"})}));e3.displayName=eZ.ScrollDownButton.displayName;let e5=n.forwardRef(({className:e,children:n,position:i="popper",...s},a)=>(0,t.jsx)(eZ.Portal,{children:(0,t.jsxs)(eZ.Content,{ref:a,className:(0,y.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"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:i,...s,children:[(0,t.jsx)(e2,{}),(0,t.jsx)(eZ.Viewport,{className:(0,y.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),(0,t.jsx)(e3,{})]})}));e5.displayName=eZ.Content.displayName,n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.Label,{ref:i,className:(0,y.cn)("px-2 py-1.5 text-sm font-semibold",e),...n})).displayName=eZ.Label.displayName;let e4=n.forwardRef(({className:e,children:n,...s},a)=>(0,t.jsxs)(eZ.Item,{ref:a,className:(0,y.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",e),...s,children:[(0,t.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(eZ.ItemIndicator,{children:(0,t.jsx)(i.Check,{className:"h-4 w-4"})})}),(0,t.jsx)(eZ.ItemText,{children:n})]}));e4.displayName=eZ.Item.displayName,n.forwardRef(({className:e,...n},i)=>(0,t.jsx)(eZ.Separator,{ref:i,className:(0,y.cn)("bg-muted -mx-1 my-1 h-px",e),...n})).displayName=eZ.Separator.displayName;var e8=e.i(21023);let e6=(0,e8.createServerReference)("406f8cb63814264afe46d20e25917ff67b344562a6",e8.callServer,void 0,e8.findSourceMapURL,"updateSettingsAction");var e9=e.i(17406),e7=e.i(98804),te=e.i(44229),tt=e.i(83902);function tn(e){return(0,t.jsx)(te.Code,{className:(0,y.cn)("h-4 w-4",e.className),...e})}function ti({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function ts({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function ta({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function tr({className:e}){return(0,t.jsx)(e7.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,y.cn)("rounded-sm object-contain",e)})}function tl({className:e,...n}){return(0,t.jsx)(tt.Rocket,{className:(0,y.cn)("h-4 w-4",e),...n})}ti.displayName="VsCodeIcon",ts.displayName="CursorEditorIcon",ta.displayName="WindsurfIcon",tr.displayName="ZedIcon",tl.displayName="AntigravityIcon";let to={vscode:ti,cursor:ts,windsurf:ta,zed:tr,antigravity:tl};var tc=e.i(41413),td=e.i(956);let tu=[{value:e9.Language.English,label:"English",nativeName:"English"},{value:e9.Language.Russian,label:"Русский",nativeName:"Русский"},{value:e9.Language.Portuguese,label:"Português",nativeName:"Português"},{value:e9.Language.Spanish,label:"Español",nativeName:"Español"},{value:e9.Language.Arabic,label:"العربية",nativeName:"العربية"},{value:e9.Language.Hebrew,label:"עברית",nativeName:"עברית"},{value:e9.Language.French,label:"Français",nativeName:"Français"},{value:e9.Language.German,label:"Deutsch",nativeName:"Deutsch"}];function tp({language:e}){let{t:s,i18n:a}=(0,b.useTranslation)("web"),[r,l]=(0,n.useState)(e),[o,c]=(0,n.useTransition)(),[d,u]=(0,n.useState)(!1),g=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{if(g.current&&!o){u(!0);let e=setTimeout(()=>u(!1),2e3);return()=>clearTimeout(e)}g.current=o},[o]),(0,t.jsxs)(td.Card,{id:"language",className:"scroll-mt-6","data-testid":"language-settings-section",children:[(0,t.jsxs)(td.CardHeader,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(p.Globe,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)(td.CardTitle,{children:s("settings.language.title")})]}),o?(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:s("common:labels.saving")}):null,d&&!o?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-xs text-green-600",children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),s("common:labels.saved")]}):null]}),(0,t.jsx)(td.CardDescription,{children:s("settings.language.description")})]}),(0,t.jsx)(td.CardContent,{className:"space-y-4",children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{htmlFor:"display-language",children:s("settings.language.label")}),(0,t.jsxs)(eQ,{value:r,onValueChange:function(e){l(e),a.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,c(async()=>{let t=await e6({user:{preferredLanguage:e}});t.success||w.toast.error(t.error??s("settings.language.failedToSave","Failed to save language settings"))})},children:[(0,t.jsx)(e1,{id:"display-language","data-testid":"language-select",children:(0,t.jsx)(e0,{placeholder:s("settings.language.placeholder")})}),(0,t.jsx)(e5,{children:tu.map(e=>(0,t.jsx)(e4,{value:e.value,children:e.nativeName},e.value))})]})]})})]})}var tg=e.i(77624),tm=["PageUp","PageDown"],th=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],tf={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},tv="Slider",[tx,tw,tb]=(0,M.createCollection)(tv),[ty,tj]=(0,T.createContextScope)(tv,[tb]),[tS,tC]=ty(tv),tk=n.forwardRef((e,i)=>{let{name:s,min:a=0,max:r=100,step:l=1,orientation:o="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:p,onValueChange:g=()=>{},onValueCommit:m=()=>{},inverted:h=!1,form:f,...v}=e,x=n.useRef(new Set),w=n.useRef(0),b="horizontal"===o,[y=[],j]=(0,_.useControllableState)({prop:p,defaultProp:u,onChange:e=>{let t=[...x.current];t[w.current]?.focus(),g(e)}}),S=n.useRef(y);function C(e,t,{commit:n}={commit:!1}){let i,s=(String(l).split(".")[1]||"").length,o=Math.round((Math.round((e-a)/l)*l+a)*(i=Math.pow(10,s)))/i,c=(0,k.clamp)(o,[a,r]);j((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,d*l))return e;{w.current=i.indexOf(c);let t=String(i)!==String(e);return t&&n&&m(i),t?i:e}})}return(0,t.jsx)(tS,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:r,valueIndexToChangeRef:w,thumbs:x.current,values:y,orientation:o,form:f,children:(0,t.jsx)(tx.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(tx.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(b?tI:tT,{"aria-disabled":c,"data-disabled":c?"":void 0,...v,ref:i,onPointerDown:(0,N.composeEventHandlers)(v.onPointerDown,()=>{c||(S.current=y)}),min:a,max:r,inverted:h,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(y,e);C(e,t)},onSlideMove:c?void 0:function(e){C(e,w.current)},onSlideEnd:c?void 0:function(){let e=S.current[w.current];y[w.current]!==e&&m(y)},onHomeKeyDown:()=>!c&&C(a,0,{commit:!0}),onEndKeyDown:()=>!c&&C(r,y.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let n=tm.includes(e.key)||e.shiftKey&&th.includes(e.key),i=w.current;C(y[i]+l*(n?10:1)*t,i,{commit:!0})}}})})})})});tk.displayName=tv;var[tN,tM]=ty(tv,{startEdge:"left",endEdge:"right",size:"width",direction:1}),tI=n.forwardRef((e,i)=>{let{min:s,max:a,dir:r,inverted:l,onSlideStart:o,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...p}=e,[g,m]=n.useState(null),h=(0,I.useComposedRefs)(i,e=>m(e)),f=n.useRef(void 0),v=(0,E.useDirection)(r),x="ltr"===v,w=x&&!l||!x&&l;function b(e){let t=f.current||g.getBoundingClientRect(),n=t_([0,t.width],w?[s,a]:[a,s]);return f.current=t,n(e-t.left)}return(0,t.jsx)(tN,{scope:e.__scopeSlider,startEdge:w?"left":"right",endEdge:w?"right":"left",direction:w?1:-1,size:"width",children:(0,t.jsx)(tE,{dir:v,"data-orientation":"horizontal",...p,ref:h,style:{...p.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=b(e.clientX);o?.(t)},onSlideMove:e=>{let t=b(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=tf[w?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),tT=n.forwardRef((e,i)=>{let{min:s,max:a,inverted:r,onSlideStart:l,onSlideMove:o,onSlideEnd:c,onStepKeyDown:d,...u}=e,p=n.useRef(null),g=(0,I.useComposedRefs)(i,p),m=n.useRef(void 0),h=!r;function f(e){let t=m.current||p.current.getBoundingClientRect(),n=t_([0,t.height],h?[a,s]:[s,a]);return m.current=t,n(e-t.top)}return(0,t.jsx)(tN,{scope:e.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1,children:(0,t.jsx)(tE,{"data-orientation":"vertical",...u,ref:g,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);l?.(t)},onSlideMove:e=>{let t=f(e.clientY);o?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=tf[h?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),tE=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:s,onSlideMove:a,onSlideEnd:r,onHomeKeyDown:l,onEndKeyDown:o,onStepKeyDown:c,...d}=e,u=tC(tv,i);return(0,t.jsx)(B.Primitive.span,{...d,ref:n,onKeyDown:(0,N.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(o(e),e.preventDefault()):tm.concat(th).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,N.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,N.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,N.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),r(e))})})}),tP="SliderTrack",tD=n.forwardRef((e,n)=>{let{__scopeSlider:i,...s}=e,a=tC(tP,i);return(0,t.jsx)(B.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:n})});tD.displayName=tP;var tR="SliderRange",tA=n.forwardRef((e,i)=>{let{__scopeSlider:s,...a}=e,r=tC(tR,s),l=tM(tR,s),o=n.useRef(null),c=(0,I.useComposedRefs)(i,o),d=r.values.length,u=r.values.map(e=>tz(e,r.min,r.max)),p=d>1?Math.min(...u):0,g=100-Math.max(...u);return(0,t.jsx)(B.Primitive.span,{"data-orientation":r.orientation,"data-disabled":r.disabled?"":void 0,...a,ref:c,style:{...e.style,[l.startEdge]:p+"%",[l.endEdge]:g+"%"}})});tA.displayName=tR;var tF="SliderThumb",tL=n.forwardRef((e,i)=>{let s=tw(e.__scopeSlider),[a,r]=n.useState(null),l=(0,I.useComposedRefs)(i,e=>r(e)),o=n.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(tB,{...e,ref:l,index:o})}),tB=n.forwardRef((e,i)=>{var s,a,r,l,o;let c,d,{__scopeSlider:u,index:p,name:g,...m}=e,h=tC(tF,u),f=tM(tF,u),[v,x]=n.useState(null),w=(0,I.useComposedRefs)(i,e=>x(e)),b=!v||h.form||!!v.closest("form"),y=(0,tg.useSize)(v),j=h.values[p],S=void 0===j?0:tz(j,h.min,h.max),C=(s=p,(a=h.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),k=y?.[f.size],M=k?(r=k,l=S,o=f.direction,d=t_([0,50],[0,c=r/2]),(c-d(l)*o)*o):0;return n.useEffect(()=>{if(v)return h.thumbs.add(v),()=>{h.thumbs.delete(v)}},[v,h.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${M}px)`},children:[(0,t.jsx)(tx.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(B.Primitive.span,{role:"slider","aria-label":e["aria-label"]||C,"aria-valuemin":h.min,"aria-valuenow":j,"aria-valuemax":h.max,"aria-orientation":h.orientation,"data-orientation":h.orientation,"data-disabled":h.disabled?"":void 0,tabIndex:h.disabled?void 0:0,...m,ref:w,style:void 0===j?{display:"none"}:e.style,onFocus:(0,N.composeEventHandlers)(e.onFocus,()=>{h.valueIndexToChangeRef.current=p})})}),b&&(0,t.jsx)(tH,{name:g??(h.name?h.name+(h.values.length>1?"[]":""):void 0),form:h.form,value:j},p)]})});tL.displayName=tF;var tH=n.forwardRef(({__scopeSlider:e,value:i,...s},a)=>{let r=n.useRef(null),l=(0,I.useComposedRefs)(r,a),o=(0,K.usePrevious)(i);return n.useEffect(()=>{let e=r.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(o!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[o,i]),(0,t.jsx)(B.Primitive.input,{style:{display:"none"},...s,ref:l,defaultValue:i})});function tz(e,t,n){return(0,k.clamp)(100/(n-t)*(e-t),[0,100])}function t_(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}tH.displayName="RadioBubbleInput",e.s(["Range",()=>tA,"Root",()=>tk,"Slider",()=>tk,"SliderRange",()=>tA,"SliderThumb",()=>tL,"SliderTrack",()=>tD,"Thumb",()=>tL,"Track",()=>tD,"createSliderScope",()=>tj],29991);var tV=e.i(29991),tV=tV;function tK({className:e,defaultValue:i,value:s,min:a=0,max:r=100,...l}){let o=n.useMemo(()=>Array.isArray(s)?s:Array.isArray(i)?i:[a,r],[s,i,a,r]);return(0,t.jsxs)(tV.Root,{"data-slot":"slider",defaultValue:i,value:s,min:a,max:r,className:(0,y.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...l,children:[(0,t.jsx)(tV.Track,{"data-slot":"slider-track",className:(0,y.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(tV.Range,{"data-slot":"slider-range",className:(0,y.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:o.length},(e,n)=>(0,t.jsx)(tV.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},n))]})}let tO=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],tW=tO.length-1;function tU(e){let t=0,n=Math.abs(e-tO[0]);for(let i=1;i<tO.length;i++){let s=Math.abs(e-tO[i]);s<n&&(n=s,t=i)}return t}function tG({id:e,testId:i,value:s,onChange:a,onBlur:r,defaultSeconds:l=1800}){var o;let c,d,u=(""===s?l:parseInt(s,10))||l,[p,g]=(0,n.useState)(()=>tU(u)),m=tU(u);m!==p&&tO[p]!==u&&g(m);let h=(0,n.useCallback)(([e])=>{g(e),a(String(tO[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(tK,{id:e,"data-testid":i,min:0,max:tW,step:1,value:[p],onValueChange:h,onValueCommit:()=>r(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(c=Math.floor((o=tO[p])/3600),d=Math.round(o%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let tq=[{value:e9.EditorType.VsCode,label:"VS Code"},{value:e9.EditorType.Cursor,label:"Cursor"},{value:e9.EditorType.Windsurf,label:"Windsurf"},{value:e9.EditorType.Zed,label:"Zed"},{value:e9.EditorType.Antigravity,label:"Antigravity"}],t$=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],tY=[{id:"language",labelKey:"settings.sections.language",icon:p.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:s.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:a.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:r.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:o},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:v.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:c},{id:"feature-flags",labelKey:"settings.sections.flags",icon:d},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:x.MessageSquare},{id:"database",labelKey:"settings.sections.database",icon:u}];function tZ({label:e,description:n,htmlFor:i,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(j.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function tX({label:e,description:n,id:i,testId:s,checked:a,onChange:r,disabled:l}){return(0,t.jsx)(tZ,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(S.Switch,{id:i,"data-testid":s,checked:a,onCheckedChange:r,disabled:l,className:(0,y.cn)("cursor-pointer",l&&"cursor-not-allowed opacity-50")})})}function tJ({icon:e,title:n,description:i,badge:s,testId:a,children:r}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:n}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:i})]}),(0,t.jsx)("div",{className:"px-4",children:r})]})}function tQ({id:e,testId:n,value:i,onChange:s,onBlur:a,placeholder:r,min:l=1,max:o,step:c=1,suffix:d}){let{t:u}=(0,b.useTranslation)("web"),p=""===i?void 0:parseInt(i,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(l,(p??parseInt(r,10))-c)))},onMouseUp:a,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":u("common.decrease"),children:(0,t.jsx)(g.default,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:r,onChange:e=>{s(e.target.value.replace(/[^0-9]/g,""))},onBlur:a,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=p??parseInt(r,10),s(String(null!=o?Math.min(o,e+c):e+c))},onMouseUp:a,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":u("common.increase"),children:(0,t.jsx)(m.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function t0({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function t1({children:e,links:n}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(h.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function t2({settings:e,shepHome:l,dbFileSize:p,availableTerminals:g}){let{t:m}=(0,b.useTranslation)("web"),{showSaving:h,showSaved:j,save:S}=function(){let{t:e}=(0,b.useTranslation)("web"),[t,i]=(0,n.useTransition)(),[s,a]=(0,n.useState)(!1),[r,l]=(0,n.useState)(!1),o=(0,n.useRef)(null),c=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,o.current=setTimeout(()=>{o.current=null,c.current&&(a(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!t&&s&&(c.current=!0,o.current||(a(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[t,s]),{showSaving:s,showSaved:r,save:(0,n.useCallback)(t=>{i(async()=>{let n=await e6(t);n.success||w.toast.error(n.error??e("settings.failedToSave"))})},[i,e])}}(),C=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[k,N]=(0,n.useState)(e.agent.type),[M,I]=(0,n.useState)(e.environment.defaultEditor),[T,E]=(0,n.useState)(e.environment.shellPreference),[P,D]=(0,n.useState)(e.environment.terminalPreference??e9.TerminalType.System),R=g?g.filter(e=>e.available):[{id:e9.TerminalType.System,name:m("settings.environment.systemTerminal"),available:!0}],[A,F]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[L,B]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[H,z]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[_,V]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[K,O]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[W,U]=(0,n.useState)(e.workflow.enableEvidence),[G,q]=(0,n.useState)(e.workflow.commitEvidence),[$,Y]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[Z,X]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[J,Q]=(0,n.useState)(!1!==e.workflow.defaultFastMode),[ee,et]=(0,n.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[en,ei]=(0,n.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[es,ea]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[er,el]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eo,ec]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[ed,eu]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),ep=e.workflow.stageTimeouts,[eg,em]=(0,n.useState)(String(Math.round((ep?.analyzeMs??18e5)/1e3))),[eh,ef]=(0,n.useState)(String(Math.round((ep?.requirementsMs??18e5)/1e3))),[ev,ex]=(0,n.useState)(String(Math.round((ep?.researchMs??18e5)/1e3))),[ew,eb]=(0,n.useState)(String(Math.round((ep?.planMs??18e5)/1e3))),[ey,ej]=(0,n.useState)(String(Math.round((ep?.implementMs??18e5)/1e3))),[eS,eC]=(0,n.useState)(String(Math.round((ep?.mergeMs??18e5)/1e3))),ek=e.workflow.analyzeRepoTimeouts,[eN,eM]=(0,n.useState)(String(Math.round((ek?.analyzeMs??6e5)/1e3))),eI=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[eT,eE]=(0,n.useState)(eI.enabled),[eP,eD]=(0,n.useState)(String(eI.autoTimeoutMinutes)),[eR,eA]=(0,n.useState)(String(eI.maxConcurrentSessions)),[eF,eL]=(0,n.useState)(e.notifications.inApp.enabled),[eB,eH]=(0,n.useState)({...e.notifications.events}),[ez,e_]=(0,n.useState)({...C}),eV=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",eK=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",eO=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",eW=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",eU=ep?.analyzeMs!=null?String(Math.round(ep.analyzeMs/1e3)):"",eG=ep?.requirementsMs!=null?String(Math.round(ep.requirementsMs/1e3)):"",eq=ep?.researchMs!=null?String(Math.round(ep.researchMs/1e3)):"",e$=ep?.planMs!=null?String(Math.round(ep.planMs/1e3)):"",eY=ep?.implementMs!=null?String(Math.round(ep.implementMs/1e3)):"",eZ=ep?.mergeMs!=null?String(Math.round(ep.mergeMs/1e3)):"",eX=ek?.analyzeMs!=null?String(Math.round(ek.analyzeMs/1e3)):"";function eJ(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function e2(e){if(void 0===e)return;let t=eJ(e);return null!=t?1e3*t:void 0}function e3(e={}){let t=eJ(e.ciTimeout??er),n=e.autoArchiveEnabled??ee,i=parseInt(e.autoArchiveDelay??en,10);return{workflow:{openPrOnImplementationComplete:e.openPr??A,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??L,allowPrd:e.allowPrd??H,allowPlan:e.allowPlan??_,allowMerge:e.allowMerge??K},enableEvidence:e.enableEvidence??W,commitEvidence:e.commitEvidence??G,ciWatchEnabled:e.ciWatchEnabled??$,hideCiStatus:e.hideCiStatus??Z,defaultFastMode:e.defaultFastMode??J,autoArchiveDelayMinutes:n?Number.isNaN(i)||i<1?10:i:0,ciMaxFixAttempts:eJ(e.ciMaxFix??es),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:eJ(e.ciLogMax??eo),ciWatchPollIntervalSeconds:eJ(e.ciPollInterval??ed),stageTimeouts:{analyzeMs:e2(e.analyzeTimeout??eg),requirementsMs:e2(e.requirementsTimeout??eh),researchMs:e2(e.researchTimeout??ev),planMs:e2(e.planTimeout??ew),implementMs:e2(e.implementTimeout??ey),mergeMs:e2(e.mergeTimeout??eS)},analyzeRepoTimeouts:{analyzeMs:e2(e.analyzeRepoTimeout??eN)}}}}function e8(e={}){return{notifications:{inApp:{enabled:e.inApp??eF},events:e.events??eB}}}let[e7,te]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=tY.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&te(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let tt=(0,n.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:m("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,y.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",h?"opacity-100":"opacity-0"),children:m("settings.saving")}),(0,t.jsxs)("span",{className:(0,y.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",j&&!h?"opacity-100":"opacity-0"),children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),m("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:tY.map(e=>{let n=e.icon,i=e7===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tt(e.id),className:(0,y.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:m(e.labelKey)})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.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,t.jsx)(tp,{language:e.user?.preferredLanguage??e9.Language.English})}),(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(tJ,{icon:s.Bot,title:m("settings.agent.sectionTitle"),description:m("settings.agent.sectionDescription"),testId:"agent-settings-section",children:(0,t.jsx)(tZ,{label:m("settings.agent.agentAndModel"),description:m("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(tc.AgentModelPicker,{initialAgentType:k,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>N(e),className:"w-55"})})}),(0,t.jsx)(t1,{links:[{label:m("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:m("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:m("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.agent.hint")})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:a.Terminal,title:m("settings.environment.sectionTitle"),description:m("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.environment.defaultEditor"),description:m("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(eQ,{value:M,onValueChange:e=>{I(e),S({environment:{defaultEditor:e,shellPreference:T,terminalPreference:P}})},children:[(0,t.jsx)(e1,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:tq.map(e=>{var n;let i=(n=e.value)&&n in to?to[n]:tn;return(0,t.jsx)(e4,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(tZ,{label:m("settings.environment.shell"),description:m("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(eQ,{value:T,onValueChange:e=>{E(e),S({environment:{defaultEditor:M,shellPreference:e,terminalPreference:P}})},children:[(0,t.jsx)(e1,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:t$.map(e=>(0,t.jsx)(e4,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(tZ,{label:m("settings.environment.terminal"),description:m("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(eQ,{value:P,onValueChange:e=>{D(e),S({environment:{defaultEditor:M,shellPreference:T,terminalPreference:e}})},children:[(0,t.jsx)(e1,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(e0,{})}),(0,t.jsx)(e5,{children:R.map(e=>(0,t.jsx)(e4,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.environment.hint")})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:r.GitBranch,title:m("settings.workflow.title"),description:m("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.workflow.defaultFastMode"),description:m("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:J,onChange:e=>{Q(e),S(e3({defaultFastMode:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.approve")}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApprovePrd"),description:m("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:H,onChange:e=>{z(e),S(e3({allowPrd:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApprovePlan"),description:m("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:_,onChange:e=>{V(e),S(e3({allowPlan:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.autoApproveMerge"),description:m("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:K,onChange:e=>{O(e),S(e3({allowMerge:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.evidence")}),(0,t.jsx)(tX,{label:m("settings.workflow.collectEvidence"),description:m("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:W,onChange:e=>{U(e),e?S(e3({enableEvidence:e})):(q(!1),S(e3({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(tX,{label:m("settings.workflow.addEvidenceToPr"),description:m("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:G,disabled:!W||!A,onChange:e=>{q(e),S(e3({commitEvidence:e}))}}),(0,t.jsx)(t0,{children:m("settings.workflow.subsections.git")}),(0,t.jsx)(tX,{label:m("settings.workflow.pushOnComplete"),description:m("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:L,onChange:e=>{B(e),S(e3({pushOnComplete:e}))}}),(0,t.jsx)(tX,{label:m("settings.workflow.openPrOnComplete"),description:m("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:A,onChange:e=>{F(e),e?S(e3({openPr:e})):(q(!1),S(e3({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(tX,{label:m("settings.workflow.watchCiAfterPush"),description:m("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:$,onChange:e=>{Y(e),S(e3({ciWatchEnabled:e}))}}),(0,t.jsx)(t0,{children:"Archive"}),(0,t.jsx)(tX,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ee,onChange:e=>{et(e),S(e3({autoArchiveEnabled:e}))}}),(0,t.jsx)(tZ,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(tQ,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:en,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{ei(e)},onBlur:()=>{if(!ee)return;let e=parseInt(en,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));ei(String(t)),S(e3({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:m("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:m("settings.workflow.hint")})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:o,title:m("settings.ci.title"),description:m("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.ci.maxFixAttempts"),description:m("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(tQ,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:es,onChange:ea,onBlur:()=>{es!==eV&&S(e3({ciMaxFix:es}))},min:1,max:10})}),(0,t.jsx)(tZ,{label:m("settings.ci.watchTimeout"),description:m("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(tQ,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:er,onChange:el,onBlur:()=>{er!==eK&&S(e3({ciTimeout:er}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(tZ,{label:m("settings.ci.maxLogSize"),description:m("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(tQ,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eo,onChange:ec,onBlur:()=>{eo!==eO&&S(e3({ciLogMax:eo}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(tZ,{label:m("settings.ci.pollInterval"),description:m("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(tQ,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:ed,onChange:eu,onBlur:()=>{ed!==eW&&S(e3({ciPollInterval:ed}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(tX,{label:m("settings.ci.hideCiStatus"),description:m("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:Z,onChange:e=>{X(e),S(e3({hideCiStatus:e}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:m("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:m("settings.ci.hint")})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:v.Timer,title:m("settings.stageTimeouts.title"),description:m("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(tG,{id:"timeout-analyze",testId:"timeout-analyze-input",value:eg,onChange:em,onBlur:()=>{eg!==eU&&S(e3({analyzeTimeout:eg}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.requirements"),description:m("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(tG,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eh,onChange:ef,onBlur:()=>{eh!==eG&&S(e3({requirementsTimeout:eh}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.research"),description:m("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(tG,{id:"timeout-research",testId:"timeout-research-input",value:ev,onChange:ex,onBlur:()=>{ev!==eq&&S(e3({researchTimeout:ev}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.plan"),description:m("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(tG,{id:"timeout-plan",testId:"timeout-plan-input",value:ew,onChange:eb,onBlur:()=>{ew!==e$&&S(e3({planTimeout:ew}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.implement"),description:m("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(tG,{id:"timeout-implement",testId:"timeout-implement-input",value:ey,onChange:ej,onBlur:()=>{ey!==eY&&S(e3({implementTimeout:ey}))},defaultSeconds:1800})}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.merge"),description:m("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(tG,{id:"timeout-merge",testId:"timeout-merge-input",value:eS,onChange:eC,onBlur:()=>{eS!==eZ&&S(e3({mergeTimeout:eS}))},defaultSeconds:1800})}),(0,t.jsx)(t0,{children:m("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(tZ,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(tG,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:eN,onChange:eM,onBlur:()=>{eN!==eX&&S(e3({analyzeRepoTimeout:eN}))},defaultSeconds:600})})]}),(0,t.jsx)(t1,{children:m("settings.stageTimeouts.hint")})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:c,title:m("settings.notifications.title"),description:m("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(t0,{children:m("settings.notifications.channels")}),(0,t.jsx)(tX,{label:m("settings.notifications.inAppLabel"),description:m("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:eF,onChange:e=>{eL(e),S(e8({inApp:e}))}}),(0,t.jsx)(t0,{children:m("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:eB.agentStarted,onChange:e=>{let t={...eB,agentStarted:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:eB.phaseCompleted,onChange:e=>{let t={...eB,phaseCompleted:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:eB.waitingApproval,onChange:e=>{let t={...eB,waitingApproval:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:eB.agentCompleted,onChange:e=>{let t={...eB,agentCompleted:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:eB.agentFailed,onChange:e=>{let t={...eB,agentFailed:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(t0,{children:m("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:eB.prMerged,onChange:e=>{let t={...eB,prMerged:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:eB.prClosed,onChange:e=>{let t={...eB,prClosed:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:eB.prChecksPassed,onChange:e=>{let t={...eB,prChecksPassed:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:eB.prChecksFailed,onChange:e=>{let t={...eB,prChecksFailed:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:eB.prBlocked,onChange:e=>{let t={...eB,prBlocked:e};eH(t),S(e8({events:t}))}}),(0,t.jsx)(tX,{label:m("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:eB.mergeReviewReady,onChange:e=>{let t={...eB,mergeReviewReady:e};eH(t),S(e8({events:t}))}})]}),(0,t.jsx)(t1,{links:[{label:m("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:m("settings.notifications.hint")})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:d,title:m("settings.featureFlags.title"),description:m("settings.featureFlags.sectionDescription"),badge:m("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.featureFlags.skills"),description:m("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:ez.skills,onChange:e=>{let t={...ez,skills:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.deployments"),description:m("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:ez.envDeploy,onChange:e=>{let t={...ez,envDeploy:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.debug"),description:m("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:ez.debug,onChange:e=>{let t={...ez,debug:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.githubImport"),description:m("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:ez.githubImport,onChange:e=>{let t={...ez,githubImport:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.adoptBranch"),description:m("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:ez.adoptBranch,onChange:e=>{let t={...ez,adoptBranch:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.gitRebaseSync"),description:m("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:ez.gitRebaseSync,onChange:e=>{let t={...ez,gitRebaseSync:e};e_(t),S({featureFlags:t})}}),(0,t.jsx)(tX,{label:m("settings.featureFlags.reactFileManager"),description:m("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:ez.reactFileManager,onChange:e=>{let t={...ez,reactFileManager:e};e_(t),S({featureFlags:t})}})]}),(0,t.jsx)(t1,{children:m("settings.featureFlags.hint")})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:x.MessageSquare,title:m("settings.interactiveAgent.title"),description:m("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(tX,{label:m("settings.interactiveAgent.enableChatTab"),description:m("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:eT,onChange:e=>{eE(e),S({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(eP,10)||15,maxConcurrentSessions:parseInt(eR,10)||3}})}}),(0,t.jsx)(tZ,{label:m("settings.interactiveAgent.autoTimeout"),description:m("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(tQ,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:eP,placeholder:"15",min:1,max:120,suffix:"min",onChange:eD,onBlur:()=>{let e=parseInt(eP,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));eD(String(t)),S({interactiveAgent:{enabled:eT,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(eR,10)||3}})}})}),(0,t.jsx)(tZ,{label:m("settings.interactiveAgent.maxConcurrentSessions"),description:m("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(tQ,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:eR,placeholder:"3",min:1,max:10,onChange:eA,onBlur:()=>{let e=parseInt(eR,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));eA(String(t)),S({interactiveAgent:{enabled:eT,autoTimeoutMinutes:parseInt(eP,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(t1,{children:m("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(tJ,{icon:u,title:m("settings.database.title"),description:m("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(tZ,{label:m("settings.database.location"),description:m("settings.database.locationDescription"),children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:l})}),(0,t.jsx)(tZ,{label:m("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:p})})]}),(0,t.jsx)(t1,{links:[{label:m("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:m("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:m("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>t2],41952)}]);
|