@shepai/cli 1.202.1-pr606.60460ac → 1.202.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +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 +20 -20
- 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/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js.map +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]__8b73253b._.js → [root-of-the-server]__2e388ba3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js.map → [root-of-the-server]__2e388ba3._.js.map} +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]__a12d0ad7._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__52ca7f88._.js.map → [root-of-the-server]__a12d0ad7._.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]__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/_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/{_db111d21._.js → _10f54ace._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_db111d21._.js.map → _10f54ace._.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/{_6ff832ad._.js → _2759af76._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_6ff832ad._.js.map → _2759af76._.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/{_fb539286._.js → _2bef1982._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_fb539286._.js.map → _2bef1982._.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/{_824d5772._.js → _498cba11._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_824d5772._.js.map → _498cba11._.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/_5cbb0e22._.js +1 -1
- package/web/.next/server/chunks/ssr/_5cbb0e22._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_5a3edc88._.js → _673be4f1._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5a3edc88._.js.map → _673be4f1._.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/_95b97274._.js +1 -1
- package/web/.next/server/chunks/ssr/_95b97274._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js → _9d18d1b1._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js.map → _9d18d1b1._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_70ff64a1._.js → _a93687e6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_70ff64a1._.js.map → _a93687e6._.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/{_f0d45e47._.js → _f46d2018._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_f0d45e47._.js.map → _f46d2018._.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/{_20a56008._.js → _f71954a5._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_20a56008._.js.map → _f71954a5._.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_40673f0c._.js → src_presentation_web_16c83ab4._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js.map → src_presentation_web_16c83ab4._.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_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_e812a69b._.js → src_presentation_web_cb0d2c28._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js.map → src_presentation_web_cb0d2c28._.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 +111 -111
- package/web/.next/static/chunks/{5faa828877b1e669.js → 03dda23205877d8b.js} +1 -1
- package/web/.next/static/chunks/{4bf4f333302e24a4.js → 054e3a5f5ff4db71.js} +1 -1
- package/web/.next/static/chunks/{a868014dbe1b4e42.js → 06e58041911c290b.js} +1 -1
- package/web/.next/static/chunks/{b5ff852fee23795d.js → 089ef5b749d79ebd.js} +1 -1
- package/web/.next/static/chunks/{1a093b13a9d6952e.js → 0d106010c498c198.js} +2 -2
- package/web/.next/static/chunks/193e5a0540757f5e.js +1 -0
- package/web/.next/static/chunks/{9abc3e68af98e636.js → 25111a2f2597f500.js} +1 -1
- package/web/.next/static/chunks/285e724d07901ef6.js +1 -0
- package/web/.next/static/chunks/{3c396f63ebefe875.js → 2b2bfc0465b18a7d.js} +1 -1
- package/web/.next/static/chunks/{6af99a08ccacdbce.js → 2b436562e69d2827.js} +1 -1
- package/web/.next/static/chunks/{8c96a835b3b0dc44.js → 2e3844d0ac487ac7.js} +1 -1
- package/web/.next/static/chunks/325859b8a9482427.js +1 -0
- package/web/.next/static/chunks/{2773e7b2587bc9cc.js → 44ab458ceb89d85d.js} +1 -1
- package/web/.next/static/chunks/4fdf36904f5421a6.js +1 -0
- package/web/.next/static/chunks/59004c65d552581c.js +1 -0
- package/web/.next/static/chunks/{0edcdc8a2dd06b7a.js → 5c4837e88a3431b8.js} +1 -1
- package/web/.next/static/chunks/{a131f868af7f1f7c.js → 74cdd562eb663f72.js} +1 -1
- package/web/.next/static/chunks/{0315591c972888a6.js → 7670d76d4ee743e6.js} +1 -1
- package/web/.next/static/chunks/{02d88da9fd656fcd.js → 83fc784ce05a701e.js} +1 -1
- package/web/.next/static/chunks/{460cedaa85c821e7.js → 8dd4fdd20b103a66.js} +1 -1
- package/web/.next/static/chunks/9336bdc7fc319282.js +1 -0
- package/web/.next/static/chunks/9d285565922b2de7.js +1 -0
- package/web/.next/static/chunks/{45eeca36eabbed23.js → 9f7f2a11937d87eb.js} +1 -1
- package/web/.next/static/chunks/{c3931fdbae836be6.js → a7c7bcfb6f7696a3.js} +1 -1
- package/web/.next/static/chunks/{9f7985e2a73929a2.js → a8f57d2a12849f32.js} +1 -1
- package/web/.next/static/chunks/{0e1c933065a1100a.js → abe98954ccdf29db.js} +1 -1
- package/web/.next/static/chunks/{4378715fa2b5e7de.js → b05808da85e8b34c.js} +1 -1
- package/web/.next/static/chunks/{b5dc7979d66caa38.js → b5f83e5e1dad23d5.js} +1 -1
- package/web/.next/static/chunks/{6d2074fa3453d333.js → b8293a56f257e5a2.js} +1 -1
- package/web/.next/static/chunks/{bc5b87e4068ba11d.js → c61c5e97c76dc733.js} +1 -1
- package/web/.next/static/chunks/c6b411bf31744ca7.js +1 -0
- package/web/.next/static/chunks/{bdaa907bf3d1d932.js → c732d6cc4c5e4343.js} +1 -1
- package/web/.next/static/chunks/{25a200f055ae5cba.js → d214d6a670f48d79.js} +1 -1
- package/web/.next/static/chunks/{6901861cb53ab483.js → d7b17a93a26e97c8.js} +1 -1
- package/web/.next/static/chunks/{a0325f77bbccc63d.js → d8f14fac959a6bd0.js} +1 -1
- package/web/.next/static/chunks/{24ea54516dc249c0.js → d98912f5b6cf4938.js} +1 -1
- package/web/.next/static/chunks/{21500b3fe3754296.js → df79667c16344317.js} +1 -1
- package/web/.next/static/chunks/{05e8df10619fb980.js → ec8f19328ad1ecd4.js} +1 -1
- package/web/.next/static/chunks/{e6e6ba783b2e4d14.js → f0157331838ac962.js} +1 -1
- package/web/.next/static/chunks/{c687ed21b9518d73.js → f757d865fae71faf.js} +1 -1
- package/web/.next/static/chunks/fb3cbb7f575a7128.js +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__52ca7f88._.js +0 -3
- package/web/.next/static/chunks/03d7b81c2554d52f.js +0 -1
- package/web/.next/static/chunks/15acdaaea57bb459.js +0 -1
- package/web/.next/static/chunks/39fe1c1397d5483b.js +0 -1
- package/web/.next/static/chunks/495883829026f13f.js +0 -1
- package/web/.next/static/chunks/4b3a4f416a6eb1ac.js +0 -1
- package/web/.next/static/chunks/4b4160f36cf2a3d6.js +0 -1
- package/web/.next/static/chunks/7269537b2188650d.js +0 -1
- package/web/.next/static/chunks/b1534b2f3d814fef.js +0 -1
- package/web/.next/static/chunks/f6dc1ba364203bb2.js +0 -1
- /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_buildManifest.js +0 -0
- /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12326,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("4023e0e62ab6873f251d393a3ac53fce2a7d1e363d",t.callServer,void 0,t.findSourceMapURL,"createFeature");e.s(["createFeature",()=>r])},34562,630616,e=>{"use strict";var t=e.i(679606),r=e.i(152155);e.i(541001);var a=e.i(64780),s=e.i(216868),i=e.i(283843),o=e.i(197667),l=e.i(453360),n=e.i(655016),c=e.i(591925),d=e.i(83428),p=e.i(381542),u=e.i(670471),x=e.i(912103),h=e.i(43416),m=e.i(542049),f=e.i(941698),b=e.i(131777),g=e.i(808361);e.i(1650);var j=e.i(511495),w=e.i(845811),v=e.i(735364),y=e.i(698127),C=e.i(48306),k=e.i(141957),N=e.i(81846),D=e.i(390382),T=e.i(951911),S=e.i(102828),F=e.i(930153);e.i(650032);var P=e.i(486254),L=e.i(508893);let M=(0,L.createServerReference)("40a9bed0961557794854c68543db57f58a5b63635e",L.callServer,void 0,L.findSourceMapURL,"getViewerPermission");var z=e.i(41413),E=e.i(425235),B=e.i(478521);e.i(13322);var R=e.i(961201),A=e.i(175921),U=e.i(236232),I=e.i(317406),O=e.i(442076);let K=[I.BuildMode.Fast,I.BuildMode.Spec],$={[I.BuildMode.Application]:{icon:m.LayoutGrid,labelKey:"createDrawer.modeApplication"},[I.BuildMode.Fast]:{icon:l.Zap,labelKey:"createDrawer.modeFast"},[I.BuildMode.Spec]:{icon:f.ClipboardList,labelKey:"createDrawer.modeSpec"}},G=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),q={allowPrd:!1,allowPlan:!1,allowMerge:!1};function W({open:e,onClose:i,onSubmit:o,repositoryPath:l,isSubmitting:c=!1,workflowDefaults:d,features:m,repositories:f,initialParentId:y,currentAgentType:D,currentModel:L,initialDescription:E,canPushDirectly:B,initialMode:R,initialApplicationId:A}){let U=void 0!==A,W=U&&!R?I.BuildMode.Spec:R,V=(0,g.useSoundAction)("create"),{t:H}=(0,a.useTranslation)("web"),Q=l&&(U||!f||0===f.length||f.some(e=>e.path===l))?l:"",X=d?.approvalGates??q,Y=d?.push??!1,_=d?.openPr??!1,ee=d?.ciWatchEnabled!==!1,et=d?.enableEvidence??!1,er=d?.commitEvidence??!1,ea=W||(d?.fast===!1?I.BuildMode.Spec:I.BuildMode.Fast),[es,ei]=(0,r.useState)(E??"");(0,r.useEffect)(()=>{E&&ei(E)},[E]);let[eo,el]=(0,r.useState)([]),[en,ec]=(0,r.useState)({...X}),[ed,ep]=(0,r.useState)(Y),[eu,ex]=(0,r.useState)(_),[eh,em]=(0,r.useState)(d?.ciWatchEnabled!==!1),[ef,eb]=(0,r.useState)(et),[eg,ej]=(0,r.useState)(er),[ew,ev]=(0,r.useState)(void 0),[ey,eC]=(0,r.useState)(ea),ek=ey===I.BuildMode.Fast,[eN,eD]=(0,r.useState)(!1),[eT,eS]=(0,r.useState)(!1),[eF,eP]=(0,r.useState)(!0),[eL,eM]=(0,r.useState)(!0),[ez,eE]=(0,r.useState)(d?.injectSkills??!1),[eB,eR]=(0,r.useState)(void 0),[eA,eU]=(0,r.useState)(void 0),[eI,eO]=(0,r.useState)(Q||void 0),[eK,e$]=(0,r.useState)(f??[]),[eG,eq]=(0,r.useState)(!1),[eW,eZ]=(0,r.useState)(null),[eJ,eV]=(0,r.useState)(!1),eH=(0,r.useRef)(crypto.randomUUID()),eQ=(0,r.useRef)(0),eX=(0,r.useRef)(null);(0,r.useEffect)(()=>{d&&(ec({...d.approvalGates}),ep(d.push),ex(d.openPr),em(!1!==d.ciWatchEnabled),eb(d.enableEvidence),ej(d.commitEvidence),W||eC(!1!==d.fast?I.BuildMode.Fast:I.BuildMode.Spec),eE(d.injectSkills??!1))},[d,W]),(0,r.useEffect)(()=>{e$(f??[])},[f]),(0,r.useEffect)(()=>{e&&y&&ev(y)},[e,y]);let[eY,e_]=(0,r.useState)(B??!1);(0,r.useEffect)(()=>{e_(B??!1)},[B]);let e0=(0,r.useRef)(eI);(0,r.useEffect)(()=>{eI&&eI!==e0.current&&(e0.current=eI,M(eI).then(e=>e_(e.canPushDirectly)).catch(()=>e_(!1)))},[eI]),(0,r.useEffect)(()=>{eY&&(eS(!1),ep(Y),ex(_),eP(!0))},[eY,Y,_]);let e1=(0,r.useCallback)(()=>{ei(""),el([]),ec({...X}),ep(Y),ex(_),em(ee),eb(et),ej(er),ev(void 0),eO(Q||void 0),e$(f??[]),eC(ea),eD(!1),eS(!1),eP(!0),eM(!0),eR(void 0),eU(void 0),eZ(null),eQ.current=0,eq(!1)},[X,Y,_,et,ee,er,ea,Q,f]),e5=""!==es.trim()||eo.length>0,{attemptClose:e3}=(0,F.useGuardedDrawerClose)({open:e,isDirty:e5,onClose:i,onReset:e1}),e2=(0,r.useCallback)(async e=>{for(let t of(eZ(null),e)){if(t.size>0xa00000)return void eZ(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!G.has(e))return void eZ(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();el(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eH.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));el(t=>t.filter(t=>t.id!==e)),eZ(t.error??"Upload failed");return}let s=await a.json();el(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{el(t=>t.filter(t=>t.id!==e)),eZ("Upload failed")}}},[]),e4=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eQ.current+=1,1===eQ.current&&eq(!0)},[]),e6=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eQ.current-=1,0===eQ.current&&eq(!1)},[]),e8=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),e9=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eQ.current=0,eq(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&e2(t)},[e2]),e7=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),e2(r))},[e2]),te=(0,r.useCallback)(e=>{if(e.preventDefault(),!es.trim())return;let t=eI??Q;t&&(V.play(),o({description:es.trim(),attachments:eo.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:en.allowPrd??!1,allowPlan:en.allowPlan??!1,allowMerge:en.allowMerge??!1},push:!!eT||ed||eu,openPr:!!eT||eu,ciWatchEnabled:eh,enableEvidence:ef,commitEvidence:eg,fast:ek,forkAndPr:eT,commitSpecs:eF,rebaseBeforeBranch:eL,injectSkills:ez,...eN?{pending:eN}:{},...eB?{agentType:eB}:{},...eA?{model:eA}:{},...ew?{parentId:ew}:{},...A?{applicationId:A}:{},sessionId:eH.current}),e1())},[es,eo,en,eI,Q,o,ed,eu,ef,eh,eg,ek,eT,eF,eL,ez,eN,eB,eA,ew,A,V,e1]),tt=(0,r.useCallback)(async()=>{try{let e=await (0,O.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();el(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eH.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));el(t=>t.filter(t=>t.id!==e)),eZ(t.error??"Upload failed");return}let a=await r.json();el(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{el(t=>t.filter(t=>t.id!==e)),eZ("Upload failed")}}}catch{}},[]),tr=(0,r.useCallback)(e=>{el(t=>t.filter(t=>t.id!==e))},[]),ta=(0,r.useCallback)((e,t)=>{el(r=>r.map(r=>r.id===e?{...r,notes:t}:r))},[]),ts=(0,r.useRef)(null),ti=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),ts.current?.requestSubmit())},[]),to=(0,r.useCallback)(()=>{eV(!0)},[]),tl=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eX.current?.contains(document.activeElement),t=eX.current?.querySelector('[aria-expanded="true"]')!==null;e||t||eV(!1)},0)},[]),tn=m&&m.length>0,tc=!Q&&!eI,td=!Q&&void 0!==f,tp=[{id:"allowPrd",label:H("createDrawer.prd"),description:H("createDrawer.prdDescription")},{id:"allowPlan",label:H("createDrawer.plan"),description:H("createDrawer.planDescription")},{id:"allowMerge",label:H("createDrawer.merge"),description:H("createDrawer.mergeDescription")}];return(0,t.jsx)(j.BaseDrawer,{open:e,onClose:e3,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(w.DrawerTitle,{children:H("createDrawer.title")})]}),c?(0,t.jsx)(w.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(N.Badge,{variant:"secondary",children:H("createDrawer.creating")})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(v.Button,{variant:"outline",onClick:e3,disabled:c,children:H("createDrawer.cancel")}),(0,t.jsx)(v.Button,{type:"submit",form:"create-feature-form",disabled:!es.trim()||c||tc,children:c?H("createDrawer.creating"):H("createDrawer.createFeature")})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(S.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:ts,id:"create-feature-form",onSubmit:te,onKeyDown:ti,className:"flex flex-col gap-4",children:[U?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section","data-locked-by-application":"true",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:H("createDrawer.repository")}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("p",{className:"text-sm opacity-70","data-testid":"repo-readonly-label","aria-disabled":"true","aria-describedby":"locked-by-application-tooltip",title:H("createDrawer.lockedByApplication"),children:f?.find(e=>e.path===Q)?.name??(Q?Q.split("/").pop():"")??Q})}),(0,t.jsx)(S.TooltipContent,{id:"locked-by-application-tooltip",role:"tooltip",side:"bottom",children:H("createDrawer.lockedByApplication")})]})]}):td?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:H("createDrawer.repository")}),(0,t.jsx)(J,{repositories:eK,value:eI,onChange:eO,onAddRepository:e=>{e$(t=>[...t,e]),eO(e.path)},disabled:c})]}):Q?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:H("createDrawer.repository")}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:f?.find(e=>e.path===Q)?.name??Q.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":H("createDrawer.fileDropZone"),"data-drag-over":eG?"true":"false",onDragEnter:e4,onDragLeave:e6,onDragOver:e8,onDrop:e9,className:(0,b.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",eG&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(k.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:H("createDrawer.describeFeature")}),(0,t.jsxs)("div",{ref:eX,onFocus:to,onBlur:tl,className:(0,b.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eJ&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(C.Textarea,{id:"feature-description",placeholder:H("createDrawer.featurePlaceholder"),value:es,onChange:e=>ei(e.target.value),onPaste:e7,required:!0,disabled:c,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),eo.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:eo.map(e=>(0,t.jsx)(P.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>tr(e.id),disabled:c,loading:e.loading,notes:e.notes,onNotesChange:t=>ta(e.id,t)},e.id))}),eW?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:eW}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(z.AgentModelPicker,{initialAgentType:eB??D??"",initialModel:eA??L??"",mode:"override",onAgentModelChange:(e,t)=>{eR(e),eU(t)},disabled:c,className:"w-55"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(T.Switch,{id:"pending-mode",checked:eN,onCheckedChange:eD,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(n.Clock,{className:"h-3.5 w-3.5"}),H("createDrawer.pendingMode")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.pendingModeDescription")})]}),(0,t.jsx)("div",{role:"group","aria-label":H("createDrawer.modeGroupLabel"),className:"border-input flex items-center gap-0.5 rounded-md border p-0.5",children:K.map(e=>{let r=$[e],a=r.icon,s=ey===e;return(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","data-testid":`build-mode-${e}`,"aria-pressed":s,"aria-disabled":c,disabled:c,onClick:()=>eC(e),className:(0,b.cn)("flex cursor-pointer items-center gap-1 rounded-sm px-2 py-1 text-xs font-medium transition-colors",s?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground","disabled:cursor-not-allowed disabled:opacity-50"),children:[(0,t.jsx)(a,{className:"h-3.5 w-3.5"}),H(r.labelKey)]})}),(0,t.jsx)(S.TooltipContent,{role:"tooltip",side:"bottom",children:H(`${r.labelKey}Description`)})]},e)})}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:tt,disabled:c,"aria-label":H("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(s.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("chat.attachFiles")})]})]})]})]}),tn&&void 0!==y?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(k.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:H("createDrawer.parentFeature")}),(0,t.jsx)(Z,{features:m,value:ew,onChange:ev,disabled:c})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:H("createDrawer.approve")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.approveDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:tp.map(e=>(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:`approve-${e.id}`,size:"sm",checked:en[e.id]??!1,onCheckedChange:t=>ec(r=>({...r,[e.id]:t})),disabled:c||ek&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(k.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ek&&("allowPrd"===e.id||"allowPlan"===e.id)?H("createDrawer.skippedInFastMode"):e.description})]},e.id))}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=tp.every(e=>en[e.id]),t={};for(let r of tp)t[r.id]=!e;ec(t)},disabled:c,className:(0,b.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",tp.every(e=>en[e.id])&&"text-primary"),children:H("createDrawer.all")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.toggleAllApprovalGates")})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:H("createDrawer.evidence")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.evidenceDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"enable-evidence",size:"sm",checked:ef,onCheckedChange:e=>{eb(e),e||ej(!1)},disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:H("createDrawer.collect")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.collectDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-evidence",size:"sm",checked:eg,onCheckedChange:ej,disabled:c||!ef||!eu&&!eT}),(0,t.jsx)(k.Label,{htmlFor:"commit-evidence",className:(0,b.cn)("cursor-pointer text-xs font-medium",(!ef||!eu&&!eT)&&"opacity-50"),children:H("createDrawer.addToPr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:eu||eT?ef?H("createDrawer.addToPrDescription"):H("createDrawer.requiresEvidence"):H("createDrawer.requiresPr")})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:H("createDrawer.skills")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.skillsDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"inject-skills",size:"sm",checked:ez,onCheckedChange:eE,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(x.Puzzle,{className:"h-3 w-3"}),H("createDrawer.injectSkills")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.injectSkillsDescription")})]})})]}),(0,t.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:H("createDrawer.git")}),(0,t.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"push",size:"sm",checked:!!eT||ed||eu,onCheckedChange:e=>{ep(e),!e&&eu&&ex(!1)},disabled:c||eT}),(0,t.jsx)(k.Label,{htmlFor:"push",className:(0,b.cn)("cursor-pointer text-xs font-medium",eT&&"opacity-50"),children:H("createDrawer.push")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:eT?"Enabled — contributing to upstream":H("createDrawer.pushDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"open-pr",size:"sm",checked:!!eT||eu,onCheckedChange:e=>{ex(e),e||ej(!1)},disabled:c||eT}),(0,t.jsx)(k.Label,{htmlFor:"open-pr",className:(0,b.cn)("cursor-pointer text-xs font-medium",eT&&"opacity-50"),children:H("createDrawer.pr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:eT?"Enabled — contributing to upstream":H("createDrawer.prDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"ci-watch",size:"sm",checked:eh,onCheckedChange:em,disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:H("createDrawer.watch")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.watchDescription")})]}),(0,t.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"rebase-before-branch",size:"sm",checked:eL,onCheckedChange:eM,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(h.RefreshCw,{className:"h-3 w-3"}),H("createDrawer.sync")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.syncDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-specs",size:"sm",checked:eF,onCheckedChange:eP,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(u.FileText,{className:"h-3 w-3"}),H("createDrawer.commitSpecs")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.commitSpecsDescription")})]}),!eY&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"fork-and-pr",size:"sm",checked:eT,onCheckedChange:e=>{eS(e),e&&eP(!1)},disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(p.GitFork,{className:"h-3 w-3"}),H("createDrawer.forkAndPr")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:H("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function Z({features:e,value:s,onChange:l,disabled:n}){let{t:c}=(0,a.useTranslation)("web"),[d,p]=(0,r.useState)(!1),[u,x]=(0,r.useState)(""),h=(0,r.useRef)(null),m=e.find(e=>e.id===s),f=u.trim()?e.filter(e=>e.name.toLowerCase().includes(u.toLowerCase())||e.id.toLowerCase().includes(u.toLowerCase())):e,g=(0,r.useCallback)(e=>{l(e),p(!1),x("")},[l]);return(0,r.useEffect)(()=>{d?setTimeout(()=>h.current?.focus(),0):x("")},[d]),(0,t.jsxs)(D.Popover,{open:d,onOpenChange:p,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":d,"aria-label":"Parent Feature",disabled:n,"data-testid":"parent-feature-combobox",className:(0,b.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!m&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:m?`${m.name} (${m.id.slice(0,8)})`:c("createDrawer.selectParent")}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(y.Input,{ref:h,placeholder:c("createDrawer.searchFeatures"),value:u,onChange:e=>x(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===s,onClick:()=>g(void 0),className:(0,b.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===s&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(o.CheckIcon,{className:(0,b.cn)("h-4 w-4 shrink-0",void 0!==s&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:c("createDrawer.noParent")})]}),0===f.length&&u?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:c("createDrawer.noFeaturesFound")}):f.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.id,onClick:()=>g(e.id),className:(0,b.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,b.cn)("h-4 w-4 shrink-0",s!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function J({repositories:e,value:s,onChange:l,onAddRepository:n,disabled:u}){let[x,h]=(0,r.useState)(!1),[m,f]=(0,r.useState)(""),[g,j]=(0,r.useState)(!1),[w,v]=(0,r.useState)(null),[C,k]=(0,r.useState)(!1),T=(0,r.useRef)(null),{reactFileManager:S}=(0,A.useFeatureFlags)(),{t:F}=(0,a.useTranslation)("web"),P=e.find(e=>e.path===s),L=m.trim()?e.filter(e=>e.name.toLowerCase().includes(m.toLowerCase())||e.path.toLowerCase().includes(m.toLowerCase())):e,M=(0,r.useCallback)(e=>{l(e),h(!1),f("")},[l]),z=(0,r.useCallback)(async e=>{let t=await (0,U.addRepository)({path:e});if(t.error){v(t.error),j(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};n?.(e),l(e.path),h(!1),f("")}},[n,l]),I=(0,r.useCallback)(async()=>{if(!g){if(S)return void k(!0);j(!0),v(null);try{let e=await (0,B.pickFolder)();if(!e)return void j(!1);await z(e)}catch{k(!0)}finally{j(!1)}}},[g,S,z]),O=(0,r.useCallback)(async e=>{if(k(!1),e){j(!0),v(null);try{await z(e)}catch(e){v(e instanceof Error?e.message:"Failed to add repository")}finally{j(!1)}}},[z]);return(0,r.useEffect)(()=>{x?setTimeout(()=>T.current?.focus(),0):f("")},[x]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(D.Popover,{open:x,onOpenChange:h,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":x,"aria-label":"Repository",disabled:u,"data-testid":"repository-combobox",className:(0,b.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!P&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:P?P.name:"Select repository..."}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(y.Input,{ref:T,placeholder:F("createDrawer.searchRepositories"),value:m,onChange:e=>f(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===L.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):L.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.path,onClick:()=>M(e.path),className:(0,b.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,b.cn)("h-4 w-4 shrink-0",s!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[e.name,e.isFork?(0,t.jsxs)(N.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,t.jsx)(p.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(E.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:I,disabled:g,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[g?(0,t.jsx)(d.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(c.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),w?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:w}):null]})})]}),(0,t.jsx)(R.ReactFileManagerDialog,{open:C,onOpenChange:e=>{e||k(!1)},onSelect:O})]})}e.s(["FeatureCreateDrawer",()=>W],630616),e.s([],34562)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,338573,e=>{"use strict";let t=(0,e.i(903645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],338573)},730702,e=>{"use strict";let t=(0,e.i(903645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],730702)},724042,e=>{"use strict";let t=(0,e.i(903645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],724042)},873504,202481,73645,481605,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(317406),s=e.i(508893);let l=(0,s.createServerReference)("401846920f6fb739e32233d9d6a6df7945b8621c00",s.callServer,void 0,s.findSourceMapURL,"deployFeature"),n=(0,s.createServerReference)("408a28f520d819792447d4b47d9b73a5ddf7296469",s.callServer,void 0,s.findSourceMapURL,"deployRepository");e.s(["deployRepository",()=>n],202481);let i=(0,s.createServerReference)("4005923232df16201d86b35c46dbbe719725cbcd26",s.callServer,void 0,s.findSourceMapURL,"deployApplication"),o=(0,s.createServerReference)("409ab95b1ec58ad7dd578b018e11d5bd766839f8bc",s.callServer,void 0,s.findSourceMapURL,"stopDeployment");e.s(["stopDeployment",()=>o],73645);let c=(0,s.createServerReference)("40ed3ea24841c9c4280513ab004dcdbce3d545bcdb",s.callServer,void 0,s.findSourceMapURL,"getDeploymentStatus");var d=e.i(118354);let u={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class p{entries=new Map;listeners=new Map;globalListeners=new Set;fullyHydrated=!1;isFullyHydrated(){return this.fullyHydrated}hydrate(e){let t=new Set;for(let r of e)t.add(r.targetId),this.update(r.targetId,{status:r.state,url:r.url,targetType:r.targetType,hydrated:!0});for(let[e,r]of this.entries)!t.has(e)&&r.hydrated&&null!==r.status?this.update(e,{status:null,url:null}):t.has(e)||r.hydrated||this.update(e,{hydrated:!0});this.fullyHydrated=!0}getEntry(e){return this.entries.get(e)??u}update(e,t){let r={...this.entries.get(e)??u,...t};this.entries.set(e,r),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let r=this.listeners.get(e);return r||(r=new Set,this.listeners.set(e,r)),r.add(t),()=>{r?.delete(t),r?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>p,"EMPTY_ENTRY",0,u],481605);let f=(0,d.createLogger)("[DeploymentStatusProvider]"),h=new Set([a.DeploymentState.Booting,a.DeploymentState.Ready]),x=(0,r.createContext)(null);function m({initialDeployments:e,children:s}){let d=(0,r.useRef)(null);d.current||(d.current=new p,d.current.hydrate(e));let u=d.current;(0,r.useEffect)(()=>{u.hydrate(e)},[e,u]);let m=(0,r.useRef)(new Map),g=(0,r.useCallback)(e=>{let t=m.current.get(e);t&&(clearInterval(t),m.current.delete(e))},[]),v=(0,r.useCallback)(e=>{if(m.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await c(e)}catch(t){f.warn(`poll failed for "${e}"`,t),u.setStatus(e,null),g(e);return}if(!t||t.state===a.DeploymentState.Stopped){u.setStatus(e,null),g(e);return}u.setStatus(e,t)},3e3);m.current.set(e,t)},[u,g]);(0,r.useEffect)(()=>{let e=m.current,t=u.subscribeAll(()=>{for(let[t]of e){let e=u.getEntry(t);e.status&&h.has(e.status)||g(t)}});return()=>{for(let[,r]of(t(),e))clearInterval(r);e.clear()}},[u,g]);let y=(0,r.useCallback)(e=>{if(e&&!u.getEntry(e).hydrated){if(u.isFullyHydrated())return void u.update(e,{hydrated:!0});u.update(e,{hydrated:!0}),(async()=>{try{let t=await c(e);u.setStatus(e,t),t&&h.has(t.state)&&v(e)}catch(t){f.warn(`ensureHydrated failed for "${e}"`,t)}})()}},[u,v]),b=(0,r.useCallback)(async e=>{u.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await i(e.targetId):await n(e.repositoryPath);if(!t.success)return void u.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});u.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),v(e.targetId)}catch(r){let t=r instanceof Error?r.message:"An unexpected error occurred";u.update(e.targetId,{deployLoading:!1,deployError:t})}},[u,v]),k=(0,r.useCallback)(async e=>{if(e){u.update(e,{stopLoading:!0});try{(await o(e)).success?(g(e),u.update(e,{stopLoading:!1,status:null,url:null})):u.update(e,{stopLoading:!1})}catch(t){f.warn("stop error (non-critical)",t),u.update(e,{stopLoading:!1})}}},[u,g]),j=(0,r.useMemo)(()=>({store:u,deploy:b,stop:k,ensureHydrated:y}),[u,b,k,y]);return(0,t.jsx)(x.Provider,{value:j,children:s})}function g(){let e=(0,r.useContext)(x);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function v(){let e=(0,r.useContext)(x);return e||y}let y={store:new p,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>m,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>v],873504)},8537,e=>{"use strict";var t=e.i(152155),r=e.i(873504);function a(){}function s(e){let{store:s,deploy:l,stop:n,ensureHydrated:i}=(0,r.useDeploymentStatusContextOptional)(),o=e?.targetId??"",c=(0,t.useCallback)(e=>o?s.subscribe(o,e):a,[s,o]),d=(0,t.useCallback)(()=>o?s.getEntry(o):s.getEntry(""),[s,o]),u=(0,t.useSyncExternalStore)(c,d,d);return(0,t.useEffect)(()=>{o&&i(o)},[o,i]),{deploy:(0,t.useCallback)(async()=>{e&&await l(e)},[l,e]),stop:(0,t.useCallback)(async()=>{o&&await n(o)},[n,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>s])},511495,872714,81803,917466,199348,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(948249),s=e.i(724042),l=e.i(64970),n=e.i(294237),i=e.i(131777),o=e.i(83428),c=e.i(151251),d=e.i(735364),u=e.i(808361);function p({label:e,onClick:r,loading:a,error:s,icon:l,iconOnly:n=!1,variant:p="outline",size:f="sm"}){let h=(0,u.useSoundAction)("click");return(0,t.jsxs)(d.Button,{variant:p,size:f,"aria-label":e,disabled:a,onClick:()=>{h.play(),r()},className:(0,i.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&n&&"ghost"===p&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[a?(0,t.jsx)(o.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(c.CircleAlert,{className:"size-4"}):(0,t.jsx)(l,{className:"size-4"}),n?null:e]})}e.s(["ActionButton",()=>p],872714),e.s([],81803);var f=e.i(730702),h=e.i(338573),x=e.i(317406),m=e.i(102828),g=e.i(602287),v=e.i(508893);let y=(0,v.createServerReference)("405723722c9eb9b4888b52203cfb121401f0c61a80",v.callServer,void 0,v.findSourceMapURL,"getDeploymentLogs");function b({open:e,onOpenChange:a,targetId:s}){let{logs:l,isConnected:n}=function(e){let[t,a]=(0,r.useState)([]),[s,l]=(0,r.useState)(!1),n=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{n.current&&(n.current.close(),n.current=null),l(!1)},[]);return(0,r.useEffect)(()=>{if(!e){a([]),l(!1);return}y(e).then(e=>{e&&a(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return n.current=t,t.onopen=()=>{l(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);a(e=>[...e,t])}),t.onerror=()=>{l(!1)},()=>{t.close(),n.current=null}},[e,i]),{logs:t,isConnected:s}}(e?s:null);return(0,t.jsx)(k,{open:e,onOpenChange:a,logs:l,isConnected:n})}function k({open:e,onOpenChange:a,logs:s,isConnected:l}){let n=(0,r.useRef)(null),i=(0,r.useRef)(!0),o=(0,r.useCallback)(()=>{let e=n.current;e&&(i.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{i.current&&n.current&&(n.current.scrollTop=n.current.scrollHeight)},[s]),(0,t.jsx)(g.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(g.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,t.jsxs)(g.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,t.jsx)(g.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${l?"bg-green-500":"bg-zinc-500"}`}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:l?"Connected":"Disconnected"})]})]}),(0,t.jsxs)("div",{ref:n,onScroll:o,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===s.length?(0,t.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):s.map(e=>(0,t.jsx)(j,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!l&&s.length>0&&(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function j({entry:e}){return(0,t.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,t.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let S="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function w({status:e,url:a,targetId:s}){let[l,n]=(0,r.useState)(!1),i=s&&(e===x.DeploymentState.Booting||e===x.DeploymentState.Ready);switch(e){case x.DeploymentState.Booting:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,t.jsx)(o.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),i?(0,t.jsx)(m.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(m.Tooltip,{children:[(0,t.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:S,onClick:e=>{e.stopPropagation(),n(!0)},children:(0,t.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,t.jsx)(m.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,t.jsx)(b,{open:l,onOpenChange:n,targetId:s}):null]});case x.DeploymentState.Ready:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,t.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),a?(0,t.jsxs)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[a,(0,t.jsx)(f.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,t.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),i?(0,t.jsx)(m.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(m.Tooltip,{children:[(0,t.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:S,onClick:e=>{e.stopPropagation(),n(!0)},children:(0,t.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,t.jsx)(m.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,t.jsx)(b,{open:l,onOpenChange:n,targetId:s}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>w],917466),e.s([],199348);var C=e.i(845811),R=e.i(425235);e.i(541001);var D=e.i(64780),E=e.i(8537),N=e.i(175921);let L=(0,n.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function T({open:e,onClose:s,modal:l=!1,dismissOnOutsideClick:n=!1,title:o="Drawer",size:c,header:d,children:u,footer:p,className:f,"data-testid":h,deployTarget:x}){let{i18n:m}=(0,D.useTranslation)(),g=(0,N.useFeatureFlags)(),v=(0,r.useRef)(null),y="rtl"===m.dir()?"left":"right";return(0,r.useEffect)(()=>{if(!e||l)return;let t=e=>{let t=e.target;!document.body.contains(t)||v.current?.contains(t)||t.closest(n?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||s()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,l,s,n]),(0,t.jsxs)(C.Drawer,{direction:y,modal:l,handleOnly:!0,open:e,onOpenChange:e=>{e||s()},children:[l?(0,t.jsx)(C.DrawerOverlay,{}):null,(0,t.jsxs)(C.DrawerContent,{ref:v,direction:y,showCloseButton:!1,className:(0,i.cn)(L({size:c}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",f),"data-testid":h,onInteractOutside:l?void 0:e=>e.preventDefault(),children:[(0,t.jsx)(C.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:o})}),(0,t.jsx)(C.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:o})}),(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:s,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":h?`${h}-close-button`:void 0,children:[(0,t.jsx)(a.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),d?(0,t.jsx)(C.DrawerHeader,{className:"shrink-0",children:d}):null,d?(0,t.jsx)(R.Separator,{}):null,g.envDeploy&&x?(0,t.jsx)(F,{deployTarget:x}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:u}),p?(0,t.jsx)(C.DrawerFooter,{className:"shrink-0",children:p}):null]})]})}function F({deployTarget:e}){let r=(0,E.useDeployAction)(e),a="Booting"===r.status||"Ready"===r.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(m.TooltipProvider,{children:(0,t.jsxs)(m.Tooltip,{children:[(0,t.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(p,{label:a?"Stop Dev Server":"Start Dev Server",onClick:a?r.stop:r.deploy,loading:r.deployLoading||r.stopLoading,error:!!r.deployError,icon:a?l.Square:s.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(m.TooltipContent,{children:a?"Stop Dev Server":"Start Dev Server"})]})}),a?(0,t.jsx)(w,{status:r.status,url:r.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>T],511495)},1650,e=>{"use strict";e.i(511495),e.s([])},670471,e=>{"use strict";var t=e.i(16298);e.s(["FileText",()=>t.default])},43416,e=>{"use strict";let t=(0,e.i(903645).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],43416)},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)},56312,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40e7ea921079c1a8fe79fc7cfb59743f718c5944f7",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>r])},151080,e=>{"use strict";var t=e.i(152155),r=e.i(291967),a=e.i(787342),s=e.i(205978),l=e.i(922528),n=e.i(713123),i=e.i(287620),o=e.i(929297),c=e.i(936589),d=e.i(566033),u=e.i(679606),p="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[x,m,g]=(0,a.createCollection)(h),[v,y]=(0,l.createContextScope)(h,[g]),[b,k]=v(h),j=t.forwardRef((e,t)=>(0,u.jsx)(x.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(x.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(S,{...e,ref:t})})}));j.displayName=h;var S=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:l,orientation:n,loop:x=!1,dir:g,currentTabStopId:v,defaultCurrentTabStopId:y,onCurrentTabStopIdChange:k,onEntryFocus:j,preventScrollOnEntryFocus:S=!1,...w}=e,C=t.useRef(null),R=(0,s.useComposedRefs)(a,C),E=(0,d.useDirection)(g),[N,L]=(0,c.useControllableState)({prop:v,defaultProp:y??null,onChange:k,caller:h}),[T,F]=t.useState(!1),I=(0,o.useCallbackRef)(j),M=m(l),A=t.useRef(!1),[P,z]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(p,I),()=>e.removeEventListener(p,I)},[I]),(0,u.jsx)(b,{scope:l,orientation:n,dir:E,loop:x,currentTabStopId:N,onItemFocus:t.useCallback(e=>L(e),[L]),onItemShiftTab:t.useCallback(()=>F(!0),[]),onFocusableItemAdd:t.useCallback(()=>z(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>z(e=>e-1),[]),children:(0,u.jsx)(i.Primitive.div,{tabIndex:T||0===P?-1:0,"data-orientation":n,...w,ref:R,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{A.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!A.current;if(e.target===e.currentTarget&&t&&!T){let t=new CustomEvent(p,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);D([e.find(e=>e.active),e.find(e=>e.id===N),...e].filter(Boolean).map(e=>e.ref.current),S)}}A.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>F(!1))})})}),w="RovingFocusGroupItem",C=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:s,focusable:l=!0,active:o=!1,tabStopId:c,children:d,...p}=e,f=(0,n.useId)(),h=c||f,g=k(w,s),v=g.currentTabStopId===h,y=m(s),{onFocusableItemAdd:b,onFocusableItemRemove:j,currentTabStopId:S}=g;return t.useEffect(()=>{if(l)return b(),()=>j()},[l,b,j]),(0,u.jsx)(x.ItemSlot,{scope:s,id:h,focusable:l,active:o,children:(0,u.jsx)(i.Primitive.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...p,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let s=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(s))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(s)))return R[s]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let s=y().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)s.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&s.reverse();let l=s.indexOf(e.currentTarget);s=g.loop?(r=s,a=l+1,r.map((e,t)=>r[(a+t)%r.length])):s.slice(l+1)}setTimeout(()=>D(s))}}),children:"function"==typeof d?d({isCurrentTabStop:v,hasTabStop:null!=S}):d})})});C.displayName=w;var R={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function D(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>C,"Root",()=>j,"createRovingFocusGroupScope",()=>y])},619933,e=>{"use strict";let t=(0,e.i(903645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],619933)},208986,e=>{"use strict";let t=(0,e.i(903645).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>t],208986)},237260,446206,567891,e=>{"use strict";let t=(0,e.i(903645).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",()=>t],237260);var r=e.i(508893);let a=(0,r.createServerReference)("40ab7fa1f69e2aec8b94563e16d0019f3589ec2f2e",r.callServer,void 0,r.findSourceMapURL,"openIde");e.s(["openIde",()=>a],446206);let s=(0,r.createServerReference)("40b95792d8bb0de2aa9914ff42b671ff42b87c24ba",r.callServer,void 0,r.findSourceMapURL,"openShell");e.s(["openShell",()=>s],567891)},216868,442076,e=>{"use strict";var t=e.i(943698);async function r(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["PaperclipIcon",()=>t.default],216868),e.s(["pickFiles",()=>r],442076)},197667,e=>{"use strict";var t=e.i(301012);e.s(["CheckIcon",()=>t.default])},438227,e=>{"use strict";let t=(0,e.i(903645).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",()=>t],438227)},987889,e=>{"use strict";let t=(0,e.i(903645).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",()=>t],987889)},983299,474363,765104,e=>{"use strict";let t=(0,e.i(903645).default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);e.s(["ArchiveRestore",()=>t],983299);var r=e.i(679606),a=e.i(152155),s=e.i(83428);e.i(541001);var l=e.i(626960),n=e.i(64780),i=e.i(271326),o=e.i(197667),c=e.i(961569),c=c,d=e.i(205978),u=e.i(922528),p=e.i(291967),f=e.i(936589),h=e.i(23405),x=e.i(277624),m=e.i(685995),g=e.i(287620),v="Checkbox",[y,b]=(0,u.createContextScope)(v),[k,j]=y(v);function S(e){let{__scopeCheckbox:t,checked:s,children:l,defaultChecked:n,disabled:i,form:o,name:c,onCheckedChange:d,required:u,value:p="on",internal_do_not_use_render:h}=e,[x,m]=(0,f.useControllableState)({prop:s,defaultProp:n??!1,onChange:d,caller:v}),[g,y]=a.useState(null),[b,j]=a.useState(null),S=a.useRef(!1),w=!g||!!o||!!g.closest("form"),C={checked:x,disabled:i,setChecked:m,control:g,setControl:y,name:c,form:o,value:p,hasConsumerStoppedPropagationRef:S,required:u,defaultChecked:!T(n)&&n,isFormControl:w,bubbleInput:b,setBubbleInput:j};return(0,r.jsx)(k,{scope:t,...C,children:"function"==typeof h?h(C):l})}var w="CheckboxTrigger",C=a.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:s,...l},n)=>{let{control:i,value:o,disabled:c,checked:u,required:f,setControl:h,setChecked:x,hasConsumerStoppedPropagationRef:m,isFormControl:v,bubbleInput:y}=j(w,e),b=(0,d.useComposedRefs)(n,h),k=a.useRef(u);return a.useEffect(()=>{let e=i?.form;if(e){let t=()=>x(k.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[i,x]),(0,r.jsx)(g.Primitive.button,{type:"button",role:"checkbox","aria-checked":T(u)?"mixed":u,"aria-required":f,"data-state":F(u),"data-disabled":c?"":void 0,disabled:c,value:o,...l,ref:b,onKeyDown:(0,p.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,p.composeEventHandlers)(s,e=>{x(e=>!!T(e)||!e),y&&v&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});C.displayName=w;var R=a.forwardRef((e,t)=>{let{__scopeCheckbox:a,name:s,checked:l,defaultChecked:n,required:i,disabled:o,value:c,onCheckedChange:d,form:u,...p}=e;return(0,r.jsx)(S,{__scopeCheckbox:a,checked:l,defaultChecked:n,disabled:o,required:i,onCheckedChange:d,name:s,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(C,{...p,ref:t,__scopeCheckbox:a}),e&&(0,r.jsx)(L,{__scopeCheckbox:a})]})})});R.displayName=v;var D="CheckboxIndicator",E=a.forwardRef((e,t)=>{let{__scopeCheckbox:a,forceMount:s,...l}=e,n=j(D,a);return(0,r.jsx)(m.Presence,{present:s||T(n.checked)||!0===n.checked,children:(0,r.jsx)(g.Primitive.span,{"data-state":F(n.checked),"data-disabled":n.disabled?"":void 0,...l,ref:t,style:{pointerEvents:"none",...e.style}})})});E.displayName=D;var N="CheckboxBubbleInput",L=a.forwardRef(({__scopeCheckbox:e,...t},s)=>{let{control:l,hasConsumerStoppedPropagationRef:n,checked:i,defaultChecked:o,required:c,disabled:u,name:p,value:f,form:m,bubbleInput:v,setBubbleInput:y}=j(N,e),b=(0,d.useComposedRefs)(s,y),k=(0,h.usePrevious)(i),S=(0,x.useSize)(l);a.useEffect(()=>{if(!v)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!n.current;if(k!==i&&e){let r=new Event("click",{bubbles:t});v.indeterminate=T(i),e.call(v,!T(i)&&i),v.dispatchEvent(r)}},[v,k,i,n]);let w=a.useRef(!T(i)&&i);return(0,r.jsx)(g.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:o??w.current,required:c,disabled:u,name:p,value:f,form:m,...t,tabIndex:-1,ref:b,style:{...t.style,...S,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function T(e){return"indeterminate"===e}function F(e){return T(e)?"indeterminate":e?"checked":"unchecked"}L.displayName=N,e.s(["Checkbox",()=>R,"CheckboxIndicator",()=>E,"Indicator",()=>E,"Root",()=>R,"createCheckboxScope",()=>b,"unstable_BubbleInput",()=>L,"unstable_CheckboxBubbleInput",()=>L,"unstable_CheckboxProvider",()=>S,"unstable_CheckboxTrigger",()=>C,"unstable_Provider",()=>S,"unstable_Trigger",()=>C],257696);var I=e.i(257696),I=I,M=e.i(131777);function A({className:e,...t}){return(0,r.jsx)(I.Root,{"data-slot":"checkbox",className:(0,M.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,r.jsx)(I.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===t.checked?(0,r.jsx)(c.default,{className:"size-3.5"}):(0,r.jsx)(o.CheckIcon,{className:"size-3.5"})})})}e.s(["Checkbox",()=>A],474363);var P=e.i(141957);function z({open:e,onOpenChange:t,onConfirm:o,isDeleting:c,featureName:d,featureId:u,hasChildren:p,hasOpenPr:f}){let{t:h}=(0,n.useTranslation)("web"),[x,m]=(0,a.useState)(!0),[g,v]=(0,a.useState)(!1),[y,b]=(0,a.useState)(!0);return(0,a.useEffect)(()=>{e&&(m(!0),v(!1),b(!0))},[e]),(0,a.useEffect)(()=>{x?b(!0):b(!1)},[x]),(0,r.jsx)(i.AlertDialog,{open:e,onOpenChange:t,children:(0,r.jsxs)(i.AlertDialogContent,{onCloseAutoFocus:e=>e.preventDefault(),children:[(0,r.jsxs)(i.AlertDialogHeader,{children:[(0,r.jsx)(i.AlertDialogTitle,{children:h("deleteFeature.title")}),(0,r.jsx)(i.AlertDialogDescription,{children:(0,r.jsx)(l.Trans,{t:h,i18nKey:"deleteFeature.description",values:{featureName:d,featureId:u},components:{strong:(0,r.jsx)("strong",{})}})})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(A,{id:"cleanup-checkbox",checked:x,onCheckedChange:e=>m(!0===e),disabled:c,"aria-label":h("deleteFeature.cleanupLabel")}),(0,r.jsx)(P.Label,{htmlFor:"cleanup-checkbox",className:"cursor-pointer text-sm",children:h("deleteFeature.cleanupLabel")})]}),p?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(A,{id:"cascade-delete-checkbox",checked:g,onCheckedChange:e=>v(!0===e),disabled:c,"aria-label":h("deleteFeature.deleteSubFeatures")}),(0,r.jsx)(P.Label,{htmlFor:"cascade-delete-checkbox",className:"cursor-pointer text-sm",children:h("deleteFeature.deleteSubFeatures")})]}):null,f?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(A,{id:"close-pr-checkbox",checked:y,onCheckedChange:e=>b(!0===e),disabled:c||!x,"aria-label":h("deleteFeature.closePullRequest")}),(0,r.jsx)(P.Label,{htmlFor:"close-pr-checkbox",className:"cursor-pointer text-sm",children:h("deleteFeature.closePullRequest")})]}):null]}),(0,r.jsxs)(i.AlertDialogFooter,{children:[(0,r.jsx)(i.AlertDialogCancel,{disabled:c,onClick:()=>t(!1),children:h("deleteFeature.cancel")}),(0,r.jsx)(i.AlertDialogAction,{variant:"destructive",disabled:c,onClick:()=>o(x,g,!!f&&y),children:c?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),h("deleteFeature.deleting")]}):h("deleteFeature.delete")})]})]})})}e.s(["DeleteFeatureDialog",()=>z],765104)},103674,466695,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("4047fcf9280c5bc168edadf9f0c951bc2514b41fe0",t.callServer,void 0,t.findSourceMapURL,"startFeature");e.s(["startFeature",()=>r],103674);let a=(0,t.createServerReference)("404b80493cf36c04e22e68ebf8f56c46bf55d904c0",t.callServer,void 0,t.findSourceMapURL,"stopFeature");e.s(["stopFeature",()=>a],466695)},771410,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("4070f2c934a9ed351d223ad18ae9602cff12614292",t.callServer,void 0,t.findSourceMapURL,"resumeFeature");e.s(["resumeFeature",()=>r])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,338573,e=>{"use strict";let t=(0,e.i(903645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],338573)},730702,e=>{"use strict";let t=(0,e.i(903645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],730702)},602287,e=>{"use strict";var t=e.i(679606),s=e.i(152155),r=e.i(90033),a=e.i(860253),l=e.i(131777);let n=r.Dialog.Root,i=r.Dialog.Trigger,o=r.Dialog.Portal,c=r.Dialog.Close,d=s.forwardRef(({className:e,onClick:s,...a},n)=>(0,t.jsx)(r.Dialog.Overlay,{ref:n,className:(0,l.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)},...a}));d.displayName=r.Dialog.Overlay.displayName;let u=s.forwardRef(({className:e,children:s,...n},i)=>(0,t.jsxs)(o,{children:[(0,t.jsx)(d,{}),(0,t.jsxs)(r.Dialog.Content,{ref:i,className:(0,l.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),...n,children:[s,(0,t.jsxs)(r.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)(a.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=r.Dialog.Content.displayName;let p=({className:e,...s})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...s});p.displayName="DialogHeader";let f=({className:e,...s})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...s});f.displayName="DialogFooter";let m=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(r.Dialog.Title,{ref:a,className:(0,l.cn)("text-lg leading-none font-semibold tracking-tight",e),...s}));m.displayName=r.Dialog.Title.displayName;let x=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)(r.Dialog.Description,{ref:a,className:(0,l.cn)("text-muted-foreground text-sm",e),...s}));x.displayName=r.Dialog.Description.displayName,e.s(["Dialog",()=>n,"DialogClose",()=>c,"DialogContent",()=>u,"DialogDescription",()=>x,"DialogFooter",()=>f,"DialogHeader",()=>p,"DialogTitle",()=>m,"DialogTrigger",()=>i])},724042,e=>{"use strict";let t=(0,e.i(903645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],724042)},873504,202481,73645,481605,e=>{"use strict";var t=e.i(679606),s=e.i(152155),r=e.i(317406),a=e.i(508893);let l=(0,a.createServerReference)("401846920f6fb739e32233d9d6a6df7945b8621c00",a.callServer,void 0,a.findSourceMapURL,"deployFeature"),n=(0,a.createServerReference)("408a28f520d819792447d4b47d9b73a5ddf7296469",a.callServer,void 0,a.findSourceMapURL,"deployRepository");e.s(["deployRepository",()=>n],202481);let i=(0,a.createServerReference)("4005923232df16201d86b35c46dbbe719725cbcd26",a.callServer,void 0,a.findSourceMapURL,"deployApplication"),o=(0,a.createServerReference)("409ab95b1ec58ad7dd578b018e11d5bd766839f8bc",a.callServer,void 0,a.findSourceMapURL,"stopDeployment");e.s(["stopDeployment",()=>o],73645);let c=(0,a.createServerReference)("40ed3ea24841c9c4280513ab004dcdbce3d545bcdb",a.callServer,void 0,a.findSourceMapURL,"getDeploymentStatus");var d=e.i(118354);let u={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class p{entries=new Map;listeners=new Map;globalListeners=new Set;fullyHydrated=!1;isFullyHydrated(){return this.fullyHydrated}hydrate(e){let t=new Set;for(let s of e)t.add(s.targetId),this.update(s.targetId,{status:s.state,url:s.url,targetType:s.targetType,hydrated:!0});for(let[e,s]of this.entries)!t.has(e)&&s.hydrated&&null!==s.status?this.update(e,{status:null,url:null}):t.has(e)||s.hydrated||this.update(e,{hydrated:!0});this.fullyHydrated=!0}getEntry(e){return this.entries.get(e)??u}update(e,t){let s={...this.entries.get(e)??u,...t};this.entries.set(e,s),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let s=this.listeners.get(e);return s||(s=new Set,this.listeners.set(e,s)),s.add(t),()=>{s?.delete(t),s?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>p,"EMPTY_ENTRY",0,u],481605);let f=(0,d.createLogger)("[DeploymentStatusProvider]"),m=new Set([r.DeploymentState.Booting,r.DeploymentState.Ready]),x=(0,s.createContext)(null);function h({initialDeployments:e,children:a}){let d=(0,s.useRef)(null);d.current||(d.current=new p,d.current.hydrate(e));let u=d.current;(0,s.useEffect)(()=>{u.hydrate(e)},[e,u]);let h=(0,s.useRef)(new Map),g=(0,s.useCallback)(e=>{let t=h.current.get(e);t&&(clearInterval(t),h.current.delete(e))},[]),y=(0,s.useCallback)(e=>{if(h.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await c(e)}catch(t){f.warn(`poll failed for "${e}"`,t),u.setStatus(e,null),g(e);return}if(!t||t.state===r.DeploymentState.Stopped){u.setStatus(e,null),g(e);return}u.setStatus(e,t)},3e3);h.current.set(e,t)},[u,g]);(0,s.useEffect)(()=>{let e=h.current,t=u.subscribeAll(()=>{for(let[t]of e){let e=u.getEntry(t);e.status&&m.has(e.status)||g(t)}});return()=>{for(let[,s]of(t(),e))clearInterval(s);e.clear()}},[u,g]);let v=(0,s.useCallback)(e=>{if(e&&!u.getEntry(e).hydrated){if(u.isFullyHydrated())return void u.update(e,{hydrated:!0});u.update(e,{hydrated:!0}),(async()=>{try{let t=await c(e);u.setStatus(e,t),t&&m.has(t.state)&&y(e)}catch(t){f.warn(`ensureHydrated failed for "${e}"`,t)}})()}},[u,y]),b=(0,s.useCallback)(async e=>{u.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await i(e.targetId):await n(e.repositoryPath);if(!t.success)return void u.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});u.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),y(e.targetId)}catch(s){let t=s instanceof Error?s.message:"An unexpected error occurred";u.update(e.targetId,{deployLoading:!1,deployError:t})}},[u,y]),j=(0,s.useCallback)(async e=>{if(e){u.update(e,{stopLoading:!0});try{(await o(e)).success?(g(e),u.update(e,{stopLoading:!1,status:null,url:null})):u.update(e,{stopLoading:!1})}catch(t){f.warn("stop error (non-critical)",t),u.update(e,{stopLoading:!1})}}},[u,g]),w=(0,s.useMemo)(()=>({store:u,deploy:b,stop:j,ensureHydrated:v}),[u,b,j,v]);return(0,t.jsx)(x.Provider,{value:w,children:a})}function g(){let e=(0,s.useContext)(x);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function y(){let e=(0,s.useContext)(x);return e||v}let v={store:new p,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>h,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>y],873504)},8537,e=>{"use strict";var t=e.i(152155),s=e.i(873504);function r(){}function a(e){let{store:a,deploy:l,stop:n,ensureHydrated:i}=(0,s.useDeploymentStatusContextOptional)(),o=e?.targetId??"",c=(0,t.useCallback)(e=>o?a.subscribe(o,e):r,[a,o]),d=(0,t.useCallback)(()=>o?a.getEntry(o):a.getEntry(""),[a,o]),u=(0,t.useSyncExternalStore)(c,d,d);return(0,t.useEffect)(()=>{o&&i(o)},[o,i]),{deploy:(0,t.useCallback)(async()=>{e&&await l(e)},[l,e]),stop:(0,t.useCallback)(async()=>{o&&await n(o)},[n,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>a])},511495,872714,81803,917466,199348,e=>{"use strict";var t=e.i(679606),s=e.i(152155),r=e.i(948249),a=e.i(724042),l=e.i(64970),n=e.i(294237),i=e.i(131777),o=e.i(83428),c=e.i(151251),d=e.i(735364),u=e.i(808361);function p({label:e,onClick:s,loading:r,error:a,icon:l,iconOnly:n=!1,variant:p="outline",size:f="sm"}){let m=(0,u.useSoundAction)("click");return(0,t.jsxs)(d.Button,{variant:p,size:f,"aria-label":e,disabled:r,onClick:()=>{m.play(),s()},className:(0,i.cn)("gap-1.5",a&&"text-destructive hover:text-destructive",!a&&n&&"ghost"===p&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[r?(0,t.jsx)(o.Loader2,{className:"size-4 animate-spin"}):a?(0,t.jsx)(c.CircleAlert,{className:"size-4"}):(0,t.jsx)(l,{className:"size-4"}),n?null:e]})}e.s(["ActionButton",()=>p],872714),e.s([],81803);var f=e.i(730702),m=e.i(338573),x=e.i(317406),h=e.i(102828),g=e.i(602287),y=e.i(508893);let v=(0,y.createServerReference)("405723722c9eb9b4888b52203cfb121401f0c61a80",y.callServer,void 0,y.findSourceMapURL,"getDeploymentLogs");function b({open:e,onOpenChange:r,targetId:a}){let{logs:l,isConnected:n}=function(e){let[t,r]=(0,s.useState)([]),[a,l]=(0,s.useState)(!1),n=(0,s.useRef)(null),i=(0,s.useCallback)(()=>{n.current&&(n.current.close(),n.current=null),l(!1)},[]);return(0,s.useEffect)(()=>{if(!e){r([]),l(!1);return}v(e).then(e=>{e&&r(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return n.current=t,t.onopen=()=>{l(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);r(e=>[...e,t])}),t.onerror=()=>{l(!1)},()=>{t.close(),n.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,t.jsx)(j,{open:e,onOpenChange:r,logs:l,isConnected:n})}function j({open:e,onOpenChange:r,logs:a,isConnected:l}){let n=(0,s.useRef)(null),i=(0,s.useRef)(!0),o=(0,s.useCallback)(()=>{let e=n.current;e&&(i.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,s.useEffect)(()=>{i.current&&n.current&&(n.current.scrollTop=n.current.scrollHeight)},[a]),(0,t.jsx)(g.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(g.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,t.jsxs)(g.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(m.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,t.jsx)(g.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${l?"bg-green-500":"bg-zinc-500"}`}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:l?"Connected":"Disconnected"})]})]}),(0,t.jsxs)("div",{ref:n,onScroll:o,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,t.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,t.jsx)(w,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!l&&a.length>0&&(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function w({entry:e}){return(0,t.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,t.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let N="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function k({status:e,url:r,targetId:a}){let[l,n]=(0,s.useState)(!1),i=a&&(e===x.DeploymentState.Booting||e===x.DeploymentState.Ready);switch(e){case x.DeploymentState.Booting:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,t.jsx)(o.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),i?(0,t.jsx)(h.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:N,onClick:e=>{e.stopPropagation(),n(!0)},children:(0,t.jsx)(m.Terminal,{className:"size-3.5"})})}),(0,t.jsx)(h.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,t.jsx)(b,{open:l,onOpenChange:n,targetId:a}):null]});case x.DeploymentState.Ready:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,t.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),r?(0,t.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[r,(0,t.jsx)(f.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,t.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),i?(0,t.jsx)(h.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:N,onClick:e=>{e.stopPropagation(),n(!0)},children:(0,t.jsx)(m.Terminal,{className:"size-3.5"})})}),(0,t.jsx)(h.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,t.jsx)(b,{open:l,onOpenChange:n,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>k],917466),e.s([],199348);var C=e.i(845811),S=e.i(425235);e.i(541001);var T=e.i(64780),D=e.i(8537),R=e.i(175921);let z=(0,n.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function I({open:e,onClose:a,modal:l=!1,dismissOnOutsideClick:n=!1,title:o="Drawer",size:c,header:d,children:u,footer:p,className:f,"data-testid":m,deployTarget:x}){let{i18n:h}=(0,T.useTranslation)(),g=(0,R.useFeatureFlags)(),y=(0,s.useRef)(null),v="rtl"===h.dir()?"left":"right";return(0,s.useEffect)(()=>{if(!e||l)return;let t=e=>{let t=e.target;!document.body.contains(t)||y.current?.contains(t)||t.closest(n?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,l,a,n]),(0,t.jsxs)(C.Drawer,{direction:v,modal:l,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[l?(0,t.jsx)(C.DrawerOverlay,{}):null,(0,t.jsxs)(C.DrawerContent,{ref:y,direction:v,showCloseButton:!1,className:(0,i.cn)(z({size:c}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",f),"data-testid":m,onInteractOutside:l?void 0:e=>e.preventDefault(),children:[(0,t.jsx)(C.DrawerTitle,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:o})}),(0,t.jsx)(C.DrawerDescription,{asChild:!0,children:(0,t.jsx)("span",{className:"sr-only",children:o})}),(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":m?`${m}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),d?(0,t.jsx)(C.DrawerHeader,{className:"shrink-0",children:d}):null,d?(0,t.jsx)(S.Separator,{}):null,g.envDeploy&&x?(0,t.jsx)(E,{deployTarget:x}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:u}),p?(0,t.jsx)(C.DrawerFooter,{className:"shrink-0",children:p}):null]})]})}function E({deployTarget:e}){let s=(0,D.useDeployAction)(e),r="Booting"===s.status||"Ready"===s.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,t.jsx)(h.TooltipProvider,{children:(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(p,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?s.stop:s.deploy,loading:s.deployLoading||s.stopLoading,error:!!s.deployError,icon:r?l.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(h.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(k,{status:s.status,url:s.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>I],511495)},468304,e=>{"use strict";var t=e.i(679606),s=e.i(152155),r=e.i(291967),a=e.i(922528),l=e.i(151080),n=e.i(685995),i=e.i(287620),o=e.i(566033),c=e.i(936589),d=e.i(713123),u="Tabs",[p,f]=(0,a.createContextScope)(u,[l.createRovingFocusGroupScope]),m=(0,l.createRovingFocusGroupScope)(),[x,h]=p(u),g=s.forwardRef((e,s)=>{let{__scopeTabs:r,value:a,onValueChange:l,defaultValue:n,orientation:p="horizontal",dir:f,activationMode:m="automatic",...h}=e,g=(0,o.useDirection)(f),[y,v]=(0,c.useControllableState)({prop:a,onChange:l,defaultProp:n??"",caller:u});return(0,t.jsx)(x,{scope:r,baseId:(0,d.useId)(),value:y,onValueChange:v,orientation:p,dir:g,activationMode:m,children:(0,t.jsx)(i.Primitive.div,{dir:g,"data-orientation":p,...h,ref:s})})});g.displayName=u;var y="TabsList",v=s.forwardRef((e,s)=>{let{__scopeTabs:r,loop:a=!0,...n}=e,o=h(y,r),c=m(r);return(0,t.jsx)(l.Root,{asChild:!0,...c,orientation:o.orientation,dir:o.dir,loop:a,children:(0,t.jsx)(i.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...n,ref:s})})});v.displayName=y;var b="TabsTrigger",j=s.forwardRef((e,s)=>{let{__scopeTabs:a,value:n,disabled:o=!1,...c}=e,d=h(b,a),u=m(a),p=k(d.baseId,n),f=C(d.baseId,n),x=n===d.value;return(0,t.jsx)(l.Item,{asChild:!0,...u,focusable:!o,active:x,children:(0,t.jsx)(i.Primitive.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":f,"data-state":x?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:p,...c,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(n)}),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(n)}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==d.activationMode;x||o||!e||d.onValueChange(n)})})})});j.displayName=b;var w="TabsContent",N=s.forwardRef((e,r)=>{let{__scopeTabs:a,value:l,forceMount:o,children:c,...d}=e,u=h(w,a),p=k(u.baseId,l),f=C(u.baseId,l),m=l===u.value,x=s.useRef(m);return s.useEffect(()=>{let e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(n.Presence,{present:o||m,children:({present:s})=>(0,t.jsx)(i.Primitive.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":p,hidden:!s,id:f,tabIndex:0,...d,ref:r,style:{...e.style,animationDuration:x.current?"0s":void 0},children:s&&c})})});function k(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}N.displayName=w,e.s(["Content",()=>N,"List",()=>v,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>N,"TabsList",()=>v,"TabsTrigger",()=>j,"Trigger",()=>j,"createTabsScope",()=>f],743133);var S=e.i(743133),S=S,T=e.i(131777);let D=S.Root,R=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(S.List,{ref:r,className:(0,T.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...s}));R.displayName=S.List.displayName;let z=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(S.Trigger,{ref:r,className:(0,T.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}));z.displayName=S.Trigger.displayName;let I=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(S.Content,{ref:r,className:(0,T.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}));I.displayName=S.Content.displayName,e.s(["Tabs",()=>D,"TabsContent",()=>I,"TabsList",()=>R,"TabsTrigger",()=>z],468304)},435e3,e=>{"use strict";var t=e.i(980986);e.s(["CheckCircle2",()=>t.default])},295230,e=>{"use strict";let t=(0,e.i(903645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},495812,e=>{"use strict";let t=(0,e.i(903645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],495812)},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)},723925,301012,e=>{"use strict";let t=(0,e.i(903645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],301012),e.s(["Check",()=>t],723925)},787342,e=>{"use strict";var t=e.i(152155),s=e.i(922528),r=e.i(205978),a=e.i(786874),l=e.i(679606);function n(e){let n=e+"CollectionProvider",[i,o]=(0,s.createContextScope)(n),[c,d]=i(n,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:s,children:r}=e,a=t.default.useRef(null),n=t.default.useRef(new Map).current;return(0,l.jsx)(c,{scope:s,itemMap:n,collectionRef:a,children:r})};u.displayName=n;let p=e+"CollectionSlot",f=(0,a.createSlot)(p),m=t.default.forwardRef((e,t)=>{let{scope:s,children:a}=e,n=d(p,s),i=(0,r.useComposedRefs)(t,n.collectionRef);return(0,l.jsx)(f,{ref:i,children:a})});m.displayName=p;let x=e+"CollectionItemSlot",h="data-radix-collection-item",g=(0,a.createSlot)(x),y=t.default.forwardRef((e,s)=>{let{scope:a,children:n,...i}=e,o=t.default.useRef(null),c=(0,r.useComposedRefs)(s,o),u=d(x,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...i}),()=>void u.itemMap.delete(o))),(0,l.jsx)(g,{...{[h]:""},ref:c,children:n})});return y.displayName=x,[{Provider:u,Slot:m,ItemSlot:y},function(s){let r=d(e+"CollectionConsumer",s);return t.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${h}]`));return Array.from(r.itemMap.values()).sort((e,s)=>t.indexOf(e.ref.current)-t.indexOf(s.ref.current))},[r.collectionRef,r.itemMap])},o]}var i=new WeakMap;function o(e,t){var s,r;let a,l,n;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let i=(s=e,r=t,a=s.length,(n=(l=c(r))>=0?l:a+l)<0||n>=a?-1:n);return -1===i?void 0:e[i]}function c(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],i.set(this,!0)}set(e,t){return i.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,s){let r,a=this.has(t),l=this.#e.length,n=c(e),i=n>=0?n:l+n,o=i<0||i>=l?-1:i;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,s),this;let d=this.size+ +!a;n<0&&i++;let u=[...this.#e],p=!1;for(let e=i;e<d;e++)if(i===e){let l=u[e];u[e]===t&&(l=u[e+1]),a&&this.delete(t),r=this.get(l),this.set(t,s)}else{p||u[e-1]!==t||(p=!0);let s=u[p?e:e-1],a=r;r=this.get(s),this.delete(s),this.set(s,a)}return this}with(t,s,r){let a=new e(this);return a.insert(t,s,r),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,s){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r,t,s)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,s){let r=this.#e.indexOf(e);return -1===r?this:this.insert(r+1,t,s)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let s=this.indexOf(e);if(-1===s)return;let r=s+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let s=this.indexOf(e);if(-1===s)return;let r=s+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return r;s++}}findIndex(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return s;s++}return -1}filter(t,s){let r=[],a=0;for(let e of this)Reflect.apply(t,s,[e,a,this])&&r.push(e),a++;return new e(r)}map(t,s){let r=[],a=0;for(let e of this)r.push([e[0],Reflect.apply(t,s,[e,a,this])]),a++;return new e(r)}reduce(...e){let[t,s]=e,r=0,a=s??this.at(0);for(let s of this)a=0===r&&1===e.length?s:Reflect.apply(t,this,[a,s,r,this]),r++;return a}reduceRight(...e){let[t,s]=e,r=s??this.at(-1);for(let s=this.size-1;s>=0;s--){let a=this.at(s);r=s===this.size-1&&1===e.length?a:Reflect.apply(t,this,[r,a,s,this])}return r}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let s=this.keyAt(e),r=this.get(s);t.set(s,r)}return t}toSpliced(...t){let s=[...this.entries()];return s.splice(...t),new e(s)}slice(t,s){let r=new e,a=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==s&&s>0&&(a=s-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),s=this.get(t);r.set(t,s)}return r}every(e,t){let s=0;for(let r of this){if(!Reflect.apply(e,t,[r,s,this]))return!1;s++}return!0}some(e,t){let s=0;for(let r of this){if(Reflect.apply(e,t,[r,s,this]))return!0;s++}return!1}}),e.s(["createCollection",()=>n])},151080,e=>{"use strict";var t=e.i(152155),s=e.i(291967),r=e.i(787342),a=e.i(205978),l=e.i(922528),n=e.i(713123),i=e.i(287620),o=e.i(929297),c=e.i(936589),d=e.i(566033),u=e.i(679606),p="rovingFocusGroup.onEntryFocus",f={bubbles:!1,cancelable:!0},m="RovingFocusGroup",[x,h,g]=(0,r.createCollection)(m),[y,v]=(0,l.createContextScope)(m,[g]),[b,j]=y(m),w=t.forwardRef((e,t)=>(0,u.jsx)(x.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(x.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(N,{...e,ref:t})})}));w.displayName=m;var N=t.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:l,orientation:n,loop:x=!1,dir:g,currentTabStopId:y,defaultCurrentTabStopId:v,onCurrentTabStopIdChange:j,onEntryFocus:w,preventScrollOnEntryFocus:N=!1,...k}=e,C=t.useRef(null),S=(0,a.useComposedRefs)(r,C),D=(0,d.useDirection)(g),[R,z]=(0,c.useControllableState)({prop:y,defaultProp:v??null,onChange:j,caller:m}),[I,E]=t.useState(!1),L=(0,o.useCallbackRef)(w),A=h(l),M=t.useRef(!1),[P,F]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(p,L),()=>e.removeEventListener(p,L)},[L]),(0,u.jsx)(b,{scope:l,orientation:n,dir:D,loop:x,currentTabStopId:R,onItemFocus:t.useCallback(e=>z(e),[z]),onItemShiftTab:t.useCallback(()=>E(!0),[]),onFocusableItemAdd:t.useCallback(()=>F(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>F(e=>e-1),[]),children:(0,u.jsx)(i.Primitive.div,{tabIndex:I||0===P?-1:0,"data-orientation":n,...k,ref:S,style:{outline:"none",...e.style},onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,()=>{M.current=!0}),onFocus:(0,s.composeEventHandlers)(e.onFocus,e=>{let t=!M.current;if(e.target===e.currentTarget&&t&&!I){let t=new CustomEvent(p,f);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=A().filter(e=>e.focusable);T([e.find(e=>e.active),e.find(e=>e.id===R),...e].filter(Boolean).map(e=>e.ref.current),N)}}M.current=!1}),onBlur:(0,s.composeEventHandlers)(e.onBlur,()=>E(!1))})})}),k="RovingFocusGroupItem",C=t.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:a,focusable:l=!0,active:o=!1,tabStopId:c,children:d,...p}=e,f=(0,n.useId)(),m=c||f,g=j(k,a),y=g.currentTabStopId===m,v=h(a),{onFocusableItemAdd:b,onFocusableItemRemove:w,currentTabStopId:N}=g;return t.useEffect(()=>{if(l)return b(),()=>w()},[l,b,w]),(0,u.jsx)(x.ItemSlot,{scope:a,id:m,focusable:l,active:o,children:(0,u.jsx)(i.Primitive.span,{tabIndex:y?0:-1,"data-orientation":g.orientation,...p,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{l?g.onItemFocus(m):e.preventDefault()}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(m)),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,s){var r;let a=(r=e.key,"rtl"!==s?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return S[a]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var s,r;"prev"===t&&a.reverse();let l=a.indexOf(e.currentTarget);a=g.loop?(s=a,r=l+1,s.map((e,t)=>s[(r+t)%s.length])):a.slice(l+1)}setTimeout(()=>T(a))}}),children:"function"==typeof d?d({isCurrentTabStop:y,hasTabStop:null!=N}):d})})});C.displayName=k;var S={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function T(e,t=!1){let s=document.activeElement;for(let r of e)if(r===s||(r.focus({preventScroll:t}),document.activeElement!==s))return}e.s(["Item",()=>C,"Root",()=>w,"createRovingFocusGroupScope",()=>v])},681181,e=>{"use strict";var t=e.i(295230);e.s(["Download",()=>t.default])},993192,e=>{"use strict";let t=(0,e.i(903645).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);e.s(["Package",()=>t],993192)},483902,e=>{"use strict";let t=(0,e.i(903645).default)("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);e.s(["Rocket",()=>t],483902)},909388,e=>{"use strict";let t=(0,e.i(903645).default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);e.s(["Monitor",()=>t],909388)},144412,e=>{"use strict";var t=e.i(679606),s=e.i(152155),r=e.i(181975),a=e.i(468304),l=e.i(131777),n=e.i(83428),i=e.i(483902),o=e.i(681181),c=e.i(909388),d=e.i(338573),u=e.i(949228),p=e.i(954277),f=e.i(495812),m=e.i(435e3),x=e.i(993192),h=e.i(735364),g=e.i(102828),y=e.i(433548),v=e.i(723925),b=e.i(730702),j=e.i(511495);let w={linux:"Linux",darwin:"macOS",win32:"Windows"},N={ide:{label:"IDE",icon:c.Monitor},"cli-agent":{label:"CLI Agent",icon:d.Terminal},vcs:{label:"VCS",icon:u.GitBranch},terminal:{label:"Terminal",icon:d.Terminal}};function k({status:e}){return"available"===e?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-100 px-2 py-0.5 text-xs font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",children:[(0,t.jsx)(v.Check,{className:"h-3 w-3"}),"Installed"]}):"error"===e?(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",children:"Error"}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",children:"Missing"})}function C({tool:e,open:r,onClose:a,onRefresh:l,autoStart:d}){let[u,p]=(0,s.useState)(!1),[f,m]=(0,s.useState)(!1),{logs:g,status:C,startInstall:S}=function(e){let[t,r]=(0,s.useState)([]),[a,l]=(0,s.useState)("idle"),[n,i]=(0,s.useState)(null),o=(0,s.useRef)(null),c=(0,s.useCallback)(()=>{o.current&&(o.current.close(),o.current=null)},[]);return(0,s.useEffect)(()=>c,[c]),{logs:t,status:a,result:n,startInstall:(0,s.useCallback)(()=>{c(),r([]),i(null),l("streaming");let t=new EventSource(`/api/tools/${e}/install/stream`);o.current=t,t.onmessage=e=>{r(t=>[...t,e.data])},t.addEventListener("done",e=>{let t=JSON.parse(e.data);i(t),l("error"===t.status?"error":"done"),c()}),t.onerror=()=>{l("error"),c()}},[e,c])}}(e.id),T=(0,s.useRef)(null),D=(0,s.useRef)(!0),R=(0,s.useRef)(!1),z="available"===e.status.status,I="error"===e.status.status,E=z&&!!e.openDirectory,L=!z&&!I&&e.autoInstall;async function A(){m(!0);try{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})}finally{m(!1)}}(0,s.useEffect)(()=>{r&&d&&L&&"idle"===C&&!R.current&&(R.current=!0,S()),r||(R.current=!1)},[r,d,L,C,S]);let M=(0,s.useCallback)(()=>{let e=T.current;e&&(D.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);(0,s.useEffect)(()=>{D.current&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[g,C]),(0,s.useEffect)(()=>{"done"===C&&l&&l()},[C,l]);let P=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 pe-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:24,height:24,className:"shrink-0 dark:invert"}):(0,t.jsx)(x.Package,{className:"text-muted-foreground h-6 w-6 shrink-0"}),(0,t.jsx)("h2",{className:"text-base font-bold",children:e.name}),(0,t.jsx)(k,{status:e.status.status})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:e.tags.map(e=>{let s=N[e]??{label:e,icon:c.Monitor},r=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[10px]",children:[(0,t.jsx)(r,{className:"h-3 w-3"}),s.label]},e)})})]});return(0,t.jsx)(j.BaseDrawer,{open:r,onClose:a,size:"md",modal:!0,title:e.name,header:P,"data-testid":"tool-detail-drawer",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),e.author||e.platforms?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",children:[e.author?(0,t.jsxs)("span",{className:"text-muted-foreground",children:["by"," ",e.website?(0,t.jsx)("a",{href:e.website,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:underline",children:e.author}):(0,t.jsx)("span",{className:"text-foreground",children:e.author})]}):null,e.platforms&&e.platforms.length>0?(0,t.jsx)("span",{className:"text-muted-foreground",children:e.platforms.map(e=>w[e]??e).join(" · ")}):null]}):null,e.installCommand?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install command"}),(0,t.jsxs)("div",{className:"relative rounded-md bg-zinc-900 text-zinc-100",children:[(0,t.jsx)("pre",{className:"overflow-x-auto px-3 py-2.5 pe-16 font-mono text-xs leading-relaxed break-all whitespace-pre-wrap",children:(0,t.jsx)("code",{children:e.installCommand})}),(0,t.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"absolute top-1.5 right-1.5 h-7 cursor-pointer px-2 text-zinc-400 hover:text-zinc-100",onClick:function(){e.installCommand&&navigator.clipboard.writeText(e.installCommand).then(()=>{p(!0),setTimeout(()=>p(!1),2e3)})},"aria-label":u?"Copied!":"Copy install command",children:[u?(0,t.jsx)(v.Check,{className:"h-3.5 w-3.5 text-emerald-500"}):(0,t.jsx)(y.Copy,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ms-1 text-[10px]",children:u?"Copied!":"Copy"})]})]})]}):null,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[L?(0,t.jsxs)(h.Button,{size:"sm",onClick:S,disabled:"streaming"===C,"aria-label":`Install ${e.name}`,className:"cursor-pointer",children:["streaming"===C?(0,t.jsx)(n.Loader2,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(o.Download,{className:"me-1.5 h-3.5 w-3.5"}),"streaming"===C?"Installing...":"Install"]}):null,E?(0,t.jsxs)(h.Button,{size:"sm",variant:"outline",onClick:()=>void A(),disabled:f,"aria-label":`Launch ${e.name}`,className:"cursor-pointer",children:[f?(0,t.jsx)(n.Loader2,{className:"me-1.5 h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"me-1.5 h-3.5 w-3.5"}),"Launch"]}):null,e.documentationUrl?(0,t.jsx)(h.Button,{variant:"outline",size:"sm",className:"cursor-pointer",asChild:!0,children:(0,t.jsxs)("a",{href:e.documentationUrl,target:"_blank",rel:"noopener noreferrer",children:["Docs",(0,t.jsx)(b.ExternalLink,{className:"ms-1 h-3 w-3"})]})}):null]}),("streaming"===C||"done"===C||"error"===C)&&g.length>0?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-xs font-semibold tracking-wide uppercase",children:"Install log"}),(0,t.jsxs)("div",{ref:T,onScroll:M,className:"max-h-60 overflow-auto rounded-md bg-zinc-900 p-3 font-mono text-xs leading-relaxed text-zinc-100","data-testid":"tool-install-log",children:[g.map((e,s)=>(0,t.jsx)("div",{className:"break-all whitespace-pre-wrap",children:e},s)),"done"===C?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-emerald-400",children:"Installation complete"}):null,"error"===C?(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-700 pt-2 text-red-400",children:"Installation failed"}):null]})]}):null]})})}let S={ide:{label:"IDE",icon:c.Monitor},"cli-agent":{label:"CLI Agent",icon:d.Terminal},vcs:{label:"VCS",icon:u.GitBranch},terminal:{label:"Terminal",icon:d.Terminal}};function T({tool:e,onRefresh:r,className:a}){let[d,u]=(0,s.useState)(!1),[y,v]=(0,s.useState)(!1),[b,j]=(0,s.useTransition)(),w="available"===e.status.status,N="error"===e.status.status,k=w&&!!e.openDirectory;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{"data-testid":"tool-card",onClick:function(){v(!1),u(!0)},className:(0,l.cn)("bg-card group flex h-30 w-full cursor-pointer flex-col rounded-lg border p-3 transition-shadow hover:shadow-md",a),children:[(0,t.jsxs)("div",{className:"mb-2 flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[e.iconUrl?(0,t.jsx)("img",{src:e.iconUrl,alt:"",width:20,height:20,className:"shrink-0 dark:invert"}):(0,t.jsx)(x.Package,{className:"text-muted-foreground h-5 w-5 shrink-0"}),(0,t.jsx)("h3",{"data-testid":"tool-card-name",className:"truncate text-sm font-bold",children:e.name})]}),(0,t.jsx)("div",{"data-testid":"tool-card-tags",className:"flex shrink-0 items-center gap-1",children:e.tags.map(e=>{let s=S[e]??{label:e,icon:c.Monitor},r=s.icon;return(0,t.jsxs)("span",{className:"text-muted-foreground/70 inline-flex items-center gap-0.5 text-[9px]",children:[(0,t.jsx)(r,{className:"h-2.5 w-2.5"}),s.label]},e)})})]}),(0,t.jsx)("p",{"data-testid":"tool-card-summary",className:"text-muted-foreground mt-1 truncate text-xs",children:e.summary}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[N&&"error"===e.status.status?(0,t.jsxs)("span",{className:"flex items-center gap-1 truncate text-[10px] text-red-600 dark:text-red-400",title:e.status.errorMessage,children:[(0,t.jsx)(p.CircleX,{className:"h-3 w-3 shrink-0"}),e.status.errorMessage??"Error"]}):w?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(m.CheckCircle2,{className:"h-3 w-3"}),"Installed"]}):(0,t.jsxs)("span",{className:"text-muted-foreground flex items-center gap-1 text-[10px]",children:[(0,t.jsx)(f.Circle,{className:"h-3 w-3"}),"Not installed"]}),e.required?(0,t.jsx)(g.TooltipProvider,{children:(0,t.jsxs)(g.Tooltip,{children:[(0,t.jsx)(g.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"rounded bg-amber-100 px-1.5 py-0.5 text-[9px] font-medium text-amber-700 dark:bg-amber-900/50 dark:text-amber-400",children:"Required"})}),(0,t.jsx)(g.TooltipContent,{side:"top",children:"This tool is required for Shep to function properly"})]})}):null]}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:w&&k?(0,t.jsxs)(h.Button,{size:"sm",variant:"outline",onClick:function(t){t.stopPropagation(),j(async()=>{await fetch(`/api/tools/${e.id}/launch`,{method:"POST"})})},disabled:b,"aria-label":`Launch ${e.name}`,"data-testid":"tool-card-launch-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[b?(0,t.jsx)(n.Loader2,{className:"me-1 h-3 w-3 animate-spin"}):(0,t.jsx)(i.Rocket,{className:"me-1 h-3 w-3"}),"Launch"]}):w||N?null:(0,t.jsxs)(h.Button,{size:"sm",variant:"default",onClick:function(t){t.stopPropagation(),v(e.autoInstall),u(!0)},"aria-label":`Install ${e.name}`,"data-testid":"tool-card-install-button",className:"h-7 cursor-pointer rounded-md px-3 text-xs",children:[(0,t.jsx)(o.Download,{className:"me-1 h-3 w-3"}),"Install"]})})]})]}),(0,t.jsx)(C,{tool:e,open:d,onClose:()=>u(!1),onRefresh:r,autoStart:y})]})}let D={all:()=>!0,ide:e=>e.tags.includes("ide"),"cli-agent":e=>e.tags.includes("cli-agent"),vcs:e=>e.tags.includes("vcs"),terminal:e=>e.tags.includes("terminal")};function R({tools:e,className:n}){let[i,o]=(0,s.useState)(e),[c,d]=(0,s.useState)("all"),u=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/tools");if(e.ok){let t=await e.json();o(t)}}catch{}},[]),p=i.filter(D[c]);return(0,t.jsxs)("div",{"data-testid":"tools-page-client",className:(0,l.cn)("space-y-4",n),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Wrench,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Tools"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[i.filter(e=>"available"===e.status.status).length,"/",i.length," installed"]})]}),(0,t.jsxs)(a.Tabs,{value:c,onValueChange:e=>d(e),"data-testid":"tools-page-tabs",children:[(0,t.jsxs)(a.TabsList,{className:"h-7",children:[(0,t.jsx)(a.TabsTrigger,{value:"all","data-testid":"tools-tab-all",className:"px-2.5 text-xs",children:"All"}),(0,t.jsx)(a.TabsTrigger,{value:"ide","data-testid":"tools-tab-ide",className:"px-2.5 text-xs",children:"IDEs"}),(0,t.jsx)(a.TabsTrigger,{value:"cli-agent","data-testid":"tools-tab-cli-agent",className:"px-2.5 text-xs",children:"CLI Agents"}),(0,t.jsx)(a.TabsTrigger,{value:"vcs","data-testid":"tools-tab-vcs",className:"px-2.5 text-xs",children:"Version Control"}),(0,t.jsx)(a.TabsTrigger,{value:"terminal","data-testid":"tools-tab-terminal",className:"px-2.5 text-xs",children:"Terminals"})]}),(0,t.jsx)(a.TabsContent,{value:c,className:"mt-3",children:0===p.length?(0,t.jsxs)("div",{"data-testid":"tools-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(r.Wrench,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No tools in this category."})]}):(0,t.jsx)("div",{"data-testid":"tools-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:p.map(e=>(0,t.jsx)(T,{tool:e,onRefresh:u},e.id))})})]})]})}e.s(["ToolsPageClient",()=>R],144412)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,868662,e=>{"use strict";e.s([],153556),e.i(153556);var c=e.i(508893);let r=(0,c.createServerReference)("40da8d2a61971df4b48469f401ac402d2d14c32d89",c.callServer,void 0,c.findSourceMapURL,"adoptLocalDirectory");e.s(["adoptLocalDirectory",()=>r],868662)}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|