@shepai/cli 1.194.2-pr584.4f4957c → 1.194.3
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/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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +36 -36
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +34 -34
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +37 -37
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +46 -46
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +34 -34
- 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)/control-center/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +34 -34
- package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +37 -37
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +46 -46
- 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)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/applications/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/applications/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/applications/page.js.nft.json +1 -1
- package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/features/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/features/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/settings/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/skills/page/server-reference-manifest.json +16 -16
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/tools/page/server-reference-manifest.json +14 -14
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/version/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.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/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1973d644._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__ae78a6b9._.js → [root-of-the-server]__252fcd17._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__ae78a6b9._.js.map → [root-of-the-server]__252fcd17._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__638955bc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__97b6831c._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__b8c0d40a._.js → [root-of-the-server]__c3b6abac._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__b8c0d40a._.js.map → [root-of-the-server]__c3b6abac._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_761e4bd3._.js → _06c1d752._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_761e4bd3._.js.map → _06c1d752._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_588a572a._.js → _0a84dcd8._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_588a572a._.js.map → _0a84dcd8._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
- package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_12ba4a07._.js +1 -1
- package/web/.next/server/chunks/ssr/_12ba4a07._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_15634d5b._.js +1 -1
- package/web/.next/server/chunks/ssr/_15634d5b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_27c2f774._.js +1 -1
- package/web/.next/server/chunks/ssr/_27c2f774._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_30787024._.js +1 -1
- package/web/.next/server/chunks/ssr/_30787024._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_3bd60fa3._.js +1 -1
- package/web/.next/server/chunks/ssr/_402d53bf._.js +1 -1
- package/web/.next/server/chunks/ssr/_402d53bf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_7e021392._.js → _494c9d59._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_7e021392._.js.map → _494c9d59._.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/_6868b4b1._.js +1 -1
- package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
- package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
- package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8f4f8aa1._.js +1 -1
- package/web/.next/server/chunks/ssr/_8f4f8aa1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_973065c3._.js → _b2c44425._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_973065c3._.js.map → _b2c44425._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_b40a4fc3._.js +1 -1
- package/web/.next/server/chunks/ssr/_b40a4fc3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_c44ec376._.js +1 -1
- package/web/.next/server/chunks/ssr/_c44ec376._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_e32aca20._.js → _c570d4fb._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_e32aca20._.js.map → _c570d4fb._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_cd641c61._.js +1 -1
- package/web/.next/server/chunks/ssr/_cd641c61._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
- package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_e6271303._.js +1 -1
- package/web/.next/server/chunks/ssr/_e6271303._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ed8fd56c._.js +1 -1
- package/web/.next/server/chunks/ssr/_ed8fd56c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
- package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3f792f30._.js → _fc1ebfd1._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3f792f30._.js.map → _fc1ebfd1._.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/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_929e9a7b._.js → src_presentation_web_0a898c35._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_929e9a7b._.js.map → src_presentation_web_0a898c35._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_7ab26c98._.js +3 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_70ef7fde._.js → src_presentation_web_bdc7c0dd._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_70ef7fde._.js.map → src_presentation_web_bdc7c0dd._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.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 +98 -98
- package/web/.next/static/chunks/{ce7b3441e19255e6.js → 03c8ee30ab88f919.js} +1 -1
- package/web/.next/static/chunks/{a564b5b907b54a5f.js → 0cc03015af924e20.js} +1 -1
- package/web/.next/static/chunks/{eb88bae05f0b043b.js → 0cf016ec6f65fa24.js} +1 -1
- package/web/.next/static/chunks/{9f62973ace3dc4af.js → 2c61425fc96ae9f7.js} +1 -1
- package/web/.next/static/chunks/{f2040895572839d9.js → 318759d8e86dfc42.js} +1 -1
- package/web/.next/static/chunks/{733544bb6796c862.js → 331f023572696b0a.js} +1 -1
- package/web/.next/static/chunks/{3977923286c37140.js → 41e289ee887c8517.js} +1 -1
- package/web/.next/static/chunks/{5dc0003cc1241cb9.js → 50bb4ae3adb5eb0e.js} +1 -1
- package/web/.next/static/chunks/{edd8cb6712149e39.js → 6da640312464431a.js} +1 -1
- package/web/.next/static/chunks/{8665bb59c0620008.js → 77966d6d1929c049.js} +1 -1
- package/web/.next/static/chunks/{4826c460d01c6943.js → 8e693bdf4d04fa2c.js} +1 -1
- package/web/.next/static/chunks/{67109f43808725c6.js → 931795a6a581b203.js} +1 -1
- package/web/.next/static/chunks/{c954985ac32f7d87.js → 953e9d92d97dcaf1.js} +2 -2
- package/web/.next/static/chunks/{4b5d061eb5c2aac4.js → 959faf37d8e8d52b.js} +1 -1
- package/web/.next/static/chunks/{b9bb2c40f2b62ef2.js → a42c84a8e2742018.js} +1 -1
- package/web/.next/static/chunks/{3a25d8e6bc3ede3d.js → a95cef864840e759.js} +1 -1
- package/web/.next/static/chunks/{07156bfe6433ad08.js → accd7fa108255573.js} +1 -1
- package/web/.next/static/chunks/{7f2567429fbb01f5.js → aea0f9b5ab3bace4.js} +1 -1
- package/web/.next/static/chunks/{68d5517e0344f2a8.js → b10e586976309bb7.js} +1 -1
- package/web/.next/static/chunks/{e62cd9095e37f064.js → b15f7964eeaaab12.js} +1 -1
- package/web/.next/static/chunks/{150d2879079190e3.js → b207588307f7be12.js} +1 -1
- package/web/.next/static/chunks/{8c997a1b1fbb91bf.js → b77a5bc7f8489137.js} +1 -1
- package/web/.next/static/chunks/{22f47ab138b2d9a9.js → baf694f161ce7342.js} +1 -1
- package/web/.next/static/chunks/{65b5726d39a4d482.js → bec8ec0800020acc.js} +1 -1
- package/web/.next/static/chunks/{389b6724824ff3f6.js → c0bb71cba2d00657.js} +1 -1
- package/web/.next/static/chunks/{33264a24cdc2c4a5.js → c20650058ecf47b9.js} +1 -1
- package/web/.next/static/chunks/{24ec879c40147be1.js → cc3f38aa30b0e5bc.js} +1 -1
- package/web/.next/static/chunks/d3257028b32efe04.js +1 -0
- package/web/.next/static/chunks/{6ade0b141237e333.js → e0a0360221311346.js} +1 -1
- package/web/.next/static/chunks/{fea2481993c12344.js → f18f55bcb03d0992.js} +1 -1
- package/web/.next/static/chunks/{6235f12c6bcbd03b.js → f55c73d6668c343d.js} +1 -1
- package/web/.next/static/chunks/{249d416f38a960ee.js → f8d7451055dafa13.js} +1 -1
- package/web/.next/static/chunks/{e2b81d6dd4f82a2c.js → f96f160b292fa8fe.js} +1 -1
- package/web/.next/static/chunks/{19a5af71926715a0.js → fb08b36e6fb54e54.js} +1 -1
- package/web/.next/static/chunks/0abf3aca0664110e.js +0 -1
- /package/web/.next/static/{v2TqKlCQvmOQONd8Gezvw → edsd2kzyk0v0aunegSWUo}/_buildManifest.js +0 -0
- /package/web/.next/static/{v2TqKlCQvmOQONd8Gezvw → edsd2kzyk0v0aunegSWUo}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{v2TqKlCQvmOQONd8Gezvw → edsd2kzyk0v0aunegSWUo}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,283843,e=>{"use strict";let t=(0,e.i(903645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",()=>t],283843)},731255,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40b261f4a8b7a49d8515c4c6549ec95dcd699e0e9c",t.callServer,void 0,t.findSourceMapURL,"createFeature");e.s(["createFeature",()=>r])},34562,630616,e=>{"use strict";var t=e.i(679606),r=e.i(152155);e.i(541001);var a=e.i(64780),s=e.i(216868),i=e.i(283843),o=e.i(197667),l=e.i(453360),n=e.i(655016),c=e.i(591925),d=e.i(83428),p=e.i(381542),u=e.i(670471),h=e.i(912103),m=e.i(43416),x=e.i(542049),f=e.i(941698),g=e.i(131777),b=e.i(808361);e.i(1650);var j=e.i(511495),w=e.i(845811),v=e.i(735364),C=e.i(698127),y=e.i(48306),k=e.i(141957),N=e.i(81846),D=e.i(390382),T=e.i(951911),S=e.i(102828),F=e.i(930153);e.i(650032);var P=e.i(486254),L=e.i(508893);let z=(0,L.createServerReference)("405f890c86a99e8c688d671eba87b7d1d5bb517c4d",L.callServer,void 0,L.findSourceMapURL,"getViewerPermission");var E=e.i(41413),R=e.i(425235),U=e.i(478521);e.i(13322);var A=e.i(961201),M=e.i(175921),I=e.i(790427),O=e.i(442076);let K=["application","fast","spec"],$={application:{icon:x.LayoutGrid,labelKey:"createDrawer.modeApplication"},fast:{icon:l.Zap,labelKey:"createDrawer.modeFast"},spec:{icon:f.ClipboardList,labelKey:"createDrawer.modeSpec"}},B=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),G={allowPrd:!1,allowPlan:!1,allowMerge:!1};function q({open:e,onClose:i,onSubmit:o,repositoryPath:l,isSubmitting:c=!1,workflowDefaults:d,features:x,repositories:f,initialParentId:C,currentAgentType:D,currentModel:L,initialDescription:R,canPushDirectly:U,initialMode:A}){let M=(0,b.useSoundAction)("create"),{t:I}=(0,a.useTranslation)("web"),q=l&&(!f||0===f.length||f.some(e=>e.path===l))?l:"",J=d?.approvalGates??G,V=d?.push??!1,H=d?.openPr??!1,Q=d?.ciWatchEnabled!==!1,X=d?.enableEvidence??!1,Y=d?.commitEvidence??!1,_=A||(d?.fast===!1?"application":"fast"),[ee,et]=(0,r.useState)(R??"");(0,r.useEffect)(()=>{R&&et(R)},[R]);let[er,ea]=(0,r.useState)([]),[es,ei]=(0,r.useState)({...J}),[eo,el]=(0,r.useState)(V),[en,ec]=(0,r.useState)(H),[ed,ep]=(0,r.useState)(d?.ciWatchEnabled!==!1),[eu,eh]=(0,r.useState)(X),[em,ex]=(0,r.useState)(Y),[ef,eg]=(0,r.useState)(void 0),[eb,ej]=(0,r.useState)(_),ew="fast"===eb,[ev,eC]=(0,r.useState)(!1),[ey,ek]=(0,r.useState)(!1),[eN,eD]=(0,r.useState)(!0),[eT,eS]=(0,r.useState)(!0),[eF,eP]=(0,r.useState)(d?.injectSkills??!1),[eL,ez]=(0,r.useState)(void 0),[eE,eR]=(0,r.useState)(void 0),[eU,eA]=(0,r.useState)(q||void 0),[eM,eI]=(0,r.useState)(f??[]),[eO,eK]=(0,r.useState)(!1),[e$,eB]=(0,r.useState)(null),[eG,eq]=(0,r.useState)(!1),eW=(0,r.useRef)(crypto.randomUUID()),eZ=(0,r.useRef)(0),eJ=(0,r.useRef)(null);(0,r.useEffect)(()=>{d&&(ei({...d.approvalGates}),el(d.push),ec(d.openPr),ep(!1!==d.ciWatchEnabled),eh(d.enableEvidence),ex(d.commitEvidence),A||ej(!1!==d.fast?"fast":"application"),eP(d.injectSkills??!1))},[d,A]),(0,r.useEffect)(()=>{eI(f??[])},[f]),(0,r.useEffect)(()=>{e&&C&&eg(C)},[e,C]);let[eV,eH]=(0,r.useState)(U??!1);(0,r.useEffect)(()=>{eH(U??!1)},[U]);let eQ=(0,r.useRef)(eU);(0,r.useEffect)(()=>{eU&&eU!==eQ.current&&(eQ.current=eU,z(eU).then(e=>eH(e.canPushDirectly)).catch(()=>eH(!1)))},[eU]),(0,r.useEffect)(()=>{eV&&(ek(!1),el(V),ec(H),eD(!0))},[eV,V,H]);let eX=(0,r.useCallback)(()=>{et(""),ea([]),ei({...J}),el(V),ec(H),ep(Q),eh(X),ex(Y),eg(void 0),eA(q||void 0),eI(f??[]),ej(_),eC(!1),ek(!1),eD(!0),eS(!0),ez(void 0),eR(void 0),eB(null),eZ.current=0,eK(!1)},[J,V,H,X,Q,Y,_,q,f]),eY=""!==ee.trim()||er.length>0,{attemptClose:e_}=(0,F.useGuardedDrawerClose)({open:e,isDirty:eY,onClose:i,onReset:eX}),e0=(0,r.useCallback)(async e=>{for(let t of(eB(null),e)){if(t.size>0xa00000)return void eB(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!B.has(e))return void eB(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();ea(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eW.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));ea(t=>t.filter(t=>t.id!==e)),eB(t.error??"Upload failed");return}let s=await a.json();ea(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{ea(t=>t.filter(t=>t.id!==e)),eB("Upload failed")}}},[]),e1=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current+=1,1===eZ.current&&eK(!0)},[]),e5=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current-=1,0===eZ.current&&eK(!1)},[]),e4=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),e2=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current=0,eK(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&e0(t)},[e0]),e3=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),e0(r))},[e0]),e6=(0,r.useCallback)(e=>{if(e.preventDefault(),!ee.trim())return;let t=eU??q;t&&(M.play(),o({description:ee.trim(),attachments:er.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:es.allowPrd??!1,allowPlan:es.allowPlan??!1,allowMerge:es.allowMerge??!1},push:!!ey||eo||en,openPr:!!ey||en,ciWatchEnabled:ed,enableEvidence:eu,commitEvidence:em,fast:ew,forkAndPr:ey,commitSpecs:eN,rebaseBeforeBranch:eT,injectSkills:eF,...ev?{pending:ev}:{},...eL?{agentType:eL}:{},...eE?{model:eE}:{},...ef?{parentId:ef}:{},sessionId:eW.current}),eX())},[ee,er,es,eU,q,o,eo,en,eu,ed,em,ew,ey,eN,eT,eF,ev,eL,eE,ef,M,eX]),e8=(0,r.useCallback)(async()=>{try{let e=await (0,O.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();ea(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eW.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));ea(t=>t.filter(t=>t.id!==e)),eB(t.error??"Upload failed");return}let a=await r.json();ea(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{ea(t=>t.filter(t=>t.id!==e)),eB("Upload failed")}}}catch{}},[]),e9=(0,r.useCallback)(e=>{ea(t=>t.filter(t=>t.id!==e))},[]),e7=(0,r.useCallback)((e,t)=>{ea(r=>r.map(r=>r.id===e?{...r,notes:t}:r))},[]),te=(0,r.useRef)(null),tt=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),te.current?.requestSubmit())},[]),tr=(0,r.useCallback)(()=>{eq(!0)},[]),ta=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eJ.current?.contains(document.activeElement),t=eJ.current?.querySelector('[aria-expanded="true"]')!==null;e||t||eq(!1)},0)},[]),ts=x&&x.length>0,ti=!q&&!eU,to=!q&&void 0!==f,tl=[{id:"allowPrd",label:I("createDrawer.prd"),description:I("createDrawer.prdDescription")},{id:"allowPlan",label:I("createDrawer.plan"),description:I("createDrawer.planDescription")},{id:"allowMerge",label:I("createDrawer.merge"),description:I("createDrawer.mergeDescription")}];return(0,t.jsx)(j.BaseDrawer,{open:e,onClose:e_,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(w.DrawerTitle,{children:I("createDrawer.title")})]}),c?(0,t.jsx)(w.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(N.Badge,{variant:"secondary",children:I("createDrawer.creating")})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(v.Button,{variant:"outline",onClick:e_,disabled:c,children:I("createDrawer.cancel")}),(0,t.jsx)(v.Button,{type:"submit",form:"create-feature-form",disabled:!ee.trim()||c||ti,children:c?I("createDrawer.creating"):I("createDrawer.createFeature")})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(S.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:te,id:"create-feature-form",onSubmit:e6,onKeyDown:tt,className:"flex flex-col gap-4",children:[to?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.repository")}),(0,t.jsx)(Z,{repositories:eM,value:eU,onChange:eA,onAddRepository:e=>{eI(t=>[...t,e]),eA(e.path)},disabled:c})]}):q?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.repository")}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:f?.find(e=>e.path===q)?.name??q.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":I("createDrawer.fileDropZone"),"data-drag-over":eO?"true":"false",onDragEnter:e1,onDragLeave:e5,onDragOver:e4,onDrop:e2,className:(0,g.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",eO&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(k.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.describeFeature")}),(0,t.jsxs)("div",{ref:eJ,onFocus:tr,onBlur:ta,className:(0,g.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eG&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(y.Textarea,{id:"feature-description",placeholder:I("createDrawer.featurePlaceholder"),value:ee,onChange:e=>et(e.target.value),onPaste:e3,required:!0,disabled:c,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),er.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:er.map(e=>(0,t.jsx)(P.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>e9(e.id),disabled:c,loading:e.loading,notes:e.notes,onNotesChange:t=>e7(e.id,t)},e.id))}),e$?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:e$}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(E.AgentModelPicker,{initialAgentType:eL??D??"claude-code",initialModel:eE??L??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{ez(e),eR(t)},disabled:c,className:"w-55"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(T.Switch,{id:"pending-mode",checked:ev,onCheckedChange:eC,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(n.Clock,{className:"h-3.5 w-3.5"}),I("createDrawer.pendingMode")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.pendingModeDescription")})]}),(0,t.jsx)("div",{role:"group","aria-label":I("createDrawer.modeGroupLabel"),className:"border-input flex items-center gap-0.5 rounded-md border p-0.5",children:K.map(e=>{let r=$[e],a=r.icon,s=eb===e;return(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","data-testid":`build-mode-${e}`,"aria-pressed":s,disabled:c,onClick:()=>ej(e),className:(0,g.cn)("flex cursor-pointer items-center gap-1 rounded-sm px-2 py-1 text-xs font-medium transition-colors",s?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground","disabled:cursor-not-allowed disabled:opacity-50"),children:[(0,t.jsx)(a,{className:"h-3.5 w-3.5"}),I(r.labelKey)]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I(`${r.labelKey}Description`)})]},e)})}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:e8,disabled:c,"aria-label":I("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(s.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("chat.attachFiles")})]})]})]})]}),ts&&void 0!==C?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(k.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.parentFeature")}),(0,t.jsx)(W,{features:x,value:ef,onChange:eg,disabled:c})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.approve")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.approveDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:tl.map(e=>(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:`approve-${e.id}`,size:"sm",checked:es[e.id]??!1,onCheckedChange:t=>ei(r=>({...r,[e.id]:t})),disabled:c||ew&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(k.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ew&&("allowPrd"===e.id||"allowPlan"===e.id)?I("createDrawer.skippedInFastMode"):e.description})]},e.id))}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=tl.every(e=>es[e.id]),t={};for(let r of tl)t[r.id]=!e;ei(t)},disabled:c,className:(0,g.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",tl.every(e=>es[e.id])&&"text-primary"),children:I("createDrawer.all")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.toggleAllApprovalGates")})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.evidence")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.evidenceDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"enable-evidence",size:"sm",checked:eu,onCheckedChange:e=>{eh(e),e||ex(!1)},disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:I("createDrawer.collect")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.collectDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-evidence",size:"sm",checked:em,onCheckedChange:ex,disabled:c||!eu||!en&&!ey}),(0,t.jsx)(k.Label,{htmlFor:"commit-evidence",className:(0,g.cn)("cursor-pointer text-xs font-medium",(!eu||!en&&!ey)&&"opacity-50"),children:I("createDrawer.addToPr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:en||ey?eu?I("createDrawer.addToPrDescription"):I("createDrawer.requiresEvidence"):I("createDrawer.requiresPr")})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.skills")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.skillsDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"inject-skills",size:"sm",checked:eF,onCheckedChange:eP,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(h.Puzzle,{className:"h-3 w-3"}),I("createDrawer.injectSkills")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.injectSkillsDescription")})]})})]}),(0,t.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:I("createDrawer.git")}),(0,t.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"push",size:"sm",checked:!!ey||eo||en,onCheckedChange:e=>{el(e),!e&&en&&ec(!1)},disabled:c||ey}),(0,t.jsx)(k.Label,{htmlFor:"push",className:(0,g.cn)("cursor-pointer text-xs font-medium",ey&&"opacity-50"),children:I("createDrawer.push")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ey?"Enabled — contributing to upstream":I("createDrawer.pushDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"open-pr",size:"sm",checked:!!ey||en,onCheckedChange:e=>{ec(e),e||ex(!1)},disabled:c||ey}),(0,t.jsx)(k.Label,{htmlFor:"open-pr",className:(0,g.cn)("cursor-pointer text-xs font-medium",ey&&"opacity-50"),children:I("createDrawer.pr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ey?"Enabled — contributing to upstream":I("createDrawer.prDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"ci-watch",size:"sm",checked:ed,onCheckedChange:ep,disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:I("createDrawer.watch")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.watchDescription")})]}),(0,t.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"rebase-before-branch",size:"sm",checked:eT,onCheckedChange:eS,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(m.RefreshCw,{className:"h-3 w-3"}),I("createDrawer.sync")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.syncDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-specs",size:"sm",checked:eN,onCheckedChange:eD,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(u.FileText,{className:"h-3 w-3"}),I("createDrawer.commitSpecs")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.commitSpecsDescription")})]}),!eV&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"fork-and-pr",size:"sm",checked:ey,onCheckedChange:e=>{ek(e),e&&eD(!1)},disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(p.GitFork,{className:"h-3 w-3"}),I("createDrawer.forkAndPr")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function W({features:e,value:s,onChange:l,disabled:n}){let{t:c}=(0,a.useTranslation)("web"),[d,p]=(0,r.useState)(!1),[u,h]=(0,r.useState)(""),m=(0,r.useRef)(null),x=e.find(e=>e.id===s),f=u.trim()?e.filter(e=>e.name.toLowerCase().includes(u.toLowerCase())||e.id.toLowerCase().includes(u.toLowerCase())):e,b=(0,r.useCallback)(e=>{l(e),p(!1),h("")},[l]);return(0,r.useEffect)(()=>{d?setTimeout(()=>m.current?.focus(),0):h("")},[d]),(0,t.jsxs)(D.Popover,{open:d,onOpenChange:p,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":d,"aria-label":"Parent Feature",disabled:n,"data-testid":"parent-feature-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!x&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:x?`${x.name} (${x.id.slice(0,8)})`:c("createDrawer.selectParent")}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(C.Input,{ref:m,placeholder:c("createDrawer.searchFeatures"),value:u,onChange:e=>h(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===s,onClick:()=>b(void 0),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===s&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",void 0!==s&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:c("createDrawer.noParent")})]}),0===f.length&&u?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:c("createDrawer.noFeaturesFound")}):f.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.id,onClick:()=>b(e.id),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",s!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function Z({repositories:e,value:s,onChange:l,onAddRepository:n,disabled:u}){let[h,m]=(0,r.useState)(!1),[x,f]=(0,r.useState)(""),[b,j]=(0,r.useState)(!1),[w,v]=(0,r.useState)(null),[y,k]=(0,r.useState)(!1),T=(0,r.useRef)(null),{reactFileManager:S}=(0,M.useFeatureFlags)(),{t:F}=(0,a.useTranslation)("web"),P=e.find(e=>e.path===s),L=x.trim()?e.filter(e=>e.name.toLowerCase().includes(x.toLowerCase())||e.path.toLowerCase().includes(x.toLowerCase())):e,z=(0,r.useCallback)(e=>{l(e),m(!1),f("")},[l]),E=(0,r.useCallback)(async e=>{let t=await (0,I.addRepository)({path:e});if(t.error){v(t.error),j(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};n?.(e),l(e.path),m(!1),f("")}},[n,l]),O=(0,r.useCallback)(async()=>{if(!b){if(S)return void k(!0);j(!0),v(null);try{let e=await (0,U.pickFolder)();if(!e)return void j(!1);await E(e)}catch{k(!0)}finally{j(!1)}}},[b,S,E]),K=(0,r.useCallback)(async e=>{if(k(!1),e){j(!0),v(null);try{await E(e)}catch(e){v(e instanceof Error?e.message:"Failed to add repository")}finally{j(!1)}}},[E]);return(0,r.useEffect)(()=>{h?setTimeout(()=>T.current?.focus(),0):f("")},[h]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(D.Popover,{open:h,onOpenChange:m,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":h,"aria-label":"Repository",disabled:u,"data-testid":"repository-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!P&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:P?P.name:"Select repository..."}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(C.Input,{ref:T,placeholder:F("createDrawer.searchRepositories"),value:x,onChange:e=>f(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===L.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):L.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.path,onClick:()=>z(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",s!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[e.name,e.isFork?(0,t.jsxs)(N.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,t.jsx)(p.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(R.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:O,disabled:b,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[b?(0,t.jsx)(d.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(c.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),w?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:w}):null]})})]}),(0,t.jsx)(A.ReactFileManagerDialog,{open:y,onOpenChange:e=>{e||k(!1)},onSelect:K})]})}e.s(["FeatureCreateDrawer",()=>q],630616),e.s([],34562)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,283843,e=>{"use strict";let t=(0,e.i(903645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",()=>t],283843)},433227,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40fae939110775ca3414e04df5d65d3b5787d2991a",t.callServer,void 0,t.findSourceMapURL,"createFeature");e.s(["createFeature",()=>r])},34562,630616,e=>{"use strict";var t=e.i(679606),r=e.i(152155);e.i(541001);var a=e.i(64780),s=e.i(216868),i=e.i(283843),o=e.i(197667),l=e.i(453360),n=e.i(655016),c=e.i(591925),d=e.i(83428),p=e.i(381542),u=e.i(670471),h=e.i(912103),m=e.i(43416),x=e.i(542049),f=e.i(941698),g=e.i(131777),b=e.i(808361);e.i(1650);var j=e.i(511495),w=e.i(845811),v=e.i(735364),C=e.i(698127),y=e.i(48306),k=e.i(141957),N=e.i(81846),D=e.i(390382),T=e.i(951911),S=e.i(102828),F=e.i(930153);e.i(650032);var P=e.i(486254),L=e.i(508893);let z=(0,L.createServerReference)("407ad4c99d6a5349482771f040857ec05c47c985c9",L.callServer,void 0,L.findSourceMapURL,"getViewerPermission");var E=e.i(41413),R=e.i(425235),U=e.i(478521);e.i(13322);var A=e.i(961201),M=e.i(175921),I=e.i(603691),O=e.i(442076);let K=["application","fast","spec"],$={application:{icon:x.LayoutGrid,labelKey:"createDrawer.modeApplication"},fast:{icon:l.Zap,labelKey:"createDrawer.modeFast"},spec:{icon:f.ClipboardList,labelKey:"createDrawer.modeSpec"}},B=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),G={allowPrd:!1,allowPlan:!1,allowMerge:!1};function q({open:e,onClose:i,onSubmit:o,repositoryPath:l,isSubmitting:c=!1,workflowDefaults:d,features:x,repositories:f,initialParentId:C,currentAgentType:D,currentModel:L,initialDescription:R,canPushDirectly:U,initialMode:A}){let M=(0,b.useSoundAction)("create"),{t:I}=(0,a.useTranslation)("web"),q=l&&(!f||0===f.length||f.some(e=>e.path===l))?l:"",J=d?.approvalGates??G,V=d?.push??!1,H=d?.openPr??!1,Q=d?.ciWatchEnabled!==!1,X=d?.enableEvidence??!1,Y=d?.commitEvidence??!1,_=A||(d?.fast===!1?"application":"fast"),[ee,et]=(0,r.useState)(R??"");(0,r.useEffect)(()=>{R&&et(R)},[R]);let[er,ea]=(0,r.useState)([]),[es,ei]=(0,r.useState)({...J}),[eo,el]=(0,r.useState)(V),[en,ec]=(0,r.useState)(H),[ed,ep]=(0,r.useState)(d?.ciWatchEnabled!==!1),[eu,eh]=(0,r.useState)(X),[em,ex]=(0,r.useState)(Y),[ef,eg]=(0,r.useState)(void 0),[eb,ej]=(0,r.useState)(_),ew="fast"===eb,[ev,eC]=(0,r.useState)(!1),[ey,ek]=(0,r.useState)(!1),[eN,eD]=(0,r.useState)(!0),[eT,eS]=(0,r.useState)(!0),[eF,eP]=(0,r.useState)(d?.injectSkills??!1),[eL,ez]=(0,r.useState)(void 0),[eE,eR]=(0,r.useState)(void 0),[eU,eA]=(0,r.useState)(q||void 0),[eM,eI]=(0,r.useState)(f??[]),[eO,eK]=(0,r.useState)(!1),[e$,eB]=(0,r.useState)(null),[eG,eq]=(0,r.useState)(!1),eW=(0,r.useRef)(crypto.randomUUID()),eZ=(0,r.useRef)(0),eJ=(0,r.useRef)(null);(0,r.useEffect)(()=>{d&&(ei({...d.approvalGates}),el(d.push),ec(d.openPr),ep(!1!==d.ciWatchEnabled),eh(d.enableEvidence),ex(d.commitEvidence),A||ej(!1!==d.fast?"fast":"application"),eP(d.injectSkills??!1))},[d,A]),(0,r.useEffect)(()=>{eI(f??[])},[f]),(0,r.useEffect)(()=>{e&&C&&eg(C)},[e,C]);let[eV,eH]=(0,r.useState)(U??!1);(0,r.useEffect)(()=>{eH(U??!1)},[U]);let eQ=(0,r.useRef)(eU);(0,r.useEffect)(()=>{eU&&eU!==eQ.current&&(eQ.current=eU,z(eU).then(e=>eH(e.canPushDirectly)).catch(()=>eH(!1)))},[eU]),(0,r.useEffect)(()=>{eV&&(ek(!1),el(V),ec(H),eD(!0))},[eV,V,H]);let eX=(0,r.useCallback)(()=>{et(""),ea([]),ei({...J}),el(V),ec(H),ep(Q),eh(X),ex(Y),eg(void 0),eA(q||void 0),eI(f??[]),ej(_),eC(!1),ek(!1),eD(!0),eS(!0),ez(void 0),eR(void 0),eB(null),eZ.current=0,eK(!1)},[J,V,H,X,Q,Y,_,q,f]),eY=""!==ee.trim()||er.length>0,{attemptClose:e_}=(0,F.useGuardedDrawerClose)({open:e,isDirty:eY,onClose:i,onReset:eX}),e0=(0,r.useCallback)(async e=>{for(let t of(eB(null),e)){if(t.size>0xa00000)return void eB(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!B.has(e))return void eB(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();ea(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eW.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));ea(t=>t.filter(t=>t.id!==e)),eB(t.error??"Upload failed");return}let s=await a.json();ea(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{ea(t=>t.filter(t=>t.id!==e)),eB("Upload failed")}}},[]),e1=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current+=1,1===eZ.current&&eK(!0)},[]),e5=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current-=1,0===eZ.current&&eK(!1)},[]),e4=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),e3=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current=0,eK(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&e0(t)},[e0]),e2=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),e0(r))},[e0]),e6=(0,r.useCallback)(e=>{if(e.preventDefault(),!ee.trim())return;let t=eU??q;t&&(M.play(),o({description:ee.trim(),attachments:er.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:es.allowPrd??!1,allowPlan:es.allowPlan??!1,allowMerge:es.allowMerge??!1},push:!!ey||eo||en,openPr:!!ey||en,ciWatchEnabled:ed,enableEvidence:eu,commitEvidence:em,fast:ew,forkAndPr:ey,commitSpecs:eN,rebaseBeforeBranch:eT,injectSkills:eF,...ev?{pending:ev}:{},...eL?{agentType:eL}:{},...eE?{model:eE}:{},...ef?{parentId:ef}:{},sessionId:eW.current}),eX())},[ee,er,es,eU,q,o,eo,en,eu,ed,em,ew,ey,eN,eT,eF,ev,eL,eE,ef,M,eX]),e8=(0,r.useCallback)(async()=>{try{let e=await (0,O.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();ea(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eW.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));ea(t=>t.filter(t=>t.id!==e)),eB(t.error??"Upload failed");return}let a=await r.json();ea(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{ea(t=>t.filter(t=>t.id!==e)),eB("Upload failed")}}}catch{}},[]),e9=(0,r.useCallback)(e=>{ea(t=>t.filter(t=>t.id!==e))},[]),e7=(0,r.useCallback)((e,t)=>{ea(r=>r.map(r=>r.id===e?{...r,notes:t}:r))},[]),te=(0,r.useRef)(null),tt=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),te.current?.requestSubmit())},[]),tr=(0,r.useCallback)(()=>{eq(!0)},[]),ta=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eJ.current?.contains(document.activeElement),t=eJ.current?.querySelector('[aria-expanded="true"]')!==null;e||t||eq(!1)},0)},[]),ts=x&&x.length>0,ti=!q&&!eU,to=!q&&void 0!==f,tl=[{id:"allowPrd",label:I("createDrawer.prd"),description:I("createDrawer.prdDescription")},{id:"allowPlan",label:I("createDrawer.plan"),description:I("createDrawer.planDescription")},{id:"allowMerge",label:I("createDrawer.merge"),description:I("createDrawer.mergeDescription")}];return(0,t.jsx)(j.BaseDrawer,{open:e,onClose:e_,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(w.DrawerTitle,{children:I("createDrawer.title")})]}),c?(0,t.jsx)(w.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(N.Badge,{variant:"secondary",children:I("createDrawer.creating")})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(v.Button,{variant:"outline",onClick:e_,disabled:c,children:I("createDrawer.cancel")}),(0,t.jsx)(v.Button,{type:"submit",form:"create-feature-form",disabled:!ee.trim()||c||ti,children:c?I("createDrawer.creating"):I("createDrawer.createFeature")})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(S.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:te,id:"create-feature-form",onSubmit:e6,onKeyDown:tt,className:"flex flex-col gap-4",children:[to?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.repository")}),(0,t.jsx)(Z,{repositories:eM,value:eU,onChange:eA,onAddRepository:e=>{eI(t=>[...t,e]),eA(e.path)},disabled:c})]}):q?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.repository")}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:f?.find(e=>e.path===q)?.name??q.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":I("createDrawer.fileDropZone"),"data-drag-over":eO?"true":"false",onDragEnter:e1,onDragLeave:e5,onDragOver:e4,onDrop:e3,className:(0,g.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",eO&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(k.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.describeFeature")}),(0,t.jsxs)("div",{ref:eJ,onFocus:tr,onBlur:ta,className:(0,g.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eG&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(y.Textarea,{id:"feature-description",placeholder:I("createDrawer.featurePlaceholder"),value:ee,onChange:e=>et(e.target.value),onPaste:e2,required:!0,disabled:c,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),er.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:er.map(e=>(0,t.jsx)(P.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>e9(e.id),disabled:c,loading:e.loading,notes:e.notes,onNotesChange:t=>e7(e.id,t)},e.id))}),e$?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:e$}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(E.AgentModelPicker,{initialAgentType:eL??D??"claude-code",initialModel:eE??L??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{ez(e),eR(t)},disabled:c,className:"w-55"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(T.Switch,{id:"pending-mode",checked:ev,onCheckedChange:eC,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(n.Clock,{className:"h-3.5 w-3.5"}),I("createDrawer.pendingMode")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.pendingModeDescription")})]}),(0,t.jsx)("div",{role:"group","aria-label":I("createDrawer.modeGroupLabel"),className:"border-input flex items-center gap-0.5 rounded-md border p-0.5",children:K.map(e=>{let r=$[e],a=r.icon,s=eb===e;return(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","data-testid":`build-mode-${e}`,"aria-pressed":s,disabled:c,onClick:()=>ej(e),className:(0,g.cn)("flex cursor-pointer items-center gap-1 rounded-sm px-2 py-1 text-xs font-medium transition-colors",s?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground","disabled:cursor-not-allowed disabled:opacity-50"),children:[(0,t.jsx)(a,{className:"h-3.5 w-3.5"}),I(r.labelKey)]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I(`${r.labelKey}Description`)})]},e)})}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:e8,disabled:c,"aria-label":I("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(s.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("chat.attachFiles")})]})]})]})]}),ts&&void 0!==C?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(k.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.parentFeature")}),(0,t.jsx)(W,{features:x,value:ef,onChange:eg,disabled:c})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.approve")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.approveDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:tl.map(e=>(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:`approve-${e.id}`,size:"sm",checked:es[e.id]??!1,onCheckedChange:t=>ei(r=>({...r,[e.id]:t})),disabled:c||ew&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(k.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ew&&("allowPrd"===e.id||"allowPlan"===e.id)?I("createDrawer.skippedInFastMode"):e.description})]},e.id))}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=tl.every(e=>es[e.id]),t={};for(let r of tl)t[r.id]=!e;ei(t)},disabled:c,className:(0,g.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",tl.every(e=>es[e.id])&&"text-primary"),children:I("createDrawer.all")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.toggleAllApprovalGates")})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.evidence")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.evidenceDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"enable-evidence",size:"sm",checked:eu,onCheckedChange:e=>{eh(e),e||ex(!1)},disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:I("createDrawer.collect")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.collectDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-evidence",size:"sm",checked:em,onCheckedChange:ex,disabled:c||!eu||!en&&!ey}),(0,t.jsx)(k.Label,{htmlFor:"commit-evidence",className:(0,g.cn)("cursor-pointer text-xs font-medium",(!eu||!en&&!ey)&&"opacity-50"),children:I("createDrawer.addToPr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:en||ey?eu?I("createDrawer.addToPrDescription"):I("createDrawer.requiresEvidence"):I("createDrawer.requiresPr")})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.skills")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.skillsDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"inject-skills",size:"sm",checked:eF,onCheckedChange:eP,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(h.Puzzle,{className:"h-3 w-3"}),I("createDrawer.injectSkills")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.injectSkillsDescription")})]})})]}),(0,t.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:I("createDrawer.git")}),(0,t.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"push",size:"sm",checked:!!ey||eo||en,onCheckedChange:e=>{el(e),!e&&en&&ec(!1)},disabled:c||ey}),(0,t.jsx)(k.Label,{htmlFor:"push",className:(0,g.cn)("cursor-pointer text-xs font-medium",ey&&"opacity-50"),children:I("createDrawer.push")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ey?"Enabled — contributing to upstream":I("createDrawer.pushDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"open-pr",size:"sm",checked:!!ey||en,onCheckedChange:e=>{ec(e),e||ex(!1)},disabled:c||ey}),(0,t.jsx)(k.Label,{htmlFor:"open-pr",className:(0,g.cn)("cursor-pointer text-xs font-medium",ey&&"opacity-50"),children:I("createDrawer.pr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ey?"Enabled — contributing to upstream":I("createDrawer.prDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"ci-watch",size:"sm",checked:ed,onCheckedChange:ep,disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:I("createDrawer.watch")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.watchDescription")})]}),(0,t.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"rebase-before-branch",size:"sm",checked:eT,onCheckedChange:eS,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(m.RefreshCw,{className:"h-3 w-3"}),I("createDrawer.sync")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.syncDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-specs",size:"sm",checked:eN,onCheckedChange:eD,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(u.FileText,{className:"h-3 w-3"}),I("createDrawer.commitSpecs")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.commitSpecsDescription")})]}),!eV&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"fork-and-pr",size:"sm",checked:ey,onCheckedChange:e=>{ek(e),e&&eD(!1)},disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(p.GitFork,{className:"h-3 w-3"}),I("createDrawer.forkAndPr")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function W({features:e,value:s,onChange:l,disabled:n}){let{t:c}=(0,a.useTranslation)("web"),[d,p]=(0,r.useState)(!1),[u,h]=(0,r.useState)(""),m=(0,r.useRef)(null),x=e.find(e=>e.id===s),f=u.trim()?e.filter(e=>e.name.toLowerCase().includes(u.toLowerCase())||e.id.toLowerCase().includes(u.toLowerCase())):e,b=(0,r.useCallback)(e=>{l(e),p(!1),h("")},[l]);return(0,r.useEffect)(()=>{d?setTimeout(()=>m.current?.focus(),0):h("")},[d]),(0,t.jsxs)(D.Popover,{open:d,onOpenChange:p,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":d,"aria-label":"Parent Feature",disabled:n,"data-testid":"parent-feature-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!x&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:x?`${x.name} (${x.id.slice(0,8)})`:c("createDrawer.selectParent")}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(C.Input,{ref:m,placeholder:c("createDrawer.searchFeatures"),value:u,onChange:e=>h(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===s,onClick:()=>b(void 0),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===s&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",void 0!==s&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:c("createDrawer.noParent")})]}),0===f.length&&u?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:c("createDrawer.noFeaturesFound")}):f.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.id,onClick:()=>b(e.id),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",s!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function Z({repositories:e,value:s,onChange:l,onAddRepository:n,disabled:u}){let[h,m]=(0,r.useState)(!1),[x,f]=(0,r.useState)(""),[b,j]=(0,r.useState)(!1),[w,v]=(0,r.useState)(null),[y,k]=(0,r.useState)(!1),T=(0,r.useRef)(null),{reactFileManager:S}=(0,M.useFeatureFlags)(),{t:F}=(0,a.useTranslation)("web"),P=e.find(e=>e.path===s),L=x.trim()?e.filter(e=>e.name.toLowerCase().includes(x.toLowerCase())||e.path.toLowerCase().includes(x.toLowerCase())):e,z=(0,r.useCallback)(e=>{l(e),m(!1),f("")},[l]),E=(0,r.useCallback)(async e=>{let t=await (0,I.addRepository)({path:e});if(t.error){v(t.error),j(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};n?.(e),l(e.path),m(!1),f("")}},[n,l]),O=(0,r.useCallback)(async()=>{if(!b){if(S)return void k(!0);j(!0),v(null);try{let e=await (0,U.pickFolder)();if(!e)return void j(!1);await E(e)}catch{k(!0)}finally{j(!1)}}},[b,S,E]),K=(0,r.useCallback)(async e=>{if(k(!1),e){j(!0),v(null);try{await E(e)}catch(e){v(e instanceof Error?e.message:"Failed to add repository")}finally{j(!1)}}},[E]);return(0,r.useEffect)(()=>{h?setTimeout(()=>T.current?.focus(),0):f("")},[h]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(D.Popover,{open:h,onOpenChange:m,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":h,"aria-label":"Repository",disabled:u,"data-testid":"repository-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!P&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:P?P.name:"Select repository..."}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(C.Input,{ref:T,placeholder:F("createDrawer.searchRepositories"),value:x,onChange:e=>f(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===L.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):L.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.path,onClick:()=>z(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",s!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[e.name,e.isFork?(0,t.jsxs)(N.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,t.jsx)(p.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(R.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:O,disabled:b,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[b?(0,t.jsx)(d.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(c.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),w?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:w}):null]})})]}),(0,t.jsx)(A.ReactFileManagerDialog,{open:y,onOpenChange:e=>{e||k(!1)},onSelect:K})]})}e.s(["FeatureCreateDrawer",()=>q],630616),e.s([],34562)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,541952,e=>{"use strict";var t=e.i(679606),i=e.i(152155),n=e.i(723925),s=e.i(926370),a=e.i(338573),l=e.i(949228),o=e.i(374294),r=e.i(903645);let c=(0,r.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,r.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,r.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 g=e.i(32494),h=e.i(34808),p=e.i(3214),m=e.i(730702);let f=(0,r.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 x=e.i(558860),v=e.i(248109),b=e.i(542049),w=e.i(987889),j=e.i(806288),y=e.i(360112);e.i(541001);var S=e.i(64780),k=e.i(131777),M=e.i(141957),C=e.i(698127),I=e.i(735364),A=e.i(951911),N=e.i(547373),T=e.i(508893);let F=(0,T.createServerReference)("40410825cf1af5b78edb8f130159dbbd4cbcffe5a7",T.callServer,void 0,T.findSourceMapURL,"updateSettingsAction");var D=e.i(317406),P=e.i(785622),E=e.i(544229),R=e.i(483902);function z(e){return(0,t.jsx)(E.Code,{className:(0,k.cn)("h-4 w-4",e.className),...e})}function B({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function L({className:e}){return(0,t.jsx)(P.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function _({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function V({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function K({className:e,...i}){return(0,t.jsx)(R.Rocket,{className:(0,k.cn)("h-4 w-4",e),...i})}B.displayName="VsCodeIcon",L.displayName="CursorEditorIcon",_.displayName="WindsurfIcon",V.displayName="ZedIcon",K.displayName="AntigravityIcon";let O={vscode:B,cursor:L,windsurf:_,zed:V,antigravity:K};var H=e.i(41413),W=e.i(527069),q=e.i(291967),G=e.i(205978),U=e.i(922528),$=e.i(936589),Z=e.i(566033),X=e.i(23405),Y=e.i(277624),J=e.i(287620),Q=e.i(787342),ee=["PageUp","PageDown"],et=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ei={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},en="Slider",[es,ea,el]=(0,Q.createCollection)(en),[eo,er]=(0,U.createContextScope)(en,[el]),[ec,ed]=eo(en),eu=i.forwardRef((e,n)=>{let{name:s,min:a=0,max:l=100,step:o=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:h=()=>{},onValueCommit:p=()=>{},inverted:m=!1,form:f,...x}=e,v=i.useRef(new Set),b=i.useRef(0),w="horizontal"===r,[j=[],y]=(0,$.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),h(e)}}),S=i.useRef(j);function k(e,t,{commit:i}={commit:!1}){let n,s=(String(o).split(".")[1]||"").length,r=Math.round((Math.round((e-a)/o)*o+a)*(n=Math.pow(10,s)))/n,c=(0,W.clamp)(r,[a,l]);y((e=[])=>{let n=function(e=[],t,i){let n=[...e];return n[i]=t,n.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,i)=>e[i+1]-t))>=t;return!0}(n,d*o))return e;{b.current=n.indexOf(c);let t=String(n)!==String(e);return t&&i&&p(n),t?n:e}})}return(0,t.jsx)(ec,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:l,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:r,form:f,children:(0,t.jsx)(es.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(es.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ep:em,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:n,onPointerDown:(0,q.composeEventHandlers)(x.onPointerDown,()=>{c||(S.current=j)}),min:a,max:l,inverted:m,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let i=e.map(e=>Math.abs(e-t)),n=Math.min(...i);return i.indexOf(n)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=S.current[b.current];j[b.current]!==e&&p(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(l,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let i=ee.includes(e.key)||e.shiftKey&&et.includes(e.key),n=b.current;k(j[n]+o*(i?10:1)*t,n,{commit:!0})}}})})})})});eu.displayName=en;var[eg,eh]=eo(en,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ep=i.forwardRef((e,n)=>{let{min:s,max:a,dir:l,inverted:o,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[h,p]=i.useState(null),m=(0,G.useComposedRefs)(n,e=>p(e)),f=i.useRef(void 0),x=(0,Z.useDirection)(l),v="ltr"===x,b=v&&!o||!v&&o;function w(e){let t=f.current||h.getBoundingClientRect(),i=eC([0,t.width],b?[s,a]:[a,s]);return f.current=t,i(e-t.left)}return(0,t.jsx)(eg,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(ef,{dir:x,"data-orientation":"horizontal",...g,ref:m,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=w(e.clientX);r?.(t)},onSlideMove:e=>{let t=w(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=ei[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),em=i.forwardRef((e,n)=>{let{min:s,max:a,inverted:l,onSlideStart:o,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=i.useRef(null),h=(0,G.useComposedRefs)(n,g),p=i.useRef(void 0),m=!l;function f(e){let t=p.current||g.current.getBoundingClientRect(),i=eC([0,t.height],m?[a,s]:[s,a]);return p.current=t,i(e-t.top)}return(0,t.jsx)(eg,{scope:e.__scopeSlider,startEdge:m?"bottom":"top",endEdge:m?"top":"bottom",size:"height",direction:m?1:-1,children:(0,t.jsx)(ef,{"data-orientation":"vertical",...u,ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);o?.(t)},onSlideMove:e=>{let t=f(e.clientY);r?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=ei[m?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),ef=i.forwardRef((e,i)=>{let{__scopeSlider:n,onSlideStart:s,onSlideMove:a,onSlideEnd:l,onHomeKeyDown:o,onEndKeyDown:r,onStepKeyDown:c,...d}=e,u=ed(en,n);return(0,t.jsx)(J.Primitive.span,{...d,ref:i,onKeyDown:(0,q.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(o(e),e.preventDefault()):"End"===e.key?(r(e),e.preventDefault()):ee.concat(et).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,q.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,q.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,q.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),l(e))})})}),ex="SliderTrack",ev=i.forwardRef((e,i)=>{let{__scopeSlider:n,...s}=e,a=ed(ex,n);return(0,t.jsx)(J.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:i})});ev.displayName=ex;var eb="SliderRange",ew=i.forwardRef((e,n)=>{let{__scopeSlider:s,...a}=e,l=ed(eb,s),o=eh(eb,s),r=i.useRef(null),c=(0,G.useComposedRefs)(n,r),d=l.values.length,u=l.values.map(e=>eM(e,l.min,l.max)),g=d>1?Math.min(...u):0,h=100-Math.max(...u);return(0,t.jsx)(J.Primitive.span,{"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,...a,ref:c,style:{...e.style,[o.startEdge]:g+"%",[o.endEdge]:h+"%"}})});ew.displayName=eb;var ej="SliderThumb",ey=i.forwardRef((e,n)=>{let s=ea(e.__scopeSlider),[a,l]=i.useState(null),o=(0,G.useComposedRefs)(n,e=>l(e)),r=i.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eS,{...e,ref:o,index:r})}),eS=i.forwardRef((e,n)=>{var s,a,l,o,r;let c,d,{__scopeSlider:u,index:g,name:h,...p}=e,m=ed(ej,u),f=eh(ej,u),[x,v]=i.useState(null),b=(0,G.useComposedRefs)(n,e=>v(e)),w=!x||m.form||!!x.closest("form"),j=(0,Y.useSize)(x),y=m.values[g],S=void 0===y?0:eM(y,m.min,m.max),k=(s=g,(a=m.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),M=j?.[f.size],C=M?(l=M,o=S,r=f.direction,d=eC([0,50],[0,c=l/2]),(c-d(o)*r)*r):0;return i.useEffect(()=>{if(x)return m.thumbs.add(x),()=>{m.thumbs.delete(x)}},[x,m.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${C}px)`},children:[(0,t.jsx)(es.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(J.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":m.min,"aria-valuenow":y,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...p,ref:b,style:void 0===y?{display:"none"}:e.style,onFocus:(0,q.composeEventHandlers)(e.onFocus,()=>{m.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(ek,{name:h??(m.name?m.name+(m.values.length>1?"[]":""):void 0),form:m.form,value:y},g)]})});ey.displayName=ej;var ek=i.forwardRef(({__scopeSlider:e,value:n,...s},a)=>{let l=i.useRef(null),o=(0,G.useComposedRefs)(l,a),r=(0,X.usePrevious)(n);return i.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(r!==n&&t){let i=new Event("input",{bubbles:!0});t.call(e,n),e.dispatchEvent(i)}},[r,n]),(0,t.jsx)(J.Primitive.input,{style:{display:"none"},...s,ref:o,defaultValue:n})});function eM(e,t,i){return(0,W.clamp)(100/(i-t)*(e-t),[0,100])}function eC(e,t){return i=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(i-e[0])}}ek.displayName="RadioBubbleInput",e.s(["Range",()=>ew,"Root",()=>eu,"Slider",()=>eu,"SliderRange",()=>ew,"SliderThumb",()=>ey,"SliderTrack",()=>ev,"Thumb",()=>ey,"Track",()=>ev,"createSliderScope",()=>er],429991);var eI=e.i(429991),eI=eI;function eA({className:e,defaultValue:n,value:s,min:a=0,max:l=100,...o}){let r=i.useMemo(()=>Array.isArray(s)?s:Array.isArray(n)?n:[a,l],[s,n,a,l]);return(0,t.jsxs)(eI.Root,{"data-slot":"slider",defaultValue:n,value:s,min:a,max:l,className:(0,k.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...o,children:[(0,t.jsx)(eI.Track,{"data-slot":"slider-track",className:(0,k.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)(eI.Range,{"data-slot":"slider-range",className:(0,k.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:r.length},(e,i)=>(0,t.jsx)(eI.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"},i))]})}let eN=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eT=eN.length-1;function eF(e){let t=0,i=Math.abs(e-eN[0]);for(let n=1;n<eN.length;n++){let s=Math.abs(e-eN[n]);s<i&&(i=s,t=n)}return t}function eD({id:e,testId:n,value:s,onChange:a,onBlur:l,defaultSeconds:o=1800}){var r;let c,d,u=(""===s?o:parseInt(s,10))||o,[g,h]=(0,i.useState)(()=>eF(u)),p=eF(u);p!==g&&eN[g]!==u&&h(p);let m=(0,i.useCallback)(([e])=>{h(e),a(String(eN[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eA,{id:e,"data-testid":n,min:0,max:eT,step:1,value:[g],onValueChange:m,onValueCommit:()=>l(),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((r=eN[g])/3600),d=Math.round(r%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eP=[{value:D.Language.English,nativeName:"English"},{value:D.Language.Ukrainian,nativeName:"Українська"},{value:D.Language.Russian,nativeName:"Русский"},{value:D.Language.Portuguese,nativeName:"Português"},{value:D.Language.Spanish,nativeName:"Español"},{value:D.Language.Arabic,nativeName:"العربية"},{value:D.Language.Hebrew,nativeName:"עברית"},{value:D.Language.French,nativeName:"Français"},{value:D.Language.German,nativeName:"Deutsch"}],eE=[{value:D.EditorType.VsCode,label:"VS Code"},{value:D.EditorType.Cursor,label:"Cursor"},{value:D.EditorType.Windsurf,label:"Windsurf"},{value:D.EditorType.Zed,label:"Zed"},{value:D.EditorType.Antigravity,label:"Antigravity"}],eR=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],ez=new Set([D.AgentType.CopilotCli]),eB=new Set([D.AgentType.OpenRouter,D.AgentType.TogetherAi]),eL=[{value:D.AgentAuthMethod.Session,label:"Session"},{value:D.AgentAuthMethod.Token,label:"Token"}],e_=[{id:"language",labelKey:"settings.sections.language",icon:g.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:l.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:o.Activity},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:x.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:v.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"database",labelKey:"settings.sections.database",icon:u}];function eV({label:e,description:i,htmlFor:n,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)(M.Label,{htmlFor:n,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),i?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:i}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function eK({label:e,description:i,id:n,testId:s,checked:a,onChange:l,disabled:o}){return(0,t.jsx)(eV,{label:e,description:i,htmlFor:n,children:(0,t.jsx)(A.Switch,{id:n,"data-testid":s,checked:a,onCheckedChange:l,disabled:o,className:(0,k.cn)("cursor-pointer",o&&"cursor-not-allowed opacity-50")})})}function eO({icon:e,title:i,description:n,badge:s,testId:a,children:l}){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:i}),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:n})]}),(0,t.jsx)("div",{className:"px-4",children:l})]})}function eH({id:e,testId:i,value:n,onChange:s,onBlur:a,placeholder:l,min:o=1,max:r,step:c=1,suffix:d}){let{t:u}=(0,S.useTranslation)("web"),g=""===n?void 0:parseInt(n,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(o,(g??parseInt(l,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)(h.Minus,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":i,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:n,placeholder:l,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=g??parseInt(l,10),s(String(null!=r?Math.min(r,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)(p.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eW({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 eq({children:e,links:i}){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!=i&&i.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:i.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)(m.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eG({settings:e,shepHome:r,dbFileSize:h,availableTerminals:p}){let{t:m,i18n:M}=(0,S.useTranslation)("web"),{showSaving:A,showSaved:T,save:P}=function(){let{t:e}=(0,S.useTranslation)("web"),[t,n]=(0,i.useTransition)(),[s,a]=(0,i.useState)(!1),[l,o]=(0,i.useState)(!1),r=(0,i.useRef)(null),c=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,r.current=setTimeout(()=>{r.current=null,c.current&&(a(!1),o(!0),setTimeout(()=>o(!1),2e3))},350)),!t&&s&&(c.current=!0,r.current||(a(!1),o(!0),setTimeout(()=>o(!1),2e3)))},[t,s]),{showSaving:s,showSaved:l,save:(0,i.useCallback)(t=>{n(async()=>{let i=await F(t);i.success||y.toast.error(i.error??e("settings.failedToSave"))})},[n,e])}}(),E=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1,projects:!1,inventory:!1,codeReview:!1},[R,B]=(0,i.useState)(e.user?.preferredLanguage??D.Language.English),[L,_]=(0,i.useState)(e.agent.type),[V,K]=(0,i.useState)(e.agent.authMethod),[W,q]=(0,i.useState)(e.agent.token??""),[G,U]=(0,i.useState)(!1),[$,Z]=(0,i.useState)(e.environment.defaultEditor),[X,Y]=(0,i.useState)(e.environment.shellPreference),[J,Q]=(0,i.useState)(e.environment.terminalPreference??D.TerminalType.System),ee=p?p.filter(e=>e.available):[{id:D.TerminalType.System,name:m("settings.environment.systemTerminal"),available:!0}],[et,ei]=(0,i.useState)(e.workflow.openPrOnImplementationComplete),[en,es]=(0,i.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[ea,el]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPrd),[eo,er]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPlan),[ec,ed]=(0,i.useState)(e.workflow.approvalGateDefaults.allowMerge),[eu,eg]=(0,i.useState)(e.workflow.enableEvidence),[eh,ep]=(0,i.useState)(e.workflow.commitEvidence),[em,ef]=(0,i.useState)(!1!==e.workflow.ciWatchEnabled),[ex,ev]=(0,i.useState)(!1!==e.workflow.hideCiStatus),[eb,ew]=(0,i.useState)(!1!==e.workflow.defaultFastMode),[ej,ey]=(0,i.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[eS,ek]=(0,i.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eM,eC]=(0,i.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eI,eA]=(0,i.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eN,eT]=(0,i.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eF,eG]=(0,i.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),eU=e.workflow.stageTimeouts,[e$,eZ]=(0,i.useState)(String(Math.round((eU?.analyzeMs??18e5)/1e3))),[eX,eY]=(0,i.useState)(String(Math.round((eU?.requirementsMs??18e5)/1e3))),[eJ,eQ]=(0,i.useState)(String(Math.round((eU?.researchMs??18e5)/1e3))),[e0,e1]=(0,i.useState)(String(Math.round((eU?.planMs??18e5)/1e3))),[e5,e3]=(0,i.useState)(String(Math.round((eU?.implementMs??18e5)/1e3))),[e2,e4]=(0,i.useState)(String(Math.round((eU?.fastImplementMs??18e5)/1e3))),[e8,e6]=(0,i.useState)(String(Math.round((eU?.mergeMs??18e5)/1e3))),e9=e.workflow.analyzeRepoTimeouts,[e7,te]=(0,i.useState)(String(Math.round((e9?.analyzeMs??6e5)/1e3))),tt=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ti,tn]=(0,i.useState)(tt.enabled),[ts,ta]=(0,i.useState)(String(tt.autoTimeoutMinutes)),[tl,to]=(0,i.useState)(String(tt.maxConcurrentSessions)),tr=e.fabLayout??{swapPosition:!1},[tc,td]=(0,i.useState)(tr.swapPosition),[tu,tg]=(0,i.useState)(e.notifications.inApp.enabled),[th,tp]=(0,i.useState)({...e.notifications.events}),[tm,tf]=(0,i.useState)({...E}),tx=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",tv=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tb=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tw=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",tj=eU?.analyzeMs!=null?String(Math.round(eU.analyzeMs/1e3)):"",ty=eU?.requirementsMs!=null?String(Math.round(eU.requirementsMs/1e3)):"",tS=eU?.researchMs!=null?String(Math.round(eU.researchMs/1e3)):"",tk=eU?.planMs!=null?String(Math.round(eU.planMs/1e3)):"",tM=eU?.implementMs!=null?String(Math.round(eU.implementMs/1e3)):"",tC=eU?.fastImplementMs!=null?String(Math.round(eU.fastImplementMs/1e3)):"",tI=eU?.mergeMs!=null?String(Math.round(eU.mergeMs/1e3)):"",tA=e9?.analyzeMs!=null?String(Math.round(e9.analyzeMs/1e3)):"";function tN(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tT(e){if(void 0===e)return;let t=tN(e);return null!=t?1e3*t:void 0}function tF(e={}){let t=tN(e.ciTimeout??eI),i=e.autoArchiveEnabled??ej,n=parseInt(e.autoArchiveDelay??eS,10);return{workflow:{openPrOnImplementationComplete:e.openPr??et,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??en,allowPrd:e.allowPrd??ea,allowPlan:e.allowPlan??eo,allowMerge:e.allowMerge??ec},enableEvidence:e.enableEvidence??eu,commitEvidence:e.commitEvidence??eh,ciWatchEnabled:e.ciWatchEnabled??em,hideCiStatus:e.hideCiStatus??ex,defaultFastMode:e.defaultFastMode??eb,autoArchiveDelayMinutes:i?Number.isNaN(n)||n<1?10:n:0,ciMaxFixAttempts:tN(e.ciMaxFix??eM),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tN(e.ciLogMax??eN),ciWatchPollIntervalSeconds:tN(e.ciPollInterval??eF),stageTimeouts:{analyzeMs:tT(e.analyzeTimeout??e$),requirementsMs:tT(e.requirementsTimeout??eX),researchMs:tT(e.researchTimeout??eJ),planMs:tT(e.planTimeout??e0),implementMs:tT(e.implementTimeout??e5),fastImplementMs:tT(e.fastImplementTimeout??e2),mergeMs:tT(e.mergeTimeout??e8)},analyzeRepoTimeouts:{analyzeMs:tT(e.analyzeRepoTimeout??e7)}}}}function tD(e={}){return{notifications:{inApp:{enabled:e.inApp??tu},events:e.events??th}}}let[tP,tE]=(0,i.useState)("agent");(0,i.useEffect)(()=>{let e=e_.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 i of e)t.observe(i);return()=>t.disconnect()},[]);let tR=(0,i.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,k.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",A?"opacity-100":"opacity-0"),children:m("settings.saving")}),(0,t.jsxs)("span",{className:(0,k.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",T&&!A?"opacity-100":"opacity-0"),children:[(0,t.jsx)(n.Check,{className:"h-3 w-3"}),m("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:e_.map(e=>{let i=e.icon,n=tP===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tR(e.id),className:(0,k.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",n?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(i,{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)(eO,{icon:g.Globe,title:m("settings.language.title"),description:m("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eV,{label:m("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(N.Select,{value:R,onValueChange:function(e){B(e),M.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,P({user:{preferredLanguage:e}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(N.SelectValue,{placeholder:m("settings.language.placeholder")})}),(0,t.jsx)(N.SelectContent,{children:eP.map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.nativeName},e.value))})]})})})}),(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.jsxs)(eO,{icon:s.Bot,title:m("settings.agent.sectionTitle"),description:m("settings.agent.sectionDescription"),testId:"agent-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.agent.agentAndModel"),description:m("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(H.AgentModelPicker,{initialAgentType:L,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>{_(e),eB.has(e)&&V!==D.AgentAuthMethod.Token?(K(D.AgentAuthMethod.Token),P({agent:{type:e,authMethod:D.AgentAuthMethod.Token}})):ez.has(e)&&V!==D.AgentAuthMethod.Session&&(K(D.AgentAuthMethod.Session),P({agent:{type:e,authMethod:D.AgentAuthMethod.Session}}))},className:"w-55"})}),(0,t.jsx)(eV,{label:"Auth Method",description:"How this agent authenticates",htmlFor:"agent-auth-method",children:(0,t.jsxs)(N.Select,{value:V,onValueChange:e=>{K(e);let t={type:L,authMethod:e};e===D.AgentAuthMethod.Token&&(t.token=W),P({agent:t})},disabled:ez.has(L)||eB.has(L),children:[(0,t.jsx)(N.SelectTrigger,{id:"agent-auth-method","data-testid":"agent-auth-method-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eL.filter(e=>ez.has(L)?e.value===D.AgentAuthMethod.Session:!eB.has(L)||e.value===D.AgentAuthMethod.Token).map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.label},e.value))})]})}),eB.has(L)&&(0,t.jsx)("div",{className:"border-b py-2.5 last:border-b-0",children:(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:"This provider requires an API key for authentication. No CLI binary needed."})}),V===D.AgentAuthMethod.Token&&(0,t.jsx)(eV,{label:"API Token",description:"Saves on blur",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-55",children:[(0,t.jsx)(C.Input,{id:"agent-token","data-testid":"agent-token-input",type:G?"text":"password",value:W,onChange:e=>q(e.target.value),onBlur:()=>{W!==(e.agent.token??"")&&P({agent:{type:L,authMethod:V,token:W}})},placeholder:"Enter your API token",className:"pe-10 text-xs"}),(0,t.jsx)(I.Button,{type:"button",variant:"ghost",size:"sm",className:"absolute top-0 right-0 h-full px-3 hover:bg-transparent",onClick:()=>U(!G),"data-testid":"toggle-token-visibility","aria-label":G?"Hide token":"Show token",children:G?(0,t.jsx)(j.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(w.Eye,{className:"h-3.5 w-3.5"})})]})})]}),(0,t.jsx)(eq,{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)(eO,{icon:a.Terminal,title:m("settings.environment.sectionTitle"),description:m("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.environment.defaultEditor"),description:m("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(N.Select,{value:$,onValueChange:e=>{Z(e),P({environment:{defaultEditor:e,shellPreference:X,terminalPreference:J}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eE.map(e=>{var i;let n=(i=e.value)&&i in O?O[i]:z;return(0,t.jsx)(N.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(n,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eV,{label:m("settings.environment.shell"),description:m("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(N.Select,{value:X,onValueChange:e=>{Y(e),P({environment:{defaultEditor:$,shellPreference:e,terminalPreference:J}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eR.map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eV,{label:m("settings.environment.terminal"),description:m("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(N.Select,{value:J,onValueChange:e=>{Q(e),P({environment:{defaultEditor:$,shellPreference:X,terminalPreference:e}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:ee.map(e=>(0,t.jsx)(N.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eq,{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)(eO,{icon:l.GitBranch,title:m("settings.workflow.title"),description:m("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.workflow.defaultFastMode"),description:m("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:eb,onChange:e=>{ew(e),P(tF({defaultFastMode:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.approve")}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApprovePrd"),description:m("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:ea,onChange:e=>{el(e),P(tF({allowPrd:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApprovePlan"),description:m("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:eo,onChange:e=>{er(e),P(tF({allowPlan:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApproveMerge"),description:m("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:ec,onChange:e=>{ed(e),P(tF({allowMerge:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.evidence")}),(0,t.jsx)(eK,{label:m("settings.workflow.collectEvidence"),description:m("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:eu,onChange:e=>{eg(e),e?P(tF({enableEvidence:e})):(ep(!1),P(tF({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(eK,{label:m("settings.workflow.addEvidenceToPr"),description:m("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:eh,disabled:!eu||!et,onChange:e=>{ep(e),P(tF({commitEvidence:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.git")}),(0,t.jsx)(eK,{label:m("settings.workflow.pushOnComplete"),description:m("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:en,onChange:e=>{es(e),P(tF({pushOnComplete:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.openPrOnComplete"),description:m("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:et,onChange:e=>{ei(e),e?P(tF({openPr:e})):(ep(!1),P(tF({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(eK,{label:m("settings.workflow.watchCiAfterPush"),description:m("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:em,onChange:e=>{ef(e),P(tF({ciWatchEnabled:e}))}}),(0,t.jsx)(eW,{children:"Archive"}),(0,t.jsx)(eK,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ej,onChange:e=>{ey(e),P(tF({autoArchiveEnabled:e}))}}),(0,t.jsx)(eV,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(eH,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:eS,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{ek(e)},onBlur:()=>{if(!ej)return;let e=parseInt(eS,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));ek(String(t)),P(tF({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eq,{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)(eO,{icon:o.Activity,title:m("settings.ci.title"),description:m("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.ci.maxFixAttempts"),description:m("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(eH,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eM,onChange:eC,onBlur:()=>{eM!==tx&&P(tF({ciMaxFix:eM}))},min:1,max:10})}),(0,t.jsx)(eV,{label:m("settings.ci.watchTimeout"),description:m("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(eH,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eI,onChange:eA,onBlur:()=>{eI!==tv&&P(tF({ciTimeout:eI}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eV,{label:m("settings.ci.maxLogSize"),description:m("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(eH,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eN,onChange:eT,onBlur:()=>{eN!==tb&&P(tF({ciLogMax:eN}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eV,{label:m("settings.ci.pollInterval"),description:m("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(eH,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eF,onChange:eG,onBlur:()=>{eF!==tw&&P(tF({ciPollInterval:eF}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(eK,{label:m("settings.ci.hideCiStatus"),description:m("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ex,onChange:e=>{ev(e),P(tF({hideCiStatus:e}))}})]}),(0,t.jsx)(eq,{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)(eO,{icon:x.Timer,title:m("settings.stageTimeouts.title"),description:m("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eW,{children:m("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(eD,{id:"timeout-analyze",testId:"timeout-analyze-input",value:e$,onChange:eZ,onBlur:()=>{e$!==tj&&P(tF({analyzeTimeout:e$}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.requirements"),description:m("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(eD,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eX,onChange:eY,onBlur:()=>{eX!==ty&&P(tF({requirementsTimeout:eX}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.research"),description:m("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(eD,{id:"timeout-research",testId:"timeout-research-input",value:eJ,onChange:eQ,onBlur:()=>{eJ!==tS&&P(tF({researchTimeout:eJ}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.plan"),description:m("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(eD,{id:"timeout-plan",testId:"timeout-plan-input",value:e0,onChange:e1,onBlur:()=>{e0!==tk&&P(tF({planTimeout:e0}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.implement"),description:m("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(eD,{id:"timeout-implement",testId:"timeout-implement-input",value:e5,onChange:e3,onBlur:()=>{e5!==tM&&P(tF({implementTimeout:e5}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.fastImplement"),description:m("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(eD,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:e2,onChange:e4,onBlur:()=>{e2!==tC&&P(tF({fastImplementTimeout:e2}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.merge"),description:m("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(eD,{id:"timeout-merge",testId:"timeout-merge-input",value:e8,onChange:e6,onBlur:()=>{e8!==tI&&P(tF({mergeTimeout:e8}))},defaultSeconds:1800})}),(0,t.jsx)(eW,{children:m("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(eD,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:e7,onChange:te,onBlur:()=>{e7!==tA&&P(tF({analyzeRepoTimeout:e7}))},defaultSeconds:600})})]}),(0,t.jsx)(eq,{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)(eO,{icon:c,title:m("settings.notifications.title"),description:m("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eW,{children:m("settings.notifications.channels")}),(0,t.jsx)(eK,{label:m("settings.notifications.inAppLabel"),description:m("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:tu,onChange:e=>{tg(e),P(tD({inApp:e}))}}),(0,t.jsx)(eW,{children:m("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:th.agentStarted,onChange:e=>{let t={...th,agentStarted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:th.phaseCompleted,onChange:e=>{let t={...th,phaseCompleted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:th.waitingApproval,onChange:e=>{let t={...th,waitingApproval:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:th.agentCompleted,onChange:e=>{let t={...th,agentCompleted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:th.agentFailed,onChange:e=>{let t={...th,agentFailed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eW,{children:m("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:th.prMerged,onChange:e=>{let t={...th,prMerged:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:th.prClosed,onChange:e=>{let t={...th,prClosed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:th.prChecksPassed,onChange:e=>{let t={...th,prChecksPassed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:th.prChecksFailed,onChange:e=>{let t={...th,prChecksFailed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:th.prBlocked,onChange:e=>{let t={...th,prBlocked:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:th.mergeReviewReady,onChange:e=>{let t={...th,mergeReviewReady:e};tp(t),P(tD({events:t}))}})]}),(0,t.jsx)(eq,{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)(eO,{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)(eK,{label:m("settings.featureFlags.skills"),description:m("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:tm.skills,onChange:e=>{let t={...tm,skills:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.deployments"),description:m("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:tm.envDeploy,onChange:e=>{let t={...tm,envDeploy:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.debug"),description:m("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:tm.debug,onChange:e=>{let t={...tm,debug:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.githubImport"),description:m("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:tm.githubImport,onChange:e=>{let t={...tm,githubImport:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.adoptBranch"),description:m("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:tm.adoptBranch,onChange:e=>{let t={...tm,adoptBranch:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.gitRebaseSync"),description:m("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:tm.gitRebaseSync,onChange:e=>{let t={...tm,gitRebaseSync:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.reactFileManager"),description:m("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:tm.reactFileManager,onChange:e=>{let t={...tm,reactFileManager:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.inventory"),description:m("settings.featureFlags.inventoryDescription"),id:"flag-inventory",testId:"switch-flag-inventory",checked:tm.inventory,onChange:e=>{let t={...tm,inventory:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.projects"),description:m("settings.featureFlags.projectsDescription"),id:"flag-projects",testId:"switch-flag-projects",checked:tm.projects,onChange:e=>{let t={...tm,projects:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.codeReview"),description:m("settings.featureFlags.codeReviewDescription"),id:"flag-code-review",testId:"switch-flag-code-review",checked:tm.codeReview,onChange:e=>{let t={...tm,codeReview:e};tf(t),P({featureFlags:t})}})]}),(0,t.jsx)(eq,{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)(eO,{icon:v.MessageSquare,title:m("settings.interactiveAgent.title"),description:m("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.interactiveAgent.enableChatTab"),description:m("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ti,onChange:e=>{tn(e),P({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(ts,10)||15,maxConcurrentSessions:parseInt(tl,10)||3}})}}),(0,t.jsx)(eV,{label:m("settings.interactiveAgent.autoTimeout"),description:m("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(eH,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:ts,placeholder:"15",min:1,max:120,suffix:"min",onChange:ta,onBlur:()=>{let e=parseInt(ts,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));ta(String(t)),P({interactiveAgent:{enabled:ti,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(tl,10)||3}})}})}),(0,t.jsx)(eV,{label:m("settings.interactiveAgent.maxConcurrentSessions"),description:m("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(eH,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:tl,placeholder:"3",min:1,max:10,onChange:to,onBlur:()=>{let e=parseInt(tl,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));to(String(t)),P({interactiveAgent:{enabled:ti,autoTimeoutMinutes:parseInt(ts,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eq,{children:m("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eO,{icon:b.LayoutGrid,title:m("settings.fabLayout.title"),description:m("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(eK,{label:m("settings.fabLayout.swapPosition"),description:m("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:tc,onChange:e=>{td(e),P({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eq,{children:m("settings.fabLayout.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)(eO,{icon:u,title:m("settings.database.title"),description:m("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eV,{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:r})}),(0,t.jsx)(eV,{label:m("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:h})})]}),(0,t.jsx)(eq,{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",()=>eG],541952)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,541952,e=>{"use strict";var t=e.i(679606),i=e.i(152155),n=e.i(723925),s=e.i(926370),a=e.i(338573),l=e.i(949228),o=e.i(374294),r=e.i(903645);let c=(0,r.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,r.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,r.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 g=e.i(32494),h=e.i(34808),p=e.i(3214),m=e.i(730702);let f=(0,r.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 x=e.i(558860),v=e.i(248109),b=e.i(542049),w=e.i(987889),j=e.i(806288),y=e.i(360112);e.i(541001);var S=e.i(64780),k=e.i(131777),M=e.i(141957),C=e.i(698127),I=e.i(735364),A=e.i(951911),N=e.i(547373),T=e.i(508893);let F=(0,T.createServerReference)("40996b023c59431ff87b8ac47cac3a62cebd8b3a0a",T.callServer,void 0,T.findSourceMapURL,"updateSettingsAction");var D=e.i(317406),P=e.i(785622),E=e.i(544229),R=e.i(483902);function z(e){return(0,t.jsx)(E.Code,{className:(0,k.cn)("h-4 w-4",e.className),...e})}function B({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function L({className:e}){return(0,t.jsx)(P.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function _({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function V({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function K({className:e,...i}){return(0,t.jsx)(R.Rocket,{className:(0,k.cn)("h-4 w-4",e),...i})}B.displayName="VsCodeIcon",L.displayName="CursorEditorIcon",_.displayName="WindsurfIcon",V.displayName="ZedIcon",K.displayName="AntigravityIcon";let O={vscode:B,cursor:L,windsurf:_,zed:V,antigravity:K};var H=e.i(41413),W=e.i(527069),q=e.i(291967),G=e.i(205978),U=e.i(922528),$=e.i(936589),Z=e.i(566033),X=e.i(23405),Y=e.i(277624),J=e.i(287620),Q=e.i(787342),ee=["PageUp","PageDown"],et=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ei={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},en="Slider",[es,ea,el]=(0,Q.createCollection)(en),[eo,er]=(0,U.createContextScope)(en,[el]),[ec,ed]=eo(en),eu=i.forwardRef((e,n)=>{let{name:s,min:a=0,max:l=100,step:o=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:h=()=>{},onValueCommit:p=()=>{},inverted:m=!1,form:f,...x}=e,v=i.useRef(new Set),b=i.useRef(0),w="horizontal"===r,[j=[],y]=(0,$.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),h(e)}}),S=i.useRef(j);function k(e,t,{commit:i}={commit:!1}){let n,s=(String(o).split(".")[1]||"").length,r=Math.round((Math.round((e-a)/o)*o+a)*(n=Math.pow(10,s)))/n,c=(0,W.clamp)(r,[a,l]);y((e=[])=>{let n=function(e=[],t,i){let n=[...e];return n[i]=t,n.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,i)=>e[i+1]-t))>=t;return!0}(n,d*o))return e;{b.current=n.indexOf(c);let t=String(n)!==String(e);return t&&i&&p(n),t?n:e}})}return(0,t.jsx)(ec,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:l,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:r,form:f,children:(0,t.jsx)(es.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(es.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ep:em,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:n,onPointerDown:(0,q.composeEventHandlers)(x.onPointerDown,()=>{c||(S.current=j)}),min:a,max:l,inverted:m,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let i=e.map(e=>Math.abs(e-t)),n=Math.min(...i);return i.indexOf(n)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=S.current[b.current];j[b.current]!==e&&p(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(l,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let i=ee.includes(e.key)||e.shiftKey&&et.includes(e.key),n=b.current;k(j[n]+o*(i?10:1)*t,n,{commit:!0})}}})})})})});eu.displayName=en;var[eg,eh]=eo(en,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ep=i.forwardRef((e,n)=>{let{min:s,max:a,dir:l,inverted:o,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[h,p]=i.useState(null),m=(0,G.useComposedRefs)(n,e=>p(e)),f=i.useRef(void 0),x=(0,Z.useDirection)(l),v="ltr"===x,b=v&&!o||!v&&o;function w(e){let t=f.current||h.getBoundingClientRect(),i=eC([0,t.width],b?[s,a]:[a,s]);return f.current=t,i(e-t.left)}return(0,t.jsx)(eg,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(ef,{dir:x,"data-orientation":"horizontal",...g,ref:m,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=w(e.clientX);r?.(t)},onSlideMove:e=>{let t=w(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=ei[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),em=i.forwardRef((e,n)=>{let{min:s,max:a,inverted:l,onSlideStart:o,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=i.useRef(null),h=(0,G.useComposedRefs)(n,g),p=i.useRef(void 0),m=!l;function f(e){let t=p.current||g.current.getBoundingClientRect(),i=eC([0,t.height],m?[a,s]:[s,a]);return p.current=t,i(e-t.top)}return(0,t.jsx)(eg,{scope:e.__scopeSlider,startEdge:m?"bottom":"top",endEdge:m?"top":"bottom",size:"height",direction:m?1:-1,children:(0,t.jsx)(ef,{"data-orientation":"vertical",...u,ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);o?.(t)},onSlideMove:e=>{let t=f(e.clientY);r?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=ei[m?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),ef=i.forwardRef((e,i)=>{let{__scopeSlider:n,onSlideStart:s,onSlideMove:a,onSlideEnd:l,onHomeKeyDown:o,onEndKeyDown:r,onStepKeyDown:c,...d}=e,u=ed(en,n);return(0,t.jsx)(J.Primitive.span,{...d,ref:i,onKeyDown:(0,q.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(o(e),e.preventDefault()):"End"===e.key?(r(e),e.preventDefault()):ee.concat(et).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,q.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,q.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,q.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),l(e))})})}),ex="SliderTrack",ev=i.forwardRef((e,i)=>{let{__scopeSlider:n,...s}=e,a=ed(ex,n);return(0,t.jsx)(J.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:i})});ev.displayName=ex;var eb="SliderRange",ew=i.forwardRef((e,n)=>{let{__scopeSlider:s,...a}=e,l=ed(eb,s),o=eh(eb,s),r=i.useRef(null),c=(0,G.useComposedRefs)(n,r),d=l.values.length,u=l.values.map(e=>eM(e,l.min,l.max)),g=d>1?Math.min(...u):0,h=100-Math.max(...u);return(0,t.jsx)(J.Primitive.span,{"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,...a,ref:c,style:{...e.style,[o.startEdge]:g+"%",[o.endEdge]:h+"%"}})});ew.displayName=eb;var ej="SliderThumb",ey=i.forwardRef((e,n)=>{let s=ea(e.__scopeSlider),[a,l]=i.useState(null),o=(0,G.useComposedRefs)(n,e=>l(e)),r=i.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eS,{...e,ref:o,index:r})}),eS=i.forwardRef((e,n)=>{var s,a,l,o,r;let c,d,{__scopeSlider:u,index:g,name:h,...p}=e,m=ed(ej,u),f=eh(ej,u),[x,v]=i.useState(null),b=(0,G.useComposedRefs)(n,e=>v(e)),w=!x||m.form||!!x.closest("form"),j=(0,Y.useSize)(x),y=m.values[g],S=void 0===y?0:eM(y,m.min,m.max),k=(s=g,(a=m.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),M=j?.[f.size],C=M?(l=M,o=S,r=f.direction,d=eC([0,50],[0,c=l/2]),(c-d(o)*r)*r):0;return i.useEffect(()=>{if(x)return m.thumbs.add(x),()=>{m.thumbs.delete(x)}},[x,m.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${C}px)`},children:[(0,t.jsx)(es.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(J.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":m.min,"aria-valuenow":y,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...p,ref:b,style:void 0===y?{display:"none"}:e.style,onFocus:(0,q.composeEventHandlers)(e.onFocus,()=>{m.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(ek,{name:h??(m.name?m.name+(m.values.length>1?"[]":""):void 0),form:m.form,value:y},g)]})});ey.displayName=ej;var ek=i.forwardRef(({__scopeSlider:e,value:n,...s},a)=>{let l=i.useRef(null),o=(0,G.useComposedRefs)(l,a),r=(0,X.usePrevious)(n);return i.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(r!==n&&t){let i=new Event("input",{bubbles:!0});t.call(e,n),e.dispatchEvent(i)}},[r,n]),(0,t.jsx)(J.Primitive.input,{style:{display:"none"},...s,ref:o,defaultValue:n})});function eM(e,t,i){return(0,W.clamp)(100/(i-t)*(e-t),[0,100])}function eC(e,t){return i=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(i-e[0])}}ek.displayName="RadioBubbleInput",e.s(["Range",()=>ew,"Root",()=>eu,"Slider",()=>eu,"SliderRange",()=>ew,"SliderThumb",()=>ey,"SliderTrack",()=>ev,"Thumb",()=>ey,"Track",()=>ev,"createSliderScope",()=>er],429991);var eI=e.i(429991),eI=eI;function eA({className:e,defaultValue:n,value:s,min:a=0,max:l=100,...o}){let r=i.useMemo(()=>Array.isArray(s)?s:Array.isArray(n)?n:[a,l],[s,n,a,l]);return(0,t.jsxs)(eI.Root,{"data-slot":"slider",defaultValue:n,value:s,min:a,max:l,className:(0,k.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...o,children:[(0,t.jsx)(eI.Track,{"data-slot":"slider-track",className:(0,k.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)(eI.Range,{"data-slot":"slider-range",className:(0,k.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:r.length},(e,i)=>(0,t.jsx)(eI.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"},i))]})}let eN=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eT=eN.length-1;function eF(e){let t=0,i=Math.abs(e-eN[0]);for(let n=1;n<eN.length;n++){let s=Math.abs(e-eN[n]);s<i&&(i=s,t=n)}return t}function eD({id:e,testId:n,value:s,onChange:a,onBlur:l,defaultSeconds:o=1800}){var r;let c,d,u=(""===s?o:parseInt(s,10))||o,[g,h]=(0,i.useState)(()=>eF(u)),p=eF(u);p!==g&&eN[g]!==u&&h(p);let m=(0,i.useCallback)(([e])=>{h(e),a(String(eN[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eA,{id:e,"data-testid":n,min:0,max:eT,step:1,value:[g],onValueChange:m,onValueCommit:()=>l(),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((r=eN[g])/3600),d=Math.round(r%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eP=[{value:D.Language.English,nativeName:"English"},{value:D.Language.Ukrainian,nativeName:"Українська"},{value:D.Language.Russian,nativeName:"Русский"},{value:D.Language.Portuguese,nativeName:"Português"},{value:D.Language.Spanish,nativeName:"Español"},{value:D.Language.Arabic,nativeName:"العربية"},{value:D.Language.Hebrew,nativeName:"עברית"},{value:D.Language.French,nativeName:"Français"},{value:D.Language.German,nativeName:"Deutsch"}],eE=[{value:D.EditorType.VsCode,label:"VS Code"},{value:D.EditorType.Cursor,label:"Cursor"},{value:D.EditorType.Windsurf,label:"Windsurf"},{value:D.EditorType.Zed,label:"Zed"},{value:D.EditorType.Antigravity,label:"Antigravity"}],eR=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],ez=new Set([D.AgentType.CopilotCli]),eB=new Set([D.AgentType.OpenRouter,D.AgentType.TogetherAi]),eL=[{value:D.AgentAuthMethod.Session,label:"Session"},{value:D.AgentAuthMethod.Token,label:"Token"}],e_=[{id:"language",labelKey:"settings.sections.language",icon:g.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:l.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:o.Activity},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:x.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:v.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"database",labelKey:"settings.sections.database",icon:u}];function eV({label:e,description:i,htmlFor:n,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)(M.Label,{htmlFor:n,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),i?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:i}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function eK({label:e,description:i,id:n,testId:s,checked:a,onChange:l,disabled:o}){return(0,t.jsx)(eV,{label:e,description:i,htmlFor:n,children:(0,t.jsx)(A.Switch,{id:n,"data-testid":s,checked:a,onCheckedChange:l,disabled:o,className:(0,k.cn)("cursor-pointer",o&&"cursor-not-allowed opacity-50")})})}function eO({icon:e,title:i,description:n,badge:s,testId:a,children:l}){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:i}),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:n})]}),(0,t.jsx)("div",{className:"px-4",children:l})]})}function eH({id:e,testId:i,value:n,onChange:s,onBlur:a,placeholder:l,min:o=1,max:r,step:c=1,suffix:d}){let{t:u}=(0,S.useTranslation)("web"),g=""===n?void 0:parseInt(n,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(o,(g??parseInt(l,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)(h.Minus,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":i,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:n,placeholder:l,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=g??parseInt(l,10),s(String(null!=r?Math.min(r,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)(p.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eW({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 eq({children:e,links:i}){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!=i&&i.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:i.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)(m.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eG({settings:e,shepHome:r,dbFileSize:h,availableTerminals:p}){let{t:m,i18n:M}=(0,S.useTranslation)("web"),{showSaving:A,showSaved:T,save:P}=function(){let{t:e}=(0,S.useTranslation)("web"),[t,n]=(0,i.useTransition)(),[s,a]=(0,i.useState)(!1),[l,o]=(0,i.useState)(!1),r=(0,i.useRef)(null),c=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,r.current=setTimeout(()=>{r.current=null,c.current&&(a(!1),o(!0),setTimeout(()=>o(!1),2e3))},350)),!t&&s&&(c.current=!0,r.current||(a(!1),o(!0),setTimeout(()=>o(!1),2e3)))},[t,s]),{showSaving:s,showSaved:l,save:(0,i.useCallback)(t=>{n(async()=>{let i=await F(t);i.success||y.toast.error(i.error??e("settings.failedToSave"))})},[n,e])}}(),E=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1,projects:!1,inventory:!1,codeReview:!1},[R,B]=(0,i.useState)(e.user?.preferredLanguage??D.Language.English),[L,_]=(0,i.useState)(e.agent.type),[V,K]=(0,i.useState)(e.agent.authMethod),[W,q]=(0,i.useState)(e.agent.token??""),[G,U]=(0,i.useState)(!1),[$,Z]=(0,i.useState)(e.environment.defaultEditor),[X,Y]=(0,i.useState)(e.environment.shellPreference),[J,Q]=(0,i.useState)(e.environment.terminalPreference??D.TerminalType.System),ee=p?p.filter(e=>e.available):[{id:D.TerminalType.System,name:m("settings.environment.systemTerminal"),available:!0}],[et,ei]=(0,i.useState)(e.workflow.openPrOnImplementationComplete),[en,es]=(0,i.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[ea,el]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPrd),[eo,er]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPlan),[ec,ed]=(0,i.useState)(e.workflow.approvalGateDefaults.allowMerge),[eu,eg]=(0,i.useState)(e.workflow.enableEvidence),[eh,ep]=(0,i.useState)(e.workflow.commitEvidence),[em,ef]=(0,i.useState)(!1!==e.workflow.ciWatchEnabled),[ex,ev]=(0,i.useState)(!1!==e.workflow.hideCiStatus),[eb,ew]=(0,i.useState)(!1!==e.workflow.defaultFastMode),[ej,ey]=(0,i.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[eS,ek]=(0,i.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eM,eC]=(0,i.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eI,eA]=(0,i.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eN,eT]=(0,i.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eF,eG]=(0,i.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),eU=e.workflow.stageTimeouts,[e$,eZ]=(0,i.useState)(String(Math.round((eU?.analyzeMs??18e5)/1e3))),[eX,eY]=(0,i.useState)(String(Math.round((eU?.requirementsMs??18e5)/1e3))),[eJ,eQ]=(0,i.useState)(String(Math.round((eU?.researchMs??18e5)/1e3))),[e0,e1]=(0,i.useState)(String(Math.round((eU?.planMs??18e5)/1e3))),[e3,e5]=(0,i.useState)(String(Math.round((eU?.implementMs??18e5)/1e3))),[e2,e4]=(0,i.useState)(String(Math.round((eU?.fastImplementMs??18e5)/1e3))),[e8,e6]=(0,i.useState)(String(Math.round((eU?.mergeMs??18e5)/1e3))),e9=e.workflow.analyzeRepoTimeouts,[e7,te]=(0,i.useState)(String(Math.round((e9?.analyzeMs??6e5)/1e3))),tt=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ti,tn]=(0,i.useState)(tt.enabled),[ts,ta]=(0,i.useState)(String(tt.autoTimeoutMinutes)),[tl,to]=(0,i.useState)(String(tt.maxConcurrentSessions)),tr=e.fabLayout??{swapPosition:!1},[tc,td]=(0,i.useState)(tr.swapPosition),[tu,tg]=(0,i.useState)(e.notifications.inApp.enabled),[th,tp]=(0,i.useState)({...e.notifications.events}),[tm,tf]=(0,i.useState)({...E}),tx=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",tv=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tb=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tw=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",tj=eU?.analyzeMs!=null?String(Math.round(eU.analyzeMs/1e3)):"",ty=eU?.requirementsMs!=null?String(Math.round(eU.requirementsMs/1e3)):"",tS=eU?.researchMs!=null?String(Math.round(eU.researchMs/1e3)):"",tk=eU?.planMs!=null?String(Math.round(eU.planMs/1e3)):"",tM=eU?.implementMs!=null?String(Math.round(eU.implementMs/1e3)):"",tC=eU?.fastImplementMs!=null?String(Math.round(eU.fastImplementMs/1e3)):"",tI=eU?.mergeMs!=null?String(Math.round(eU.mergeMs/1e3)):"",tA=e9?.analyzeMs!=null?String(Math.round(e9.analyzeMs/1e3)):"";function tN(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tT(e){if(void 0===e)return;let t=tN(e);return null!=t?1e3*t:void 0}function tF(e={}){let t=tN(e.ciTimeout??eI),i=e.autoArchiveEnabled??ej,n=parseInt(e.autoArchiveDelay??eS,10);return{workflow:{openPrOnImplementationComplete:e.openPr??et,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??en,allowPrd:e.allowPrd??ea,allowPlan:e.allowPlan??eo,allowMerge:e.allowMerge??ec},enableEvidence:e.enableEvidence??eu,commitEvidence:e.commitEvidence??eh,ciWatchEnabled:e.ciWatchEnabled??em,hideCiStatus:e.hideCiStatus??ex,defaultFastMode:e.defaultFastMode??eb,autoArchiveDelayMinutes:i?Number.isNaN(n)||n<1?10:n:0,ciMaxFixAttempts:tN(e.ciMaxFix??eM),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tN(e.ciLogMax??eN),ciWatchPollIntervalSeconds:tN(e.ciPollInterval??eF),stageTimeouts:{analyzeMs:tT(e.analyzeTimeout??e$),requirementsMs:tT(e.requirementsTimeout??eX),researchMs:tT(e.researchTimeout??eJ),planMs:tT(e.planTimeout??e0),implementMs:tT(e.implementTimeout??e3),fastImplementMs:tT(e.fastImplementTimeout??e2),mergeMs:tT(e.mergeTimeout??e8)},analyzeRepoTimeouts:{analyzeMs:tT(e.analyzeRepoTimeout??e7)}}}}function tD(e={}){return{notifications:{inApp:{enabled:e.inApp??tu},events:e.events??th}}}let[tP,tE]=(0,i.useState)("agent");(0,i.useEffect)(()=>{let e=e_.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 i of e)t.observe(i);return()=>t.disconnect()},[]);let tR=(0,i.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,k.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",A?"opacity-100":"opacity-0"),children:m("settings.saving")}),(0,t.jsxs)("span",{className:(0,k.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",T&&!A?"opacity-100":"opacity-0"),children:[(0,t.jsx)(n.Check,{className:"h-3 w-3"}),m("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:e_.map(e=>{let i=e.icon,n=tP===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tR(e.id),className:(0,k.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",n?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(i,{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)(eO,{icon:g.Globe,title:m("settings.language.title"),description:m("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eV,{label:m("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(N.Select,{value:R,onValueChange:function(e){B(e),M.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,P({user:{preferredLanguage:e}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(N.SelectValue,{placeholder:m("settings.language.placeholder")})}),(0,t.jsx)(N.SelectContent,{children:eP.map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.nativeName},e.value))})]})})})}),(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.jsxs)(eO,{icon:s.Bot,title:m("settings.agent.sectionTitle"),description:m("settings.agent.sectionDescription"),testId:"agent-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.agent.agentAndModel"),description:m("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(H.AgentModelPicker,{initialAgentType:L,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>{_(e),eB.has(e)&&V!==D.AgentAuthMethod.Token?(K(D.AgentAuthMethod.Token),P({agent:{type:e,authMethod:D.AgentAuthMethod.Token}})):ez.has(e)&&V!==D.AgentAuthMethod.Session&&(K(D.AgentAuthMethod.Session),P({agent:{type:e,authMethod:D.AgentAuthMethod.Session}}))},className:"w-55"})}),(0,t.jsx)(eV,{label:"Auth Method",description:"How this agent authenticates",htmlFor:"agent-auth-method",children:(0,t.jsxs)(N.Select,{value:V,onValueChange:e=>{K(e);let t={type:L,authMethod:e};e===D.AgentAuthMethod.Token&&(t.token=W),P({agent:t})},disabled:ez.has(L)||eB.has(L),children:[(0,t.jsx)(N.SelectTrigger,{id:"agent-auth-method","data-testid":"agent-auth-method-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eL.filter(e=>ez.has(L)?e.value===D.AgentAuthMethod.Session:!eB.has(L)||e.value===D.AgentAuthMethod.Token).map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.label},e.value))})]})}),eB.has(L)&&(0,t.jsx)("div",{className:"border-b py-2.5 last:border-b-0",children:(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:"This provider requires an API key for authentication. No CLI binary needed."})}),V===D.AgentAuthMethod.Token&&(0,t.jsx)(eV,{label:"API Token",description:"Saves on blur",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-55",children:[(0,t.jsx)(C.Input,{id:"agent-token","data-testid":"agent-token-input",type:G?"text":"password",value:W,onChange:e=>q(e.target.value),onBlur:()=>{W!==(e.agent.token??"")&&P({agent:{type:L,authMethod:V,token:W}})},placeholder:"Enter your API token",className:"pe-10 text-xs"}),(0,t.jsx)(I.Button,{type:"button",variant:"ghost",size:"sm",className:"absolute top-0 right-0 h-full px-3 hover:bg-transparent",onClick:()=>U(!G),"data-testid":"toggle-token-visibility","aria-label":G?"Hide token":"Show token",children:G?(0,t.jsx)(j.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(w.Eye,{className:"h-3.5 w-3.5"})})]})})]}),(0,t.jsx)(eq,{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)(eO,{icon:a.Terminal,title:m("settings.environment.sectionTitle"),description:m("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.environment.defaultEditor"),description:m("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(N.Select,{value:$,onValueChange:e=>{Z(e),P({environment:{defaultEditor:e,shellPreference:X,terminalPreference:J}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eE.map(e=>{var i;let n=(i=e.value)&&i in O?O[i]:z;return(0,t.jsx)(N.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(n,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eV,{label:m("settings.environment.shell"),description:m("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(N.Select,{value:X,onValueChange:e=>{Y(e),P({environment:{defaultEditor:$,shellPreference:e,terminalPreference:J}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eR.map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eV,{label:m("settings.environment.terminal"),description:m("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(N.Select,{value:J,onValueChange:e=>{Q(e),P({environment:{defaultEditor:$,shellPreference:X,terminalPreference:e}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:ee.map(e=>(0,t.jsx)(N.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eq,{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)(eO,{icon:l.GitBranch,title:m("settings.workflow.title"),description:m("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.workflow.defaultFastMode"),description:m("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:eb,onChange:e=>{ew(e),P(tF({defaultFastMode:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.approve")}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApprovePrd"),description:m("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:ea,onChange:e=>{el(e),P(tF({allowPrd:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApprovePlan"),description:m("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:eo,onChange:e=>{er(e),P(tF({allowPlan:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApproveMerge"),description:m("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:ec,onChange:e=>{ed(e),P(tF({allowMerge:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.evidence")}),(0,t.jsx)(eK,{label:m("settings.workflow.collectEvidence"),description:m("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:eu,onChange:e=>{eg(e),e?P(tF({enableEvidence:e})):(ep(!1),P(tF({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(eK,{label:m("settings.workflow.addEvidenceToPr"),description:m("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:eh,disabled:!eu||!et,onChange:e=>{ep(e),P(tF({commitEvidence:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.git")}),(0,t.jsx)(eK,{label:m("settings.workflow.pushOnComplete"),description:m("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:en,onChange:e=>{es(e),P(tF({pushOnComplete:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.openPrOnComplete"),description:m("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:et,onChange:e=>{ei(e),e?P(tF({openPr:e})):(ep(!1),P(tF({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(eK,{label:m("settings.workflow.watchCiAfterPush"),description:m("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:em,onChange:e=>{ef(e),P(tF({ciWatchEnabled:e}))}}),(0,t.jsx)(eW,{children:"Archive"}),(0,t.jsx)(eK,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ej,onChange:e=>{ey(e),P(tF({autoArchiveEnabled:e}))}}),(0,t.jsx)(eV,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(eH,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:eS,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{ek(e)},onBlur:()=>{if(!ej)return;let e=parseInt(eS,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));ek(String(t)),P(tF({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eq,{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)(eO,{icon:o.Activity,title:m("settings.ci.title"),description:m("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.ci.maxFixAttempts"),description:m("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(eH,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eM,onChange:eC,onBlur:()=>{eM!==tx&&P(tF({ciMaxFix:eM}))},min:1,max:10})}),(0,t.jsx)(eV,{label:m("settings.ci.watchTimeout"),description:m("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(eH,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eI,onChange:eA,onBlur:()=>{eI!==tv&&P(tF({ciTimeout:eI}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eV,{label:m("settings.ci.maxLogSize"),description:m("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(eH,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eN,onChange:eT,onBlur:()=>{eN!==tb&&P(tF({ciLogMax:eN}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eV,{label:m("settings.ci.pollInterval"),description:m("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(eH,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eF,onChange:eG,onBlur:()=>{eF!==tw&&P(tF({ciPollInterval:eF}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(eK,{label:m("settings.ci.hideCiStatus"),description:m("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ex,onChange:e=>{ev(e),P(tF({hideCiStatus:e}))}})]}),(0,t.jsx)(eq,{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)(eO,{icon:x.Timer,title:m("settings.stageTimeouts.title"),description:m("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eW,{children:m("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(eD,{id:"timeout-analyze",testId:"timeout-analyze-input",value:e$,onChange:eZ,onBlur:()=>{e$!==tj&&P(tF({analyzeTimeout:e$}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.requirements"),description:m("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(eD,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eX,onChange:eY,onBlur:()=>{eX!==ty&&P(tF({requirementsTimeout:eX}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.research"),description:m("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(eD,{id:"timeout-research",testId:"timeout-research-input",value:eJ,onChange:eQ,onBlur:()=>{eJ!==tS&&P(tF({researchTimeout:eJ}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.plan"),description:m("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(eD,{id:"timeout-plan",testId:"timeout-plan-input",value:e0,onChange:e1,onBlur:()=>{e0!==tk&&P(tF({planTimeout:e0}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.implement"),description:m("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(eD,{id:"timeout-implement",testId:"timeout-implement-input",value:e3,onChange:e5,onBlur:()=>{e3!==tM&&P(tF({implementTimeout:e3}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.fastImplement"),description:m("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(eD,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:e2,onChange:e4,onBlur:()=>{e2!==tC&&P(tF({fastImplementTimeout:e2}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.merge"),description:m("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(eD,{id:"timeout-merge",testId:"timeout-merge-input",value:e8,onChange:e6,onBlur:()=>{e8!==tI&&P(tF({mergeTimeout:e8}))},defaultSeconds:1800})}),(0,t.jsx)(eW,{children:m("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(eD,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:e7,onChange:te,onBlur:()=>{e7!==tA&&P(tF({analyzeRepoTimeout:e7}))},defaultSeconds:600})})]}),(0,t.jsx)(eq,{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)(eO,{icon:c,title:m("settings.notifications.title"),description:m("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eW,{children:m("settings.notifications.channels")}),(0,t.jsx)(eK,{label:m("settings.notifications.inAppLabel"),description:m("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:tu,onChange:e=>{tg(e),P(tD({inApp:e}))}}),(0,t.jsx)(eW,{children:m("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:th.agentStarted,onChange:e=>{let t={...th,agentStarted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:th.phaseCompleted,onChange:e=>{let t={...th,phaseCompleted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:th.waitingApproval,onChange:e=>{let t={...th,waitingApproval:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:th.agentCompleted,onChange:e=>{let t={...th,agentCompleted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:th.agentFailed,onChange:e=>{let t={...th,agentFailed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eW,{children:m("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:th.prMerged,onChange:e=>{let t={...th,prMerged:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:th.prClosed,onChange:e=>{let t={...th,prClosed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:th.prChecksPassed,onChange:e=>{let t={...th,prChecksPassed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:th.prChecksFailed,onChange:e=>{let t={...th,prChecksFailed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:th.prBlocked,onChange:e=>{let t={...th,prBlocked:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:th.mergeReviewReady,onChange:e=>{let t={...th,mergeReviewReady:e};tp(t),P(tD({events:t}))}})]}),(0,t.jsx)(eq,{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)(eO,{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)(eK,{label:m("settings.featureFlags.skills"),description:m("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:tm.skills,onChange:e=>{let t={...tm,skills:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.deployments"),description:m("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:tm.envDeploy,onChange:e=>{let t={...tm,envDeploy:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.debug"),description:m("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:tm.debug,onChange:e=>{let t={...tm,debug:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.githubImport"),description:m("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:tm.githubImport,onChange:e=>{let t={...tm,githubImport:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.adoptBranch"),description:m("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:tm.adoptBranch,onChange:e=>{let t={...tm,adoptBranch:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.gitRebaseSync"),description:m("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:tm.gitRebaseSync,onChange:e=>{let t={...tm,gitRebaseSync:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.reactFileManager"),description:m("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:tm.reactFileManager,onChange:e=>{let t={...tm,reactFileManager:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.inventory"),description:m("settings.featureFlags.inventoryDescription"),id:"flag-inventory",testId:"switch-flag-inventory",checked:tm.inventory,onChange:e=>{let t={...tm,inventory:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.projects"),description:m("settings.featureFlags.projectsDescription"),id:"flag-projects",testId:"switch-flag-projects",checked:tm.projects,onChange:e=>{let t={...tm,projects:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.codeReview"),description:m("settings.featureFlags.codeReviewDescription"),id:"flag-code-review",testId:"switch-flag-code-review",checked:tm.codeReview,onChange:e=>{let t={...tm,codeReview:e};tf(t),P({featureFlags:t})}})]}),(0,t.jsx)(eq,{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)(eO,{icon:v.MessageSquare,title:m("settings.interactiveAgent.title"),description:m("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.interactiveAgent.enableChatTab"),description:m("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ti,onChange:e=>{tn(e),P({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(ts,10)||15,maxConcurrentSessions:parseInt(tl,10)||3}})}}),(0,t.jsx)(eV,{label:m("settings.interactiveAgent.autoTimeout"),description:m("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(eH,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:ts,placeholder:"15",min:1,max:120,suffix:"min",onChange:ta,onBlur:()=>{let e=parseInt(ts,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));ta(String(t)),P({interactiveAgent:{enabled:ti,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(tl,10)||3}})}})}),(0,t.jsx)(eV,{label:m("settings.interactiveAgent.maxConcurrentSessions"),description:m("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(eH,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:tl,placeholder:"3",min:1,max:10,onChange:to,onBlur:()=>{let e=parseInt(tl,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));to(String(t)),P({interactiveAgent:{enabled:ti,autoTimeoutMinutes:parseInt(ts,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eq,{children:m("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eO,{icon:b.LayoutGrid,title:m("settings.fabLayout.title"),description:m("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(eK,{label:m("settings.fabLayout.swapPosition"),description:m("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:tc,onChange:e=>{td(e),P({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eq,{children:m("settings.fabLayout.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)(eO,{icon:u,title:m("settings.database.title"),description:m("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eV,{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:r})}),(0,t.jsx)(eV,{label:m("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:h})})]}),(0,t.jsx)(eq,{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",()=>eG],541952)}]);
|