@shepai/cli 1.201.0-pr600.2bbad7b → 1.202.0-pr601.3b893d1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +37 -37
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +35 -35
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +47 -47
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +35 -35
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/control-center/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +35 -35
- package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +38 -38
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +47 -47
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agent-questions/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/agent-questions/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/agent-questions/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agents/[agentType]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/agents/[agentType]/page/server-reference-manifest.json +13 -13
- package/web/.next/server/app/agents/[agentType]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agents/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/agents/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/application/[id]/supervisor/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/application/[id]/supervisor/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/application/[id]/supervisor/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/applications/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/applications/page/server-reference-manifest.json +19 -19
- package/web/.next/server/app/applications/page.js.nft.json +1 -1
- package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/features/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/features/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/onboarding/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/onboarding/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +16 -16
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +12 -12
- package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/projects/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/settings/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/skills/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/supervisor/feature/[featureId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/supervisor/feature/[featureId]/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/supervisor/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/supervisor/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/supervisor/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/supervisor/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/supervisor/repo/[repositoryId]/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/supervisor/repo/[repositoryId]/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/supervisor/repo/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/tools/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/react-loadable-manifest.json +4 -4
- package/web/.next/server/app/version/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0b652a2f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__648730d4._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__796984c7._.js → [root-of-the-server]__acaaed62._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__796984c7._.js.map → [root-of-the-server]__acaaed62._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b0d7cca3._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b0d7cca3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0741ee1._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ea26ff90._.js +3 -3
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__abab3b61._.js → [root-of-the-server]__f83cecd5._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__abab3b61._.js.map → [root-of-the-server]__f83cecd5._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ff0095e3._.js +1 -1
- package/web/.next/server/chunks/ssr/_07036593._.js +1 -1
- package/web/.next/server/chunks/ssr/_07036593._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_7c360295._.js → _0a666f6f._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_7c360295._.js.map → _0a666f6f._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_0d2a7595._.js +1 -1
- package/web/.next/server/chunks/ssr/_0d2a7595._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
- package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_24fca3cf._.js +1 -1
- package/web/.next/server/chunks/ssr/_24fca3cf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_2bc48f3d._.js +1 -1
- package/web/.next/server/chunks/ssr/_2bc48f3d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_32f66845._.js +1 -1
- package/web/.next/server/chunks/ssr/_408848e6._.js +1 -1
- package/web/.next/server/chunks/ssr/_408848e6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_40e02782._.js +1 -1
- package/web/.next/server/chunks/ssr/_40e02782._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_486d45d6._.js +1 -1
- package/web/.next/server/chunks/ssr/_486d45d6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_7b8add77._.js → _4c81bcc4._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_7b8add77._.js.map → _4c81bcc4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_92c3fc3d._.js → _4cec17d6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_92c3fc3d._.js.map → _4cec17d6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_1d23a6ad._.js → _5916a65c._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_1d23a6ad._.js.map → _5916a65c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_5cbb0e22._.js +1 -1
- package/web/.next/server/chunks/ssr/_5cbb0e22._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_4a25fd2a._.js → _69d28743._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_4a25fd2a._.js.map → _69d28743._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_c37ef8be._.js → _74ee33b9._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c37ef8be._.js.map → _74ee33b9._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_7ba67729._.js +1 -1
- package/web/.next/server/chunks/ssr/_7ba67729._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
- package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_87cf18c3._.js +1 -1
- package/web/.next/server/chunks/ssr/_87cf18c3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
- package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_c77a0a62._.js → _904d6c22._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c77a0a62._.js.map → _904d6c22._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_95b97274._.js +1 -1
- package/web/.next/server/chunks/ssr/_95b97274._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3f6a8669._.js → _a85af8c2._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3f6a8669._.js.map → _a85af8c2._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_c2e196ee._.js +1 -1
- package/web/.next/server/chunks/ssr/_c2e196ee._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ca3b7bf7._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca3b7bf7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
- package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d573dcc2._.js +1 -1
- package/web/.next/server/chunks/ssr/_e2671e14._.js +1 -1
- package/web/.next/server/chunks/ssr/_e2671e14._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ecd45b17._.js +1 -1
- package/web/.next/server/chunks/ssr/_ecd45b17._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3a9f8b6f._.js → _f0bdafe2._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3a9f8b6f._.js.map → _f0bdafe2._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
- package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_011b1b2b._.js → src_presentation_web_6f8efc48._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_011b1b2b._.js.map → src_presentation_web_6f8efc48._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_246617fe._.js +3 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_4992017e._.js → src_presentation_web_cc905835._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_4992017e._.js.map → src_presentation_web_cc905835._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +110 -110
- package/web/.next/static/chunks/{a8d8f9c61ec519d7.js → 06a3ce6f0a63bb38.js} +1 -1
- package/web/.next/static/chunks/{a7920ec2696dea6b.js → 0872ff9e21208474.js} +1 -1
- package/web/.next/static/chunks/{8505947d14732a53.js → 18d0b0f66c3a5030.js} +1 -1
- package/web/.next/static/chunks/{21ae217482df277e.js → 1935b7e366ff3eb6.js} +1 -1
- package/web/.next/static/chunks/{bc7ff90acabf822e.js → 19aa3cc6df5f5833.js} +1 -1
- package/web/.next/static/chunks/{14ae33e3d05df7ae.js → 25277f492a8e114f.js} +1 -1
- package/web/.next/static/chunks/{a9b788473a1a2f74.js → 2fd21b1e8f74dddd.js} +1 -1
- package/web/.next/static/chunks/{73de88f5c150f826.js → 35ea128cac9da3aa.js} +1 -1
- package/web/.next/static/chunks/{16a0872b47a0c873.js → 3b0e5f1d61bbe5b9.js} +1 -1
- package/web/.next/static/chunks/{2e2bbe08a2ced79d.js → 3e4b4cc39d18c2d3.js} +1 -1
- package/web/.next/static/chunks/{8aa1b266648944de.js → 3fdf3bfbaa542a58.js} +1 -1
- package/web/.next/static/chunks/{28b1e727e07ee99e.js → 46bacb3927eb4aad.js} +1 -1
- package/web/.next/static/chunks/{f2eb8ed0ba27add9.js → 4e6d1ce8b909633b.js} +1 -1
- package/web/.next/static/chunks/{ef1c174fb55135fb.js → 506cd958e1d95d99.js} +1 -1
- package/web/.next/static/chunks/{eb1c0aac34a995fe.js → 558f703ea70fb12f.js} +1 -1
- package/web/.next/static/chunks/{46628109fd139e38.js → 55f0874ed4cff0b4.js} +1 -1
- package/web/.next/static/chunks/64228763c0a5b398.js +1 -0
- package/web/.next/static/chunks/{df57f17a33536493.js → 66a4af80ba31ab99.js} +1 -1
- package/web/.next/static/chunks/{a4379769c9845bed.js → 69001f2dc93cd854.js} +1 -1
- package/web/.next/static/chunks/{04bf00ba0dfe132e.js → 7cd5b1d4aecb605f.js} +1 -1
- package/web/.next/static/chunks/{98a7e6a733c1eec1.js → 8437b14aa3d30c4a.js} +1 -1
- package/web/.next/static/chunks/{1d767f2bf1e60119.js → 85ddd1e61b5acfa7.js} +1 -1
- package/web/.next/static/chunks/{3d096d025d3a4300.js → 88e44bfd13326e0a.js} +1 -1
- package/web/.next/static/chunks/{cd553eaf62c59330.js → 89ea6a36b13564bb.js} +3 -3
- package/web/.next/static/chunks/{c3f8977262e99729.js → 8e05b72447a6de2d.js} +1 -1
- package/web/.next/static/chunks/92b0f4ef034da238.js +1 -0
- package/web/.next/static/chunks/{661ae8c69fd4c6e0.js → 9955264849876242.js} +1 -1
- package/web/.next/static/chunks/a8bd431b98488304.js +1 -0
- package/web/.next/static/chunks/{b1ce1428c415689c.js → aff24d3846940734.js} +1 -1
- package/web/.next/static/chunks/{6b2db436783731a9.js → bed79ff1fb1474b2.js} +1 -1
- package/web/.next/static/chunks/{2964ed9040700d3d.js → cafa3b9f2631ead4.js} +1 -1
- package/web/.next/static/chunks/{444614c3115ff33e.js → cf29be39771eed74.js} +1 -1
- package/web/.next/static/chunks/{6724456c4ee12a6c.js → e0033d3fa646e3ba.js} +1 -1
- package/web/.next/static/chunks/{29d53f36d9cf3511.js → e097ae94a23d6f6e.js} +1 -1
- package/web/.next/static/chunks/e4d71aefcaf0bcb8.js +1 -0
- package/web/.next/static/chunks/{0797756ed1f6ae7c.js → e62855ec84a7075d.js} +1 -1
- package/web/.next/static/chunks/e648942ddca82602.js +1 -0
- package/web/.next/static/chunks/{f478ef3c6d77bea8.js → f039f96340b89e08.js} +1 -1
- package/web/.next/static/chunks/{ea31f78dde34f8e1.js → f4c2e3f10d87b772.js} +1 -1
- package/web/.next/static/chunks/f671dcbbfd92b775.js +1 -0
- package/web/.next/static/chunks/{e1fee822ce83d4e4.js → fd4d834af4d4bf63.js} +1 -1
- package/web/.next/static/chunks/4d7b6685af2c61f9.js +0 -1
- package/web/.next/static/chunks/6352e668ea0a8df7.js +0 -1
- package/web/.next/static/chunks/74098475a938bee3.js +0 -1
- package/web/.next/static/chunks/798f66a5fdd1e765.js +0 -1
- package/web/.next/static/chunks/b3e91925f7db1ae9.js +0 -1
- package/web/.next/static/chunks/c8c4ea71670c4e55.js +0 -1
- /package/web/.next/static/{ChVi9RNp-ZER74W2GrrbV → iJI1BMB-BwFI6JHl9YJW8}/_buildManifest.js +0 -0
- /package/web/.next/static/{ChVi9RNp-ZER74W2GrrbV → iJI1BMB-BwFI6JHl9YJW8}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{ChVi9RNp-ZER74W2GrrbV → iJI1BMB-BwFI6JHl9YJW8}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/update-pm-project.ts","../../../../../../../src/presentation/web/app/actions/create-work-item.ts","../../../../../../../src/presentation/web/.next-internal/server/app/projects/%5Bslug%5D/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/get-project-breakdown.ts","../../../../../../../src/presentation/web/app/actions/get-cycle-burndown.ts","../../../../../../../src/presentation/web/app/actions/get-module-progress.ts","../../../../../../../src/presentation/web/app/actions/list-project-relations.ts","../../../../../../../src/presentation/web/app/actions/manage-cycles.ts","../../../../../../../src/presentation/web/app/actions/manage-modules.ts","../../../../../../../src/presentation/web/app/actions/manage-epics.ts","../../../../../../../src/presentation/web/app/actions/update-work-item.ts","../../../../../../../src/presentation/web/app/actions/list-work-items.ts","../../../../../../../src/presentation/web/app/actions/list-cycles.ts","../../../../../../../src/presentation/web/app/actions/list-modules.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n UpdatePmProjectUseCase,\n UpdatePmProjectInput,\n} from '@shepai/core/application/use-cases/pm-projects/update-pm-project.use-case';\n\nexport async function updatePmProject(\n projectId: string,\n input: UpdatePmProjectInput\n): Promise<{ error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<UpdatePmProjectUseCase>('UpdatePmProjectUseCase');\n const result = await useCase.execute(projectId, input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update project';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n CreateWorkItemUseCase,\n CreateWorkItemInput,\n} from '@shepai/core/application/use-cases/work-items/create-work-item.use-case';\nimport type { WorkItem } from '@shepai/core/domain/generated/output';\n\nexport async function createWorkItem(\n input: CreateWorkItemInput\n): Promise<{ workItem?: WorkItem; error?: string }> {\n try {\n const useCase = resolve<CreateWorkItemUseCase>('CreateWorkItemUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return { workItem: result.workItem };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create work item';\n return { error: message };\n }\n}\n","export {pickFolder as '005795b9404f47f18715abda65314752aefc5fb8d5'} from 'ACTIONS_MODULE0'\nexport {getDefaultAgentAndModel as '00938d775c42cdd54bd0e44a7d4da5cfe944dfe93b'} from 'ACTIONS_MODULE1'\nexport {getAllAgentModels as '005cb4c82d2d3466deabb307d24d6ed8436d67544f'} from 'ACTIONS_MODULE2'\nexport {checkAllAgentsStatus as '00d01781e65ac3d3a4afd541463d639fa5f0769040'} from 'ACTIONS_MODULE3'\nexport {updateAgentAndModel as '604457fce11c9b3dbf6b9522d5c4f7495770f0e22f'} from 'ACTIONS_MODULE4'\nexport {globalSearch as '403a7efb89ddbcbfbd2d1aad796b93856de0c17c18'} from 'ACTIONS_MODULE5'\nexport {listGitHubRepositories as '4088569ab6e6a5fe2e71ba0ac2cd3856c7cb36609a'} from 'ACTIONS_MODULE6'\nexport {listGitHubOrganizations as '0022cadc32a7a5f3ed643a86a65eecdf0738f33dd0'} from 'ACTIONS_MODULE7'\nexport {importGitHubRepository as '40ac687ce7283fa0b54dabe2f4ccaad99a6ce9b438'} from 'ACTIONS_MODULE8'\nexport {createWorkItem as '40239d655b24efce84b186628e38e7f9074459272f'} from 'ACTIONS_MODULE9'\nexport {getProjectBreakdown as '404a18a0711903cdd52fdb3c10581a476c19419a7b'} from 'ACTIONS_MODULE10'\nexport {getCycleBurndown as '409ffb147c0c7264058b2578ad8f8cf580172c7aa7'} from 'ACTIONS_MODULE11'\nexport {getModuleProgress as '40cc5b8ece96a0b88d5bb14b5e599a5ab5e7f2a1e1'} from 'ACTIONS_MODULE12'\nexport {listProjectRelations as '40b72c816553fe2fef90c752625f47b4bd1fb2043c'} from 'ACTIONS_MODULE13'\nexport {createCycle as '40671e22fff9f55fab878dbcee4cd3206d742929ec'} from 'ACTIONS_MODULE14'\nexport {updateCycle as '60658368c97eb513643049e7f2cad9f04103f21514'} from 'ACTIONS_MODULE14'\nexport {deleteCycle as '4093a6e13ee2d1249c2a71a00b5ee488199de2dea4'} from 'ACTIONS_MODULE14'\nexport {transferCycleItems as '60ba424cf9fe04360eb0bf2bf749049d0ec27a7d62'} from 'ACTIONS_MODULE14'\nexport {createModule as '40b47c832eb57ae9a96772c1dec0d308ec352c9ab5'} from 'ACTIONS_MODULE15'\nexport {deleteModule as '40d5aeca8bfe41e398468869c0ad6b7c6991e9e034'} from 'ACTIONS_MODULE15'\nexport {createEpic as '405dc265ef8f2e4b60cb5cdf253a892bb715229ae0'} from 'ACTIONS_MODULE16'\nexport {updateEpic as '60e3b4644e6d21b49e15dca41d7c1c294624e70f8c'} from 'ACTIONS_MODULE16'\nexport {deleteEpic as '40ccc68697d05fae379f629ebdf4e87a9751f967f9'} from 'ACTIONS_MODULE16'\nexport {updatePmProject as '60f3616b3870351e42154257ca243e3fde36d81088'} from 'ACTIONS_MODULE17'\nexport {updateWorkItem as '607039c7111ed6b628044ce34500e91e4450583c1d'} from 'ACTIONS_MODULE18'\nexport {listWorkItems as '60e88f95fa30f026c8c701b751e4866507a123cca3'} from 'ACTIONS_MODULE19'\nexport {listCycles as '407dc7d3300eb1a8a1aac4be0cc78f16ef090f60c5'} from 'ACTIONS_MODULE20'\nexport {listModules as '402b2b2d2ab73f76581c71b7f1f2d62a1f0662890c'} from 'ACTIONS_MODULE21'\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetProjectBreakdownUseCase } from '@shepai/core/application/use-cases/analytics/get-project-breakdown.use-case';\nimport type { ProjectBreakdownData } from '@shepai/core/application/use-cases/analytics/get-project-breakdown.use-case';\n\nexport async function getProjectBreakdown(\n projectId: string\n): Promise<{ data?: ProjectBreakdownData; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<GetProjectBreakdownUseCase>('GetProjectBreakdownUseCase');\n const result = await useCase.execute(projectId);\n if (!result.ok) return { error: result.error };\n return { data: result.data };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get project breakdown';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetCycleBurndownUseCase } from '@shepai/core/application/use-cases/analytics/get-cycle-burndown.use-case';\nimport type { CycleBurndownData } from '@shepai/core/application/use-cases/analytics/get-cycle-burndown.use-case';\n\nexport async function getCycleBurndown(\n cycleId: string\n): Promise<{ data?: CycleBurndownData; error?: string }> {\n if (!cycleId?.trim()) {\n return { error: 'Cycle ID is required' };\n }\n\n try {\n const useCase = resolve<GetCycleBurndownUseCase>('GetCycleBurndownUseCase');\n const result = await useCase.execute(cycleId);\n if (!result.ok) return { error: result.error };\n return { data: result.data };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get cycle burndown';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetModuleProgressUseCase } from '@shepai/core/application/use-cases/analytics/get-module-progress.use-case';\nimport type { ModuleProgressItem } from '@shepai/core/application/use-cases/analytics/get-module-progress.use-case';\n\nexport async function getModuleProgress(\n projectId: string\n): Promise<{ modules?: ModuleProgressItem[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<GetModuleProgressUseCase>('GetModuleProgressUseCase');\n const result = await useCase.execute(projectId);\n if (!result.ok) return { error: result.error };\n return { modules: result.modules };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get module progress';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListWorkItemRelationsUseCase } from '@shepai/core/application/use-cases/work-item-relations/list-work-item-relations.use-case';\nimport type { ListWorkItemsUseCase } from '@shepai/core/application/use-cases/work-items/list-work-items.use-case';\nimport type { WorkItemRelation } from '@shepai/core/application/ports/output/repositories/work-item-relation-repository.interface';\n\nexport async function listProjectRelations(\n projectId: string\n): Promise<{ relations?: WorkItemRelation[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const listItems = resolve<ListWorkItemsUseCase>('ListWorkItemsUseCase');\n const listRelations = resolve<ListWorkItemRelationsUseCase>('ListWorkItemRelationsUseCase');\n\n const items = await listItems.execute(projectId);\n const allRelations = new Map<string, WorkItemRelation>();\n\n for (const item of items) {\n const rels = await listRelations.execute(item.id);\n for (const rel of rels) {\n allRelations.set(rel.id, rel);\n }\n }\n\n return { relations: Array.from(allRelations.values()) };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list project relations';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateCycleUseCase } from '@shepai/core/application/use-cases/cycles/create-cycle.use-case';\nimport type { UpdateCycleUseCase } from '@shepai/core/application/use-cases/cycles/update-cycle.use-case';\nimport type { DeleteCycleUseCase } from '@shepai/core/application/use-cases/cycles/delete-cycle.use-case';\nimport type { AddItemsToCycleUseCase } from '@shepai/core/application/use-cases/cycles/add-items-to-cycle.use-case';\nimport type { RemoveItemsFromCycleUseCase } from '@shepai/core/application/use-cases/cycles/remove-items-from-cycle.use-case';\nimport type { TransferCycleItemsUseCase } from '@shepai/core/application/use-cases/cycles/transfer-cycle-items.use-case';\nimport type { Cycle, CycleStatus } from '@shepai/core/domain/generated/output';\n\nexport async function createCycle(input: {\n projectId: string;\n name: string;\n description?: string;\n status?: CycleStatus;\n startDate?: string;\n endDate?: string;\n}): Promise<{ cycle?: Cycle; error?: string }> {\n if (!input.name?.trim()) {\n return { error: 'Cycle name is required' };\n }\n\n try {\n const useCase = resolve<CreateCycleUseCase>('CreateCycleUseCase');\n const result = await useCase.execute({\n ...input,\n startDate: input.startDate ? new Date(input.startDate) : undefined,\n endDate: input.endDate ? new Date(input.endDate) : undefined,\n });\n if (!result.ok) return { error: result.error };\n return { cycle: result.cycle };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create cycle';\n return { error: message };\n }\n}\n\nexport async function updateCycle(\n cycleId: string,\n fields: Record<string, unknown>\n): Promise<{ cycle?: Cycle; error?: string }> {\n try {\n const useCase = resolve<UpdateCycleUseCase>('UpdateCycleUseCase');\n const result = await useCase.execute(cycleId, fields);\n if (!result.ok) return { error: result.error };\n return { cycle: result.cycle };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update cycle';\n return { error: message };\n }\n}\n\nexport async function deleteCycle(cycleId: string): Promise<{ error?: string }> {\n try {\n const useCase = resolve<DeleteCycleUseCase>('DeleteCycleUseCase');\n const result = await useCase.execute(cycleId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete cycle';\n return { error: message };\n }\n}\n\nexport async function addItemsToCycle(\n cycleId: string,\n workItemIds: string[]\n): Promise<{ added?: number; error?: string }> {\n try {\n const useCase = resolve<AddItemsToCycleUseCase>('AddItemsToCycleUseCase');\n const result = await useCase.execute(cycleId, workItemIds);\n if (!result.ok) return { error: result.error };\n return { added: result.added };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add items to cycle';\n return { error: message };\n }\n}\n\nexport async function removeItemsFromCycle(\n cycleId: string,\n workItemIds: string[]\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<RemoveItemsFromCycleUseCase>('RemoveItemsFromCycleUseCase');\n const result = await useCase.execute(cycleId, workItemIds);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove items from cycle';\n return { error: message };\n }\n}\n\nexport async function transferCycleItems(\n sourceCycleId: string,\n targetCycleId?: string\n): Promise<{ transferred?: number; kept?: number; error?: string }> {\n try {\n const useCase = resolve<TransferCycleItemsUseCase>('TransferCycleItemsUseCase');\n const result = await useCase.execute({ sourceCycleId, targetCycleId });\n if (!result.ok) return { error: result.error };\n return { transferred: result.transferred, kept: result.kept };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to transfer cycle items';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateModuleUseCase } from '@shepai/core/application/use-cases/modules/create-module.use-case';\nimport type { UpdateModuleUseCase } from '@shepai/core/application/use-cases/modules/update-module.use-case';\nimport type { DeleteModuleUseCase } from '@shepai/core/application/use-cases/modules/delete-module.use-case';\nimport type { AddItemsToModuleUseCase } from '@shepai/core/application/use-cases/modules/add-items-to-module.use-case';\nimport type { RemoveItemsFromModuleUseCase } from '@shepai/core/application/use-cases/modules/remove-items-from-module.use-case';\nimport type { PmModule, ModuleStatus } from '@shepai/core/domain/generated/output';\n\nexport async function createModule(input: {\n projectId: string;\n name: string;\n description?: string;\n status?: ModuleStatus;\n leadId?: string;\n startDate?: string;\n endDate?: string;\n}): Promise<{ module?: PmModule; error?: string }> {\n if (!input.name?.trim()) {\n return { error: 'Module name is required' };\n }\n\n try {\n const useCase = resolve<CreateModuleUseCase>('CreateModuleUseCase');\n const result = await useCase.execute({\n ...input,\n startDate: input.startDate ? new Date(input.startDate) : undefined,\n endDate: input.endDate ? new Date(input.endDate) : undefined,\n });\n if (!result.ok) return { error: result.error };\n return { module: result.module };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create module';\n return { error: message };\n }\n}\n\nexport async function updateModule(\n moduleId: string,\n fields: Record<string, unknown>\n): Promise<{ module?: PmModule; error?: string }> {\n try {\n const useCase = resolve<UpdateModuleUseCase>('UpdateModuleUseCase');\n const result = await useCase.execute(moduleId, fields);\n if (!result.ok) return { error: result.error };\n return { module: result.module };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update module';\n return { error: message };\n }\n}\n\nexport async function deleteModule(moduleId: string): Promise<{ error?: string }> {\n try {\n const useCase = resolve<DeleteModuleUseCase>('DeleteModuleUseCase');\n const result = await useCase.execute(moduleId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete module';\n return { error: message };\n }\n}\n\nexport async function addItemsToModule(\n moduleId: string,\n workItemIds: string[]\n): Promise<{ added?: number; error?: string }> {\n try {\n const useCase = resolve<AddItemsToModuleUseCase>('AddItemsToModuleUseCase');\n const result = await useCase.execute(moduleId, workItemIds);\n if (!result.ok) return { error: result.error };\n return { added: result.added };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add items to module';\n return { error: message };\n }\n}\n\nexport async function removeItemsFromModule(\n moduleId: string,\n workItemIds: string[]\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<RemoveItemsFromModuleUseCase>('RemoveItemsFromModuleUseCase');\n const result = await useCase.execute(moduleId, workItemIds);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove items from module';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateEpicUseCase } from '@shepai/core/application/use-cases/epics/create-epic.use-case';\nimport type { ListEpicsUseCase } from '@shepai/core/application/use-cases/epics/list-epics.use-case';\nimport type { UpdateEpicUseCase } from '@shepai/core/application/use-cases/epics/update-epic.use-case';\nimport type { DeleteEpicUseCase } from '@shepai/core/application/use-cases/epics/delete-epic.use-case';\nimport type { Epic, EpicStatus } from '@shepai/core/domain/generated/output';\n\nexport async function createEpic(input: {\n projectId: string;\n name: string;\n description?: string;\n status?: EpicStatus;\n}): Promise<{ epic?: Epic; error?: string }> {\n try {\n const useCase = resolve<CreateEpicUseCase>('CreateEpicUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return { epic: result.epic };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create epic';\n return { error: message };\n }\n}\n\nexport async function listEpics(projectId: string): Promise<{ epics?: Epic[]; error?: string }> {\n try {\n const useCase = resolve<ListEpicsUseCase>('ListEpicsUseCase');\n const result = await useCase.execute(projectId);\n return { epics: result.epics };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list epics';\n return { error: message };\n }\n}\n\nexport async function updateEpic(\n epicId: string,\n fields: { name?: string; description?: string; status?: EpicStatus }\n): Promise<{ epic?: Epic; error?: string }> {\n try {\n const useCase = resolve<UpdateEpicUseCase>('UpdateEpicUseCase');\n const result = await useCase.execute({ epicId, ...fields });\n if (!result.ok) return { error: result.error };\n return { epic: result.epic };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update epic';\n return { error: message };\n }\n}\n\nexport async function deleteEpic(epicId: string): Promise<{ error?: string }> {\n try {\n const useCase = resolve<DeleteEpicUseCase>('DeleteEpicUseCase');\n const result = await useCase.execute(epicId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete epic';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n UpdateWorkItemUseCase,\n UpdateWorkItemInput,\n} from '@shepai/core/application/use-cases/work-items/update-work-item.use-case';\n\nexport async function updateWorkItem(\n workItemId: string,\n input: UpdateWorkItemInput\n): Promise<{ error?: string }> {\n if (!workItemId?.trim()) {\n return { error: 'Work item ID is required' };\n }\n\n try {\n const useCase = resolve<UpdateWorkItemUseCase>('UpdateWorkItemUseCase');\n const result = await useCase.execute(workItemId, input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update work item';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListWorkItemsUseCase } from '@shepai/core/application/use-cases/work-items/list-work-items.use-case';\nimport type { WorkItemFilter } from '@shepai/core/application/ports/output/repositories/work-item-repository.interface';\nimport type { WorkItem } from '@shepai/core/domain/generated/output';\n\nexport async function listWorkItems(\n projectId: string,\n filters?: WorkItemFilter\n): Promise<{ workItems?: WorkItem[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ListWorkItemsUseCase>('ListWorkItemsUseCase');\n const workItems = await useCase.execute(projectId, filters);\n return { workItems };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list work items';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListCyclesUseCase } from '@shepai/core/application/use-cases/cycles/list-cycles.use-case';\nimport type { Cycle } from '@shepai/core/domain/generated/output';\n\nexport async function listCycles(projectId: string): Promise<{ cycles?: Cycle[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ListCyclesUseCase>('ListCyclesUseCase');\n const cycles = await useCase.execute(projectId);\n return { cycles };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list cycles';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListModulesUseCase } from '@shepai/core/application/use-cases/modules/list-modules.use-case';\nimport type { PmModule } from '@shepai/core/domain/generated/output';\n\nexport async function listModules(\n projectId: string\n): Promise<{ modules?: PmModule[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ListModulesUseCase>('ListModulesUseCase');\n const modules = await useCase.execute(projectId);\n return { modules };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list modules';\n return { error: message };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/update-pm-project.ts","../../../../../../../src/presentation/web/app/actions/create-work-item.ts","../../../../../../../src/presentation/web/.next-internal/server/app/projects/%5Bslug%5D/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/get-project-breakdown.ts","../../../../../../../src/presentation/web/app/actions/get-cycle-burndown.ts","../../../../../../../src/presentation/web/app/actions/get-module-progress.ts","../../../../../../../src/presentation/web/app/actions/list-project-relations.ts","../../../../../../../src/presentation/web/app/actions/manage-cycles.ts","../../../../../../../src/presentation/web/app/actions/manage-modules.ts","../../../../../../../src/presentation/web/app/actions/manage-epics.ts","../../../../../../../src/presentation/web/app/actions/update-work-item.ts","../../../../../../../src/presentation/web/app/actions/list-work-items.ts","../../../../../../../src/presentation/web/app/actions/list-cycles.ts","../../../../../../../src/presentation/web/app/actions/list-modules.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n UpdatePmProjectUseCase,\n UpdatePmProjectInput,\n} from '@shepai/core/application/use-cases/pm-projects/update-pm-project.use-case';\n\nexport async function updatePmProject(\n projectId: string,\n input: UpdatePmProjectInput\n): Promise<{ error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<UpdatePmProjectUseCase>('UpdatePmProjectUseCase');\n const result = await useCase.execute(projectId, input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update project';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n CreateWorkItemUseCase,\n CreateWorkItemInput,\n} from '@shepai/core/application/use-cases/work-items/create-work-item.use-case';\nimport type { WorkItem } from '@shepai/core/domain/generated/output';\n\nexport async function createWorkItem(\n input: CreateWorkItemInput\n): Promise<{ workItem?: WorkItem; error?: string }> {\n try {\n const useCase = resolve<CreateWorkItemUseCase>('CreateWorkItemUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return { workItem: result.workItem };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create work item';\n return { error: message };\n }\n}\n","export {pickFolder as '0090f855082c32ca62e2570d7d1ab2962ce337e2fa'} from 'ACTIONS_MODULE0'\nexport {getDefaultAgentAndModel as '0012d55443d3ecd4371eeb3c2f54845ed7051ec3e4'} from 'ACTIONS_MODULE1'\nexport {getAllAgentModels as '00d173d22344bd77e0101fc0f79221379fcebccdd3'} from 'ACTIONS_MODULE2'\nexport {checkAllAgentsStatus as '0047f63775193a38157ed541c90ceb8ec71c6b1dee'} from 'ACTIONS_MODULE3'\nexport {updateAgentAndModel as '6000b91246c62b8ea2f123b9167538880bea50e6af'} from 'ACTIONS_MODULE4'\nexport {globalSearch as '40336205a28ad800c54cfb8be2c4220b1b1c702c0c'} from 'ACTIONS_MODULE5'\nexport {listGitHubRepositories as '401c69fd0ea332b5338d2681374f58f26450e1d213'} from 'ACTIONS_MODULE6'\nexport {listGitHubOrganizations as '002333039f4600b7fac2e032dbbff5dce622bc32c4'} from 'ACTIONS_MODULE7'\nexport {importGitHubRepository as '40d466ff9789889567ff0b65d9b5c87f7f7b11f943'} from 'ACTIONS_MODULE8'\nexport {createWorkItem as '40bff29122cd4fb74d349bacf8f54833f0e67bdfef'} from 'ACTIONS_MODULE9'\nexport {getProjectBreakdown as '40182dd066d6458f0721d8f2fc738f20d1dcef9e9a'} from 'ACTIONS_MODULE10'\nexport {getCycleBurndown as '40a0b0206a2284cdcd777aa9c848ae54cfbc296fb2'} from 'ACTIONS_MODULE11'\nexport {getModuleProgress as '4046a041de71317c8320d27fd2ec6172a29ea56476'} from 'ACTIONS_MODULE12'\nexport {listProjectRelations as '40422aa9464f148623d033738f49416e921c67cda7'} from 'ACTIONS_MODULE13'\nexport {createCycle as '40eb0a097575a7160ace27fe5a253a5df6f87c8686'} from 'ACTIONS_MODULE14'\nexport {updateCycle as '602fa5cde7821dd953208d8fcd8c4908e2754639f5'} from 'ACTIONS_MODULE14'\nexport {deleteCycle as '40f7d182898c9f0d1deb43282d2ff68bca8aaaa078'} from 'ACTIONS_MODULE14'\nexport {transferCycleItems as '60ad94a34725dd17946b0bfdb37073a6bc53ccd2c3'} from 'ACTIONS_MODULE14'\nexport {createModule as '404371caaad44a47bdd8a167aa7ff83787ae1aa82b'} from 'ACTIONS_MODULE15'\nexport {deleteModule as '400ecf68d258031af758f93dee1fdc442b87a0f869'} from 'ACTIONS_MODULE15'\nexport {createEpic as '40bafd84f9f3e18353af43511ab8ae4ab45fd898af'} from 'ACTIONS_MODULE16'\nexport {updateEpic as '600dff671fa762ea47492def9fed904424831ff6ed'} from 'ACTIONS_MODULE16'\nexport {deleteEpic as '408c1527d17bc0a9ed9818957d747d27387b04c879'} from 'ACTIONS_MODULE16'\nexport {updatePmProject as '60e50bb1ef1cba1e3e05f572110cb27874c4bfdde1'} from 'ACTIONS_MODULE17'\nexport {updateWorkItem as '60679f2da1fdb6c52c90f9a5ad90e0c9ca3b97cf83'} from 'ACTIONS_MODULE18'\nexport {listWorkItems as '60d2d120aea6a79bccf9be6dcc982ec30083469efd'} from 'ACTIONS_MODULE19'\nexport {listCycles as '4001501623c1d625aea7e501f59eef4dd8c7d87ed9'} from 'ACTIONS_MODULE20'\nexport {listModules as '40025b65ebd015ade84728d6f5e66e9a87b3e11487'} from 'ACTIONS_MODULE21'\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetProjectBreakdownUseCase } from '@shepai/core/application/use-cases/analytics/get-project-breakdown.use-case';\nimport type { ProjectBreakdownData } from '@shepai/core/application/use-cases/analytics/get-project-breakdown.use-case';\n\nexport async function getProjectBreakdown(\n projectId: string\n): Promise<{ data?: ProjectBreakdownData; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<GetProjectBreakdownUseCase>('GetProjectBreakdownUseCase');\n const result = await useCase.execute(projectId);\n if (!result.ok) return { error: result.error };\n return { data: result.data };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get project breakdown';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetCycleBurndownUseCase } from '@shepai/core/application/use-cases/analytics/get-cycle-burndown.use-case';\nimport type { CycleBurndownData } from '@shepai/core/application/use-cases/analytics/get-cycle-burndown.use-case';\n\nexport async function getCycleBurndown(\n cycleId: string\n): Promise<{ data?: CycleBurndownData; error?: string }> {\n if (!cycleId?.trim()) {\n return { error: 'Cycle ID is required' };\n }\n\n try {\n const useCase = resolve<GetCycleBurndownUseCase>('GetCycleBurndownUseCase');\n const result = await useCase.execute(cycleId);\n if (!result.ok) return { error: result.error };\n return { data: result.data };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get cycle burndown';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetModuleProgressUseCase } from '@shepai/core/application/use-cases/analytics/get-module-progress.use-case';\nimport type { ModuleProgressItem } from '@shepai/core/application/use-cases/analytics/get-module-progress.use-case';\n\nexport async function getModuleProgress(\n projectId: string\n): Promise<{ modules?: ModuleProgressItem[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<GetModuleProgressUseCase>('GetModuleProgressUseCase');\n const result = await useCase.execute(projectId);\n if (!result.ok) return { error: result.error };\n return { modules: result.modules };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to get module progress';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListWorkItemRelationsUseCase } from '@shepai/core/application/use-cases/work-item-relations/list-work-item-relations.use-case';\nimport type { ListWorkItemsUseCase } from '@shepai/core/application/use-cases/work-items/list-work-items.use-case';\nimport type { WorkItemRelation } from '@shepai/core/application/ports/output/repositories/work-item-relation-repository.interface';\n\nexport async function listProjectRelations(\n projectId: string\n): Promise<{ relations?: WorkItemRelation[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const listItems = resolve<ListWorkItemsUseCase>('ListWorkItemsUseCase');\n const listRelations = resolve<ListWorkItemRelationsUseCase>('ListWorkItemRelationsUseCase');\n\n const items = await listItems.execute(projectId);\n const allRelations = new Map<string, WorkItemRelation>();\n\n for (const item of items) {\n const rels = await listRelations.execute(item.id);\n for (const rel of rels) {\n allRelations.set(rel.id, rel);\n }\n }\n\n return { relations: Array.from(allRelations.values()) };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list project relations';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateCycleUseCase } from '@shepai/core/application/use-cases/cycles/create-cycle.use-case';\nimport type { UpdateCycleUseCase } from '@shepai/core/application/use-cases/cycles/update-cycle.use-case';\nimport type { DeleteCycleUseCase } from '@shepai/core/application/use-cases/cycles/delete-cycle.use-case';\nimport type { AddItemsToCycleUseCase } from '@shepai/core/application/use-cases/cycles/add-items-to-cycle.use-case';\nimport type { RemoveItemsFromCycleUseCase } from '@shepai/core/application/use-cases/cycles/remove-items-from-cycle.use-case';\nimport type { TransferCycleItemsUseCase } from '@shepai/core/application/use-cases/cycles/transfer-cycle-items.use-case';\nimport type { Cycle, CycleStatus } from '@shepai/core/domain/generated/output';\n\nexport async function createCycle(input: {\n projectId: string;\n name: string;\n description?: string;\n status?: CycleStatus;\n startDate?: string;\n endDate?: string;\n}): Promise<{ cycle?: Cycle; error?: string }> {\n if (!input.name?.trim()) {\n return { error: 'Cycle name is required' };\n }\n\n try {\n const useCase = resolve<CreateCycleUseCase>('CreateCycleUseCase');\n const result = await useCase.execute({\n ...input,\n startDate: input.startDate ? new Date(input.startDate) : undefined,\n endDate: input.endDate ? new Date(input.endDate) : undefined,\n });\n if (!result.ok) return { error: result.error };\n return { cycle: result.cycle };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create cycle';\n return { error: message };\n }\n}\n\nexport async function updateCycle(\n cycleId: string,\n fields: Record<string, unknown>\n): Promise<{ cycle?: Cycle; error?: string }> {\n try {\n const useCase = resolve<UpdateCycleUseCase>('UpdateCycleUseCase');\n const result = await useCase.execute(cycleId, fields);\n if (!result.ok) return { error: result.error };\n return { cycle: result.cycle };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update cycle';\n return { error: message };\n }\n}\n\nexport async function deleteCycle(cycleId: string): Promise<{ error?: string }> {\n try {\n const useCase = resolve<DeleteCycleUseCase>('DeleteCycleUseCase');\n const result = await useCase.execute(cycleId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete cycle';\n return { error: message };\n }\n}\n\nexport async function addItemsToCycle(\n cycleId: string,\n workItemIds: string[]\n): Promise<{ added?: number; error?: string }> {\n try {\n const useCase = resolve<AddItemsToCycleUseCase>('AddItemsToCycleUseCase');\n const result = await useCase.execute(cycleId, workItemIds);\n if (!result.ok) return { error: result.error };\n return { added: result.added };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add items to cycle';\n return { error: message };\n }\n}\n\nexport async function removeItemsFromCycle(\n cycleId: string,\n workItemIds: string[]\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<RemoveItemsFromCycleUseCase>('RemoveItemsFromCycleUseCase');\n const result = await useCase.execute(cycleId, workItemIds);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove items from cycle';\n return { error: message };\n }\n}\n\nexport async function transferCycleItems(\n sourceCycleId: string,\n targetCycleId?: string\n): Promise<{ transferred?: number; kept?: number; error?: string }> {\n try {\n const useCase = resolve<TransferCycleItemsUseCase>('TransferCycleItemsUseCase');\n const result = await useCase.execute({ sourceCycleId, targetCycleId });\n if (!result.ok) return { error: result.error };\n return { transferred: result.transferred, kept: result.kept };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to transfer cycle items';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateModuleUseCase } from '@shepai/core/application/use-cases/modules/create-module.use-case';\nimport type { UpdateModuleUseCase } from '@shepai/core/application/use-cases/modules/update-module.use-case';\nimport type { DeleteModuleUseCase } from '@shepai/core/application/use-cases/modules/delete-module.use-case';\nimport type { AddItemsToModuleUseCase } from '@shepai/core/application/use-cases/modules/add-items-to-module.use-case';\nimport type { RemoveItemsFromModuleUseCase } from '@shepai/core/application/use-cases/modules/remove-items-from-module.use-case';\nimport type { PmModule, ModuleStatus } from '@shepai/core/domain/generated/output';\n\nexport async function createModule(input: {\n projectId: string;\n name: string;\n description?: string;\n status?: ModuleStatus;\n leadId?: string;\n startDate?: string;\n endDate?: string;\n}): Promise<{ module?: PmModule; error?: string }> {\n if (!input.name?.trim()) {\n return { error: 'Module name is required' };\n }\n\n try {\n const useCase = resolve<CreateModuleUseCase>('CreateModuleUseCase');\n const result = await useCase.execute({\n ...input,\n startDate: input.startDate ? new Date(input.startDate) : undefined,\n endDate: input.endDate ? new Date(input.endDate) : undefined,\n });\n if (!result.ok) return { error: result.error };\n return { module: result.module };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create module';\n return { error: message };\n }\n}\n\nexport async function updateModule(\n moduleId: string,\n fields: Record<string, unknown>\n): Promise<{ module?: PmModule; error?: string }> {\n try {\n const useCase = resolve<UpdateModuleUseCase>('UpdateModuleUseCase');\n const result = await useCase.execute(moduleId, fields);\n if (!result.ok) return { error: result.error };\n return { module: result.module };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update module';\n return { error: message };\n }\n}\n\nexport async function deleteModule(moduleId: string): Promise<{ error?: string }> {\n try {\n const useCase = resolve<DeleteModuleUseCase>('DeleteModuleUseCase');\n const result = await useCase.execute(moduleId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete module';\n return { error: message };\n }\n}\n\nexport async function addItemsToModule(\n moduleId: string,\n workItemIds: string[]\n): Promise<{ added?: number; error?: string }> {\n try {\n const useCase = resolve<AddItemsToModuleUseCase>('AddItemsToModuleUseCase');\n const result = await useCase.execute(moduleId, workItemIds);\n if (!result.ok) return { error: result.error };\n return { added: result.added };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add items to module';\n return { error: message };\n }\n}\n\nexport async function removeItemsFromModule(\n moduleId: string,\n workItemIds: string[]\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<RemoveItemsFromModuleUseCase>('RemoveItemsFromModuleUseCase');\n const result = await useCase.execute(moduleId, workItemIds);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove items from module';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateEpicUseCase } from '@shepai/core/application/use-cases/epics/create-epic.use-case';\nimport type { ListEpicsUseCase } from '@shepai/core/application/use-cases/epics/list-epics.use-case';\nimport type { UpdateEpicUseCase } from '@shepai/core/application/use-cases/epics/update-epic.use-case';\nimport type { DeleteEpicUseCase } from '@shepai/core/application/use-cases/epics/delete-epic.use-case';\nimport type { Epic, EpicStatus } from '@shepai/core/domain/generated/output';\n\nexport async function createEpic(input: {\n projectId: string;\n name: string;\n description?: string;\n status?: EpicStatus;\n}): Promise<{ epic?: Epic; error?: string }> {\n try {\n const useCase = resolve<CreateEpicUseCase>('CreateEpicUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return { epic: result.epic };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create epic';\n return { error: message };\n }\n}\n\nexport async function listEpics(projectId: string): Promise<{ epics?: Epic[]; error?: string }> {\n try {\n const useCase = resolve<ListEpicsUseCase>('ListEpicsUseCase');\n const result = await useCase.execute(projectId);\n return { epics: result.epics };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list epics';\n return { error: message };\n }\n}\n\nexport async function updateEpic(\n epicId: string,\n fields: { name?: string; description?: string; status?: EpicStatus }\n): Promise<{ epic?: Epic; error?: string }> {\n try {\n const useCase = resolve<UpdateEpicUseCase>('UpdateEpicUseCase');\n const result = await useCase.execute({ epicId, ...fields });\n if (!result.ok) return { error: result.error };\n return { epic: result.epic };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update epic';\n return { error: message };\n }\n}\n\nexport async function deleteEpic(epicId: string): Promise<{ error?: string }> {\n try {\n const useCase = resolve<DeleteEpicUseCase>('DeleteEpicUseCase');\n const result = await useCase.execute(epicId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete epic';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n UpdateWorkItemUseCase,\n UpdateWorkItemInput,\n} from '@shepai/core/application/use-cases/work-items/update-work-item.use-case';\n\nexport async function updateWorkItem(\n workItemId: string,\n input: UpdateWorkItemInput\n): Promise<{ error?: string }> {\n if (!workItemId?.trim()) {\n return { error: 'Work item ID is required' };\n }\n\n try {\n const useCase = resolve<UpdateWorkItemUseCase>('UpdateWorkItemUseCase');\n const result = await useCase.execute(workItemId, input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update work item';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListWorkItemsUseCase } from '@shepai/core/application/use-cases/work-items/list-work-items.use-case';\nimport type { WorkItemFilter } from '@shepai/core/application/ports/output/repositories/work-item-repository.interface';\nimport type { WorkItem } from '@shepai/core/domain/generated/output';\n\nexport async function listWorkItems(\n projectId: string,\n filters?: WorkItemFilter\n): Promise<{ workItems?: WorkItem[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ListWorkItemsUseCase>('ListWorkItemsUseCase');\n const workItems = await useCase.execute(projectId, filters);\n return { workItems };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list work items';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListCyclesUseCase } from '@shepai/core/application/use-cases/cycles/list-cycles.use-case';\nimport type { Cycle } from '@shepai/core/domain/generated/output';\n\nexport async function listCycles(projectId: string): Promise<{ cycles?: Cycle[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ListCyclesUseCase>('ListCyclesUseCase');\n const cycles = await useCase.execute(projectId);\n return { cycles };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list cycles';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListModulesUseCase } from '@shepai/core/application/use-cases/modules/list-modules.use-case';\nimport type { PmModule } from '@shepai/core/domain/generated/output';\n\nexport async function listModules(\n projectId: string\n): Promise<{ modules?: PmModule[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ListModulesUseCase>('ListModulesUseCase');\n const modules = await useCase.execute(projectId);\n return { modules };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list modules';\n return { error: message };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[872875,a=>{"use strict";var b=a.i(237705),c=a.i(996380);async function d(a,b){if(!a?.trim())return{error:"Project ID is required"};try{let d=(0,c.resolve)("UpdatePmProjectUseCase"),e=await d.execute(a,b);if(!e.ok)return{error:e.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to update project"}}}(0,a.i(701904).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"
|
|
1
|
+
module.exports=[872875,a=>{"use strict";var b=a.i(237705),c=a.i(996380);async function d(a,b){if(!a?.trim())return{error:"Project ID is required"};try{let d=(0,c.resolve)("UpdatePmProjectUseCase"),e=await d.execute(a,b);if(!e.ok)return{error:e.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to update project"}}}(0,a.i(701904).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"60e50bb1ef1cba1e3e05f572110cb27874c4bfdde1",null),a.s(["updatePmProject",()=>d])},469559,a=>{"use strict";var b=a.i(912513),c=a.i(889253),d=a.i(723504),e=a.i(408115),f=a.i(827900),g=a.i(673350),h=a.i(673101),i=a.i(654775),j=a.i(265324),k=a.i(872875),l=a.i(237705),m=a.i(996380),n=a.i(701904);async function o(a){if(!a?.trim())return{error:"Project ID is required"};try{let b=(0,m.resolve)("DeletePmProjectUseCase"),c=await b.execute(a);if(!c.ok)return{error:c.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete project"}}}async function p(a){if(!a?.trim())return{error:"Project ID is required"};try{let b=(0,m.resolve)("ManageWorkItemStatesUseCase");return{states:await b.list(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to list states"}}}async function q(a){try{let b=(0,m.resolve)("ManageWorkItemStatesUseCase"),c=await b.create(a);if(!c.ok)return{error:c.error};return{state:c.state}}catch(a){return{error:a instanceof Error?a.message:"Failed to create state"}}}async function r(a,b){if(!a?.trim())return{error:"State ID is required"};try{let c=(0,m.resolve)("ManageWorkItemStatesUseCase"),d=await c.update(a,b);if(!d.ok)return{error:d.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to update state"}}}async function s(a){if(!a?.trim())return{error:"State ID is required"};try{let b=(0,m.resolve)("ManageWorkItemStatesUseCase"),c=await b.delete(a);if(!c.ok)return{error:c.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete state"}}}async function t(a){try{let b=(0,m.resolve)("ManageWorkItemStatesUseCase"),c=await b.reorder(a);if(!c.ok)return{error:c.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to reorder states"}}}async function u(a){if(!a?.trim())return{error:"Project ID is required"};try{let b=(0,m.resolve)("ManageLabelsUseCase");return{labels:await b.list(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to list labels"}}}async function v(a){try{let b=(0,m.resolve)("ManageLabelsUseCase"),c=await b.create(a);if(!c.ok)return{error:c.error};return{label:c.label}}catch(a){return{error:a instanceof Error?a.message:"Failed to create label"}}}async function w(a,b){if(!a?.trim())return{error:"Label ID is required"};try{let c=(0,m.resolve)("ManageLabelsUseCase"),d=await c.update(a,b);if(!d.ok)return{error:d.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to update label"}}}async function x(a){if(!a?.trim())return{error:"Label ID is required"};try{let b=(0,m.resolve)("ManageLabelsUseCase"),c=await b.delete(a);if(!c.ok)return{error:c.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete label"}}}async function y(a){try{let b=(0,m.resolve)("AddProjectMemberUseCase"),c=await b.execute(a);if(!c.ok)return{error:c.error};return{member:c.member}}catch(a){return{error:a instanceof Error?a.message:"Failed to add member"}}}async function z(a){try{let b=(0,m.resolve)("RemoveProjectMemberUseCase"),c=await b.execute(a);if(!c.ok)return{error:c.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to remove member"}}}async function A(a){try{let b=(0,m.resolve)("UpdateProjectMemberRoleUseCase"),c=await b.execute(a);if(!c.ok)return{error:c.error};return{}}catch(a){return{error:a instanceof Error?a.message:"Failed to update role"}}}(0,n.ensureServerEntryExports)([o]),(0,l.registerServerReference)(o,"40d8608c48530763c92c080be008938387188c2c34",null),(0,n.ensureServerEntryExports)([p,q,r,s,t]),(0,l.registerServerReference)(p,"406163f92f834f9aada19edd8bf613f7eda2c4cbff",null),(0,l.registerServerReference)(q,"40a8e1a0ad80c0c7c30ce362aa972bc51295c5d78d",null),(0,l.registerServerReference)(r,"6051be5ba909c2ec4ed343635d502a54383fe2cd7f",null),(0,l.registerServerReference)(s,"4004a9b00f848d06080d6dcc4612700ef063f35d71",null),(0,l.registerServerReference)(t,"40b818721e8bc89937b85d8d1ca84b0045d8274afd",null),(0,n.ensureServerEntryExports)([u,v,w,x]),(0,l.registerServerReference)(u,"40be12b7684dfd130221ae04187cc593c1e9673556",null),(0,l.registerServerReference)(v,"40e6bf761dbb0ee4275b9d6b1a4aada94d45f14cd2",null),(0,l.registerServerReference)(w,"604c194e54ba8a74da38fd6d33f05785066cd0b3b7",null),(0,l.registerServerReference)(x,"40cb54bd5bc94c06b352cf5a6b007982869b0e7760",null),(0,n.ensureServerEntryExports)([y]),(0,l.registerServerReference)(y,"40bb1397e33afd25603a70b7d424484a89065725fe",null),(0,n.ensureServerEntryExports)([z]),(0,l.registerServerReference)(z,"40cf92437dadf75131e9512186fbd4729ee033ec7c",null),(0,n.ensureServerEntryExports)([A]),(0,l.registerServerReference)(A,"40ab8ffd408ed33e78fff0970eae4b7a35b155438f",null),a.s([],672313),a.i(672313),a.s(["0012d55443d3ecd4371eeb3c2f54845ed7051ec3e4",()=>c.getDefaultAgentAndModel,"002333039f4600b7fac2e032dbbff5dce622bc32c4",()=>i.listGitHubOrganizations,"0047f63775193a38157ed541c90ceb8ec71c6b1dee",()=>e.checkAllAgentsStatus,"0090f855082c32ca62e2570d7d1ab2962ce337e2fa",()=>b.pickFolder,"00d173d22344bd77e0101fc0f79221379fcebccdd3",()=>d.getAllAgentModels,"4004a9b00f848d06080d6dcc4612700ef063f35d71",()=>s,"401c69fd0ea332b5338d2681374f58f26450e1d213",()=>h.listGitHubRepositories,"40336205a28ad800c54cfb8be2c4220b1b1c702c0c",()=>g.globalSearch,"40a8e1a0ad80c0c7c30ce362aa972bc51295c5d78d",()=>q,"40ab8ffd408ed33e78fff0970eae4b7a35b155438f",()=>A,"40bb1397e33afd25603a70b7d424484a89065725fe",()=>y,"40cb54bd5bc94c06b352cf5a6b007982869b0e7760",()=>x,"40cf92437dadf75131e9512186fbd4729ee033ec7c",()=>z,"40d466ff9789889567ff0b65d9b5c87f7f7b11f943",()=>j.importGitHubRepository,"40d8608c48530763c92c080be008938387188c2c34",()=>o,"40e6bf761dbb0ee4275b9d6b1a4aada94d45f14cd2",()=>v,"6000b91246c62b8ea2f123b9167538880bea50e6af",()=>f.updateAgentAndModel,"60e50bb1ef1cba1e3e05f572110cb27874c4bfdde1",()=>k.updatePmProject],469559)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web_47727150._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/update-pm-project.ts","../../../../../../../src/presentation/web/.next-internal/server/app/projects/%5Bslug%5D/settings/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/delete-pm-project.ts","../../../../../../../src/presentation/web/app/actions/manage-work-item-states.ts","../../../../../../../src/presentation/web/app/actions/manage-labels.ts","../../../../../../../src/presentation/web/app/actions/add-project-member.ts","../../../../../../../src/presentation/web/app/actions/remove-project-member.ts","../../../../../../../src/presentation/web/app/actions/update-project-member-role.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n UpdatePmProjectUseCase,\n UpdatePmProjectInput,\n} from '@shepai/core/application/use-cases/pm-projects/update-pm-project.use-case';\n\nexport async function updatePmProject(\n projectId: string,\n input: UpdatePmProjectInput\n): Promise<{ error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<UpdatePmProjectUseCase>('UpdatePmProjectUseCase');\n const result = await useCase.execute(projectId, input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update project';\n return { error: message };\n }\n}\n","export {pickFolder as '005795b9404f47f18715abda65314752aefc5fb8d5'} from 'ACTIONS_MODULE0'\nexport {getDefaultAgentAndModel as '00938d775c42cdd54bd0e44a7d4da5cfe944dfe93b'} from 'ACTIONS_MODULE1'\nexport {getAllAgentModels as '005cb4c82d2d3466deabb307d24d6ed8436d67544f'} from 'ACTIONS_MODULE2'\nexport {checkAllAgentsStatus as '00d01781e65ac3d3a4afd541463d639fa5f0769040'} from 'ACTIONS_MODULE3'\nexport {updateAgentAndModel as '604457fce11c9b3dbf6b9522d5c4f7495770f0e22f'} from 'ACTIONS_MODULE4'\nexport {globalSearch as '403a7efb89ddbcbfbd2d1aad796b93856de0c17c18'} from 'ACTIONS_MODULE5'\nexport {listGitHubRepositories as '4088569ab6e6a5fe2e71ba0ac2cd3856c7cb36609a'} from 'ACTIONS_MODULE6'\nexport {listGitHubOrganizations as '0022cadc32a7a5f3ed643a86a65eecdf0738f33dd0'} from 'ACTIONS_MODULE7'\nexport {importGitHubRepository as '40ac687ce7283fa0b54dabe2f4ccaad99a6ce9b438'} from 'ACTIONS_MODULE8'\nexport {updatePmProject as '60f3616b3870351e42154257ca243e3fde36d81088'} from 'ACTIONS_MODULE9'\nexport {deletePmProject as '4001345934d380fb35782cdafcb722d43aa70ae689'} from 'ACTIONS_MODULE10'\nexport {createWorkItemState as '401e29c448871c22d713bac09b9531948ef6a0ff9c'} from 'ACTIONS_MODULE11'\nexport {deleteWorkItemState as '402f850b7243f79c857e807309f6e44c615bf3c6ee'} from 'ACTIONS_MODULE11'\nexport {createLabel as '4019a068b60731a720a0882009cb3cac96491ac470'} from 'ACTIONS_MODULE12'\nexport {deleteLabel as '40e38599b350a2f204e921cd6e9b34f7ea7d29f4c5'} from 'ACTIONS_MODULE12'\nexport {addProjectMember as '407d5b2d371f4af56e69928874fb5ed40fb57ad0d3'} from 'ACTIONS_MODULE13'\nexport {removeProjectMember as '408917f924a3e5fe0e728d9b6978d612a6cc135649'} from 'ACTIONS_MODULE14'\nexport {updateProjectMemberRole as '40a38e1088105fe316bd861d82dcf6785541af6524'} from 'ACTIONS_MODULE15'\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeletePmProjectUseCase } from '@shepai/core/application/use-cases/pm-projects/delete-pm-project.use-case';\n\nexport async function deletePmProject(projectId: string): Promise<{ error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<DeletePmProjectUseCase>('DeletePmProjectUseCase');\n const result = await useCase.execute(projectId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete project';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n ManageWorkItemStatesUseCase,\n CreateWorkItemStateInput,\n} from '@shepai/core/application/use-cases/work-item-states/manage-work-item-states.use-case';\nimport type { WorkItemState } from '@shepai/core/domain/generated/output';\n\nexport async function listWorkItemStates(\n projectId: string\n): Promise<{ states?: WorkItemState[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const states = await useCase.list(projectId);\n return { states };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list states';\n return { error: message };\n }\n}\n\nexport async function createWorkItemState(\n input: CreateWorkItemStateInput\n): Promise<{ state?: WorkItemState; error?: string }> {\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const result = await useCase.create(input);\n if (!result.ok) return { error: result.error };\n return { state: result.state };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create state';\n return { error: message };\n }\n}\n\nexport async function updateWorkItemState(\n stateId: string,\n fields: Partial<\n Pick<WorkItemState, 'name' | 'color' | 'displayOrder' | 'stateGroup' | 'isDefault'>\n >\n): Promise<{ error?: string }> {\n if (!stateId?.trim()) {\n return { error: 'State ID is required' };\n }\n\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const result = await useCase.update(stateId, fields);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update state';\n return { error: message };\n }\n}\n\nexport async function deleteWorkItemState(stateId: string): Promise<{ error?: string }> {\n if (!stateId?.trim()) {\n return { error: 'State ID is required' };\n }\n\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const result = await useCase.delete(stateId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete state';\n return { error: message };\n }\n}\n\nexport async function reorderWorkItemStates(\n states: { id: string; displayOrder: number }[]\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const result = await useCase.reorder(states);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to reorder states';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n ManageLabelsUseCase,\n CreateLabelInput,\n} from '@shepai/core/application/use-cases/labels/manage-labels.use-case';\nimport type { Label } from '@shepai/core/domain/generated/output';\n\nexport async function listLabels(projectId: string): Promise<{ labels?: Label[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ManageLabelsUseCase>('ManageLabelsUseCase');\n const labels = await useCase.list(projectId);\n return { labels };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list labels';\n return { error: message };\n }\n}\n\nexport async function createLabel(\n input: CreateLabelInput\n): Promise<{ label?: Label; error?: string }> {\n try {\n const useCase = resolve<ManageLabelsUseCase>('ManageLabelsUseCase');\n const result = await useCase.create(input);\n if (!result.ok) return { error: result.error };\n return { label: result.label };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create label';\n return { error: message };\n }\n}\n\nexport async function updateLabel(\n labelId: string,\n fields: Partial<Pick<Label, 'name' | 'color' | 'parentId'>>\n): Promise<{ error?: string }> {\n if (!labelId?.trim()) {\n return { error: 'Label ID is required' };\n }\n\n try {\n const useCase = resolve<ManageLabelsUseCase>('ManageLabelsUseCase');\n const result = await useCase.update(labelId, fields);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update label';\n return { error: message };\n }\n}\n\nexport async function deleteLabel(labelId: string): Promise<{ error?: string }> {\n if (!labelId?.trim()) {\n return { error: 'Label ID is required' };\n }\n\n try {\n const useCase = resolve<ManageLabelsUseCase>('ManageLabelsUseCase');\n const result = await useCase.delete(labelId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete label';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n AddProjectMemberUseCase,\n AddProjectMemberInput,\n} from '@shepai/core/application/use-cases/project-members/add-project-member.use-case';\nimport type { PmProjectMember } from '@shepai/core/domain/generated/output';\n\nexport async function addProjectMember(\n input: AddProjectMemberInput\n): Promise<{ member?: PmProjectMember; error?: string }> {\n try {\n const useCase = resolve<AddProjectMemberUseCase>('AddProjectMemberUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return { member: result.member };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add member';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n RemoveProjectMemberUseCase,\n RemoveProjectMemberInput,\n} from '@shepai/core/application/use-cases/project-members/remove-project-member.use-case';\n\nexport async function removeProjectMember(\n input: RemoveProjectMemberInput\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<RemoveProjectMemberUseCase>('RemoveProjectMemberUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove member';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n UpdateProjectMemberRoleUseCase,\n UpdateProjectMemberRoleInput,\n} from '@shepai/core/application/use-cases/project-members/update-project-member-role.use-case';\n\nexport async function updateProjectMemberRole(\n input: UpdateProjectMemberRoleInput\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<UpdateProjectMemberRoleUseCase>('UpdateProjectMemberRoleUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update role';\n return { error: message };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/update-pm-project.ts","../../../../../../../src/presentation/web/.next-internal/server/app/projects/%5Bslug%5D/settings/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/delete-pm-project.ts","../../../../../../../src/presentation/web/app/actions/manage-work-item-states.ts","../../../../../../../src/presentation/web/app/actions/manage-labels.ts","../../../../../../../src/presentation/web/app/actions/add-project-member.ts","../../../../../../../src/presentation/web/app/actions/remove-project-member.ts","../../../../../../../src/presentation/web/app/actions/update-project-member-role.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n UpdatePmProjectUseCase,\n UpdatePmProjectInput,\n} from '@shepai/core/application/use-cases/pm-projects/update-pm-project.use-case';\n\nexport async function updatePmProject(\n projectId: string,\n input: UpdatePmProjectInput\n): Promise<{ error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<UpdatePmProjectUseCase>('UpdatePmProjectUseCase');\n const result = await useCase.execute(projectId, input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update project';\n return { error: message };\n }\n}\n","export {pickFolder as '0090f855082c32ca62e2570d7d1ab2962ce337e2fa'} from 'ACTIONS_MODULE0'\nexport {getDefaultAgentAndModel as '0012d55443d3ecd4371eeb3c2f54845ed7051ec3e4'} from 'ACTIONS_MODULE1'\nexport {getAllAgentModels as '00d173d22344bd77e0101fc0f79221379fcebccdd3'} from 'ACTIONS_MODULE2'\nexport {checkAllAgentsStatus as '0047f63775193a38157ed541c90ceb8ec71c6b1dee'} from 'ACTIONS_MODULE3'\nexport {updateAgentAndModel as '6000b91246c62b8ea2f123b9167538880bea50e6af'} from 'ACTIONS_MODULE4'\nexport {globalSearch as '40336205a28ad800c54cfb8be2c4220b1b1c702c0c'} from 'ACTIONS_MODULE5'\nexport {listGitHubRepositories as '401c69fd0ea332b5338d2681374f58f26450e1d213'} from 'ACTIONS_MODULE6'\nexport {listGitHubOrganizations as '002333039f4600b7fac2e032dbbff5dce622bc32c4'} from 'ACTIONS_MODULE7'\nexport {importGitHubRepository as '40d466ff9789889567ff0b65d9b5c87f7f7b11f943'} from 'ACTIONS_MODULE8'\nexport {updatePmProject as '60e50bb1ef1cba1e3e05f572110cb27874c4bfdde1'} from 'ACTIONS_MODULE9'\nexport {deletePmProject as '40d8608c48530763c92c080be008938387188c2c34'} from 'ACTIONS_MODULE10'\nexport {createWorkItemState as '40a8e1a0ad80c0c7c30ce362aa972bc51295c5d78d'} from 'ACTIONS_MODULE11'\nexport {deleteWorkItemState as '4004a9b00f848d06080d6dcc4612700ef063f35d71'} from 'ACTIONS_MODULE11'\nexport {createLabel as '40e6bf761dbb0ee4275b9d6b1a4aada94d45f14cd2'} from 'ACTIONS_MODULE12'\nexport {deleteLabel as '40cb54bd5bc94c06b352cf5a6b007982869b0e7760'} from 'ACTIONS_MODULE12'\nexport {addProjectMember as '40bb1397e33afd25603a70b7d424484a89065725fe'} from 'ACTIONS_MODULE13'\nexport {removeProjectMember as '40cf92437dadf75131e9512186fbd4729ee033ec7c'} from 'ACTIONS_MODULE14'\nexport {updateProjectMemberRole as '40ab8ffd408ed33e78fff0970eae4b7a35b155438f'} from 'ACTIONS_MODULE15'\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeletePmProjectUseCase } from '@shepai/core/application/use-cases/pm-projects/delete-pm-project.use-case';\n\nexport async function deletePmProject(projectId: string): Promise<{ error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<DeletePmProjectUseCase>('DeletePmProjectUseCase');\n const result = await useCase.execute(projectId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete project';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n ManageWorkItemStatesUseCase,\n CreateWorkItemStateInput,\n} from '@shepai/core/application/use-cases/work-item-states/manage-work-item-states.use-case';\nimport type { WorkItemState } from '@shepai/core/domain/generated/output';\n\nexport async function listWorkItemStates(\n projectId: string\n): Promise<{ states?: WorkItemState[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const states = await useCase.list(projectId);\n return { states };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list states';\n return { error: message };\n }\n}\n\nexport async function createWorkItemState(\n input: CreateWorkItemStateInput\n): Promise<{ state?: WorkItemState; error?: string }> {\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const result = await useCase.create(input);\n if (!result.ok) return { error: result.error };\n return { state: result.state };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create state';\n return { error: message };\n }\n}\n\nexport async function updateWorkItemState(\n stateId: string,\n fields: Partial<\n Pick<WorkItemState, 'name' | 'color' | 'displayOrder' | 'stateGroup' | 'isDefault'>\n >\n): Promise<{ error?: string }> {\n if (!stateId?.trim()) {\n return { error: 'State ID is required' };\n }\n\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const result = await useCase.update(stateId, fields);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update state';\n return { error: message };\n }\n}\n\nexport async function deleteWorkItemState(stateId: string): Promise<{ error?: string }> {\n if (!stateId?.trim()) {\n return { error: 'State ID is required' };\n }\n\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const result = await useCase.delete(stateId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete state';\n return { error: message };\n }\n}\n\nexport async function reorderWorkItemStates(\n states: { id: string; displayOrder: number }[]\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<ManageWorkItemStatesUseCase>('ManageWorkItemStatesUseCase');\n const result = await useCase.reorder(states);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to reorder states';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n ManageLabelsUseCase,\n CreateLabelInput,\n} from '@shepai/core/application/use-cases/labels/manage-labels.use-case';\nimport type { Label } from '@shepai/core/domain/generated/output';\n\nexport async function listLabels(projectId: string): Promise<{ labels?: Label[]; error?: string }> {\n if (!projectId?.trim()) {\n return { error: 'Project ID is required' };\n }\n\n try {\n const useCase = resolve<ManageLabelsUseCase>('ManageLabelsUseCase');\n const labels = await useCase.list(projectId);\n return { labels };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to list labels';\n return { error: message };\n }\n}\n\nexport async function createLabel(\n input: CreateLabelInput\n): Promise<{ label?: Label; error?: string }> {\n try {\n const useCase = resolve<ManageLabelsUseCase>('ManageLabelsUseCase');\n const result = await useCase.create(input);\n if (!result.ok) return { error: result.error };\n return { label: result.label };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create label';\n return { error: message };\n }\n}\n\nexport async function updateLabel(\n labelId: string,\n fields: Partial<Pick<Label, 'name' | 'color' | 'parentId'>>\n): Promise<{ error?: string }> {\n if (!labelId?.trim()) {\n return { error: 'Label ID is required' };\n }\n\n try {\n const useCase = resolve<ManageLabelsUseCase>('ManageLabelsUseCase');\n const result = await useCase.update(labelId, fields);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update label';\n return { error: message };\n }\n}\n\nexport async function deleteLabel(labelId: string): Promise<{ error?: string }> {\n if (!labelId?.trim()) {\n return { error: 'Label ID is required' };\n }\n\n try {\n const useCase = resolve<ManageLabelsUseCase>('ManageLabelsUseCase');\n const result = await useCase.delete(labelId);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete label';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n AddProjectMemberUseCase,\n AddProjectMemberInput,\n} from '@shepai/core/application/use-cases/project-members/add-project-member.use-case';\nimport type { PmProjectMember } from '@shepai/core/domain/generated/output';\n\nexport async function addProjectMember(\n input: AddProjectMemberInput\n): Promise<{ member?: PmProjectMember; error?: string }> {\n try {\n const useCase = resolve<AddProjectMemberUseCase>('AddProjectMemberUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return { member: result.member };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add member';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n RemoveProjectMemberUseCase,\n RemoveProjectMemberInput,\n} from '@shepai/core/application/use-cases/project-members/remove-project-member.use-case';\n\nexport async function removeProjectMember(\n input: RemoveProjectMemberInput\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<RemoveProjectMemberUseCase>('RemoveProjectMemberUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove member';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n UpdateProjectMemberRoleUseCase,\n UpdateProjectMemberRoleInput,\n} from '@shepai/core/application/use-cases/project-members/update-project-member-role.use-case';\n\nexport async function updateProjectMemberRole(\n input: UpdateProjectMemberRoleInput\n): Promise<{ error?: string }> {\n try {\n const useCase = resolve<UpdateProjectMemberRoleUseCase>('UpdateProjectMemberRoleUseCase');\n const result = await useCase.execute(input);\n if (!result.ok) return { error: result.error };\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update role';\n return { error: message };\n }\n}\n"],"names":[],"mappings":"0DAEA,EAAA,EAAA,CAAA,CAAA,QAMO,eAAe,EACpB,CAAiB,CACjB,CAA2B,EAE3B,GAAI,CAAC,GAAW,OACd,CADsB,KACf,CAAE,MAAO,wBAAyB,EAG3C,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAyB,0BAC1C,EAAS,MAAM,EAAQ,OAAO,CAAC,EAAW,GAChD,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,0BACjC,CAC1B,CACF,2CAjBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,8DCRtB,IAAA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,sBCPA,EAAA,EAAA,CAAA,CAAA,sBAGO,eAAe,EAAgB,CAAiB,EACrD,GAAI,CAAC,GAAW,OACd,CADsB,KACf,CAAE,MAAO,wBAAyB,EAG3C,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAyB,0BAC1C,EAAS,MAAM,EAAQ,OAAO,CAAC,GACrC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,0BACjC,CAC1B,CACF,CCVO,eAAe,EACpB,CAAiB,EAEjB,GAAI,CAAC,GAAW,OACd,CADsB,KACf,CAAE,MAAO,wBAAyB,EAG3C,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA8B,+BAErD,MAAO,CAAE,OADM,MAAM,EAAQ,IAAI,CAAC,EAClB,CAClB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,uBACjC,CAC1B,CACF,CAEO,eAAe,EACpB,CAA+B,EAE/B,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAO,AAAP,EAAqC,+BAC/C,EAAS,MAAM,EAAQ,MAAM,CAAC,GACpC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,CAC/B,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,wBACjC,CAC1B,CACF,CAEO,eAAe,EACpB,CAAe,CACf,CAEC,EAED,GAAI,CAAC,GAAS,OACZ,CADoB,KACb,CAAE,MAAO,sBAAuB,EAGzC,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA8B,+BAC/C,EAAS,MAAM,EAAQ,MAAM,CAAC,EAAS,GAC7C,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAM,AAAD,EAC5C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,wBACjC,CAC1B,CACF,CAEO,eAAe,EAAoB,CAAe,EACvD,GAAI,CAAC,GAAS,OACZ,CADoB,KACb,CAAE,MAAO,sBAAuB,EAGzC,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA8B,+BAC/C,EAAS,MAAM,EAAQ,MAAM,CAAC,GACpC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,wBACjC,CAC1B,CACF,CAEO,eAAe,EACpB,CAA8C,EAE9C,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA8B,+BAC/C,EAAS,MAAM,EAAQ,OAAO,CAAC,GACrC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,0BACjC,CAC1B,CACF,CChFO,eAAe,EAAW,CAAiB,EAChD,GAAI,CAAC,GAAW,OACd,CADsB,KACf,CAAE,MAAO,wBAAyB,EAG3C,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAsB,uBAE7C,MAAO,CAAE,OADM,MAAM,EAAQ,IAAI,CAAC,EAClB,CAClB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,uBACjC,CAC1B,CACF,CAEO,eAAe,EACpB,CAAuB,EAEvB,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAsB,uBACvC,EAAS,MAAM,EAAQ,MAAM,CAAC,GACpC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,CAC/B,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,wBACjC,CAC1B,CACF,CAEO,eAAe,EACpB,CAAe,CACf,CAA2D,EAE3D,GAAI,CAAC,GAAS,OACZ,CADoB,KACb,CAAE,MAAO,sBAAuB,EAGzC,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAsB,uBACvC,EAAS,MAAM,EAAQ,MAAM,CAAC,EAAS,GAC7C,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,wBACjC,CAC1B,CACF,CAEO,eAAe,EAAY,CAAe,EAC/C,GAAI,CAAC,GAAS,OACZ,CADoB,KACb,CAAE,MAAO,sBAAuB,EAGzC,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAsB,uBACvC,EAAS,MAAM,EAAQ,MAAM,CAAC,GACpC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,wBACjC,CAC1B,CACF,CC9DO,eAAe,EACpB,CAA4B,EAE5B,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA0B,2BAC3C,EAAS,MAAM,EAAQ,OAAO,CAAC,GACrC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAE,OAAQ,EAAO,MAAO,AAAD,CAChC,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,sBACjC,CAC1B,CACF,CCbO,eAAe,EACpB,CAA+B,EAE/B,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA6B,8BAC9C,EAAS,MAAM,EAAQ,OAAO,CAAC,GACrC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,yBACjC,CAC1B,CACF,CCZO,eAAe,EACpB,CAAmC,EAEnC,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAiC,kCAClD,EAAS,MAAM,EAAQ,OAAO,CAAC,GACrC,GAAI,CAAC,EAAO,EAAE,CAAE,MAAO,CAAE,MAAO,EAAO,KAAK,AAAC,EAC7C,MAAO,CAAC,CACV,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,uBACjC,CAC1B,CACF,iCLfsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCIA,EAiBA,EAcA,EAqBA,EAgBA,IApEA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MAiBA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MAcA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MAqBA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MAgBA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCpEA,EAeA,EAcA,EAmBA,IAhDA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MAeA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MAcA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MAmBA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCChDA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCDA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCAA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[524860,a=>{"use strict";var b=a.i(237705),c=a.i(633244);async function d(){let{workflow:a}=(0,c.getSettings)();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete,ciWatchEnabled:a.ciWatchEnabled,enableEvidence:a.enableEvidence,commitEvidence:a.commitEvidence,fast:a.defaultFastMode,injectSkills:a.skillInjection?.enabled??!1}}(0,a.i(701904).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"
|
|
1
|
+
module.exports=[524860,a=>{"use strict";var b=a.i(237705),c=a.i(633244);async function d(){let{workflow:a}=(0,c.getSettings)();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete,ciWatchEnabled:a.ciWatchEnabled,enableEvidence:a.enableEvidence,commitEvidence:a.commitEvidence,fast:a.defaultFastMode,injectSkills:a.skillInjection?.enabled??!1}}(0,a.i(701904).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"0030fada0fa977d66a6afba7f908bffda827a13a30",null),a.s(["getWorkflowDefaults",()=>d])},719720,a=>{"use strict";var b=a.i(237705),c=a.i(996380),d=a.i(701904);let e=new Set(["ADMIN","MAINTAIN","WRITE"]);async function f(a){try{let b=(0,c.resolve)("IGitHubRepositoryService"),d=await b.getViewerPermission(a);return{canPushDirectly:e.has(d)}}catch{return{canPushDirectly:!1}}}(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"403a8b7843d90b87e48b67f0e6a9682da2cd2e9c2e",null),a.s(["getViewerPermission",()=>f])},967929,a=>{"use strict";var b=a.i(912513),c=a.i(889253),d=a.i(723504),e=a.i(408115),f=a.i(827900),g=a.i(673350),h=a.i(673101),i=a.i(654775),j=a.i(265324),k=a.i(794691),l=a.i(433841),m=a.i(46646),n=a.i(868378),o=a.i(268670),p=a.i(685321),q=a.i(719720),r=a.i(649560),s=a.i(576707),t=a.i(477710),u=a.i(145395),v=a.i(410528),w=a.i(342886),x=a.i(150845),y=a.i(354723),z=a.i(118942),A=a.i(26604),B=a.i(977605),C=a.i(284095),D=a.i(656799),E=a.i(280496),F=a.i(524860);a.s([],290230),a.i(290230),a.s(["0012d55443d3ecd4371eeb3c2f54845ed7051ec3e4",()=>c.getDefaultAgentAndModel,"002333039f4600b7fac2e032dbbff5dce622bc32c4",()=>i.listGitHubOrganizations,"0030fada0fa977d66a6afba7f908bffda827a13a30",()=>F.getWorkflowDefaults,"0047f63775193a38157ed541c90ceb8ec71c6b1dee",()=>e.checkAllAgentsStatus,"0090f855082c32ca62e2570d7d1ab2962ce337e2fa",()=>b.pickFolder,"00d173d22344bd77e0101fc0f79221379fcebccdd3",()=>d.getAllAgentModels,"4019e0d1d95deabc4b7d5d89946429f6fdf95b2e5d",()=>o.stopDeployment,"401c69fd0ea332b5338d2681374f58f26450e1d213",()=>h.listGitHubRepositories,"401e500b225df13f8eea0d531a2892632e03a8f4d6",()=>A.resumeFeature,"402dbd5f92240a716fd7d1e11cee7c2ef093a5a8f8",()=>n.deployApplication,"40336205a28ad800c54cfb8be2c4220b1b1c702c0c",()=>g.globalSearch,"403a8b7843d90b87e48b67f0e6a9682da2cd2e9c2e",()=>q.getViewerPermission,"4047687dae2f619d07071416cc3f3c821fc704d1e6",()=>l.deployFeature,"4050968664ffebcc6b15e3a32490af30ff07757e2b",()=>k.getDeploymentLogs,"405fed07dcfbeab7dfc818727ab1f2c409e2289188",()=>C.openIde,"4065491a97be2a50102b694855c38043cb50fd5c4a",()=>t.createProjectAndFeature,"406e1923fad46a89b9f216334729faed4449552eec",()=>p.getDeploymentStatus,"40815776e7a6bda2e6d29f697d71e59aae910c82d1",()=>u.createApplication,"408cf3e917c9b04cceb9fc776366d15370238d6727",()=>E.openFolder,"4092c0bc0d4f943525dd619742641d13d14d68660e",()=>w.unarchiveFeature,"4097f8b4782d629828d53bd1a714d124f4f8e65757",()=>D.openShell,"409f3d622d9b3706d5f170602d19cc293aa8a29b80",()=>s.createProjectFolder,"40a35502b2865b3669eb7fa2499a87d447aba8ab06",()=>m.deployRepository,"40bb53c65e93da6c62122e7bf9cd0b925701449795",()=>B.createFeature,"40c5c632eba38d44e53c287ca35739c52a2f7493be",()=>r.addRepository,"40cbc69e2b4838fe70182e22359322508c94c1be69",()=>z.stopFeature,"40d1d116caf904c2efac53381ef6e5d32250a4a042",()=>v.archiveFeature,"40d466ff9789889567ff0b65d9b5c87f7f7b11f943",()=>j.importGitHubRepository,"40e1ba4edfdb370119a99845605fab8efc198dd600",()=>y.startFeature,"6000b91246c62b8ea2f123b9167538880bea50e6af",()=>f.updateAgentAndModel,"7834489596b2b14c929806b48ffff590a12854d7de",()=>x.deleteFeature],967929)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web_64fcfc84._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/get-viewer-permission.ts","../../../../../../../src/presentation/web/.next-internal/server/app/features/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n fast: boolean;\n injectSkills: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n fast: workflow.defaultFastMode,\n injectSkills: workflow.skillInjection?.enabled ?? false,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IGitHubRepositoryService } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\n/** Permissions that grant direct push access to a repository. */\nconst PUSH_PERMISSIONS = new Set(['ADMIN', 'MAINTAIN', 'WRITE']);\n\nexport async function getViewerPermission(repoPath: string): Promise<{ canPushDirectly: boolean }> {\n try {\n const service = resolve<IGitHubRepositoryService>('IGitHubRepositoryService');\n const permission = await service.getViewerPermission(repoPath);\n return { canPushDirectly: PUSH_PERMISSIONS.has(permission) };\n } catch {\n return { canPushDirectly: false };\n }\n}\n","export {pickFolder as '
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/get-viewer-permission.ts","../../../../../../../src/presentation/web/.next-internal/server/app/features/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n fast: boolean;\n injectSkills: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n fast: workflow.defaultFastMode,\n injectSkills: workflow.skillInjection?.enabled ?? false,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IGitHubRepositoryService } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\n/** Permissions that grant direct push access to a repository. */\nconst PUSH_PERMISSIONS = new Set(['ADMIN', 'MAINTAIN', 'WRITE']);\n\nexport async function getViewerPermission(repoPath: string): Promise<{ canPushDirectly: boolean }> {\n try {\n const service = resolve<IGitHubRepositoryService>('IGitHubRepositoryService');\n const permission = await service.getViewerPermission(repoPath);\n return { canPushDirectly: PUSH_PERMISSIONS.has(permission) };\n } catch {\n return { canPushDirectly: false };\n }\n}\n","export {pickFolder as '0090f855082c32ca62e2570d7d1ab2962ce337e2fa'} from 'ACTIONS_MODULE0'\nexport {getDefaultAgentAndModel as '0012d55443d3ecd4371eeb3c2f54845ed7051ec3e4'} from 'ACTIONS_MODULE1'\nexport {getAllAgentModels as '00d173d22344bd77e0101fc0f79221379fcebccdd3'} from 'ACTIONS_MODULE2'\nexport {checkAllAgentsStatus as '0047f63775193a38157ed541c90ceb8ec71c6b1dee'} from 'ACTIONS_MODULE3'\nexport {updateAgentAndModel as '6000b91246c62b8ea2f123b9167538880bea50e6af'} from 'ACTIONS_MODULE4'\nexport {globalSearch as '40336205a28ad800c54cfb8be2c4220b1b1c702c0c'} from 'ACTIONS_MODULE5'\nexport {listGitHubRepositories as '401c69fd0ea332b5338d2681374f58f26450e1d213'} from 'ACTIONS_MODULE6'\nexport {listGitHubOrganizations as '002333039f4600b7fac2e032dbbff5dce622bc32c4'} from 'ACTIONS_MODULE7'\nexport {importGitHubRepository as '40d466ff9789889567ff0b65d9b5c87f7f7b11f943'} from 'ACTIONS_MODULE8'\nexport {getDeploymentLogs as '4050968664ffebcc6b15e3a32490af30ff07757e2b'} from 'ACTIONS_MODULE9'\nexport {deployFeature as '4047687dae2f619d07071416cc3f3c821fc704d1e6'} from 'ACTIONS_MODULE10'\nexport {deployRepository as '40a35502b2865b3669eb7fa2499a87d447aba8ab06'} from 'ACTIONS_MODULE11'\nexport {deployApplication as '402dbd5f92240a716fd7d1e11cee7c2ef093a5a8f8'} from 'ACTIONS_MODULE12'\nexport {stopDeployment as '4019e0d1d95deabc4b7d5d89946429f6fdf95b2e5d'} from 'ACTIONS_MODULE13'\nexport {getDeploymentStatus as '406e1923fad46a89b9f216334729faed4449552eec'} from 'ACTIONS_MODULE14'\nexport {getViewerPermission as '403a8b7843d90b87e48b67f0e6a9682da2cd2e9c2e'} from 'ACTIONS_MODULE15'\nexport {addRepository as '40c5c632eba38d44e53c287ca35739c52a2f7493be'} from 'ACTIONS_MODULE16'\nexport {createProjectFolder as '409f3d622d9b3706d5f170602d19cc293aa8a29b80'} from 'ACTIONS_MODULE17'\nexport {createProjectAndFeature as '4065491a97be2a50102b694855c38043cb50fd5c4a'} from 'ACTIONS_MODULE18'\nexport {createApplication as '40815776e7a6bda2e6d29f697d71e59aae910c82d1'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40d1d116caf904c2efac53381ef6e5d32250a4a042'} from 'ACTIONS_MODULE20'\nexport {unarchiveFeature as '4092c0bc0d4f943525dd619742641d13d14d68660e'} from 'ACTIONS_MODULE21'\nexport {deleteFeature as '7834489596b2b14c929806b48ffff590a12854d7de'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40e1ba4edfdb370119a99845605fab8efc198dd600'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40cbc69e2b4838fe70182e22359322508c94c1be69'} from 'ACTIONS_MODULE24'\nexport {resumeFeature as '401e500b225df13f8eea0d531a2892632e03a8f4d6'} from 'ACTIONS_MODULE25'\nexport {createFeature as '40bb53c65e93da6c62122e7bf9cd0b925701449795'} from 'ACTIONS_MODULE26'\nexport {openIde as '405fed07dcfbeab7dfc818727ab1f2c409e2289188'} from 'ACTIONS_MODULE27'\nexport {openShell as '4097f8b4782d629828d53bd1a714d124f4f8e65757'} from 'ACTIONS_MODULE28'\nexport {openFolder as '408cf3e917c9b04cceb9fc776366d15370238d6727'} from 'ACTIONS_MODULE29'\nexport {getWorkflowDefaults as '0030fada0fa977d66a6afba7f908bffda827a13a30'} from 'ACTIONS_MODULE30'\n"],"names":[],"mappings":"0DAEA,EAAA,EAAA,CAAA,CAAA,QAiBO,eAAe,IAEpB,GAAM,UAAE,CAAQ,CAAE,CADD,CAAA,CACI,CADJ,EAAA,WAAA,AAAW,IAG5B,MAAO,CACL,cAAe,CACb,SAAU,EAAS,oBAAoB,CAAC,QAAQ,CAChD,UAAW,EAAS,oBAAoB,CAAC,SAAS,CAClD,WAAY,EAAS,oBAAoB,CAAC,UAAU,AACtD,EACA,KAAM,EAAS,oBAAoB,CAAC,4BAA4B,CAChE,OAAQ,EAAS,8BAA8B,CAC/C,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,KAAM,EAAS,eAAe,CAC9B,aAAc,EAAS,cAAc,EAAE,UAAW,CACpD,CACF,2CAlBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,oFCjBtB,EAAA,EAAA,CAAA,CAAA,sBAIA,IAAM,EAAmB,IAAI,IAAI,CAAC,QAAS,WAAY,QAAQ,EAExD,eAAe,EAAoB,CAAgB,EACxD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAO,AAAP,EAAkC,4BAC5C,EAAa,MAAM,EAAQ,mBAAmB,CAAC,GACrD,MAAO,CAAE,gBAAiB,EAAiB,GAAG,CAAC,EAAY,CAC7D,CAAE,KAAM,CACN,MAAO,CAAE,iBAAiB,CAAM,CAClC,CACF,iCARsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,kECRtB,IAAA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[609803,382052,a=>{"use strict";var b=a.i(556365),c=a.i(944592);a.i(490370);var d=a.i(224640),e=a.i(945242),f=a.i(14177),g=a.i(110606),h=a.i(103942),i=a.i(346168),j=a.i(142527),k=a.i(488064),l=a.i(673708),m=a.i(162147),n=a.i(167424),o=a.i(428002),p=a.i(882014),q=a.i(69428),r=a.i(385536),s=a.i(219884);a.i(478454);var t=a.i(124255),u=a.i(302824),v=a.i(118948),w=a.i(390920),x=a.i(679620),y=a.i(758860),z=a.i(658339),A=a.i(680646),B=a.i(896867),C=a.i(182934),D=a.i(196213);a.i(200307);var E=a.i(730931),F=a.i(289111);let G=(0,F.createServerReference)("406463b34c09cb208d035711c634444f32072f573f",F.callServer,void 0,F.findSourceMapURL,"getViewerPermission");var H=a.i(961781),I=a.i(513126),J=a.i(701377);a.i(421434);var K=a.i(234379),L=a.i(821333),M=a.i(121402),N=a.i(746847),O=a.i(39116);let P=[N.BuildMode.Fast,N.BuildMode.Spec],Q={[N.BuildMode.Application]:{icon:p.LayoutGrid,labelKey:"createDrawer.modeApplication"},[N.BuildMode.Fast]:{icon:h.Zap,labelKey:"createDrawer.modeFast"},[N.BuildMode.Spec]:{icon:q.ClipboardList,labelKey:"createDrawer.modeSpec"}},R=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"]),S={allowPrd:!1,allowPlan:!1,allowMerge:!1};function T({open:a,onClose:f,onSubmit:g,repositoryPath:h,isSubmitting:j=!1,workflowDefaults:k,features:p,repositories:q,initialParentId:w,currentAgentType:A,currentModel:F,initialDescription:I,canPushDirectly:J,initialMode:K,initialApplicationId:L}){let M=void 0!==L,T=M&&!K?N.BuildMode.Spec:K,W=(0,s.useSoundAction)("create"),{t:X}=(0,d.useTranslation)("web"),Y=h&&(M||!q||0===q.length||q.some(a=>a.path===h))?h:"",Z=k?.approvalGates??S,$=k?.push??!1,_=k?.openPr??!1,aa=k?.ciWatchEnabled!==!1,ab=k?.enableEvidence??!1,ac=k?.commitEvidence??!1,ad=T||(k?.fast===!1?N.BuildMode.Spec:N.BuildMode.Fast),[ae,af]=(0,c.useState)(I??"");(0,c.useEffect)(()=>{I&&af(I)},[I]);let[ag,ah]=(0,c.useState)([]),[ai,aj]=(0,c.useState)({...Z}),[ak,al]=(0,c.useState)($),[am,an]=(0,c.useState)(_),[ao,ap]=(0,c.useState)(k?.ciWatchEnabled!==!1),[aq,ar]=(0,c.useState)(ab),[as,at]=(0,c.useState)(ac),[au,av]=(0,c.useState)(void 0),[aw,ax]=(0,c.useState)(ad),ay=aw===N.BuildMode.Fast,[az,aA]=(0,c.useState)(!1),[aB,aC]=(0,c.useState)(!1),[aD,aE]=(0,c.useState)(!0),[aF,aG]=(0,c.useState)(!0),[aH,aI]=(0,c.useState)(k?.injectSkills??!1),[aJ,aK]=(0,c.useState)(void 0),[aL,aM]=(0,c.useState)(void 0),[aN,aO]=(0,c.useState)(Y||void 0),[aP,aQ]=(0,c.useState)(q??[]),[aR,aS]=(0,c.useState)(!1),[aT,aU]=(0,c.useState)(null),[aV,aW]=(0,c.useState)(!1),aX=(0,c.useRef)(crypto.randomUUID()),aY=(0,c.useRef)(0),aZ=(0,c.useRef)(null);(0,c.useEffect)(()=>{k&&(aj({...k.approvalGates}),al(k.push),an(k.openPr),ap(!1!==k.ciWatchEnabled),ar(k.enableEvidence),at(k.commitEvidence),T||ax(!1!==k.fast?N.BuildMode.Fast:N.BuildMode.Spec),aI(k.injectSkills??!1))},[k,T]),(0,c.useEffect)(()=>{aQ(q??[])},[q]),(0,c.useEffect)(()=>{a&&w&&av(w)},[a,w]);let[a$,a_]=(0,c.useState)(J??!1);(0,c.useEffect)(()=>{a_(J??!1)},[J]);let a0=(0,c.useRef)(aN);(0,c.useEffect)(()=>{aN&&aN!==a0.current&&(a0.current=aN,G(aN).then(a=>a_(a.canPushDirectly)).catch(()=>a_(!1)))},[aN]),(0,c.useEffect)(()=>{a$&&(aC(!1),al($),an(_),aE(!0))},[a$,$,_]);let a1=(0,c.useCallback)(()=>{af(""),ah([]),aj({...Z}),al($),an(_),ap(aa),ar(ab),at(ac),av(void 0),aO(Y||void 0),aQ(q??[]),ax(ad),aA(!1),aC(!1),aE(!0),aG(!0),aK(void 0),aM(void 0),aU(null),aY.current=0,aS(!1)},[Z,$,_,ab,aa,ac,ad,Y,q]),a2=""!==ae.trim()||ag.length>0,{attemptClose:a3}=(0,D.useGuardedDrawerClose)({open:a,isDirty:a2,onClose:f,onReset:a1}),a4=(0,c.useCallback)(async a=>{for(let b of(aU(null),a)){if(b.size>0xa00000)return void aU(`"${b.name}" exceeds 10 MB limit`);let a=function(a){let b=a.lastIndexOf(".");return b>=0?a.slice(b).toLowerCase():""}(b.name);if(a&&!R.has(a))return void aU(`File type "${a}" is not allowed`)}for(let b of a){let a=crypto.randomUUID();ah(c=>[...c,{id:a,name:b.name,size:b.size,mimeType:b.type||"application/octet-stream",path:"",loading:!0}]);try{let c=new FormData;c.append("file",b),c.append("sessionId",aX.current);let d=await fetch("/api/attachments/upload",{method:"POST",body:c});if(!d.ok){let b=await d.json().catch(()=>({error:"Upload failed"}));ah(b=>b.filter(b=>b.id!==a)),aU(b.error??"Upload failed");return}let e=await d.json();ah(b=>b.some(b=>b.id!==a&&b.path===e.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...e,id:a,loading:!1}:b))}catch{ah(b=>b.filter(b=>b.id!==a)),aU("Upload failed")}}},[]),a5=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aY.current+=1,1===aY.current&&aS(!0)},[]),a6=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aY.current-=1,0===aY.current&&aS(!1)},[]),a7=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),a8=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aY.current=0,aS(!1);let b=Array.from(a.dataTransfer.files);b.length>0&&a4(b)},[a4]),a9=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a of Array.from(b))if("file"===a.kind){let b=a.getAsFile();b&&c.push(b)}c.length>0&&(a.preventDefault(),a4(c))},[a4]),ba=(0,c.useCallback)(a=>{if(a.preventDefault(),!ae.trim())return;let b=aN??Y;b&&(W.play(),g({description:ae.trim(),attachments:ag.filter(a=>!a.loading),repositoryPath:b,approvalGates:{allowPrd:ai.allowPrd??!1,allowPlan:ai.allowPlan??!1,allowMerge:ai.allowMerge??!1},push:!!aB||ak||am,openPr:!!aB||am,ciWatchEnabled:ao,enableEvidence:aq,commitEvidence:as,fast:ay,forkAndPr:aB,commitSpecs:aD,rebaseBeforeBranch:aF,injectSkills:aH,...az?{pending:az}:{},...aJ?{agentType:aJ}:{},...aL?{model:aL}:{},...au?{parentId:au}:{},...L?{applicationId:L}:{},sessionId:aX.current}),a1())},[ae,ag,ai,aN,Y,g,ak,am,aq,ao,as,ay,aB,aD,aF,aH,az,aJ,aL,au,L,W,a1]),bb=(0,c.useCallback)(async()=>{try{let a=await (0,O.pickFiles)();if(!a)return;for(let b of a){let a=crypto.randomUUID();ah(c=>[...c,{id:a,name:b.name,size:b.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let c=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b.path,sessionId:aX.current})});if(!c.ok){let b=await c.json().catch(()=>({error:"Upload failed"}));ah(b=>b.filter(b=>b.id!==a)),aU(b.error??"Upload failed");return}let d=await c.json();ah(b=>b.some(b=>b.id!==a&&b.path===d.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...d,id:a,loading:!1}:b))}catch{ah(b=>b.filter(b=>b.id!==a)),aU("Upload failed")}}}catch{}},[]),bc=(0,c.useCallback)(a=>{ah(b=>b.filter(b=>b.id!==a))},[]),bd=(0,c.useCallback)((a,b)=>{ah(c=>c.map(c=>c.id===a?{...c,notes:b}:c))},[]),be=(0,c.useRef)(null),bf=(0,c.useCallback)(a=>{(a.ctrlKey||a.metaKey)&&"Enter"===a.key&&(a.preventDefault(),be.current?.requestSubmit())},[]),bg=(0,c.useCallback)(()=>{aW(!0)},[]),bh=(0,c.useCallback)(()=>{setTimeout(()=>{let a=aZ.current?.contains(document.activeElement),b=aZ.current?.querySelector('[aria-expanded="true"]')!==null;a||b||aW(!1)},0)},[]),bi=p&&p.length>0,bj=!Y&&!aN,bk=!Y&&void 0!==q,bl=[{id:"allowPrd",label:X("createDrawer.prd"),description:X("createDrawer.prdDescription")},{id:"allowPlan",label:X("createDrawer.plan"),description:X("createDrawer.planDescription")},{id:"allowMerge",label:X("createDrawer.merge"),description:X("createDrawer.mergeDescription")}];return(0,b.jsx)(t.BaseDrawer,{open:a,onClose:a3,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,b.jsx)(u.DrawerTitle,{children:X("createDrawer.title")})]}),j?(0,b.jsx)(u.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(z.Badge,{variant:"secondary",children:X("createDrawer.creating")})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(v.Button,{variant:"outline",onClick:a3,disabled:j,children:X("createDrawer.cancel")}),(0,b.jsx)(v.Button,{type:"submit",form:"create-feature-form",disabled:!ae.trim()||j||bj,children:j?X("createDrawer.creating"):X("createDrawer.createFeature")})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsx)(C.TooltipProvider,{delayDuration:400,children:(0,b.jsxs)("form",{ref:be,id:"create-feature-form",onSubmit:ba,onKeyDown:bf,className:"flex flex-col gap-4",children:[M?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section","data-locked-by-application":"true",children:[(0,b.jsx)(y.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.repository")}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("p",{className:"text-sm opacity-70","data-testid":"repo-readonly-label","aria-disabled":"true","aria-describedby":"locked-by-application-tooltip",title:X("createDrawer.lockedByApplication"),children:q?.find(a=>a.path===Y)?.name??(Y?Y.split("/").pop():"")??Y})}),(0,b.jsx)(C.TooltipContent,{id:"locked-by-application-tooltip",role:"tooltip",side:"bottom",children:X("createDrawer.lockedByApplication")})]})]}):bk?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,b.jsx)(y.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.repository")}),(0,b.jsx)(V,{repositories:aP,value:aN,onChange:aO,onAddRepository:a=>{aQ(b=>[...b,a]),aO(a.path)},disabled:j})]}):Y?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,b.jsx)(y.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.repository")}),(0,b.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:q?.find(a=>a.path===Y)?.name??Y.split("/").pop()})]}):null,(0,b.jsxs)("div",{role:"region","aria-label":X("createDrawer.fileDropZone"),"data-drag-over":aR?"true":"false",onDragEnter:a5,onDragLeave:a6,onDragOver:a7,onDrop:a8,className:(0,r.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",aR&&"border-primary/50 bg-primary/5"),children:[(0,b.jsx)(y.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.describeFeature")}),(0,b.jsxs)("div",{ref:aZ,onFocus:bg,onBlur:bh,className:(0,r.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",aV&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,b.jsx)(x.Textarea,{id:"feature-description",placeholder:X("createDrawer.featurePlaceholder"),value:ae,onChange:a=>af(a.target.value),onPaste:a9,required:!0,disabled:j,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),ag.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:ag.map(a=>(0,b.jsx)(E.AttachmentChip,{name:a.name,size:a.size,mimeType:a.mimeType,path:a.path,onRemove:()=>bc(a.id),disabled:j,loading:a.loading,notes:a.notes,onNotesChange:b=>bd(a.id,b)},a.id))}),aT?(0,b.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:aT}):null,(0,b.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,b.jsx)(H.AgentModelPicker,{initialAgentType:aJ??A??"",initialModel:aL??F??"",mode:"override",onAgentModelChange:(a,b)=>{aK(a),aM(b)},disabled:j,className:"w-55"}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(B.Switch,{id:"pending-mode",checked:az,onCheckedChange:aA,disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(i.Clock,{className:"h-3.5 w-3.5"}),X("createDrawer.pendingMode")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.pendingModeDescription")})]}),(0,b.jsx)("div",{role:"group","aria-label":X("createDrawer.modeGroupLabel"),className:"border-input flex items-center gap-0.5 rounded-md border p-0.5",children:P.map(a=>{let c=Q[a],d=c.icon,e=aw===a;return(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button","data-testid":`build-mode-${a}`,"aria-pressed":e,"aria-disabled":j,disabled:j,onClick:()=>ax(a),className:(0,r.cn)("flex cursor-pointer items-center gap-1 rounded-sm px-2 py-1 text-xs font-medium transition-colors",e?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground","disabled:cursor-not-allowed disabled:opacity-50"),children:[(0,b.jsx)(d,{className:"h-3.5 w-3.5"}),X(c.labelKey)]})}),(0,b.jsx)(C.TooltipContent,{role:"tooltip",side:"bottom",children:X(`${c.labelKey}Description`)})]},a)})}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:bb,disabled:j,"aria-label":X("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,b.jsx)(e.PaperclipIcon,{className:"h-4 w-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("chat.attachFiles")})]})]})]})]}),bi&&void 0!==w?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(y.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.parentFeature")}),(0,b.jsx)(U,{features:p,value:au,onChange:av,disabled:j})]}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:X("createDrawer.approve")})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.approveDescription")})]}),(0,b.jsx)("div",{className:"flex flex-1 items-center gap-4",children:bl.map(a=>(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:`approve-${a.id}`,size:"sm",checked:ai[a.id]??!1,onCheckedChange:b=>aj(c=>({...c,[a.id]:b})),disabled:j||ay&&("allowPrd"===a.id||"allowPlan"===a.id)}),(0,b.jsx)(y.Label,{htmlFor:`approve-${a.id}`,className:"cursor-pointer text-xs font-medium",children:a.label})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:ay&&("allowPrd"===a.id||"allowPlan"===a.id)?X("createDrawer.skippedInFastMode"):a.description})]},a.id))}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:()=>{let a=bl.every(a=>ai[a.id]),b={};for(let c of bl)b[c.id]=!a;aj(b)},disabled:j,className:(0,r.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",bl.every(a=>ai[a.id])&&"text-primary"),children:X("createDrawer.all")})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.toggleAllApprovalGates")})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:X("createDrawer.evidence")})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.evidenceDescription")})]}),(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"enable-evidence",size:"sm",checked:aq,onCheckedChange:a=>{ar(a),a||at(!1)},disabled:j}),(0,b.jsx)(y.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:X("createDrawer.collect")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.collectDescription")})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"commit-evidence",size:"sm",checked:as,onCheckedChange:at,disabled:j||!aq||!am&&!aB}),(0,b.jsx)(y.Label,{htmlFor:"commit-evidence",className:(0,r.cn)("cursor-pointer text-xs font-medium",(!aq||!am&&!aB)&&"opacity-50"),children:X("createDrawer.addToPr")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:am||aB?aq?X("createDrawer.addToPrDescription"):X("createDrawer.requiresEvidence"):X("createDrawer.requiresPr")})]})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:X("createDrawer.skills")})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.skillsDescription")})]}),(0,b.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"inject-skills",size:"sm",checked:aH,onCheckedChange:aI,disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(n.Puzzle,{className:"h-3 w-3"}),X("createDrawer.injectSkills")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.injectSkillsDescription")})]})})]}),(0,b.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:X("createDrawer.git")}),(0,b.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"push",size:"sm",checked:!!aB||ak||am,onCheckedChange:a=>{al(a),!a&&am&&an(!1)},disabled:j||aB}),(0,b.jsx)(y.Label,{htmlFor:"push",className:(0,r.cn)("cursor-pointer text-xs font-medium",aB&&"opacity-50"),children:X("createDrawer.push")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:aB?"Enabled — contributing to upstream":X("createDrawer.pushDescription")})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"open-pr",size:"sm",checked:!!aB||am,onCheckedChange:a=>{an(a),a||at(!1)},disabled:j||aB}),(0,b.jsx)(y.Label,{htmlFor:"open-pr",className:(0,r.cn)("cursor-pointer text-xs font-medium",aB&&"opacity-50"),children:X("createDrawer.pr")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:aB?"Enabled — contributing to upstream":X("createDrawer.prDescription")})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"ci-watch",size:"sm",checked:ao,onCheckedChange:ap,disabled:j}),(0,b.jsx)(y.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:X("createDrawer.watch")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.watchDescription")})]}),(0,b.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"rebase-before-branch",size:"sm",checked:aF,onCheckedChange:aG,disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(o.RefreshCw,{className:"h-3 w-3"}),X("createDrawer.sync")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.syncDescription")})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"commit-specs",size:"sm",checked:aD,onCheckedChange:aE,disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(m.FileText,{className:"h-3 w-3"}),X("createDrawer.commitSpecs")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.commitSpecsDescription")})]}),!a$&&(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"fork-and-pr",size:"sm",checked:aB,onCheckedChange:a=>{aC(a),a&&aE(!1)},disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(l.GitFork,{className:"h-3 w-3"}),X("createDrawer.forkAndPr")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function U({features:a,value:e,onChange:h,disabled:i}){let{t:j}=(0,d.useTranslation)("web"),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(""),o=(0,c.useRef)(null),p=a.find(a=>a.id===e),q=m.trim()?a.filter(a=>a.name.toLowerCase().includes(m.toLowerCase())||a.id.toLowerCase().includes(m.toLowerCase())):a,s=(0,c.useCallback)(a=>{h(a),l(!1),n("")},[h]);return(0,c.useEffect)(()=>{k?setTimeout(()=>o.current?.focus(),0):n("")},[k]),(0,b.jsxs)(A.Popover,{open:k,onOpenChange:l,children:[(0,b.jsx)(A.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":k,"aria-label":"Parent Feature",disabled:i,"data-testid":"parent-feature-combobox",className:(0,r.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,b.jsx)("span",{className:"truncate",children:p?`${p.name} (${p.id.slice(0,8)})`:j("createDrawer.selectParent")}),(0,b.jsx)(f.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(A.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"border-b p-2",children:(0,b.jsx)(w.Input,{ref:o,placeholder:j("createDrawer.searchFeatures"),value:m,onChange:a=>n(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,b.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===e,onClick:()=>s(void 0),className:(0,r.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===e&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,b.jsx)(g.CheckIcon,{className:(0,r.cn)("h-4 w-4 shrink-0",void 0!==e&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:j("createDrawer.noParent")})]}),0===q.length&&m?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:j("createDrawer.noFeaturesFound")}):q.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":e===a.id,onClick:()=>s(a.id),className:(0,r.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",e===a.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${a.id}`,children:[(0,b.jsx)(g.CheckIcon,{className:(0,r.cn)("h-4 w-4 shrink-0",e!==a.id&&"invisible")}),(0,b.jsxs)("span",{className:"truncate",children:[a.name," ",(0,b.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",a.id.slice(0,8),")"]})]})]},a.id))]})]})})]})}function V({repositories:a,value:e,onChange:h,onAddRepository:i,disabled:m}){let[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(""),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(null),[x,y]=(0,c.useState)(!1),B=(0,c.useRef)(null),{reactFileManager:C}=(0,L.useFeatureFlags)(),{t:D}=(0,d.useTranslation)("web"),E=a.find(a=>a.path===e),F=p.trim()?a.filter(a=>a.name.toLowerCase().includes(p.toLowerCase())||a.path.toLowerCase().includes(p.toLowerCase())):a,G=(0,c.useCallback)(a=>{h(a),o(!1),q("")},[h]),H=(0,c.useCallback)(async a=>{let b=await (0,M.addRepository)({path:a});if(b.error){v(b.error),t(!1);return}if(b.repository){let a={id:b.repository.id,name:b.repository.name,path:b.repository.path};i?.(a),h(a.path),o(!1),q("")}},[i,h]),N=(0,c.useCallback)(async()=>{if(!s){if(C)return void y(!0);t(!0),v(null);try{let a=await (0,J.pickFolder)();if(!a)return void t(!1);await H(a)}catch{y(!0)}finally{t(!1)}}},[s,C,H]),O=(0,c.useCallback)(async a=>{if(y(!1),a){t(!0),v(null);try{await H(a)}catch(a){v(a instanceof Error?a.message:"Failed to add repository")}finally{t(!1)}}},[H]);return(0,c.useEffect)(()=>{n?setTimeout(()=>B.current?.focus(),0):q("")},[n]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(A.Popover,{open:n,onOpenChange:o,children:[(0,b.jsx)(A.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",role:"combobox","aria-expanded":n,"aria-label":"Repository",disabled:m,"data-testid":"repository-combobox",className:(0,r.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",!E&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:E?E.name:"Select repository..."}),(0,b.jsx)(f.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(A.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"border-b p-2",children:(0,b.jsx)(w.Input,{ref:B,placeholder:D("createDrawer.searchRepositories"),value:p,onChange:a=>q(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,b.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===F.length?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):F.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":e===a.path,onClick:()=>G(a.path),className:(0,r.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",e===a.path&&"bg-accent/50"),"data-testid":`repository-option-${a.id}`,children:[(0,b.jsx)(g.CheckIcon,{className:(0,r.cn)("h-4 w-4 shrink-0",e!==a.path&&"invisible")}),(0,b.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[a.name,a.isFork?(0,b.jsxs)(z.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,b.jsx)(l.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,b.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a.path})]})]},a.id))}),(0,b.jsx)(I.Separator,{}),(0,b.jsxs)("button",{type:"button",onClick:N,disabled:s,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:[s?(0,b.jsx)(k.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,b.jsx)(j.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:"Add new repository..."})]}),u?(0,b.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:u}):null]})})]}),(0,b.jsx)(K.ReactFileManagerDialog,{open:x,onOpenChange:a=>{a||y(!1)},onSelect:O})]})}a.s(["FeatureCreateDrawer",()=>T],382052),a.s([],609803)},744849,a=>{"use strict";var b=a.i(289111);let c=(0,b.createServerReference)("404c5c9797c8357ba95e33741387c8f8be645162ac",b.callServer,void 0,b.findSourceMapURL,"createFeature");a.s(["createFeature",()=>c])}];
|
|
1
|
+
module.exports=[609803,382052,a=>{"use strict";var b=a.i(556365),c=a.i(944592);a.i(490370);var d=a.i(224640),e=a.i(945242),f=a.i(14177),g=a.i(110606),h=a.i(103942),i=a.i(346168),j=a.i(142527),k=a.i(488064),l=a.i(673708),m=a.i(162147),n=a.i(167424),o=a.i(428002),p=a.i(882014),q=a.i(69428),r=a.i(385536),s=a.i(219884);a.i(478454);var t=a.i(124255),u=a.i(302824),v=a.i(118948),w=a.i(390920),x=a.i(679620),y=a.i(758860),z=a.i(658339),A=a.i(680646),B=a.i(896867),C=a.i(182934),D=a.i(196213);a.i(200307);var E=a.i(730931),F=a.i(289111);let G=(0,F.createServerReference)("403a8b7843d90b87e48b67f0e6a9682da2cd2e9c2e",F.callServer,void 0,F.findSourceMapURL,"getViewerPermission");var H=a.i(961781),I=a.i(513126),J=a.i(701377);a.i(421434);var K=a.i(234379),L=a.i(821333),M=a.i(993081),N=a.i(746847),O=a.i(39116);let P=[N.BuildMode.Fast,N.BuildMode.Spec],Q={[N.BuildMode.Application]:{icon:p.LayoutGrid,labelKey:"createDrawer.modeApplication"},[N.BuildMode.Fast]:{icon:h.Zap,labelKey:"createDrawer.modeFast"},[N.BuildMode.Spec]:{icon:q.ClipboardList,labelKey:"createDrawer.modeSpec"}},R=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"]),S={allowPrd:!1,allowPlan:!1,allowMerge:!1};function T({open:a,onClose:f,onSubmit:g,repositoryPath:h,isSubmitting:j=!1,workflowDefaults:k,features:p,repositories:q,initialParentId:w,currentAgentType:A,currentModel:F,initialDescription:I,canPushDirectly:J,initialMode:K,initialApplicationId:L}){let M=void 0!==L,T=M&&!K?N.BuildMode.Spec:K,W=(0,s.useSoundAction)("create"),{t:X}=(0,d.useTranslation)("web"),Y=h&&(M||!q||0===q.length||q.some(a=>a.path===h))?h:"",Z=k?.approvalGates??S,$=k?.push??!1,_=k?.openPr??!1,aa=k?.ciWatchEnabled!==!1,ab=k?.enableEvidence??!1,ac=k?.commitEvidence??!1,ad=T||(k?.fast===!1?N.BuildMode.Spec:N.BuildMode.Fast),[ae,af]=(0,c.useState)(I??"");(0,c.useEffect)(()=>{I&&af(I)},[I]);let[ag,ah]=(0,c.useState)([]),[ai,aj]=(0,c.useState)({...Z}),[ak,al]=(0,c.useState)($),[am,an]=(0,c.useState)(_),[ao,ap]=(0,c.useState)(k?.ciWatchEnabled!==!1),[aq,ar]=(0,c.useState)(ab),[as,at]=(0,c.useState)(ac),[au,av]=(0,c.useState)(void 0),[aw,ax]=(0,c.useState)(ad),ay=aw===N.BuildMode.Fast,[az,aA]=(0,c.useState)(!1),[aB,aC]=(0,c.useState)(!1),[aD,aE]=(0,c.useState)(!0),[aF,aG]=(0,c.useState)(!0),[aH,aI]=(0,c.useState)(k?.injectSkills??!1),[aJ,aK]=(0,c.useState)(void 0),[aL,aM]=(0,c.useState)(void 0),[aN,aO]=(0,c.useState)(Y||void 0),[aP,aQ]=(0,c.useState)(q??[]),[aR,aS]=(0,c.useState)(!1),[aT,aU]=(0,c.useState)(null),[aV,aW]=(0,c.useState)(!1),aX=(0,c.useRef)(crypto.randomUUID()),aY=(0,c.useRef)(0),aZ=(0,c.useRef)(null);(0,c.useEffect)(()=>{k&&(aj({...k.approvalGates}),al(k.push),an(k.openPr),ap(!1!==k.ciWatchEnabled),ar(k.enableEvidence),at(k.commitEvidence),T||ax(!1!==k.fast?N.BuildMode.Fast:N.BuildMode.Spec),aI(k.injectSkills??!1))},[k,T]),(0,c.useEffect)(()=>{aQ(q??[])},[q]),(0,c.useEffect)(()=>{a&&w&&av(w)},[a,w]);let[a$,a_]=(0,c.useState)(J??!1);(0,c.useEffect)(()=>{a_(J??!1)},[J]);let a0=(0,c.useRef)(aN);(0,c.useEffect)(()=>{aN&&aN!==a0.current&&(a0.current=aN,G(aN).then(a=>a_(a.canPushDirectly)).catch(()=>a_(!1)))},[aN]),(0,c.useEffect)(()=>{a$&&(aC(!1),al($),an(_),aE(!0))},[a$,$,_]);let a1=(0,c.useCallback)(()=>{af(""),ah([]),aj({...Z}),al($),an(_),ap(aa),ar(ab),at(ac),av(void 0),aO(Y||void 0),aQ(q??[]),ax(ad),aA(!1),aC(!1),aE(!0),aG(!0),aK(void 0),aM(void 0),aU(null),aY.current=0,aS(!1)},[Z,$,_,ab,aa,ac,ad,Y,q]),a2=""!==ae.trim()||ag.length>0,{attemptClose:a3}=(0,D.useGuardedDrawerClose)({open:a,isDirty:a2,onClose:f,onReset:a1}),a4=(0,c.useCallback)(async a=>{for(let b of(aU(null),a)){if(b.size>0xa00000)return void aU(`"${b.name}" exceeds 10 MB limit`);let a=function(a){let b=a.lastIndexOf(".");return b>=0?a.slice(b).toLowerCase():""}(b.name);if(a&&!R.has(a))return void aU(`File type "${a}" is not allowed`)}for(let b of a){let a=crypto.randomUUID();ah(c=>[...c,{id:a,name:b.name,size:b.size,mimeType:b.type||"application/octet-stream",path:"",loading:!0}]);try{let c=new FormData;c.append("file",b),c.append("sessionId",aX.current);let d=await fetch("/api/attachments/upload",{method:"POST",body:c});if(!d.ok){let b=await d.json().catch(()=>({error:"Upload failed"}));ah(b=>b.filter(b=>b.id!==a)),aU(b.error??"Upload failed");return}let e=await d.json();ah(b=>b.some(b=>b.id!==a&&b.path===e.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...e,id:a,loading:!1}:b))}catch{ah(b=>b.filter(b=>b.id!==a)),aU("Upload failed")}}},[]),a5=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aY.current+=1,1===aY.current&&aS(!0)},[]),a6=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aY.current-=1,0===aY.current&&aS(!1)},[]),a7=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),a8=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aY.current=0,aS(!1);let b=Array.from(a.dataTransfer.files);b.length>0&&a4(b)},[a4]),a9=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a of Array.from(b))if("file"===a.kind){let b=a.getAsFile();b&&c.push(b)}c.length>0&&(a.preventDefault(),a4(c))},[a4]),ba=(0,c.useCallback)(a=>{if(a.preventDefault(),!ae.trim())return;let b=aN??Y;b&&(W.play(),g({description:ae.trim(),attachments:ag.filter(a=>!a.loading),repositoryPath:b,approvalGates:{allowPrd:ai.allowPrd??!1,allowPlan:ai.allowPlan??!1,allowMerge:ai.allowMerge??!1},push:!!aB||ak||am,openPr:!!aB||am,ciWatchEnabled:ao,enableEvidence:aq,commitEvidence:as,fast:ay,forkAndPr:aB,commitSpecs:aD,rebaseBeforeBranch:aF,injectSkills:aH,...az?{pending:az}:{},...aJ?{agentType:aJ}:{},...aL?{model:aL}:{},...au?{parentId:au}:{},...L?{applicationId:L}:{},sessionId:aX.current}),a1())},[ae,ag,ai,aN,Y,g,ak,am,aq,ao,as,ay,aB,aD,aF,aH,az,aJ,aL,au,L,W,a1]),bb=(0,c.useCallback)(async()=>{try{let a=await (0,O.pickFiles)();if(!a)return;for(let b of a){let a=crypto.randomUUID();ah(c=>[...c,{id:a,name:b.name,size:b.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let c=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b.path,sessionId:aX.current})});if(!c.ok){let b=await c.json().catch(()=>({error:"Upload failed"}));ah(b=>b.filter(b=>b.id!==a)),aU(b.error??"Upload failed");return}let d=await c.json();ah(b=>b.some(b=>b.id!==a&&b.path===d.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...d,id:a,loading:!1}:b))}catch{ah(b=>b.filter(b=>b.id!==a)),aU("Upload failed")}}}catch{}},[]),bc=(0,c.useCallback)(a=>{ah(b=>b.filter(b=>b.id!==a))},[]),bd=(0,c.useCallback)((a,b)=>{ah(c=>c.map(c=>c.id===a?{...c,notes:b}:c))},[]),be=(0,c.useRef)(null),bf=(0,c.useCallback)(a=>{(a.ctrlKey||a.metaKey)&&"Enter"===a.key&&(a.preventDefault(),be.current?.requestSubmit())},[]),bg=(0,c.useCallback)(()=>{aW(!0)},[]),bh=(0,c.useCallback)(()=>{setTimeout(()=>{let a=aZ.current?.contains(document.activeElement),b=aZ.current?.querySelector('[aria-expanded="true"]')!==null;a||b||aW(!1)},0)},[]),bi=p&&p.length>0,bj=!Y&&!aN,bk=!Y&&void 0!==q,bl=[{id:"allowPrd",label:X("createDrawer.prd"),description:X("createDrawer.prdDescription")},{id:"allowPlan",label:X("createDrawer.plan"),description:X("createDrawer.planDescription")},{id:"allowMerge",label:X("createDrawer.merge"),description:X("createDrawer.mergeDescription")}];return(0,b.jsx)(t.BaseDrawer,{open:a,onClose:a3,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,b.jsx)(u.DrawerTitle,{children:X("createDrawer.title")})]}),j?(0,b.jsx)(u.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(z.Badge,{variant:"secondary",children:X("createDrawer.creating")})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(v.Button,{variant:"outline",onClick:a3,disabled:j,children:X("createDrawer.cancel")}),(0,b.jsx)(v.Button,{type:"submit",form:"create-feature-form",disabled:!ae.trim()||j||bj,children:j?X("createDrawer.creating"):X("createDrawer.createFeature")})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsx)(C.TooltipProvider,{delayDuration:400,children:(0,b.jsxs)("form",{ref:be,id:"create-feature-form",onSubmit:ba,onKeyDown:bf,className:"flex flex-col gap-4",children:[M?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section","data-locked-by-application":"true",children:[(0,b.jsx)(y.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.repository")}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("p",{className:"text-sm opacity-70","data-testid":"repo-readonly-label","aria-disabled":"true","aria-describedby":"locked-by-application-tooltip",title:X("createDrawer.lockedByApplication"),children:q?.find(a=>a.path===Y)?.name??(Y?Y.split("/").pop():"")??Y})}),(0,b.jsx)(C.TooltipContent,{id:"locked-by-application-tooltip",role:"tooltip",side:"bottom",children:X("createDrawer.lockedByApplication")})]})]}):bk?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,b.jsx)(y.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.repository")}),(0,b.jsx)(V,{repositories:aP,value:aN,onChange:aO,onAddRepository:a=>{aQ(b=>[...b,a]),aO(a.path)},disabled:j})]}):Y?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,b.jsx)(y.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.repository")}),(0,b.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:q?.find(a=>a.path===Y)?.name??Y.split("/").pop()})]}):null,(0,b.jsxs)("div",{role:"region","aria-label":X("createDrawer.fileDropZone"),"data-drag-over":aR?"true":"false",onDragEnter:a5,onDragLeave:a6,onDragOver:a7,onDrop:a8,className:(0,r.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",aR&&"border-primary/50 bg-primary/5"),children:[(0,b.jsx)(y.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.describeFeature")}),(0,b.jsxs)("div",{ref:aZ,onFocus:bg,onBlur:bh,className:(0,r.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",aV&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,b.jsx)(x.Textarea,{id:"feature-description",placeholder:X("createDrawer.featurePlaceholder"),value:ae,onChange:a=>af(a.target.value),onPaste:a9,required:!0,disabled:j,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),ag.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:ag.map(a=>(0,b.jsx)(E.AttachmentChip,{name:a.name,size:a.size,mimeType:a.mimeType,path:a.path,onRemove:()=>bc(a.id),disabled:j,loading:a.loading,notes:a.notes,onNotesChange:b=>bd(a.id,b)},a.id))}),aT?(0,b.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:aT}):null,(0,b.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,b.jsx)(H.AgentModelPicker,{initialAgentType:aJ??A??"",initialModel:aL??F??"",mode:"override",onAgentModelChange:(a,b)=>{aK(a),aM(b)},disabled:j,className:"w-55"}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(B.Switch,{id:"pending-mode",checked:az,onCheckedChange:aA,disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(i.Clock,{className:"h-3.5 w-3.5"}),X("createDrawer.pendingMode")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.pendingModeDescription")})]}),(0,b.jsx)("div",{role:"group","aria-label":X("createDrawer.modeGroupLabel"),className:"border-input flex items-center gap-0.5 rounded-md border p-0.5",children:P.map(a=>{let c=Q[a],d=c.icon,e=aw===a;return(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button","data-testid":`build-mode-${a}`,"aria-pressed":e,"aria-disabled":j,disabled:j,onClick:()=>ax(a),className:(0,r.cn)("flex cursor-pointer items-center gap-1 rounded-sm px-2 py-1 text-xs font-medium transition-colors",e?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground","disabled:cursor-not-allowed disabled:opacity-50"),children:[(0,b.jsx)(d,{className:"h-3.5 w-3.5"}),X(c.labelKey)]})}),(0,b.jsx)(C.TooltipContent,{role:"tooltip",side:"bottom",children:X(`${c.labelKey}Description`)})]},a)})}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:bb,disabled:j,"aria-label":X("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,b.jsx)(e.PaperclipIcon,{className:"h-4 w-4"})})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("chat.attachFiles")})]})]})]})]}),bi&&void 0!==w?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(y.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:X("createDrawer.parentFeature")}),(0,b.jsx)(U,{features:p,value:au,onChange:av,disabled:j})]}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:X("createDrawer.approve")})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.approveDescription")})]}),(0,b.jsx)("div",{className:"flex flex-1 items-center gap-4",children:bl.map(a=>(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:`approve-${a.id}`,size:"sm",checked:ai[a.id]??!1,onCheckedChange:b=>aj(c=>({...c,[a.id]:b})),disabled:j||ay&&("allowPrd"===a.id||"allowPlan"===a.id)}),(0,b.jsx)(y.Label,{htmlFor:`approve-${a.id}`,className:"cursor-pointer text-xs font-medium",children:a.label})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:ay&&("allowPrd"===a.id||"allowPlan"===a.id)?X("createDrawer.skippedInFastMode"):a.description})]},a.id))}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:()=>{let a=bl.every(a=>ai[a.id]),b={};for(let c of bl)b[c.id]=!a;aj(b)},disabled:j,className:(0,r.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",bl.every(a=>ai[a.id])&&"text-primary"),children:X("createDrawer.all")})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.toggleAllApprovalGates")})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:X("createDrawer.evidence")})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.evidenceDescription")})]}),(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"enable-evidence",size:"sm",checked:aq,onCheckedChange:a=>{ar(a),a||at(!1)},disabled:j}),(0,b.jsx)(y.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:X("createDrawer.collect")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.collectDescription")})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"commit-evidence",size:"sm",checked:as,onCheckedChange:at,disabled:j||!aq||!am&&!aB}),(0,b.jsx)(y.Label,{htmlFor:"commit-evidence",className:(0,r.cn)("cursor-pointer text-xs font-medium",(!aq||!am&&!aB)&&"opacity-50"),children:X("createDrawer.addToPr")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:am||aB?aq?X("createDrawer.addToPrDescription"):X("createDrawer.requiresEvidence"):X("createDrawer.requiresPr")})]})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:X("createDrawer.skills")})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.skillsDescription")})]}),(0,b.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"inject-skills",size:"sm",checked:aH,onCheckedChange:aI,disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(n.Puzzle,{className:"h-3 w-3"}),X("createDrawer.injectSkills")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.injectSkillsDescription")})]})})]}),(0,b.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:X("createDrawer.git")}),(0,b.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"push",size:"sm",checked:!!aB||ak||am,onCheckedChange:a=>{al(a),!a&&am&&an(!1)},disabled:j||aB}),(0,b.jsx)(y.Label,{htmlFor:"push",className:(0,r.cn)("cursor-pointer text-xs font-medium",aB&&"opacity-50"),children:X("createDrawer.push")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:aB?"Enabled — contributing to upstream":X("createDrawer.pushDescription")})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"open-pr",size:"sm",checked:!!aB||am,onCheckedChange:a=>{an(a),a||at(!1)},disabled:j||aB}),(0,b.jsx)(y.Label,{htmlFor:"open-pr",className:(0,r.cn)("cursor-pointer text-xs font-medium",aB&&"opacity-50"),children:X("createDrawer.pr")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:aB?"Enabled — contributing to upstream":X("createDrawer.prDescription")})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"ci-watch",size:"sm",checked:ao,onCheckedChange:ap,disabled:j}),(0,b.jsx)(y.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:X("createDrawer.watch")})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.watchDescription")})]}),(0,b.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"rebase-before-branch",size:"sm",checked:aF,onCheckedChange:aG,disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(o.RefreshCw,{className:"h-3 w-3"}),X("createDrawer.sync")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.syncDescription")})]}),(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"commit-specs",size:"sm",checked:aD,onCheckedChange:aE,disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(m.FileText,{className:"h-3 w-3"}),X("createDrawer.commitSpecs")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.commitSpecsDescription")})]}),!a$&&(0,b.jsxs)(C.Tooltip,{children:[(0,b.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(B.Switch,{id:"fork-and-pr",size:"sm",checked:aB,onCheckedChange:a=>{aC(a),a&&aE(!1)},disabled:j}),(0,b.jsxs)(y.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(l.GitFork,{className:"h-3 w-3"}),X("createDrawer.forkAndPr")]})]})}),(0,b.jsx)(C.TooltipContent,{side:"bottom",children:X("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function U({features:a,value:e,onChange:h,disabled:i}){let{t:j}=(0,d.useTranslation)("web"),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(""),o=(0,c.useRef)(null),p=a.find(a=>a.id===e),q=m.trim()?a.filter(a=>a.name.toLowerCase().includes(m.toLowerCase())||a.id.toLowerCase().includes(m.toLowerCase())):a,s=(0,c.useCallback)(a=>{h(a),l(!1),n("")},[h]);return(0,c.useEffect)(()=>{k?setTimeout(()=>o.current?.focus(),0):n("")},[k]),(0,b.jsxs)(A.Popover,{open:k,onOpenChange:l,children:[(0,b.jsx)(A.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":k,"aria-label":"Parent Feature",disabled:i,"data-testid":"parent-feature-combobox",className:(0,r.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,b.jsx)("span",{className:"truncate",children:p?`${p.name} (${p.id.slice(0,8)})`:j("createDrawer.selectParent")}),(0,b.jsx)(f.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(A.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"border-b p-2",children:(0,b.jsx)(w.Input,{ref:o,placeholder:j("createDrawer.searchFeatures"),value:m,onChange:a=>n(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,b.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===e,onClick:()=>s(void 0),className:(0,r.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===e&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,b.jsx)(g.CheckIcon,{className:(0,r.cn)("h-4 w-4 shrink-0",void 0!==e&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:j("createDrawer.noParent")})]}),0===q.length&&m?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:j("createDrawer.noFeaturesFound")}):q.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":e===a.id,onClick:()=>s(a.id),className:(0,r.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",e===a.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${a.id}`,children:[(0,b.jsx)(g.CheckIcon,{className:(0,r.cn)("h-4 w-4 shrink-0",e!==a.id&&"invisible")}),(0,b.jsxs)("span",{className:"truncate",children:[a.name," ",(0,b.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",a.id.slice(0,8),")"]})]})]},a.id))]})]})})]})}function V({repositories:a,value:e,onChange:h,onAddRepository:i,disabled:m}){let[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(""),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(null),[x,y]=(0,c.useState)(!1),B=(0,c.useRef)(null),{reactFileManager:C}=(0,L.useFeatureFlags)(),{t:D}=(0,d.useTranslation)("web"),E=a.find(a=>a.path===e),F=p.trim()?a.filter(a=>a.name.toLowerCase().includes(p.toLowerCase())||a.path.toLowerCase().includes(p.toLowerCase())):a,G=(0,c.useCallback)(a=>{h(a),o(!1),q("")},[h]),H=(0,c.useCallback)(async a=>{let b=await (0,M.addRepository)({path:a});if(b.error){v(b.error),t(!1);return}if(b.repository){let a={id:b.repository.id,name:b.repository.name,path:b.repository.path};i?.(a),h(a.path),o(!1),q("")}},[i,h]),N=(0,c.useCallback)(async()=>{if(!s){if(C)return void y(!0);t(!0),v(null);try{let a=await (0,J.pickFolder)();if(!a)return void t(!1);await H(a)}catch{y(!0)}finally{t(!1)}}},[s,C,H]),O=(0,c.useCallback)(async a=>{if(y(!1),a){t(!0),v(null);try{await H(a)}catch(a){v(a instanceof Error?a.message:"Failed to add repository")}finally{t(!1)}}},[H]);return(0,c.useEffect)(()=>{n?setTimeout(()=>B.current?.focus(),0):q("")},[n]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(A.Popover,{open:n,onOpenChange:o,children:[(0,b.jsx)(A.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",role:"combobox","aria-expanded":n,"aria-label":"Repository",disabled:m,"data-testid":"repository-combobox",className:(0,r.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",!E&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:E?E.name:"Select repository..."}),(0,b.jsx)(f.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(A.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"border-b p-2",children:(0,b.jsx)(w.Input,{ref:B,placeholder:D("createDrawer.searchRepositories"),value:p,onChange:a=>q(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,b.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===F.length?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):F.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":e===a.path,onClick:()=>G(a.path),className:(0,r.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",e===a.path&&"bg-accent/50"),"data-testid":`repository-option-${a.id}`,children:[(0,b.jsx)(g.CheckIcon,{className:(0,r.cn)("h-4 w-4 shrink-0",e!==a.path&&"invisible")}),(0,b.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[a.name,a.isFork?(0,b.jsxs)(z.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,b.jsx)(l.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,b.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a.path})]})]},a.id))}),(0,b.jsx)(I.Separator,{}),(0,b.jsxs)("button",{type:"button",onClick:N,disabled:s,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:[s?(0,b.jsx)(k.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,b.jsx)(j.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:"Add new repository..."})]}),u?(0,b.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:u}):null]})})]}),(0,b.jsx)(K.ReactFileManagerDialog,{open:x,onOpenChange:a=>{a||y(!1)},onSelect:O})]})}a.s(["FeatureCreateDrawer",()=>T],382052),a.s([],609803)},151867,a=>{"use strict";var b=a.i(289111);let c=(0,b.createServerReference)("40bb53c65e93da6c62122e7bf9cd0b925701449795",b.callServer,void 0,b.findSourceMapURL,"createFeature");a.s(["createFeature",()=>c])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=src_presentation_web_6f8efc48._.js.map
|