@shepai/cli 1.194.1 → 1.194.2-pr584.4f4957c
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/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +27 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- 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]__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]__03f1b887._.js → [root-of-the-server]__ae78a6b9._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__03f1b887._.js.map → [root-of-the-server]__ae78a6b9._.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]__04280e28._.js → [root-of-the-server]__b8c0d40a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__04280e28._.js.map → [root-of-the-server]__b8c0d40a._.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]__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/_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/{_739ea6b4._.js → _3f792f30._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_739ea6b4._.js.map → _3f792f30._.js.map} +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/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3024a5f6._.js → _588a572a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3024a5f6._.js.map → _588a572a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_6868b4b1._.js +1 -1
- package/web/.next/server/chunks/ssr/{_faacc25a._.js → _761e4bd3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_faacc25a._.js.map → _761e4bd3._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_5ed7a395._.js → _7e021392._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5ed7a395._.js.map → _7e021392._.js.map} +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/{_f3115daa._.js → _973065c3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_f3115daa._.js.map → _973065c3._.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/_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/{_c9cecace._.js → _e32aca20._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c9cecace._.js.map → _e32aca20._.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/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_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_9e14bfc1._.js → src_presentation_web_70ef7fde._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_9e14bfc1._.js.map → src_presentation_web_70ef7fde._.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_e9ad533a._.js → src_presentation_web_929e9a7b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_e9ad533a._.js.map → src_presentation_web_929e9a7b._.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_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/07156bfe6433ad08.js +1 -0
- package/web/.next/static/chunks/0abf3aca0664110e.js +1 -0
- package/web/.next/static/chunks/{84aeb6cca97c1a62.js → 150d2879079190e3.js} +1 -1
- package/web/.next/static/chunks/{0235baebfda5ff4f.js → 19a5af71926715a0.js} +1 -1
- package/web/.next/static/chunks/{102d8c48d7767608.js → 22f47ab138b2d9a9.js} +1 -1
- package/web/.next/static/chunks/{e7e7f8f4fc14e58f.js → 249d416f38a960ee.js} +1 -1
- package/web/.next/static/chunks/{575414c8f8e54272.js → 24ec879c40147be1.js} +1 -1
- package/web/.next/static/chunks/{76cd042201cad39c.js → 33264a24cdc2c4a5.js} +1 -1
- package/web/.next/static/chunks/{002432769b97fabb.js → 389b6724824ff3f6.js} +1 -1
- package/web/.next/static/chunks/3977923286c37140.js +1 -0
- package/web/.next/static/chunks/3a25d8e6bc3ede3d.js +1 -0
- package/web/.next/static/chunks/{c34e66253c4cac16.js → 4826c460d01c6943.js} +1 -1
- package/web/.next/static/chunks/{14290d84d004fdb8.js → 4b5d061eb5c2aac4.js} +1 -1
- package/web/.next/static/chunks/{d791522fb2393144.js → 5dc0003cc1241cb9.js} +1 -1
- package/web/.next/static/chunks/{9a29f05df861459b.js → 6235f12c6bcbd03b.js} +1 -1
- package/web/.next/static/chunks/{464e47865e4c5682.js → 65b5726d39a4d482.js} +1 -1
- package/web/.next/static/chunks/{b76095aed26f711e.js → 67109f43808725c6.js} +1 -1
- package/web/.next/static/chunks/{e48a6b334cdf53ce.js → 68d5517e0344f2a8.js} +1 -1
- package/web/.next/static/chunks/6ade0b141237e333.js +1 -0
- package/web/.next/static/chunks/{63fa14ff9d43de5b.js → 733544bb6796c862.js} +1 -1
- package/web/.next/static/chunks/7f2567429fbb01f5.js +1 -0
- package/web/.next/static/chunks/{bedcd3aeb7705af1.js → 8665bb59c0620008.js} +1 -1
- package/web/.next/static/chunks/8c997a1b1fbb91bf.js +1 -0
- package/web/.next/static/chunks/{997b8c166f435eae.js → 9f62973ace3dc4af.js} +1 -1
- package/web/.next/static/chunks/{6800026a05c5ce29.js → a564b5b907b54a5f.js} +1 -1
- package/web/.next/static/chunks/{313b0e3a5235fabd.js → b9bb2c40f2b62ef2.js} +1 -1
- package/web/.next/static/chunks/{1d66cd1dc949253b.js → c954985ac32f7d87.js} +2 -2
- package/web/.next/static/chunks/{578b439d55fb4e0f.js → ce7b3441e19255e6.js} +1 -1
- package/web/.next/static/chunks/{9614c6cb4480dffa.js → e2b81d6dd4f82a2c.js} +1 -1
- package/web/.next/static/chunks/{aebfd87d80d8b2a5.js → e62cd9095e37f064.js} +1 -1
- package/web/.next/static/chunks/{55daeda060e0a94c.js → eb88bae05f0b043b.js} +1 -1
- package/web/.next/static/chunks/{8fad14130e013cca.js → edd8cb6712149e39.js} +1 -1
- package/web/.next/static/chunks/f2040895572839d9.js +1 -0
- package/web/.next/static/chunks/{f1247fc826bfc874.js → fea2481993c12344.js} +1 -1
- package/web/.next/static/chunks/056c4d492ee6cac7.js +0 -1
- package/web/.next/static/chunks/0d8135ee354a3b8e.js +0 -1
- package/web/.next/static/chunks/4e3475e4a3c4d42b.js +0 -1
- package/web/.next/static/chunks/6c6daa1eb10a7f67.js +0 -1
- package/web/.next/static/chunks/7e8e95a6c58eb733.js +0 -1
- package/web/.next/static/chunks/8a3a5f7c77067c87.js +0 -1
- package/web/.next/static/chunks/96662fc50bc09292.js +0 -1
- package/web/.next/static/chunks/df5714231d727c3d.js +0 -1
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_buildManifest.js +0 -0
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_ssgManifest.js +0 -0
|
@@ -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)("403065bf7c079998c5e23f423f61a95eee4c4c3f3b",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)("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)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,237260,651188,976270,e=>{"use strict";let t=(0,e.i(903645).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",()=>t],237260);var r=e.i(508893);let a=(0,r.createServerReference)("402eaf2dfc159de004ecf396d636141c8de28eb5e9",r.callServer,void 0,r.findSourceMapURL,"openIde");e.s(["openIde",()=>a],651188);let l=(0,r.createServerReference)("40c2b6290934f3abd131684546a21b3ec963786f44",r.callServer,void 0,r.findSourceMapURL,"openShell");e.s(["openShell",()=>l],976270)},338573,e=>{"use strict";let t=(0,e.i(903645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],338573)},730702,e=>{"use strict";let t=(0,e.i(903645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],730702)},724042,e=>{"use strict";let t=(0,e.i(903645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],724042)},873504,860493,202824,481605,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(317406),l=e.i(508893);let s=(0,l.createServerReference)("40c4a6aecf45d4f3bcee9f0abca065bb2204369961",l.callServer,void 0,l.findSourceMapURL,"deployFeature"),i=(0,l.createServerReference)("40480b2914f085773198eda76564879e2a82bf9abf",l.callServer,void 0,l.findSourceMapURL,"deployRepository");e.s(["deployRepository",()=>i],860493);let n=(0,l.createServerReference)("40b269b73a63cba8a12cdea3206c88dd77d1a720c5",l.callServer,void 0,l.findSourceMapURL,"deployApplication"),o=(0,l.createServerReference)("40f6a442e6dcb385edbe497760723810a4d3b6cd78",l.callServer,void 0,l.findSourceMapURL,"stopDeployment");e.s(["stopDeployment",()=>o],202824);let u=(0,l.createServerReference)("405bb37393c554d70ce53e367e581f340c25f403c3",l.callServer,void 0,l.findSourceMapURL,"getDeploymentStatus");var c=e.i(118354);let d={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class f{entries=new Map;listeners=new Map;globalListeners=new Set;fullyHydrated=!1;isFullyHydrated(){return this.fullyHydrated}hydrate(e){let t=new Set;for(let r of e)t.add(r.targetId),this.update(r.targetId,{status:r.state,url:r.url,targetType:r.targetType,hydrated:!0});for(let[e,r]of this.entries)!t.has(e)&&r.hydrated&&null!==r.status?this.update(e,{status:null,url:null}):t.has(e)||r.hydrated||this.update(e,{hydrated:!0});this.fullyHydrated=!0}getEntry(e){return this.entries.get(e)??d}update(e,t){let r={...this.entries.get(e)??d,...t};this.entries.set(e,r),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let r=this.listeners.get(e);return r||(r=new Set,this.listeners.set(e,r)),r.add(t),()=>{r?.delete(t),r?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>f,"EMPTY_ENTRY",0,d],481605);let p=(0,c.createLogger)("[DeploymentStatusProvider]"),h=new Set([a.DeploymentState.Booting,a.DeploymentState.Ready]),y=(0,r.createContext)(null);function m({initialDeployments:e,children:l}){let c=(0,r.useRef)(null);c.current||(c.current=new f,c.current.hydrate(e));let d=c.current;(0,r.useEffect)(()=>{d.hydrate(e)},[e,d]);let m=(0,r.useRef)(new Map),v=(0,r.useCallback)(e=>{let t=m.current.get(e);t&&(clearInterval(t),m.current.delete(e))},[]),g=(0,r.useCallback)(e=>{if(m.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await u(e)}catch(t){p.warn(`poll failed for "${e}"`,t),d.setStatus(e,null),v(e);return}if(!t||t.state===a.DeploymentState.Stopped){d.setStatus(e,null),v(e);return}d.setStatus(e,t)},3e3);m.current.set(e,t)},[d,v]);(0,r.useEffect)(()=>{let e=m.current,t=d.subscribeAll(()=>{for(let[t]of e){let e=d.getEntry(t);e.status&&h.has(e.status)||v(t)}});return()=>{for(let[,r]of(t(),e))clearInterval(r);e.clear()}},[d,v]);let k=(0,r.useCallback)(e=>{if(e&&!d.getEntry(e).hydrated){if(d.isFullyHydrated())return void d.update(e,{hydrated:!0});d.update(e,{hydrated:!0}),(async()=>{try{let t=await u(e);d.setStatus(e,t),t&&h.has(t.state)&&g(e)}catch(t){p.warn(`ensureHydrated failed for "${e}"`,t)}})()}},[d,g]),b=(0,r.useCallback)(async e=>{d.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await s(e.targetId):"application"===e.targetType?await n(e.targetId):await i(e.repositoryPath);if(!t.success)return void d.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});d.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),g(e.targetId)}catch(r){let t=r instanceof Error?r.message:"An unexpected error occurred";d.update(e.targetId,{deployLoading:!1,deployError:t})}},[d,g]),S=(0,r.useCallback)(async e=>{if(e){d.update(e,{stopLoading:!0});try{(await o(e)).success?(v(e),d.update(e,{stopLoading:!1,status:null,url:null})):d.update(e,{stopLoading:!1})}catch(t){p.warn("stop error (non-critical)",t),d.update(e,{stopLoading:!1})}}},[d,v]),x=(0,r.useMemo)(()=>({store:d,deploy:b,stop:S,ensureHydrated:k}),[d,b,S,k]);return(0,t.jsx)(y.Provider,{value:x,children:l})}function v(){let e=(0,r.useContext)(y);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function g(){let e=(0,r.useContext)(y);return e||k}let k={store:new f,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>m,"useDeploymentStatusContext",()=>v,"useDeploymentStatusContextOptional",()=>g],873504)},8537,e=>{"use strict";var t=e.i(152155),r=e.i(873504);function a(){}function l(e){let{store:l,deploy:s,stop:i,ensureHydrated:n}=(0,r.useDeploymentStatusContextOptional)(),o=e?.targetId??"",u=(0,t.useCallback)(e=>o?l.subscribe(o,e):a,[l,o]),c=(0,t.useCallback)(()=>o?l.getEntry(o):l.getEntry(""),[l,o]),d=(0,t.useSyncExternalStore)(u,c,c);return(0,t.useEffect)(()=>{o&&n(o)},[o,n]),{deploy:(0,t.useCallback)(async()=>{e&&await s(e)},[s,e]),stop:(0,t.useCallback)(async()=>{o&&await i(o)},[i,o]),deployLoading:d.deployLoading,stopLoading:d.stopLoading,deployError:d.deployError,status:d.status,url:d.url}}e.s(["useDeployAction",()=>l])},1650,e=>{"use strict";e.i(511495),e.s([])},435e3,e=>{"use strict";var t=e.i(980986);e.s(["CheckCircle2",()=>t.default])},194365,e=>{"use strict";let t=(0,e.i(903645).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>t],194365)},248109,e=>{"use strict";let t=(0,e.i(903645).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],248109)},215131,e=>{"use strict";let t=(0,e.i(903645).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",()=>t])},495812,e=>{"use strict";let t=(0,e.i(903645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],495812)},267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},935946,e=>{"use strict";var t=e.i(943698);e.s(["Paperclip",()=>t.default])},382569,e=>{"use strict";let t=(0,e.i(903645).default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);e.s(["Github",()=>t],382569)},711719,731151,e=>{"use strict";let t=(0,e.i(903645).default)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);e.s(["SendHorizontal",()=>t],711719);var r=e.i(152155);let a=new Set(["txt","md","csv","json","yaml","yml","xml","html","css","js","ts","jsx","tsx","py","rb","go","rs","java","kt","c","cpp","h","hpp","cs","swift","sh","bash","zsh","fish","ps1","bat","cmd","sql","graphql","proto","toml","ini","cfg","conf","env","dockerfile","makefile","cmake","gradle","sbt","lock","sum","mod","png","jpg","jpeg","gif","svg","webp","bmp","ico","avif","pdf","doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","zip","tar","gz","bz2","xz","7z","rar","log","diff","patch"]);function l(){let[e,t]=(0,r.useState)([]),[l,s]=(0,r.useState)(null),[i,n]=(0,r.useState)(!1),o=(0,r.useRef)(0),u=(0,r.useRef)(crypto.randomUUID()),c=(0,r.useCallback)(async e=>{for(let t of(s(null),e)){if(t.size>0xa00000)return void s(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>0?e.slice(t+1).toLowerCase():null}(t.name);if(e&&!a.has(e))return void s(`File type "${e}" is not allowed`)}for(let r of e){let e=crypto.randomUUID();t(t=>[...t,{id:e,name:r.name,size:r.size,mimeType:r.type||"application/octet-stream",path:"",loading:!0}]);try{let a=new FormData;a.append("file",r),a.append("sessionId",u.current);let l=await fetch("/api/attachments/upload",{method:"POST",body:a});if(!l.ok){let r=await l.json().catch(()=>({error:"Upload failed"}));t(t=>t.filter(t=>t.id!==e)),s(r.error??"Upload failed");return}let i=await l.json();t(t=>t.some(t=>t.id!==e&&t.path===i.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...i,id:e,loading:!1}:t))}catch{t(t=>t.filter(t=>t.id!==e)),s("Upload failed")}}},[]),d=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current+=1,1===o.current&&n(!0)},[]),f=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current-=1,0===o.current&&n(!1)},[]),p=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),h=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current=0,n(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&c(t)},[c]),y=(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(),c(r))},[c]),m=(0,r.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]),v=(0,r.useCallback)((e,r)=>{t(t=>t.map(t=>t.id===e?{...t,notes:r}:t))},[]),g=(0,r.useCallback)(e=>{t(t=>t.some(t=>t.path===e.path)?t:[...t,{...e,loading:!1}])},[]),k=(0,r.useCallback)(()=>{t([]),s(null)},[]),b=e.filter(e=>!e.loading);return{attachments:e,completedAttachments:b,uploadError:l,isDragOver:i,handleFiles:c,handleDragEnter:d,handleDragLeave:f,handleDragOver:p,handleDrop:h,handlePaste:y,addAttachment:g,removeAttachment:m,updateNotes:v,clearAttachments:k}}e.s(["useAttachments",()=>l],731151)},949228,e=>{"use strict";let t=(0,e.i(903645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],949228)},32494,e=>{"use strict";let t=(0,e.i(903645).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>t],32494)},208952,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40953c2cf20f4bbd41d6a9487c7ef3e988462d2869",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>r])},787342,e=>{"use strict";var t=e.i(152155),r=e.i(922528),a=e.i(205978),l=e.i(786874),s=e.i(679606);function i(e){let i=e+"CollectionProvider",[n,o]=(0,r.createContextScope)(i),[u,c]=n(i,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:a}=e,l=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,s.jsx)(u,{scope:r,itemMap:i,collectionRef:l,children:a})};d.displayName=i;let f=e+"CollectionSlot",p=(0,l.createSlot)(f),h=t.default.forwardRef((e,t)=>{let{scope:r,children:l}=e,i=c(f,r),n=(0,a.useComposedRefs)(t,i.collectionRef);return(0,s.jsx)(p,{ref:n,children:l})});h.displayName=f;let y=e+"CollectionItemSlot",m="data-radix-collection-item",v=(0,l.createSlot)(y),g=t.default.forwardRef((e,r)=>{let{scope:l,children:i,...n}=e,o=t.default.useRef(null),u=(0,a.useComposedRefs)(r,o),d=c(y,l);return t.default.useEffect(()=>(d.itemMap.set(o,{ref:o,...n}),()=>void d.itemMap.delete(o))),(0,s.jsx)(v,{...{[m]:""},ref:u,children:i})});return g.displayName=y,[{Provider:d,Slot:h,ItemSlot:g},function(r){let a=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=a.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(a.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[a.collectionRef,a.itemMap])},o]}var n=new WeakMap;function o(e,t){var r,a;let l,s,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(r=e,a=t,l=r.length,(i=(s=u(a))>=0?s:l+s)<0||i>=l?-1:i);return -1===n?void 0:e[n]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],n.set(this,!0)}set(e,t){return n.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let a,l=this.has(t),s=this.#e.length,i=u(e),n=i>=0?i:s+i,o=n<0||n>=s?-1:n;if(o===this.size||l&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!l;i<0&&n++;let d=[...this.#e],f=!1;for(let e=n;e<c;e++)if(n===e){let s=d[e];d[e]===t&&(s=d[e+1]),l&&this.delete(t),a=this.get(s),this.set(t,r)}else{f||d[e-1]!==t||(f=!0);let r=d[f?e:e-1],l=a;a=this.get(r),this.delete(r),this.set(r,l)}return this}with(t,r,a){let l=new e(this);return l.insert(t,r,a),l}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.at(a)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.keyAt(a)}find(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return a;r++}}findIndex(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return r;r++}return -1}filter(t,r){let a=[],l=0;for(let e of this)Reflect.apply(t,r,[e,l,this])&&a.push(e),l++;return new e(a)}map(t,r){let a=[],l=0;for(let e of this)a.push([e[0],Reflect.apply(t,r,[e,l,this])]),l++;return new e(a)}reduce(...e){let[t,r]=e,a=0,l=r??this.at(0);for(let r of this)l=0===a&&1===e.length?r:Reflect.apply(t,this,[l,r,a,this]),a++;return l}reduceRight(...e){let[t,r]=e,a=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let l=this.at(r);a=r===this.size-1&&1===e.length?l:Reflect.apply(t,this,[a,l,r,this])}return a}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),a=this.get(r);t.set(r,a)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let a=new e,l=this.size-1;if(void 0===t)return a;t<0&&(t+=this.size),void 0!==r&&r>0&&(l=r-1);for(let e=t;e<=l;e++){let t=this.keyAt(e),r=this.get(t);a.set(t,r)}return a}every(e,t){let r=0;for(let a of this){if(!Reflect.apply(e,t,[a,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>i])},151080,e=>{"use strict";var t=e.i(152155),r=e.i(291967),a=e.i(787342),l=e.i(205978),s=e.i(922528),i=e.i(713123),n=e.i(287620),o=e.i(929297),u=e.i(936589),c=e.i(566033),d=e.i(679606),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[y,m,v]=(0,a.createCollection)(h),[g,k]=(0,s.createContextScope)(h,[v]),[b,S]=g(h),x=t.forwardRef((e,t)=>(0,d.jsx)(y.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(y.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(w,{...e,ref:t})})}));x.displayName=h;var w=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:s,orientation:i,loop:y=!1,dir:v,currentTabStopId:g,defaultCurrentTabStopId:k,onCurrentTabStopIdChange:S,onEntryFocus:x,preventScrollOnEntryFocus:w=!1,...R}=e,C=t.useRef(null),M=(0,l.useComposedRefs)(a,C),E=(0,c.useDirection)(v),[I,D]=(0,u.useControllableState)({prop:g,defaultProp:k??null,onChange:S,caller:h}),[z,L]=t.useState(!1),T=(0,o.useCallbackRef)(x),F=m(s),j=t.useRef(!1),[P,H]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(f,T),()=>e.removeEventListener(f,T)},[T]),(0,d.jsx)(b,{scope:s,orientation:i,dir:E,loop:y,currentTabStopId:I,onItemFocus:t.useCallback(e=>D(e),[D]),onItemShiftTab:t.useCallback(()=>L(!0),[]),onFocusableItemAdd:t.useCallback(()=>H(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>H(e=>e-1),[]),children:(0,d.jsx)(n.Primitive.div,{tabIndex:z||0===P?-1:0,"data-orientation":i,...R,ref:M,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{j.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!j.current;if(e.target===e.currentTarget&&t&&!z){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);A([e.find(e=>e.active),e.find(e=>e.id===I),...e].filter(Boolean).map(e=>e.ref.current),w)}}j.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>L(!1))})})}),R="RovingFocusGroupItem",C=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:l,focusable:s=!0,active:o=!1,tabStopId:u,children:c,...f}=e,p=(0,i.useId)(),h=u||p,v=S(R,l),g=v.currentTabStopId===h,k=m(l),{onFocusableItemAdd:b,onFocusableItemRemove:x,currentTabStopId:w}=v;return t.useEffect(()=>{if(s)return b(),()=>x()},[s,b,x]),(0,d.jsx)(y.ItemSlot,{scope:l,id:h,focusable:s,active:o,children:(0,d.jsx)(n.Primitive.span,{tabIndex:g?0:-1,"data-orientation":v.orientation,...f,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{s?v.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let l=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(l))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(l)))return M[l]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let l=k().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)l.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&l.reverse();let s=l.indexOf(e.currentTarget);l=v.loop?(r=l,a=s+1,r.map((e,t)=>r[(a+t)%r.length])):l.slice(s+1)}setTimeout(()=>A(l))}}),children:"function"==typeof c?c({isCurrentTabStop:g,hasTabStop:null!=w}):c})})});C.displayName=R;var M={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function A(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>C,"Root",()=>x,"createRovingFocusGroupScope",()=>k])},619933,e=>{"use strict";let t=(0,e.i(903645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],619933)},208986,e=>{"use strict";let t=(0,e.i(903645).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>t],208986)},565530,e=>{"use strict";let t=(0,e.i(903645).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["GitCommitHorizontal",()=>t],565530)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(679606),r=e.i(294237),a=e.i(131777);let i=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function s({className:e,variant:r,...s}){return(0,t.jsx)("div",{className:(0,a.cn)(i({variant:r}),e),...s})}e.s(["Badge",()=>s])},670471,e=>{"use strict";var t=e.i(16298);e.s(["FileText",()=>t.default])},43416,e=>{"use strict";let t=(0,e.i(903645).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],43416)},216868,442076,e=>{"use strict";var t=e.i(943698);async function r(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["PaperclipIcon",()=>t.default],216868),e.s(["pickFiles",()=>r],442076)},951911,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(291967),i=e.i(205978),s=e.i(922528),o=e.i(936589),n=e.i(23405),c=e.i(277624),d=e.i(287620),u="Switch",[l,p]=(0,s.createContextScope)(u),[f,h]=l(u),b=r.forwardRef((e,s)=>{let{__scopeSwitch:n,name:c,checked:l,defaultChecked:p,required:h,disabled:b,value:g="on",onCheckedChange:m,form:k,...y}=e,[x,C]=r.useState(null),S=(0,i.useComposedRefs)(s,e=>C(e)),P=r.useRef(!1),R=!x||k||!!x.closest("form"),[j,T]=(0,o.useControllableState)({prop:l,defaultProp:p??!1,onChange:m,caller:u});return(0,t.jsxs)(f,{scope:n,checked:j,disabled:b,children:[(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":j,"aria-required":h,"data-state":w(j),"data-disabled":b?"":void 0,disabled:b,value:g,...y,ref:S,onClick:(0,a.composeEventHandlers)(e.onClick,e=>{T(e=>!e),R&&(P.current=e.isPropagationStopped(),P.current||e.stopPropagation())})}),R&&(0,t.jsx)(v,{control:x,bubbles:!P.current,name:c,value:g,checked:j,required:h,disabled:b,form:k,style:{transform:"translateX(-100%)"}})]})});b.displayName=u;var g="SwitchThumb",m=r.forwardRef((e,r)=>{let{__scopeSwitch:a,...i}=e,s=h(g,a);return(0,t.jsx)(d.Primitive.span,{"data-state":w(s.checked),"data-disabled":s.disabled?"":void 0,...i,ref:r})});m.displayName=g;var v=r.forwardRef(({__scopeSwitch:e,control:a,checked:s,bubbles:o=!0,...d},u)=>{let l=r.useRef(null),p=(0,i.useComposedRefs)(l,u),f=(0,n.usePrevious)(s),h=(0,c.useSize)(a);return r.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(f!==s&&t){let r=new Event("click",{bubbles:o});t.call(e,s),e.dispatchEvent(r)}},[f,s,o]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...d,tabIndex:-1,ref:p,style:{...d.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function w(e){return e?"checked":"unchecked"}v.displayName="SwitchBubbleInput",e.s(["Root",()=>b,"Switch",()=>b,"SwitchThumb",()=>m,"Thumb",()=>m,"createSwitchScope",()=>p],595291);var k=e.i(595291),k=k,y=e.i(131777);function x({className:e,size:r="default",...a}){return(0,t.jsx)(k.Root,{"data-slot":"switch","data-size":r,className:(0,y.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...a,children:(0,t.jsx)(k.Thumb,{"data-slot":"switch-thumb",className:(0,y.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")})})}e.s(["Switch",()=>x],951911)},915203,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(711434),i=e.i(360112),s=e.i(
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(679606),r=e.i(294237),a=e.i(131777);let i=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function s({className:e,variant:r,...s}){return(0,t.jsx)("div",{className:(0,a.cn)(i({variant:r}),e),...s})}e.s(["Badge",()=>s])},670471,e=>{"use strict";var t=e.i(16298);e.s(["FileText",()=>t.default])},43416,e=>{"use strict";let t=(0,e.i(903645).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],43416)},216868,442076,e=>{"use strict";var t=e.i(943698);async function r(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["PaperclipIcon",()=>t.default],216868),e.s(["pickFiles",()=>r],442076)},951911,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(291967),i=e.i(205978),s=e.i(922528),o=e.i(936589),n=e.i(23405),c=e.i(277624),d=e.i(287620),u="Switch",[l,p]=(0,s.createContextScope)(u),[f,h]=l(u),b=r.forwardRef((e,s)=>{let{__scopeSwitch:n,name:c,checked:l,defaultChecked:p,required:h,disabled:b,value:g="on",onCheckedChange:m,form:k,...y}=e,[x,C]=r.useState(null),S=(0,i.useComposedRefs)(s,e=>C(e)),P=r.useRef(!1),R=!x||k||!!x.closest("form"),[j,T]=(0,o.useControllableState)({prop:l,defaultProp:p??!1,onChange:m,caller:u});return(0,t.jsxs)(f,{scope:n,checked:j,disabled:b,children:[(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":j,"aria-required":h,"data-state":w(j),"data-disabled":b?"":void 0,disabled:b,value:g,...y,ref:S,onClick:(0,a.composeEventHandlers)(e.onClick,e=>{T(e=>!e),R&&(P.current=e.isPropagationStopped(),P.current||e.stopPropagation())})}),R&&(0,t.jsx)(v,{control:x,bubbles:!P.current,name:c,value:g,checked:j,required:h,disabled:b,form:k,style:{transform:"translateX(-100%)"}})]})});b.displayName=u;var g="SwitchThumb",m=r.forwardRef((e,r)=>{let{__scopeSwitch:a,...i}=e,s=h(g,a);return(0,t.jsx)(d.Primitive.span,{"data-state":w(s.checked),"data-disabled":s.disabled?"":void 0,...i,ref:r})});m.displayName=g;var v=r.forwardRef(({__scopeSwitch:e,control:a,checked:s,bubbles:o=!0,...d},u)=>{let l=r.useRef(null),p=(0,i.useComposedRefs)(l,u),f=(0,n.usePrevious)(s),h=(0,c.useSize)(a);return r.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(f!==s&&t){let r=new Event("click",{bubbles:o});t.call(e,s),e.dispatchEvent(r)}},[f,s,o]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...d,tabIndex:-1,ref:p,style:{...d.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function w(e){return e?"checked":"unchecked"}v.displayName="SwitchBubbleInput",e.s(["Root",()=>b,"Switch",()=>b,"SwitchThumb",()=>m,"Thumb",()=>m,"createSwitchScope",()=>p],595291);var k=e.i(595291),k=k,y=e.i(131777);function x({className:e,size:r="default",...a}){return(0,t.jsx)(k.Root,{"data-slot":"switch","data-size":r,className:(0,y.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...a,children:(0,t.jsx)(k.Thumb,{"data-slot":"switch-thumb",className:(0,y.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")})})}e.s(["Switch",()=>x],951911)},915203,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(711434),i=e.i(360112),s=e.i(731255);e.i(34562);var o=e.i(630616);function n({repositoryPath:e,initialParentId:n,initialDescription:c,initialMode:d,features:u,repositories:l,workflowDefaults:p,currentAgentType:f,currentModel:h,canPushDirectly:b}){let g=(0,a.useRouter)(),[m,v]=(0,r.useState)(!1),w=(0,a.usePathname)().startsWith("/create"),k=!m&&w;(0,r.useEffect)(()=>{!w&&m&&v(!1)},[w,m]);let y=(0,r.useCallback)(()=>{g.push("/control-center")},[g]),x=(0,r.useCallback)(e=>{v(!0),g.push("/control-center"),(0,s.createFeature)(e).then(t=>{t.error?i.toast.error(t.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.feature.repositoryPath,parentId:e.parentId}}))}).catch(()=>{i.toast.error("Failed to create feature"),v(!1)})},[g]);return(0,t.jsx)(o.FeatureCreateDrawer,{open:k,onClose:y,onSubmit:x,repositoryPath:e,features:u,repositories:l,workflowDefaults:p,initialParentId:n,initialDescription:c,initialMode:d,isSubmitting:m,currentAgentType:f,currentModel:h,canPushDirectly:b})}e.s(["CreateDrawerClient",()=>n])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,672971,e=>{"use strict";function t(e){return`app-${e}`}e.s(["featureIdForApplication",()=>t])},370002,942616,e=>{"use strict";var t=e.i(215131);function r(e,t,r,a){return"processing"===t?{label:"In Progress",dotClass:"bg-violet-500",borderClass:"",pulse:!0,previewDisabled:!0}:"awaiting_input"===t?{label:"Action Required",dotClass:"bg-amber-500",borderClass:"border-amber-500/60",pulse:!0,previewDisabled:!0}:"interrupted"===a?{label:"Interrupted",dotClass:"bg-amber-500",borderClass:"border-amber-500/60",pulse:!1,previewDisabled:!0}:"failed"===a?{label:"Failed",dotClass:"bg-red-500",borderClass:"border-red-500/60",pulse:!1,previewDisabled:!0}:"building"===a?{label:"In Progress",dotClass:"bg-violet-500",borderClass:"",pulse:!0,previewDisabled:!0}:r?{label:"Live",dotClass:"bg-emerald-500",borderClass:"",pulse:!0,previewDisabled:!1}:"Error"===e?{label:"Error",dotClass:"bg-red-500",borderClass:"border-red-500/60",pulse:!1,previewDisabled:!0}:{label:"Ready",dotClass:"bg-sky-500",borderClass:"",pulse:!1,previewDisabled:!1}}e.s(["TriangleAlert",()=>t.default],370002),e.s(["deriveAppLiveStatus",()=>r],942616)},553141,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40f462b63e5bf1cfb11e8420ef451812b69cf8d040",t.callServer,void 0,t.findSourceMapURL,"deleteApplication");e.s(["deleteApplication",()=>r])},676852,e=>{"use strict";var t=e.i(152155),r=e.i(651188),a=e.i(976270),n=e.i(208952),i=e.i(508893);let s=(0,i.createServerReference)("401ff22d18d01e0305cf2a38581406abab9abb64c4",i.callServer,void 0,i.findSourceMapURL,"syncRepository");function o(e){let[i,o]=(0,t.useState)(!1),[l,c]=(0,t.useState)(!1),[d,u]=(0,t.useState)(!1),[f,h]=(0,t.useState)(!1),[p,m]=(0,t.useState)(null),[x,b]=(0,t.useState)(null),[g,v]=(0,t.useState)(null),[y,w]=(0,t.useState)(null),k=(0,t.useRef)(null),j=(0,t.useRef)(null),N=(0,t.useRef)(null),C=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{k.current&&clearTimeout(k.current),j.current&&clearTimeout(j.current),N.current&&clearTimeout(N.current),C.current&&clearTimeout(C.current)},[]);let S=(0,t.useCallback)(async(t,r,a,n,i)=>{if(e&&!i){n.current&&clearTimeout(n.current),r(!0),a(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";a(t),n.current=setTimeout(()=>a(null),5e3)}}catch(e){a(e instanceof Error?e.message:"An unexpected error occurred"),n.current=setTimeout(()=>a(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>S(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),o,m,k,i),[S,i,e]),openInShell:(0,t.useCallback)(()=>S(()=>(0,a.openShell)({repositoryPath:e.repositoryPath}),c,b,j,l),[S,l,e]),openFolder:(0,t.useCallback)(()=>S(()=>(0,n.openFolder)(e.repositoryPath),u,v,N,d),[S,d,e]),syncMain:(0,t.useCallback)(()=>S(()=>s(e.repositoryId??""),h,w,C,f),[S,f,e]),ideLoading:i,shellLoading:l,folderLoading:d,syncLoading:f,ideError:p,shellError:x,folderError:g,syncError:y}}e.s(["useRepositoryActions",()=>o],676852)},579687,e=>{"use strict";var t=e.i(714748);e.s(["AlertCircle",()=>t.default])},457779,e=>{"use strict";var t=e.i(679606);function r({status:e,className:r=""}){return"idle"===e?null:(0,t.jsx)("span",{className:`absolute -top-0.5 -right-0.5 block rounded-full ${"awaiting_input"===e?"h-2.5 w-2.5 animate-pulse bg-amber-500":"processing"===e?"h-2.5 w-2.5 animate-pulse bg-blue-500":"h-2 w-2 bg-green-500"} ${r}`})}e.s(["ChatDotIndicator",()=>r])},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},220206,(e,t,r)=>{"use strict";var a=e.r(152155),n=e.r(56032),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useSyncExternalStore,o=a.useRef,l=a.useEffect,c=a.useMemo,d=a.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,a,n){var u=o(null);if(null===u.current){var f={hasValue:!1,value:null};u.current=f}else f=u.current;var h=s(e,(u=c(function(){function e(e){if(!l){if(l=!0,s=e,e=a(e),void 0!==n&&f.hasValue){var t=f.value;if(n(t,e))return o=t}return o=e}if(t=o,i(s,e))return t;var r=a(e);return void 0!==n&&n(t,r)?(s=e,t):(s=e,o=r)}var s,o,l=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,a,n]))[0],u[1]);return l(function(){f.hasValue=!0,f.value=h},[h]),d(h),h}},596482,(e,t,r)=>{"use strict";t.exports=e.r(220206)},842541,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},161610,321137,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var a in t)r[a]=t[a];return r}function a(){}var n="\\s*([+-]?\\d+)\\s*",i="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",s="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",o=/^#([0-9a-f]{3,8})$/,l=RegExp(`^rgb\\(${n},${n},${n}\\)$`),c=RegExp(`^rgb\\(${s},${s},${s}\\)$`),d=RegExp(`^rgba\\(${n},${n},${n},${i}\\)$`),u=RegExp(`^rgba\\(${s},${s},${s},${i}\\)$`),f=RegExp(`^hsl\\(${i},${s},${s}\\)$`),h=RegExp(`^hsla\\(${i},${s},${s},${i}\\)$`),p={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function m(){return this.rgb().formatHex()}function x(){return this.rgb().formatRgb()}function b(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=o.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?g(t):3===r?new w(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?v(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?v(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=l.exec(e))?new w(t[1],t[2],t[3],1):(t=c.exec(e))?new w(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=d.exec(e))?v(t[1],t[2],t[3],t[4]):(t=u.exec(e))?v(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=f.exec(e))?R(t[1],t[2]/100,t[3]/100,1):(t=h.exec(e))?R(t[1],t[2]/100,t[3]/100,t[4]):p.hasOwnProperty(e)?g(p[e]):"transparent"===e?new w(NaN,NaN,NaN,0):null}function g(e){return new w(e>>16&255,e>>8&255,255&e,1)}function v(e,t,r,a){return a<=0&&(e=t=r=NaN),new w(e,t,r,a)}function y(e,t,r,n){var i;return 1==arguments.length?((i=e)instanceof a||(i=b(i)),i)?new w((i=i.rgb()).r,i.g,i.b,i.opacity):new w:new w(e,t,r,null==n?1:n)}function w(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function k(){return`#${S(this.r)}${S(this.g)}${S(this.b)}`}function j(){let e=N(this.opacity);return`${1===e?"rgb(":"rgba("}${C(this.r)}, ${C(this.g)}, ${C(this.b)}${1===e?")":`, ${e})`}`}function N(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function C(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function S(e){return((e=C(e))<16?"0":"")+e.toString(16)}function R(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new M(e,t,r,a)}function D(e){if(e instanceof M)return new M(e.h,e.s,e.l,e.opacity);if(e instanceof a||(e=b(e)),!e)return new M;if(e instanceof M)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),s=Math.max(t,r,n),o=NaN,l=s-i,c=(s+i)/2;return l?(o=t===s?(r-n)/l+(r<n)*6:r===s?(n-t)/l+2:(t-r)/l+4,l/=c<.5?s+i:2-s-i,o*=60):l=c>0&&c<1?0:o,new M(o,l,c,e.opacity)}function M(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function A(e){return(e=(e||0)%360)<0?e+360:e}function E(e){return Math.max(0,Math.min(1,e||0))}function F(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(a,b,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:m,formatHex:m,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return D(this).formatHsl()},formatRgb:x,toString:x}),t(w,y,r(a,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new w(C(this.r),C(this.g),C(this.b),N(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:k,formatHex:k,formatHex8:function(){return`#${S(this.r)}${S(this.g)}${S(this.b)}${S((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:j,toString:j})),t(M,function(e,t,r,a){return 1==arguments.length?D(e):new M(e,t,r,null==a?1:a)},r(a,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new M(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new M(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,n=2*r-a;return new w(F(e>=240?e-240:e+120,n,a),F(e,n,a),F(e<120?e+240:e-120,n,a),this.opacity)},clamp(){return new M(A(this.h),E(this.s),E(this.l),N(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=N(this.opacity);return`${1===e?"hsl(":"hsla("}${A(this.h)}, ${100*E(this.s)}%, ${100*E(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["default",()=>b,"rgb",()=>y],321137),e.s(["color",()=>b],161610)},77075,e=>{"use strict";var t=e.i(842541);e.s(["interpolateNumber",()=>t.default])},145665,181503,e=>{"use strict";var t=e.i(321137);function r(e,t,r,a,n){var i=e*e,s=i*e;return((1-3*e+3*i-s)*t+(4-6*i+3*s)*r+(1+3*e+3*i-3*s)*a+s*n)/6}let a=e=>()=>e;function n(e,t){var r=t-e;return r?function(t){return e+t*r}:a(isNaN(e)?t:e)}e.s(["default",0,a],181503);let i=function e(r){var i,s=1==(i=+r)?n:function(e,t){var r,n,s;return t-e?(r=e,n=t,r=Math.pow(r,s=i),n=Math.pow(n,s)-r,s=1/s,function(e){return Math.pow(r+e*n,s)}):a(isNaN(e)?t:e)};function o(e,r){var a=s((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),i=s(e.g,r.g),o=s(e.b,r.b),l=n(e.opacity,r.opacity);return function(t){return e.r=a(t),e.g=i(t),e.b=o(t),e.opacity=l(t),e+""}}return o.gamma=e,o}(1);function s(e){return function(r){var a,n,i=r.length,s=Array(i),o=Array(i),l=Array(i);for(a=0;a<i;++a)n=(0,t.rgb)(r[a]),s[a]=n.r||0,o[a]=n.g||0,l[a]=n.b||0;return s=e(s),o=e(o),l=e(l),n.opacity=1,function(e){return n.r=s(e),n.g=o(e),n.b=l(e),n+""}}}s(function(e){var t=e.length-1;return function(a){var n=a<=0?a=0:a>=1?(a=1,t-1):Math.floor(a*t),i=e[n],s=e[n+1],o=n>0?e[n-1]:2*i-s,l=n<t-1?e[n+2]:2*s-i;return r((a-n/t)*t,o,i,s,l)}}),s(function(e){var t=e.length;return function(a){var n=Math.floor(((a%=1)<0?++a:a)*t),i=e[(n+t-1)%t],s=e[n%t],o=e[(n+1)%t],l=e[(n+2)%t];return r((a-n/t)*t,i,s,o,l)}}),e.s(["default",0,i],145665)},647483,e=>{"use strict";var t=e.i(842541),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,a=RegExp(r.source,"g");e.s(["default",0,function(e,n){var i,s,o,l,c,d=r.lastIndex=a.lastIndex=0,u=-1,f=[],h=[];for(e+="",n+="";(o=r.exec(e))&&(l=a.exec(n));)(c=l.index)>d&&(c=n.slice(d,c),f[u]?f[u]+=c:f[++u]=c),(o=o[0])===(l=l[0])?f[u]?f[u]+=l:f[++u]=l:(f[++u]=null,h.push({i:u,x:(0,t.default)(o,l)})),d=a.lastIndex;return d<n.length&&(c=n.slice(d),f[u]?f[u]+=c:f[++u]=c),f.length<2?h[0]?(i=h[0].x,function(e){return i(e)+""}):(s=n,function(){return s}):(n=h.length,function(e){for(var t,r=0;r<n;++r)f[(t=h[r]).i]=t.x(e);return f.join("")})}])},819505,238816,97376,e=>{"use strict";e.s(["genericArray",()=>a],819505);var t=e.i(213570);function r(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function a(e,r){var a,n=r?r.length:0,i=e?Math.min(n,e.length):0,s=Array(i),o=Array(n);for(a=0;a<i;++a)s[a]=(0,t.default)(e[a],r[a]);for(;a<n;++a)o[a]=r[a];return function(e){for(a=0;a<i;++a)o[a]=s[a](e);return o}}e.s(["default",0,function(e,t){t||(t=[]);var r,a=e?Math.min(t.length,e.length):0,n=t.slice();return function(i){for(r=0;r<a;++r)n[r]=e[r]*(1-i)+t[r]*i;return n}},"isNumberArray",()=>r],238816),e.s(["default",0,function(e,t){var r=new Date;return e*=1,t*=1,function(a){return r.setTime(e*(1-a)+t*a),r}}],97376)},905660,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(213570);function r(e,r){var a,n={},i={};for(a in(null===e||"object"!=typeof e)&&(e={}),(null===r||"object"!=typeof r)&&(r={}),r)a in e?n[a]=(0,t.default)(e[a],r[a]):i[a]=r[a];return function(e){for(a in n)i[a]=n[a](e);return i}}},678152,213570,e=>{"use strict";e.s(["default",()=>d],213570);var t=e.i(161610),r=e.i(145665),a=e.i(819505),n=e.i(97376),i=e.i(842541),s=e.i(905660),o=e.i(647483),l=e.i(181503),c=e.i(238816);function d(e,d){var u,f=typeof d;return null==d||"boolean"===f?(0,l.default)(d):("number"===f?i.default:"string"===f?(u=(0,t.color)(d))?(d=u,r.default):o.default:d instanceof t.color?r.default:d instanceof Date?n.default:(0,c.isNumberArray)(d)?c.default:Array.isArray(d)?a.genericArray:"function"!=typeof d.valueOf&&"function"!=typeof d.toString||isNaN(d)?s.default:i.default)(e,d)}e.s(["interpolate",0,d],678152)},141957,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(287620),n=r.forwardRef((e,r)=>(0,t.jsx)(a.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));n.displayName="Label",e.s(["Label",()=>n,"Root",()=>n],127572);var i=e.i(127572),i=i,s=e.i(294237),o=e.i(131777);let l=(0,s.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(i.Root,{ref:a,className:(0,o.cn)(l(),e),...r}));c.displayName=i.Root.displayName,e.s(["Label",()=>c],141957)},23405,e=>{"use strict";var t=e.i(152155);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},197667,e=>{"use strict";var t=e.i(301012);e.s(["CheckIcon",()=>t.default])},983299,474363,765104,e=>{"use strict";let t=(0,e.i(903645).default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);e.s(["ArchiveRestore",()=>t],983299);var r=e.i(679606),a=e.i(152155),n=e.i(83428);e.i(541001);var i=e.i(626960),s=e.i(64780),o=e.i(271326),l=e.i(197667),c=e.i(961569),c=c,d=e.i(205978),u=e.i(922528),f=e.i(291967),h=e.i(936589),p=e.i(23405),m=e.i(277624),x=e.i(685995),b=e.i(287620),g="Checkbox",[v,y]=(0,u.createContextScope)(g),[w,k]=v(g);function j(e){let{__scopeCheckbox:t,checked:n,children:i,defaultChecked:s,disabled:o,form:l,name:c,onCheckedChange:d,required:u,value:f="on",internal_do_not_use_render:p}=e,[m,x]=(0,h.useControllableState)({prop:n,defaultProp:s??!1,onChange:d,caller:g}),[b,v]=a.useState(null),[y,k]=a.useState(null),j=a.useRef(!1),N=!b||!!l||!!b.closest("form"),C={checked:m,disabled:o,setChecked:x,control:b,setControl:v,name:c,form:l,value:f,hasConsumerStoppedPropagationRef:j,required:u,defaultChecked:!E(s)&&s,isFormControl:N,bubbleInput:y,setBubbleInput:k};return(0,r.jsx)(w,{scope:t,...C,children:"function"==typeof p?p(C):i})}var N="CheckboxTrigger",C=a.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...i},s)=>{let{control:o,value:l,disabled:c,checked:u,required:h,setControl:p,setChecked:m,hasConsumerStoppedPropagationRef:x,isFormControl:g,bubbleInput:v}=k(N,e),y=(0,d.useComposedRefs)(s,p),w=a.useRef(u);return a.useEffect(()=>{let e=o?.form;if(e){let t=()=>m(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[o,m]),(0,r.jsx)(b.Primitive.button,{type:"button",role:"checkbox","aria-checked":E(u)?"mixed":u,"aria-required":h,"data-state":F(u),"data-disabled":c?"":void 0,disabled:c,value:l,...i,ref:y,onKeyDown:(0,f.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,f.composeEventHandlers)(n,e=>{m(e=>!!E(e)||!e),v&&g&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})})});C.displayName=N;var S=a.forwardRef((e,t)=>{let{__scopeCheckbox:a,name:n,checked:i,defaultChecked:s,required:o,disabled:l,value:c,onCheckedChange:d,form:u,...f}=e;return(0,r.jsx)(j,{__scopeCheckbox:a,checked:i,defaultChecked:s,disabled:l,required:o,onCheckedChange:d,name:n,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(C,{...f,ref:t,__scopeCheckbox:a}),e&&(0,r.jsx)(A,{__scopeCheckbox:a})]})})});S.displayName=g;var R="CheckboxIndicator",D=a.forwardRef((e,t)=>{let{__scopeCheckbox:a,forceMount:n,...i}=e,s=k(R,a);return(0,r.jsx)(x.Presence,{present:n||E(s.checked)||!0===s.checked,children:(0,r.jsx)(b.Primitive.span,{"data-state":F(s.checked),"data-disabled":s.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});D.displayName=R;var M="CheckboxBubbleInput",A=a.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:i,hasConsumerStoppedPropagationRef:s,checked:o,defaultChecked:l,required:c,disabled:u,name:f,value:h,form:x,bubbleInput:g,setBubbleInput:v}=k(M,e),y=(0,d.useComposedRefs)(n,v),w=(0,p.usePrevious)(o),j=(0,m.useSize)(i);a.useEffect(()=>{if(!g)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!s.current;if(w!==o&&e){let r=new Event("click",{bubbles:t});g.indeterminate=E(o),e.call(g,!E(o)&&o),g.dispatchEvent(r)}},[g,w,o,s]);let N=a.useRef(!E(o)&&o);return(0,r.jsx)(b.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??N.current,required:c,disabled:u,name:f,value:h,form:x,...t,tabIndex:-1,ref:y,style:{...t.style,...j,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function E(e){return"indeterminate"===e}function F(e){return E(e)?"indeterminate":e?"checked":"unchecked"}A.displayName=M,e.s(["Checkbox",()=>S,"CheckboxIndicator",()=>D,"Indicator",()=>D,"Root",()=>S,"createCheckboxScope",()=>y,"unstable_BubbleInput",()=>A,"unstable_CheckboxBubbleInput",()=>A,"unstable_CheckboxProvider",()=>j,"unstable_CheckboxTrigger",()=>C,"unstable_Provider",()=>j,"unstable_Trigger",()=>C],257696);var $=e.i(257696),$=$,P=e.i(131777);function L({className:e,...t}){return(0,r.jsx)($.Root,{"data-slot":"checkbox",className:(0,P.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,r.jsx)($.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===t.checked?(0,r.jsx)(c.default,{className:"size-3.5"}):(0,r.jsx)(l.CheckIcon,{className:"size-3.5"})})})}e.s(["Checkbox",()=>L],474363);var T=e.i(141957);function I({open:e,onOpenChange:t,onConfirm:l,isDeleting:c,featureName:d,featureId:u,hasChildren:f,hasOpenPr:h}){let{t:p}=(0,s.useTranslation)("web"),[m,x]=(0,a.useState)(!0),[b,g]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!0);return(0,a.useEffect)(()=>{e&&(x(!0),g(!1),y(!0))},[e]),(0,a.useEffect)(()=>{m?y(!0):y(!1)},[m]),(0,r.jsx)(o.AlertDialog,{open:e,onOpenChange:t,children:(0,r.jsxs)(o.AlertDialogContent,{onCloseAutoFocus:e=>e.preventDefault(),children:[(0,r.jsxs)(o.AlertDialogHeader,{children:[(0,r.jsx)(o.AlertDialogTitle,{children:p("deleteFeature.title")}),(0,r.jsx)(o.AlertDialogDescription,{children:(0,r.jsx)(i.Trans,{t:p,i18nKey:"deleteFeature.description",values:{featureName:d,featureId:u},components:{strong:(0,r.jsx)("strong",{})}})})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(L,{id:"cleanup-checkbox",checked:m,onCheckedChange:e=>x(!0===e),disabled:c,"aria-label":p("deleteFeature.cleanupLabel")}),(0,r.jsx)(T.Label,{htmlFor:"cleanup-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.cleanupLabel")})]}),f?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(L,{id:"cascade-delete-checkbox",checked:b,onCheckedChange:e=>g(!0===e),disabled:c,"aria-label":p("deleteFeature.deleteSubFeatures")}),(0,r.jsx)(T.Label,{htmlFor:"cascade-delete-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.deleteSubFeatures")})]}):null,h?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(L,{id:"close-pr-checkbox",checked:v,onCheckedChange:e=>y(!0===e),disabled:c||!m,"aria-label":p("deleteFeature.closePullRequest")}),(0,r.jsx)(T.Label,{htmlFor:"close-pr-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.closePullRequest")})]}):null]}),(0,r.jsxs)(o.AlertDialogFooter,{children:[(0,r.jsx)(o.AlertDialogCancel,{disabled:c,onClick:()=>t(!1),children:p("deleteFeature.cancel")}),(0,r.jsx)(o.AlertDialogAction,{variant:"destructive",disabled:c,onClick:()=>l(m,b,!!h&&v),children:c?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),p("deleteFeature.deleting")]}):p("deleteFeature.delete")})]})]})})}e.s(["DeleteFeatureDialog",()=>I],765104)},387812,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40ef4a4df3bd27c0b96ddb72f3f13e5bafa024a912",t.callServer,void 0,t.findSourceMapURL,"resumeFeature");e.s(["resumeFeature",()=>r])},759338,525146,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("4063ea21afa87ec4e962daf2de20fa05318b794cb4",t.callServer,void 0,t.findSourceMapURL,"startFeature");e.s(["startFeature",()=>r],759338);let a=(0,t.createServerReference)("408062fa703c2448d3d5b1d10dc2ba51dd21151299",t.callServer,void 0,t.findSourceMapURL,"stopFeature");e.s(["stopFeature",()=>a],525146)},806288,e=>{"use strict";let t=(0,e.i(903645).default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["EyeOff",()=>t],806288)},440106,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(711719),n=e.i(935946),i=e.i(83428),s=e.i(542049),o=e.i(453360),l=e.i(941698),c=e.i(99105),d=e.i(723925),u=e.i(860253);e.i(541001);var f=e.i(64780),h=e.i(131777),p=e.i(508893);let m=(0,p.createServerReference)("40f595593fe64753a85724c13a37bc0c1727608b01",p.callServer,void 0,p.findSourceMapURL,"createProjectAndFeature"),x=(0,p.createServerReference)("403f35995a71f5bd40ca59261723021e33ac84d4e3",p.callServer,void 0,p.findSourceMapURL,"createApplication");var b=e.i(41413);e.i(650032);var g=e.i(486254);e.i(692233);var v=e.i(210025),y=e.i(102828),w=e.i(470646),k=e.i(731151);let j=["application","fast","spec"],N={application:{icon:s.LayoutGrid,label:"Application",placeholder:"Build a modern e-commerce storefront with product catalog...",suggestions:["A landing page with hero, features, and pricing sections","Full-stack SaaS app with auth, billing, and dashboard","Mobile-first social media app with real-time chat","Personal portfolio with blog and project showcase"]},fast:{icon:o.Zap,label:"Fast",placeholder:"Add a dark mode toggle to the settings page...",suggestions:["Add pagination to the users list endpoint","Fix the broken logout redirect","Add input validation to the signup form","Refactor the API error handling middleware"]},spec:{icon:l.ClipboardList,label:"Spec Driven",placeholder:"Implement a role-based access control system with audit logging...",suggestions:["OAuth2 authentication with SSO and MFA support","Event-driven notification system with email and push","REST API with versioning, rate limiting, and OpenAPI docs","Data pipeline with ETL, validation, and monitoring"]}};function C({onRepositorySelect:e,onApplicationCreated:s,onClose:o,className:l}){let{t:p}=(0,f.useTranslation)("web"),[C,S]=(0,r.useState)(""),[R,D]=(0,r.useState)(void 0),[M,A]=(0,r.useState)(void 0),[E,F]=(0,r.useState)("application"),[$,P]=(0,r.useState)(!1),[L,T]=(0,r.useState)(null),[I,_]=(0,r.useState)(!1),z=(0,r.useRef)(null),O=(0,k.useAttachments)(),q=!!e,H=q?E:"application",B=(0,r.useCallback)(()=>{F(e=>{let t=j.indexOf(e);return j[(t+1)%j.length]})},[]);(0,r.useEffect)(()=>{let t=t=>{"Escape"===t.key&&o&&o(),"Tab"===t.key&&t.shiftKey&&e&&(t.preventDefault(),B())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[o,B,e]);let U=(0,r.useCallback)(async()=>{if(C.trim()&&!$){P(!0),T(null);try{if("application"!==H&&e){let t=await m({description:C.trim(),attachments:O.completedAttachments.map(e=>({path:e.path,name:e.name,notes:e.notes})),agentType:R,model:M,fast:"fast"===H});if(t.error){T(t.error),P(!1);return}t.repositoryPath&&e?.(t.repositoryPath),t.feature&&t.repositoryPath&&window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.repositoryPath}}))}else{let e=await x({description:C.trim(),agentType:R,modelOverride:M,initialPrompt:C.trim()});if(e.error){T(e.error),P(!1);return}e.application&&s?.(e.application.id)}}catch{T("Something went wrong. Please try again."),P(!1)}}},[C,$,H,O.completedAttachments,R,M,e,s]),K=(0,r.useCallback)(e=>{"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),U())},[U]),V=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/dialog/pick-files");if(!e.ok)return;let t=await e.json();if(!t.paths?.length)return;for(let e of t.paths){let t=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,sessionId:"onboarding"})});if(!t.ok)continue;let r=await t.json();O.addAttachment(r)}}catch{}},[O.addAttachment]),Z=(0,r.useCallback)(e=>{S(e),z.current?.focus()},[]),X=N[H],G=X.icon;return(0,t.jsxs)("div",{"data-testid":"control-center-empty-state",className:(0,h.cn)("relative flex h-full w-full flex-col items-center justify-center overflow-hidden px-8",l),children:[(0,t.jsx)("div",{className:"onboard-bg pointer-events-none absolute inset-0 animate-[onboard-fade-in_1.2s_ease-out_both]"}),o?(0,t.jsx)("button",{type:"button",onClick:o,"aria-label":"Close",className:"text-muted-foreground hover:text-foreground hover:bg-accent/50 absolute top-4 right-4 z-10 cursor-pointer rounded p-1.5 transition-colors",children:(0,t.jsx)(u.X,{className:"h-5 w-5"})}):null,(0,t.jsxs)("div",{className:"relative flex w-full max-w-2xl flex-col items-center",children:[(0,t.jsx)("div",{className:"mb-6 animate-[onboard-logo_0.8s_cubic-bezier(0.16,1,0.3,1)_both]",style:{animationDelay:"0ms"},children:(0,t.jsx)(v.ShepLogo,{size:72,className:"text-foreground"})}),(0,t.jsx)("h1",{className:"text-foreground animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both] text-center text-5xl font-extralight tracking-tight",style:{animationDelay:"120ms"},children:"What do you want to build?"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-3 animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both] text-center text-lg leading-relaxed font-light",style:{animationDelay:"220ms"},children:"Describe your idea and Shep creates the project for you."}),(0,t.jsxs)("div",{className:"mt-10 w-full animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both]",style:{animationDelay:"350ms"},children:[(0,t.jsxs)("div",{onFocus:()=>_(!0),onBlur:()=>_(!1),onDragEnter:O.handleDragEnter,onDragLeave:O.handleDragLeave,onDragOver:O.handleDragOver,onDrop:O.handleDrop,className:(0,h.cn)("flex flex-col rounded-xl border transition-all duration-200","border-border/60 bg-background shadow-sm dark:border-white/10 dark:bg-white/[0.04]",I&&"ring-ring/50 border-ring shadow-md ring-[3px] dark:border-orange-500/40 dark:ring-orange-500/25",O.isDragOver&&"border-primary/50 bg-primary/5",$&&"opacity-70"),children:[(0,t.jsx)("textarea",{ref:z,rows:2,autoFocus:!0,value:C,onChange:e=>S(e.target.value),onKeyDown:K,onPaste:O.handlePaste,placeholder:X.placeholder,disabled:$,className:"text-foreground placeholder:text-muted-foreground/60 max-h-[10rem] min-h-[4.5rem] w-full resize-none border-0 bg-transparent px-4 py-3.5 text-sm leading-relaxed focus:outline-none disabled:cursor-not-allowed"}),O.attachments.length>0?(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2.5 overflow-x-auto overflow-y-visible px-5 pt-2 pb-2",children:O.attachments.map(e=>(0,t.jsx)(g.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>O.removeAttachment(e.id),loading:e.loading,notes:e.notes,onNotesChange:t=>O.updateNotes(e.id,t)},e.id))}):null,O.uploadError?(0,t.jsx)("p",{className:"text-destructive px-4 pb-2 text-xs",children:O.uploadError}):null,(0,t.jsxs)("div",{className:"border-border/60 flex shrink-0 items-center gap-3 border-t px-3 py-2 dark:border-white/10",children:[(0,t.jsx)(b.AgentModelPicker,{initialAgentType:R??"claude-code",initialModel:M??"claude-sonnet-4-6",mode:"override",showInstallStatus:!0,onAgentModelChange:(e,t)=>{D(e),A(t)},className:"w-55"}),(0,t.jsx)("div",{className:"flex-1"}),q?(0,t.jsxs)(w.DropdownMenu,{children:[(0,t.jsx)(w.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","data-testid":"build-mode-selector",className:"text-muted-foreground hover:text-foreground hover:bg-accent/50 flex cursor-pointer items-center gap-1.5 rounded-md px-2 py-1 text-xs transition-colors",children:[(0,t.jsxs)("span",{className:"flex animate-[onboard-fade-up_0.25s_ease-out_both] items-center gap-1.5",children:[(0,t.jsx)(G,{className:"h-3.5 w-3.5"}),X.label]},H),(0,t.jsx)(c.ChevronDown,{className:"h-3 w-3 opacity-50"})]})}),(0,t.jsx)(w.DropdownMenuContent,{align:"end",className:"min-w-[160px]",children:j.map(e=>{let r=N[e],a=r.icon,n=H===e;return(0,t.jsxs)(w.DropdownMenuItem,{onClick:()=>F(e),"data-testid":`build-mode-${e}`,className:"flex items-center gap-2",children:[(0,t.jsx)(a,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"flex-1",children:r.label}),n?(0,t.jsx)(d.Check,{className:"text-foreground h-3.5 w-3.5"}):null]},e)})})]}):null,(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:V,disabled:$,"aria-label":p("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors disabled:opacity-50",children:(0,t.jsx)(n.Paperclip,{className:"h-4 w-4"})})}),(0,t.jsx)(y.TooltipContent,{side:"top",children:p("chat.attachFiles")})]}),(0,t.jsx)("button",{type:"button",onClick:U,disabled:!C.trim()||$,className:(0,h.cn)("bg-foreground text-background inline-flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-lg","hover:bg-foreground/90 disabled:pointer-events-none disabled:opacity-30","transition-all duration-150"),children:$?(0,t.jsx)(i.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(a.SendHorizontal,{className:"h-3.5 w-3.5"})})]})]}),L?(0,t.jsx)("p",{className:"text-destructive mt-2 text-center text-sm",children:L}):null]}),(0,t.jsx)("div",{className:"mt-6 flex animate-[onboard-fade-up_0.4s_ease-out_both] flex-wrap justify-center gap-2",children:X.suggestions.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>Z(e),disabled:$,className:"text-muted-foreground hover:text-foreground border-border/60 hover:border-border hover:bg-accent/50 cursor-pointer rounded-full border px-3.5 py-1.5 text-xs transition-all duration-150 disabled:opacity-50 dark:border-white/10 dark:hover:border-white/20 dark:hover:bg-white/[0.06]",children:e},e))},H)]})]})}e.s(["ControlCenterEmptyState",()=>C],440106)},998798,e=>{"use strict";let t=(0,e.i(903645).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],998798)},13322,961201,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(276016);let n=(0,e.i(903645).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var i=e.i(619933),s=e.i(83428),o=e.i(998798),l=e.i(360112),c=e.i(602287),d=e.i(735364),u=e.i(835340);async function f(e){let t=new URLSearchParams;e&&t.set("path",e);let r=await fetch(`/api/directory/list?${t.toString()}`);if(!r.ok)throw Error((await r.json().catch(()=>({error:"Failed to load directory"}))).error??"Failed to load directory");return r.json()}function h({currentPath:e,isEditing:n,onToggleEdit:i,onNavigate:s}){let l=(0,r.useRef)(null),[c,d]=(0,r.useState)(e);function u(){d(e),i()}(0,r.useEffect)(()=>{d(e)},[e]),(0,r.useEffect)(()=>{n&&l.current&&(l.current.focus(),l.current.select())},[n]);let f=function(e){if(!e)return[];let t=/^[a-zA-Z]:/.test(e),r=t?"\\":"/",a=e.split(/[\\/]/).filter(Boolean),n=[];for(let e=0;e<a.length;e++){let i=t?a.slice(0,e+1).join(r):r+a.slice(0,e+1).join(r);n.push({label:a[e],path:i})}return n}(e),h=f.length>3,p=h?f.slice(-3):f;return(0,t.jsxs)("div",{className:"border-b px-4 py-3",children:[(0,t.jsx)("h2",{className:"text-foreground mb-2.5 text-sm font-semibold tracking-[-0.01em]",children:"Select Folder"}),n?(0,t.jsx)("input",{ref:l,type:"text",value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{if("Enter"===e.key){let t;e.preventDefault(),(t=c.trim())&&s(t)}"Escape"===e.key&&(e.preventDefault(),u())},onBlur:u,className:"bg-muted/60 border-border focus:ring-ring/20 focus:border-ring w-full rounded-lg border px-3 py-2 font-mono text-xs transition-all outline-none focus:ring-2",placeholder:"Type a path and press Enter...",spellCheck:!1,autoComplete:"off"}):(0,t.jsxs)("div",{className:"bg-muted/40 flex items-center gap-1 rounded-lg px-2.5 py-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>s("/"),className:"text-muted-foreground hover:text-foreground hover:bg-background shrink-0 rounded px-1.5 py-0.5 font-mono text-xs transition-colors",children:"/"}),h?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.ChevronRight,{className:"text-muted-foreground/30 h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"text-muted-foreground/40 font-mono text-xs",children:"..."})]}):null,p.map((e,r)=>{let n=r===p.length-1;return(0,t.jsxs)("span",{className:"flex shrink-0 items-center gap-1",children:[(0,t.jsx)(a.ChevronRight,{className:"text-muted-foreground/30 h-3 w-3"}),n?(0,t.jsx)("span",{className:"bg-primary/10 text-primary rounded px-2 py-0.5 font-mono text-xs font-medium",children:e.label}):(0,t.jsx)("button",{type:"button",onClick:()=>s(e.path),className:"text-muted-foreground hover:text-foreground hover:bg-background rounded px-1.5 py-0.5 font-mono text-xs transition-colors",children:e.label})]},e.path)}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)("button",{type:"button",onClick:i,className:"text-muted-foreground/40 hover:text-foreground hover:bg-background shrink-0 rounded p-1 transition-colors","aria-label":"Edit path",children:(0,t.jsx)(o.Pencil,{className:"h-3 w-3"})})]})]})}function p({open:e,onOpenChange:o,onSelect:p,initialPath:m}){let[x,b]=(0,r.useState)([]),[g,v]=(0,r.useState)(""),[y,w]=(0,r.useState)(!1),[k,j]=(0,r.useState)(!1),N=(0,r.useRef)(!1),[C,S]=(0,r.useState)(0),R=(0,r.useCallback)(async e=>{w(!0),j(!1);try{let t=await f(e);b(t.entries),v(t.currentPath),S(e=>e+1)}catch(t){let e=t instanceof Error?t.message:"Failed to load directory";l.toast.error(e)}finally{w(!1)}},[]);function D(e){R(e)}function M(){p(null),o(!1)}return(0,r.useEffect)(()=>{e&&!N.current&&(N.current=!0,R(m)),e||(N.current=!1,j(!1))},[e,m,R]),(0,t.jsx)(c.Dialog,{open:e,onOpenChange:e=>{e||M()},children:(0,t.jsxs)(c.DialogContent,{className:"flex h-[min(520px,85dvh)] w-full max-w-[460px] flex-col gap-0 overflow-hidden p-0",onCloseAutoFocus:e=>e.preventDefault(),children:[(0,t.jsx)(c.DialogTitle,{className:"sr-only",children:"Select Folder"}),(0,t.jsx)(c.DialogDescription,{className:"sr-only",children:"Navigate to a folder and select it"}),(0,t.jsx)(h,{currentPath:g,isEditing:k,onToggleEdit:()=>j(e=>!e),onNavigate:D}),(0,t.jsx)(u.ScrollArea,{className:"min-h-0 flex-1",children:y&&0===x.length?(0,t.jsx)("div",{className:"space-y-0.5 p-2",children:Array.from({length:8}).map((e,r)=>(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-lg px-3 py-2.5",style:{opacity:1-.1*r},children:[(0,t.jsx)("div",{className:"bg-muted h-4 w-4 animate-pulse rounded"}),(0,t.jsx)("div",{className:"bg-muted h-3.5 animate-pulse rounded",style:{width:`${40+35*Math.random()}%`}})]},`skeleton-${r}`))}):0===x.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,t.jsx)(i.FolderOpen,{className:"text-muted-foreground/25 mb-3 h-10 w-10"}),(0,t.jsx)("p",{className:"text-muted-foreground/60 text-sm",children:"Empty folder"})]}):(0,t.jsx)("div",{className:"p-2",children:x.map((e,r)=>(0,t.jsxs)("button",{type:"button",onClick:()=>D(e.path),className:"folder-row group flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-all hover:bg-[var(--color-primary)]/[0.06] active:scale-[0.997]",style:{animationDelay:`${20*r}ms`},children:[(0,t.jsx)(n,{className:"text-muted-foreground/50 group-hover:text-primary h-[18px] w-[18px] shrink-0 transition-colors"}),(0,t.jsx)("span",{className:"text-foreground min-w-0 flex-1 truncate text-[13px] font-medium",children:e.name}),(0,t.jsx)(a.ChevronRight,{className:"text-muted-foreground/0 group-hover:text-muted-foreground/40 h-3.5 w-3.5 shrink-0 transition-all"})]},e.path))},C)}),(0,t.jsxs)("div",{className:"flex items-center gap-2 border-t px-4 py-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground min-w-0 flex-1 truncate font-mono text-[11px] leading-none",children:g||" "}),(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",onClick:M,className:"text-muted-foreground h-8 shrink-0 px-3 text-xs",children:"Cancel"}),(0,t.jsxs)(d.Button,{size:"sm",onClick:function(){g&&(p(g),o(!1))},disabled:!g||y,className:"h-8 shrink-0 px-5 text-xs font-medium",children:[y?(0,t.jsx)(s.Loader2,{className:"mr-1.5 h-3 w-3 animate-spin"}):null,"Select"]})]})]})})}e.s(["ReactFileManagerDialog",()=>p],961201),e.s([],13322)},591925,e=>{"use strict";let t=(0,e.i(903645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],591925)},790427,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40cc81584374c75e940be2f287524cce4305096ef6",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>r])},454793,207729,e=>{"use strict";var t=e.i(679606),r=e.i(131777);function a({icon:e,title:a,description:n,action:i,className:s,...o}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",s),...o,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a}),n?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:n}):null,i?(0,t.jsx)("div",{className:"mt-2",children:i}):null]})}e.s(["EmptyState",()=>a],207729),e.s([],454793)},713005,371127,744263,327810,e=>{"use strict";let t=(0,e.i(903645).default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);e.s(["SlidersHorizontal",()=>t],713005);var r=e.i(679606),a=e.i(152155),n=e.i(3214),i=e.i(83428),s=e.i(860253);e.i(541001);var o=e.i(64780),l=e.i(131777),c=e.i(735364);function d({actions:e,className:t,style:d}){let{t:u}=(0,o.useTranslation)("web"),[f,h]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{if(f)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e);function e(e){"Escape"===e.key&&h(!1)}},[f]),(0,r.jsxs)(r.Fragment,{children:[f?(0,r.jsx)("div",{"data-testid":"fab-overlay",className:"fixed inset-0 z-40",onClick:()=>h(!1),"aria-hidden":"true"}):null,(0,r.jsxs)("div",{"data-testid":"floating-action-button",className:(0,l.cn)("relative z-50",t),style:d,children:[(0,r.jsx)("div",{className:(0,l.cn)("absolute start-0 bottom-[calc(100%+24px)] flex flex-col items-start gap-2",!f&&"pointer-events-none"),"data-testid":"fab-actions",children:e.map((t,a)=>{let n=(e.length-1-a)*50;return(0,r.jsxs)("button",{"data-testid":`fab-action-${t.id}`,"aria-label":t.label,disabled:t.disabled??t.loading,className:(0,l.cn)("flex h-10 items-center gap-2.5 rounded-full px-4","bg-background text-foreground shadow-md","border-border border","hover:bg-accent hover:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50","text-sm font-medium whitespace-nowrap",f?"translate-y-0 opacity-100":"pointer-events-none translate-y-0 opacity-0"),style:{transition:`opacity ${f?250:120}ms ease-out ${f?n:0}ms, transform ${f?250:120}ms ease-out ${f?n:0}ms`},onClick:()=>{t.onClick(),h(!1)},children:[(0,r.jsx)("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:t.loading?(0,r.jsx)(i.Loader2,{className:"h-4 w-4 animate-spin"}):t.icon}),(0,r.jsx)("span",{children:t.label})]},t.id)})}),(0,r.jsxs)(c.Button,{size:"icon","data-testid":"fab-trigger","aria-label":u(f?"fab.closeActions":"fab.createNew"),className:(0,l.cn)("relative h-14 w-14 rounded-full shadow-lg","bg-indigo-500 text-white hover:bg-indigo-400 dark:bg-indigo-500 dark:hover:bg-indigo-400","transition-all duration-200 hover:scale-105 hover:shadow-xl active:scale-95"),onClick:()=>h(e=>!e),children:[(0,r.jsx)(n.Plus,{className:(0,l.cn)("absolute h-7 w-7 stroke-[2.5] transition-all",f?"scale-0 rotate-90 opacity-0":"scale-100 rotate-0 opacity-100"),style:{transitionDuration:"250ms"}}),(0,r.jsx)(s.X,{className:(0,l.cn)("absolute h-6 w-6 stroke-[2.5] transition-all",f?"scale-100 rotate-0 opacity-100":"scale-0 -rotate-90 opacity-0"),style:{transitionDuration:"250ms"}})]})]})]})}e.s(["FloatingActionButton",()=>d],371127),e.s([],744263);var u=e.i(602287),f=e.i(698127),h=e.i(508893);let p=(0,h.createServerReference)("4037afd36a0e4d96004d619099ae3c4ed0437cb245",h.callServer,void 0,h.findSourceMapURL,"createProjectFolder");function m({open:e,onOpenChange:t,onCreated:n}){let[s,o]=(0,a.useState)(""),[l,d]=(0,a.useState)(!1),[h,m]=(0,a.useState)(null);(0,a.useEffect)(()=>{e&&(o(""),d(!1),m(null))},[e]);let x=async e=>{e.preventDefault();let r=s.trim();if(!r||l)return;d(!0),m(null);let a=await p(r);if(!a.ok||!a.path){m(a.error??"Failed to create project."),d(!1);return}n(a.path),t(!1)};return(0,r.jsx)(u.Dialog,{open:e,onOpenChange:t,children:(0,r.jsx)(u.DialogContent,{className:"max-w-sm",children:(0,r.jsxs)("form",{onSubmit:x,children:[(0,r.jsxs)(u.DialogHeader,{children:[(0,r.jsx)(u.DialogTitle,{children:"New project"}),(0,r.jsx)(u.DialogDescription,{children:"Create an empty project folder inside your Shep home directory. Git will be initialised automatically when the project is added."})]}),(0,r.jsxs)("div",{className:"py-4",children:[(0,r.jsx)(f.Input,{autoFocus:!0,value:s,onChange:e=>{o(e.target.value),h&&m(null)},placeholder:"my-prototype",disabled:l,"data-testid":"new-project-name-input"}),h?(0,r.jsx)("p",{className:"text-destructive mt-2 text-xs",role:"alert",children:h}):null]}),(0,r.jsxs)(u.DialogFooter,{children:[(0,r.jsx)(c.Button,{type:"button",variant:"ghost",onClick:()=>t(!1),disabled:l,children:"Cancel"}),(0,r.jsx)(c.Button,{type:"submit",disabled:!s.trim()||l,children:l?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Creating…"]}):"Create project"})]})]})})})}e.s(["NewProjectDialog",()=>m],327810)},553124,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40fa8b8abaeee37ffabb840060521e189cf9ba2d0c",t.callServer,void 0,t.findSourceMapURL,"archiveFeature");e.s(["archiveFeature",()=>r])},541568,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("785bad8c4de5480280884c0069132eab9b32df6064",t.callServer,void 0,t.findSourceMapURL,"deleteFeature");e.s(["deleteFeature",()=>r])},256579,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40b8dc2eb040ff49e5ee86c1e81b4a821a06d6ffb6",t.callServer,void 0,t.findSourceMapURL,"unarchiveFeature");e.s(["unarchiveFeature",()=>r])}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,283843,e=>{"use strict";let a=(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",()=>a],283843)},187752,e=>{"use strict";var a=e.i(679606),t=e.i(152155),s=e.i(66459),r=e.i(131777);let o=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));o.displayName="Command";let n=t.forwardRef(({className:e,...t},o)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(s.Search,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:o,className:(0,r.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));n.displayName="CommandInput";let l=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));l.displayName="CommandList";let c=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));c.displayName="CommandEmpty";let i=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("text-foreground overflow-hidden p-1",e),...t}));i.displayName="CommandGroup";let d=t.forwardRef(({className:e,selected:t,...s},o)=>(0,a.jsx)("button",{ref:o,type:"button","data-selected":t,className:(0,r.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));d.displayName="CommandItem";let m=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("bg-border -mx-1 h-px",e),...t}));m.displayName="CommandSeparator",e.s(["Command",()=>o,"CommandEmpty",()=>c,"CommandGroup",()=>i,"CommandInput",()=>n,"CommandItem",()=>d,"CommandList",()=>l,"CommandSeparator",()=>m])},936479,e=>{"use strict";var a=e.i(679606),t=e.i(152155),s=e.i(711434),r=e.i(360112),o=e.i(508893);let n=(0,o.createServerReference)("407d8dfa42fe4b2522ea38cf388c3c55de66e753e4",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("401c5404ce259e5be67b6bd1655eda405866b5a910",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(723925),i=e.i(197667),d=e.i(283843),m=e.i(949228),p=e.i(83428);e.i(1650);var u=e.i(511495),h=e.i(845811),x=e.i(735364),f=e.i(698127),b=e.i(141957),v=e.i(187752),g=e.i(390382),j=e.i(131777);function C({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:C,onRepositoryChange:w,branches:y=[],branchesLoading:N=!1}){let[S,k]=(0,t.useState)(""),[R,L]=(0,t.useState)(!1),[E,B]=(0,t.useState)(""),P=(0,t.useRef)(null),[D,I]=(0,t.useState)(!1),[T,U]=(0,t.useState)(""),A=(0,t.useRef)(null),G=l.find(e=>e.path===C),O=!!C;(0,t.useEffect)(()=>{e||(k(""),B(""),L(!1),I(!1),U(""))},[e]),(0,t.useEffect)(()=>{k(""),B("")},[C]);let F=(0,t.useCallback)(e=>{e.preventDefault();let a=S.trim();a&&C&&!o&&r(a,C)},[S,C,o,r]),K=(0,t.useCallback)(()=>{k(""),B(""),s()},[s]),M=(0,t.useCallback)(e=>{k(e),B(e),L(!1)},[]),$=(0,t.useCallback)(e=>{B(e.target.value),R||L(!0)},[R]),z=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=E.trim();a&&(k(a),L(!1))}"Escape"===e.key&&(L(!1),B(S))},[E,S]),W=(0,t.useCallback)(e=>{w?.(e),I(!1),U("")},[w]),q=y.filter(e=>e.toLowerCase().includes(E.toLowerCase())),H=T.trim()?l.filter(e=>e.name.toLowerCase().includes(T.toLowerCase())||e.path.toLowerCase().includes(T.toLowerCase())):l;(0,t.useEffect)(()=>{D?setTimeout(()=>A.current?.focus(),0):U("")},[D]);let J=!S.trim()||!C||o,Q=(0,a.jsxs)("div",{children:[(0,a.jsxs)(h.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(m.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(h.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:K,size:"sm",modal:!1,header:Q,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:F,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(g.Popover,{open:D,onOpenChange:I,children:[(0,a.jsx)(g.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":D,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,j.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",!G&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:G?G.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(g.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(f.Input,{ref:A,placeholder:"Search repositories...",value:T,onChange:e=>U(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===H.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):H.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":C===e.path,onClick:()=>W(e.path),className:(0,j.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",C===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(i.CheckIcon,{className:(0,j.cn)("h-4 w-4 shrink-0",C!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(g.Popover,{open:R,onOpenChange:L,children:[(0,a.jsx)(g.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":R,disabled:o||!O,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:O?N?"Loading branches...":S||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(g.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(v.Command,{children:[(0,a.jsx)(v.CommandInput,{ref:P,placeholder:"Search branches...",value:E,onChange:$,onKeyDown:z,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(v.CommandList,{children:[!N&&0===q.length&&(0,a.jsx)(v.CommandEmpty,{children:0===y.length?"No branches found.":E?"No match — press Enter to use this value.":"No branches available."}),N?(0,a.jsx)(v.CommandEmpty,{children:(0,a.jsx)(p.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,q.length>0&&(0,a.jsx)(v.CommandGroup,{children:q.map(e=>(0,a.jsxs)(v.CommandItem,{selected:e===S,onClick:()=>M(e),children:[(0,a.jsx)(c.Check,{className:(0,j.cn)("me-2 h-4 w-4",e===S?"opacity-100":"opacity-0")}),(0,a.jsx)(m.GitBranch,{className:"me-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:O?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(x.Button,{type:"button",variant:"outline",onClick:K,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:J,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function w({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(0,s.usePathname)(),[d,m]=(0,t.useState)(!1),[p,u]=(0,t.useState)(),[h,x]=(0,t.useState)([]),[f,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=i.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&m(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),x([]),l(v).then(x).catch(()=>x([])).finally(()=>b(!1))):x([])},[j,v]);let y=(0,t.useCallback)(()=>{c.push("/control-center")},[c]),N=(0,t.useCallback)(e=>{g(e)},[]),S=(0,t.useCallback)((e,a)=>{u(void 0),m(!0),c.push("/control-center"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),m(!1)})},[c]);return(0,a.jsx)(C,{open:w,onClose:y,onSubmit:S,isSubmitting:d,error:p,repositories:o,selectedRepositoryPath:v,onRepositoryChange:N,branches:h,branchesLoading:f})}e.s(["AdoptDrawerClient",()=>w],936479)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,283843,e=>{"use strict";let a=(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",()=>a],283843)},187752,e=>{"use strict";var a=e.i(679606),t=e.i(152155),s=e.i(66459),r=e.i(131777);let o=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));o.displayName="Command";let n=t.forwardRef(({className:e,...t},o)=>(0,a.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,a.jsx)(s.Search,{className:"me-2 h-4 w-4 shrink-0 opacity-50"}),(0,a.jsx)("input",{ref:o,className:(0,r.cn)("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));n.displayName="CommandInput";let l=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));l.displayName="CommandList";let c=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("text-muted-foreground py-6 text-center text-sm",e),...t}));c.displayName="CommandEmpty";let i=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("text-foreground overflow-hidden p-1",e),...t}));i.displayName="CommandGroup";let d=t.forwardRef(({className:e,selected:t,...s},o)=>(0,a.jsx)("button",{ref:o,type:"button","data-selected":t,className:(0,r.cn)("relative flex w-full cursor-default items-center rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none","hover:bg-accent hover:text-accent-foreground","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50",e),...s}));d.displayName="CommandItem";let m=t.forwardRef(({className:e,...t},s)=>(0,a.jsx)("div",{ref:s,className:(0,r.cn)("bg-border -mx-1 h-px",e),...t}));m.displayName="CommandSeparator",e.s(["Command",()=>o,"CommandEmpty",()=>c,"CommandGroup",()=>i,"CommandInput",()=>n,"CommandItem",()=>d,"CommandList",()=>l,"CommandSeparator",()=>m])},936479,e=>{"use strict";var a=e.i(679606),t=e.i(152155),s=e.i(711434),r=e.i(360112),o=e.i(508893);let n=(0,o.createServerReference)("40bc8a9c30322e37dc7cb97e259dae506df3dd9179",o.callServer,void 0,o.findSourceMapURL,"adoptBranch"),l=(0,o.createServerReference)("4039f0e5aba175bd8d528f9e2933c74e481e5a593d",o.callServer,void 0,o.findSourceMapURL,"listBranches");var c=e.i(723925),i=e.i(197667),d=e.i(283843),m=e.i(949228),p=e.i(83428);e.i(1650);var u=e.i(511495),h=e.i(845811),x=e.i(735364),f=e.i(698127),b=e.i(141957),v=e.i(187752),g=e.i(390382),j=e.i(131777);function C({open:e,onClose:s,onSubmit:r,isSubmitting:o=!1,error:n,repositories:l=[],selectedRepositoryPath:C,onRepositoryChange:w,branches:y=[],branchesLoading:N=!1}){let[S,k]=(0,t.useState)(""),[R,L]=(0,t.useState)(!1),[E,B]=(0,t.useState)(""),P=(0,t.useRef)(null),[D,I]=(0,t.useState)(!1),[T,U]=(0,t.useState)(""),A=(0,t.useRef)(null),G=l.find(e=>e.path===C),O=!!C;(0,t.useEffect)(()=>{e||(k(""),B(""),L(!1),I(!1),U(""))},[e]),(0,t.useEffect)(()=>{k(""),B("")},[C]);let F=(0,t.useCallback)(e=>{e.preventDefault();let a=S.trim();a&&C&&!o&&r(a,C)},[S,C,o,r]),K=(0,t.useCallback)(()=>{k(""),B(""),s()},[s]),M=(0,t.useCallback)(e=>{k(e),B(e),L(!1)},[]),$=(0,t.useCallback)(e=>{B(e.target.value),R||L(!0)},[R]),z=(0,t.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let a=E.trim();a&&(k(a),L(!1))}"Escape"===e.key&&(L(!1),B(S))},[E,S]),W=(0,t.useCallback)(e=>{w?.(e),I(!1),U("")},[w]),q=y.filter(e=>e.toLowerCase().includes(E.toLowerCase())),H=T.trim()?l.filter(e=>e.name.toLowerCase().includes(T.toLowerCase())||e.path.toLowerCase().includes(T.toLowerCase())):l;(0,t.useEffect)(()=>{D?setTimeout(()=>A.current?.focus(),0):U("")},[D]);let J=!S.trim()||!C||o,Q=(0,a.jsxs)("div",{children:[(0,a.jsxs)(h.DrawerTitle,{className:"flex items-center gap-2",children:[(0,a.jsx)(m.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,a.jsx)(h.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,a.jsx)(u.BaseDrawer,{open:e,onClose:K,size:"sm",modal:!1,header:Q,"data-testid":"adopt-branch-drawer",children:(0,a.jsxs)("form",{onSubmit:F,className:"flex flex-1 flex-col",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{children:"Repository"}),(0,a.jsxs)(g.Popover,{open:D,onOpenChange:I,children:[(0,a.jsx)(g.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",role:"combobox","aria-expanded":D,"aria-label":"Repository",disabled:o,"data-testid":"adopt-repo-combobox",className:(0,j.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",!G&&"text-muted-foreground"),children:[(0,a.jsx)("span",{className:"truncate",children:G?G.name:"Select repository..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(g.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"adopt-repo-combobox-content",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("div",{className:"border-b p-2",children:(0,a.jsx)(f.Input,{ref:A,placeholder:"Search repositories...",value:T,onChange:e=>U(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"adopt-repo-search"})}),(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===H.length?(0,a.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No repositories found."}):H.map(e=>(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":C===e.path,onClick:()=>W(e.path),className:(0,j.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",C===e.path&&"bg-accent/50"),"data-testid":`adopt-repo-option-${e.id}`,children:[(0,a.jsx)(i.CheckIcon,{className:(0,j.cn)("h-4 w-4 shrink-0",C!==e.path&&"invisible")}),(0,a.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),(0,a.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:"Select the repository that contains the branch you want to adopt."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(b.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,a.jsxs)(g.Popover,{open:R,onOpenChange:L,children:[(0,a.jsx)(g.PopoverTrigger,{asChild:!0,children:(0,a.jsxs)(x.Button,{variant:"outline",role:"combobox","aria-expanded":R,disabled:o||!O,className:"w-full justify-between font-normal","data-testid":"adopt-branch-input",children:[(0,a.jsx)("span",{className:"truncate",children:O?N?"Loading branches...":S||"Select a branch...":"Select a repository first..."}),(0,a.jsx)(d.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(g.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(v.Command,{children:[(0,a.jsx)(v.CommandInput,{ref:P,placeholder:"Search branches...",value:E,onChange:$,onKeyDown:z,"data-testid":"adopt-branch-search"}),(0,a.jsxs)(v.CommandList,{children:[!N&&0===q.length&&(0,a.jsx)(v.CommandEmpty,{children:0===y.length?"No branches found.":E?"No match — press Enter to use this value.":"No branches available."}),N?(0,a.jsx)(v.CommandEmpty,{children:(0,a.jsx)(p.Loader2,{className:"mx-auto h-4 w-4 animate-spin"})}):null,q.length>0&&(0,a.jsx)(v.CommandGroup,{children:q.map(e=>(0,a.jsxs)(v.CommandItem,{selected:e===S,onClick:()=>M(e),children:[(0,a.jsx)(c.Check,{className:(0,j.cn)("me-2 h-4 w-4",e===S?"opacity-100":"opacity-0")}),(0,a.jsx)(m.GitBranch,{className:"me-2 h-3 w-3 opacity-50"}),e]},e))})]})]})})]}),(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:O?"Select a branch from the dropdown or type to search. Local and remote branches are shown.":"Please select a repository above to see available branches."})]}),n?(0,a.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:n}):null]})}),(0,a.jsx)("div",{className:"border-t p-4",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(x.Button,{type:"button",variant:"outline",onClick:K,disabled:o,className:"flex-1",children:"Cancel"}),(0,a.jsx)(x.Button,{type:"submit",disabled:J,className:"flex-1","data-testid":"adopt-branch-submit",children:o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function w({repositoryPath:e,repositories:o}){let c=(0,s.useRouter)(),i=(0,s.usePathname)(),[d,m]=(0,t.useState)(!1),[p,u]=(0,t.useState)(),[h,x]=(0,t.useState)([]),[f,b]=(0,t.useState)(!1),[v,g]=(0,t.useState)(e),j=i.startsWith("/adopt"),w=!d&&j;(0,t.useEffect)(()=>{!j&&d&&m(!1)},[j,d]),(0,t.useEffect)(()=>{j&&(u(void 0),g(e))},[j,e]),(0,t.useEffect)(()=>{j&&v?(b(!0),x([]),l(v).then(x).catch(()=>x([])).finally(()=>b(!1))):x([])},[j,v]);let y=(0,t.useCallback)(()=>{c.push("/control-center")},[c]),N=(0,t.useCallback)(e=>{g(e)},[]),S=(0,t.useCallback)((e,a)=>{u(void 0),m(!0),c.push("/control-center"),n({branchName:e,repositoryPath:a}).then(e=>{e.error?r.toast.error(e.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:e.feature.id,name:e.feature.name,description:e.feature.description,repositoryPath:e.feature.repositoryPath}})),r.toast.success(`Branch adopted as "${e.feature.name}"`))}).catch(()=>{r.toast.error("Failed to adopt branch"),m(!1)})},[c]);return(0,a.jsx)(C,{open:w,onClose:y,onSubmit:S,isSubmitting:d,error:p,repositories:o,selectedRepositoryPath:v,onRepositoryChange:N,branches:h,branchesLoading:f})}e.s(["AdoptDrawerClient",()=>w],936479)}]);
|