@shepai/cli 1.201.0-pr600.2bbad7b → 1.202.0-pr601.3b893d1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +37 -37
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +35 -35
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +38 -38
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +47 -47
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +35 -35
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +35 -35
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +38 -38
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +47 -47
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
- 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 +4 -4
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
- 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 +4 -4
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agent-questions/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/agent-questions/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/agent-questions/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agents/[agentType]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/agents/[agentType]/page/server-reference-manifest.json +13 -13
- package/web/.next/server/app/agents/[agentType]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agents/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/agents/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +18 -18
- 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/application/[id]/supervisor/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/application/[id]/supervisor/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/application/[id]/supervisor/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/applications/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/applications/page/server-reference-manifest.json +19 -19
- 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 +4 -4
- package/web/.next/server/app/features/page/server-reference-manifest.json +31 -31
- 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/onboarding/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/onboarding/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/page/server-reference-manifest.json +9 -9
- 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 +4 -4
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +16 -16
- 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 +4 -4
- package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +28 -28
- 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 +4 -4
- package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +12 -12
- 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 +4 -4
- package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +18 -18
- 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 +4 -4
- package/web/.next/server/app/projects/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/settings/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/skills/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/supervisor/feature/[featureId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/supervisor/feature/[featureId]/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/supervisor/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/supervisor/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/supervisor/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/supervisor/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/supervisor/repo/[repositoryId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/supervisor/repo/[repositoryId]/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/supervisor/repo/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/tools/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/version/page/server-reference-manifest.json +9 -9
- 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_agent-questions_page_actions_4b694f8d.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.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]__0b652a2f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__648730d4._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__796984c7._.js → [root-of-the-server]__acaaed62._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__796984c7._.js.map → [root-of-the-server]__acaaed62._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b0d7cca3._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b0d7cca3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0741ee1._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ea26ff90._.js +3 -3
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__abab3b61._.js → [root-of-the-server]__f83cecd5._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__abab3b61._.js.map → [root-of-the-server]__f83cecd5._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ff0095e3._.js +1 -1
- package/web/.next/server/chunks/ssr/_07036593._.js +1 -1
- package/web/.next/server/chunks/ssr/_07036593._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_7c360295._.js → _0a666f6f._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_7c360295._.js.map → _0a666f6f._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_0d2a7595._.js +1 -1
- package/web/.next/server/chunks/ssr/_0d2a7595._.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/_24fca3cf._.js +1 -1
- package/web/.next/server/chunks/ssr/_24fca3cf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_2bc48f3d._.js +1 -1
- package/web/.next/server/chunks/ssr/_2bc48f3d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_32f66845._.js +1 -1
- package/web/.next/server/chunks/ssr/_408848e6._.js +1 -1
- package/web/.next/server/chunks/ssr/_408848e6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_40e02782._.js +1 -1
- package/web/.next/server/chunks/ssr/_40e02782._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_486d45d6._.js +1 -1
- package/web/.next/server/chunks/ssr/_486d45d6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_7b8add77._.js → _4c81bcc4._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_7b8add77._.js.map → _4c81bcc4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_92c3fc3d._.js → _4cec17d6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_92c3fc3d._.js.map → _4cec17d6._.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/{_1d23a6ad._.js → _5916a65c._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_1d23a6ad._.js.map → _5916a65c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_5cbb0e22._.js +1 -1
- package/web/.next/server/chunks/ssr/_5cbb0e22._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_4a25fd2a._.js → _69d28743._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_4a25fd2a._.js.map → _69d28743._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_c37ef8be._.js → _74ee33b9._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c37ef8be._.js.map → _74ee33b9._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_7ba67729._.js +1 -1
- package/web/.next/server/chunks/ssr/_7ba67729._.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/_87cf18c3._.js +1 -1
- package/web/.next/server/chunks/ssr/_87cf18c3._.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/{_c77a0a62._.js → _904d6c22._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c77a0a62._.js.map → _904d6c22._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_95b97274._.js +1 -1
- package/web/.next/server/chunks/ssr/_95b97274._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3f6a8669._.js → _a85af8c2._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3f6a8669._.js.map → _a85af8c2._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_c2e196ee._.js +1 -1
- package/web/.next/server/chunks/ssr/_c2e196ee._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ca3b7bf7._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca3b7bf7._.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/_d573dcc2._.js +1 -1
- package/web/.next/server/chunks/ssr/_e2671e14._.js +1 -1
- package/web/.next/server/chunks/ssr/_e2671e14._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ecd45b17._.js +1 -1
- package/web/.next/server/chunks/ssr/_ecd45b17._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3a9f8b6f._.js → _f0bdafe2._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3a9f8b6f._.js.map → _f0bdafe2._.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_0e291f0b._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_011b1b2b._.js → src_presentation_web_6f8efc48._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_011b1b2b._.js.map → src_presentation_web_6f8efc48._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.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__next-internal_server_app__not-found_page_actions_f4f3fad9.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_246617fe._.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_b1b3c26c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_4992017e._.js → src_presentation_web_cc905835._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_4992017e._.js.map → src_presentation_web_cc905835._.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_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.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_d3858f16._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.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 +110 -110
- package/web/.next/static/chunks/{a8d8f9c61ec519d7.js → 06a3ce6f0a63bb38.js} +1 -1
- package/web/.next/static/chunks/{a7920ec2696dea6b.js → 0872ff9e21208474.js} +1 -1
- package/web/.next/static/chunks/{8505947d14732a53.js → 18d0b0f66c3a5030.js} +1 -1
- package/web/.next/static/chunks/{21ae217482df277e.js → 1935b7e366ff3eb6.js} +1 -1
- package/web/.next/static/chunks/{bc7ff90acabf822e.js → 19aa3cc6df5f5833.js} +1 -1
- package/web/.next/static/chunks/{14ae33e3d05df7ae.js → 25277f492a8e114f.js} +1 -1
- package/web/.next/static/chunks/{a9b788473a1a2f74.js → 2fd21b1e8f74dddd.js} +1 -1
- package/web/.next/static/chunks/{73de88f5c150f826.js → 35ea128cac9da3aa.js} +1 -1
- package/web/.next/static/chunks/{16a0872b47a0c873.js → 3b0e5f1d61bbe5b9.js} +1 -1
- package/web/.next/static/chunks/{2e2bbe08a2ced79d.js → 3e4b4cc39d18c2d3.js} +1 -1
- package/web/.next/static/chunks/{8aa1b266648944de.js → 3fdf3bfbaa542a58.js} +1 -1
- package/web/.next/static/chunks/{28b1e727e07ee99e.js → 46bacb3927eb4aad.js} +1 -1
- package/web/.next/static/chunks/{f2eb8ed0ba27add9.js → 4e6d1ce8b909633b.js} +1 -1
- package/web/.next/static/chunks/{ef1c174fb55135fb.js → 506cd958e1d95d99.js} +1 -1
- package/web/.next/static/chunks/{eb1c0aac34a995fe.js → 558f703ea70fb12f.js} +1 -1
- package/web/.next/static/chunks/{46628109fd139e38.js → 55f0874ed4cff0b4.js} +1 -1
- package/web/.next/static/chunks/64228763c0a5b398.js +1 -0
- package/web/.next/static/chunks/{df57f17a33536493.js → 66a4af80ba31ab99.js} +1 -1
- package/web/.next/static/chunks/{a4379769c9845bed.js → 69001f2dc93cd854.js} +1 -1
- package/web/.next/static/chunks/{04bf00ba0dfe132e.js → 7cd5b1d4aecb605f.js} +1 -1
- package/web/.next/static/chunks/{98a7e6a733c1eec1.js → 8437b14aa3d30c4a.js} +1 -1
- package/web/.next/static/chunks/{1d767f2bf1e60119.js → 85ddd1e61b5acfa7.js} +1 -1
- package/web/.next/static/chunks/{3d096d025d3a4300.js → 88e44bfd13326e0a.js} +1 -1
- package/web/.next/static/chunks/{cd553eaf62c59330.js → 89ea6a36b13564bb.js} +3 -3
- package/web/.next/static/chunks/{c3f8977262e99729.js → 8e05b72447a6de2d.js} +1 -1
- package/web/.next/static/chunks/92b0f4ef034da238.js +1 -0
- package/web/.next/static/chunks/{661ae8c69fd4c6e0.js → 9955264849876242.js} +1 -1
- package/web/.next/static/chunks/a8bd431b98488304.js +1 -0
- package/web/.next/static/chunks/{b1ce1428c415689c.js → aff24d3846940734.js} +1 -1
- package/web/.next/static/chunks/{6b2db436783731a9.js → bed79ff1fb1474b2.js} +1 -1
- package/web/.next/static/chunks/{2964ed9040700d3d.js → cafa3b9f2631ead4.js} +1 -1
- package/web/.next/static/chunks/{444614c3115ff33e.js → cf29be39771eed74.js} +1 -1
- package/web/.next/static/chunks/{6724456c4ee12a6c.js → e0033d3fa646e3ba.js} +1 -1
- package/web/.next/static/chunks/{29d53f36d9cf3511.js → e097ae94a23d6f6e.js} +1 -1
- package/web/.next/static/chunks/e4d71aefcaf0bcb8.js +1 -0
- package/web/.next/static/chunks/{0797756ed1f6ae7c.js → e62855ec84a7075d.js} +1 -1
- package/web/.next/static/chunks/e648942ddca82602.js +1 -0
- package/web/.next/static/chunks/{f478ef3c6d77bea8.js → f039f96340b89e08.js} +1 -1
- package/web/.next/static/chunks/{ea31f78dde34f8e1.js → f4c2e3f10d87b772.js} +1 -1
- package/web/.next/static/chunks/f671dcbbfd92b775.js +1 -0
- package/web/.next/static/chunks/{e1fee822ce83d4e4.js → fd4d834af4d4bf63.js} +1 -1
- package/web/.next/static/chunks/4d7b6685af2c61f9.js +0 -1
- package/web/.next/static/chunks/6352e668ea0a8df7.js +0 -1
- package/web/.next/static/chunks/74098475a938bee3.js +0 -1
- package/web/.next/static/chunks/798f66a5fdd1e765.js +0 -1
- package/web/.next/static/chunks/b3e91925f7db1ae9.js +0 -1
- package/web/.next/static/chunks/c8c4ea71670c4e55.js +0 -1
- /package/web/.next/static/{ChVi9RNp-ZER74W2GrrbV → iJI1BMB-BwFI6JHl9YJW8}/_buildManifest.js +0 -0
- /package/web/.next/static/{ChVi9RNp-ZER74W2GrrbV → iJI1BMB-BwFI6JHl9YJW8}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{ChVi9RNp-ZER74W2GrrbV → iJI1BMB-BwFI6JHl9YJW8}/_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),n=e.i(152155),i=e.i(723925),s=e.i(926370),a=e.i(338573),o=e.i(949228),l=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),m=e.i(3214),p=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(473750),j=e.i(987889),S=e.i(806288),y=e.i(382569),k=e.i(360112);e.i(541001);var C=e.i(64780),M=e.i(131777),N=e.i(141957),A=e.i(698127),I=e.i(735364),T=e.i(951911),P=e.i(547373),D=e.i(508893);let F=(0,D.createServerReference)("4010f50a107ce3f179b06c0067f972e884772bb6d7",D.callServer,void 0,D.findSourceMapURL,"updateSettingsAction");var E=e.i(317406),R=e.i(785622),z=e.i(544229),L=e.i(483902);function B(e){return(0,t.jsx)(z.Code,{className:(0,M.cn)("h-4 w-4",e.className),...e})}function _({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function H({className:e}){return(0,t.jsx)(R.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function G({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function K({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function V({className:e,...n}){return(0,t.jsx)(L.Rocket,{className:(0,M.cn)("h-4 w-4",e),...n})}_.displayName="VsCodeIcon",H.displayName="CursorEditorIcon",G.displayName="WindsurfIcon",K.displayName="ZedIcon",V.displayName="AntigravityIcon";let O={vscode:_,cursor:H,windsurf:G,zed:K,antigravity:V};var W=e.i(41413),q=e.i(435e3);let U=(0,D.createServerReference)("40a14869d92c2f8774ef0cd0872821c692604643a5",D.callServer,void 0,D.findSourceMapURL,"connectGithubAction"),$=(0,D.createServerReference)("00ba4f6f0feacb3548ed812ba7ef96f2b5b02f8f23",D.callServer,void 0,D.findSourceMapURL,"disconnectGithubAction"),Z=(0,D.createServerReference)("0074b7bccfd69a0fa3bdd11ece9cfef528af975253",D.callServer,void 0,D.findSourceMapURL,"getGithubStatusAction");function X(){let[e,i]=(0,n.useState)(null),[s,a]=(0,n.useState)(""),[o,l]=(0,n.useState)(!1),[r,c]=(0,n.useTransition)();return((0,n.useEffect)(()=>{let e=!1;return Z().then(t=>{e||i(t)}).catch(()=>{e||i({connected:!1,connectedAt:null,updatedAt:null})}),()=>{e=!0}},[]),null===e)?(0,t.jsx)("div",{className:"text-muted-foreground py-4 text-xs","data-testid":"github-integration-loading",children:"Checking GitHub integration…"}):e.connected?(0,t.jsxs)("div",{className:"space-y-3 py-3","data-testid":"github-integration-connected",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(q.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}),(0,t.jsx)("span",{className:"text-sm",children:"Connected"}),e.updatedAt?(0,t.jsxs)("span",{className:"text-muted-foreground text-[11px]",children:["· last updated ",new Date(e.updatedAt).toLocaleDateString()]}):null]}),(0,t.jsxs)("p",{className:"text-muted-foreground text-[11px] leading-relaxed",children:["Every terminal opened in shep now has ",(0,t.jsx)("code",{children:"GH_TOKEN"})," and ",(0,t.jsx)("code",{children:"GITHUB_TOKEN"})," ","set automatically. ",(0,t.jsx)("code",{children:"gh"}),", ",(0,t.jsx)("code",{children:"git push"}),", and other tools that read those env vars will authenticate as your GitHub user."]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)(I.Button,{variant:"outline",size:"sm",onClick:function(){c(async()=>{let e=await $();e.success?(k.toast.success("GitHub disconnected"),i(await Z())):k.toast.error(e.error??"Failed to disconnect")})},disabled:r,"data-testid":"github-disconnect-button",children:r?"Disconnecting…":"Disconnect"})})]}):(0,t.jsxs)("div",{className:"space-y-3 py-3","data-testid":"github-integration-disconnected",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(N.Label,{htmlFor:"github-pat",className:"text-xs",children:"Personal Access Token"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(A.Input,{id:"github-pat","data-testid":"github-pat-input",type:o?"text":"password",value:s,onChange:e=>a(e.target.value),placeholder:"github_pat_… or ghp_…",autoComplete:"off",className:"pr-9 font-mono text-xs",disabled:r}),(0,t.jsx)("button",{type:"button",onClick:()=>l(e=>!e),className:"text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2","aria-label":o?"Hide token":"Show token",tabIndex:-1,children:o?(0,t.jsx)(S.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(j.Eye,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)(I.Button,{size:"sm",onClick:function(){let e=s.trim();e?c(async()=>{let t=await U(e);t.success?(k.toast.success(`Connected to GitHub${t.login?` as @${t.login}`:""}`),a(""),l(!1),i(await Z())):k.toast.error(t.error??"Failed to connect to GitHub")}):k.toast.error("Paste a GitHub Personal Access Token first")},disabled:r||!s.trim(),"data-testid":"github-connect-button",children:r?"Connecting…":"Connect"})]})]}),(0,t.jsxs)("p",{className:"text-muted-foreground text-[11px] leading-relaxed",children:["Create a fine-grained PAT with ",(0,t.jsx)("code",{children:"contents: read/write"})," and"," ",(0,t.jsx)("code",{children:"pull requests: read/write"})," on the repos you want shep to access. Token is encrypted at rest and never leaves this machine."]}),(0,t.jsxs)("a",{href:"https://github.com/settings/tokens?type=beta",target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[11px] transition-colors",children:[(0,t.jsx)(p.ExternalLink,{className:"h-3 w-3"}),"Generate a token on github.com"]})]})}var Y=e.i(527069),J=e.i(291967),Q=e.i(205978),ee=e.i(922528),et=e.i(936589),en=e.i(566033),ei=e.i(23405),es=e.i(277624),ea=e.i(287620),eo=e.i(787342),el=["PageUp","PageDown"],er=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ec={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ed="Slider",[eu,eg,eh]=(0,eo.createCollection)(ed),[em,ep]=(0,ee.createContextScope)(ed,[eh]),[ef,ex]=em(ed),ev=n.forwardRef((e,i)=>{let{name:s,min:a=0,max:o=100,step:l=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:h=()=>{},onValueCommit:m=()=>{},inverted:p=!1,form:f,...x}=e,v=n.useRef(new Set),b=n.useRef(0),w="horizontal"===r,[j=[],S]=(0,et.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),h(e)}}),y=n.useRef(j);function k(e,t,{commit:n}={commit:!1}){let i,s=(String(l).split(".")[1]||"").length,r=Math.round((Math.round((e-a)/l)*l+a)*(i=Math.pow(10,s)))/i,c=(0,Y.clamp)(r,[a,o]);S((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,d*l))return e;{b.current=i.indexOf(c);let t=String(i)!==String(e);return t&&n&&m(i),t?i:e}})}return(0,t.jsx)(ef,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:o,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:r,form:f,children:(0,t.jsx)(eu.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(eu.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ej:eS,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:i,onPointerDown:(0,J.composeEventHandlers)(x.onPointerDown,()=>{c||(y.current=j)}),min:a,max:o,inverted:p,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=y.current[b.current];j[b.current]!==e&&m(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(o,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let n=el.includes(e.key)||e.shiftKey&&er.includes(e.key),i=b.current;k(j[i]+l*(n?10:1)*t,i,{commit:!0})}}})})})})});ev.displayName=ed;var[eb,ew]=em(ed,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ej=n.forwardRef((e,i)=>{let{min:s,max:a,dir:o,inverted:l,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[h,m]=n.useState(null),p=(0,Q.useComposedRefs)(i,e=>m(e)),f=n.useRef(void 0),x=(0,en.useDirection)(o),v="ltr"===x,b=v&&!l||!v&&l;function w(e){let t=f.current||h.getBoundingClientRect(),n=eF([0,t.width],b?[s,a]:[a,s]);return f.current=t,n(e-t.left)}return(0,t.jsx)(eb,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(ey,{dir:x,"data-orientation":"horizontal",...g,ref:p,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=ec[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),eS=n.forwardRef((e,i)=>{let{min:s,max:a,inverted:o,onSlideStart:l,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=n.useRef(null),h=(0,Q.useComposedRefs)(i,g),m=n.useRef(void 0),p=!o;function f(e){let t=m.current||g.current.getBoundingClientRect(),n=eF([0,t.height],p?[a,s]:[s,a]);return m.current=t,n(e-t.top)}return(0,t.jsx)(eb,{scope:e.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,t.jsx)(ey,{"data-orientation":"vertical",...u,ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);l?.(t)},onSlideMove:e=>{let t=f(e.clientY);r?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=ec[p?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),ey=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:s,onSlideMove:a,onSlideEnd:o,onHomeKeyDown:l,onEndKeyDown:r,onStepKeyDown:c,...d}=e,u=ex(ed,i);return(0,t.jsx)(ea.Primitive.span,{...d,ref:n,onKeyDown:(0,J.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(r(e),e.preventDefault()):el.concat(er).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,J.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,J.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,J.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),o(e))})})}),ek="SliderTrack",eC=n.forwardRef((e,n)=>{let{__scopeSlider:i,...s}=e,a=ex(ek,i);return(0,t.jsx)(ea.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:n})});eC.displayName=ek;var eM="SliderRange",eN=n.forwardRef((e,i)=>{let{__scopeSlider:s,...a}=e,o=ex(eM,s),l=ew(eM,s),r=n.useRef(null),c=(0,Q.useComposedRefs)(i,r),d=o.values.length,u=o.values.map(e=>eD(e,o.min,o.max)),g=d>1?Math.min(...u):0,h=100-Math.max(...u);return(0,t.jsx)(ea.Primitive.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...a,ref:c,style:{...e.style,[l.startEdge]:g+"%",[l.endEdge]:h+"%"}})});eN.displayName=eM;var eA="SliderThumb",eI=n.forwardRef((e,i)=>{let s=eg(e.__scopeSlider),[a,o]=n.useState(null),l=(0,Q.useComposedRefs)(i,e=>o(e)),r=n.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eT,{...e,ref:l,index:r})}),eT=n.forwardRef((e,i)=>{var s,a,o,l,r;let c,d,{__scopeSlider:u,index:g,name:h,...m}=e,p=ex(eA,u),f=ew(eA,u),[x,v]=n.useState(null),b=(0,Q.useComposedRefs)(i,e=>v(e)),w=!x||p.form||!!x.closest("form"),j=(0,es.useSize)(x),S=p.values[g],y=void 0===S?0:eD(S,p.min,p.max),k=(s=g,(a=p.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),C=j?.[f.size],M=C?(o=C,l=y,r=f.direction,d=eF([0,50],[0,c=o/2]),(c-d(l)*r)*r):0;return n.useEffect(()=>{if(x)return p.thumbs.add(x),()=>{p.thumbs.delete(x)}},[x,p.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${y}% + ${M}px)`},children:[(0,t.jsx)(eu.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(ea.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":p.min,"aria-valuenow":S,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...m,ref:b,style:void 0===S?{display:"none"}:e.style,onFocus:(0,J.composeEventHandlers)(e.onFocus,()=>{p.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(eP,{name:h??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:S},g)]})});eI.displayName=eA;var eP=n.forwardRef(({__scopeSlider:e,value:i,...s},a)=>{let o=n.useRef(null),l=(0,Q.useComposedRefs)(o,a),r=(0,ei.usePrevious)(i);return n.useEffect(()=>{let e=o.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(r!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[r,i]),(0,t.jsx)(ea.Primitive.input,{style:{display:"none"},...s,ref:l,defaultValue:i})});function eD(e,t,n){return(0,Y.clamp)(100/(n-t)*(e-t),[0,100])}function eF(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}eP.displayName="RadioBubbleInput",e.s(["Range",()=>eN,"Root",()=>ev,"Slider",()=>ev,"SliderRange",()=>eN,"SliderThumb",()=>eI,"SliderTrack",()=>eC,"Thumb",()=>eI,"Track",()=>eC,"createSliderScope",()=>ep],429991);var eE=e.i(429991),eE=eE;function eR({className:e,defaultValue:i,value:s,min:a=0,max:o=100,...l}){let r=n.useMemo(()=>Array.isArray(s)?s:Array.isArray(i)?i:[a,o],[s,i,a,o]);return(0,t.jsxs)(eE.Root,{"data-slot":"slider",defaultValue:i,value:s,min:a,max:o,className:(0,M.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...l,children:[(0,t.jsx)(eE.Track,{"data-slot":"slider-track",className:(0,M.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)(eE.Range,{"data-slot":"slider-range",className:(0,M.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:r.length},(e,n)=>(0,t.jsx)(eE.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},n))]})}let ez=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eL=ez.length-1;function eB(e){let t=0,n=Math.abs(e-ez[0]);for(let i=1;i<ez.length;i++){let s=Math.abs(e-ez[i]);s<n&&(n=s,t=i)}return t}function e_({id:e,testId:i,value:s,onChange:a,onBlur:o,defaultSeconds:l=1800}){var r;let c,d,u=(""===s?l:parseInt(s,10))||l,[g,h]=(0,n.useState)(()=>eB(u)),m=eB(u);m!==g&&ez[g]!==u&&h(m);let p=(0,n.useCallback)(([e])=>{h(e),a(String(ez[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eR,{id:e,"data-testid":i,min:0,max:eL,step:1,value:[g],onValueChange:p,onValueCommit:()=>o(),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=ez[g])/3600),d=Math.round(r%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eH=[{value:E.Language.English,nativeName:"English"},{value:E.Language.Ukrainian,nativeName:"Українська"},{value:E.Language.Russian,nativeName:"Русский"},{value:E.Language.Portuguese,nativeName:"Português"},{value:E.Language.Spanish,nativeName:"Español"},{value:E.Language.Arabic,nativeName:"العربية"},{value:E.Language.Hebrew,nativeName:"עברית"},{value:E.Language.French,nativeName:"Français"},{value:E.Language.German,nativeName:"Deutsch"}],eG=[{value:E.EditorType.VsCode,label:"VS Code"},{value:E.EditorType.Cursor,label:"Cursor"},{value:E.EditorType.Windsurf,label:"Windsurf"},{value:E.EditorType.Zed,label:"Zed"},{value:E.EditorType.Antigravity,label:"Antigravity"}],eK=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],eV=new Set([E.AgentType.CopilotCli]),eO=new Set([E.AgentType.OpenRouter,E.AgentType.TogetherAi]),eW=[{value:E.AgentAuthMethod.Session,label:"Session"},{value:E.AgentAuthMethod.Token,label:"Token"}],eq=[{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:o.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:l.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:"home-page",labelKey:"settings.sections.homePage",icon:w.Home},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"integrations",labelKey:"settings.sections.integrations",icon:y.Github},{id:"database",labelKey:"settings.sections.database",icon:u}];function eU({label:e,description:n,htmlFor:i,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(N.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function e$({label:e,description:n,id:i,testId:s,checked:a,onChange:o,disabled:l}){return(0,t.jsx)(eU,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(T.Switch,{id:i,"data-testid":s,checked:a,onCheckedChange:o,disabled:l,className:(0,M.cn)("cursor-pointer",l&&"cursor-not-allowed opacity-50")})})}function eZ({icon:e,title:n,description:i,badge:s,testId:a,children:o}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:n}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:i})]}),(0,t.jsx)("div",{className:"px-4",children:o})]})}function eX({id:e,testId:n,value:i,onChange:s,onBlur:a,placeholder:o,min:l=1,max:r,step:c=1,suffix:d}){let{t:u}=(0,C.useTranslation)("web"),g=""===i?void 0:parseInt(i,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(l,(g??parseInt(o,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":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:o,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(o,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)(m.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eY({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 eJ({children:e,links:n}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(p.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eQ({settings:e,shepHome:r,dbFileSize:h,availableTerminals:m}){let{t:p,i18n:N}=(0,C.useTranslation)("web"),{showSaving:T,showSaved:D,save:R}=function(){let{t:e}=(0,C.useTranslation)("web"),[t,i]=(0,n.useTransition)(),[s,a]=(0,n.useState)(!1),[o,l]=(0,n.useState)(!1),r=(0,n.useRef)(null),c=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,r.current=setTimeout(()=>{r.current=null,c.current&&(a(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!t&&s&&(c.current=!0,r.current||(a(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[t,s]),{showSaving:s,showSaved:o,save:(0,n.useCallback)(t=>{i(async()=>{let n=await F(t);n.success||k.toast.error(n.error??e("settings.failedToSave"))})},[i,e])}}(),z=e.featureFlags??{envDeploy:!1,debug:!1,reactFileManager:!1,projects:!1,codeReview:!1,collaboration:!1},[L,_]=(0,n.useState)(e.user?.preferredLanguage??E.Language.English),[H,G]=(0,n.useState)(e.agent.type),[K,V]=(0,n.useState)(e.agent.authMethod),[q,U]=(0,n.useState)(e.agent.token??""),[$,Z]=(0,n.useState)(!1),[Y,J]=(0,n.useState)(e.environment.defaultEditor),[Q,ee]=(0,n.useState)(e.environment.shellPreference),[et,en]=(0,n.useState)(e.environment.terminalPreference??E.TerminalType.System),ei=m?m.filter(e=>e.available):[{id:E.TerminalType.System,name:p("settings.environment.systemTerminal"),available:!0}],[es,ea]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[eo,el]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[er,ec]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[ed,eu]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[eg,eh]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[em,ep]=(0,n.useState)(e.workflow.enableEvidence),[ef,ex]=(0,n.useState)(e.workflow.commitEvidence),[ev,eb]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[ew,ej]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[eS,ey]=(0,n.useState)(!1!==e.workflow.defaultFastMode),[ek,eC]=(0,n.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[eM,eN]=(0,n.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eA,eI]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eT,eP]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eD,eF]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eE,eR]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),ez=e.workflow.stageTimeouts,[eL,eB]=(0,n.useState)(String(Math.round((ez?.analyzeMs??18e5)/1e3))),[eQ,e0]=(0,n.useState)(String(Math.round((ez?.requirementsMs??18e5)/1e3))),[e1,e2]=(0,n.useState)(String(Math.round((ez?.researchMs??18e5)/1e3))),[e5,e3]=(0,n.useState)(String(Math.round((ez?.planMs??18e5)/1e3))),[e4,e8]=(0,n.useState)(String(Math.round((ez?.implementMs??18e5)/1e3))),[e6,e9]=(0,n.useState)(String(Math.round((ez?.fastImplementMs??18e5)/1e3))),[e7,te]=(0,n.useState)(String(Math.round((ez?.mergeMs??18e5)/1e3))),tt=e.workflow.analyzeRepoTimeouts,[tn,ti]=(0,n.useState)(String(Math.round((tt?.analyzeMs??6e5)/1e3))),ts=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ta,to]=(0,n.useState)(ts.enabled),[tl,tr]=(0,n.useState)(String(ts.autoTimeoutMinutes)),[tc,td]=(0,n.useState)(String(ts.maxConcurrentSessions)),[tu,tg]=(0,n.useState)(e.defaultHomePage??E.DefaultHomePage.ControlCenter),th=e.fabLayout??{swapPosition:!1},[tm,tp]=(0,n.useState)(th.swapPosition),[tf,tx]=(0,n.useState)(e.notifications.inApp.enabled),[tv,tb]=(0,n.useState)({...e.notifications.events}),[tw,tj]=(0,n.useState)({...z}),tS=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",ty=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tk=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tC=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",tM=ez?.analyzeMs!=null?String(Math.round(ez.analyzeMs/1e3)):"",tN=ez?.requirementsMs!=null?String(Math.round(ez.requirementsMs/1e3)):"",tA=ez?.researchMs!=null?String(Math.round(ez.researchMs/1e3)):"",tI=ez?.planMs!=null?String(Math.round(ez.planMs/1e3)):"",tT=ez?.implementMs!=null?String(Math.round(ez.implementMs/1e3)):"",tP=ez?.fastImplementMs!=null?String(Math.round(ez.fastImplementMs/1e3)):"",tD=ez?.mergeMs!=null?String(Math.round(ez.mergeMs/1e3)):"",tF=tt?.analyzeMs!=null?String(Math.round(tt.analyzeMs/1e3)):"";function tE(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tR(e){if(void 0===e)return;let t=tE(e);return null!=t?1e3*t:void 0}function tz(e={}){let t=tE(e.ciTimeout??eT),n=e.autoArchiveEnabled??ek,i=parseInt(e.autoArchiveDelay??eM,10);return{workflow:{openPrOnImplementationComplete:e.openPr??es,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??eo,allowPrd:e.allowPrd??er,allowPlan:e.allowPlan??ed,allowMerge:e.allowMerge??eg},enableEvidence:e.enableEvidence??em,commitEvidence:e.commitEvidence??ef,ciWatchEnabled:e.ciWatchEnabled??ev,hideCiStatus:e.hideCiStatus??ew,defaultFastMode:e.defaultFastMode??eS,autoArchiveDelayMinutes:n?Number.isNaN(i)||i<1?10:i:0,ciMaxFixAttempts:tE(e.ciMaxFix??eA),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tE(e.ciLogMax??eD),ciWatchPollIntervalSeconds:tE(e.ciPollInterval??eE),stageTimeouts:{analyzeMs:tR(e.analyzeTimeout??eL),requirementsMs:tR(e.requirementsTimeout??eQ),researchMs:tR(e.researchTimeout??e1),planMs:tR(e.planTimeout??e5),implementMs:tR(e.implementTimeout??e4),fastImplementMs:tR(e.fastImplementTimeout??e6),mergeMs:tR(e.mergeTimeout??e7)},analyzeRepoTimeouts:{analyzeMs:tR(e.analyzeRepoTimeout??tn)}}}}function tL(e={}){return{notifications:{inApp:{enabled:e.inApp??tf},events:e.events??tv}}}let[tB,t_]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=eq.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&&t_(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let tH=(0,n.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:p("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,M.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",T?"opacity-100":"opacity-0"),children:p("settings.saving")}),(0,t.jsxs)("span",{className:(0,M.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",D&&!T?"opacity-100":"opacity-0"),children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),p("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:eq.map(e=>{let n=e.icon,i=tB===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tH(e.id),className:(0,M.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:p(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)(eZ,{icon:g.Globe,title:p("settings.language.title"),description:p("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eU,{label:p("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(P.Select,{value:L,onValueChange:function(e){_(e),N.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,R({user:{preferredLanguage:e}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(P.SelectValue,{placeholder:p("settings.language.placeholder")})}),(0,t.jsx)(P.SelectContent,{children:eH.map(e=>(0,t.jsx)(P.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)(eZ,{icon:s.Bot,title:p("settings.agent.sectionTitle"),description:p("settings.agent.sectionDescription"),testId:"agent-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.agent.agentAndModel"),description:p("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(W.AgentModelPicker,{initialAgentType:H,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>{G(e),eO.has(e)&&K!==E.AgentAuthMethod.Token?(V(E.AgentAuthMethod.Token),R({agent:{type:e,authMethod:E.AgentAuthMethod.Token}})):eV.has(e)&&K!==E.AgentAuthMethod.Session&&(V(E.AgentAuthMethod.Session),R({agent:{type:e,authMethod:E.AgentAuthMethod.Session}}))},className:"w-55"})}),(0,t.jsx)(eU,{label:"Auth Method",description:"How this agent authenticates",htmlFor:"agent-auth-method",children:(0,t.jsxs)(P.Select,{value:K,onValueChange:e=>{V(e);let t={type:H,authMethod:e};e===E.AgentAuthMethod.Token&&(t.token=q),R({agent:t})},disabled:eV.has(H)||eO.has(H),children:[(0,t.jsx)(P.SelectTrigger,{id:"agent-auth-method","data-testid":"agent-auth-method-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eW.filter(e=>eV.has(H)?e.value===E.AgentAuthMethod.Session:!eO.has(H)||e.value===E.AgentAuthMethod.Token).map(e=>(0,t.jsx)(P.SelectItem,{value:e.value,children:e.label},e.value))})]})}),eO.has(H)&&(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."})}),K===E.AgentAuthMethod.Token&&(0,t.jsx)(eU,{label:"API Token",description:"Saves on blur",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-55",children:[(0,t.jsx)(A.Input,{id:"agent-token","data-testid":"agent-token-input",type:$?"text":"password",value:q,onChange:e=>U(e.target.value),onBlur:()=>{q!==(e.agent.token??"")&&R({agent:{type:H,authMethod:K,token:q}})},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:()=>Z(!$),"data-testid":"toggle-token-visibility","aria-label":$?"Hide token":"Show token",children:$?(0,t.jsx)(S.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(j.Eye,{className:"h-3.5 w-3.5"})})]})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:p("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:p("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:p("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)(eZ,{icon:a.Terminal,title:p("settings.environment.sectionTitle"),description:p("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.environment.defaultEditor"),description:p("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(P.Select,{value:Y,onValueChange:e=>{J(e),R({environment:{defaultEditor:e,shellPreference:Q,terminalPreference:et}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eG.map(e=>{var n;let i=(n=e.value)&&n in O?O[n]:B;return(0,t.jsx)(P.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eU,{label:p("settings.environment.shell"),description:p("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(P.Select,{value:Q,onValueChange:e=>{ee(e),R({environment:{defaultEditor:Y,shellPreference:e,terminalPreference:et}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eK.map(e=>(0,t.jsx)(P.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eU,{label:p("settings.environment.terminal"),description:p("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(P.Select,{value:et,onValueChange:e=>{en(e),R({environment:{defaultEditor:Y,shellPreference:Q,terminalPreference:e}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:ei.map(e=>(0,t.jsx)(P.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:p("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)(eZ,{icon:o.GitBranch,title:p("settings.workflow.title"),description:p("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.workflow.defaultFastMode"),description:p("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:eS,onChange:e=>{ey(e),R(tz({defaultFastMode:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.approve")}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApprovePrd"),description:p("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:er,onChange:e=>{ec(e),R(tz({allowPrd:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApprovePlan"),description:p("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:ed,onChange:e=>{eu(e),R(tz({allowPlan:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApproveMerge"),description:p("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:eg,onChange:e=>{eh(e),R(tz({allowMerge:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.evidence")}),(0,t.jsx)(e$,{label:p("settings.workflow.collectEvidence"),description:p("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:em,onChange:e=>{ep(e),e?R(tz({enableEvidence:e})):(ex(!1),R(tz({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(e$,{label:p("settings.workflow.addEvidenceToPr"),description:p("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:ef,disabled:!em||!es,onChange:e=>{ex(e),R(tz({commitEvidence:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.git")}),(0,t.jsx)(e$,{label:p("settings.workflow.pushOnComplete"),description:p("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:eo,onChange:e=>{el(e),R(tz({pushOnComplete:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.openPrOnComplete"),description:p("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:es,onChange:e=>{ea(e),e?R(tz({openPr:e})):(ex(!1),R(tz({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(e$,{label:p("settings.workflow.watchCiAfterPush"),description:p("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:ev,onChange:e=>{eb(e),R(tz({ciWatchEnabled:e}))}}),(0,t.jsx)(eY,{children:"Archive"}),(0,t.jsx)(e$,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ek,onChange:e=>{eC(e),R(tz({autoArchiveEnabled:e}))}}),(0,t.jsx)(eU,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(eX,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:eM,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{eN(e)},onBlur:()=>{if(!ek)return;let e=parseInt(eM,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));eN(String(t)),R(tz({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:p("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:p("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)(eZ,{icon:l.Activity,title:p("settings.ci.title"),description:p("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.ci.maxFixAttempts"),description:p("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(eX,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eA,onChange:eI,onBlur:()=>{eA!==tS&&R(tz({ciMaxFix:eA}))},min:1,max:10})}),(0,t.jsx)(eU,{label:p("settings.ci.watchTimeout"),description:p("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(eX,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eT,onChange:eP,onBlur:()=>{eT!==ty&&R(tz({ciTimeout:eT}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eU,{label:p("settings.ci.maxLogSize"),description:p("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(eX,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eD,onChange:eF,onBlur:()=>{eD!==tk&&R(tz({ciLogMax:eD}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eU,{label:p("settings.ci.pollInterval"),description:p("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(eX,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eE,onChange:eR,onBlur:()=>{eE!==tC&&R(tz({ciPollInterval:eE}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(e$,{label:p("settings.ci.hideCiStatus"),description:p("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ew,onChange:e=>{ej(e),R(tz({hideCiStatus:e}))}})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:p("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:p("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)(eZ,{icon:x.Timer,title:p("settings.stageTimeouts.title"),description:p("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eY,{children:p("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.analyze"),description:p("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(e_,{id:"timeout-analyze",testId:"timeout-analyze-input",value:eL,onChange:eB,onBlur:()=>{eL!==tM&&R(tz({analyzeTimeout:eL}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.requirements"),description:p("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(e_,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eQ,onChange:e0,onBlur:()=>{eQ!==tN&&R(tz({requirementsTimeout:eQ}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.research"),description:p("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(e_,{id:"timeout-research",testId:"timeout-research-input",value:e1,onChange:e2,onBlur:()=>{e1!==tA&&R(tz({researchTimeout:e1}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.plan"),description:p("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(e_,{id:"timeout-plan",testId:"timeout-plan-input",value:e5,onChange:e3,onBlur:()=>{e5!==tI&&R(tz({planTimeout:e5}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.implement"),description:p("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(e_,{id:"timeout-implement",testId:"timeout-implement-input",value:e4,onChange:e8,onBlur:()=>{e4!==tT&&R(tz({implementTimeout:e4}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.fastImplement"),description:p("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(e_,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:e6,onChange:e9,onBlur:()=>{e6!==tP&&R(tz({fastImplementTimeout:e6}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.merge"),description:p("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(e_,{id:"timeout-merge",testId:"timeout-merge-input",value:e7,onChange:te,onBlur:()=>{e7!==tD&&R(tz({mergeTimeout:e7}))},defaultSeconds:1800})}),(0,t.jsx)(eY,{children:p("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.analyze"),description:p("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(e_,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:tn,onChange:ti,onBlur:()=>{tn!==tF&&R(tz({analyzeRepoTimeout:tn}))},defaultSeconds:600})})]}),(0,t.jsx)(eJ,{children:p("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)(eZ,{icon:c,title:p("settings.notifications.title"),description:p("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eY,{children:p("settings.notifications.channels")}),(0,t.jsx)(e$,{label:p("settings.notifications.inAppLabel"),description:p("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:tf,onChange:e=>{tx(e),R(tL({inApp:e}))}}),(0,t.jsx)(eY,{children:p("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:tv.agentStarted,onChange:e=>{let t={...tv,agentStarted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:tv.phaseCompleted,onChange:e=>{let t={...tv,phaseCompleted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:tv.waitingApproval,onChange:e=>{let t={...tv,waitingApproval:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:tv.agentCompleted,onChange:e=>{let t={...tv,agentCompleted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:tv.agentFailed,onChange:e=>{let t={...tv,agentFailed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(eY,{children:p("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:tv.prMerged,onChange:e=>{let t={...tv,prMerged:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:tv.prClosed,onChange:e=>{let t={...tv,prClosed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:tv.prChecksPassed,onChange:e=>{let t={...tv,prChecksPassed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:tv.prChecksFailed,onChange:e=>{let t={...tv,prChecksFailed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:tv.prBlocked,onChange:e=>{let t={...tv,prBlocked:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:tv.mergeReviewReady,onChange:e=>{let t={...tv,mergeReviewReady:e};tb(t),R(tL({events:t}))}})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:p("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)(eZ,{icon:d,title:p("settings.featureFlags.title"),description:p("settings.featureFlags.sectionDescription"),badge:p("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.featureFlags.deployments"),description:p("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:tw.envDeploy,onChange:e=>{let t={...tw,envDeploy:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.debug"),description:p("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:tw.debug,onChange:e=>{let t={...tw,debug:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.reactFileManager"),description:p("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:tw.reactFileManager,onChange:e=>{let t={...tw,reactFileManager:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.projects"),description:p("settings.featureFlags.projectsDescription"),id:"flag-projects",testId:"switch-flag-projects",checked:tw.projects,onChange:e=>{let t={...tw,projects:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.codeReview"),description:p("settings.featureFlags.codeReviewDescription"),id:"flag-code-review",testId:"switch-flag-code-review",checked:tw.codeReview,onChange:e=>{let t={...tw,codeReview:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.collaboration"),description:p("settings.featureFlags.collaborationDescription"),id:"flag-collaboration",testId:"switch-flag-collaboration",checked:tw.collaboration,onChange:e=>{let t={...tw,collaboration:e};tj(t),R({featureFlags:t})}})]}),(0,t.jsx)(eJ,{children:p("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)(eZ,{icon:v.MessageSquare,title:p("settings.interactiveAgent.title"),description:p("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.interactiveAgent.enableChatTab"),description:p("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ta,onChange:e=>{to(e),R({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(tl,10)||15,maxConcurrentSessions:parseInt(tc,10)||3}})}}),(0,t.jsx)(eU,{label:p("settings.interactiveAgent.autoTimeout"),description:p("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(eX,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:tl,placeholder:"15",min:1,max:120,suffix:"min",onChange:tr,onBlur:()=>{let e=parseInt(tl,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));tr(String(t)),R({interactiveAgent:{enabled:ta,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(tc,10)||3}})}})}),(0,t.jsx)(eU,{label:p("settings.interactiveAgent.maxConcurrentSessions"),description:p("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(eX,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:tc,placeholder:"3",min:1,max:10,onChange:td,onBlur:()=>{let e=parseInt(tc,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));td(String(t)),R({interactiveAgent:{enabled:ta,autoTimeoutMinutes:parseInt(tl,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eJ,{children:p("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-home-page",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eZ,{icon:w.Home,title:p("settings.homePage.title"),description:p("settings.homePage.description"),testId:"home-page-settings-section",children:(0,t.jsx)(eU,{label:p("settings.homePage.label"),description:p("settings.homePage.labelDescription"),htmlFor:"default-home-page",children:(0,t.jsxs)(P.Select,{value:tu,onValueChange:e=>{tg(e),R({defaultHomePage:e})},children:[(0,t.jsx)(P.SelectTrigger,{id:"default-home-page","data-testid":"default-home-page-select",className:"w-44",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:Object.values(E.DefaultHomePage).map(e=>(0,t.jsx)(P.SelectItem,{value:e,children:p(`settings.homePage.options.${e}`)},e))})]})})}),(0,t.jsx)(eJ,{children:p("settings.homePage.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)(eZ,{icon:b.LayoutGrid,title:p("settings.fabLayout.title"),description:p("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(e$,{label:p("settings.fabLayout.swapPosition"),description:p("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:tm,onChange:e=>{tp(e),R({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eJ,{children:p("settings.fabLayout.hint")})]}),(0,t.jsxs)("div",{id:"section-integrations",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eZ,{icon:y.Github,title:"GitHub",description:"Connect a Personal Access Token so gh, git push, and other tools authenticate automatically in shep terminals.",testId:"github-integration-section",children:(0,t.jsx)(X,{})}),(0,t.jsx)(eJ,{children:"The token is encrypted with your local LocalSecretBox and only injected into terminal sessions you start from shep. It never leaves this machine."})]}),(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)(eZ,{icon:u,title:p("settings.database.title"),description:p("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.database.location"),description:p("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)(eU,{label:p("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:h})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:p("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:p("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>eQ],541952)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,541952,e=>{"use strict";var t=e.i(679606),n=e.i(152155),i=e.i(723925),s=e.i(926370),a=e.i(338573),o=e.i(949228),l=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),m=e.i(3214),p=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(473750),j=e.i(987889),S=e.i(806288),y=e.i(382569),k=e.i(360112);e.i(541001);var C=e.i(64780),M=e.i(131777),N=e.i(141957),A=e.i(698127),I=e.i(735364),T=e.i(951911),P=e.i(547373),D=e.i(508893);let F=(0,D.createServerReference)("409a59f2b331e31907925f93085e9019634cad940f",D.callServer,void 0,D.findSourceMapURL,"updateSettingsAction");var E=e.i(317406),R=e.i(785622),z=e.i(544229),L=e.i(483902);function B(e){return(0,t.jsx)(z.Code,{className:(0,M.cn)("h-4 w-4",e.className),...e})}function _({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function H({className:e}){return(0,t.jsx)(R.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function G({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function K({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function V({className:e,...n}){return(0,t.jsx)(L.Rocket,{className:(0,M.cn)("h-4 w-4",e),...n})}_.displayName="VsCodeIcon",H.displayName="CursorEditorIcon",G.displayName="WindsurfIcon",K.displayName="ZedIcon",V.displayName="AntigravityIcon";let O={vscode:_,cursor:H,windsurf:G,zed:K,antigravity:V};var W=e.i(41413),q=e.i(435e3);let U=(0,D.createServerReference)("4020b9d77d7ff7089f5e16f66a31d3cef2f88c4412",D.callServer,void 0,D.findSourceMapURL,"connectGithubAction"),$=(0,D.createServerReference)("00e99970d3e8e1c2b24eca967560c64e4e9c07a7d0",D.callServer,void 0,D.findSourceMapURL,"disconnectGithubAction"),Z=(0,D.createServerReference)("00672d576991fbb0f06472d63112d1c70e5c8b1a17",D.callServer,void 0,D.findSourceMapURL,"getGithubStatusAction");function X(){let[e,i]=(0,n.useState)(null),[s,a]=(0,n.useState)(""),[o,l]=(0,n.useState)(!1),[r,c]=(0,n.useTransition)();return((0,n.useEffect)(()=>{let e=!1;return Z().then(t=>{e||i(t)}).catch(()=>{e||i({connected:!1,connectedAt:null,updatedAt:null})}),()=>{e=!0}},[]),null===e)?(0,t.jsx)("div",{className:"text-muted-foreground py-4 text-xs","data-testid":"github-integration-loading",children:"Checking GitHub integration…"}):e.connected?(0,t.jsxs)("div",{className:"space-y-3 py-3","data-testid":"github-integration-connected",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(q.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}),(0,t.jsx)("span",{className:"text-sm",children:"Connected"}),e.updatedAt?(0,t.jsxs)("span",{className:"text-muted-foreground text-[11px]",children:["· last updated ",new Date(e.updatedAt).toLocaleDateString()]}):null]}),(0,t.jsxs)("p",{className:"text-muted-foreground text-[11px] leading-relaxed",children:["Every terminal opened in shep now has ",(0,t.jsx)("code",{children:"GH_TOKEN"})," and ",(0,t.jsx)("code",{children:"GITHUB_TOKEN"})," ","set automatically. ",(0,t.jsx)("code",{children:"gh"}),", ",(0,t.jsx)("code",{children:"git push"}),", and other tools that read those env vars will authenticate as your GitHub user."]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)(I.Button,{variant:"outline",size:"sm",onClick:function(){c(async()=>{let e=await $();e.success?(k.toast.success("GitHub disconnected"),i(await Z())):k.toast.error(e.error??"Failed to disconnect")})},disabled:r,"data-testid":"github-disconnect-button",children:r?"Disconnecting…":"Disconnect"})})]}):(0,t.jsxs)("div",{className:"space-y-3 py-3","data-testid":"github-integration-disconnected",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(N.Label,{htmlFor:"github-pat",className:"text-xs",children:"Personal Access Token"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(A.Input,{id:"github-pat","data-testid":"github-pat-input",type:o?"text":"password",value:s,onChange:e=>a(e.target.value),placeholder:"github_pat_… or ghp_…",autoComplete:"off",className:"pr-9 font-mono text-xs",disabled:r}),(0,t.jsx)("button",{type:"button",onClick:()=>l(e=>!e),className:"text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2","aria-label":o?"Hide token":"Show token",tabIndex:-1,children:o?(0,t.jsx)(S.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(j.Eye,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)(I.Button,{size:"sm",onClick:function(){let e=s.trim();e?c(async()=>{let t=await U(e);t.success?(k.toast.success(`Connected to GitHub${t.login?` as @${t.login}`:""}`),a(""),l(!1),i(await Z())):k.toast.error(t.error??"Failed to connect to GitHub")}):k.toast.error("Paste a GitHub Personal Access Token first")},disabled:r||!s.trim(),"data-testid":"github-connect-button",children:r?"Connecting…":"Connect"})]})]}),(0,t.jsxs)("p",{className:"text-muted-foreground text-[11px] leading-relaxed",children:["Create a fine-grained PAT with ",(0,t.jsx)("code",{children:"contents: read/write"})," and"," ",(0,t.jsx)("code",{children:"pull requests: read/write"})," on the repos you want shep to access. Token is encrypted at rest and never leaves this machine."]}),(0,t.jsxs)("a",{href:"https://github.com/settings/tokens?type=beta",target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[11px] transition-colors",children:[(0,t.jsx)(p.ExternalLink,{className:"h-3 w-3"}),"Generate a token on github.com"]})]})}var Y=e.i(527069),J=e.i(291967),Q=e.i(205978),ee=e.i(922528),et=e.i(936589),en=e.i(566033),ei=e.i(23405),es=e.i(277624),ea=e.i(287620),eo=e.i(787342),el=["PageUp","PageDown"],er=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ec={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ed="Slider",[eu,eg,eh]=(0,eo.createCollection)(ed),[em,ep]=(0,ee.createContextScope)(ed,[eh]),[ef,ex]=em(ed),ev=n.forwardRef((e,i)=>{let{name:s,min:a=0,max:o=100,step:l=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:h=()=>{},onValueCommit:m=()=>{},inverted:p=!1,form:f,...x}=e,v=n.useRef(new Set),b=n.useRef(0),w="horizontal"===r,[j=[],S]=(0,et.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),h(e)}}),y=n.useRef(j);function k(e,t,{commit:n}={commit:!1}){let i,s=(String(l).split(".")[1]||"").length,r=Math.round((Math.round((e-a)/l)*l+a)*(i=Math.pow(10,s)))/i,c=(0,Y.clamp)(r,[a,o]);S((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,d*l))return e;{b.current=i.indexOf(c);let t=String(i)!==String(e);return t&&n&&m(i),t?i:e}})}return(0,t.jsx)(ef,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:o,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:r,form:f,children:(0,t.jsx)(eu.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(eu.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ej:eS,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:i,onPointerDown:(0,J.composeEventHandlers)(x.onPointerDown,()=>{c||(y.current=j)}),min:a,max:o,inverted:p,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=y.current[b.current];j[b.current]!==e&&m(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(o,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let n=el.includes(e.key)||e.shiftKey&&er.includes(e.key),i=b.current;k(j[i]+l*(n?10:1)*t,i,{commit:!0})}}})})})})});ev.displayName=ed;var[eb,ew]=em(ed,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ej=n.forwardRef((e,i)=>{let{min:s,max:a,dir:o,inverted:l,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[h,m]=n.useState(null),p=(0,Q.useComposedRefs)(i,e=>m(e)),f=n.useRef(void 0),x=(0,en.useDirection)(o),v="ltr"===x,b=v&&!l||!v&&l;function w(e){let t=f.current||h.getBoundingClientRect(),n=eF([0,t.width],b?[s,a]:[a,s]);return f.current=t,n(e-t.left)}return(0,t.jsx)(eb,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(ey,{dir:x,"data-orientation":"horizontal",...g,ref:p,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=ec[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),eS=n.forwardRef((e,i)=>{let{min:s,max:a,inverted:o,onSlideStart:l,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=n.useRef(null),h=(0,Q.useComposedRefs)(i,g),m=n.useRef(void 0),p=!o;function f(e){let t=m.current||g.current.getBoundingClientRect(),n=eF([0,t.height],p?[a,s]:[s,a]);return m.current=t,n(e-t.top)}return(0,t.jsx)(eb,{scope:e.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,t.jsx)(ey,{"data-orientation":"vertical",...u,ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);l?.(t)},onSlideMove:e=>{let t=f(e.clientY);r?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=ec[p?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),ey=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:s,onSlideMove:a,onSlideEnd:o,onHomeKeyDown:l,onEndKeyDown:r,onStepKeyDown:c,...d}=e,u=ex(ed,i);return(0,t.jsx)(ea.Primitive.span,{...d,ref:n,onKeyDown:(0,J.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(r(e),e.preventDefault()):el.concat(er).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,J.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,J.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,J.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),o(e))})})}),ek="SliderTrack",eC=n.forwardRef((e,n)=>{let{__scopeSlider:i,...s}=e,a=ex(ek,i);return(0,t.jsx)(ea.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:n})});eC.displayName=ek;var eM="SliderRange",eN=n.forwardRef((e,i)=>{let{__scopeSlider:s,...a}=e,o=ex(eM,s),l=ew(eM,s),r=n.useRef(null),c=(0,Q.useComposedRefs)(i,r),d=o.values.length,u=o.values.map(e=>eD(e,o.min,o.max)),g=d>1?Math.min(...u):0,h=100-Math.max(...u);return(0,t.jsx)(ea.Primitive.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...a,ref:c,style:{...e.style,[l.startEdge]:g+"%",[l.endEdge]:h+"%"}})});eN.displayName=eM;var eA="SliderThumb",eI=n.forwardRef((e,i)=>{let s=eg(e.__scopeSlider),[a,o]=n.useState(null),l=(0,Q.useComposedRefs)(i,e=>o(e)),r=n.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eT,{...e,ref:l,index:r})}),eT=n.forwardRef((e,i)=>{var s,a,o,l,r;let c,d,{__scopeSlider:u,index:g,name:h,...m}=e,p=ex(eA,u),f=ew(eA,u),[x,v]=n.useState(null),b=(0,Q.useComposedRefs)(i,e=>v(e)),w=!x||p.form||!!x.closest("form"),j=(0,es.useSize)(x),S=p.values[g],y=void 0===S?0:eD(S,p.min,p.max),k=(s=g,(a=p.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),C=j?.[f.size],M=C?(o=C,l=y,r=f.direction,d=eF([0,50],[0,c=o/2]),(c-d(l)*r)*r):0;return n.useEffect(()=>{if(x)return p.thumbs.add(x),()=>{p.thumbs.delete(x)}},[x,p.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${y}% + ${M}px)`},children:[(0,t.jsx)(eu.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(ea.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":p.min,"aria-valuenow":S,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...m,ref:b,style:void 0===S?{display:"none"}:e.style,onFocus:(0,J.composeEventHandlers)(e.onFocus,()=>{p.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(eP,{name:h??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:S},g)]})});eI.displayName=eA;var eP=n.forwardRef(({__scopeSlider:e,value:i,...s},a)=>{let o=n.useRef(null),l=(0,Q.useComposedRefs)(o,a),r=(0,ei.usePrevious)(i);return n.useEffect(()=>{let e=o.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(r!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[r,i]),(0,t.jsx)(ea.Primitive.input,{style:{display:"none"},...s,ref:l,defaultValue:i})});function eD(e,t,n){return(0,Y.clamp)(100/(n-t)*(e-t),[0,100])}function eF(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}eP.displayName="RadioBubbleInput",e.s(["Range",()=>eN,"Root",()=>ev,"Slider",()=>ev,"SliderRange",()=>eN,"SliderThumb",()=>eI,"SliderTrack",()=>eC,"Thumb",()=>eI,"Track",()=>eC,"createSliderScope",()=>ep],429991);var eE=e.i(429991),eE=eE;function eR({className:e,defaultValue:i,value:s,min:a=0,max:o=100,...l}){let r=n.useMemo(()=>Array.isArray(s)?s:Array.isArray(i)?i:[a,o],[s,i,a,o]);return(0,t.jsxs)(eE.Root,{"data-slot":"slider",defaultValue:i,value:s,min:a,max:o,className:(0,M.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...l,children:[(0,t.jsx)(eE.Track,{"data-slot":"slider-track",className:(0,M.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)(eE.Range,{"data-slot":"slider-range",className:(0,M.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:r.length},(e,n)=>(0,t.jsx)(eE.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},n))]})}let ez=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eL=ez.length-1;function eB(e){let t=0,n=Math.abs(e-ez[0]);for(let i=1;i<ez.length;i++){let s=Math.abs(e-ez[i]);s<n&&(n=s,t=i)}return t}function e_({id:e,testId:i,value:s,onChange:a,onBlur:o,defaultSeconds:l=1800}){var r;let c,d,u=(""===s?l:parseInt(s,10))||l,[g,h]=(0,n.useState)(()=>eB(u)),m=eB(u);m!==g&&ez[g]!==u&&h(m);let p=(0,n.useCallback)(([e])=>{h(e),a(String(ez[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eR,{id:e,"data-testid":i,min:0,max:eL,step:1,value:[g],onValueChange:p,onValueCommit:()=>o(),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=ez[g])/3600),d=Math.round(r%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eH=[{value:E.Language.English,nativeName:"English"},{value:E.Language.Ukrainian,nativeName:"Українська"},{value:E.Language.Russian,nativeName:"Русский"},{value:E.Language.Portuguese,nativeName:"Português"},{value:E.Language.Spanish,nativeName:"Español"},{value:E.Language.Arabic,nativeName:"العربية"},{value:E.Language.Hebrew,nativeName:"עברית"},{value:E.Language.French,nativeName:"Français"},{value:E.Language.German,nativeName:"Deutsch"}],eG=[{value:E.EditorType.VsCode,label:"VS Code"},{value:E.EditorType.Cursor,label:"Cursor"},{value:E.EditorType.Windsurf,label:"Windsurf"},{value:E.EditorType.Zed,label:"Zed"},{value:E.EditorType.Antigravity,label:"Antigravity"}],eK=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],eV=new Set([E.AgentType.CopilotCli]),eO=new Set([E.AgentType.OpenRouter,E.AgentType.TogetherAi]),eW=[{value:E.AgentAuthMethod.Session,label:"Session"},{value:E.AgentAuthMethod.Token,label:"Token"}],eq=[{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:o.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:l.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:"home-page",labelKey:"settings.sections.homePage",icon:w.Home},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"integrations",labelKey:"settings.sections.integrations",icon:y.Github},{id:"database",labelKey:"settings.sections.database",icon:u}];function eU({label:e,description:n,htmlFor:i,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(N.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function e$({label:e,description:n,id:i,testId:s,checked:a,onChange:o,disabled:l}){return(0,t.jsx)(eU,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(T.Switch,{id:i,"data-testid":s,checked:a,onCheckedChange:o,disabled:l,className:(0,M.cn)("cursor-pointer",l&&"cursor-not-allowed opacity-50")})})}function eZ({icon:e,title:n,description:i,badge:s,testId:a,children:o}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:n}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:i})]}),(0,t.jsx)("div",{className:"px-4",children:o})]})}function eX({id:e,testId:n,value:i,onChange:s,onBlur:a,placeholder:o,min:l=1,max:r,step:c=1,suffix:d}){let{t:u}=(0,C.useTranslation)("web"),g=""===i?void 0:parseInt(i,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(l,(g??parseInt(o,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":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:o,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(o,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)(m.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eY({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 eJ({children:e,links:n}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(p.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eQ({settings:e,shepHome:r,dbFileSize:h,availableTerminals:m}){let{t:p,i18n:N}=(0,C.useTranslation)("web"),{showSaving:T,showSaved:D,save:R}=function(){let{t:e}=(0,C.useTranslation)("web"),[t,i]=(0,n.useTransition)(),[s,a]=(0,n.useState)(!1),[o,l]=(0,n.useState)(!1),r=(0,n.useRef)(null),c=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,r.current=setTimeout(()=>{r.current=null,c.current&&(a(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!t&&s&&(c.current=!0,r.current||(a(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[t,s]),{showSaving:s,showSaved:o,save:(0,n.useCallback)(t=>{i(async()=>{let n=await F(t);n.success||k.toast.error(n.error??e("settings.failedToSave"))})},[i,e])}}(),z=e.featureFlags??{envDeploy:!1,debug:!1,reactFileManager:!1,projects:!1,codeReview:!1,collaboration:!1},[L,_]=(0,n.useState)(e.user?.preferredLanguage??E.Language.English),[H,G]=(0,n.useState)(e.agent.type),[K,V]=(0,n.useState)(e.agent.authMethod),[q,U]=(0,n.useState)(e.agent.token??""),[$,Z]=(0,n.useState)(!1),[Y,J]=(0,n.useState)(e.environment.defaultEditor),[Q,ee]=(0,n.useState)(e.environment.shellPreference),[et,en]=(0,n.useState)(e.environment.terminalPreference??E.TerminalType.System),ei=m?m.filter(e=>e.available):[{id:E.TerminalType.System,name:p("settings.environment.systemTerminal"),available:!0}],[es,ea]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[eo,el]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[er,ec]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[ed,eu]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[eg,eh]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[em,ep]=(0,n.useState)(e.workflow.enableEvidence),[ef,ex]=(0,n.useState)(e.workflow.commitEvidence),[ev,eb]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[ew,ej]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[eS,ey]=(0,n.useState)(!1!==e.workflow.defaultFastMode),[ek,eC]=(0,n.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[eM,eN]=(0,n.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eA,eI]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eT,eP]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eD,eF]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eE,eR]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),ez=e.workflow.stageTimeouts,[eL,eB]=(0,n.useState)(String(Math.round((ez?.analyzeMs??18e5)/1e3))),[eQ,e0]=(0,n.useState)(String(Math.round((ez?.requirementsMs??18e5)/1e3))),[e1,e3]=(0,n.useState)(String(Math.round((ez?.researchMs??18e5)/1e3))),[e5,e2]=(0,n.useState)(String(Math.round((ez?.planMs??18e5)/1e3))),[e4,e8]=(0,n.useState)(String(Math.round((ez?.implementMs??18e5)/1e3))),[e9,e6]=(0,n.useState)(String(Math.round((ez?.fastImplementMs??18e5)/1e3))),[e7,te]=(0,n.useState)(String(Math.round((ez?.mergeMs??18e5)/1e3))),tt=e.workflow.analyzeRepoTimeouts,[tn,ti]=(0,n.useState)(String(Math.round((tt?.analyzeMs??6e5)/1e3))),ts=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ta,to]=(0,n.useState)(ts.enabled),[tl,tr]=(0,n.useState)(String(ts.autoTimeoutMinutes)),[tc,td]=(0,n.useState)(String(ts.maxConcurrentSessions)),[tu,tg]=(0,n.useState)(e.defaultHomePage??E.DefaultHomePage.ControlCenter),th=e.fabLayout??{swapPosition:!1},[tm,tp]=(0,n.useState)(th.swapPosition),[tf,tx]=(0,n.useState)(e.notifications.inApp.enabled),[tv,tb]=(0,n.useState)({...e.notifications.events}),[tw,tj]=(0,n.useState)({...z}),tS=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",ty=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tk=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tC=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",tM=ez?.analyzeMs!=null?String(Math.round(ez.analyzeMs/1e3)):"",tN=ez?.requirementsMs!=null?String(Math.round(ez.requirementsMs/1e3)):"",tA=ez?.researchMs!=null?String(Math.round(ez.researchMs/1e3)):"",tI=ez?.planMs!=null?String(Math.round(ez.planMs/1e3)):"",tT=ez?.implementMs!=null?String(Math.round(ez.implementMs/1e3)):"",tP=ez?.fastImplementMs!=null?String(Math.round(ez.fastImplementMs/1e3)):"",tD=ez?.mergeMs!=null?String(Math.round(ez.mergeMs/1e3)):"",tF=tt?.analyzeMs!=null?String(Math.round(tt.analyzeMs/1e3)):"";function tE(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tR(e){if(void 0===e)return;let t=tE(e);return null!=t?1e3*t:void 0}function tz(e={}){let t=tE(e.ciTimeout??eT),n=e.autoArchiveEnabled??ek,i=parseInt(e.autoArchiveDelay??eM,10);return{workflow:{openPrOnImplementationComplete:e.openPr??es,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??eo,allowPrd:e.allowPrd??er,allowPlan:e.allowPlan??ed,allowMerge:e.allowMerge??eg},enableEvidence:e.enableEvidence??em,commitEvidence:e.commitEvidence??ef,ciWatchEnabled:e.ciWatchEnabled??ev,hideCiStatus:e.hideCiStatus??ew,defaultFastMode:e.defaultFastMode??eS,autoArchiveDelayMinutes:n?Number.isNaN(i)||i<1?10:i:0,ciMaxFixAttempts:tE(e.ciMaxFix??eA),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tE(e.ciLogMax??eD),ciWatchPollIntervalSeconds:tE(e.ciPollInterval??eE),stageTimeouts:{analyzeMs:tR(e.analyzeTimeout??eL),requirementsMs:tR(e.requirementsTimeout??eQ),researchMs:tR(e.researchTimeout??e1),planMs:tR(e.planTimeout??e5),implementMs:tR(e.implementTimeout??e4),fastImplementMs:tR(e.fastImplementTimeout??e9),mergeMs:tR(e.mergeTimeout??e7)},analyzeRepoTimeouts:{analyzeMs:tR(e.analyzeRepoTimeout??tn)}}}}function tL(e={}){return{notifications:{inApp:{enabled:e.inApp??tf},events:e.events??tv}}}let[tB,t_]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=eq.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&&t_(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let tH=(0,n.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:p("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,M.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",T?"opacity-100":"opacity-0"),children:p("settings.saving")}),(0,t.jsxs)("span",{className:(0,M.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",D&&!T?"opacity-100":"opacity-0"),children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),p("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:eq.map(e=>{let n=e.icon,i=tB===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tH(e.id),className:(0,M.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:p(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)(eZ,{icon:g.Globe,title:p("settings.language.title"),description:p("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eU,{label:p("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(P.Select,{value:L,onValueChange:function(e){_(e),N.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,R({user:{preferredLanguage:e}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(P.SelectValue,{placeholder:p("settings.language.placeholder")})}),(0,t.jsx)(P.SelectContent,{children:eH.map(e=>(0,t.jsx)(P.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)(eZ,{icon:s.Bot,title:p("settings.agent.sectionTitle"),description:p("settings.agent.sectionDescription"),testId:"agent-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.agent.agentAndModel"),description:p("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(W.AgentModelPicker,{initialAgentType:H,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>{G(e),eO.has(e)&&K!==E.AgentAuthMethod.Token?(V(E.AgentAuthMethod.Token),R({agent:{type:e,authMethod:E.AgentAuthMethod.Token}})):eV.has(e)&&K!==E.AgentAuthMethod.Session&&(V(E.AgentAuthMethod.Session),R({agent:{type:e,authMethod:E.AgentAuthMethod.Session}}))},className:"w-55"})}),(0,t.jsx)(eU,{label:"Auth Method",description:"How this agent authenticates",htmlFor:"agent-auth-method",children:(0,t.jsxs)(P.Select,{value:K,onValueChange:e=>{V(e);let t={type:H,authMethod:e};e===E.AgentAuthMethod.Token&&(t.token=q),R({agent:t})},disabled:eV.has(H)||eO.has(H),children:[(0,t.jsx)(P.SelectTrigger,{id:"agent-auth-method","data-testid":"agent-auth-method-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eW.filter(e=>eV.has(H)?e.value===E.AgentAuthMethod.Session:!eO.has(H)||e.value===E.AgentAuthMethod.Token).map(e=>(0,t.jsx)(P.SelectItem,{value:e.value,children:e.label},e.value))})]})}),eO.has(H)&&(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."})}),K===E.AgentAuthMethod.Token&&(0,t.jsx)(eU,{label:"API Token",description:"Saves on blur",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-55",children:[(0,t.jsx)(A.Input,{id:"agent-token","data-testid":"agent-token-input",type:$?"text":"password",value:q,onChange:e=>U(e.target.value),onBlur:()=>{q!==(e.agent.token??"")&&R({agent:{type:H,authMethod:K,token:q}})},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:()=>Z(!$),"data-testid":"toggle-token-visibility","aria-label":$?"Hide token":"Show token",children:$?(0,t.jsx)(S.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(j.Eye,{className:"h-3.5 w-3.5"})})]})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:p("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:p("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:p("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)(eZ,{icon:a.Terminal,title:p("settings.environment.sectionTitle"),description:p("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.environment.defaultEditor"),description:p("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(P.Select,{value:Y,onValueChange:e=>{J(e),R({environment:{defaultEditor:e,shellPreference:Q,terminalPreference:et}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eG.map(e=>{var n;let i=(n=e.value)&&n in O?O[n]:B;return(0,t.jsx)(P.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eU,{label:p("settings.environment.shell"),description:p("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(P.Select,{value:Q,onValueChange:e=>{ee(e),R({environment:{defaultEditor:Y,shellPreference:e,terminalPreference:et}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eK.map(e=>(0,t.jsx)(P.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eU,{label:p("settings.environment.terminal"),description:p("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(P.Select,{value:et,onValueChange:e=>{en(e),R({environment:{defaultEditor:Y,shellPreference:Q,terminalPreference:e}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:ei.map(e=>(0,t.jsx)(P.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:p("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)(eZ,{icon:o.GitBranch,title:p("settings.workflow.title"),description:p("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.workflow.defaultFastMode"),description:p("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:eS,onChange:e=>{ey(e),R(tz({defaultFastMode:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.approve")}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApprovePrd"),description:p("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:er,onChange:e=>{ec(e),R(tz({allowPrd:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApprovePlan"),description:p("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:ed,onChange:e=>{eu(e),R(tz({allowPlan:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApproveMerge"),description:p("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:eg,onChange:e=>{eh(e),R(tz({allowMerge:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.evidence")}),(0,t.jsx)(e$,{label:p("settings.workflow.collectEvidence"),description:p("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:em,onChange:e=>{ep(e),e?R(tz({enableEvidence:e})):(ex(!1),R(tz({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(e$,{label:p("settings.workflow.addEvidenceToPr"),description:p("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:ef,disabled:!em||!es,onChange:e=>{ex(e),R(tz({commitEvidence:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.git")}),(0,t.jsx)(e$,{label:p("settings.workflow.pushOnComplete"),description:p("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:eo,onChange:e=>{el(e),R(tz({pushOnComplete:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.openPrOnComplete"),description:p("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:es,onChange:e=>{ea(e),e?R(tz({openPr:e})):(ex(!1),R(tz({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(e$,{label:p("settings.workflow.watchCiAfterPush"),description:p("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:ev,onChange:e=>{eb(e),R(tz({ciWatchEnabled:e}))}}),(0,t.jsx)(eY,{children:"Archive"}),(0,t.jsx)(e$,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ek,onChange:e=>{eC(e),R(tz({autoArchiveEnabled:e}))}}),(0,t.jsx)(eU,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(eX,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:eM,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{eN(e)},onBlur:()=>{if(!ek)return;let e=parseInt(eM,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));eN(String(t)),R(tz({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:p("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:p("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)(eZ,{icon:l.Activity,title:p("settings.ci.title"),description:p("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.ci.maxFixAttempts"),description:p("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(eX,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eA,onChange:eI,onBlur:()=>{eA!==tS&&R(tz({ciMaxFix:eA}))},min:1,max:10})}),(0,t.jsx)(eU,{label:p("settings.ci.watchTimeout"),description:p("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(eX,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eT,onChange:eP,onBlur:()=>{eT!==ty&&R(tz({ciTimeout:eT}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eU,{label:p("settings.ci.maxLogSize"),description:p("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(eX,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eD,onChange:eF,onBlur:()=>{eD!==tk&&R(tz({ciLogMax:eD}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eU,{label:p("settings.ci.pollInterval"),description:p("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(eX,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eE,onChange:eR,onBlur:()=>{eE!==tC&&R(tz({ciPollInterval:eE}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(e$,{label:p("settings.ci.hideCiStatus"),description:p("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ew,onChange:e=>{ej(e),R(tz({hideCiStatus:e}))}})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:p("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:p("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)(eZ,{icon:x.Timer,title:p("settings.stageTimeouts.title"),description:p("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eY,{children:p("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.analyze"),description:p("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(e_,{id:"timeout-analyze",testId:"timeout-analyze-input",value:eL,onChange:eB,onBlur:()=>{eL!==tM&&R(tz({analyzeTimeout:eL}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.requirements"),description:p("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(e_,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eQ,onChange:e0,onBlur:()=>{eQ!==tN&&R(tz({requirementsTimeout:eQ}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.research"),description:p("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(e_,{id:"timeout-research",testId:"timeout-research-input",value:e1,onChange:e3,onBlur:()=>{e1!==tA&&R(tz({researchTimeout:e1}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.plan"),description:p("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(e_,{id:"timeout-plan",testId:"timeout-plan-input",value:e5,onChange:e2,onBlur:()=>{e5!==tI&&R(tz({planTimeout:e5}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.implement"),description:p("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(e_,{id:"timeout-implement",testId:"timeout-implement-input",value:e4,onChange:e8,onBlur:()=>{e4!==tT&&R(tz({implementTimeout:e4}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.fastImplement"),description:p("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(e_,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:e9,onChange:e6,onBlur:()=>{e9!==tP&&R(tz({fastImplementTimeout:e9}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.merge"),description:p("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(e_,{id:"timeout-merge",testId:"timeout-merge-input",value:e7,onChange:te,onBlur:()=>{e7!==tD&&R(tz({mergeTimeout:e7}))},defaultSeconds:1800})}),(0,t.jsx)(eY,{children:p("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.analyze"),description:p("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(e_,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:tn,onChange:ti,onBlur:()=>{tn!==tF&&R(tz({analyzeRepoTimeout:tn}))},defaultSeconds:600})})]}),(0,t.jsx)(eJ,{children:p("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)(eZ,{icon:c,title:p("settings.notifications.title"),description:p("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eY,{children:p("settings.notifications.channels")}),(0,t.jsx)(e$,{label:p("settings.notifications.inAppLabel"),description:p("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:tf,onChange:e=>{tx(e),R(tL({inApp:e}))}}),(0,t.jsx)(eY,{children:p("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:tv.agentStarted,onChange:e=>{let t={...tv,agentStarted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:tv.phaseCompleted,onChange:e=>{let t={...tv,phaseCompleted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:tv.waitingApproval,onChange:e=>{let t={...tv,waitingApproval:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:tv.agentCompleted,onChange:e=>{let t={...tv,agentCompleted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:tv.agentFailed,onChange:e=>{let t={...tv,agentFailed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(eY,{children:p("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:tv.prMerged,onChange:e=>{let t={...tv,prMerged:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:tv.prClosed,onChange:e=>{let t={...tv,prClosed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:tv.prChecksPassed,onChange:e=>{let t={...tv,prChecksPassed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:tv.prChecksFailed,onChange:e=>{let t={...tv,prChecksFailed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:tv.prBlocked,onChange:e=>{let t={...tv,prBlocked:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:tv.mergeReviewReady,onChange:e=>{let t={...tv,mergeReviewReady:e};tb(t),R(tL({events:t}))}})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:p("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)(eZ,{icon:d,title:p("settings.featureFlags.title"),description:p("settings.featureFlags.sectionDescription"),badge:p("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.featureFlags.deployments"),description:p("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:tw.envDeploy,onChange:e=>{let t={...tw,envDeploy:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.debug"),description:p("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:tw.debug,onChange:e=>{let t={...tw,debug:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.reactFileManager"),description:p("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:tw.reactFileManager,onChange:e=>{let t={...tw,reactFileManager:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.projects"),description:p("settings.featureFlags.projectsDescription"),id:"flag-projects",testId:"switch-flag-projects",checked:tw.projects,onChange:e=>{let t={...tw,projects:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.codeReview"),description:p("settings.featureFlags.codeReviewDescription"),id:"flag-code-review",testId:"switch-flag-code-review",checked:tw.codeReview,onChange:e=>{let t={...tw,codeReview:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.collaboration"),description:p("settings.featureFlags.collaborationDescription"),id:"flag-collaboration",testId:"switch-flag-collaboration",checked:tw.collaboration,onChange:e=>{let t={...tw,collaboration:e};tj(t),R({featureFlags:t})}})]}),(0,t.jsx)(eJ,{children:p("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)(eZ,{icon:v.MessageSquare,title:p("settings.interactiveAgent.title"),description:p("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.interactiveAgent.enableChatTab"),description:p("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ta,onChange:e=>{to(e),R({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(tl,10)||15,maxConcurrentSessions:parseInt(tc,10)||3}})}}),(0,t.jsx)(eU,{label:p("settings.interactiveAgent.autoTimeout"),description:p("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(eX,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:tl,placeholder:"15",min:1,max:120,suffix:"min",onChange:tr,onBlur:()=>{let e=parseInt(tl,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));tr(String(t)),R({interactiveAgent:{enabled:ta,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(tc,10)||3}})}})}),(0,t.jsx)(eU,{label:p("settings.interactiveAgent.maxConcurrentSessions"),description:p("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(eX,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:tc,placeholder:"3",min:1,max:10,onChange:td,onBlur:()=>{let e=parseInt(tc,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));td(String(t)),R({interactiveAgent:{enabled:ta,autoTimeoutMinutes:parseInt(tl,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eJ,{children:p("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-home-page",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eZ,{icon:w.Home,title:p("settings.homePage.title"),description:p("settings.homePage.description"),testId:"home-page-settings-section",children:(0,t.jsx)(eU,{label:p("settings.homePage.label"),description:p("settings.homePage.labelDescription"),htmlFor:"default-home-page",children:(0,t.jsxs)(P.Select,{value:tu,onValueChange:e=>{tg(e),R({defaultHomePage:e})},children:[(0,t.jsx)(P.SelectTrigger,{id:"default-home-page","data-testid":"default-home-page-select",className:"w-44",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:Object.values(E.DefaultHomePage).map(e=>(0,t.jsx)(P.SelectItem,{value:e,children:p(`settings.homePage.options.${e}`)},e))})]})})}),(0,t.jsx)(eJ,{children:p("settings.homePage.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)(eZ,{icon:b.LayoutGrid,title:p("settings.fabLayout.title"),description:p("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(e$,{label:p("settings.fabLayout.swapPosition"),description:p("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:tm,onChange:e=>{tp(e),R({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eJ,{children:p("settings.fabLayout.hint")})]}),(0,t.jsxs)("div",{id:"section-integrations",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eZ,{icon:y.Github,title:"GitHub",description:"Connect a Personal Access Token so gh, git push, and other tools authenticate automatically in shep terminals.",testId:"github-integration-section",children:(0,t.jsx)(X,{})}),(0,t.jsx)(eJ,{children:"The token is encrypted with your local LocalSecretBox and only injected into terminal sessions you start from shep. It never leaves this machine."})]}),(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)(eZ,{icon:u,title:p("settings.database.title"),description:p("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.database.location"),description:p("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)(eU,{label:p("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:h})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:p("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:p("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>eQ],541952)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(679606),s=e.i(294237),a=e.i(131777);let r=(0,s.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 i({className:e,variant:s,...i}){return(0,t.jsx)("div",{className:(0,a.cn)(r({variant:s}),e),...i})}e.s(["Badge",()=>i])},602287,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(90033),r=e.i(860253),i=e.i(131777);let l=a.Dialog.Root,o=a.Dialog.Trigger,d=a.Dialog.Portal,n=a.Dialog.Close,c=s.forwardRef(({className:e,onClick:s,...r},l)=>(0,t.jsx)(a.Dialog.Overlay,{ref:l,className:(0,i.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),s?.(e)},...r}));c.displayName=a.Dialog.Overlay.displayName;let u=s.forwardRef(({className:e,children:s,...l},o)=>(0,t.jsxs)(d,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(a.Dialog.Content,{ref:o,className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...l,children:[s,(0,t.jsxs)(a.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=a.Dialog.Content.displayName;let p=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...s});p.displayName="DialogHeader";let x=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...s});x.displayName="DialogFooter";let m=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Dialog.Title,{ref:r,className:(0,i.cn)("text-lg leading-none font-semibold tracking-tight",e),...s}));m.displayName=a.Dialog.Title.displayName;let h=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Dialog.Description,{ref:r,className:(0,i.cn)("text-muted-foreground text-sm",e),...s}));h.displayName=a.Dialog.Description.displayName,e.s(["Dialog",()=>l,"DialogClose",()=>n,"DialogContent",()=>u,"DialogDescription",()=>h,"DialogFooter",()=>x,"DialogHeader",()=>p,"DialogTitle",()=>m,"DialogTrigger",()=>o])},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)},853756,e=>{"use strict";let t=(0,e.i(903645).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],853756)},383379,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],383379)},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)},951911,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(291967),r=e.i(205978),i=e.i(922528),l=e.i(936589),o=e.i(23405),d=e.i(277624),n=e.i(287620),c="Switch",[u,p]=(0,i.createContextScope)(c),[x,m]=u(c),h=s.forwardRef((e,i)=>{let{__scopeSwitch:o,name:d,checked:u,defaultChecked:p,required:m,disabled:h,value:f="on",onCheckedChange:g,form:b,...y}=e,[N,w]=s.useState(null),S=(0,r.useComposedRefs)(i,e=>w(e)),k=s.useRef(!1),D=!N||b||!!N.closest("form"),[I,C]=(0,l.useControllableState)({prop:u,defaultProp:p??!1,onChange:g,caller:c});return(0,t.jsxs)(x,{scope:o,checked:I,disabled:h,children:[(0,t.jsx)(n.Primitive.button,{type:"button",role:"switch","aria-checked":I,"aria-required":m,"data-state":j(I),"data-disabled":h?"":void 0,disabled:h,value:f,...y,ref:S,onClick:(0,a.composeEventHandlers)(e.onClick,e=>{C(e=>!e),D&&(k.current=e.isPropagationStopped(),k.current||e.stopPropagation())})}),D&&(0,t.jsx)(v,{control:N,bubbles:!k.current,name:d,value:f,checked:I,required:m,disabled:h,form:b,style:{transform:"translateX(-100%)"}})]})});h.displayName=c;var f="SwitchThumb",g=s.forwardRef((e,s)=>{let{__scopeSwitch:a,...r}=e,i=m(f,a);return(0,t.jsx)(n.Primitive.span,{"data-state":j(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:s})});g.displayName=f;var v=s.forwardRef(({__scopeSwitch:e,control:a,checked:i,bubbles:l=!0,...n},c)=>{let u=s.useRef(null),p=(0,r.useComposedRefs)(u,c),x=(0,o.usePrevious)(i),m=(0,d.useSize)(a);return s.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(x!==i&&t){let s=new Event("click",{bubbles:l});t.call(e,i),e.dispatchEvent(s)}},[x,i,l]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i,...n,tabIndex:-1,ref:p,style:{...n.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function j(e){return e?"checked":"unchecked"}v.displayName="SwitchBubbleInput",e.s(["Root",()=>h,"Switch",()=>h,"SwitchThumb",()=>g,"Thumb",()=>g,"createSwitchScope",()=>p],595291);var b=e.i(595291),b=b,y=e.i(131777);function N({className:e,size:s="default",...a}){return(0,t.jsx)(b.Root,{"data-slot":"switch","data-size":s,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)(b.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",()=>N],951911)},123620,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(294237),r=e.i(131777);let i=(0,a.cva)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:start-4 [&>svg]:text-foreground [&>svg+div]:translate-y-[-3px] [&>svg~*]:ps-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),l=s.forwardRef(({className:e,variant:s,...a},l)=>(0,t.jsx)("div",{ref:l,role:"alert",className:(0,r.cn)(i({variant:s}),e),...a}));l.displayName="Alert",s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("h5",{ref:a,className:(0,r.cn)("mb-1 leading-none font-medium tracking-tight",e),...s})).displayName="AlertTitle";let o=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("text-sm [&_p]:leading-relaxed",e),...s}));o.displayName="AlertDescription",e.s(["Alert",()=>l,"AlertDescription",()=>o])},320331,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(735364),r=e.i(141957),i=e.i(698127),l=e.i(547373),o=e.i(951911),d=e.i(123620),n=e.i(317406),c=e.i(508893);let u=(0,c.createServerReference)("404ab839c4d4591cdd68d721efa1068f1c40f9f60f",c.callServer,void 0,c.findSourceMapURL,"configureSupervisor"),p=[{value:n.SupervisorAutonomy.advisory,label:"Advisory",description:"Supervisor recommends, user always decides. Safest default."},{value:n.SupervisorAutonomy.cosign,label:"Co-sign",description:"Both supervisor and user must approve before a gate can pass."},{value:n.SupervisorAutonomy.autonomous,label:"Autonomous",description:"Supervisor acts on the user’s behalf within configured policy."}],x=["prd","plan","merge"];function m({scopeType:e,scopeId:c,featureId:m,initialPolicy:h,onSubmitOverride:f,forceState:g="default"}){let v=h?.autonomyLevel??n.SupervisorAutonomy.advisory,j=function(e){if(!e)return{};try{let t=JSON.parse(e);if(!t||"object"!=typeof t)return{};return t}catch{return{}}}(h?.gateAuthorityJson),[b,y]=(0,s.useState)(v),[N,w]=(0,s.useState)(h?.modelId??""),[S,k]=(0,s.useState)(h?.promptVersion??""),[D,I]=(0,s.useState)(j),[C,T]=(0,s.useState)(!1),[A,z]=(0,s.useState)("error"===g?"Failed to save supervisor policy":null),[$,R]=(0,s.useState)(null),V="loading"===g||C,P=async t=>{t.preventDefault(),z(null),T(!0);let s={scopeType:e,scopeId:c,featureId:m,autonomyLevel:b,modelId:N.trim()||void 0,promptVersion:S.trim()||void 0,gateAuthority:Object.keys(D).length>0?D:void 0};try{let e=f?await f(s):await u(s);e.ok?R(new Date):z(e.error??"Failed to save supervisor policy")}catch(e){z(e instanceof Error?e.message:"Failed to save supervisor policy")}finally{T(!1)}};return(0,t.jsxs)("form",{onSubmit:P,"data-testid":"supervisor-config-form",className:"flex flex-col gap-6 rounded-lg border p-6","aria-busy":V,children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Supervisor agent"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:m?"Per-feature override. Falls back to the scope-level policy when unset.":`${e.charAt(0).toUpperCase()+e.slice(1)}-level policy. Applies to every feature unless overridden.`})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"autonomyLevel",children:"Autonomy level"}),(0,t.jsxs)(l.Select,{value:b,onValueChange:e=>y(e),disabled:V,children:[(0,t.jsx)(l.SelectTrigger,{id:"autonomyLevel","data-testid":"autonomy-trigger",children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsx)(l.SelectContent,{children:p.map(e=>(0,t.jsx)(l.SelectItem,{value:e.value,children:e.label},e.value))})]}),(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:p.find(e=>e.value===b)?.description})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"modelId",children:"Evaluator model"}),(0,t.jsx)(i.Input,{id:"modelId","data-testid":"model-id-input",placeholder:"e.g. claude-sonnet-4",value:N,onChange:e=>w(e.target.value),disabled:V})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"promptVersion",children:"Prompt version"}),(0,t.jsx)(i.Input,{id:"promptVersion","data-testid":"prompt-version-input",placeholder:"e.g. v1",value:S,onChange:e=>k(e.target.value),disabled:V})]}),(0,t.jsxs)("fieldset",{className:"flex flex-col gap-3",disabled:V,children:[(0,t.jsx)("legend",{className:"text-sm font-medium",children:"Per-gate authority"}),x.map(e=>{let s=D[e]??"inherit",a=`gate-${e}`;return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3","data-testid":`gate-row-${e}`,children:[(0,t.jsx)(r.Label,{htmlFor:a,className:"capitalize",children:e}),(0,t.jsxs)(l.Select,{value:s,onValueChange:t=>{I(s=>{let a={...s};return"inherit"===t?delete a[e]:a[e]=t,a})},children:[(0,t.jsx)(l.SelectTrigger,{id:a,className:"w-44","data-testid":`gate-trigger-${e}`,children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsxs)(l.SelectContent,{children:[(0,t.jsx)(l.SelectItem,{value:"inherit",children:"Inherit"}),p.map(e=>(0,t.jsx)(l.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e)})]}),h?(0,t.jsxs)("div",{className:"flex items-center justify-between rounded border px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("span",{className:"text-sm font-medium",children:["Currently ",h.enabled?"enabled":"disabled"]}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"Toggle without changing other settings"})]}),(0,t.jsx)(o.Switch,{checked:h.enabled,disabled:!0,"data-testid":"enabled-readonly","aria-label":"Supervisor enabled (read-only — toggle via the Enable/Disable buttons)"})]}):null,A?(0,t.jsx)(d.Alert,{variant:"destructive","data-testid":"form-error",children:(0,t.jsx)(d.AlertDescription,{children:A})}):null,$?(0,t.jsx)(d.Alert,{"data-testid":"form-saved",children:(0,t.jsxs)(d.AlertDescription,{children:["Saved at ",$.toLocaleTimeString()]})}):null,(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(a.Button,{type:"submit",disabled:V,"data-testid":"submit",children:V?"Saving…":h?"Update supervisor":"Save supervisor"})})]})}e.s(["SupervisorConfigForm",()=>m],320331)},270198,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(256460),r=e.i(273889),i=e.i(860253),l=e.i(735364);function o({id:e,title:o,description:d,ctaLabel:n,ctaHref:c,forceVisible:u}){let p=`shep:onboarding:${e}`,[x,m]=(0,s.useState)(!1),[h,f]=(0,s.useState)(!0);return((0,s.useEffect)(()=>{if(m(!0),u)return void f(!0);try{let e=window.localStorage.getItem(p);f("1"!==e)}catch{f(!0)}},[u,p]),x&&h)?(0,t.jsxs)("div",{className:"bg-muted/40 flex items-start gap-3 rounded-lg border p-4","data-testid":`welcome-banner-${e}`,children:[(0,t.jsx)("div",{className:"bg-primary/10 text-primary flex h-9 w-9 shrink-0 items-center justify-center rounded-md",children:(0,t.jsx)(r.GraduationCap,{className:"size-4"})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:o}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:d})]}),c&&n?(0,t.jsx)("div",{children:(0,t.jsx)(l.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsx)(a.default,{href:c,"data-testid":`welcome-banner-${e}-cta`,children:n})})}):null]}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"size-7 shrink-0",onClick:function(){if(f(!1),!u)try{window.localStorage.setItem(p,"1")}catch{}},"aria-label":"Dismiss this hint","data-testid":`welcome-banner-${e}-dismiss`,children:(0,t.jsx)(i.X,{className:"size-4"})})]}):null}e.s(["WelcomeBanner",()=>o])},991610,e=>{"use strict";var t=e.i(679606),s=e.i(256460);let a=(0,e.i(903645).default)("earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var r=e.i(976874),i=e.i(949228),l=e.i(853756),o=e.i(383379),d=e.i(598701),n=e.i(81846),c=e.i(152155),u=e.i(735364),p=e.i(845811),x=e.i(317406);let m={[x.SupervisorVerdict.approve]:"default",[x.SupervisorVerdict.reject]:"destructive",[x.SupervisorVerdict.escalate]:"secondary",[x.SupervisorVerdict.advise]:"secondary"};function h({decisions:e,triggerLabel:s="Why?",defaultOpen:a=!1}){let[r,i]=(0,c.useState)(a);if(0===e.length)return null;let l=[...e].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),o=l[l.length-1];return(0,t.jsxs)(p.Drawer,{open:r,onOpenChange:i,direction:"right",children:[(0,t.jsx)(p.DrawerTrigger,{asChild:!0,children:(0,t.jsx)(u.Button,{type:"button",variant:"ghost",size:"sm","data-testid":"supervisor-why-trigger",children:s})}),(0,t.jsxs)(p.DrawerContent,{className:"max-w-md","data-testid":"supervisor-why-drawer",direction:"right",children:[(0,t.jsxs)(p.DrawerHeader,{children:[(0,t.jsx)(p.DrawerTitle,{children:"Supervisor decision"}),(0,t.jsx)(p.DrawerDescription,{children:1===l.length?"Why the supervisor reached this verdict.":`Audit trail for ${l.length} decisions.`})]}),(0,t.jsx)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto px-4 pb-6","data-testid":"supervisor-why-content",children:l.map(e=>(0,t.jsxs)("article",{className:"flex flex-col gap-2 rounded border p-3","data-testid":`decision-row-${e.decisionId}`,children:[(0,t.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(n.Badge,{variant:m[e.verdict]??"secondary","data-testid":`decision-verdict-${e.decisionId}`,className:"capitalize",children:e.verdict}),(0,t.jsx)("time",{className:"text-muted-foreground text-xs",children:function(e){try{return new Date(e).toLocaleString()}catch{return e}}(e.createdAt)})]}),(0,t.jsx)("p",{className:"text-sm whitespace-pre-wrap","data-testid":`decision-rationale-${e.decisionId}`,children:e.rationale}),(0,t.jsxs)("dl",{className:"text-muted-foreground grid grid-cols-2 gap-x-4 gap-y-1 text-xs",children:[(0,t.jsx)("dt",{children:"Model"}),(0,t.jsx)("dd",{"data-testid":`decision-model-${e.decisionId}`,children:e.modelId}),(0,t.jsx)("dt",{children:"Prompt version"}),(0,t.jsx)("dd",{"data-testid":`decision-prompt-${e.decisionId}`,children:e.promptVersion}),e.ruleRef?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:"Rule"}),(0,t.jsx)("dd",{"data-testid":`decision-rule-${e.decisionId}`,children:e.ruleRef})]}):null,"number"==typeof e.confidence?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:"Confidence"}),(0,t.jsxs)("dd",{"data-testid":`decision-confidence-${e.decisionId}`,children:[Math.round(100*e.confidence),"%"]})]}):null,(0,t.jsx)("dt",{children:"Source"}),(0,t.jsxs)("dd",{children:[e.sourceEventKind," · ",e.sourceEventId]})]})]},e.decisionId))}),(0,t.jsxs)("div",{className:"text-muted-foreground border-t p-4 text-xs",children:["Latest verdict: ",(0,t.jsx)("span",{className:"font-medium",children:o.verdict})]})]})]})}let f={[x.SupervisorVerdict.approve]:"default",[x.SupervisorVerdict.reject]:"destructive",[x.SupervisorVerdict.escalate]:"secondary",[x.SupervisorVerdict.advise]:"secondary"},g={advisory:"Advisory",cosign:"Co-sign",autonomous:"Autonomous"};function v({policies:e,recentDecisions:s,names:a={}}){let r=function(e){let t={global:[],app:[],repo:[],feature:[]};for(let s of e)s.featureId?t.feature.push(s):"global"===s.scopeType?t.global.push(s):"app"===s.scopeType?t.app.push(s):"repo"===s.scopeType&&t.repo.push(s);return t}(e);return(0,t.jsxs)("div",{className:"flex flex-col gap-8","data-testid":"supervisor-dashboard",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsxs)("h1",{className:"flex items-center gap-2 text-2xl font-semibold",children:[(0,t.jsx)(d.ShieldCheck,{className:"size-6"}),"Supervisor"]}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Every configured supervisor policy and the most recent decisions across all scopes."})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"supervisor-policies",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold tracking-wide uppercase",children:["Policies ",(0,t.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",e.length,")"]})]}),0===e.length?(0,t.jsx)(y,{}):(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)(b,{kind:"global",policies:r.global,names:a,"data-testid":"scope-group-global"}),(0,t.jsx)(b,{kind:"app",policies:r.app,names:a,"data-testid":"scope-group-app"}),(0,t.jsx)(b,{kind:"repo",policies:r.repo,names:a,"data-testid":"scope-group-repo"}),(0,t.jsx)(b,{kind:"feature",policies:r.feature,names:a,"data-testid":"scope-group-feature"})]})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"supervisor-recent-decisions",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold tracking-wide uppercase",children:["Recent decisions"," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",s.length,")"]})]}),0===s.length?(0,t.jsx)("p",{className:"text-muted-foreground rounded-lg border border-dashed p-4 text-sm",children:"No decisions yet — the supervisor hasn't been invoked or no policies are configured."}):(0,t.jsx)("ul",{className:"flex flex-col divide-y rounded-lg border",children:s.map(e=>{var s,a,r;return(0,t.jsxs)("li",{className:"flex items-start gap-3 px-3 py-2","data-testid":`recent-decision-${e.decisionId}`,children:[(0,t.jsx)(n.Badge,{variant:f[e.verdict]??"secondary",className:"mt-0.5 capitalize",children:e.verdict}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("p",{className:"line-clamp-1 text-sm",children:e.rationale}),(0,t.jsxs)("p",{className:"text-muted-foreground text-xs",children:[(s=e.scopeType,a=e.scopeId,(r=e.featureId)?`feature:${r.slice(0,8)}`:"global"===s?"global":a?`${s}:${a.slice(0,8)}`:s)," ·"," ",e.sourceEventKind," · ",function(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t))return e;for(let{ms:e,label:s}of w)if(t<e)return s(Math.max(1,Math.floor(t/(6e4===e?1e3:36e5===e?6e4:36e5))));return new Date(e).toLocaleDateString()}(e.createdAt)]})]}),(0,t.jsx)(h,{decisions:[e],triggerLabel:"Why?"})]},e.decisionId)})})]})]})}let j={global:"Global",app:"Applications",repo:"Repositories",feature:"Per-feature overrides"};function b({kind:e,policies:a,names:r,...i}){return 0===a.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-2",...i,children:[(0,t.jsxs)("p",{className:"text-muted-foreground flex items-center gap-1.5 text-xs font-medium",children:[(0,t.jsx)(N,{kind:e,className:"size-3"}),j[e]," (",a.length,")"]}),(0,t.jsx)("ul",{className:"flex flex-col divide-y rounded-lg border",children:a.map(a=>{var i;return(0,t.jsxs)("li",{className:"flex items-center gap-3 px-3 py-2","data-testid":`policy-row-${a.id}`,children:[(0,t.jsx)(N,{kind:e,className:"text-muted-foreground size-4 shrink-0","aria-hidden":!0}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("p",{className:"truncate text-sm font-medium",children:function(e,t){if(e.featureId){let s=t.feature?.[e.featureId]??e.featureId,a=e.scopeId?t["app"===e.scopeType?"app":"repo"]?.[e.scopeId]??e.scopeId:"global";return`${s} (under ${a})`}if("global"===e.scopeType)return"Global default";let s="app"===e.scopeType?t.app:t.repo;return e.scopeId?s?.[e.scopeId]??e.scopeId:e.scopeType}(a,r)}),(0,t.jsxs)("p",{className:"text-muted-foreground text-xs",children:[g[a.autonomyLevel]??a.autonomyLevel,a.modelId?` \xb7 ${a.modelId}`:""]})]}),(0,t.jsx)(n.Badge,{variant:a.enabled?"default":"secondary",className:"shrink-0",children:a.enabled?"Enabled":"Disabled"}),(0,t.jsxs)(s.default,{href:(i=a).featureId?`/supervisor/feature/${i.featureId}`:"app"===i.scopeType&&i.scopeId?`/application/${i.scopeId}/supervisor`:"repo"===i.scopeType&&i.scopeId?`/supervisor/repo/${i.scopeId}`:"/supervisor",className:"text-primary inline-flex shrink-0 items-center gap-1 text-xs hover:underline","data-testid":`policy-link-${a.id}`,children:["Configure",(0,t.jsx)(o.ArrowRight,{className:"size-3"})]})]},a.id)})})]})}function y(){return(0,t.jsxs)("div",{className:"bg-muted/30 flex flex-col items-start gap-3 rounded-lg border border-dashed p-6",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:"No supervisor policies configured"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Configure a supervisor at the global, application, repository, or feature level. The cascade picks the most specific match (feature > repo > app > global) at run time."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(s.default,{href:"/",className:"border-border hover:bg-muted inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium","data-testid":"empty-policies-cta-app",children:[(0,t.jsx)(r.Layers,{className:"size-3"}),"Pick an application"]}),(0,t.jsxs)(s.default,{href:"/agents",className:"border-border hover:bg-muted inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium","data-testid":"empty-policies-cta-agents",children:[(0,t.jsx)(o.ArrowRight,{className:"size-3"}),"Edit agent prompts instead"]})]})]})}function N({kind:e,className:s,...o}){let d="global"===e?a:"app"===e?r.Layers:"repo"===e?i.GitBranch:l.Sparkles;return(0,t.jsx)(d,{className:s,...o})}let w=[{ms:6e4,label:e=>`${e}s ago`},{ms:36e5,label:e=>`${e}m ago`},{ms:864e5,label:e=>`${e}h ago`}];e.s(["SupervisorDashboard",()=>v],991610)},417784,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(3214),r=e.i(735364),i=e.i(602287),l=e.i(141957),o=e.i(547373),d=e.i(320331);function n({applications:e,repositories:n,features:u,initialOpen:p}){let[x,m]=(0,s.useState)(!!p),[h,f]=(0,s.useState)("global"),[g,v]=(0,s.useState)(""),[j,b]=(0,s.useState)(""),[y,N]=(0,s.useState)(""),w="global"===h||"app"===h&&g.length>0||"repo"===h&&j.length>0||"feature"===h&&y.length>0,S="feature"===h?function(e,t){if(!e)return"global";let s=t.find(t=>t.id===e);return s?.applicationId?"app":s?.repositoryId?"repo":"global"}(y,u):h,k="app"===h?g:"repo"===h?j:"feature"===h?function(e,t){if(!e)return;let s=t.find(t=>t.id===e);return s?.applicationId??s?.repositoryId}(y,u):void 0,D="feature"===h?y:void 0;return(0,t.jsxs)(i.Dialog,{open:x,onOpenChange:e=>{m(e),e||(f("global"),v(""),b(""),N(""))},children:[(0,t.jsx)(i.DialogTrigger,{asChild:!0,children:(0,t.jsxs)(r.Button,{"data-testid":"create-supervisor-trigger",children:[(0,t.jsx)(a.Plus,{className:"size-4"}),"Create supervisor"]})}),(0,t.jsxs)(i.DialogContent,{className:"max-w-xl","data-testid":"create-supervisor-dialog",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)(i.DialogTitle,{children:"Create supervisor policy"}),(0,t.jsx)(i.DialogDescription,{children:"Pick the scope this supervisor watches, then configure how aggressive it should be. More-specific scopes override less-specific ones at run time."})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(l.Label,{htmlFor:"create-supervisor-scope",children:"Scope"}),(0,t.jsxs)(o.Select,{value:h,onValueChange:e=>f(e),children:[(0,t.jsx)(o.SelectTrigger,{id:"create-supervisor-scope","data-testid":"scope-trigger",children:(0,t.jsx)(o.SelectValue,{})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"global",children:"Global default"}),(0,t.jsxs)(o.SelectItem,{value:"app",disabled:0===e.length,children:["Application",0===e.length?" (none yet)":""]}),(0,t.jsxs)(o.SelectItem,{value:"repo",disabled:0===n.length,children:["Repository",0===n.length?" (none yet)":""]}),(0,t.jsxs)(o.SelectItem,{value:"feature",disabled:0===u.length,children:["Per-feature override",0===u.length?" (none yet)":""]})]})]})]}),"app"===h?(0,t.jsx)(c,{id:"create-supervisor-app",label:"Application",value:g,onChange:v,options:e,testid:"app-trigger"}):null,"repo"===h?(0,t.jsx)(c,{id:"create-supervisor-repo",label:"Repository",value:j,onChange:b,options:n,testid:"repo-trigger"}):null,"feature"===h?(0,t.jsx)(c,{id:"create-supervisor-feature",label:"Feature",value:y,onChange:N,options:u.map(e=>({id:e.id,name:e.name})),testid:"feature-trigger"}):null]}),w?(0,t.jsx)(d.SupervisorConfigForm,{scopeType:S,...void 0!==k&&{scopeId:k},...void 0!==D&&{featureId:D},initialPolicy:null}):(0,t.jsx)(i.DialogFooter,{children:(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:"Pick a scope above to configure the supervisor."})})]})]})}function c({id:e,label:s,value:a,onChange:r,options:i,testid:d}){return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(l.Label,{htmlFor:e,children:s}),(0,t.jsxs)(o.Select,{value:a,onValueChange:r,disabled:0===i.length,children:[(0,t.jsx)(o.SelectTrigger,{id:e,"data-testid":d,children:(0,t.jsx)(o.SelectValue,{placeholder:`Pick a ${s.toLowerCase()}`})}),(0,t.jsx)(o.SelectContent,{children:i.map(e=>(0,t.jsx)(o.SelectItem,{value:e.id,children:e.name},e.id))})]})]})}e.s(["CreateSupervisorDialog",()=>n])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(679606),s=e.i(294237),a=e.i(131777);let r=(0,s.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 i({className:e,variant:s,...i}){return(0,t.jsx)("div",{className:(0,a.cn)(r({variant:s}),e),...i})}e.s(["Badge",()=>i])},602287,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(90033),r=e.i(860253),i=e.i(131777);let l=a.Dialog.Root,o=a.Dialog.Trigger,d=a.Dialog.Portal,n=a.Dialog.Close,c=s.forwardRef(({className:e,onClick:s,...r},l)=>(0,t.jsx)(a.Dialog.Overlay,{ref:l,className:(0,i.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),s?.(e)},...r}));c.displayName=a.Dialog.Overlay.displayName;let u=s.forwardRef(({className:e,children:s,...l},o)=>(0,t.jsxs)(d,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(a.Dialog.Content,{ref:o,className:(0,i.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...l,children:[s,(0,t.jsxs)(a.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=a.Dialog.Content.displayName;let p=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...s});p.displayName="DialogHeader";let x=({className:e,...s})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...s});x.displayName="DialogFooter";let m=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Dialog.Title,{ref:r,className:(0,i.cn)("text-lg leading-none font-semibold tracking-tight",e),...s}));m.displayName=a.Dialog.Title.displayName;let h=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Dialog.Description,{ref:r,className:(0,i.cn)("text-muted-foreground text-sm",e),...s}));h.displayName=a.Dialog.Description.displayName,e.s(["Dialog",()=>l,"DialogClose",()=>n,"DialogContent",()=>u,"DialogDescription",()=>h,"DialogFooter",()=>x,"DialogHeader",()=>p,"DialogTitle",()=>m,"DialogTrigger",()=>o])},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)},853756,e=>{"use strict";let t=(0,e.i(903645).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],853756)},383379,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],383379)},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)},951911,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(291967),r=e.i(205978),i=e.i(922528),l=e.i(936589),o=e.i(23405),d=e.i(277624),n=e.i(287620),c="Switch",[u,p]=(0,i.createContextScope)(c),[x,m]=u(c),h=s.forwardRef((e,i)=>{let{__scopeSwitch:o,name:d,checked:u,defaultChecked:p,required:m,disabled:h,value:f="on",onCheckedChange:g,form:b,...y}=e,[N,w]=s.useState(null),S=(0,r.useComposedRefs)(i,e=>w(e)),k=s.useRef(!1),D=!N||b||!!N.closest("form"),[I,C]=(0,l.useControllableState)({prop:u,defaultProp:p??!1,onChange:g,caller:c});return(0,t.jsxs)(x,{scope:o,checked:I,disabled:h,children:[(0,t.jsx)(n.Primitive.button,{type:"button",role:"switch","aria-checked":I,"aria-required":m,"data-state":j(I),"data-disabled":h?"":void 0,disabled:h,value:f,...y,ref:S,onClick:(0,a.composeEventHandlers)(e.onClick,e=>{C(e=>!e),D&&(k.current=e.isPropagationStopped(),k.current||e.stopPropagation())})}),D&&(0,t.jsx)(v,{control:N,bubbles:!k.current,name:d,value:f,checked:I,required:m,disabled:h,form:b,style:{transform:"translateX(-100%)"}})]})});h.displayName=c;var f="SwitchThumb",g=s.forwardRef((e,s)=>{let{__scopeSwitch:a,...r}=e,i=m(f,a);return(0,t.jsx)(n.Primitive.span,{"data-state":j(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:s})});g.displayName=f;var v=s.forwardRef(({__scopeSwitch:e,control:a,checked:i,bubbles:l=!0,...n},c)=>{let u=s.useRef(null),p=(0,r.useComposedRefs)(u,c),x=(0,o.usePrevious)(i),m=(0,d.useSize)(a);return s.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(x!==i&&t){let s=new Event("click",{bubbles:l});t.call(e,i),e.dispatchEvent(s)}},[x,i,l]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i,...n,tabIndex:-1,ref:p,style:{...n.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function j(e){return e?"checked":"unchecked"}v.displayName="SwitchBubbleInput",e.s(["Root",()=>h,"Switch",()=>h,"SwitchThumb",()=>g,"Thumb",()=>g,"createSwitchScope",()=>p],595291);var b=e.i(595291),b=b,y=e.i(131777);function N({className:e,size:s="default",...a}){return(0,t.jsx)(b.Root,{"data-slot":"switch","data-size":s,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)(b.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",()=>N],951911)},123620,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(294237),r=e.i(131777);let i=(0,a.cva)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:start-4 [&>svg]:text-foreground [&>svg+div]:translate-y-[-3px] [&>svg~*]:ps-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),l=s.forwardRef(({className:e,variant:s,...a},l)=>(0,t.jsx)("div",{ref:l,role:"alert",className:(0,r.cn)(i({variant:s}),e),...a}));l.displayName="Alert",s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("h5",{ref:a,className:(0,r.cn)("mb-1 leading-none font-medium tracking-tight",e),...s})).displayName="AlertTitle";let o=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,r.cn)("text-sm [&_p]:leading-relaxed",e),...s}));o.displayName="AlertDescription",e.s(["Alert",()=>l,"AlertDescription",()=>o])},320331,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(735364),r=e.i(141957),i=e.i(698127),l=e.i(547373),o=e.i(951911),d=e.i(123620),n=e.i(317406),c=e.i(508893);let u=(0,c.createServerReference)("407f1505996e12392b78c4c0a6fc5b2db6515719b1",c.callServer,void 0,c.findSourceMapURL,"configureSupervisor"),p=[{value:n.SupervisorAutonomy.advisory,label:"Advisory",description:"Supervisor recommends, user always decides. Safest default."},{value:n.SupervisorAutonomy.cosign,label:"Co-sign",description:"Both supervisor and user must approve before a gate can pass."},{value:n.SupervisorAutonomy.autonomous,label:"Autonomous",description:"Supervisor acts on the user’s behalf within configured policy."}],x=["prd","plan","merge"];function m({scopeType:e,scopeId:c,featureId:m,initialPolicy:h,onSubmitOverride:f,forceState:g="default"}){let v=h?.autonomyLevel??n.SupervisorAutonomy.advisory,j=function(e){if(!e)return{};try{let t=JSON.parse(e);if(!t||"object"!=typeof t)return{};return t}catch{return{}}}(h?.gateAuthorityJson),[b,y]=(0,s.useState)(v),[N,w]=(0,s.useState)(h?.modelId??""),[S,k]=(0,s.useState)(h?.promptVersion??""),[D,I]=(0,s.useState)(j),[C,T]=(0,s.useState)(!1),[A,z]=(0,s.useState)("error"===g?"Failed to save supervisor policy":null),[$,R]=(0,s.useState)(null),V="loading"===g||C,P=async t=>{t.preventDefault(),z(null),T(!0);let s={scopeType:e,scopeId:c,featureId:m,autonomyLevel:b,modelId:N.trim()||void 0,promptVersion:S.trim()||void 0,gateAuthority:Object.keys(D).length>0?D:void 0};try{let e=f?await f(s):await u(s);e.ok?R(new Date):z(e.error??"Failed to save supervisor policy")}catch(e){z(e instanceof Error?e.message:"Failed to save supervisor policy")}finally{T(!1)}};return(0,t.jsxs)("form",{onSubmit:P,"data-testid":"supervisor-config-form",className:"flex flex-col gap-6 rounded-lg border p-6","aria-busy":V,children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Supervisor agent"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:m?"Per-feature override. Falls back to the scope-level policy when unset.":`${e.charAt(0).toUpperCase()+e.slice(1)}-level policy. Applies to every feature unless overridden.`})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"autonomyLevel",children:"Autonomy level"}),(0,t.jsxs)(l.Select,{value:b,onValueChange:e=>y(e),disabled:V,children:[(0,t.jsx)(l.SelectTrigger,{id:"autonomyLevel","data-testid":"autonomy-trigger",children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsx)(l.SelectContent,{children:p.map(e=>(0,t.jsx)(l.SelectItem,{value:e.value,children:e.label},e.value))})]}),(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:p.find(e=>e.value===b)?.description})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"modelId",children:"Evaluator model"}),(0,t.jsx)(i.Input,{id:"modelId","data-testid":"model-id-input",placeholder:"e.g. claude-sonnet-4",value:N,onChange:e=>w(e.target.value),disabled:V})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(r.Label,{htmlFor:"promptVersion",children:"Prompt version"}),(0,t.jsx)(i.Input,{id:"promptVersion","data-testid":"prompt-version-input",placeholder:"e.g. v1",value:S,onChange:e=>k(e.target.value),disabled:V})]}),(0,t.jsxs)("fieldset",{className:"flex flex-col gap-3",disabled:V,children:[(0,t.jsx)("legend",{className:"text-sm font-medium",children:"Per-gate authority"}),x.map(e=>{let s=D[e]??"inherit",a=`gate-${e}`;return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3","data-testid":`gate-row-${e}`,children:[(0,t.jsx)(r.Label,{htmlFor:a,className:"capitalize",children:e}),(0,t.jsxs)(l.Select,{value:s,onValueChange:t=>{I(s=>{let a={...s};return"inherit"===t?delete a[e]:a[e]=t,a})},children:[(0,t.jsx)(l.SelectTrigger,{id:a,className:"w-44","data-testid":`gate-trigger-${e}`,children:(0,t.jsx)(l.SelectValue,{})}),(0,t.jsxs)(l.SelectContent,{children:[(0,t.jsx)(l.SelectItem,{value:"inherit",children:"Inherit"}),p.map(e=>(0,t.jsx)(l.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e)})]}),h?(0,t.jsxs)("div",{className:"flex items-center justify-between rounded border px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("span",{className:"text-sm font-medium",children:["Currently ",h.enabled?"enabled":"disabled"]}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"Toggle without changing other settings"})]}),(0,t.jsx)(o.Switch,{checked:h.enabled,disabled:!0,"data-testid":"enabled-readonly","aria-label":"Supervisor enabled (read-only — toggle via the Enable/Disable buttons)"})]}):null,A?(0,t.jsx)(d.Alert,{variant:"destructive","data-testid":"form-error",children:(0,t.jsx)(d.AlertDescription,{children:A})}):null,$?(0,t.jsx)(d.Alert,{"data-testid":"form-saved",children:(0,t.jsxs)(d.AlertDescription,{children:["Saved at ",$.toLocaleTimeString()]})}):null,(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(a.Button,{type:"submit",disabled:V,"data-testid":"submit",children:V?"Saving…":h?"Update supervisor":"Save supervisor"})})]})}e.s(["SupervisorConfigForm",()=>m],320331)},270198,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(256460),r=e.i(273889),i=e.i(860253),l=e.i(735364);function o({id:e,title:o,description:d,ctaLabel:n,ctaHref:c,forceVisible:u}){let p=`shep:onboarding:${e}`,[x,m]=(0,s.useState)(!1),[h,f]=(0,s.useState)(!0);return((0,s.useEffect)(()=>{if(m(!0),u)return void f(!0);try{let e=window.localStorage.getItem(p);f("1"!==e)}catch{f(!0)}},[u,p]),x&&h)?(0,t.jsxs)("div",{className:"bg-muted/40 flex items-start gap-3 rounded-lg border p-4","data-testid":`welcome-banner-${e}`,children:[(0,t.jsx)("div",{className:"bg-primary/10 text-primary flex h-9 w-9 shrink-0 items-center justify-center rounded-md",children:(0,t.jsx)(r.GraduationCap,{className:"size-4"})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:o}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:d})]}),c&&n?(0,t.jsx)("div",{children:(0,t.jsx)(l.Button,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsx)(a.default,{href:c,"data-testid":`welcome-banner-${e}-cta`,children:n})})}):null]}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"size-7 shrink-0",onClick:function(){if(f(!1),!u)try{window.localStorage.setItem(p,"1")}catch{}},"aria-label":"Dismiss this hint","data-testid":`welcome-banner-${e}-dismiss`,children:(0,t.jsx)(i.X,{className:"size-4"})})]}):null}e.s(["WelcomeBanner",()=>o])},991610,e=>{"use strict";var t=e.i(679606),s=e.i(256460);let a=(0,e.i(903645).default)("earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var r=e.i(976874),i=e.i(949228),l=e.i(853756),o=e.i(383379),d=e.i(598701),n=e.i(81846),c=e.i(152155),u=e.i(735364),p=e.i(845811),x=e.i(317406);let m={[x.SupervisorVerdict.approve]:"default",[x.SupervisorVerdict.reject]:"destructive",[x.SupervisorVerdict.escalate]:"secondary",[x.SupervisorVerdict.advise]:"secondary"};function h({decisions:e,triggerLabel:s="Why?",defaultOpen:a=!1}){let[r,i]=(0,c.useState)(a);if(0===e.length)return null;let l=[...e].sort((e,t)=>new Date(e.createdAt).getTime()-new Date(t.createdAt).getTime()),o=l[l.length-1];return(0,t.jsxs)(p.Drawer,{open:r,onOpenChange:i,direction:"right",children:[(0,t.jsx)(p.DrawerTrigger,{asChild:!0,children:(0,t.jsx)(u.Button,{type:"button",variant:"ghost",size:"sm","data-testid":"supervisor-why-trigger",children:s})}),(0,t.jsxs)(p.DrawerContent,{className:"max-w-md","data-testid":"supervisor-why-drawer",direction:"right",children:[(0,t.jsxs)(p.DrawerHeader,{children:[(0,t.jsx)(p.DrawerTitle,{children:"Supervisor decision"}),(0,t.jsx)(p.DrawerDescription,{children:1===l.length?"Why the supervisor reached this verdict.":`Audit trail for ${l.length} decisions.`})]}),(0,t.jsx)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto px-4 pb-6","data-testid":"supervisor-why-content",children:l.map(e=>(0,t.jsxs)("article",{className:"flex flex-col gap-2 rounded border p-3","data-testid":`decision-row-${e.decisionId}`,children:[(0,t.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(n.Badge,{variant:m[e.verdict]??"secondary","data-testid":`decision-verdict-${e.decisionId}`,className:"capitalize",children:e.verdict}),(0,t.jsx)("time",{className:"text-muted-foreground text-xs",children:function(e){try{return new Date(e).toLocaleString()}catch{return e}}(e.createdAt)})]}),(0,t.jsx)("p",{className:"text-sm whitespace-pre-wrap","data-testid":`decision-rationale-${e.decisionId}`,children:e.rationale}),(0,t.jsxs)("dl",{className:"text-muted-foreground grid grid-cols-2 gap-x-4 gap-y-1 text-xs",children:[(0,t.jsx)("dt",{children:"Model"}),(0,t.jsx)("dd",{"data-testid":`decision-model-${e.decisionId}`,children:e.modelId}),(0,t.jsx)("dt",{children:"Prompt version"}),(0,t.jsx)("dd",{"data-testid":`decision-prompt-${e.decisionId}`,children:e.promptVersion}),e.ruleRef?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:"Rule"}),(0,t.jsx)("dd",{"data-testid":`decision-rule-${e.decisionId}`,children:e.ruleRef})]}):null,"number"==typeof e.confidence?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:"Confidence"}),(0,t.jsxs)("dd",{"data-testid":`decision-confidence-${e.decisionId}`,children:[Math.round(100*e.confidence),"%"]})]}):null,(0,t.jsx)("dt",{children:"Source"}),(0,t.jsxs)("dd",{children:[e.sourceEventKind," · ",e.sourceEventId]})]})]},e.decisionId))}),(0,t.jsxs)("div",{className:"text-muted-foreground border-t p-4 text-xs",children:["Latest verdict: ",(0,t.jsx)("span",{className:"font-medium",children:o.verdict})]})]})]})}let f={[x.SupervisorVerdict.approve]:"default",[x.SupervisorVerdict.reject]:"destructive",[x.SupervisorVerdict.escalate]:"secondary",[x.SupervisorVerdict.advise]:"secondary"},g={advisory:"Advisory",cosign:"Co-sign",autonomous:"Autonomous"};function v({policies:e,recentDecisions:s,names:a={}}){let r=function(e){let t={global:[],app:[],repo:[],feature:[]};for(let s of e)s.featureId?t.feature.push(s):"global"===s.scopeType?t.global.push(s):"app"===s.scopeType?t.app.push(s):"repo"===s.scopeType&&t.repo.push(s);return t}(e);return(0,t.jsxs)("div",{className:"flex flex-col gap-8","data-testid":"supervisor-dashboard",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsxs)("h1",{className:"flex items-center gap-2 text-2xl font-semibold",children:[(0,t.jsx)(d.ShieldCheck,{className:"size-6"}),"Supervisor"]}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Every configured supervisor policy and the most recent decisions across all scopes."})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"supervisor-policies",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold tracking-wide uppercase",children:["Policies ",(0,t.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",e.length,")"]})]}),0===e.length?(0,t.jsx)(y,{}):(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)(b,{kind:"global",policies:r.global,names:a,"data-testid":"scope-group-global"}),(0,t.jsx)(b,{kind:"app",policies:r.app,names:a,"data-testid":"scope-group-app"}),(0,t.jsx)(b,{kind:"repo",policies:r.repo,names:a,"data-testid":"scope-group-repo"}),(0,t.jsx)(b,{kind:"feature",policies:r.feature,names:a,"data-testid":"scope-group-feature"})]})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"supervisor-recent-decisions",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold tracking-wide uppercase",children:["Recent decisions"," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-normal",children:["(",s.length,")"]})]}),0===s.length?(0,t.jsx)("p",{className:"text-muted-foreground rounded-lg border border-dashed p-4 text-sm",children:"No decisions yet — the supervisor hasn't been invoked or no policies are configured."}):(0,t.jsx)("ul",{className:"flex flex-col divide-y rounded-lg border",children:s.map(e=>{var s,a,r;return(0,t.jsxs)("li",{className:"flex items-start gap-3 px-3 py-2","data-testid":`recent-decision-${e.decisionId}`,children:[(0,t.jsx)(n.Badge,{variant:f[e.verdict]??"secondary",className:"mt-0.5 capitalize",children:e.verdict}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("p",{className:"line-clamp-1 text-sm",children:e.rationale}),(0,t.jsxs)("p",{className:"text-muted-foreground text-xs",children:[(s=e.scopeType,a=e.scopeId,(r=e.featureId)?`feature:${r.slice(0,8)}`:"global"===s?"global":a?`${s}:${a.slice(0,8)}`:s)," ·"," ",e.sourceEventKind," · ",function(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t))return e;for(let{ms:e,label:s}of w)if(t<e)return s(Math.max(1,Math.floor(t/(6e4===e?1e3:36e5===e?6e4:36e5))));return new Date(e).toLocaleDateString()}(e.createdAt)]})]}),(0,t.jsx)(h,{decisions:[e],triggerLabel:"Why?"})]},e.decisionId)})})]})]})}let j={global:"Global",app:"Applications",repo:"Repositories",feature:"Per-feature overrides"};function b({kind:e,policies:a,names:r,...i}){return 0===a.length?null:(0,t.jsxs)("div",{className:"flex flex-col gap-2",...i,children:[(0,t.jsxs)("p",{className:"text-muted-foreground flex items-center gap-1.5 text-xs font-medium",children:[(0,t.jsx)(N,{kind:e,className:"size-3"}),j[e]," (",a.length,")"]}),(0,t.jsx)("ul",{className:"flex flex-col divide-y rounded-lg border",children:a.map(a=>{var i;return(0,t.jsxs)("li",{className:"flex items-center gap-3 px-3 py-2","data-testid":`policy-row-${a.id}`,children:[(0,t.jsx)(N,{kind:e,className:"text-muted-foreground size-4 shrink-0","aria-hidden":!0}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("p",{className:"truncate text-sm font-medium",children:function(e,t){if(e.featureId){let s=t.feature?.[e.featureId]??e.featureId,a=e.scopeId?t["app"===e.scopeType?"app":"repo"]?.[e.scopeId]??e.scopeId:"global";return`${s} (under ${a})`}if("global"===e.scopeType)return"Global default";let s="app"===e.scopeType?t.app:t.repo;return e.scopeId?s?.[e.scopeId]??e.scopeId:e.scopeType}(a,r)}),(0,t.jsxs)("p",{className:"text-muted-foreground text-xs",children:[g[a.autonomyLevel]??a.autonomyLevel,a.modelId?` \xb7 ${a.modelId}`:""]})]}),(0,t.jsx)(n.Badge,{variant:a.enabled?"default":"secondary",className:"shrink-0",children:a.enabled?"Enabled":"Disabled"}),(0,t.jsxs)(s.default,{href:(i=a).featureId?`/supervisor/feature/${i.featureId}`:"app"===i.scopeType&&i.scopeId?`/application/${i.scopeId}/supervisor`:"repo"===i.scopeType&&i.scopeId?`/supervisor/repo/${i.scopeId}`:"/supervisor",className:"text-primary inline-flex shrink-0 items-center gap-1 text-xs hover:underline","data-testid":`policy-link-${a.id}`,children:["Configure",(0,t.jsx)(o.ArrowRight,{className:"size-3"})]})]},a.id)})})]})}function y(){return(0,t.jsxs)("div",{className:"bg-muted/30 flex flex-col items-start gap-3 rounded-lg border border-dashed p-6",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:"No supervisor policies configured"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Configure a supervisor at the global, application, repository, or feature level. The cascade picks the most specific match (feature > repo > app > global) at run time."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(s.default,{href:"/",className:"border-border hover:bg-muted inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium","data-testid":"empty-policies-cta-app",children:[(0,t.jsx)(r.Layers,{className:"size-3"}),"Pick an application"]}),(0,t.jsxs)(s.default,{href:"/agents",className:"border-border hover:bg-muted inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs font-medium","data-testid":"empty-policies-cta-agents",children:[(0,t.jsx)(o.ArrowRight,{className:"size-3"}),"Edit agent prompts instead"]})]})]})}function N({kind:e,className:s,...o}){let d="global"===e?a:"app"===e?r.Layers:"repo"===e?i.GitBranch:l.Sparkles;return(0,t.jsx)(d,{className:s,...o})}let w=[{ms:6e4,label:e=>`${e}s ago`},{ms:36e5,label:e=>`${e}m ago`},{ms:864e5,label:e=>`${e}h ago`}];e.s(["SupervisorDashboard",()=>v],991610)},417784,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(3214),r=e.i(735364),i=e.i(602287),l=e.i(141957),o=e.i(547373),d=e.i(320331);function n({applications:e,repositories:n,features:u,initialOpen:p}){let[x,m]=(0,s.useState)(!!p),[h,f]=(0,s.useState)("global"),[g,v]=(0,s.useState)(""),[j,b]=(0,s.useState)(""),[y,N]=(0,s.useState)(""),w="global"===h||"app"===h&&g.length>0||"repo"===h&&j.length>0||"feature"===h&&y.length>0,S="feature"===h?function(e,t){if(!e)return"global";let s=t.find(t=>t.id===e);return s?.applicationId?"app":s?.repositoryId?"repo":"global"}(y,u):h,k="app"===h?g:"repo"===h?j:"feature"===h?function(e,t){if(!e)return;let s=t.find(t=>t.id===e);return s?.applicationId??s?.repositoryId}(y,u):void 0,D="feature"===h?y:void 0;return(0,t.jsxs)(i.Dialog,{open:x,onOpenChange:e=>{m(e),e||(f("global"),v(""),b(""),N(""))},children:[(0,t.jsx)(i.DialogTrigger,{asChild:!0,children:(0,t.jsxs)(r.Button,{"data-testid":"create-supervisor-trigger",children:[(0,t.jsx)(a.Plus,{className:"size-4"}),"Create supervisor"]})}),(0,t.jsxs)(i.DialogContent,{className:"max-w-xl","data-testid":"create-supervisor-dialog",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)(i.DialogTitle,{children:"Create supervisor policy"}),(0,t.jsx)(i.DialogDescription,{children:"Pick the scope this supervisor watches, then configure how aggressive it should be. More-specific scopes override less-specific ones at run time."})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(l.Label,{htmlFor:"create-supervisor-scope",children:"Scope"}),(0,t.jsxs)(o.Select,{value:h,onValueChange:e=>f(e),children:[(0,t.jsx)(o.SelectTrigger,{id:"create-supervisor-scope","data-testid":"scope-trigger",children:(0,t.jsx)(o.SelectValue,{})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"global",children:"Global default"}),(0,t.jsxs)(o.SelectItem,{value:"app",disabled:0===e.length,children:["Application",0===e.length?" (none yet)":""]}),(0,t.jsxs)(o.SelectItem,{value:"repo",disabled:0===n.length,children:["Repository",0===n.length?" (none yet)":""]}),(0,t.jsxs)(o.SelectItem,{value:"feature",disabled:0===u.length,children:["Per-feature override",0===u.length?" (none yet)":""]})]})]})]}),"app"===h?(0,t.jsx)(c,{id:"create-supervisor-app",label:"Application",value:g,onChange:v,options:e,testid:"app-trigger"}):null,"repo"===h?(0,t.jsx)(c,{id:"create-supervisor-repo",label:"Repository",value:j,onChange:b,options:n,testid:"repo-trigger"}):null,"feature"===h?(0,t.jsx)(c,{id:"create-supervisor-feature",label:"Feature",value:y,onChange:N,options:u.map(e=>({id:e.id,name:e.name})),testid:"feature-trigger"}):null]}),w?(0,t.jsx)(d.SupervisorConfigForm,{scopeType:S,...void 0!==k&&{scopeId:k},...void 0!==D&&{featureId:D},initialPolicy:null}):(0,t.jsx)(i.DialogFooter,{children:(0,t.jsx)("p",{className:"text-muted-foreground text-xs",children:"Pick a scope above to configure the supervisor."})})]})]})}function c({id:e,label:s,value:a,onChange:r,options:i,testid:d}){return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(l.Label,{htmlFor:e,children:s}),(0,t.jsxs)(o.Select,{value:a,onValueChange:r,disabled:0===i.length,children:[(0,t.jsx)(o.SelectTrigger,{id:e,"data-testid":d,children:(0,t.jsx)(o.SelectValue,{placeholder:`Pick a ${s.toLowerCase()}`})}),(0,t.jsx)(o.SelectContent,{children:i.map(e=>(0,t.jsx)(o.SelectItem,{value:e.id,children:e.name},e.id))})]})]})}e.s(["CreateSupervisorDialog",()=>n])}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,468304,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(291967),r=e.i(922528),i=e.i(151080),n=e.i(685995),l=e.i(287620),o=e.i(566033),d=e.i(936589),c=e.i(713123),x="Tabs",[m,u]=(0,r.createContextScope)(x,[i.createRovingFocusGroupScope]),h=(0,i.createRovingFocusGroupScope)(),[p,g]=m(x),f=s.forwardRef((e,s)=>{let{__scopeTabs:a,value:r,onValueChange:i,defaultValue:n,orientation:m="horizontal",dir:u,activationMode:h="automatic",...g}=e,f=(0,o.useDirection)(u),[b,j]=(0,d.useControllableState)({prop:r,onChange:i,defaultProp:n??"",caller:x});return(0,t.jsx)(p,{scope:a,baseId:(0,c.useId)(),value:b,onValueChange:j,orientation:m,dir:f,activationMode:h,children:(0,t.jsx)(l.Primitive.div,{dir:f,"data-orientation":m,...g,ref:s})})});f.displayName=x;var b="TabsList",j=s.forwardRef((e,s)=>{let{__scopeTabs:a,loop:r=!0,...n}=e,o=g(b,a),d=h(a);return(0,t.jsx)(i.Root,{asChild:!0,...d,orientation:o.orientation,dir:o.dir,loop:r,children:(0,t.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...n,ref:s})})});j.displayName=b;var v="TabsTrigger",y=s.forwardRef((e,s)=>{let{__scopeTabs:r,value:n,disabled:o=!1,...d}=e,c=g(v,r),x=h(r),m=k(c.baseId,n),u=T(c.baseId,n),p=n===c.value;return(0,t.jsx)(i.Item,{asChild:!0,...x,focusable:!o,active:p,children:(0,t.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":u,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:m,...d,ref:s,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,a.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;p||o||!e||c.onValueChange(n)})})})});y.displayName=v;var N="TabsContent",C=s.forwardRef((e,a)=>{let{__scopeTabs:r,value:i,forceMount:o,children:d,...c}=e,x=g(N,r),m=k(x.baseId,i),u=T(x.baseId,i),h=i===x.value,p=s.useRef(h);return s.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(n.Presence,{present:o||h,children:({present:s})=>(0,t.jsx)(l.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":x.orientation,role:"tabpanel","aria-labelledby":m,hidden:!s,id:u,tabIndex:0,...c,ref:a,style:{...e.style,animationDuration:p.current?"0s":void 0},children:s&&d})})});function k(e,t){return`${e}-trigger-${t}`}function T(e,t){return`${e}-content-${t}`}C.displayName=N,e.s(["Content",()=>C,"List",()=>j,"Root",()=>f,"Tabs",()=>f,"TabsContent",()=>C,"TabsList",()=>j,"TabsTrigger",()=>y,"Trigger",()=>y,"createTabsScope",()=>u],743133);var w=e.i(743133),w=w,z=e.i(131777);let P=w.Root,L=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(w.List,{ref:a,className:(0,z.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...s}));L.displayName=w.List.displayName;let R=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(w.Trigger,{ref:a,className:(0,z.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...s}));R.displayName=w.Trigger.displayName;let S=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(w.Content,{ref:a,className:(0,z.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...s}));S.displayName=w.Content.displayName,e.s(["Tabs",()=>P,"TabsContent",()=>S,"TabsList",()=>L,"TabsTrigger",()=>R],468304)},791909,e=>{"use strict";let t=(0,e.i(903645).default)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);e.s(["default",()=>t])},812919,e=>{"use strict";let t=(0,e.i(903645).default)("file-plus",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]);e.s(["FilePlus",()=>t],812919)},916489,235749,e=>{"use strict";let t=(0,e.i(903645).default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);e.s(["LayoutDashboard",()=>t],916489);var s=e.i(791909);e.s(["FileEdit",()=>s.default],235749)},316246,e=>{"use strict";var t=e.i(508893);let s=(0,t.createServerReference)("603bc2a1c861ee1bf7fe519ba35f8851c4c615ea60",t.callServer,void 0,t.findSourceMapURL,"getGitRepoInfo");e.s(["getGitRepoInfo",()=>s])},610661,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(711434),r=e.i(208986),i=e.i(338573),n=e.i(619933),l=e.i(43416),o=e.i(724042),d=e.i(64970),c=e.i(433548),x=e.i(723925),m=e.i(83428),u=e.i(916489),h=e.i(248109),p=e.i(949228),g=e.i(565530),f=e.i(958481),b=e.i(32494),j=e.i(903645);let v=(0,j.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var y=e.i(237260),N=e.i(235749),C=e.i(812919);let k=(0,j.default)("file-check-corner",[["path",{d:"M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6",key:"g5mvt7"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m14 20 2 2 4-4",key:"15kota"}]]);var T=e.i(131777);e.i(1650);var w=e.i(511495);e.i(199348);var z=e.i(917466),P=e.i(102828),L=e.i(468304),R=e.i(676852),S=e.i(8537),I=e.i(175921),D=e.i(928112),F=e.i(316246);let M="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-8 items-center justify-center rounded-[3px] disabled:opacity-40",A="bg-border/60 mx-1.5 h-5 w-px shrink-0";function E({data:e,initialTab:p}){let g=(0,I.useFeatureFlags)(),f=(0,a.useRouter)(),b=(0,a.usePathname)().startsWith("/repository/"),[j,v]=(0,s.useState)(p??"overview"),[y,N]=(0,s.useState)(!1),C=(0,R.useRepositoryActions)(e.repositoryPath?{repositoryId:e.id,repositoryPath:e.repositoryPath}:null),k=(0,s.useCallback)(()=>{f.push("/control-center")},[f]),F=(0,S.useDeployAction)(e.repositoryPath?{targetId:e.repositoryPath,targetType:"repository",repositoryPath:e.repositoryPath}:null),E="Booting"===F.status||"Ready"===F.status,$=(0,s.useCallback)(()=>{e.repositoryPath&&(navigator.clipboard.writeText(e.repositoryPath),N(!0),setTimeout(()=>N(!1),2e3))},[e.repositoryPath]),B=e.id?`repo-${e.id}`:`repo-${e.name}`;return(0,t.jsx)(w.BaseDrawer,{open:b,onClose:k,size:"lg",modal:!1,"data-testid":"repository-drawer",children:(0,t.jsxs)(L.Tabs,{value:j,onValueChange:v,className:"flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)(L.TabsList,{className:"bg-muted/50 h-auto w-full shrink-0 justify-start gap-0 rounded-none border-b p-0",children:[(0,t.jsxs)(L.TabsTrigger,{value:"overview",className:"text-muted-foreground hover:bg-muted hover:text-foreground data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-t-primary [&:not([data-state=active])]:border-r-border relative h-auto rounded-none border-t-2 border-r border-t-transparent border-r-transparent bg-transparent px-3.5 py-2.5 text-[13px] font-normal shadow-none transition-none last:border-r-transparent data-[state=active]:shadow-none",children:[(0,t.jsx)(u.LayoutDashboard,{className:"mr-1.5 size-4"}),"Overview"]}),(0,t.jsxs)(L.TabsTrigger,{value:"chat",className:"text-muted-foreground hover:bg-muted hover:text-foreground data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-t-primary [&:not([data-state=active])]:border-r-border relative h-auto rounded-none border-t-2 border-r border-t-transparent border-r-transparent bg-transparent px-3.5 py-2.5 text-[13px] font-normal shadow-none transition-none last:border-r-transparent data-[state=active]:shadow-none",children:[(0,t.jsx)(h.MessageSquare,{className:"mr-1.5 size-4"}),"Chat"]})]}),(0,t.jsxs)("div",{className:"bg-muted/40 shrink-0 border-b",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-4 pe-10 pt-2.5 pb-2","data-testid":"repository-drawer-header",children:[(0,t.jsx)("h2",{className:"text-foreground min-w-0 truncate text-base font-semibold tracking-tight",children:e.name}),e.repositoryPath?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground/40 text-xs",children:"/"}),(0,t.jsx)("span",{className:"text-muted-foreground min-w-0 truncate font-mono text-[11px]",children:e.repositoryPath})]}):null]}),e.repositoryPath?(0,t.jsx)("div",{"data-testid":"repository-drawer-toolbar",children:(0,t.jsxs)("div",{className:"flex h-9 items-center px-1.5",children:[(0,t.jsxs)(P.TooltipProvider,{delayDuration:300,children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:C.openInIde,disabled:C.ideLoading,"aria-label":"Open in IDE",children:C.ideLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(r.Code2,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:"Open in IDE"})]}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:C.openInShell,disabled:C.shellLoading,"aria-label":"Open terminal",children:C.shellLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(i.Terminal,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:"Open terminal"})]}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:C.openFolder,disabled:C.folderLoading,"aria-label":"Open folder",children:C.folderLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(n.FolderOpen,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:"Open folder"})]}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:$,"aria-label":"Copy path",children:y?(0,t.jsx)(x.Check,{className:"size-3.5 text-green-500"}):(0,t.jsx)(c.Copy,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:y?"Copied!":"Copy path"})]})]}),e.id?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:A}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:C.syncMain,disabled:C.syncLoading,"aria-label":"Sync main",children:C.syncLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(l.RefreshCw,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:"Sync main"})]})]}):null,g.envDeploy?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:A}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",disabled:F.deployLoading||F.stopLoading,onClick:E?F.stop:F.deploy,className:(0,T.cn)("inline-flex size-7 items-center justify-center rounded-[3px] disabled:opacity-40",E?"text-red-500 hover:bg-red-500/10 hover:text-red-400":"text-green-500 hover:bg-green-500/10 hover:text-green-400"),"aria-label":E?"Stop dev server":"Start dev server",children:F.deployLoading||F.stopLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):E?(0,t.jsx)(d.Square,{className:"size-4"}):(0,t.jsx)(o.Play,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:E?"Stop dev server":"Start dev server"})]}),E?(0,t.jsx)(z.DeploymentStatusBadge,{status:F.status,url:F.url,targetId:e.repositoryPath}):null]}):null]}),(0,t.jsx)("div",{className:"flex-1"})]})}):null]}),(0,t.jsx)(L.TabsContent,{value:"overview",className:"mt-0 flex-1 overflow-y-auto",children:(0,t.jsx)(O,{data:e,syncError:C.syncError})}),(0,t.jsx)(L.TabsContent,{value:"chat",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,t.jsx)(D.ChatTab,{featureId:B,worktreePath:e.repositoryPath})})]})})}function $({icon:e,title:s,children:a}){return(0,t.jsxs)("div",{className:"px-3 pt-4 pb-1",children:[(0,t.jsxs)("div",{className:"text-foreground mb-2 flex items-center gap-1.5 text-sm font-semibold tracking-wider uppercase",children:[(0,t.jsx)(e,{className:"size-4 opacity-50"}),s]}),a]})}function B({children:e,className:s}){return(0,t.jsx)("div",{className:(0,T.cn)("bg-muted/60 rounded-md border border-transparent p-3",s),children:e})}function G({label:e,children:s}){return(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"text-foreground/40 text-[11px] font-medium tracking-wider uppercase",children:e}),(0,t.jsx)("span",{className:"text-sm leading-snug",children:s})]})}function O({data:e,syncError:a}){let[r,i]=(0,s.useState)(null),[n,l]=(0,s.useState)(!1);if((0,s.useEffect)(()=>{if(!e.repositoryPath)return;let t=!1;return l(!0),(0,F.getGitRepoInfo)(e.repositoryPath,8).then(e=>{t||i(e)}).catch(()=>{}).finally(()=>{t||l(!1)}),()=>{t=!0}},[e.repositoryPath]),!e.repositoryPath)return null;let o=r?.workingTree,d=o&&(o.staged>0||o.modified>0||o.untracked>0),c=r?.diffStats;return(0,t.jsxs)("div",{className:"pb-4",children:[n?(0,t.jsxs)("div",{className:"text-foreground/40 flex items-center gap-2 px-4 py-8 text-sm",children:[(0,t.jsx)(m.Loader2,{className:"size-4 animate-spin"})," Loading repository info..."]}):null,r?(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2 px-3 pt-3",children:[(0,t.jsx)(B,{children:(0,t.jsxs)(G,{label:"Branch",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,t.jsx)(p.GitBranch,{className:"text-foreground/30 size-3.5 shrink-0"}),(0,t.jsx)("code",{className:"font-mono text-sm",children:r.currentBranch??e.branch??"—"})]}),null!=e.behindCount&&e.behindCount>0?(0,t.jsxs)("span",{className:"mt-0.5 block text-xs text-orange-600 dark:text-orange-400",children:[e.behindCount," behind default"]}):null]})}),(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Working Tree",children:d?(0,t.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5",children:[o.staged>0?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-sm text-green-600 dark:text-green-400",children:[(0,t.jsx)(k,{className:"size-3.5"})," ",o.staged," staged"]}):null,o.modified>0?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-sm text-amber-600 dark:text-amber-400",children:[(0,t.jsx)(N.FileEdit,{className:"size-3.5"})," ",o.modified," modified"]}):null,o.untracked>0?(0,t.jsxs)("span",{className:"text-foreground/50 inline-flex items-center gap-1 text-sm",children:[(0,t.jsx)(C.FilePlus,{className:"size-3.5"})," ",o.untracked," untracked"]}):null]}):(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm text-green-600 dark:text-green-400",children:[(0,t.jsx)(x.Check,{className:"size-3.5"})," Clean"]})})}),c?(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Uncommitted Changes",children:(0,t.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,t.jsxs)("span",{children:[c.filesChanged," file",1!==c.filesChanged?"s":""]}),(0,t.jsxs)("span",{className:"text-green-600 dark:text-green-400",children:["+",c.insertions]}),(0,t.jsxs)("span",{className:"text-red-500 dark:text-red-400",children:["-",c.deletions]})]})})}):null,r.remotes.length>0?(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Remote",children:r.remotes.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[(0,t.jsx)(b.Globe,{className:"text-foreground/30 size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.url.replace(/\.git$/,"").replace(/^https?:\/\/([^@]+@)?/,"").replace(/x-access-token:[^@]+@/,"")})]},e.name))})}):null,r.stashCount>0?(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Stashes",children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[(0,t.jsx)(y.Archive,{className:"text-foreground/30 size-3.5 shrink-0"}),r.stashCount," stash",1!==r.stashCount?"es":""]})})}):null,r.tags.length>0?(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Tags",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:r.tags.map(e=>(0,t.jsxs)("span",{className:"bg-foreground/[0.04] inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-xs",children:[(0,t.jsx)(v,{className:"text-foreground/30 size-2.5"}),e]},e))})})}):null]}):null,r&&r.commits.length>0?(0,t.jsx)($,{icon:g.GitCommitHorizontal,title:"Recent Commits",children:(0,t.jsxs)("div",{className:"relative ml-3",children:[(0,t.jsx)("div",{className:"bg-border absolute top-2 bottom-2 left-[5px] w-px"}),r.commits.map((e,s)=>(0,t.jsxs)("div",{className:"group relative flex gap-3 py-1.5",children:[(0,t.jsx)("div",{className:(0,T.cn)("relative z-10 mt-1.5 size-[11px] shrink-0 rounded-full border-2",0===s?"border-primary bg-primary":"border-border bg-background group-hover:border-foreground/30")}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("p",{className:"min-w-0 truncate text-sm leading-snug",children:e.subject}),(0,t.jsx)("code",{className:"text-foreground/30 shrink-0 font-mono text-[11px]",children:e.shortHash})]}),(0,t.jsxs)("div",{className:"text-foreground/40 mt-0.5 flex items-center gap-2 text-xs",children:[(0,t.jsx)("span",{children:e.author}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:e.relativeDate}),e.branch?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,t.jsx)(p.GitBranch,{className:"size-3"}),e.branch]})]}):null]})]})]},e.hash))]})}):null,r&&r.branches.length>1?(0,t.jsx)($,{icon:p.GitBranch,title:"Branches",children:(0,t.jsx)("div",{className:"flex flex-col",children:[...r.branches].sort((e,t)=>{let s,a,r,i;return e.isCurrent&&!t.isCurrent?-1:!e.isCurrent&&t.isCurrent?1:(s=e.name,/^(main|master)$/.test(s)&&(a=t.name,!/^(main|master)$/.test(a)))?-1:+(r=e.name,!!(!/^(main|master)$/.test(r)&&(i=t.name,/^(main|master)$/.test(i))))}).map(e=>(0,t.jsxs)("div",{className:(0,T.cn)("flex items-center justify-between rounded px-2 py-1.5",e.isCurrent&&"bg-muted/60"),children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[e.isCurrent?(0,t.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-green-500"}):/^(main|master)$/.test(e.name)?(0,t.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-blue-500"}):(0,t.jsx)("span",{className:"bg-foreground/10 size-2 shrink-0 rounded-full"}),(0,t.jsx)("code",{className:"font-mono text-[13px]",children:e.name}),e.isCurrent?(0,t.jsx)("span",{className:"text-foreground/40 text-[10px]",children:"current"}):null]}),(0,t.jsx)("span",{className:"text-foreground/40 text-xs",children:e.lastCommitDate})]},e.name))})}):null,a?(0,t.jsx)($,{icon:f.AlertTriangle,title:"Issues",children:(0,t.jsx)(B,{className:"bg-destructive/5 border-transparent",children:(0,t.jsx)("p",{className:"text-destructive text-sm",children:a})})}):null]})}e.s(["RepositoryDrawerClient",()=>E],610661)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,468304,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(291967),r=e.i(922528),i=e.i(151080),n=e.i(685995),l=e.i(287620),o=e.i(566033),d=e.i(936589),c=e.i(713123),x="Tabs",[m,u]=(0,r.createContextScope)(x,[i.createRovingFocusGroupScope]),h=(0,i.createRovingFocusGroupScope)(),[p,g]=m(x),f=s.forwardRef((e,s)=>{let{__scopeTabs:a,value:r,onValueChange:i,defaultValue:n,orientation:m="horizontal",dir:u,activationMode:h="automatic",...g}=e,f=(0,o.useDirection)(u),[b,j]=(0,d.useControllableState)({prop:r,onChange:i,defaultProp:n??"",caller:x});return(0,t.jsx)(p,{scope:a,baseId:(0,c.useId)(),value:b,onValueChange:j,orientation:m,dir:f,activationMode:h,children:(0,t.jsx)(l.Primitive.div,{dir:f,"data-orientation":m,...g,ref:s})})});f.displayName=x;var b="TabsList",j=s.forwardRef((e,s)=>{let{__scopeTabs:a,loop:r=!0,...n}=e,o=g(b,a),d=h(a);return(0,t.jsx)(i.Root,{asChild:!0,...d,orientation:o.orientation,dir:o.dir,loop:r,children:(0,t.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...n,ref:s})})});j.displayName=b;var v="TabsTrigger",y=s.forwardRef((e,s)=>{let{__scopeTabs:r,value:n,disabled:o=!1,...d}=e,c=g(v,r),x=h(r),m=k(c.baseId,n),u=T(c.baseId,n),p=n===c.value;return(0,t.jsx)(i.Item,{asChild:!0,...x,focusable:!o,active:p,children:(0,t.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":u,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:m,...d,ref:s,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,a.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;p||o||!e||c.onValueChange(n)})})})});y.displayName=v;var N="TabsContent",C=s.forwardRef((e,a)=>{let{__scopeTabs:r,value:i,forceMount:o,children:d,...c}=e,x=g(N,r),m=k(x.baseId,i),u=T(x.baseId,i),h=i===x.value,p=s.useRef(h);return s.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(n.Presence,{present:o||h,children:({present:s})=>(0,t.jsx)(l.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":x.orientation,role:"tabpanel","aria-labelledby":m,hidden:!s,id:u,tabIndex:0,...c,ref:a,style:{...e.style,animationDuration:p.current?"0s":void 0},children:s&&d})})});function k(e,t){return`${e}-trigger-${t}`}function T(e,t){return`${e}-content-${t}`}C.displayName=N,e.s(["Content",()=>C,"List",()=>j,"Root",()=>f,"Tabs",()=>f,"TabsContent",()=>C,"TabsList",()=>j,"TabsTrigger",()=>y,"Trigger",()=>y,"createTabsScope",()=>u],743133);var w=e.i(743133),w=w,z=e.i(131777);let P=w.Root,L=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(w.List,{ref:a,className:(0,z.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...s}));L.displayName=w.List.displayName;let R=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(w.Trigger,{ref:a,className:(0,z.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...s}));R.displayName=w.Trigger.displayName;let S=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(w.Content,{ref:a,className:(0,z.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...s}));S.displayName=w.Content.displayName,e.s(["Tabs",()=>P,"TabsContent",()=>S,"TabsList",()=>L,"TabsTrigger",()=>R],468304)},791909,e=>{"use strict";let t=(0,e.i(903645).default)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);e.s(["default",()=>t])},812919,e=>{"use strict";let t=(0,e.i(903645).default)("file-plus",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]);e.s(["FilePlus",()=>t],812919)},916489,235749,e=>{"use strict";let t=(0,e.i(903645).default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);e.s(["LayoutDashboard",()=>t],916489);var s=e.i(791909);e.s(["FileEdit",()=>s.default],235749)},690785,e=>{"use strict";var t=e.i(508893);let s=(0,t.createServerReference)("601b87a7383e1af41d7e5c449c5ef7abc72c47dcc0",t.callServer,void 0,t.findSourceMapURL,"getGitRepoInfo");e.s(["getGitRepoInfo",()=>s])},610661,e=>{"use strict";var t=e.i(679606),s=e.i(152155),a=e.i(711434),r=e.i(208986),i=e.i(338573),n=e.i(619933),l=e.i(43416),o=e.i(724042),d=e.i(64970),c=e.i(433548),x=e.i(723925),m=e.i(83428),u=e.i(916489),h=e.i(248109),p=e.i(949228),g=e.i(565530),f=e.i(958481),b=e.i(32494),j=e.i(903645);let v=(0,j.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var y=e.i(237260),N=e.i(235749),C=e.i(812919);let k=(0,j.default)("file-check-corner",[["path",{d:"M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6",key:"g5mvt7"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m14 20 2 2 4-4",key:"15kota"}]]);var T=e.i(131777);e.i(1650);var w=e.i(511495);e.i(199348);var z=e.i(917466),P=e.i(102828),L=e.i(468304),R=e.i(676852),S=e.i(8537),I=e.i(175921),D=e.i(928112),F=e.i(690785);let M="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-8 items-center justify-center rounded-[3px] disabled:opacity-40",A="bg-border/60 mx-1.5 h-5 w-px shrink-0";function E({data:e,initialTab:p}){let g=(0,I.useFeatureFlags)(),f=(0,a.useRouter)(),b=(0,a.usePathname)().startsWith("/repository/"),[j,v]=(0,s.useState)(p??"overview"),[y,N]=(0,s.useState)(!1),C=(0,R.useRepositoryActions)(e.repositoryPath?{repositoryId:e.id,repositoryPath:e.repositoryPath}:null),k=(0,s.useCallback)(()=>{f.push("/control-center")},[f]),F=(0,S.useDeployAction)(e.repositoryPath?{targetId:e.repositoryPath,targetType:"repository",repositoryPath:e.repositoryPath}:null),E="Booting"===F.status||"Ready"===F.status,$=(0,s.useCallback)(()=>{e.repositoryPath&&(navigator.clipboard.writeText(e.repositoryPath),N(!0),setTimeout(()=>N(!1),2e3))},[e.repositoryPath]),B=e.id?`repo-${e.id}`:`repo-${e.name}`;return(0,t.jsx)(w.BaseDrawer,{open:b,onClose:k,size:"lg",modal:!1,"data-testid":"repository-drawer",children:(0,t.jsxs)(L.Tabs,{value:j,onValueChange:v,className:"flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)(L.TabsList,{className:"bg-muted/50 h-auto w-full shrink-0 justify-start gap-0 rounded-none border-b p-0",children:[(0,t.jsxs)(L.TabsTrigger,{value:"overview",className:"text-muted-foreground hover:bg-muted hover:text-foreground data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-t-primary [&:not([data-state=active])]:border-r-border relative h-auto rounded-none border-t-2 border-r border-t-transparent border-r-transparent bg-transparent px-3.5 py-2.5 text-[13px] font-normal shadow-none transition-none last:border-r-transparent data-[state=active]:shadow-none",children:[(0,t.jsx)(u.LayoutDashboard,{className:"mr-1.5 size-4"}),"Overview"]}),(0,t.jsxs)(L.TabsTrigger,{value:"chat",className:"text-muted-foreground hover:bg-muted hover:text-foreground data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-t-primary [&:not([data-state=active])]:border-r-border relative h-auto rounded-none border-t-2 border-r border-t-transparent border-r-transparent bg-transparent px-3.5 py-2.5 text-[13px] font-normal shadow-none transition-none last:border-r-transparent data-[state=active]:shadow-none",children:[(0,t.jsx)(h.MessageSquare,{className:"mr-1.5 size-4"}),"Chat"]})]}),(0,t.jsxs)("div",{className:"bg-muted/40 shrink-0 border-b",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-4 pe-10 pt-2.5 pb-2","data-testid":"repository-drawer-header",children:[(0,t.jsx)("h2",{className:"text-foreground min-w-0 truncate text-base font-semibold tracking-tight",children:e.name}),e.repositoryPath?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground/40 text-xs",children:"/"}),(0,t.jsx)("span",{className:"text-muted-foreground min-w-0 truncate font-mono text-[11px]",children:e.repositoryPath})]}):null]}),e.repositoryPath?(0,t.jsx)("div",{"data-testid":"repository-drawer-toolbar",children:(0,t.jsxs)("div",{className:"flex h-9 items-center px-1.5",children:[(0,t.jsxs)(P.TooltipProvider,{delayDuration:300,children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:C.openInIde,disabled:C.ideLoading,"aria-label":"Open in IDE",children:C.ideLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(r.Code2,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:"Open in IDE"})]}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:C.openInShell,disabled:C.shellLoading,"aria-label":"Open terminal",children:C.shellLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(i.Terminal,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:"Open terminal"})]}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:C.openFolder,disabled:C.folderLoading,"aria-label":"Open folder",children:C.folderLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(n.FolderOpen,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:"Open folder"})]}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:$,"aria-label":"Copy path",children:y?(0,t.jsx)(x.Check,{className:"size-3.5 text-green-500"}):(0,t.jsx)(c.Copy,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:y?"Copied!":"Copy path"})]})]}),e.id?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:A}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",className:M,onClick:C.syncMain,disabled:C.syncLoading,"aria-label":"Sync main",children:C.syncLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(l.RefreshCw,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:"Sync main"})]})]}):null,g.envDeploy?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:A}),(0,t.jsxs)(P.Tooltip,{children:[(0,t.jsx)(P.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",disabled:F.deployLoading||F.stopLoading,onClick:E?F.stop:F.deploy,className:(0,T.cn)("inline-flex size-7 items-center justify-center rounded-[3px] disabled:opacity-40",E?"text-red-500 hover:bg-red-500/10 hover:text-red-400":"text-green-500 hover:bg-green-500/10 hover:text-green-400"),"aria-label":E?"Stop dev server":"Start dev server",children:F.deployLoading||F.stopLoading?(0,t.jsx)(m.Loader2,{className:"size-3.5 animate-spin"}):E?(0,t.jsx)(d.Square,{className:"size-4"}):(0,t.jsx)(o.Play,{className:"size-4"})})}),(0,t.jsx)(P.TooltipContent,{side:"bottom",className:"text-xs",children:E?"Stop dev server":"Start dev server"})]}),E?(0,t.jsx)(z.DeploymentStatusBadge,{status:F.status,url:F.url,targetId:e.repositoryPath}):null]}):null]}),(0,t.jsx)("div",{className:"flex-1"})]})}):null]}),(0,t.jsx)(L.TabsContent,{value:"overview",className:"mt-0 flex-1 overflow-y-auto",children:(0,t.jsx)(O,{data:e,syncError:C.syncError})}),(0,t.jsx)(L.TabsContent,{value:"chat",className:"mt-0 flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,t.jsx)(D.ChatTab,{featureId:B,worktreePath:e.repositoryPath})})]})})}function $({icon:e,title:s,children:a}){return(0,t.jsxs)("div",{className:"px-3 pt-4 pb-1",children:[(0,t.jsxs)("div",{className:"text-foreground mb-2 flex items-center gap-1.5 text-sm font-semibold tracking-wider uppercase",children:[(0,t.jsx)(e,{className:"size-4 opacity-50"}),s]}),a]})}function B({children:e,className:s}){return(0,t.jsx)("div",{className:(0,T.cn)("bg-muted/60 rounded-md border border-transparent p-3",s),children:e})}function G({label:e,children:s}){return(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"text-foreground/40 text-[11px] font-medium tracking-wider uppercase",children:e}),(0,t.jsx)("span",{className:"text-sm leading-snug",children:s})]})}function O({data:e,syncError:a}){let[r,i]=(0,s.useState)(null),[n,l]=(0,s.useState)(!1);if((0,s.useEffect)(()=>{if(!e.repositoryPath)return;let t=!1;return l(!0),(0,F.getGitRepoInfo)(e.repositoryPath,8).then(e=>{t||i(e)}).catch(()=>{}).finally(()=>{t||l(!1)}),()=>{t=!0}},[e.repositoryPath]),!e.repositoryPath)return null;let o=r?.workingTree,d=o&&(o.staged>0||o.modified>0||o.untracked>0),c=r?.diffStats;return(0,t.jsxs)("div",{className:"pb-4",children:[n?(0,t.jsxs)("div",{className:"text-foreground/40 flex items-center gap-2 px-4 py-8 text-sm",children:[(0,t.jsx)(m.Loader2,{className:"size-4 animate-spin"})," Loading repository info..."]}):null,r?(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-2 px-3 pt-3",children:[(0,t.jsx)(B,{children:(0,t.jsxs)(G,{label:"Branch",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,t.jsx)(p.GitBranch,{className:"text-foreground/30 size-3.5 shrink-0"}),(0,t.jsx)("code",{className:"font-mono text-sm",children:r.currentBranch??e.branch??"—"})]}),null!=e.behindCount&&e.behindCount>0?(0,t.jsxs)("span",{className:"mt-0.5 block text-xs text-orange-600 dark:text-orange-400",children:[e.behindCount," behind default"]}):null]})}),(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Working Tree",children:d?(0,t.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5",children:[o.staged>0?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-sm text-green-600 dark:text-green-400",children:[(0,t.jsx)(k,{className:"size-3.5"})," ",o.staged," staged"]}):null,o.modified>0?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-sm text-amber-600 dark:text-amber-400",children:[(0,t.jsx)(N.FileEdit,{className:"size-3.5"})," ",o.modified," modified"]}):null,o.untracked>0?(0,t.jsxs)("span",{className:"text-foreground/50 inline-flex items-center gap-1 text-sm",children:[(0,t.jsx)(C.FilePlus,{className:"size-3.5"})," ",o.untracked," untracked"]}):null]}):(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm text-green-600 dark:text-green-400",children:[(0,t.jsx)(x.Check,{className:"size-3.5"})," Clean"]})})}),c?(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Uncommitted Changes",children:(0,t.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,t.jsxs)("span",{children:[c.filesChanged," file",1!==c.filesChanged?"s":""]}),(0,t.jsxs)("span",{className:"text-green-600 dark:text-green-400",children:["+",c.insertions]}),(0,t.jsxs)("span",{className:"text-red-500 dark:text-red-400",children:["-",c.deletions]})]})})}):null,r.remotes.length>0?(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Remote",children:r.remotes.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[(0,t.jsx)(b.Globe,{className:"text-foreground/30 size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.url.replace(/\.git$/,"").replace(/^https?:\/\/([^@]+@)?/,"").replace(/x-access-token:[^@]+@/,"")})]},e.name))})}):null,r.stashCount>0?(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Stashes",children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[(0,t.jsx)(y.Archive,{className:"text-foreground/30 size-3.5 shrink-0"}),r.stashCount," stash",1!==r.stashCount?"es":""]})})}):null,r.tags.length>0?(0,t.jsx)(B,{children:(0,t.jsx)(G,{label:"Tags",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:r.tags.map(e=>(0,t.jsxs)("span",{className:"bg-foreground/[0.04] inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-xs",children:[(0,t.jsx)(v,{className:"text-foreground/30 size-2.5"}),e]},e))})})}):null]}):null,r&&r.commits.length>0?(0,t.jsx)($,{icon:g.GitCommitHorizontal,title:"Recent Commits",children:(0,t.jsxs)("div",{className:"relative ml-3",children:[(0,t.jsx)("div",{className:"bg-border absolute top-2 bottom-2 left-[5px] w-px"}),r.commits.map((e,s)=>(0,t.jsxs)("div",{className:"group relative flex gap-3 py-1.5",children:[(0,t.jsx)("div",{className:(0,T.cn)("relative z-10 mt-1.5 size-[11px] shrink-0 rounded-full border-2",0===s?"border-primary bg-primary":"border-border bg-background group-hover:border-foreground/30")}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("p",{className:"min-w-0 truncate text-sm leading-snug",children:e.subject}),(0,t.jsx)("code",{className:"text-foreground/30 shrink-0 font-mono text-[11px]",children:e.shortHash})]}),(0,t.jsxs)("div",{className:"text-foreground/40 mt-0.5 flex items-center gap-2 text-xs",children:[(0,t.jsx)("span",{children:e.author}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:e.relativeDate}),e.branch?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5",children:[(0,t.jsx)(p.GitBranch,{className:"size-3"}),e.branch]})]}):null]})]})]},e.hash))]})}):null,r&&r.branches.length>1?(0,t.jsx)($,{icon:p.GitBranch,title:"Branches",children:(0,t.jsx)("div",{className:"flex flex-col",children:[...r.branches].sort((e,t)=>{let s,a,r,i;return e.isCurrent&&!t.isCurrent?-1:!e.isCurrent&&t.isCurrent?1:(s=e.name,/^(main|master)$/.test(s)&&(a=t.name,!/^(main|master)$/.test(a)))?-1:+(r=e.name,!!(!/^(main|master)$/.test(r)&&(i=t.name,/^(main|master)$/.test(i))))}).map(e=>(0,t.jsxs)("div",{className:(0,T.cn)("flex items-center justify-between rounded px-2 py-1.5",e.isCurrent&&"bg-muted/60"),children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm",children:[e.isCurrent?(0,t.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-green-500"}):/^(main|master)$/.test(e.name)?(0,t.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-blue-500"}):(0,t.jsx)("span",{className:"bg-foreground/10 size-2 shrink-0 rounded-full"}),(0,t.jsx)("code",{className:"font-mono text-[13px]",children:e.name}),e.isCurrent?(0,t.jsx)("span",{className:"text-foreground/40 text-[10px]",children:"current"}):null]}),(0,t.jsx)("span",{className:"text-foreground/40 text-xs",children:e.lastCommitDate})]},e.name))})}):null,a?(0,t.jsx)($,{icon:f.AlertTriangle,title:"Issues",children:(0,t.jsx)(B,{className:"bg-destructive/5 border-transparent",children:(0,t.jsx)("p",{className:"text-destructive text-sm",children:a})})}):null]})}e.s(["RepositoryDrawerClient",()=>E],610661)}]);
|