@shepai/cli 1.194.1 → 1.194.2-pr584.4f4957c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +27 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +34 -34
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +37 -37
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +46 -46
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +34 -34
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/control-center/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +34 -34
- package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +37 -37
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +46 -46
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/applications/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/applications/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/applications/page.js.nft.json +1 -1
- package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/features/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/features/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/settings/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/skills/page/server-reference-manifest.json +16 -16
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/tools/page/server-reference-manifest.json +14 -14
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/version/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1973d644._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__638955bc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__97b6831c._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__03f1b887._.js → [root-of-the-server]__ae78a6b9._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__03f1b887._.js.map → [root-of-the-server]__ae78a6b9._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__04280e28._.js → [root-of-the-server]__b8c0d40a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__04280e28._.js.map → [root-of-the-server]__b8c0d40a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
- package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_12ba4a07._.js +1 -1
- package/web/.next/server/chunks/ssr/_12ba4a07._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_15634d5b._.js +1 -1
- package/web/.next/server/chunks/ssr/_15634d5b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_27c2f774._.js +1 -1
- package/web/.next/server/chunks/ssr/_27c2f774._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_30787024._.js +1 -1
- package/web/.next/server/chunks/ssr/_30787024._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_3bd60fa3._.js +1 -1
- package/web/.next/server/chunks/ssr/{_739ea6b4._.js → _3f792f30._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_739ea6b4._.js.map → _3f792f30._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_402d53bf._.js +1 -1
- package/web/.next/server/chunks/ssr/_402d53bf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_3024a5f6._.js → _588a572a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3024a5f6._.js.map → _588a572a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_6868b4b1._.js +1 -1
- package/web/.next/server/chunks/ssr/{_faacc25a._.js → _761e4bd3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_faacc25a._.js.map → _761e4bd3._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_5ed7a395._.js → _7e021392._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5ed7a395._.js.map → _7e021392._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
- package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
- package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8f4f8aa1._.js +1 -1
- package/web/.next/server/chunks/ssr/_8f4f8aa1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_f3115daa._.js → _973065c3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_f3115daa._.js.map → _973065c3._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_b40a4fc3._.js +1 -1
- package/web/.next/server/chunks/ssr/_b40a4fc3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_c44ec376._.js +1 -1
- package/web/.next/server/chunks/ssr/_c44ec376._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cd641c61._.js +1 -1
- package/web/.next/server/chunks/ssr/_cd641c61._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
- package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_c9cecace._.js → _e32aca20._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c9cecace._.js.map → _e32aca20._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_e6271303._.js +1 -1
- package/web/.next/server/chunks/ssr/_e6271303._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ed8fd56c._.js +1 -1
- package/web/.next/server/chunks/ssr/_ed8fd56c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
- package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_9e14bfc1._.js → src_presentation_web_70ef7fde._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_9e14bfc1._.js.map → src_presentation_web_70ef7fde._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_e9ad533a._.js → src_presentation_web_929e9a7b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_e9ad533a._.js.map → src_presentation_web_929e9a7b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_7ab26c98._.js +3 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +98 -98
- package/web/.next/static/chunks/07156bfe6433ad08.js +1 -0
- package/web/.next/static/chunks/0abf3aca0664110e.js +1 -0
- package/web/.next/static/chunks/{84aeb6cca97c1a62.js → 150d2879079190e3.js} +1 -1
- package/web/.next/static/chunks/{0235baebfda5ff4f.js → 19a5af71926715a0.js} +1 -1
- package/web/.next/static/chunks/{102d8c48d7767608.js → 22f47ab138b2d9a9.js} +1 -1
- package/web/.next/static/chunks/{e7e7f8f4fc14e58f.js → 249d416f38a960ee.js} +1 -1
- package/web/.next/static/chunks/{575414c8f8e54272.js → 24ec879c40147be1.js} +1 -1
- package/web/.next/static/chunks/{76cd042201cad39c.js → 33264a24cdc2c4a5.js} +1 -1
- package/web/.next/static/chunks/{002432769b97fabb.js → 389b6724824ff3f6.js} +1 -1
- package/web/.next/static/chunks/3977923286c37140.js +1 -0
- package/web/.next/static/chunks/3a25d8e6bc3ede3d.js +1 -0
- package/web/.next/static/chunks/{c34e66253c4cac16.js → 4826c460d01c6943.js} +1 -1
- package/web/.next/static/chunks/{14290d84d004fdb8.js → 4b5d061eb5c2aac4.js} +1 -1
- package/web/.next/static/chunks/{d791522fb2393144.js → 5dc0003cc1241cb9.js} +1 -1
- package/web/.next/static/chunks/{9a29f05df861459b.js → 6235f12c6bcbd03b.js} +1 -1
- package/web/.next/static/chunks/{464e47865e4c5682.js → 65b5726d39a4d482.js} +1 -1
- package/web/.next/static/chunks/{b76095aed26f711e.js → 67109f43808725c6.js} +1 -1
- package/web/.next/static/chunks/{e48a6b334cdf53ce.js → 68d5517e0344f2a8.js} +1 -1
- package/web/.next/static/chunks/6ade0b141237e333.js +1 -0
- package/web/.next/static/chunks/{63fa14ff9d43de5b.js → 733544bb6796c862.js} +1 -1
- package/web/.next/static/chunks/7f2567429fbb01f5.js +1 -0
- package/web/.next/static/chunks/{bedcd3aeb7705af1.js → 8665bb59c0620008.js} +1 -1
- package/web/.next/static/chunks/8c997a1b1fbb91bf.js +1 -0
- package/web/.next/static/chunks/{997b8c166f435eae.js → 9f62973ace3dc4af.js} +1 -1
- package/web/.next/static/chunks/{6800026a05c5ce29.js → a564b5b907b54a5f.js} +1 -1
- package/web/.next/static/chunks/{313b0e3a5235fabd.js → b9bb2c40f2b62ef2.js} +1 -1
- package/web/.next/static/chunks/{1d66cd1dc949253b.js → c954985ac32f7d87.js} +2 -2
- package/web/.next/static/chunks/{578b439d55fb4e0f.js → ce7b3441e19255e6.js} +1 -1
- package/web/.next/static/chunks/{9614c6cb4480dffa.js → e2b81d6dd4f82a2c.js} +1 -1
- package/web/.next/static/chunks/{aebfd87d80d8b2a5.js → e62cd9095e37f064.js} +1 -1
- package/web/.next/static/chunks/{55daeda060e0a94c.js → eb88bae05f0b043b.js} +1 -1
- package/web/.next/static/chunks/{8fad14130e013cca.js → edd8cb6712149e39.js} +1 -1
- package/web/.next/static/chunks/f2040895572839d9.js +1 -0
- package/web/.next/static/chunks/{f1247fc826bfc874.js → fea2481993c12344.js} +1 -1
- package/web/.next/static/chunks/056c4d492ee6cac7.js +0 -1
- package/web/.next/static/chunks/0d8135ee354a3b8e.js +0 -1
- package/web/.next/static/chunks/4e3475e4a3c4d42b.js +0 -1
- package/web/.next/static/chunks/6c6daa1eb10a7f67.js +0 -1
- package/web/.next/static/chunks/7e8e95a6c58eb733.js +0 -1
- package/web/.next/static/chunks/8a3a5f7c77067c87.js +0 -1
- package/web/.next/static/chunks/96662fc50bc09292.js +0 -1
- package/web/.next/static/chunks/df5714231d727c3d.js +0 -1
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_buildManifest.js +0 -0
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,935946,e=>{"use strict";var t=e.i(943698);e.s(["Paperclip",()=>t.default])},267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},943698,176505,57484,e=>{"use strict";var t=e.i(903645);let a=(0,t.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["default",()=>a],943698);let s=(0,t.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);e.s(["default",()=>s],176505),e.s(["FileIcon",()=>s],57484)},295230,e=>{"use strict";let t=(0,e.i(903645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},602287,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(90033),i=e.i(860253),l=e.i(131777);let r=s.Dialog.Root,n=s.Dialog.Trigger,d=s.Dialog.Portal,o=s.Dialog.Close,c=a.forwardRef(({className:e,onClick:a,...i},r)=>(0,t.jsx)(s.Dialog.Overlay,{ref:r,className:(0,l.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),a?.(e)},...i}));c.displayName=s.Dialog.Overlay.displayName;let m=a.forwardRef(({className:e,children:a,...r},n)=>(0,t.jsxs)(d,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,l.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...r,children:[a,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(i.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));m.displayName=s.Dialog.Content.displayName;let u=({className:e,...a})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...a});u.displayName="DialogHeader";let x=({className:e,...a})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});x.displayName="DialogFooter";let p=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(s.Dialog.Title,{ref:i,className:(0,l.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));p.displayName=s.Dialog.Title.displayName;let h=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(s.Dialog.Description,{ref:i,className:(0,l.cn)("text-muted-foreground text-sm",e),...a}));h.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>r,"DialogClose",()=>o,"DialogContent",()=>m,"DialogDescription",()=>h,"DialogFooter",()=>x,"DialogHeader",()=>u,"DialogTitle",()=>p,"DialogTrigger",()=>n])},723925,301012,e=>{"use strict";let t=(0,e.i(903645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],301012),e.s(["Check",()=>t],723925)},48306,e=>{"use strict";var t=e.i(679606),a=e.i(131777);function s({className:e,...s}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...s})}e.s(["Textarea",()=>s])},215131,e=>{"use strict";let t=(0,e.i(903645).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",()=>t])},958481,e=>{"use strict";var t=e.i(215131);e.s(["AlertTriangle",()=>t.default])},681181,e=>{"use strict";var t=e.i(295230);e.s(["Download",()=>t.default])},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},938518,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],938518)},405682,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(602287),i=e.i(735364),l=e.i(698127),r=e.i(141957),n=e.i(48306),d=e.i(547373),o=e.i(508893);let c=(0,o.createServerReference)("4061be24e31522ba802001e41cd511a28f6745e16e",o.callServer,void 0,o.findSourceMapURL,"createWorkItem");function m({open:e,onOpenChange:o,projectId:m,states:u,onCreated:x,parentId:p}){let[h,g]=(0,a.useState)(""),[f,j]=(0,a.useState)(""),[v,y]=(0,a.useState)(""),[N,b]=(0,a.useState)("None"),[k,w]=(0,a.useState)(null),[S,D]=(0,a.useState)(!1),I=async()=>{w(null),D(!0);try{let e=await c({projectId:m,title:h,description:f||void 0,stateId:v||void 0,priority:N||void 0,parentId:p??void 0});e.error?w(e.error):e.workItem&&(x(e.workItem),g(""),j(""),y(""),b("None"))}finally{D(!1)}};return(0,t.jsx)(s.Dialog,{open:e,onOpenChange:o,children:(0,t.jsxs)(s.DialogContent,{"data-testid":"create-work-item-dialog",children:[(0,t.jsx)(s.DialogHeader,{children:(0,t.jsx)(s.DialogTitle,{children:p?"Create Sub-item":"Create Work Item"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{htmlFor:"work-item-title",children:"Title"}),(0,t.jsx)(l.Input,{id:"work-item-title",value:h,onChange:e=>g(e.target.value),placeholder:"What needs to be done?","data-testid":"work-item-title-input"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{htmlFor:"work-item-desc",children:"Description (optional)"}),(0,t.jsx)(n.Textarea,{id:"work-item-desc",value:f,onChange:e=>j(e.target.value),placeholder:"Add more details...",rows:3,"data-testid":"work-item-desc-input"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{children:"State"}),(0,t.jsxs)(d.Select,{value:v,onValueChange:y,children:[(0,t.jsx)(d.SelectTrigger,{"data-testid":"work-item-state-select",children:(0,t.jsx)(d.SelectValue,{placeholder:"Default"})}),(0,t.jsx)(d.SelectContent,{children:u.map(e=>(0,t.jsx)(d.SelectItem,{value:e.id,children:e.name},e.id))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{children:"Priority"}),(0,t.jsxs)(d.Select,{value:N,onValueChange:b,children:[(0,t.jsx)(d.SelectTrigger,{"data-testid":"work-item-priority-select",children:(0,t.jsx)(d.SelectValue,{placeholder:"None"})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"None",children:"None"}),(0,t.jsx)(d.SelectItem,{value:"Low",children:"Low"}),(0,t.jsx)(d.SelectItem,{value:"Medium",children:"Medium"}),(0,t.jsx)(d.SelectItem,{value:"High",children:"High"}),(0,t.jsx)(d.SelectItem,{value:"Urgent",children:"Urgent"})]})]})]})]}),k?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-work-item-error",children:k}):null]}),(0,t.jsxs)(s.DialogFooter,{children:[(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>o(!1),disabled:S,children:"Cancel"}),(0,t.jsx)(i.Button,{onClick:I,disabled:!h.trim()||S,"data-testid":"create-work-item-submit",children:S?"Creating...":"Create"})]})]})})}e.s(["CreateWorkItemDialog",()=>m],405682)},149809,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(711434),i=e.i(938518),l=e.i(131777),r=e.i(735364),n=e.i(81846),d=e.i(903645);let o=(0,d.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);var c=e.i(860253),m=e.i(3214),u=e.i(83428),x=e.i(317406),p=e.i(508893);let h=(0,p.createServerReference)("40205d6530a9b131b22002eb98a56bd73e0a8eb218",p.callServer,void 0,p.findSourceMapURL,"listWorkItemRelations"),g=(0,p.createServerReference)("40dec5177111272d95ff2a4d9528d0830c8b5098ff",p.callServer,void 0,p.findSourceMapURL,"deleteWorkItemRelation");var f=e.i(602287),j=e.i(698127),v=e.i(141957),y=e.i(547373);let N=(0,p.createServerReference)("4053a05457cae54176c680192891387e798155ae5d",p.callServer,void 0,p.findSourceMapURL,"createWorkItemRelation"),b=[{value:x.RelationType.Blocking,label:"Blocking"},{value:x.RelationType.RelatesTo,label:"Relates to"},{value:x.RelationType.Duplicate,label:"Duplicate"},{value:x.RelationType.StartsBefore,label:"Starts before"},{value:x.RelationType.FinishesBefore,label:"Finishes before"}];function k({open:e,onOpenChange:s,sourceWorkItemId:i,onCreated:l}){let[n,d]=(0,a.useState)(x.RelationType.RelatesTo),[o,c]=(0,a.useState)(""),[m,u]=(0,a.useState)(null),[p,h]=(0,a.useState)(!1),g=async()=>{if(u(null),!o.trim())return void u("Target work item ID is required");h(!0);try{let e=await N({sourceWorkItemId:i,targetWorkItemId:o.trim(),relationType:n});e.error?u(e.error):e.relation&&(l(e.relation),c(""),d(x.RelationType.RelatesTo))}finally{h(!1)}};return(0,t.jsx)(f.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(f.DialogContent,{"data-testid":"add-relation-dialog",children:[(0,t.jsx)(f.DialogHeader,{children:(0,t.jsx)(f.DialogTitle,{children:"Add Relation"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"relation-type",children:"Relation Type"}),(0,t.jsxs)(y.Select,{value:n,onValueChange:d,children:[(0,t.jsx)(y.SelectTrigger,{"data-testid":"relation-type-select",children:(0,t.jsx)(y.SelectValue,{placeholder:"Select type"})}),(0,t.jsx)(y.SelectContent,{children:b.map(e=>(0,t.jsx)(y.SelectItem,{value:e.value,children:e.label},e.value))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"target-work-item",children:"Target Work Item ID"}),(0,t.jsx)(j.Input,{id:"target-work-item",value:o,onChange:e=>c(e.target.value),placeholder:"Enter work item ID or identifier","data-testid":"target-work-item-input"})]}),m?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"add-relation-error",children:m}):null]}),(0,t.jsxs)(f.DialogFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",onClick:()=>s(!1),disabled:p,children:"Cancel"}),(0,t.jsx)(r.Button,{onClick:g,disabled:!o.trim()||p,"data-testid":"add-relation-submit",children:p?"Adding...":"Add Relation"})]})]})})}let w={[x.RelationType.Blocking]:"Blocking",[x.RelationType.RelatesTo]:"Relates to",[x.RelationType.Duplicate]:"Duplicate of",[x.RelationType.StartsBefore]:"Starts before",[x.RelationType.FinishesBefore]:"Finishes before"};function S({workItemId:e,workItemsMap:s,projectPrefix:i,initialRelations:d,className:x}){let[p,f]=(0,a.useState)(d??[]),[j,v]=(0,a.useState)(!d),[y,N]=(0,a.useState)(null),[b,S]=(0,a.useState)(!1),[D,I]=(0,a.useState)(null),C=(0,a.useCallback)(async()=>{v(!0),N(null);let t=await h(e);t.error?N(t.error):t.relations&&f(t.relations),v(!1)},[e]);(0,a.useEffect)(()=>{d||C()},[C,d]);let T=async e=>{I(e);let t=await g(e);t.error?N(t.error):f(t=>t.filter(t=>t.id!==e)),I(null)},R=function(e){let t=new Map;for(let a of e){let e=t.get(a.relationType)??[];e.push(a),t.set(a.relationType,e)}return Array.from(t.entries()).map(([e,t])=>({type:e,items:t}))}(p);return(0,t.jsxs)("div",{"data-testid":"work-item-relations-panel",className:(0,l.cn)("space-y-3",x),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(o,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Relations"}),p.length>0&&(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:p.length})]}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-[10px]",onClick:()=>S(!0),"data-testid":"add-relation-btn",children:[(0,t.jsx)(m.Plus,{className:"mr-0.5 h-3 w-3"}),"Add"]})]}),j?(0,t.jsx)("div",{className:"flex items-center justify-center py-4","data-testid":"relations-loading",children:(0,t.jsx)(u.Loader2,{className:"text-muted-foreground h-4 w-4 animate-spin"})}):null,y?(0,t.jsx)("p",{className:"text-destructive text-[10px]","data-testid":"relations-error",children:y}):null,!j&&0===p.length&&!y&&(0,t.jsx)("p",{className:"text-muted-foreground py-2 text-center text-[10px]","data-testid":"relations-empty",children:"No relations yet."}),!j&&R.length>0&&(0,t.jsx)("div",{className:"space-y-2","data-testid":"relations-list",children:R.map(({type:a,items:l})=>(0,t.jsxs)("div",{"data-testid":`relation-group-${a}`,children:[(0,t.jsx)("span",{className:"text-muted-foreground mb-1 block text-[10px] font-medium",children:w[a]??a}),(0,t.jsx)("div",{className:"space-y-1",children:l.map(a=>{let l,d,o,m;return(0,t.jsxs)("div",{"data-testid":`relation-item-${a.id}`,className:"hover:bg-accent/50 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[(0,t.jsx)(n.Badge,{variant:"outline",className:"shrink-0 font-mono text-[10px]",children:(l=a.sourceWorkItemId===e?a.targetWorkItemId:a.sourceWorkItemId,(d=s.get(l))?`${i}-${d.sequenceId}`:l.substring(0,8))}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[11px]",children:(o=a.sourceWorkItemId===e?a.targetWorkItemId:a.sourceWorkItemId,m=s.get(o),m?.title??"Unknown item")}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-5 w-5 shrink-0 p-0",onClick:()=>T(a.id),disabled:D===a.id,"data-testid":`delete-relation-${a.id}`,children:D===a.id?(0,t.jsx)(u.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(c.X,{className:"h-3 w-3"})})]},a.id)})})]},a))}),(0,t.jsx)(k,{open:b,onOpenChange:S,sourceWorkItemId:e,onCreated:e=>{f(t=>[...t,e]),S(!1)}})]})}var D=e.i(976874),I=e.i(958481),C=e.i(405682);let T={Urgent:"bg-red-500/10 text-red-500",High:"bg-orange-500/10 text-orange-500",Medium:"bg-yellow-500/10 text-yellow-500",Low:"bg-blue-500/10 text-blue-500",None:"bg-muted text-muted-foreground"};function R({workItem:e,allWorkItems:s,states:i,projectPrefix:d,projectId:o,currentDepth:c=0,onSubItemClick:u,className:x}){let[p,h]=(0,a.useState)(!1),[g,f]=(0,a.useState)([]),j=new Map(i.map(e=>[e.id,e])),v=[...s.filter(t=>t.parentId===e.id),...g.filter(e=>!s.some(t=>t.id===e.id))],y=c>=2;return(0,t.jsxs)("div",{"data-testid":"sub-items-section",className:(0,l.cn)("space-y-3",x),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(D.Layers,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Sub-items"}),v.length>0&&(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:v.length})]}),!y&&(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-[10px]",onClick:()=>h(!0),"data-testid":"add-sub-item-btn",children:[(0,t.jsx)(m.Plus,{className:"mr-0.5 h-3 w-3"}),"Add"]})]}),y?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 rounded bg-yellow-500/10 px-2 py-1.5","data-testid":"max-depth-warning",children:[(0,t.jsx)(I.AlertTriangle,{className:"h-3 w-3 shrink-0 text-yellow-500"}),(0,t.jsxs)("span",{className:"text-[10px] text-yellow-600 dark:text-yellow-400",children:["Maximum nesting depth reached (",3," levels). Cannot add sub-items here."]})]}):null,0===v.length&&!y&&(0,t.jsx)("p",{className:"text-muted-foreground py-2 text-center text-[10px]","data-testid":"sub-items-empty",children:"No sub-items yet."}),v.length>0&&(0,t.jsx)("div",{className:"divide-y rounded-lg border","data-testid":"sub-items-list",children:v.map(e=>{let a=j.get(e.stateId),s=`${d}-${e.sequenceId}`;return(0,t.jsxs)("div",{"data-testid":`sub-item-${s}`,className:"hover:bg-accent/50 flex cursor-pointer items-center gap-3 px-3 py-2 transition-colors",onClick:()=>u?.(e),role:"button",tabIndex:0,onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&u?.(e)},children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 font-mono text-[10px]",children:s}),a?(0,t.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:a.color},title:a.name}):null,(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs",children:e.title}),e.priority&&"None"!==e.priority?(0,t.jsx)(n.Badge,{variant:"secondary",className:`shrink-0 text-[10px] ${T[e.priority]??""}`,children:e.priority}):null]},e.id)})}),!y&&(0,t.jsx)(C.CreateWorkItemDialog,{open:p,onOpenChange:h,projectId:o,states:i,onCreated:e=>{f(t=>[...t,e]),h(!1)},parentId:e.id})]})}var M=e.i(935946),B=e.i(267669),L=e.i(681181);let A=(0,d.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var z=e.i(57484);let $=(0,p.createServerReference)("4096eb7a74227f7be5173c0c928e0ca1c8d0254dc3",p.callServer,void 0,p.findSourceMapURL,"deleteAttachment");function W({workItemId:e,attachments:s,className:i}){let[n,d]=(0,a.useState)(s),[o,c]=(0,a.useState)(!1),m=(0,a.useRef)(null),u=(0,a.useCallback)(async t=>{if(t&&0!==t.length){c(!0);try{for(let a of Array.from(t)){let t=new FormData;t.append("file",a),t.append("workItemId",e);let s=await fetch("/api/pm-attachments/upload",{method:"POST",body:t});if(s.ok){let t=await s.json(),a={id:t.id,workItemId:e,filename:t.filename,mimeType:t.mimeType,fileSize:t.fileSize,storagePath:"",createdAt:new Date(t.createdAt),updatedAt:new Date(t.createdAt),deletedAt:void 0};d(e=>[...e,a])}}}finally{c(!1),m.current&&(m.current.value="")}}},[e]),x=(0,a.useCallback)(async e=>{(await $(e)).error||d(t=>t.filter(t=>t.id!==e))},[]),p=(0,a.useCallback)(e=>{window.open(`/api/pm-attachments/download?id=${e}`,"_blank")},[]);return(0,t.jsxs)("div",{"data-testid":"attachment-list",className:(0,l.cn)("space-y-3",i),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(M.Paperclip,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsxs)("span",{className:"text-xs font-medium",children:["Attachments ",n.length>0?`(${String(n.length)})`:""]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("input",{ref:m,type:"file",multiple:!0,className:"hidden",onChange:e=>u(e.target.files),"data-testid":"file-input"}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:()=>m.current?.click(),disabled:o,"data-testid":"upload-btn",children:[(0,t.jsx)(A,{className:"h-3 w-3"}),o?"Uploading...":"Upload"]})]})]}),0===n.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No attachments"}):(0,t.jsx)("div",{className:"space-y-1",children:n.map(e=>{var a;return(0,t.jsxs)("div",{"data-testid":`attachment-${e.id}`,className:"group hover:bg-accent/50 flex items-center gap-2 rounded-sm px-2 py-1 text-xs",children:[(0,t.jsx)(z.FileIcon,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 truncate",children:e.filename}),(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:(a=e.fileSize)<1024?`${String(a)} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}),(0,t.jsxs)("div",{className:"hidden gap-0.5 group-hover:flex",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>p(e.id),title:"Download",children:(0,t.jsx)(L.Download,{className:"h-3 w-3"})}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"text-destructive h-5 w-5 p-0",onClick:()=>x(e.id),title:"Delete",children:(0,t.jsx)(B.Trash2,{className:"h-3 w-3"})})]})]},e.id)})})]})}var F=e.i(655016);let P=(0,p.createServerReference)("706aad00f7a8d6d2d8dedbb250d1414b47500f3d40",p.callServer,void 0,p.findSourceMapURL,"logTimeEntry"),U=(0,p.createServerReference)("4012815040c347a2fb2d25fb4e15463991bec39ace",p.callServer,void 0,p.findSourceMapURL,"deleteTimeEntry");function H(e){if(e<60)return`${String(e)}m`;let t=Math.floor(e/60),a=e%60;return a>0?`${String(t)}h ${String(a)}m`:`${String(t)}h`}function V({workItemId:e,timeEntries:s,totalMinutes:i,className:n}){let[d,o]=(0,a.useState)(s),[c,u]=(0,a.useState)(i),[x,p]=(0,a.useState)(!1),[h,g]=(0,a.useState)(""),[f,v]=(0,a.useState)(""),[y,N]=(0,a.useState)(""),[b,k]=(0,a.useState)(!1),w=(0,a.useCallback)(async t=>{t.preventDefault();let a=60*(parseInt(h,10)||0)+(parseInt(f,10)||0);if(!(a<=0)){k(!0);try{let t=await P(e,a,y||void 0);t.timeEntry&&(o(e=>[t.timeEntry,...e]),u(e=>e+a),g(""),v(""),N(""),p(!1))}finally{k(!1)}}},[e,h,f,y]),S=(0,a.useCallback)(async(e,t)=>{(await U(e)).error||(o(t=>t.filter(t=>t.id!==e)),u(e=>e-t))},[]);return(0,t.jsxs)("div",{"data-testid":"time-entry-list",className:(0,l.cn)("space-y-3",n),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(F.Clock,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Time Logged"}),c>0?(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:["(",H(c)," total)"]}):null]}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:()=>p(!x),"data-testid":"log-time-btn",children:[(0,t.jsx)(m.Plus,{className:"h-3 w-3"}),"Log Time"]})]}),x?(0,t.jsxs)("form",{onSubmit:w,className:"bg-muted/50 space-y-2 rounded-md border p-2","data-testid":"log-time-form",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Input,{type:"number",min:"0",placeholder:"0",value:h,onChange:e=>g(e.target.value),className:"h-7 w-14 text-xs","data-testid":"hours-input"}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"h"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Input,{type:"number",min:"0",max:"59",placeholder:"0",value:f,onChange:e=>v(e.target.value),className:"h-7 w-14 text-xs","data-testid":"minutes-input"}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"m"})]})]}),(0,t.jsx)(j.Input,{placeholder:"Note (optional)",value:y,onChange:e=>N(e.target.value),className:"h-7 text-xs","data-testid":"note-input"}),(0,t.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,t.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-xs",onClick:()=>p(!1),children:"Cancel"}),(0,t.jsx)(r.Button,{type:"submit",size:"sm",className:"h-6 text-xs",disabled:b,"data-testid":"save-time-btn",children:b?"Saving...":"Save"})]})]}):null,0===d.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No time logged"}):(0,t.jsx)("div",{className:"space-y-1",children:d.map(e=>{var a;return(0,t.jsxs)("div",{"data-testid":`time-entry-${e.id}`,className:"group hover:bg-accent/50 flex items-center gap-2 rounded-sm px-2 py-1 text-xs",children:[(0,t.jsx)(F.Clock,{className:"text-muted-foreground h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"font-medium",children:H(e.durationMinutes)}),e.note?(0,t.jsx)("span",{className:"text-muted-foreground flex-1 truncate",children:e.note}):(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:("string"==typeof(a=e.loggedAt)?new Date(a):a).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}),(0,t.jsx)("div",{className:"hidden group-hover:flex",children:(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"text-destructive h-5 w-5 p-0",onClick:()=>S(e.id,e.durationMinutes),title:"Delete",children:(0,t.jsx)(B.Trash2,{className:"h-3 w-3"})})})]},e.id)})})]})}let E={Urgent:"bg-red-500/10 text-red-500",High:"bg-orange-500/10 text-orange-500",Medium:"bg-yellow-500/10 text-yellow-500",Low:"bg-blue-500/10 text-blue-500",None:"bg-muted text-muted-foreground"};function q({project:e,workItem:d,allWorkItems:o,states:c,relations:m,attachments:u,timeEntries:x,totalMinutes:p,className:h}){let g=(0,s.useRouter)(),f=new Map(c.map(e=>[e.id,e])),j=(0,a.useMemo)(()=>new Map(o.map(e=>[e.id,e])),[o]),v=f.get(d.stateId),y=`${e.identifierPrefix}-${d.sequenceId}`;return(0,t.jsxs)("div",{"data-testid":"work-item-detail",className:(0,l.cn)("space-y-6",h),children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>g.push(`/projects/${e.slug}`),"data-testid":"back-to-project",children:(0,t.jsx)(i.ArrowLeft,{className:"h-4 w-4"})}),(0,t.jsx)("span",{className:"text-muted-foreground font-mono text-xs",children:y}),v?(0,t.jsxs)(n.Badge,{variant:"outline",className:"text-[10px]",children:[(0,t.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full",style:{backgroundColor:v.color}}),v.name]}):null,d.priority&&"None"!==d.priority?(0,t.jsx)(n.Badge,{variant:"secondary",className:(0,l.cn)("text-[10px]",E[d.priority]),children:d.priority}):null]}),(0,t.jsx)("h1",{className:"text-lg font-bold tracking-tight",children:d.title}),d.description?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:d.description}):null]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Start Date"}),(0,t.jsx)("p",{className:"text-xs",children:d.startDate?new Date(d.startDate).toLocaleDateString():"—"})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Due Date"}),(0,t.jsx)("p",{className:"text-xs",children:d.dueDate?new Date(d.dueDate).toLocaleDateString():"—"})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Estimate"}),(0,t.jsx)("p",{className:"text-xs",children:d.estimateValue??"—"})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(R,{workItem:d,allWorkItems:o,states:c,projectPrefix:e.identifierPrefix,projectId:e.id,onSubItemClick:t=>{g.push(`/projects/${e.slug}/items/${t.id}`)}}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(S,{workItemId:d.id,workItemsMap:j,projectPrefix:e.identifierPrefix,initialRelations:m}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(W,{workItemId:d.id,attachments:u}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(V,{workItemId:d.id,timeEntries:x,totalMinutes:p})]})}e.s(["WorkItemDetailClient",()=>q],149809)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,935946,e=>{"use strict";var t=e.i(943698);e.s(["Paperclip",()=>t.default])},267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},943698,176505,57484,e=>{"use strict";var t=e.i(903645);let a=(0,t.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["default",()=>a],943698);let s=(0,t.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);e.s(["default",()=>s],176505),e.s(["FileIcon",()=>s],57484)},295230,e=>{"use strict";let t=(0,e.i(903645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},602287,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(90033),i=e.i(860253),l=e.i(131777);let r=s.Dialog.Root,n=s.Dialog.Trigger,d=s.Dialog.Portal,o=s.Dialog.Close,c=a.forwardRef(({className:e,onClick:a,...i},r)=>(0,t.jsx)(s.Dialog.Overlay,{ref:r,className:(0,l.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),a?.(e)},...i}));c.displayName=s.Dialog.Overlay.displayName;let m=a.forwardRef(({className:e,children:a,...r},n)=>(0,t.jsxs)(d,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,l.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...r,children:[a,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(i.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));m.displayName=s.Dialog.Content.displayName;let u=({className:e,...a})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...a});u.displayName="DialogHeader";let x=({className:e,...a})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});x.displayName="DialogFooter";let p=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(s.Dialog.Title,{ref:i,className:(0,l.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));p.displayName=s.Dialog.Title.displayName;let h=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(s.Dialog.Description,{ref:i,className:(0,l.cn)("text-muted-foreground text-sm",e),...a}));h.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>r,"DialogClose",()=>o,"DialogContent",()=>m,"DialogDescription",()=>h,"DialogFooter",()=>x,"DialogHeader",()=>u,"DialogTitle",()=>p,"DialogTrigger",()=>n])},723925,301012,e=>{"use strict";let t=(0,e.i(903645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],301012),e.s(["Check",()=>t],723925)},48306,e=>{"use strict";var t=e.i(679606),a=e.i(131777);function s({className:e,...s}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...s})}e.s(["Textarea",()=>s])},215131,e=>{"use strict";let t=(0,e.i(903645).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",()=>t])},958481,e=>{"use strict";var t=e.i(215131);e.s(["AlertTriangle",()=>t.default])},681181,e=>{"use strict";var t=e.i(295230);e.s(["Download",()=>t.default])},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},938518,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],938518)},405682,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(602287),i=e.i(735364),l=e.i(698127),r=e.i(141957),n=e.i(48306),d=e.i(547373),o=e.i(508893);let c=(0,o.createServerReference)("40636385d98667911ae36ddd516cdbe565fb9b8e8e",o.callServer,void 0,o.findSourceMapURL,"createWorkItem");function m({open:e,onOpenChange:o,projectId:m,states:u,onCreated:x,parentId:p}){let[h,g]=(0,a.useState)(""),[f,j]=(0,a.useState)(""),[v,y]=(0,a.useState)(""),[N,b]=(0,a.useState)("None"),[k,w]=(0,a.useState)(null),[S,D]=(0,a.useState)(!1),I=async()=>{w(null),D(!0);try{let e=await c({projectId:m,title:h,description:f||void 0,stateId:v||void 0,priority:N||void 0,parentId:p??void 0});e.error?w(e.error):e.workItem&&(x(e.workItem),g(""),j(""),y(""),b("None"))}finally{D(!1)}};return(0,t.jsx)(s.Dialog,{open:e,onOpenChange:o,children:(0,t.jsxs)(s.DialogContent,{"data-testid":"create-work-item-dialog",children:[(0,t.jsx)(s.DialogHeader,{children:(0,t.jsx)(s.DialogTitle,{children:p?"Create Sub-item":"Create Work Item"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{htmlFor:"work-item-title",children:"Title"}),(0,t.jsx)(l.Input,{id:"work-item-title",value:h,onChange:e=>g(e.target.value),placeholder:"What needs to be done?","data-testid":"work-item-title-input"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{htmlFor:"work-item-desc",children:"Description (optional)"}),(0,t.jsx)(n.Textarea,{id:"work-item-desc",value:f,onChange:e=>j(e.target.value),placeholder:"Add more details...",rows:3,"data-testid":"work-item-desc-input"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{children:"State"}),(0,t.jsxs)(d.Select,{value:v,onValueChange:y,children:[(0,t.jsx)(d.SelectTrigger,{"data-testid":"work-item-state-select",children:(0,t.jsx)(d.SelectValue,{placeholder:"Default"})}),(0,t.jsx)(d.SelectContent,{children:u.map(e=>(0,t.jsx)(d.SelectItem,{value:e.id,children:e.name},e.id))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{children:"Priority"}),(0,t.jsxs)(d.Select,{value:N,onValueChange:b,children:[(0,t.jsx)(d.SelectTrigger,{"data-testid":"work-item-priority-select",children:(0,t.jsx)(d.SelectValue,{placeholder:"None"})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"None",children:"None"}),(0,t.jsx)(d.SelectItem,{value:"Low",children:"Low"}),(0,t.jsx)(d.SelectItem,{value:"Medium",children:"Medium"}),(0,t.jsx)(d.SelectItem,{value:"High",children:"High"}),(0,t.jsx)(d.SelectItem,{value:"Urgent",children:"Urgent"})]})]})]})]}),k?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-work-item-error",children:k}):null]}),(0,t.jsxs)(s.DialogFooter,{children:[(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>o(!1),disabled:S,children:"Cancel"}),(0,t.jsx)(i.Button,{onClick:I,disabled:!h.trim()||S,"data-testid":"create-work-item-submit",children:S?"Creating...":"Create"})]})]})})}e.s(["CreateWorkItemDialog",()=>m],405682)},149809,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(711434),i=e.i(938518),l=e.i(131777),r=e.i(735364),n=e.i(81846),d=e.i(903645);let o=(0,d.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);var c=e.i(860253),m=e.i(3214),u=e.i(83428),x=e.i(317406),p=e.i(508893);let h=(0,p.createServerReference)("40c29901892151b65546c9268a084f54f971c117c1",p.callServer,void 0,p.findSourceMapURL,"listWorkItemRelations"),g=(0,p.createServerReference)("40e1f77c32877e96a2c1593f7dab6fc0fe764c624a",p.callServer,void 0,p.findSourceMapURL,"deleteWorkItemRelation");var f=e.i(602287),j=e.i(698127),v=e.i(141957),y=e.i(547373);let N=(0,p.createServerReference)("40bc7a5e1840955e7de30640750b60604830911dd7",p.callServer,void 0,p.findSourceMapURL,"createWorkItemRelation"),b=[{value:x.RelationType.Blocking,label:"Blocking"},{value:x.RelationType.RelatesTo,label:"Relates to"},{value:x.RelationType.Duplicate,label:"Duplicate"},{value:x.RelationType.StartsBefore,label:"Starts before"},{value:x.RelationType.FinishesBefore,label:"Finishes before"}];function k({open:e,onOpenChange:s,sourceWorkItemId:i,onCreated:l}){let[n,d]=(0,a.useState)(x.RelationType.RelatesTo),[o,c]=(0,a.useState)(""),[m,u]=(0,a.useState)(null),[p,h]=(0,a.useState)(!1),g=async()=>{if(u(null),!o.trim())return void u("Target work item ID is required");h(!0);try{let e=await N({sourceWorkItemId:i,targetWorkItemId:o.trim(),relationType:n});e.error?u(e.error):e.relation&&(l(e.relation),c(""),d(x.RelationType.RelatesTo))}finally{h(!1)}};return(0,t.jsx)(f.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(f.DialogContent,{"data-testid":"add-relation-dialog",children:[(0,t.jsx)(f.DialogHeader,{children:(0,t.jsx)(f.DialogTitle,{children:"Add Relation"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"relation-type",children:"Relation Type"}),(0,t.jsxs)(y.Select,{value:n,onValueChange:d,children:[(0,t.jsx)(y.SelectTrigger,{"data-testid":"relation-type-select",children:(0,t.jsx)(y.SelectValue,{placeholder:"Select type"})}),(0,t.jsx)(y.SelectContent,{children:b.map(e=>(0,t.jsx)(y.SelectItem,{value:e.value,children:e.label},e.value))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"target-work-item",children:"Target Work Item ID"}),(0,t.jsx)(j.Input,{id:"target-work-item",value:o,onChange:e=>c(e.target.value),placeholder:"Enter work item ID or identifier","data-testid":"target-work-item-input"})]}),m?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"add-relation-error",children:m}):null]}),(0,t.jsxs)(f.DialogFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",onClick:()=>s(!1),disabled:p,children:"Cancel"}),(0,t.jsx)(r.Button,{onClick:g,disabled:!o.trim()||p,"data-testid":"add-relation-submit",children:p?"Adding...":"Add Relation"})]})]})})}let w={[x.RelationType.Blocking]:"Blocking",[x.RelationType.RelatesTo]:"Relates to",[x.RelationType.Duplicate]:"Duplicate of",[x.RelationType.StartsBefore]:"Starts before",[x.RelationType.FinishesBefore]:"Finishes before"};function S({workItemId:e,workItemsMap:s,projectPrefix:i,initialRelations:d,className:x}){let[p,f]=(0,a.useState)(d??[]),[j,v]=(0,a.useState)(!d),[y,N]=(0,a.useState)(null),[b,S]=(0,a.useState)(!1),[D,I]=(0,a.useState)(null),C=(0,a.useCallback)(async()=>{v(!0),N(null);let t=await h(e);t.error?N(t.error):t.relations&&f(t.relations),v(!1)},[e]);(0,a.useEffect)(()=>{d||C()},[C,d]);let T=async e=>{I(e);let t=await g(e);t.error?N(t.error):f(t=>t.filter(t=>t.id!==e)),I(null)},R=function(e){let t=new Map;for(let a of e){let e=t.get(a.relationType)??[];e.push(a),t.set(a.relationType,e)}return Array.from(t.entries()).map(([e,t])=>({type:e,items:t}))}(p);return(0,t.jsxs)("div",{"data-testid":"work-item-relations-panel",className:(0,l.cn)("space-y-3",x),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(o,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Relations"}),p.length>0&&(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:p.length})]}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-[10px]",onClick:()=>S(!0),"data-testid":"add-relation-btn",children:[(0,t.jsx)(m.Plus,{className:"mr-0.5 h-3 w-3"}),"Add"]})]}),j?(0,t.jsx)("div",{className:"flex items-center justify-center py-4","data-testid":"relations-loading",children:(0,t.jsx)(u.Loader2,{className:"text-muted-foreground h-4 w-4 animate-spin"})}):null,y?(0,t.jsx)("p",{className:"text-destructive text-[10px]","data-testid":"relations-error",children:y}):null,!j&&0===p.length&&!y&&(0,t.jsx)("p",{className:"text-muted-foreground py-2 text-center text-[10px]","data-testid":"relations-empty",children:"No relations yet."}),!j&&R.length>0&&(0,t.jsx)("div",{className:"space-y-2","data-testid":"relations-list",children:R.map(({type:a,items:l})=>(0,t.jsxs)("div",{"data-testid":`relation-group-${a}`,children:[(0,t.jsx)("span",{className:"text-muted-foreground mb-1 block text-[10px] font-medium",children:w[a]??a}),(0,t.jsx)("div",{className:"space-y-1",children:l.map(a=>{let l,d,o,m;return(0,t.jsxs)("div",{"data-testid":`relation-item-${a.id}`,className:"hover:bg-accent/50 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[(0,t.jsx)(n.Badge,{variant:"outline",className:"shrink-0 font-mono text-[10px]",children:(l=a.sourceWorkItemId===e?a.targetWorkItemId:a.sourceWorkItemId,(d=s.get(l))?`${i}-${d.sequenceId}`:l.substring(0,8))}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[11px]",children:(o=a.sourceWorkItemId===e?a.targetWorkItemId:a.sourceWorkItemId,m=s.get(o),m?.title??"Unknown item")}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-5 w-5 shrink-0 p-0",onClick:()=>T(a.id),disabled:D===a.id,"data-testid":`delete-relation-${a.id}`,children:D===a.id?(0,t.jsx)(u.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(c.X,{className:"h-3 w-3"})})]},a.id)})})]},a))}),(0,t.jsx)(k,{open:b,onOpenChange:S,sourceWorkItemId:e,onCreated:e=>{f(t=>[...t,e]),S(!1)}})]})}var D=e.i(976874),I=e.i(958481),C=e.i(405682);let T={Urgent:"bg-red-500/10 text-red-500",High:"bg-orange-500/10 text-orange-500",Medium:"bg-yellow-500/10 text-yellow-500",Low:"bg-blue-500/10 text-blue-500",None:"bg-muted text-muted-foreground"};function R({workItem:e,allWorkItems:s,states:i,projectPrefix:d,projectId:o,currentDepth:c=0,onSubItemClick:u,className:x}){let[p,h]=(0,a.useState)(!1),[g,f]=(0,a.useState)([]),j=new Map(i.map(e=>[e.id,e])),v=[...s.filter(t=>t.parentId===e.id),...g.filter(e=>!s.some(t=>t.id===e.id))],y=c>=2;return(0,t.jsxs)("div",{"data-testid":"sub-items-section",className:(0,l.cn)("space-y-3",x),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(D.Layers,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Sub-items"}),v.length>0&&(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:v.length})]}),!y&&(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-[10px]",onClick:()=>h(!0),"data-testid":"add-sub-item-btn",children:[(0,t.jsx)(m.Plus,{className:"mr-0.5 h-3 w-3"}),"Add"]})]}),y?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 rounded bg-yellow-500/10 px-2 py-1.5","data-testid":"max-depth-warning",children:[(0,t.jsx)(I.AlertTriangle,{className:"h-3 w-3 shrink-0 text-yellow-500"}),(0,t.jsxs)("span",{className:"text-[10px] text-yellow-600 dark:text-yellow-400",children:["Maximum nesting depth reached (",3," levels). Cannot add sub-items here."]})]}):null,0===v.length&&!y&&(0,t.jsx)("p",{className:"text-muted-foreground py-2 text-center text-[10px]","data-testid":"sub-items-empty",children:"No sub-items yet."}),v.length>0&&(0,t.jsx)("div",{className:"divide-y rounded-lg border","data-testid":"sub-items-list",children:v.map(e=>{let a=j.get(e.stateId),s=`${d}-${e.sequenceId}`;return(0,t.jsxs)("div",{"data-testid":`sub-item-${s}`,className:"hover:bg-accent/50 flex cursor-pointer items-center gap-3 px-3 py-2 transition-colors",onClick:()=>u?.(e),role:"button",tabIndex:0,onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&u?.(e)},children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 font-mono text-[10px]",children:s}),a?(0,t.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:a.color},title:a.name}):null,(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs",children:e.title}),e.priority&&"None"!==e.priority?(0,t.jsx)(n.Badge,{variant:"secondary",className:`shrink-0 text-[10px] ${T[e.priority]??""}`,children:e.priority}):null]},e.id)})}),!y&&(0,t.jsx)(C.CreateWorkItemDialog,{open:p,onOpenChange:h,projectId:o,states:i,onCreated:e=>{f(t=>[...t,e]),h(!1)},parentId:e.id})]})}var M=e.i(935946),B=e.i(267669),L=e.i(681181);let A=(0,d.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var z=e.i(57484);let $=(0,p.createServerReference)("40b45e76c0dfcfccf2bdca106deab7ce262d8c0061",p.callServer,void 0,p.findSourceMapURL,"deleteAttachment");function W({workItemId:e,attachments:s,className:i}){let[n,d]=(0,a.useState)(s),[o,c]=(0,a.useState)(!1),m=(0,a.useRef)(null),u=(0,a.useCallback)(async t=>{if(t&&0!==t.length){c(!0);try{for(let a of Array.from(t)){let t=new FormData;t.append("file",a),t.append("workItemId",e);let s=await fetch("/api/pm-attachments/upload",{method:"POST",body:t});if(s.ok){let t=await s.json(),a={id:t.id,workItemId:e,filename:t.filename,mimeType:t.mimeType,fileSize:t.fileSize,storagePath:"",createdAt:new Date(t.createdAt),updatedAt:new Date(t.createdAt),deletedAt:void 0};d(e=>[...e,a])}}}finally{c(!1),m.current&&(m.current.value="")}}},[e]),x=(0,a.useCallback)(async e=>{(await $(e)).error||d(t=>t.filter(t=>t.id!==e))},[]),p=(0,a.useCallback)(e=>{window.open(`/api/pm-attachments/download?id=${e}`,"_blank")},[]);return(0,t.jsxs)("div",{"data-testid":"attachment-list",className:(0,l.cn)("space-y-3",i),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(M.Paperclip,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsxs)("span",{className:"text-xs font-medium",children:["Attachments ",n.length>0?`(${String(n.length)})`:""]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("input",{ref:m,type:"file",multiple:!0,className:"hidden",onChange:e=>u(e.target.files),"data-testid":"file-input"}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:()=>m.current?.click(),disabled:o,"data-testid":"upload-btn",children:[(0,t.jsx)(A,{className:"h-3 w-3"}),o?"Uploading...":"Upload"]})]})]}),0===n.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No attachments"}):(0,t.jsx)("div",{className:"space-y-1",children:n.map(e=>{var a;return(0,t.jsxs)("div",{"data-testid":`attachment-${e.id}`,className:"group hover:bg-accent/50 flex items-center gap-2 rounded-sm px-2 py-1 text-xs",children:[(0,t.jsx)(z.FileIcon,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 truncate",children:e.filename}),(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:(a=e.fileSize)<1024?`${String(a)} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}),(0,t.jsxs)("div",{className:"hidden gap-0.5 group-hover:flex",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>p(e.id),title:"Download",children:(0,t.jsx)(L.Download,{className:"h-3 w-3"})}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"text-destructive h-5 w-5 p-0",onClick:()=>x(e.id),title:"Delete",children:(0,t.jsx)(B.Trash2,{className:"h-3 w-3"})})]})]},e.id)})})]})}var F=e.i(655016);let P=(0,p.createServerReference)("70a1fc040014919375f6f7760f9b2c82c2a10f99d9",p.callServer,void 0,p.findSourceMapURL,"logTimeEntry"),U=(0,p.createServerReference)("401c414577d8f49aa91111cc7e7c512560c9e51f1f",p.callServer,void 0,p.findSourceMapURL,"deleteTimeEntry");function H(e){if(e<60)return`${String(e)}m`;let t=Math.floor(e/60),a=e%60;return a>0?`${String(t)}h ${String(a)}m`:`${String(t)}h`}function V({workItemId:e,timeEntries:s,totalMinutes:i,className:n}){let[d,o]=(0,a.useState)(s),[c,u]=(0,a.useState)(i),[x,p]=(0,a.useState)(!1),[h,g]=(0,a.useState)(""),[f,v]=(0,a.useState)(""),[y,N]=(0,a.useState)(""),[b,k]=(0,a.useState)(!1),w=(0,a.useCallback)(async t=>{t.preventDefault();let a=60*(parseInt(h,10)||0)+(parseInt(f,10)||0);if(!(a<=0)){k(!0);try{let t=await P(e,a,y||void 0);t.timeEntry&&(o(e=>[t.timeEntry,...e]),u(e=>e+a),g(""),v(""),N(""),p(!1))}finally{k(!1)}}},[e,h,f,y]),S=(0,a.useCallback)(async(e,t)=>{(await U(e)).error||(o(t=>t.filter(t=>t.id!==e)),u(e=>e-t))},[]);return(0,t.jsxs)("div",{"data-testid":"time-entry-list",className:(0,l.cn)("space-y-3",n),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(F.Clock,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Time Logged"}),c>0?(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:["(",H(c)," total)"]}):null]}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:()=>p(!x),"data-testid":"log-time-btn",children:[(0,t.jsx)(m.Plus,{className:"h-3 w-3"}),"Log Time"]})]}),x?(0,t.jsxs)("form",{onSubmit:w,className:"bg-muted/50 space-y-2 rounded-md border p-2","data-testid":"log-time-form",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Input,{type:"number",min:"0",placeholder:"0",value:h,onChange:e=>g(e.target.value),className:"h-7 w-14 text-xs","data-testid":"hours-input"}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"h"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Input,{type:"number",min:"0",max:"59",placeholder:"0",value:f,onChange:e=>v(e.target.value),className:"h-7 w-14 text-xs","data-testid":"minutes-input"}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"m"})]})]}),(0,t.jsx)(j.Input,{placeholder:"Note (optional)",value:y,onChange:e=>N(e.target.value),className:"h-7 text-xs","data-testid":"note-input"}),(0,t.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,t.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-xs",onClick:()=>p(!1),children:"Cancel"}),(0,t.jsx)(r.Button,{type:"submit",size:"sm",className:"h-6 text-xs",disabled:b,"data-testid":"save-time-btn",children:b?"Saving...":"Save"})]})]}):null,0===d.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No time logged"}):(0,t.jsx)("div",{className:"space-y-1",children:d.map(e=>{var a;return(0,t.jsxs)("div",{"data-testid":`time-entry-${e.id}`,className:"group hover:bg-accent/50 flex items-center gap-2 rounded-sm px-2 py-1 text-xs",children:[(0,t.jsx)(F.Clock,{className:"text-muted-foreground h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"font-medium",children:H(e.durationMinutes)}),e.note?(0,t.jsx)("span",{className:"text-muted-foreground flex-1 truncate",children:e.note}):(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:("string"==typeof(a=e.loggedAt)?new Date(a):a).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}),(0,t.jsx)("div",{className:"hidden group-hover:flex",children:(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"text-destructive h-5 w-5 p-0",onClick:()=>S(e.id,e.durationMinutes),title:"Delete",children:(0,t.jsx)(B.Trash2,{className:"h-3 w-3"})})})]},e.id)})})]})}let E={Urgent:"bg-red-500/10 text-red-500",High:"bg-orange-500/10 text-orange-500",Medium:"bg-yellow-500/10 text-yellow-500",Low:"bg-blue-500/10 text-blue-500",None:"bg-muted text-muted-foreground"};function q({project:e,workItem:d,allWorkItems:o,states:c,relations:m,attachments:u,timeEntries:x,totalMinutes:p,className:h}){let g=(0,s.useRouter)(),f=new Map(c.map(e=>[e.id,e])),j=(0,a.useMemo)(()=>new Map(o.map(e=>[e.id,e])),[o]),v=f.get(d.stateId),y=`${e.identifierPrefix}-${d.sequenceId}`;return(0,t.jsxs)("div",{"data-testid":"work-item-detail",className:(0,l.cn)("space-y-6",h),children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>g.push(`/projects/${e.slug}`),"data-testid":"back-to-project",children:(0,t.jsx)(i.ArrowLeft,{className:"h-4 w-4"})}),(0,t.jsx)("span",{className:"text-muted-foreground font-mono text-xs",children:y}),v?(0,t.jsxs)(n.Badge,{variant:"outline",className:"text-[10px]",children:[(0,t.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full",style:{backgroundColor:v.color}}),v.name]}):null,d.priority&&"None"!==d.priority?(0,t.jsx)(n.Badge,{variant:"secondary",className:(0,l.cn)("text-[10px]",E[d.priority]),children:d.priority}):null]}),(0,t.jsx)("h1",{className:"text-lg font-bold tracking-tight",children:d.title}),d.description?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:d.description}):null]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Start Date"}),(0,t.jsx)("p",{className:"text-xs",children:d.startDate?new Date(d.startDate).toLocaleDateString():"—"})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Due Date"}),(0,t.jsx)("p",{className:"text-xs",children:d.dueDate?new Date(d.dueDate).toLocaleDateString():"—"})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Estimate"}),(0,t.jsx)("p",{className:"text-xs",children:d.estimateValue??"—"})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(R,{workItem:d,allWorkItems:o,states:c,projectPrefix:e.identifierPrefix,projectId:e.id,onSubItemClick:t=>{g.push(`/projects/${e.slug}/items/${t.id}`)}}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(S,{workItemId:d.id,workItemsMap:j,projectPrefix:e.identifierPrefix,initialRelations:m}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(W,{workItemId:d.id,attachments:u}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(V,{workItemId:d.id,timeEntries:x,totalMinutes:p})]})}e.s(["WorkItemDetailClient",()=>q],149809)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,283843,e=>{"use strict";let t=(0,e.i(903645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",()=>t],283843)},731255,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40b261f4a8b7a49d8515c4c6549ec95dcd699e0e9c",t.callServer,void 0,t.findSourceMapURL,"createFeature");e.s(["createFeature",()=>r])},34562,630616,e=>{"use strict";var t=e.i(679606),r=e.i(152155);e.i(541001);var a=e.i(64780),s=e.i(216868),i=e.i(283843),o=e.i(197667),l=e.i(453360),n=e.i(655016),c=e.i(591925),d=e.i(83428),p=e.i(381542),u=e.i(670471),h=e.i(912103),m=e.i(43416),x=e.i(542049),f=e.i(941698),g=e.i(131777),b=e.i(808361);e.i(1650);var j=e.i(511495),w=e.i(845811),v=e.i(735364),C=e.i(698127),y=e.i(48306),k=e.i(141957),N=e.i(81846),D=e.i(390382),T=e.i(951911),S=e.i(102828),F=e.i(930153);e.i(650032);var P=e.i(486254),L=e.i(508893);let z=(0,L.createServerReference)("405f890c86a99e8c688d671eba87b7d1d5bb517c4d",L.callServer,void 0,L.findSourceMapURL,"getViewerPermission");var E=e.i(41413),R=e.i(425235),U=e.i(478521);e.i(13322);var A=e.i(961201),M=e.i(175921),I=e.i(790427),O=e.i(442076);let K=["application","fast","spec"],$={application:{icon:x.LayoutGrid,labelKey:"createDrawer.modeApplication"},fast:{icon:l.Zap,labelKey:"createDrawer.modeFast"},spec:{icon:f.ClipboardList,labelKey:"createDrawer.modeSpec"}},B=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),G={allowPrd:!1,allowPlan:!1,allowMerge:!1};function q({open:e,onClose:i,onSubmit:o,repositoryPath:l,isSubmitting:c=!1,workflowDefaults:d,features:x,repositories:f,initialParentId:C,currentAgentType:D,currentModel:L,initialDescription:R,canPushDirectly:U,initialMode:A}){let M=(0,b.useSoundAction)("create"),{t:I}=(0,a.useTranslation)("web"),q=l&&(!f||0===f.length||f.some(e=>e.path===l))?l:"",J=d?.approvalGates??G,V=d?.push??!1,H=d?.openPr??!1,Q=d?.ciWatchEnabled!==!1,X=d?.enableEvidence??!1,Y=d?.commitEvidence??!1,_=A||(d?.fast===!1?"application":"fast"),[ee,et]=(0,r.useState)(R??"");(0,r.useEffect)(()=>{R&&et(R)},[R]);let[er,ea]=(0,r.useState)([]),[es,ei]=(0,r.useState)({...J}),[eo,el]=(0,r.useState)(V),[en,ec]=(0,r.useState)(H),[ed,ep]=(0,r.useState)(d?.ciWatchEnabled!==!1),[eu,eh]=(0,r.useState)(X),[em,ex]=(0,r.useState)(Y),[ef,eg]=(0,r.useState)(void 0),[eb,ej]=(0,r.useState)(_),ew="fast"===eb,[ev,eC]=(0,r.useState)(!1),[ey,ek]=(0,r.useState)(!1),[eN,eD]=(0,r.useState)(!0),[eT,eS]=(0,r.useState)(!0),[eF,eP]=(0,r.useState)(d?.injectSkills??!1),[eL,ez]=(0,r.useState)(void 0),[eE,eR]=(0,r.useState)(void 0),[eU,eA]=(0,r.useState)(q||void 0),[eM,eI]=(0,r.useState)(f??[]),[eO,eK]=(0,r.useState)(!1),[e$,eB]=(0,r.useState)(null),[eG,eq]=(0,r.useState)(!1),eW=(0,r.useRef)(crypto.randomUUID()),eZ=(0,r.useRef)(0),eJ=(0,r.useRef)(null);(0,r.useEffect)(()=>{d&&(ei({...d.approvalGates}),el(d.push),ec(d.openPr),ep(!1!==d.ciWatchEnabled),eh(d.enableEvidence),ex(d.commitEvidence),A||ej(!1!==d.fast?"fast":"application"),eP(d.injectSkills??!1))},[d,A]),(0,r.useEffect)(()=>{eI(f??[])},[f]),(0,r.useEffect)(()=>{e&&C&&eg(C)},[e,C]);let[eV,eH]=(0,r.useState)(U??!1);(0,r.useEffect)(()=>{eH(U??!1)},[U]);let eQ=(0,r.useRef)(eU);(0,r.useEffect)(()=>{eU&&eU!==eQ.current&&(eQ.current=eU,z(eU).then(e=>eH(e.canPushDirectly)).catch(()=>eH(!1)))},[eU]),(0,r.useEffect)(()=>{eV&&(ek(!1),el(V),ec(H),eD(!0))},[eV,V,H]);let eX=(0,r.useCallback)(()=>{et(""),ea([]),ei({...J}),el(V),ec(H),ep(Q),eh(X),ex(Y),eg(void 0),eA(q||void 0),eI(f??[]),ej(_),eC(!1),ek(!1),eD(!0),eS(!0),ez(void 0),eR(void 0),eB(null),eZ.current=0,eK(!1)},[J,V,H,X,Q,Y,_,q,f]),eY=""!==ee.trim()||er.length>0,{attemptClose:e_}=(0,F.useGuardedDrawerClose)({open:e,isDirty:eY,onClose:i,onReset:eX}),e0=(0,r.useCallback)(async e=>{for(let t of(eB(null),e)){if(t.size>0xa00000)return void eB(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!B.has(e))return void eB(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();ea(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eW.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));ea(t=>t.filter(t=>t.id!==e)),eB(t.error??"Upload failed");return}let s=await a.json();ea(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{ea(t=>t.filter(t=>t.id!==e)),eB("Upload failed")}}},[]),e1=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current+=1,1===eZ.current&&eK(!0)},[]),e5=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current-=1,0===eZ.current&&eK(!1)},[]),e4=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),e2=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current=0,eK(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&e0(t)},[e0]),e3=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),e0(r))},[e0]),e6=(0,r.useCallback)(e=>{if(e.preventDefault(),!ee.trim())return;let t=eU??q;t&&(M.play(),o({description:ee.trim(),attachments:er.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:es.allowPrd??!1,allowPlan:es.allowPlan??!1,allowMerge:es.allowMerge??!1},push:!!ey||eo||en,openPr:!!ey||en,ciWatchEnabled:ed,enableEvidence:eu,commitEvidence:em,fast:ew,forkAndPr:ey,commitSpecs:eN,rebaseBeforeBranch:eT,injectSkills:eF,...ev?{pending:ev}:{},...eL?{agentType:eL}:{},...eE?{model:eE}:{},...ef?{parentId:ef}:{},sessionId:eW.current}),eX())},[ee,er,es,eU,q,o,eo,en,eu,ed,em,ew,ey,eN,eT,eF,ev,eL,eE,ef,M,eX]),e8=(0,r.useCallback)(async()=>{try{let e=await (0,O.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();ea(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eW.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));ea(t=>t.filter(t=>t.id!==e)),eB(t.error??"Upload failed");return}let a=await r.json();ea(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{ea(t=>t.filter(t=>t.id!==e)),eB("Upload failed")}}}catch{}},[]),e9=(0,r.useCallback)(e=>{ea(t=>t.filter(t=>t.id!==e))},[]),e7=(0,r.useCallback)((e,t)=>{ea(r=>r.map(r=>r.id===e?{...r,notes:t}:r))},[]),te=(0,r.useRef)(null),tt=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),te.current?.requestSubmit())},[]),tr=(0,r.useCallback)(()=>{eq(!0)},[]),ta=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eJ.current?.contains(document.activeElement),t=eJ.current?.querySelector('[aria-expanded="true"]')!==null;e||t||eq(!1)},0)},[]),ts=x&&x.length>0,ti=!q&&!eU,to=!q&&void 0!==f,tl=[{id:"allowPrd",label:I("createDrawer.prd"),description:I("createDrawer.prdDescription")},{id:"allowPlan",label:I("createDrawer.plan"),description:I("createDrawer.planDescription")},{id:"allowMerge",label:I("createDrawer.merge"),description:I("createDrawer.mergeDescription")}];return(0,t.jsx)(j.BaseDrawer,{open:e,onClose:e_,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(w.DrawerTitle,{children:I("createDrawer.title")})]}),c?(0,t.jsx)(w.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(N.Badge,{variant:"secondary",children:I("createDrawer.creating")})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(v.Button,{variant:"outline",onClick:e_,disabled:c,children:I("createDrawer.cancel")}),(0,t.jsx)(v.Button,{type:"submit",form:"create-feature-form",disabled:!ee.trim()||c||ti,children:c?I("createDrawer.creating"):I("createDrawer.createFeature")})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(S.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:te,id:"create-feature-form",onSubmit:e6,onKeyDown:tt,className:"flex flex-col gap-4",children:[to?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.repository")}),(0,t.jsx)(Z,{repositories:eM,value:eU,onChange:eA,onAddRepository:e=>{eI(t=>[...t,e]),eA(e.path)},disabled:c})]}):q?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.repository")}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:f?.find(e=>e.path===q)?.name??q.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":I("createDrawer.fileDropZone"),"data-drag-over":eO?"true":"false",onDragEnter:e1,onDragLeave:e5,onDragOver:e4,onDrop:e2,className:(0,g.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",eO&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(k.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.describeFeature")}),(0,t.jsxs)("div",{ref:eJ,onFocus:tr,onBlur:ta,className:(0,g.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eG&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(y.Textarea,{id:"feature-description",placeholder:I("createDrawer.featurePlaceholder"),value:ee,onChange:e=>et(e.target.value),onPaste:e3,required:!0,disabled:c,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),er.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:er.map(e=>(0,t.jsx)(P.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>e9(e.id),disabled:c,loading:e.loading,notes:e.notes,onNotesChange:t=>e7(e.id,t)},e.id))}),e$?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:e$}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(E.AgentModelPicker,{initialAgentType:eL??D??"claude-code",initialModel:eE??L??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{ez(e),eR(t)},disabled:c,className:"w-55"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(T.Switch,{id:"pending-mode",checked:ev,onCheckedChange:eC,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(n.Clock,{className:"h-3.5 w-3.5"}),I("createDrawer.pendingMode")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.pendingModeDescription")})]}),(0,t.jsx)("div",{role:"group","aria-label":I("createDrawer.modeGroupLabel"),className:"border-input flex items-center gap-0.5 rounded-md border p-0.5",children:K.map(e=>{let r=$[e],a=r.icon,s=eb===e;return(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","data-testid":`build-mode-${e}`,"aria-pressed":s,disabled:c,onClick:()=>ej(e),className:(0,g.cn)("flex cursor-pointer items-center gap-1 rounded-sm px-2 py-1 text-xs font-medium transition-colors",s?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground","disabled:cursor-not-allowed disabled:opacity-50"),children:[(0,t.jsx)(a,{className:"h-3.5 w-3.5"}),I(r.labelKey)]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I(`${r.labelKey}Description`)})]},e)})}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:e8,disabled:c,"aria-label":I("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(s.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("chat.attachFiles")})]})]})]})]}),ts&&void 0!==C?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(k.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.parentFeature")}),(0,t.jsx)(W,{features:x,value:ef,onChange:eg,disabled:c})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.approve")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.approveDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:tl.map(e=>(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:`approve-${e.id}`,size:"sm",checked:es[e.id]??!1,onCheckedChange:t=>ei(r=>({...r,[e.id]:t})),disabled:c||ew&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(k.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ew&&("allowPrd"===e.id||"allowPlan"===e.id)?I("createDrawer.skippedInFastMode"):e.description})]},e.id))}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=tl.every(e=>es[e.id]),t={};for(let r of tl)t[r.id]=!e;ei(t)},disabled:c,className:(0,g.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",tl.every(e=>es[e.id])&&"text-primary"),children:I("createDrawer.all")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.toggleAllApprovalGates")})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.evidence")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.evidenceDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"enable-evidence",size:"sm",checked:eu,onCheckedChange:e=>{eh(e),e||ex(!1)},disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:I("createDrawer.collect")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.collectDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-evidence",size:"sm",checked:em,onCheckedChange:ex,disabled:c||!eu||!en&&!ey}),(0,t.jsx)(k.Label,{htmlFor:"commit-evidence",className:(0,g.cn)("cursor-pointer text-xs font-medium",(!eu||!en&&!ey)&&"opacity-50"),children:I("createDrawer.addToPr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:en||ey?eu?I("createDrawer.addToPrDescription"):I("createDrawer.requiresEvidence"):I("createDrawer.requiresPr")})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.skills")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.skillsDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"inject-skills",size:"sm",checked:eF,onCheckedChange:eP,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(h.Puzzle,{className:"h-3 w-3"}),I("createDrawer.injectSkills")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.injectSkillsDescription")})]})})]}),(0,t.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:I("createDrawer.git")}),(0,t.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"push",size:"sm",checked:!!ey||eo||en,onCheckedChange:e=>{el(e),!e&&en&&ec(!1)},disabled:c||ey}),(0,t.jsx)(k.Label,{htmlFor:"push",className:(0,g.cn)("cursor-pointer text-xs font-medium",ey&&"opacity-50"),children:I("createDrawer.push")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ey?"Enabled — contributing to upstream":I("createDrawer.pushDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"open-pr",size:"sm",checked:!!ey||en,onCheckedChange:e=>{ec(e),e||ex(!1)},disabled:c||ey}),(0,t.jsx)(k.Label,{htmlFor:"open-pr",className:(0,g.cn)("cursor-pointer text-xs font-medium",ey&&"opacity-50"),children:I("createDrawer.pr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ey?"Enabled — contributing to upstream":I("createDrawer.prDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"ci-watch",size:"sm",checked:ed,onCheckedChange:ep,disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:I("createDrawer.watch")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.watchDescription")})]}),(0,t.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"rebase-before-branch",size:"sm",checked:eT,onCheckedChange:eS,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(m.RefreshCw,{className:"h-3 w-3"}),I("createDrawer.sync")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.syncDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-specs",size:"sm",checked:eN,onCheckedChange:eD,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(u.FileText,{className:"h-3 w-3"}),I("createDrawer.commitSpecs")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.commitSpecsDescription")})]}),!eV&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"fork-and-pr",size:"sm",checked:ey,onCheckedChange:e=>{ek(e),e&&eD(!1)},disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(p.GitFork,{className:"h-3 w-3"}),I("createDrawer.forkAndPr")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function W({features:e,value:s,onChange:l,disabled:n}){let{t:c}=(0,a.useTranslation)("web"),[d,p]=(0,r.useState)(!1),[u,h]=(0,r.useState)(""),m=(0,r.useRef)(null),x=e.find(e=>e.id===s),f=u.trim()?e.filter(e=>e.name.toLowerCase().includes(u.toLowerCase())||e.id.toLowerCase().includes(u.toLowerCase())):e,b=(0,r.useCallback)(e=>{l(e),p(!1),h("")},[l]);return(0,r.useEffect)(()=>{d?setTimeout(()=>m.current?.focus(),0):h("")},[d]),(0,t.jsxs)(D.Popover,{open:d,onOpenChange:p,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":d,"aria-label":"Parent Feature",disabled:n,"data-testid":"parent-feature-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!x&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:x?`${x.name} (${x.id.slice(0,8)})`:c("createDrawer.selectParent")}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(C.Input,{ref:m,placeholder:c("createDrawer.searchFeatures"),value:u,onChange:e=>h(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===s,onClick:()=>b(void 0),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===s&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",void 0!==s&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:c("createDrawer.noParent")})]}),0===f.length&&u?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:c("createDrawer.noFeaturesFound")}):f.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.id,onClick:()=>b(e.id),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",s!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function Z({repositories:e,value:s,onChange:l,onAddRepository:n,disabled:u}){let[h,m]=(0,r.useState)(!1),[x,f]=(0,r.useState)(""),[b,j]=(0,r.useState)(!1),[w,v]=(0,r.useState)(null),[y,k]=(0,r.useState)(!1),T=(0,r.useRef)(null),{reactFileManager:S}=(0,M.useFeatureFlags)(),{t:F}=(0,a.useTranslation)("web"),P=e.find(e=>e.path===s),L=x.trim()?e.filter(e=>e.name.toLowerCase().includes(x.toLowerCase())||e.path.toLowerCase().includes(x.toLowerCase())):e,z=(0,r.useCallback)(e=>{l(e),m(!1),f("")},[l]),E=(0,r.useCallback)(async e=>{let t=await (0,I.addRepository)({path:e});if(t.error){v(t.error),j(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};n?.(e),l(e.path),m(!1),f("")}},[n,l]),O=(0,r.useCallback)(async()=>{if(!b){if(S)return void k(!0);j(!0),v(null);try{let e=await (0,U.pickFolder)();if(!e)return void j(!1);await E(e)}catch{k(!0)}finally{j(!1)}}},[b,S,E]),K=(0,r.useCallback)(async e=>{if(k(!1),e){j(!0),v(null);try{await E(e)}catch(e){v(e instanceof Error?e.message:"Failed to add repository")}finally{j(!1)}}},[E]);return(0,r.useEffect)(()=>{h?setTimeout(()=>T.current?.focus(),0):f("")},[h]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(D.Popover,{open:h,onOpenChange:m,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":h,"aria-label":"Repository",disabled:u,"data-testid":"repository-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!P&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:P?P.name:"Select repository..."}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(C.Input,{ref:T,placeholder:F("createDrawer.searchRepositories"),value:x,onChange:e=>f(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===L.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):L.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.path,onClick:()=>z(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",s!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[e.name,e.isFork?(0,t.jsxs)(N.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,t.jsx)(p.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(R.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:O,disabled:b,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[b?(0,t.jsx)(d.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(c.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),w?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:w}):null]})})]}),(0,t.jsx)(A.ReactFileManagerDialog,{open:y,onOpenChange:e=>{e||k(!1)},onSelect:K})]})}e.s(["FeatureCreateDrawer",()=>q],630616),e.s([],34562)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,993192,e=>{"use strict";let t=(0,e.i(903645).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);e.s(["Package",()=>t],993192)},938518,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],938518)},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},220206,(e,t,r)=>{"use strict";var i=e.r(152155),n=e.r(56032),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useSyncExternalStore,l=i.useRef,s=i.useEffect,u=i.useMemo,c=i.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,i,n){var f=l(null);if(null===f.current){var d={hasValue:!1,value:null};f.current=d}else d=f.current;var h=o(e,(f=u(function(){function e(e){if(!s){if(s=!0,o=e,e=i(e),void 0!==n&&d.hasValue){var t=d.value;if(n(t,e))return l=t}return l=e}if(t=l,a(o,e))return t;var r=i(e);return void 0!==n&&n(t,r)?(o=e,t):(o=e,l=r)}var o,l,s=!1,u=void 0===r?null:r;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,r,i,n]))[0],f[1]);return s(function(){d.hasValue=!0,d.value=h},[h]),c(h),h}},596482,(e,t,r)=>{"use strict";t.exports=e.r(220206)},161610,321137,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var i in t)r[i]=t[i];return r}function i(){}var n="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",l=/^#([0-9a-f]{3,8})$/,s=RegExp(`^rgb\\(${n},${n},${n}\\)$`),u=RegExp(`^rgb\\(${o},${o},${o}\\)$`),c=RegExp(`^rgba\\(${n},${n},${n},${a}\\)$`),f=RegExp(`^rgba\\(${o},${o},${o},${a}\\)$`),d=RegExp(`^hsl\\(${a},${o},${o}\\)$`),h=RegExp(`^hsla\\(${a},${o},${o},${a}\\)$`),x={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function p(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function y(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=l.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?m(t):3===r?new w(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?b(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?b(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=s.exec(e))?new w(t[1],t[2],t[3],1):(t=u.exec(e))?new w(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=c.exec(e))?b(t[1],t[2],t[3],t[4]):(t=f.exec(e))?b(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=d.exec(e))?E(t[1],t[2]/100,t[3]/100,1):(t=h.exec(e))?E(t[1],t[2]/100,t[3]/100,t[4]):x.hasOwnProperty(e)?m(x[e]):"transparent"===e?new w(NaN,NaN,NaN,0):null}function m(e){return new w(e>>16&255,e>>8&255,255&e,1)}function b(e,t,r,i){return i<=0&&(e=t=r=NaN),new w(e,t,r,i)}function v(e,t,r,n){var a;return 1==arguments.length?((a=e)instanceof i||(a=y(a)),a)?new w((a=a.rgb()).r,a.g,a.b,a.opacity):new w:new w(e,t,r,null==n?1:n)}function w(e,t,r,i){this.r=+e,this.g=+t,this.b=+r,this.opacity=+i}function N(){return`#${$(this.r)}${$(this.g)}${$(this.b)}`}function j(){let e=k(this.opacity);return`${1===e?"rgb(":"rgba("}${S(this.r)}, ${S(this.g)}, ${S(this.b)}${1===e?")":`, ${e})`}`}function k(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function S(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $(e){return((e=S(e))<16?"0":"")+e.toString(16)}function E(e,t,r,i){return i<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new O(e,t,r,i)}function M(e){if(e instanceof O)return new O(e.h,e.s,e.l,e.opacity);if(e instanceof i||(e=y(e)),!e)return new O;if(e instanceof O)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),l=NaN,s=o-a,u=(o+a)/2;return s?(l=t===o?(r-n)/s+(r<n)*6:r===o?(n-t)/s+2:(t-r)/s+4,s/=u<.5?o+a:2-o-a,l*=60):s=u>0&&u<1?0:l,new O(l,s,u,e.opacity)}function O(e,t,r,i){this.h=+e,this.s=+t,this.l=+r,this.opacity=+i}function I(e){return(e=(e||0)%360)<0?e+360:e}function A(e){return Math.max(0,Math.min(1,e||0))}function C(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(i,y,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:p,formatHex:p,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return M(this).formatHsl()},formatRgb:g,toString:g}),t(w,v,r(i,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new w(S(this.r),S(this.g),S(this.b),k(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:N,formatHex:N,formatHex8:function(){return`#${$(this.r)}${$(this.g)}${$(this.b)}${$((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:j,toString:j})),t(O,function(e,t,r,i){return 1==arguments.length?M(e):new O(e,t,r,null==i?1:i)},r(i,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new O(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new O(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*t,n=2*r-i;return new w(C(e>=240?e-240:e+120,n,i),C(e,n,i),C(e<120?e+240:e-120,n,i),this.opacity)},clamp(){return new O(I(this.h),A(this.s),A(this.l),k(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=k(this.opacity);return`${1===e?"hsl(":"hsla("}${I(this.h)}, ${100*A(this.s)}%, ${100*A(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["default",()=>y,"rgb",()=>v],321137),e.s(["color",()=>y],161610)},145665,181503,e=>{"use strict";var t=e.i(321137);function r(e,t,r,i,n){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*i+o*n)/6}let i=e=>()=>e;function n(e,t){var r=t-e;return r?function(t){return e+t*r}:i(isNaN(e)?t:e)}e.s(["default",0,i],181503);let a=function e(r){var a,o=1==(a=+r)?n:function(e,t){var r,n,o;return t-e?(r=e,n=t,r=Math.pow(r,o=a),n=Math.pow(n,o)-r,o=1/o,function(e){return Math.pow(r+e*n,o)}):i(isNaN(e)?t:e)};function l(e,r){var i=o((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),a=o(e.g,r.g),l=o(e.b,r.b),s=n(e.opacity,r.opacity);return function(t){return e.r=i(t),e.g=a(t),e.b=l(t),e.opacity=s(t),e+""}}return l.gamma=e,l}(1);function o(e){return function(r){var i,n,a=r.length,o=Array(a),l=Array(a),s=Array(a);for(i=0;i<a;++i)n=(0,t.rgb)(r[i]),o[i]=n.r||0,l[i]=n.g||0,s[i]=n.b||0;return o=e(o),l=e(l),s=e(s),n.opacity=1,function(e){return n.r=o(e),n.g=l(e),n.b=s(e),n+""}}}o(function(e){var t=e.length-1;return function(i){var n=i<=0?i=0:i>=1?(i=1,t-1):Math.floor(i*t),a=e[n],o=e[n+1],l=n>0?e[n-1]:2*a-o,s=n<t-1?e[n+2]:2*o-a;return r((i-n/t)*t,l,a,o,s)}}),o(function(e){var t=e.length;return function(i){var n=Math.floor(((i%=1)<0?++i:i)*t),a=e[(n+t-1)%t],o=e[n%t],l=e[(n+1)%t],s=e[(n+2)%t];return r((i-n/t)*t,a,o,l,s)}}),e.s(["default",0,a],145665)},819505,238816,97376,e=>{"use strict";e.s(["genericArray",()=>i],819505);var t=e.i(213570);function r(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function i(e,r){var i,n=r?r.length:0,a=e?Math.min(n,e.length):0,o=Array(a),l=Array(n);for(i=0;i<a;++i)o[i]=(0,t.default)(e[i],r[i]);for(;i<n;++i)l[i]=r[i];return function(e){for(i=0;i<a;++i)l[i]=o[i](e);return l}}e.s(["default",0,function(e,t){t||(t=[]);var r,i=e?Math.min(t.length,e.length):0,n=t.slice();return function(a){for(r=0;r<i;++r)n[r]=e[r]*(1-a)+t[r]*a;return n}},"isNumberArray",()=>r],238816),e.s(["default",0,function(e,t){var r=new Date;return e*=1,t*=1,function(i){return r.setTime(e*(1-i)+t*i),r}}],97376)},842541,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},905660,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(213570);function r(e,r){var i,n={},a={};for(i in(null===e||"object"!=typeof e)&&(e={}),(null===r||"object"!=typeof r)&&(r={}),r)i in e?n[i]=(0,t.default)(e[i],r[i]):a[i]=r[i];return function(e){for(i in n)a[i]=n[i](e);return a}}},647483,e=>{"use strict";var t=e.i(842541),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,i=RegExp(r.source,"g");e.s(["default",0,function(e,n){var a,o,l,s,u,c=r.lastIndex=i.lastIndex=0,f=-1,d=[],h=[];for(e+="",n+="";(l=r.exec(e))&&(s=i.exec(n));)(u=s.index)>c&&(u=n.slice(c,u),d[f]?d[f]+=u:d[++f]=u),(l=l[0])===(s=s[0])?d[f]?d[f]+=s:d[++f]=s:(d[++f]=null,h.push({i:f,x:(0,t.default)(l,s)})),c=i.lastIndex;return c<n.length&&(u=n.slice(c),d[f]?d[f]+=u:d[++f]=u),d.length<2?h[0]?(a=h[0].x,function(e){return a(e)+""}):(o=n,function(){return o}):(n=h.length,function(e){for(var t,r=0;r<n;++r)d[(t=h[r]).i]=t.x(e);return d.join("")})}])},678152,213570,e=>{"use strict";e.s(["default",()=>c],213570);var t=e.i(161610),r=e.i(145665),i=e.i(819505),n=e.i(97376),a=e.i(842541),o=e.i(905660),l=e.i(647483),s=e.i(181503),u=e.i(238816);function c(e,c){var f,d=typeof c;return null==c||"boolean"===d?(0,s.default)(c):("number"===d?a.default:"string"===d?(f=(0,t.color)(c))?(c=f,r.default):l.default:c instanceof t.color?r.default:c instanceof Date?n.default:(0,u.isNumberArray)(c)?u.default:Array.isArray(c)?i.genericArray:"function"!=typeof c.valueOf&&"function"!=typeof c.toString||isNaN(c)?o.default:a.default)(e,c)}e.s(["interpolate",0,c],678152)},77075,e=>{"use strict";var t=e.i(842541);e.s(["interpolateNumber",()=>t.default])},204461,804796,e=>{"use strict";var t=e.i(679606),r=e.i(152155),i=e.i(735364),n=e.i(81846),a=e.i(317406),o=e.i(508893);let l=(0,o.createServerReference)("602eeb753dd957f78598061215d9cd55e31296a383",o.callServer,void 0,o.findSourceMapURL,"updatePmProject");e.s(["updatePmProject",()=>l],804796);let s=[{value:a.EstimateType.None,label:"None",description:"No estimates"},{value:a.EstimateType.Category,label:"T-Shirt Sizes",description:"XS, S, M, L, XL"},{value:a.EstimateType.Points,label:"Fibonacci Points",description:"1, 2, 3, 5, 8, 13, 21"}];function u({projectId:e,currentEstimateType:a,onEstimateTypeChange:o,className:u}){let[c,f]=(0,r.useState)(a),[d,h]=(0,r.useState)(!1),x=async t=>{t!==c&&(f(t),h(!0),await l(e,{estimateType:t}),h(!1),o?.(t))};return(0,t.jsxs)("div",{"data-testid":"estimate-settings",className:u,children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center gap-2",children:[(0,t.jsx)("h3",{className:"text-xs font-medium",children:"Estimate System"}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:"Saving..."}):null]}),(0,t.jsx)("div",{className:"space-y-2",children:s.map(e=>(0,t.jsx)(i.Button,{variant:c===e.value?"default":"outline",size:"sm",className:"h-auto w-full justify-start px-3 py-2 text-left",onClick:()=>x(e.value),"data-testid":`estimate-option-${e.value}`,children:(0,t.jsxs)("div",{className:"flex w-full items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,t.jsx)("span",{className:"text-muted-foreground ml-2 text-[10px]",children:e.description})]}),c===e.value?(0,t.jsx)(n.Badge,{variant:"secondary",className:"text-[10px]",children:"Active"}):null]})},e.value))})]})}e.s(["EstimateSettings",()=>u],204461)},405682,e=>{"use strict";var t=e.i(679606),r=e.i(152155),i=e.i(602287),n=e.i(735364),a=e.i(698127),o=e.i(141957),l=e.i(48306),s=e.i(547373),u=e.i(508893);let c=(0,u.createServerReference)("4061be24e31522ba802001e41cd511a28f6745e16e",u.callServer,void 0,u.findSourceMapURL,"createWorkItem");function f({open:e,onOpenChange:u,projectId:f,states:d,onCreated:h,parentId:x}){let[p,g]=(0,r.useState)(""),[y,m]=(0,r.useState)(""),[b,v]=(0,r.useState)(""),[w,N]=(0,r.useState)("None"),[j,k]=(0,r.useState)(null),[S,$]=(0,r.useState)(!1),E=async()=>{k(null),$(!0);try{let e=await c({projectId:f,title:p,description:y||void 0,stateId:b||void 0,priority:w||void 0,parentId:x??void 0});e.error?k(e.error):e.workItem&&(h(e.workItem),g(""),m(""),v(""),N("None"))}finally{$(!1)}};return(0,t.jsx)(i.Dialog,{open:e,onOpenChange:u,children:(0,t.jsxs)(i.DialogContent,{"data-testid":"create-work-item-dialog",children:[(0,t.jsx)(i.DialogHeader,{children:(0,t.jsx)(i.DialogTitle,{children:x?"Create Sub-item":"Create Work Item"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Label,{htmlFor:"work-item-title",children:"Title"}),(0,t.jsx)(a.Input,{id:"work-item-title",value:p,onChange:e=>g(e.target.value),placeholder:"What needs to be done?","data-testid":"work-item-title-input"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Label,{htmlFor:"work-item-desc",children:"Description (optional)"}),(0,t.jsx)(l.Textarea,{id:"work-item-desc",value:y,onChange:e=>m(e.target.value),placeholder:"Add more details...",rows:3,"data-testid":"work-item-desc-input"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Label,{children:"State"}),(0,t.jsxs)(s.Select,{value:b,onValueChange:v,children:[(0,t.jsx)(s.SelectTrigger,{"data-testid":"work-item-state-select",children:(0,t.jsx)(s.SelectValue,{placeholder:"Default"})}),(0,t.jsx)(s.SelectContent,{children:d.map(e=>(0,t.jsx)(s.SelectItem,{value:e.id,children:e.name},e.id))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Label,{children:"Priority"}),(0,t.jsxs)(s.Select,{value:w,onValueChange:N,children:[(0,t.jsx)(s.SelectTrigger,{"data-testid":"work-item-priority-select",children:(0,t.jsx)(s.SelectValue,{placeholder:"None"})}),(0,t.jsxs)(s.SelectContent,{children:[(0,t.jsx)(s.SelectItem,{value:"None",children:"None"}),(0,t.jsx)(s.SelectItem,{value:"Low",children:"Low"}),(0,t.jsx)(s.SelectItem,{value:"Medium",children:"Medium"}),(0,t.jsx)(s.SelectItem,{value:"High",children:"High"}),(0,t.jsx)(s.SelectItem,{value:"Urgent",children:"Urgent"})]})]})]})]}),j?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-work-item-error",children:j}):null]}),(0,t.jsxs)(i.DialogFooter,{children:[(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>u(!1),disabled:S,children:"Cancel"}),(0,t.jsx)(n.Button,{onClick:E,disabled:!p.trim()||S,"data-testid":"create-work-item-submit",children:S?"Creating...":"Create"})]})]})})}e.s(["CreateWorkItemDialog",()=>f],405682)},606581,e=>{"use strict";function t(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var r="function"==typeof Symbol&&Symbol.observable||"@@observable",i=()=>Math.random().toString(36).substring(7).split("").join("."),n={INIT:`@@redux/INIT${i()}`,REPLACE:`@@redux/REPLACE${i()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${i()}`};function a(e){if("object"!=typeof e||null===e)return!1;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||null===Object.getPrototypeOf(e)}function o(e,i,l){if("function"!=typeof e)throw Error(t(2));if("function"==typeof i&&"function"==typeof l||"function"==typeof l&&"function"==typeof arguments[3])throw Error(t(0));if("function"==typeof i&&void 0===l&&(l=i,i=void 0),void 0!==l){if("function"!=typeof l)throw Error(t(1));return l(o)(e,i)}let s=e,u=i,c=new Map,f=c,d=0,h=!1;function x(){f===c&&(f=new Map,c.forEach((e,t)=>{f.set(t,e)}))}function p(){if(h)throw Error(t(3));return u}function g(e){if("function"!=typeof e)throw Error(t(4));if(h)throw Error(t(5));let r=!0;x();let i=d++;return f.set(i,e),function(){if(r){if(h)throw Error(t(6));r=!1,x(),f.delete(i),c=null}}}function y(e){if(!a(e))throw Error(t(7));if(void 0===e.type)throw Error(t(8));if("string"!=typeof e.type)throw Error(t(17));if(h)throw Error(t(9));try{h=!0,u=s(u,e)}finally{h=!1}return(c=f).forEach(e=>{e()}),e}return y({type:n.INIT}),{dispatch:y,subscribe:g,getState:p,replaceReducer:function(e){if("function"!=typeof e)throw Error(t(10));s=e,y({type:n.REPLACE})},[r]:function(){return{subscribe(e){if("object"!=typeof e||null===e)throw Error(t(11));function r(){e.next&&e.next(p())}return r(),{unsubscribe:g(r)}},[r](){return this}}}}}function l(e){let r,i=Object.keys(e),a={};for(let t=0;t<i.length;t++){let r=i[t];"function"==typeof e[r]&&(a[r]=e[r])}let o=Object.keys(a);try{Object.keys(a).forEach(e=>{let r=a[e];if(void 0===r(void 0,{type:n.INIT}))throw Error(t(12));if(void 0===r(void 0,{type:n.PROBE_UNKNOWN_ACTION()}))throw Error(t(13))})}catch(e){r=e}return function(e={},i){if(r)throw r;let n=!1,l={};for(let r=0;r<o.length;r++){let s=o[r],u=a[s],c=e[s],f=u(c,i);if(void 0===f)throw i&&i.type,Error(t(14));l[s]=f,n=n||f!==c}return(n=n||o.length!==Object.keys(e).length)?l:e}}function s(...e){return 0===e.length?e=>e:1===e.length?e[0]:e.reduce((e,t)=>(...r)=>e(t(...r)))}function u(...e){return r=>(i,n)=>{let a=r(i,n),o=()=>{throw Error(t(15))},l={getState:a.getState,dispatch:(e,...t)=>o(e,...t)};return o=s(...e.map(e=>e(l)))(a.dispatch),{...a,dispatch:o}}}function c(e){return a(e)&&"type"in e&&"string"==typeof e.type}e.s(["applyMiddleware",()=>u,"combineReducers",()=>l,"compose",()=>s,"createStore",()=>o,"isAction",()=>c,"isPlainObject",()=>a])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,993192,e=>{"use strict";let t=(0,e.i(903645).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);e.s(["Package",()=>t],993192)},938518,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],938518)},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},220206,(e,t,r)=>{"use strict";var i=e.r(152155),n=e.r(56032),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useSyncExternalStore,l=i.useRef,s=i.useEffect,u=i.useMemo,c=i.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,i,n){var f=l(null);if(null===f.current){var d={hasValue:!1,value:null};f.current=d}else d=f.current;var h=o(e,(f=u(function(){function e(e){if(!s){if(s=!0,o=e,e=i(e),void 0!==n&&d.hasValue){var t=d.value;if(n(t,e))return l=t}return l=e}if(t=l,a(o,e))return t;var r=i(e);return void 0!==n&&n(t,r)?(o=e,t):(o=e,l=r)}var o,l,s=!1,u=void 0===r?null:r;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,r,i,n]))[0],f[1]);return s(function(){d.hasValue=!0,d.value=h},[h]),c(h),h}},596482,(e,t,r)=>{"use strict";t.exports=e.r(220206)},161610,321137,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var i in t)r[i]=t[i];return r}function i(){}var n="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",l=/^#([0-9a-f]{3,8})$/,s=RegExp(`^rgb\\(${n},${n},${n}\\)$`),u=RegExp(`^rgb\\(${o},${o},${o}\\)$`),c=RegExp(`^rgba\\(${n},${n},${n},${a}\\)$`),f=RegExp(`^rgba\\(${o},${o},${o},${a}\\)$`),d=RegExp(`^hsl\\(${a},${o},${o}\\)$`),h=RegExp(`^hsla\\(${a},${o},${o},${a}\\)$`),x={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function p(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function y(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=l.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?b(t):3===r?new w(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?m(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?m(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=s.exec(e))?new w(t[1],t[2],t[3],1):(t=u.exec(e))?new w(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=c.exec(e))?m(t[1],t[2],t[3],t[4]):(t=f.exec(e))?m(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=d.exec(e))?E(t[1],t[2]/100,t[3]/100,1):(t=h.exec(e))?E(t[1],t[2]/100,t[3]/100,t[4]):x.hasOwnProperty(e)?b(x[e]):"transparent"===e?new w(NaN,NaN,NaN,0):null}function b(e){return new w(e>>16&255,e>>8&255,255&e,1)}function m(e,t,r,i){return i<=0&&(e=t=r=NaN),new w(e,t,r,i)}function v(e,t,r,n){var a;return 1==arguments.length?((a=e)instanceof i||(a=y(a)),a)?new w((a=a.rgb()).r,a.g,a.b,a.opacity):new w:new w(e,t,r,null==n?1:n)}function w(e,t,r,i){this.r=+e,this.g=+t,this.b=+r,this.opacity=+i}function N(){return`#${$(this.r)}${$(this.g)}${$(this.b)}`}function j(){let e=k(this.opacity);return`${1===e?"rgb(":"rgba("}${S(this.r)}, ${S(this.g)}, ${S(this.b)}${1===e?")":`, ${e})`}`}function k(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function S(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $(e){return((e=S(e))<16?"0":"")+e.toString(16)}function E(e,t,r,i){return i<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new O(e,t,r,i)}function M(e){if(e instanceof O)return new O(e.h,e.s,e.l,e.opacity);if(e instanceof i||(e=y(e)),!e)return new O;if(e instanceof O)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),l=NaN,s=o-a,u=(o+a)/2;return s?(l=t===o?(r-n)/s+(r<n)*6:r===o?(n-t)/s+2:(t-r)/s+4,s/=u<.5?o+a:2-o-a,l*=60):s=u>0&&u<1?0:l,new O(l,s,u,e.opacity)}function O(e,t,r,i){this.h=+e,this.s=+t,this.l=+r,this.opacity=+i}function I(e){return(e=(e||0)%360)<0?e+360:e}function A(e){return Math.max(0,Math.min(1,e||0))}function C(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(i,y,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:p,formatHex:p,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return M(this).formatHsl()},formatRgb:g,toString:g}),t(w,v,r(i,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new w(S(this.r),S(this.g),S(this.b),k(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:N,formatHex:N,formatHex8:function(){return`#${$(this.r)}${$(this.g)}${$(this.b)}${$((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:j,toString:j})),t(O,function(e,t,r,i){return 1==arguments.length?M(e):new O(e,t,r,null==i?1:i)},r(i,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new O(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new O(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*t,n=2*r-i;return new w(C(e>=240?e-240:e+120,n,i),C(e,n,i),C(e<120?e+240:e-120,n,i),this.opacity)},clamp(){return new O(I(this.h),A(this.s),A(this.l),k(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=k(this.opacity);return`${1===e?"hsl(":"hsla("}${I(this.h)}, ${100*A(this.s)}%, ${100*A(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["default",()=>y,"rgb",()=>v],321137),e.s(["color",()=>y],161610)},145665,181503,e=>{"use strict";var t=e.i(321137);function r(e,t,r,i,n){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*i+o*n)/6}let i=e=>()=>e;function n(e,t){var r=t-e;return r?function(t){return e+t*r}:i(isNaN(e)?t:e)}e.s(["default",0,i],181503);let a=function e(r){var a,o=1==(a=+r)?n:function(e,t){var r,n,o;return t-e?(r=e,n=t,r=Math.pow(r,o=a),n=Math.pow(n,o)-r,o=1/o,function(e){return Math.pow(r+e*n,o)}):i(isNaN(e)?t:e)};function l(e,r){var i=o((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),a=o(e.g,r.g),l=o(e.b,r.b),s=n(e.opacity,r.opacity);return function(t){return e.r=i(t),e.g=a(t),e.b=l(t),e.opacity=s(t),e+""}}return l.gamma=e,l}(1);function o(e){return function(r){var i,n,a=r.length,o=Array(a),l=Array(a),s=Array(a);for(i=0;i<a;++i)n=(0,t.rgb)(r[i]),o[i]=n.r||0,l[i]=n.g||0,s[i]=n.b||0;return o=e(o),l=e(l),s=e(s),n.opacity=1,function(e){return n.r=o(e),n.g=l(e),n.b=s(e),n+""}}}o(function(e){var t=e.length-1;return function(i){var n=i<=0?i=0:i>=1?(i=1,t-1):Math.floor(i*t),a=e[n],o=e[n+1],l=n>0?e[n-1]:2*a-o,s=n<t-1?e[n+2]:2*o-a;return r((i-n/t)*t,l,a,o,s)}}),o(function(e){var t=e.length;return function(i){var n=Math.floor(((i%=1)<0?++i:i)*t),a=e[(n+t-1)%t],o=e[n%t],l=e[(n+1)%t],s=e[(n+2)%t];return r((i-n/t)*t,a,o,l,s)}}),e.s(["default",0,a],145665)},819505,238816,97376,e=>{"use strict";e.s(["genericArray",()=>i],819505);var t=e.i(213570);function r(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function i(e,r){var i,n=r?r.length:0,a=e?Math.min(n,e.length):0,o=Array(a),l=Array(n);for(i=0;i<a;++i)o[i]=(0,t.default)(e[i],r[i]);for(;i<n;++i)l[i]=r[i];return function(e){for(i=0;i<a;++i)l[i]=o[i](e);return l}}e.s(["default",0,function(e,t){t||(t=[]);var r,i=e?Math.min(t.length,e.length):0,n=t.slice();return function(a){for(r=0;r<i;++r)n[r]=e[r]*(1-a)+t[r]*a;return n}},"isNumberArray",()=>r],238816),e.s(["default",0,function(e,t){var r=new Date;return e*=1,t*=1,function(i){return r.setTime(e*(1-i)+t*i),r}}],97376)},842541,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},905660,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(213570);function r(e,r){var i,n={},a={};for(i in(null===e||"object"!=typeof e)&&(e={}),(null===r||"object"!=typeof r)&&(r={}),r)i in e?n[i]=(0,t.default)(e[i],r[i]):a[i]=r[i];return function(e){for(i in n)a[i]=n[i](e);return a}}},647483,e=>{"use strict";var t=e.i(842541),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,i=RegExp(r.source,"g");e.s(["default",0,function(e,n){var a,o,l,s,u,c=r.lastIndex=i.lastIndex=0,f=-1,d=[],h=[];for(e+="",n+="";(l=r.exec(e))&&(s=i.exec(n));)(u=s.index)>c&&(u=n.slice(c,u),d[f]?d[f]+=u:d[++f]=u),(l=l[0])===(s=s[0])?d[f]?d[f]+=s:d[++f]=s:(d[++f]=null,h.push({i:f,x:(0,t.default)(l,s)})),c=i.lastIndex;return c<n.length&&(u=n.slice(c),d[f]?d[f]+=u:d[++f]=u),d.length<2?h[0]?(a=h[0].x,function(e){return a(e)+""}):(o=n,function(){return o}):(n=h.length,function(e){for(var t,r=0;r<n;++r)d[(t=h[r]).i]=t.x(e);return d.join("")})}])},678152,213570,e=>{"use strict";e.s(["default",()=>c],213570);var t=e.i(161610),r=e.i(145665),i=e.i(819505),n=e.i(97376),a=e.i(842541),o=e.i(905660),l=e.i(647483),s=e.i(181503),u=e.i(238816);function c(e,c){var f,d=typeof c;return null==c||"boolean"===d?(0,s.default)(c):("number"===d?a.default:"string"===d?(f=(0,t.color)(c))?(c=f,r.default):l.default:c instanceof t.color?r.default:c instanceof Date?n.default:(0,u.isNumberArray)(c)?u.default:Array.isArray(c)?i.genericArray:"function"!=typeof c.valueOf&&"function"!=typeof c.toString||isNaN(c)?o.default:a.default)(e,c)}e.s(["interpolate",0,c],678152)},77075,e=>{"use strict";var t=e.i(842541);e.s(["interpolateNumber",()=>t.default])},204461,499915,e=>{"use strict";var t=e.i(679606),r=e.i(152155),i=e.i(735364),n=e.i(81846),a=e.i(317406),o=e.i(508893);let l=(0,o.createServerReference)("60bb2893aaa264de4d37c6822549157d222c12e77e",o.callServer,void 0,o.findSourceMapURL,"updatePmProject");e.s(["updatePmProject",()=>l],499915);let s=[{value:a.EstimateType.None,label:"None",description:"No estimates"},{value:a.EstimateType.Category,label:"T-Shirt Sizes",description:"XS, S, M, L, XL"},{value:a.EstimateType.Points,label:"Fibonacci Points",description:"1, 2, 3, 5, 8, 13, 21"}];function u({projectId:e,currentEstimateType:a,onEstimateTypeChange:o,className:u}){let[c,f]=(0,r.useState)(a),[d,h]=(0,r.useState)(!1),x=async t=>{t!==c&&(f(t),h(!0),await l(e,{estimateType:t}),h(!1),o?.(t))};return(0,t.jsxs)("div",{"data-testid":"estimate-settings",className:u,children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center gap-2",children:[(0,t.jsx)("h3",{className:"text-xs font-medium",children:"Estimate System"}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:"Saving..."}):null]}),(0,t.jsx)("div",{className:"space-y-2",children:s.map(e=>(0,t.jsx)(i.Button,{variant:c===e.value?"default":"outline",size:"sm",className:"h-auto w-full justify-start px-3 py-2 text-left",onClick:()=>x(e.value),"data-testid":`estimate-option-${e.value}`,children:(0,t.jsxs)("div",{className:"flex w-full items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,t.jsx)("span",{className:"text-muted-foreground ml-2 text-[10px]",children:e.description})]}),c===e.value?(0,t.jsx)(n.Badge,{variant:"secondary",className:"text-[10px]",children:"Active"}):null]})},e.value))})]})}e.s(["EstimateSettings",()=>u],204461)},405682,e=>{"use strict";var t=e.i(679606),r=e.i(152155),i=e.i(602287),n=e.i(735364),a=e.i(698127),o=e.i(141957),l=e.i(48306),s=e.i(547373),u=e.i(508893);let c=(0,u.createServerReference)("40636385d98667911ae36ddd516cdbe565fb9b8e8e",u.callServer,void 0,u.findSourceMapURL,"createWorkItem");function f({open:e,onOpenChange:u,projectId:f,states:d,onCreated:h,parentId:x}){let[p,g]=(0,r.useState)(""),[y,b]=(0,r.useState)(""),[m,v]=(0,r.useState)(""),[w,N]=(0,r.useState)("None"),[j,k]=(0,r.useState)(null),[S,$]=(0,r.useState)(!1),E=async()=>{k(null),$(!0);try{let e=await c({projectId:f,title:p,description:y||void 0,stateId:m||void 0,priority:w||void 0,parentId:x??void 0});e.error?k(e.error):e.workItem&&(h(e.workItem),g(""),b(""),v(""),N("None"))}finally{$(!1)}};return(0,t.jsx)(i.Dialog,{open:e,onOpenChange:u,children:(0,t.jsxs)(i.DialogContent,{"data-testid":"create-work-item-dialog",children:[(0,t.jsx)(i.DialogHeader,{children:(0,t.jsx)(i.DialogTitle,{children:x?"Create Sub-item":"Create Work Item"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Label,{htmlFor:"work-item-title",children:"Title"}),(0,t.jsx)(a.Input,{id:"work-item-title",value:p,onChange:e=>g(e.target.value),placeholder:"What needs to be done?","data-testid":"work-item-title-input"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Label,{htmlFor:"work-item-desc",children:"Description (optional)"}),(0,t.jsx)(l.Textarea,{id:"work-item-desc",value:y,onChange:e=>b(e.target.value),placeholder:"Add more details...",rows:3,"data-testid":"work-item-desc-input"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Label,{children:"State"}),(0,t.jsxs)(s.Select,{value:m,onValueChange:v,children:[(0,t.jsx)(s.SelectTrigger,{"data-testid":"work-item-state-select",children:(0,t.jsx)(s.SelectValue,{placeholder:"Default"})}),(0,t.jsx)(s.SelectContent,{children:d.map(e=>(0,t.jsx)(s.SelectItem,{value:e.id,children:e.name},e.id))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Label,{children:"Priority"}),(0,t.jsxs)(s.Select,{value:w,onValueChange:N,children:[(0,t.jsx)(s.SelectTrigger,{"data-testid":"work-item-priority-select",children:(0,t.jsx)(s.SelectValue,{placeholder:"None"})}),(0,t.jsxs)(s.SelectContent,{children:[(0,t.jsx)(s.SelectItem,{value:"None",children:"None"}),(0,t.jsx)(s.SelectItem,{value:"Low",children:"Low"}),(0,t.jsx)(s.SelectItem,{value:"Medium",children:"Medium"}),(0,t.jsx)(s.SelectItem,{value:"High",children:"High"}),(0,t.jsx)(s.SelectItem,{value:"Urgent",children:"Urgent"})]})]})]})]}),j?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-work-item-error",children:j}):null]}),(0,t.jsxs)(i.DialogFooter,{children:[(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>u(!1),disabled:S,children:"Cancel"}),(0,t.jsx)(n.Button,{onClick:E,disabled:!p.trim()||S,"data-testid":"create-work-item-submit",children:S?"Creating...":"Create"})]})]})})}e.s(["CreateWorkItemDialog",()=>f],405682)},606581,e=>{"use strict";function t(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var r="function"==typeof Symbol&&Symbol.observable||"@@observable",i=()=>Math.random().toString(36).substring(7).split("").join("."),n={INIT:`@@redux/INIT${i()}`,REPLACE:`@@redux/REPLACE${i()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${i()}`};function a(e){if("object"!=typeof e||null===e)return!1;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||null===Object.getPrototypeOf(e)}function o(e,i,l){if("function"!=typeof e)throw Error(t(2));if("function"==typeof i&&"function"==typeof l||"function"==typeof l&&"function"==typeof arguments[3])throw Error(t(0));if("function"==typeof i&&void 0===l&&(l=i,i=void 0),void 0!==l){if("function"!=typeof l)throw Error(t(1));return l(o)(e,i)}let s=e,u=i,c=new Map,f=c,d=0,h=!1;function x(){f===c&&(f=new Map,c.forEach((e,t)=>{f.set(t,e)}))}function p(){if(h)throw Error(t(3));return u}function g(e){if("function"!=typeof e)throw Error(t(4));if(h)throw Error(t(5));let r=!0;x();let i=d++;return f.set(i,e),function(){if(r){if(h)throw Error(t(6));r=!1,x(),f.delete(i),c=null}}}function y(e){if(!a(e))throw Error(t(7));if(void 0===e.type)throw Error(t(8));if("string"!=typeof e.type)throw Error(t(17));if(h)throw Error(t(9));try{h=!0,u=s(u,e)}finally{h=!1}return(c=f).forEach(e=>{e()}),e}return y({type:n.INIT}),{dispatch:y,subscribe:g,getState:p,replaceReducer:function(e){if("function"!=typeof e)throw Error(t(10));s=e,y({type:n.REPLACE})},[r]:function(){return{subscribe(e){if("object"!=typeof e||null===e)throw Error(t(11));function r(){e.next&&e.next(p())}return r(),{unsubscribe:g(r)}},[r](){return this}}}}}function l(e){let r,i=Object.keys(e),a={};for(let t=0;t<i.length;t++){let r=i[t];"function"==typeof e[r]&&(a[r]=e[r])}let o=Object.keys(a);try{Object.keys(a).forEach(e=>{let r=a[e];if(void 0===r(void 0,{type:n.INIT}))throw Error(t(12));if(void 0===r(void 0,{type:n.PROBE_UNKNOWN_ACTION()}))throw Error(t(13))})}catch(e){r=e}return function(e={},i){if(r)throw r;let n=!1,l={};for(let r=0;r<o.length;r++){let s=o[r],u=a[s],c=e[s],f=u(c,i);if(void 0===f)throw i&&i.type,Error(t(14));l[s]=f,n=n||f!==c}return(n=n||o.length!==Object.keys(e).length)?l:e}}function s(...e){return 0===e.length?e=>e:1===e.length?e[0]:e.reduce((e,t)=>(...r)=>e(t(...r)))}function u(...e){return r=>(i,n)=>{let a=r(i,n),o=()=>{throw Error(t(15))},l={getState:a.getState,dispatch:(e,...t)=>o(e,...t)};return o=s(...e.map(e=>e(l)))(a.dispatch),{...a,dispatch:o}}}function c(e){return a(e)&&"type"in e&&"string"==typeof e.type}e.s(["applyMiddleware",()=>u,"combineReducers",()=>l,"compose",()=>s,"createStore",()=>o,"isAction",()=>c,"isPlainObject",()=>a])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,283843,e=>{"use strict";let t=(0,e.i(903645).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);e.s(["ChevronsUpDown",()=>t],283843)},972399,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40163c52904e94eb0e8944558551e89af9f75ae934",t.callServer,void 0,t.findSourceMapURL,"createFeature");e.s(["createFeature",()=>r])},34562,630616,e=>{"use strict";var t=e.i(679606),r=e.i(152155);e.i(541001);var a=e.i(64780),s=e.i(216868),i=e.i(283843),o=e.i(197667),l=e.i(453360),n=e.i(655016),c=e.i(591925),d=e.i(83428),p=e.i(381542),u=e.i(670471),h=e.i(912103),m=e.i(43416),x=e.i(542049),f=e.i(941698),g=e.i(131777),b=e.i(808361);e.i(1650);var j=e.i(511495),w=e.i(845811),v=e.i(735364),C=e.i(698127),y=e.i(48306),k=e.i(141957),N=e.i(81846),D=e.i(390382),T=e.i(951911),S=e.i(102828),F=e.i(930153);e.i(650032);var P=e.i(486254),L=e.i(508893);let z=(0,L.createServerReference)("406fbbe97b3e245b7f8de53df7dc820b8d206aeab9",L.callServer,void 0,L.findSourceMapURL,"getViewerPermission");var E=e.i(41413),R=e.i(425235),U=e.i(478521);e.i(13322);var A=e.i(961201),M=e.i(175921),I=e.i(54146),O=e.i(442076);let K=["application","fast","spec"],$={application:{icon:x.LayoutGrid,labelKey:"createDrawer.modeApplication"},fast:{icon:l.Zap,labelKey:"createDrawer.modeFast"},spec:{icon:f.ClipboardList,labelKey:"createDrawer.modeSpec"}},B=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),G={allowPrd:!1,allowPlan:!1,allowMerge:!1};function q({open:e,onClose:i,onSubmit:o,repositoryPath:l,isSubmitting:c=!1,workflowDefaults:d,features:x,repositories:f,initialParentId:C,currentAgentType:D,currentModel:L,initialDescription:R,canPushDirectly:U,initialMode:A}){let M=(0,b.useSoundAction)("create"),{t:I}=(0,a.useTranslation)("web"),q=l&&(!f||0===f.length||f.some(e=>e.path===l))?l:"",J=d?.approvalGates??G,V=d?.push??!1,H=d?.openPr??!1,Q=d?.ciWatchEnabled!==!1,X=d?.enableEvidence??!1,Y=d?.commitEvidence??!1,_=A||(d?.fast===!1?"application":"fast"),[ee,et]=(0,r.useState)(R??"");(0,r.useEffect)(()=>{R&&et(R)},[R]);let[er,ea]=(0,r.useState)([]),[es,ei]=(0,r.useState)({...J}),[eo,el]=(0,r.useState)(V),[en,ec]=(0,r.useState)(H),[ed,ep]=(0,r.useState)(d?.ciWatchEnabled!==!1),[eu,eh]=(0,r.useState)(X),[em,ex]=(0,r.useState)(Y),[ef,eg]=(0,r.useState)(void 0),[eb,ej]=(0,r.useState)(_),ew="fast"===eb,[ev,eC]=(0,r.useState)(!1),[ey,ek]=(0,r.useState)(!1),[eN,eD]=(0,r.useState)(!0),[eT,eS]=(0,r.useState)(!0),[eF,eP]=(0,r.useState)(d?.injectSkills??!1),[eL,ez]=(0,r.useState)(void 0),[eE,eR]=(0,r.useState)(void 0),[eU,eA]=(0,r.useState)(q||void 0),[eM,eI]=(0,r.useState)(f??[]),[eO,eK]=(0,r.useState)(!1),[e$,eB]=(0,r.useState)(null),[eG,eq]=(0,r.useState)(!1),eW=(0,r.useRef)(crypto.randomUUID()),eZ=(0,r.useRef)(0),eJ=(0,r.useRef)(null);(0,r.useEffect)(()=>{d&&(ei({...d.approvalGates}),el(d.push),ec(d.openPr),ep(!1!==d.ciWatchEnabled),eh(d.enableEvidence),ex(d.commitEvidence),A||ej(!1!==d.fast?"fast":"application"),eP(d.injectSkills??!1))},[d,A]),(0,r.useEffect)(()=>{eI(f??[])},[f]),(0,r.useEffect)(()=>{e&&C&&eg(C)},[e,C]);let[eV,eH]=(0,r.useState)(U??!1);(0,r.useEffect)(()=>{eH(U??!1)},[U]);let eQ=(0,r.useRef)(eU);(0,r.useEffect)(()=>{eU&&eU!==eQ.current&&(eQ.current=eU,z(eU).then(e=>eH(e.canPushDirectly)).catch(()=>eH(!1)))},[eU]),(0,r.useEffect)(()=>{eV&&(ek(!1),el(V),ec(H),eD(!0))},[eV,V,H]);let eX=(0,r.useCallback)(()=>{et(""),ea([]),ei({...J}),el(V),ec(H),ep(Q),eh(X),ex(Y),eg(void 0),eA(q||void 0),eI(f??[]),ej(_),eC(!1),ek(!1),eD(!0),eS(!0),ez(void 0),eR(void 0),eB(null),eZ.current=0,eK(!1)},[J,V,H,X,Q,Y,_,q,f]),eY=""!==ee.trim()||er.length>0,{attemptClose:e_}=(0,F.useGuardedDrawerClose)({open:e,isDirty:eY,onClose:i,onReset:eX}),e0=(0,r.useCallback)(async e=>{for(let t of(eB(null),e)){if(t.size>0xa00000)return void eB(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name);if(e&&!B.has(e))return void eB(`File type "${e}" is not allowed`)}for(let t of e){let e=crypto.randomUUID();ea(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:t.type||"application/octet-stream",path:"",loading:!0}]);try{let r=new FormData;r.append("file",t),r.append("sessionId",eW.current);let a=await fetch("/api/attachments/upload",{method:"POST",body:r});if(!a.ok){let t=await a.json().catch(()=>({error:"Upload failed"}));ea(t=>t.filter(t=>t.id!==e)),eB(t.error??"Upload failed");return}let s=await a.json();ea(t=>t.some(t=>t.id!==e&&t.path===s.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...s,id:e,loading:!1}:t))}catch{ea(t=>t.filter(t=>t.id!==e)),eB("Upload failed")}}},[]),e1=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current+=1,1===eZ.current&&eK(!0)},[]),e5=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current-=1,0===eZ.current&&eK(!1)},[]),e4=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),e2=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),eZ.current=0,eK(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&e0(t)},[e0]),e3=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),e0(r))},[e0]),e6=(0,r.useCallback)(e=>{if(e.preventDefault(),!ee.trim())return;let t=eU??q;t&&(M.play(),o({description:ee.trim(),attachments:er.filter(e=>!e.loading),repositoryPath:t,approvalGates:{allowPrd:es.allowPrd??!1,allowPlan:es.allowPlan??!1,allowMerge:es.allowMerge??!1},push:!!ey||eo||en,openPr:!!ey||en,ciWatchEnabled:ed,enableEvidence:eu,commitEvidence:em,fast:ew,forkAndPr:ey,commitSpecs:eN,rebaseBeforeBranch:eT,injectSkills:eF,...ev?{pending:ev}:{},...eL?{agentType:eL}:{},...eE?{model:eE}:{},...ef?{parentId:ef}:{},sessionId:eW.current}),eX())},[ee,er,es,eU,q,o,eo,en,eu,ed,em,ew,ey,eN,eT,eF,ev,eL,eE,ef,M,eX]),e8=(0,r.useCallback)(async()=>{try{let e=await (0,O.pickFiles)();if(!e)return;for(let t of e){let e=crypto.randomUUID();ea(r=>[...r,{id:e,name:t.name,size:t.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let r=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,sessionId:eW.current})});if(!r.ok){let t=await r.json().catch(()=>({error:"Upload failed"}));ea(t=>t.filter(t=>t.id!==e)),eB(t.error??"Upload failed");return}let a=await r.json();ea(t=>t.some(t=>t.id!==e&&t.path===a.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...a,id:e,loading:!1}:t))}catch{ea(t=>t.filter(t=>t.id!==e)),eB("Upload failed")}}}catch{}},[]),e9=(0,r.useCallback)(e=>{ea(t=>t.filter(t=>t.id!==e))},[]),e7=(0,r.useCallback)((e,t)=>{ea(r=>r.map(r=>r.id===e?{...r,notes:t}:r))},[]),te=(0,r.useRef)(null),tt=(0,r.useCallback)(e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),te.current?.requestSubmit())},[]),tr=(0,r.useCallback)(()=>{eq(!0)},[]),ta=(0,r.useCallback)(()=>{setTimeout(()=>{let e=eJ.current?.contains(document.activeElement),t=eJ.current?.querySelector('[aria-expanded="true"]')!==null;e||t||eq(!1)},0)},[]),ts=x&&x.length>0,ti=!q&&!eU,to=!q&&void 0!==f,tl=[{id:"allowPrd",label:I("createDrawer.prd"),description:I("createDrawer.prdDescription")},{id:"allowPlan",label:I("createDrawer.plan"),description:I("createDrawer.planDescription")},{id:"allowMerge",label:I("createDrawer.merge"),description:I("createDrawer.mergeDescription")}];return(0,t.jsx)(j.BaseDrawer,{open:e,onClose:e_,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(w.DrawerTitle,{children:I("createDrawer.title")})]}),c?(0,t.jsx)(w.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(N.Badge,{variant:"secondary",children:I("createDrawer.creating")})})}):null]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(v.Button,{variant:"outline",onClick:e_,disabled:c,children:I("createDrawer.cancel")}),(0,t.jsx)(v.Button,{type:"submit",form:"create-feature-form",disabled:!ee.trim()||c||ti,children:c?I("createDrawer.creating"):I("createDrawer.createFeature")})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsx)(S.TooltipProvider,{delayDuration:400,children:(0,t.jsxs)("form",{ref:te,id:"create-feature-form",onSubmit:e6,onKeyDown:tt,className:"flex flex-col gap-4",children:[to?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.repository")}),(0,t.jsx)(Z,{repositories:eM,value:eU,onChange:eA,onAddRepository:e=>{eI(t=>[...t,e]),eA(e.path)},disabled:c})]}):q?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,t.jsx)(k.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.repository")}),(0,t.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:f?.find(e=>e.path===q)?.name??q.split("/").pop()})]}):null,(0,t.jsxs)("div",{role:"region","aria-label":I("createDrawer.fileDropZone"),"data-drag-over":eO?"true":"false",onDragEnter:e1,onDragLeave:e5,onDragOver:e4,onDrop:e2,className:(0,g.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",eO&&"border-primary/50 bg-primary/5"),children:[(0,t.jsx)(k.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.describeFeature")}),(0,t.jsxs)("div",{ref:eJ,onFocus:tr,onBlur:ta,className:(0,g.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",eG&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,t.jsx)(y.Textarea,{id:"feature-description",placeholder:I("createDrawer.featurePlaceholder"),value:ee,onChange:e=>et(e.target.value),onPaste:e3,required:!0,disabled:c,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),er.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:er.map(e=>(0,t.jsx)(P.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>e9(e.id),disabled:c,loading:e.loading,notes:e.notes,onNotesChange:t=>e7(e.id,t)},e.id))}),e$?(0,t.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:e$}):null,(0,t.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,t.jsx)(E.AgentModelPicker,{initialAgentType:eL??D??"claude-code",initialModel:eE??L??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(e,t)=>{ez(e),eR(t)},disabled:c,className:"w-55"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,t.jsx)(T.Switch,{id:"pending-mode",checked:ev,onCheckedChange:eC,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,t.jsx)(n.Clock,{className:"h-3.5 w-3.5"}),I("createDrawer.pendingMode")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.pendingModeDescription")})]}),(0,t.jsx)("div",{role:"group","aria-label":I("createDrawer.modeGroupLabel"),className:"border-input flex items-center gap-0.5 rounded-md border p-0.5",children:K.map(e=>{let r=$[e],a=r.icon,s=eb===e;return(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","data-testid":`build-mode-${e}`,"aria-pressed":s,disabled:c,onClick:()=>ej(e),className:(0,g.cn)("flex cursor-pointer items-center gap-1 rounded-sm px-2 py-1 text-xs font-medium transition-colors",s?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground","disabled:cursor-not-allowed disabled:opacity-50"),children:[(0,t.jsx)(a,{className:"h-3.5 w-3.5"}),I(r.labelKey)]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I(`${r.labelKey}Description`)})]},e)})}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:e8,disabled:c,"aria-label":I("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,t.jsx)(s.PaperclipIcon,{className:"h-4 w-4"})})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("chat.attachFiles")})]})]})]})]}),ts&&void 0!==C?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(k.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:I("createDrawer.parentFeature")}),(0,t.jsx)(W,{features:x,value:ef,onChange:eg,disabled:c})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.approve")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.approveDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:tl.map(e=>(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:`approve-${e.id}`,size:"sm",checked:es[e.id]??!1,onCheckedChange:t=>ei(r=>({...r,[e.id]:t})),disabled:c||ew&&("allowPrd"===e.id||"allowPlan"===e.id)}),(0,t.jsx)(k.Label,{htmlFor:`approve-${e.id}`,className:"cursor-pointer text-xs font-medium",children:e.label})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ew&&("allowPrd"===e.id||"allowPlan"===e.id)?I("createDrawer.skippedInFastMode"):e.description})]},e.id))}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:()=>{let e=tl.every(e=>es[e.id]),t={};for(let r of tl)t[r.id]=!e;ei(t)},disabled:c,className:(0,g.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",tl.every(e=>es[e.id])&&"text-primary"),children:I("createDrawer.all")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.toggleAllApprovalGates")})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.evidence")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.evidenceDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"enable-evidence",size:"sm",checked:eu,onCheckedChange:e=>{eh(e),e||ex(!1)},disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:I("createDrawer.collect")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.collectDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-evidence",size:"sm",checked:em,onCheckedChange:ex,disabled:c||!eu||!en&&!ey}),(0,t.jsx)(k.Label,{htmlFor:"commit-evidence",className:(0,g.cn)("cursor-pointer text-xs font-medium",(!eu||!en&&!ey)&&"opacity-50"),children:I("createDrawer.addToPr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:en||ey?eu?I("createDrawer.addToPrDescription"):I("createDrawer.requiresEvidence"):I("createDrawer.requiresPr")})]})]})]}),(0,t.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:I("createDrawer.skills")})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.skillsDescription")})]}),(0,t.jsx)("div",{className:"flex flex-1 items-center gap-4",children:(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"inject-skills",size:"sm",checked:eF,onCheckedChange:eP,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"inject-skills",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(h.Puzzle,{className:"h-3 w-3"}),I("createDrawer.injectSkills")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.injectSkillsDescription")})]})})]}),(0,t.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:I("createDrawer.git")}),(0,t.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"push",size:"sm",checked:!!ey||eo||en,onCheckedChange:e=>{el(e),!e&&en&&ec(!1)},disabled:c||ey}),(0,t.jsx)(k.Label,{htmlFor:"push",className:(0,g.cn)("cursor-pointer text-xs font-medium",ey&&"opacity-50"),children:I("createDrawer.push")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ey?"Enabled — contributing to upstream":I("createDrawer.pushDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"open-pr",size:"sm",checked:!!ey||en,onCheckedChange:e=>{ec(e),e||ex(!1)},disabled:c||ey}),(0,t.jsx)(k.Label,{htmlFor:"open-pr",className:(0,g.cn)("cursor-pointer text-xs font-medium",ey&&"opacity-50"),children:I("createDrawer.pr")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:ey?"Enabled — contributing to upstream":I("createDrawer.prDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"ci-watch",size:"sm",checked:ed,onCheckedChange:ep,disabled:c}),(0,t.jsx)(k.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:I("createDrawer.watch")})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.watchDescription")})]}),(0,t.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"rebase-before-branch",size:"sm",checked:eT,onCheckedChange:eS,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(m.RefreshCw,{className:"h-3 w-3"}),I("createDrawer.sync")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.syncDescription")})]}),(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"commit-specs",size:"sm",checked:eN,onCheckedChange:eD,disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(u.FileText,{className:"h-3 w-3"}),I("createDrawer.commitSpecs")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.commitSpecsDescription")})]}),!eV&&(0,t.jsxs)(S.Tooltip,{children:[(0,t.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,t.jsx)(T.Switch,{id:"fork-and-pr",size:"sm",checked:ey,onCheckedChange:e=>{ek(e),e&&eD(!1)},disabled:c}),(0,t.jsxs)(k.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,t.jsx)(p.GitFork,{className:"h-3 w-3"}),I("createDrawer.forkAndPr")]})]})}),(0,t.jsx)(S.TooltipContent,{side:"bottom",children:I("createDrawer.forkAndPrDescription")})]})]})]})]})]})})})})}function W({features:e,value:s,onChange:l,disabled:n}){let{t:c}=(0,a.useTranslation)("web"),[d,p]=(0,r.useState)(!1),[u,h]=(0,r.useState)(""),m=(0,r.useRef)(null),x=e.find(e=>e.id===s),f=u.trim()?e.filter(e=>e.name.toLowerCase().includes(u.toLowerCase())||e.id.toLowerCase().includes(u.toLowerCase())):e,b=(0,r.useCallback)(e=>{l(e),p(!1),h("")},[l]);return(0,r.useEffect)(()=>{d?setTimeout(()=>m.current?.focus(),0):h("")},[d]),(0,t.jsxs)(D.Popover,{open:d,onOpenChange:p,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":d,"aria-label":"Parent Feature",disabled:n,"data-testid":"parent-feature-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!x&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:x?`${x.name} (${x.id.slice(0,8)})`:c("createDrawer.selectParent")}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(C.Input,{ref:m,placeholder:c("createDrawer.searchFeatures"),value:u,onChange:e=>h(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===s,onClick:()=>b(void 0),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===s&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",void 0!==s&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:c("createDrawer.noParent")})]}),0===f.length&&u?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:c("createDrawer.noFeaturesFound")}):f.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.id,onClick:()=>b(e.id),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",s!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function Z({repositories:e,value:s,onChange:l,onAddRepository:n,disabled:u}){let[h,m]=(0,r.useState)(!1),[x,f]=(0,r.useState)(""),[b,j]=(0,r.useState)(!1),[w,v]=(0,r.useState)(null),[y,k]=(0,r.useState)(!1),T=(0,r.useRef)(null),{reactFileManager:S}=(0,M.useFeatureFlags)(),{t:F}=(0,a.useTranslation)("web"),P=e.find(e=>e.path===s),L=x.trim()?e.filter(e=>e.name.toLowerCase().includes(x.toLowerCase())||e.path.toLowerCase().includes(x.toLowerCase())):e,z=(0,r.useCallback)(e=>{l(e),m(!1),f("")},[l]),E=(0,r.useCallback)(async e=>{let t=await (0,I.addRepository)({path:e});if(t.error){v(t.error),j(!1);return}if(t.repository){let e={id:t.repository.id,name:t.repository.name,path:t.repository.path};n?.(e),l(e.path),m(!1),f("")}},[n,l]),O=(0,r.useCallback)(async()=>{if(!b){if(S)return void k(!0);j(!0),v(null);try{let e=await (0,U.pickFolder)();if(!e)return void j(!1);await E(e)}catch{k(!0)}finally{j(!1)}}},[b,S,E]),K=(0,r.useCallback)(async e=>{if(k(!1),e){j(!0),v(null);try{await E(e)}catch(e){v(e instanceof Error?e.message:"Failed to add repository")}finally{j(!1)}}},[E]);return(0,r.useEffect)(()=>{h?setTimeout(()=>T.current?.focus(),0):f("")},[h]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(D.Popover,{open:h,onOpenChange:m,children:[(0,t.jsx)(D.PopoverTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",role:"combobox","aria-expanded":h,"aria-label":"Repository",disabled:u,"data-testid":"repository-combobox",className:(0,g.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!P&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:P?P.name:"Select repository..."}),(0,t.jsx)(i.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(D.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(C.Input,{ref:T,placeholder:F("createDrawer.searchRepositories"),value:x,onChange:e=>f(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,t.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===L.length?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):L.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":s===e.path,onClick:()=>z(e.path),className:(0,g.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",s===e.path&&"bg-accent/50"),"data-testid":`repository-option-${e.id}`,children:[(0,t.jsx)(o.CheckIcon,{className:(0,g.cn)("h-4 w-4 shrink-0",s!==e.path&&"invisible")}),(0,t.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 truncate",children:[e.name,e.isFork?(0,t.jsxs)(N.Badge,{variant:"outline",className:"h-4 shrink-0 px-1 text-[10px]",children:[(0,t.jsx)(p.GitFork,{className:"mr-0.5 h-2.5 w-2.5"}),"Fork"]}):null]}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path})]})]},e.id))}),(0,t.jsx)(R.Separator,{}),(0,t.jsxs)("button",{type:"button",onClick:O,disabled:b,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[b?(0,t.jsx)(d.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,t.jsx)(c.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{children:"Add new repository..."})]}),w?(0,t.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:w}):null]})})]}),(0,t.jsx)(A.ReactFileManagerDialog,{open:y,onOpenChange:e=>{e||k(!1)},onSelect:K})]})}e.s(["FeatureCreateDrawer",()=>q],630616),e.s([],34562)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,141957,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(287620),a=r.forwardRef((e,r)=>(0,t.jsx)(s.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));a.displayName="Label",e.s(["Label",()=>a,"Root",()=>a],127572);var l=e.i(127572),l=l,i=e.i(294237),n=e.i(131777);let o=(0,i.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(l.Root,{ref:s,className:(0,n.cn)(o(),e),...r}));d.displayName=l.Root.displayName,e.s(["Label",()=>d],141957)},81846,e=>{"use strict";var t=e.i(679606),r=e.i(294237),s=e.i(131777);let a=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l({className:e,variant:r,...l}){return(0,t.jsx)("div",{className:(0,s.cn)(a({variant:r}),e),...l})}e.s(["Badge",()=>l])},787342,e=>{"use strict";var t=e.i(152155),r=e.i(922528),s=e.i(205978),a=e.i(786874),l=e.i(679606);function i(e){let i=e+"CollectionProvider",[n,o]=(0,r.createContextScope)(i),[d,c]=n(i,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:s}=e,a=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,l.jsx)(d,{scope:r,itemMap:i,collectionRef:a,children:s})};u.displayName=i;let f=e+"CollectionSlot",m=(0,a.createSlot)(f),p=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,i=c(f,r),n=(0,s.useComposedRefs)(t,i.collectionRef);return(0,l.jsx)(m,{ref:n,children:a})});p.displayName=f;let h=e+"CollectionItemSlot",x="data-radix-collection-item",g=(0,a.createSlot)(h),y=t.default.forwardRef((e,r)=>{let{scope:a,children:i,...n}=e,o=t.default.useRef(null),d=(0,s.useComposedRefs)(r,o),u=c(h,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...n}),()=>void u.itemMap.delete(o))),(0,l.jsx)(g,{...{[x]:""},ref:d,children:i})});return y.displayName=h,[{Provider:u,Slot:p,ItemSlot:y},function(r){let s=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=s.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${x}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},o]}var n=new WeakMap;function o(e,t){var r,s;let a,l,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(r=e,s=t,a=r.length,(i=(l=d(s))>=0?l:a+l)<0||i>=a?-1:i);return -1===n?void 0:e[n]}function d(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],n.set(this,!0)}set(e,t){return n.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,a=this.has(t),l=this.#e.length,i=d(e),n=i>=0?i:l+i,o=n<0||n>=l?-1:n;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!a;i<0&&n++;let u=[...this.#e],f=!1;for(let e=n;e<c;e++)if(n===e){let l=u[e];u[e]===t&&(l=u[e+1]),a&&this.delete(t),s=this.get(l),this.set(t,r)}else{f||u[e-1]!==t||(f=!0);let r=u[f?e:e-1],a=s;s=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,s){let a=new e(this);return a.insert(t,r,s),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&s.push(e),a++;return new e(s)}map(t,r){let s=[],a=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(s)}reduce(...e){let[t,r]=e,s=0,a=r??this.at(0);for(let r of this)a=0===s&&1===e.length?r:Reflect.apply(t,this,[a,r,s,this]),s++;return a}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);s=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[s,a,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,a=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>i])},151080,e=>{"use strict";var t=e.i(152155),r=e.i(291967),s=e.i(787342),a=e.i(205978),l=e.i(922528),i=e.i(713123),n=e.i(287620),o=e.i(929297),d=e.i(936589),c=e.i(566033),u=e.i(679606),f="rovingFocusGroup.onEntryFocus",m={bubbles:!1,cancelable:!0},p="RovingFocusGroup",[h,x,g]=(0,s.createCollection)(p),[y,v]=(0,l.createContextScope)(p,[g]),[b,j]=y(p),k=t.forwardRef((e,t)=>(0,u.jsx)(h.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(h.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,u.jsx)(N,{...e,ref:t})})}));k.displayName=p;var N=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:l,orientation:i,loop:h=!1,dir:g,currentTabStopId:y,defaultCurrentTabStopId:v,onCurrentTabStopIdChange:j,onEntryFocus:k,preventScrollOnEntryFocus:N=!1,...w}=e,C=t.useRef(null),S=(0,a.useComposedRefs)(s,C),D=(0,c.useDirection)(g),[T,A]=(0,d.useControllableState)({prop:y,defaultProp:v??null,onChange:j,caller:p}),[L,E]=t.useState(!1),F=(0,o.useCallbackRef)(k),I=x(l),M=t.useRef(!1),[P,z]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(f,F),()=>e.removeEventListener(f,F)},[F]),(0,u.jsx)(b,{scope:l,orientation:i,dir:D,loop:h,currentTabStopId:T,onItemFocus:t.useCallback(e=>A(e),[A]),onItemShiftTab:t.useCallback(()=>E(!0),[]),onFocusableItemAdd:t.useCallback(()=>z(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>z(e=>e-1),[]),children:(0,u.jsx)(n.Primitive.div,{tabIndex:L||0===P?-1:0,"data-orientation":i,...w,ref:S,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{M.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!M.current;if(e.target===e.currentTarget&&t&&!L){let t=new CustomEvent(f,m);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=I().filter(e=>e.focusable);R([e.find(e=>e.active),e.find(e=>e.id===T),...e].filter(Boolean).map(e=>e.ref.current),N)}}M.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>E(!1))})})}),w="RovingFocusGroupItem",C=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:a,focusable:l=!0,active:o=!1,tabStopId:d,children:c,...f}=e,m=(0,i.useId)(),p=d||m,g=j(w,a),y=g.currentTabStopId===p,v=x(a),{onFocusableItemAdd:b,onFocusableItemRemove:k,currentTabStopId:N}=g;return t.useEffect(()=>{if(l)return b(),()=>k()},[l,b,k]),(0,u.jsx)(h.ItemSlot,{scope:a,id:p,focusable:l,active:o,children:(0,u.jsx)(n.Primitive.span,{tabIndex:y?0:-1,"data-orientation":g.orientation,...f,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{l?g.onItemFocus(p):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(p)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var s;let a=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return S[a]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&a.reverse();let l=a.indexOf(e.currentTarget);a=g.loop?(r=a,s=l+1,r.map((e,t)=>r[(s+t)%r.length])):a.slice(l+1)}setTimeout(()=>R(a))}}),children:"function"==typeof c?c({isCurrentTabStop:y,hasTabStop:null!=N}):c})})});C.displayName=w;var S={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function R(e,t=!1){let r=document.activeElement;for(let s of e)if(s===r||(s.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>C,"Root",()=>k,"createRovingFocusGroupScope",()=>v])},468304,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(291967),a=e.i(922528),l=e.i(151080),i=e.i(685995),n=e.i(287620),o=e.i(566033),d=e.i(936589),c=e.i(713123),u="Tabs",[f,m]=(0,a.createContextScope)(u,[l.createRovingFocusGroupScope]),p=(0,l.createRovingFocusGroupScope)(),[h,x]=f(u),g=r.forwardRef((e,r)=>{let{__scopeTabs:s,value:a,onValueChange:l,defaultValue:i,orientation:f="horizontal",dir:m,activationMode:p="automatic",...x}=e,g=(0,o.useDirection)(m),[y,v]=(0,d.useControllableState)({prop:a,onChange:l,defaultProp:i??"",caller:u});return(0,t.jsx)(h,{scope:s,baseId:(0,c.useId)(),value:y,onValueChange:v,orientation:f,dir:g,activationMode:p,children:(0,t.jsx)(n.Primitive.div,{dir:g,"data-orientation":f,...x,ref:r})})});g.displayName=u;var y="TabsList",v=r.forwardRef((e,r)=>{let{__scopeTabs:s,loop:a=!0,...i}=e,o=x(y,s),d=p(s);return(0,t.jsx)(l.Root,{asChild:!0,...d,orientation:o.orientation,dir:o.dir,loop:a,children:(0,t.jsx)(n.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...i,ref:r})})});v.displayName=y;var b="TabsTrigger",j=r.forwardRef((e,r)=>{let{__scopeTabs:a,value:i,disabled:o=!1,...d}=e,c=x(b,a),u=p(a),f=w(c.baseId,i),m=C(c.baseId,i),h=i===c.value;return(0,t.jsx)(l.Item,{asChild:!0,...u,focusable:!o,active:h,children:(0,t.jsx)(n.Primitive.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":m,"data-state":h?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:f,...d,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(i)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(i)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;h||o||!e||c.onValueChange(i)})})})});j.displayName=b;var k="TabsContent",N=r.forwardRef((e,s)=>{let{__scopeTabs:a,value:l,forceMount:o,children:d,...c}=e,u=x(k,a),f=w(u.baseId,l),m=C(u.baseId,l),p=l===u.value,h=r.useRef(p);return r.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(i.Presence,{present:o||p,children:({present:r})=>(0,t.jsx)(n.Primitive.div,{"data-state":p?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!r,id:m,tabIndex:0,...c,ref:s,style:{...e.style,animationDuration:h.current?"0s":void 0},children:r&&d})})});function w(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}N.displayName=k,e.s(["Content",()=>N,"List",()=>v,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>N,"TabsList",()=>v,"TabsTrigger",()=>j,"Trigger",()=>j,"createTabsScope",()=>m],743133);var S=e.i(743133),S=S,R=e.i(131777);let D=S.Root,T=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.List,{ref:s,className:(0,R.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));T.displayName=S.List.displayName;let A=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.Trigger,{ref:s,className:(0,R.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...r}));A.displayName=S.Trigger.displayName;let L=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(S.Content,{ref:s,className:(0,R.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...r}));L.displayName=S.Content.displayName,e.s(["Tabs",()=>D,"TabsContent",()=>L,"TabsList",()=>T,"TabsTrigger",()=>A],468304)},619933,e=>{"use strict";let t=(0,e.i(903645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],619933)},602287,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(90033),a=e.i(860253),l=e.i(131777);let i=s.Dialog.Root,n=s.Dialog.Trigger,o=s.Dialog.Portal,d=s.Dialog.Close,c=r.forwardRef(({className:e,onClick:r,...a},i)=>(0,t.jsx)(s.Dialog.Overlay,{ref:i,className:(0,l.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),r?.(e)},...a}));c.displayName=s.Dialog.Overlay.displayName;let u=r.forwardRef(({className:e,children:r,...i},n)=>(0,t.jsxs)(o,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,l.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...i,children:[r,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(a.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));u.displayName=s.Dialog.Content.displayName;let f=({className:e,...r})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...r});f.displayName="DialogHeader";let m=({className:e,...r})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...r});m.displayName="DialogFooter";let p=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(s.Dialog.Title,{ref:a,className:(0,l.cn)("text-lg leading-none font-semibold tracking-tight",e),...r}));p.displayName=s.Dialog.Title.displayName;let h=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(s.Dialog.Description,{ref:a,className:(0,l.cn)("text-muted-foreground text-sm",e),...r}));h.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>i,"DialogClose",()=>d,"DialogContent",()=>u,"DialogDescription",()=>h,"DialogFooter",()=>m,"DialogHeader",()=>f,"DialogTitle",()=>p,"DialogTrigger",()=>n])},66459,e=>{"use strict";let t=(0,e.i(903645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],66459)},338573,e=>{"use strict";let t=(0,e.i(903645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],338573)},730702,e=>{"use strict";let t=(0,e.i(903645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],730702)},724042,e=>{"use strict";let t=(0,e.i(903645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],724042)},873504,47804,999167,481605,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(317406),a=e.i(508893);let l=(0,a.createServerReference)("40f44d9c9cc4cbd5e50ca5de7d682923839bdd068c",a.callServer,void 0,a.findSourceMapURL,"deployFeature"),i=(0,a.createServerReference)("406292a9ea59d66f0f10132925883a89ee8e38bb62",a.callServer,void 0,a.findSourceMapURL,"deployRepository");e.s(["deployRepository",()=>i],47804);let n=(0,a.createServerReference)("40074243e680664984360c4d9320c243e15a3277d3",a.callServer,void 0,a.findSourceMapURL,"deployApplication"),o=(0,a.createServerReference)("4024d574b1ccbf653bb75798b20f1d8c4b6a8e9af6",a.callServer,void 0,a.findSourceMapURL,"stopDeployment");e.s(["stopDeployment",()=>o],999167);let d=(0,a.createServerReference)("40e6bb231d5fff22666a0fbd472c50d036c2f7ac56",a.callServer,void 0,a.findSourceMapURL,"getDeploymentStatus");var c=e.i(118354);let u={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class f{entries=new Map;listeners=new Map;globalListeners=new Set;fullyHydrated=!1;isFullyHydrated(){return this.fullyHydrated}hydrate(e){let t=new Set;for(let r of e)t.add(r.targetId),this.update(r.targetId,{status:r.state,url:r.url,targetType:r.targetType,hydrated:!0});for(let[e,r]of this.entries)!t.has(e)&&r.hydrated&&null!==r.status?this.update(e,{status:null,url:null}):t.has(e)||r.hydrated||this.update(e,{hydrated:!0});this.fullyHydrated=!0}getEntry(e){return this.entries.get(e)??u}update(e,t){let r={...this.entries.get(e)??u,...t};this.entries.set(e,r),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let r=this.listeners.get(e);return r||(r=new Set,this.listeners.set(e,r)),r.add(t),()=>{r?.delete(t),r?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>f,"EMPTY_ENTRY",0,u],481605);let m=(0,c.createLogger)("[DeploymentStatusProvider]"),p=new Set([s.DeploymentState.Booting,s.DeploymentState.Ready]),h=(0,r.createContext)(null);function x({initialDeployments:e,children:a}){let c=(0,r.useRef)(null);c.current||(c.current=new f,c.current.hydrate(e));let u=c.current;(0,r.useEffect)(()=>{u.hydrate(e)},[e,u]);let x=(0,r.useRef)(new Map),g=(0,r.useCallback)(e=>{let t=x.current.get(e);t&&(clearInterval(t),x.current.delete(e))},[]),y=(0,r.useCallback)(e=>{if(x.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await d(e)}catch(t){m.warn(`poll failed for "${e}"`,t),u.setStatus(e,null),g(e);return}if(!t||t.state===s.DeploymentState.Stopped){u.setStatus(e,null),g(e);return}u.setStatus(e,t)},3e3);x.current.set(e,t)},[u,g]);(0,r.useEffect)(()=>{let e=x.current,t=u.subscribeAll(()=>{for(let[t]of e){let e=u.getEntry(t);e.status&&p.has(e.status)||g(t)}});return()=>{for(let[,r]of(t(),e))clearInterval(r);e.clear()}},[u,g]);let v=(0,r.useCallback)(e=>{if(e&&!u.getEntry(e).hydrated){if(u.isFullyHydrated())return void u.update(e,{hydrated:!0});u.update(e,{hydrated:!0}),(async()=>{try{let t=await d(e);u.setStatus(e,t),t&&p.has(t.state)&&y(e)}catch(t){m.warn(`ensureHydrated failed for "${e}"`,t)}})()}},[u,y]),b=(0,r.useCallback)(async e=>{u.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await n(e.targetId):await i(e.repositoryPath);if(!t.success)return void u.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});u.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),y(e.targetId)}catch(r){let t=r instanceof Error?r.message:"An unexpected error occurred";u.update(e.targetId,{deployLoading:!1,deployError:t})}},[u,y]),j=(0,r.useCallback)(async e=>{if(e){u.update(e,{stopLoading:!0});try{(await o(e)).success?(g(e),u.update(e,{stopLoading:!1,status:null,url:null})):u.update(e,{stopLoading:!1})}catch(t){m.warn("stop error (non-critical)",t),u.update(e,{stopLoading:!1})}}},[u,g]),k=(0,r.useMemo)(()=>({store:u,deploy:b,stop:j,ensureHydrated:v}),[u,b,j,v]);return(0,t.jsx)(h.Provider,{value:k,children:a})}function g(){let e=(0,r.useContext)(h);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function y(){let e=(0,r.useContext)(h);return e||v}let v={store:new f,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>x,"useDeploymentStatusContext",()=>g,"useDeploymentStatusContextOptional",()=>y],873504)},8537,e=>{"use strict";var t=e.i(152155),r=e.i(873504);function s(){}function a(e){let{store:a,deploy:l,stop:i,ensureHydrated:n}=(0,r.useDeploymentStatusContextOptional)(),o=e?.targetId??"",d=(0,t.useCallback)(e=>o?a.subscribe(o,e):s,[a,o]),c=(0,t.useCallback)(()=>o?a.getEntry(o):a.getEntry(""),[a,o]),u=(0,t.useSyncExternalStore)(d,c,c);return(0,t.useEffect)(()=>{o&&n(o)},[o,n]),{deploy:(0,t.useCallback)(async()=>{e&&await l(e)},[l,e]),stop:(0,t.useCallback)(async()=>{o&&await i(o)},[i,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>a])},1650,e=>{"use strict";e.i(511495),e.s([])},454793,207729,e=>{"use strict";var t=e.i(679606),r=e.i(131777);function s({icon:e,title:s,description:a,action:l,className:i,...n}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,l?(0,t.jsx)("div",{className:"mt-2",children:l}):null]})}e.s(["EmptyState",()=>s],207729),e.s([],454793)},809443,185871,e=>{"use strict";var t=e.i(679606),r=e.i(131777);function s({title:e,description:s,children:a,className:l}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex items-center justify-between gap-4",l),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),s?(0,t.jsx)("p",{className:"text-muted-foreground",children:s}):null]}),a?(0,t.jsx)("div",{"data-slot":"actions",children:a}):null]})}e.s(["PageHeader",()=>s],185871),e.s([],809443)},200956,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(131777);let a=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...r}));a.displayName="Card";let l=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",e),...r}));l.displayName="CardHeader";let i=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("leading-none font-semibold tracking-tight",e),...r}));i.displayName="CardTitle";let n=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("text-muted-foreground text-sm",e),...r}));n.displayName="CardDescription";let o=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("p-6 pt-0",e),...r}));o.displayName="CardContent",r.forwardRef(({className:e,...r},a)=>(0,t.jsx)("div",{ref:a,className:(0,s.cn)("flex items-center p-6 pt-0",e),...r})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>o,"CardDescription",()=>n,"CardHeader",()=>l,"CardTitle",()=>i])},638752,e=>{"use strict";var t=e.i(679606);e.i(1650);var r=e.i(511495),s=e.i(845811),a=e.i(81846),l=e.i(425235),i=e.i(619933);function n({skill:e,onClose:n}){return(0,t.jsx)(r.BaseDrawer,{open:null!==e,onClose:n,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.DrawerTitle,{children:e.displayName}),(0,t.jsx)(s.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(a.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(a.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(a.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(i.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>n])},316919,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(66459),a=e.i(912103),l=e.i(698127),i=e.i(735364);e.i(809443);var n=e.i(185871);e.i(454793);var o=e.i(207729),d=e.i(200956),c=e.i(81846),u=e.i(619933);function f({skill:e,onSelect:r}){return(0,t.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>r(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),r(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,t.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let m=["Workflow","Code Generation","Analysis","Reference"];function p({skills:e,onSkillSelect:r}){let s=function(e){let t=new Map;for(let r of e){let e=t.get(r.category)??[];e.push(r),t.set(r.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:m.map(e=>{let a=s.get(e);return a&&0!==a.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",a.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:a.map(e=>(0,t.jsx)(f,{skill:e,onSelect:r},e.name))})]},e):null})})}let h=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function x({activeCategory:e,onCategoryChange:r,counts:s}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:h.map(({label:a,value:l})=>(0,t.jsxs)(i.Button,{variant:e===l?"default":"outline",size:"sm",onClick:()=>r(l),children:[a,s&&l?(0,t.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",s[l],")"]}):null]},a))})}var g=e.i(638752),y=e.i(425235),v=e.i(711434),b=e.i(3214),j=e.i(860253),k=e.i(360112),N=e.i(508893);let w=(0,N.createServerReference)("40947d595dff38b3f7072ea40fa706ba8b53e45028",N.callServer,void 0,N.findSourceMapURL,"removeInjectedSkill");var C=e.i(602287),S=e.i(141957),R=e.i(468304);let D=(0,N.createServerReference)("40f254a97f0d902b929e9f7631d3b7da1fca2072da",N.callServer,void 0,N.findSourceMapURL,"addInjectedSkill");function T({open:e,onOpenChange:s,onAdded:a,discoveredSkills:n,existingSkillNames:o}){let[d,c]=(0,r.useState)(!1),[u,f]=(0,r.useState)(""),[m,p]=(0,r.useState)(""),[h,x]=(0,r.useState)(""),g=n.filter(e=>!o.includes(e.name)),y=async e=>{c(!0);let t=await D({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),t.success)?(k.toast.success(`Added "${e.name}" to feature skills`),a()):k.toast.error(t.error??"Failed to add skill")},v=async()=>{if(!u.trim()||!m.trim())return void k.toast.error("Name and source are required");c(!0);let e=await D({name:u.trim(),type:"remote",source:m.trim(),...h.trim()&&{remoteSkillName:h.trim()}});(c(!1),e.success)?(k.toast.success(`Added "${u.trim()}" to feature skills`),f(""),p(""),x(""),a()):k.toast.error(e.error??"Failed to add skill")};return(0,t.jsx)(C.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(C.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Add Skill to Features"})}),(0,t.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,t.jsxs)(R.TabsList,{className:"w-full",children:[(0,t.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,t.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,t.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===g.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,t.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:g.map(e=>(0,t.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>y(e),disabled:d,"data-testid":`add-local-skill-${e.name}`,children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,t.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-name",children:"Name"}),(0,t.jsx)(l.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:u,onChange:e=>f(e.target.value),"data-testid":"remote-skill-name"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,t.jsx)(l.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:m,onChange:e=>p(e.target.value),"data-testid":"remote-skill-source"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(S.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,t.jsx)(l.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:h,onChange:e=>x(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,t.jsx)(C.DialogFooter,{children:(0,t.jsx)(i.Button,{onClick:v,disabled:d||!u.trim()||!m.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function A({config:e,discoveredSkills:s}){let a=(0,v.useRouter)(),[l,n]=(0,r.useState)(!1),[o,d]=(0,r.useState)(null),c=(0,r.useMemo)(()=>{let e=new Map;for(let t of s)e.set(t.name,t.description);return e},[s]),u=async e=>{d(e);let t=await w(e);(d(null),t.success)?(k.toast.success(`Removed "${e}" from feature skills`),a.refresh()):k.toast.error(t.error??"Failed to remove skill")};return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,t.jsx)(L,{skill:e,description:c.get(e.name),onRemove:()=>u(e.name),isRemoving:o===e.name},e.name))}):(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,t.jsx)("div",{children:(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:()=>n(!0),"data-testid":"add-injected-skill-button",children:[(0,t.jsx)(b.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,t.jsx)(T,{open:l,onOpenChange:n,onAdded:()=>{n(!1),a.refresh()},discoveredSkills:s,existingSkillNames:e.skills.map(e=>e.name)})]})}function L({skill:e,description:r,onRemove:s,isRemoving:a}){return(0,t.jsxs)(d.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,t.jsx)("div",{className:"min-w-0",children:(0,t.jsx)(d.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,t.jsx)(i.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:s,disabled:a,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,t.jsx)(j.X,{className:"size-4"})})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-2 pt-0",children:[r?(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:r}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,t.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function E({skills:e,injectionConfig:d}){let[c,u]=(0,r.useState)(""),[f,m]=(0,r.useState)(null),[h,v]=(0,r.useState)(null),b=(0,r.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let r of e)t[r.category]++;return t})(e),[e]),j=(0,r.useMemo)(()=>{let t=c.toLowerCase();return e.filter(e=>{if(f&&e.category!==f)return!1;if(t){let r=e.name.toLowerCase().includes(t),s=e.description.toLowerCase().includes(t);if(!r&&!s)return!1}return!0})},[e,c,f]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(A,{config:d,discoveredSkills:e}),(0,t.jsx)(y.Separator,{}),(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(a.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(n.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(A,{config:d,discoveredSkills:e}),(0,t.jsx)(y.Separator,{}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(s.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(l.Input,{placeholder:"Search skills...",value:c,onChange:e=>u(e.target.value),className:"ps-9"})]}),(0,t.jsx)(x,{activeCategory:f,onCategoryChange:m,counts:b}),j.length>0?(0,t.jsx)(p,{skills:j,onSkillSelect:v}):(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(s.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{u(""),m(null)},children:"Clear filters"})}),(0,t.jsx)(g.SkillDetailDrawer,{skill:h,onClose:()=>v(null)})]})}e.s(["SkillsPageClient",()=>E],316919)}]);
|