@shepai/cli 1.124.0-pr396.2dd2ae6 → 1.124.0-pr401.74b2155
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/application/ports/output/services/git-pr-service.interface.d.ts +5 -68
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.js +4 -6
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +0 -15
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +0 -6
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +0 -125
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +1 -2
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +20 -3
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts +0 -4
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.js +1 -32
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +1 -4
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +2 -2
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts +1 -4
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +3 -8
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts +0 -6
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +0 -30
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.js +0 -3
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +20 -3
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts +5 -0
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +38 -9
- package/dist/src/presentation/web/components/common/repository-node/repository-node.js +1 -1
- package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.d.ts +0 -4
- package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.js +0 -11
- 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 +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +44 -59
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
- 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/server-reference-manifest.json +56 -86
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
- 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/server-reference-manifest.json +56 -86
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
- 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]/page/server-reference-manifest.json +40 -55
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
- 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)/create/page/server-reference-manifest.json +44 -59
- package/web/.next/server/app/(dashboard)/create/page.js +1 -1
- 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/server-reference-manifest.json +56 -86
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
- 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/server-reference-manifest.json +56 -86
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
- 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)/page/server-reference-manifest.json +40 -55
- package/web/.next/server/app/(dashboard)/page.js +1 -1
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +40 -55
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
- 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/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js.map +1 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__14664e9b._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__14664e9b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7cbda1ea._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__a32640a5._.js.map → [root-of-the-server]__7cbda1ea._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9e8b25ad._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9e8b25ad._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aed1d6f8._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aed1d6f8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ce6057f6._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__7a715c73._.js.map → [root-of-the-server]__ce6057f6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_109ee019._.js +3 -0
- package/web/.next/server/chunks/ssr/_109ee019._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
- package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_2f6f48b8._.js +1 -1
- package/web/.next/server/chunks/ssr/_2f6f48b8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_5d43c3db._.js +3 -0
- package/web/.next/server/chunks/ssr/_5d43c3db._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a161be0a._.js +3 -0
- package/web/.next/server/chunks/ssr/_a161be0a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_e2638d5f._.js → _b86eec90._.js} +2 -2
- package/web/.next/server/chunks/ssr/_b86eec90._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_f1a649e3._.js → _f605354c._.js} +3 -3
- package/web/.next/server/chunks/ssr/_f605354c._.js.map +1 -0
- 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/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_70f6d54e._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_70f6d54e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{403f9_next_d6c8d28d._.js → node_modules__pnpm_f9ac7604._.js} +2 -2
- package/web/.next/server/chunks/ssr/node_modules__pnpm_f9ac7604._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js +5 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_e4e3c09b._.js.map → src_presentation_web_5f039db1._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js +5 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_d1d40a09._.js.map → src_presentation_web_c4337169._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.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 +250 -357
- package/web/.next/static/chunks/{77304c4f9c5bb158.js → 15e868c5ed24e68d.js} +1 -1
- package/web/.next/static/chunks/1dd878b6feb55d2e.js +1 -0
- package/web/.next/static/chunks/44f74b62f897f41c.css +1 -0
- package/web/.next/static/chunks/{8b87caa5e8e72539.js → 683f1449a7acbe69.js} +2 -2
- package/web/.next/static/chunks/{11fbcb908d07e234.js → 8f09849a5cb49bc8.js} +1 -1
- package/web/.next/static/chunks/{cd008e10baaeae9a.js → 94861aa7270facbd.js} +1 -1
- package/web/.next/static/chunks/a09c0c629f88ee12.js +1 -0
- package/web/.next/static/chunks/a7231c3b616020d8.js +2 -0
- package/web/.next/static/chunks/c4e46fbe479ebd88.js +11 -0
- package/web/.next/static/chunks/{9b7dbb75030aac3e.js → e39cee9f73d1fda2.js} +1 -1
- package/web/.next/static/chunks/{db8d50abcf46d8b3.js → efb06f2eab920f11.js} +1 -1
- package/web/.next/static/chunks/{80f9e0cade7d717b.js → fb8b8be474a3e2b5.js} +1 -1
- package/web/.next/static/chunks/{4443ee9c7733399b.js → ffcc006639ba2fd8.js} +1 -1
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts +0 -28
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.js +0 -81
- package/dist/packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.d.ts +0 -16
- package/dist/packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.js +0 -43
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.d.ts +0 -35
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.js +0 -66
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts +0 -42
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.js +0 -169
- package/dist/src/presentation/web/app/actions/rebase-feature.d.ts +0 -5
- package/dist/src/presentation/web/app/actions/rebase-feature.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/rebase-feature.js +0 -16
- package/dist/src/presentation/web/app/actions/sync-repository.d.ts +0 -5
- package/dist/src/presentation/web/app/actions/sync-repository.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/sync-repository.js +0 -16
- package/web/.next/server/chunks/ssr/403f9_next_d6c8d28d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_9efdd752.js +0 -3
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_9efdd752.js.map +0 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6ce19942.js +0 -3
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6ce19942.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__16a547fc._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__16a547fc._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7a715c73._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a32640a5._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c94704d6._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c94704d6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_966c4532._.js +0 -3
- package/web/.next/server/chunks/ssr/_966c4532._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e2638d5f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e9703421._.js +0 -3
- package/web/.next/server/chunks/ssr/_e9703421._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f1a649e3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_bc66dcc6._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_bc66dcc6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_883074bc.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_883074bc.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_d1d40a09._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web_e4e3c09b._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web_f6b57368._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_f6b57368._.js.map +0 -1
- package/web/.next/static/chunks/0a25d970e4abd189.js +0 -1
- package/web/.next/static/chunks/3925626b99dcd57a.css +0 -1
- package/web/.next/static/chunks/4b51f8f4e49665b8.js +0 -1
- package/web/.next/static/chunks/513b719e49ca003a.js +0 -11
- package/web/.next/static/chunks/d71ce7044ed5a85a.js +0 -2
- /package/web/.next/static/{MpP2wa-zjPqcZxmpuDBjj → FEBom5Y7caLa2hXBqPiA-}/_buildManifest.js +0 -0
- /package/web/.next/static/{MpP2wa-zjPqcZxmpuDBjj → FEBom5Y7caLa2hXBqPiA-}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{MpP2wa-zjPqcZxmpuDBjj → FEBom5Y7caLa2hXBqPiA-}/_ssgManifest.js +0 -0
package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts
CHANGED
|
@@ -9,17 +9,15 @@ import type { PrStatus } from '../../../../domain/generated/output.js';
|
|
|
9
9
|
* Error codes for git PR operations.
|
|
10
10
|
*/
|
|
11
11
|
export declare enum GitPrErrorCode {
|
|
12
|
+
MERGE_CONFLICT = "MERGE_CONFLICT",
|
|
12
13
|
AUTH_FAILURE = "AUTH_FAILURE",
|
|
13
|
-
BRANCH_NOT_FOUND = "BRANCH_NOT_FOUND",
|
|
14
|
-
CI_TIMEOUT = "CI_TIMEOUT",
|
|
15
14
|
GH_NOT_FOUND = "GH_NOT_FOUND",
|
|
15
|
+
NETWORK_ERROR = "NETWORK_ERROR",
|
|
16
|
+
CI_TIMEOUT = "CI_TIMEOUT",
|
|
17
|
+
BRANCH_NOT_FOUND = "BRANCH_NOT_FOUND",
|
|
16
18
|
GIT_ERROR = "GIT_ERROR",
|
|
17
|
-
MERGE_CONFLICT = "MERGE_CONFLICT",
|
|
18
19
|
MERGE_FAILED = "MERGE_FAILED",
|
|
19
|
-
|
|
20
|
-
PR_NOT_FOUND = "PR_NOT_FOUND",
|
|
21
|
-
REBASE_CONFLICT = "REBASE_CONFLICT",
|
|
22
|
-
SYNC_FAILED = "SYNC_FAILED"
|
|
20
|
+
PR_NOT_FOUND = "PR_NOT_FOUND"
|
|
23
21
|
}
|
|
24
22
|
/**
|
|
25
23
|
* Typed error for git PR operations.
|
|
@@ -320,66 +318,5 @@ export interface IGitPrService {
|
|
|
320
318
|
* @throws GitPrError with GH_NOT_FOUND or GIT_ERROR code on failure
|
|
321
319
|
*/
|
|
322
320
|
getFailureLogs(cwd: string, runId: string, branch: string, logMaxChars?: number): Promise<string>;
|
|
323
|
-
/**
|
|
324
|
-
* Fast-forward the local base branch to match its remote counterpart.
|
|
325
|
-
* If currently on the base branch, uses `git pull --ff-only`.
|
|
326
|
-
* If on a different branch, uses `git fetch origin <baseBranch>:<baseBranch>`.
|
|
327
|
-
*
|
|
328
|
-
* @param cwd - Working directory path
|
|
329
|
-
* @param baseBranch - The base branch to sync (e.g. "main")
|
|
330
|
-
* @throws GitPrError with SYNC_FAILED code if the branch has diverged and cannot fast-forward
|
|
331
|
-
* @throws GitPrError with GIT_ERROR code on other git failures
|
|
332
|
-
*/
|
|
333
|
-
syncMain(cwd: string, baseBranch: string): Promise<void>;
|
|
334
|
-
/**
|
|
335
|
-
* Rebase the feature branch onto the latest base branch.
|
|
336
|
-
* Checks for dirty worktree before starting. Detects conflict state
|
|
337
|
-
* from git exit code and stderr — throws REBASE_CONFLICT if conflicts
|
|
338
|
-
* are encountered (caller is responsible for resolution or abort).
|
|
339
|
-
*
|
|
340
|
-
* @param cwd - Working directory path
|
|
341
|
-
* @param featureBranch - The feature branch to rebase
|
|
342
|
-
* @param baseBranch - The base branch to rebase onto
|
|
343
|
-
* @throws GitPrError with GIT_ERROR code if the worktree is dirty
|
|
344
|
-
* @throws GitPrError with REBASE_CONFLICT code if conflicts are detected
|
|
345
|
-
* @throws GitPrError with BRANCH_NOT_FOUND code if a branch does not exist
|
|
346
|
-
*/
|
|
347
|
-
rebaseOnMain(cwd: string, featureBranch: string, baseBranch: string): Promise<void>;
|
|
348
|
-
/**
|
|
349
|
-
* Get the list of files with unresolved conflicts (unmerged paths).
|
|
350
|
-
* Uses `git diff --name-only --diff-filter=U` to identify conflicted files.
|
|
351
|
-
*
|
|
352
|
-
* @param cwd - Working directory path
|
|
353
|
-
* @returns Array of file paths with unresolved conflicts
|
|
354
|
-
* @throws GitPrError with GIT_ERROR code on failure
|
|
355
|
-
*/
|
|
356
|
-
getConflictedFiles(cwd: string): Promise<string[]>;
|
|
357
|
-
/**
|
|
358
|
-
* Stage specific files in the working directory.
|
|
359
|
-
* Uses `git add` for the specified file paths.
|
|
360
|
-
*
|
|
361
|
-
* @param cwd - Working directory path
|
|
362
|
-
* @param files - Array of file paths to stage
|
|
363
|
-
* @throws GitPrError with GIT_ERROR code on failure
|
|
364
|
-
*/
|
|
365
|
-
stageFiles(cwd: string, files: string[]): Promise<void>;
|
|
366
|
-
/**
|
|
367
|
-
* Continue an in-progress rebase after conflicts have been resolved.
|
|
368
|
-
* Runs `git rebase --continue`. May throw REBASE_CONFLICT if the next
|
|
369
|
-
* commit in the rebase also has conflicts.
|
|
370
|
-
*
|
|
371
|
-
* @param cwd - Working directory path
|
|
372
|
-
* @throws GitPrError with REBASE_CONFLICT code if new conflicts are detected
|
|
373
|
-
* @throws GitPrError with GIT_ERROR code on other git failures
|
|
374
|
-
*/
|
|
375
|
-
rebaseContinue(cwd: string): Promise<void>;
|
|
376
|
-
/**
|
|
377
|
-
* Abort an in-progress rebase, restoring the branch to its pre-rebase state.
|
|
378
|
-
* Runs `git rebase --abort`.
|
|
379
|
-
*
|
|
380
|
-
* @param cwd - Working directory path
|
|
381
|
-
* @throws GitPrError with GIT_ERROR code on failure
|
|
382
|
-
*/
|
|
383
|
-
rebaseAbort(cwd: string): Promise<void>;
|
|
384
321
|
}
|
|
385
322
|
//# sourceMappingURL=git-pr-service.interface.d.ts.map
|
package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-pr-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/git-pr-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;GAEG;AACH,oBAAY,cAAc;IACxB,YAAY,iBAAiB;IAC7B,
|
|
1
|
+
{"version":3,"file":"git-pr-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/git-pr-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;GAEG;AACH,oBAAY,cAAc;IACxB,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;CAC9B;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;aAGjB,IAAI,EAAE,cAAc;aACpB,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,cAAc,EACpB,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,6DAA6D;IAC7D,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACtC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,0CAA0C;IAC1C,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,KAAK,EAAE,QAAQ,CAAC;IAChB,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzC;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAElD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD;;;;;;OAMG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErD;;;;;;;OAOG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEnE;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF;;;;;;;OAOG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF;;;;;;;OAOG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAElE;;;;;;;;;OASG;IACH,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjF;;;;;;;OAOG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExE;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnE;;;;;;OAMG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAErD;;;;;;;;;;;;OAYG;IACH,WAAW,CACT,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAEhF;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnG"}
|
package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.js
CHANGED
|
@@ -9,17 +9,15 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export var GitPrErrorCode;
|
|
11
11
|
(function (GitPrErrorCode) {
|
|
12
|
+
GitPrErrorCode["MERGE_CONFLICT"] = "MERGE_CONFLICT";
|
|
12
13
|
GitPrErrorCode["AUTH_FAILURE"] = "AUTH_FAILURE";
|
|
13
|
-
GitPrErrorCode["BRANCH_NOT_FOUND"] = "BRANCH_NOT_FOUND";
|
|
14
|
-
GitPrErrorCode["CI_TIMEOUT"] = "CI_TIMEOUT";
|
|
15
14
|
GitPrErrorCode["GH_NOT_FOUND"] = "GH_NOT_FOUND";
|
|
15
|
+
GitPrErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
16
|
+
GitPrErrorCode["CI_TIMEOUT"] = "CI_TIMEOUT";
|
|
17
|
+
GitPrErrorCode["BRANCH_NOT_FOUND"] = "BRANCH_NOT_FOUND";
|
|
16
18
|
GitPrErrorCode["GIT_ERROR"] = "GIT_ERROR";
|
|
17
|
-
GitPrErrorCode["MERGE_CONFLICT"] = "MERGE_CONFLICT";
|
|
18
19
|
GitPrErrorCode["MERGE_FAILED"] = "MERGE_FAILED";
|
|
19
|
-
GitPrErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
20
20
|
GitPrErrorCode["PR_NOT_FOUND"] = "PR_NOT_FOUND";
|
|
21
|
-
GitPrErrorCode["REBASE_CONFLICT"] = "REBASE_CONFLICT";
|
|
22
|
-
GitPrErrorCode["SYNC_FAILED"] = "SYNC_FAILED";
|
|
23
21
|
})(GitPrErrorCode || (GitPrErrorCode = {}));
|
|
24
22
|
/**
|
|
25
23
|
* Typed error for git PR operations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAoHrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CAiUrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -80,9 +80,6 @@ import { CheckAndUnblockFeaturesUseCase } from '../../application/use-cases/feat
|
|
|
80
80
|
import { UpdateFeatureLifecycleUseCase } from '../../application/use-cases/features/update/update-feature-lifecycle.use-case.js';
|
|
81
81
|
import { CleanupFeatureWorktreeUseCase } from '../../application/use-cases/features/cleanup-feature-worktree.use-case.js';
|
|
82
82
|
import { UpgradeCliUseCase } from '../../application/use-cases/upgrade/upgrade-cli.use-case.js';
|
|
83
|
-
import { SyncRepositoryMainUseCase } from '../../application/use-cases/repositories/sync-repository-main.use-case.js';
|
|
84
|
-
import { RebaseFeatureOnMainUseCase } from '../../application/use-cases/features/rebase-feature-on-main.use-case.js';
|
|
85
|
-
import { ConflictResolutionService } from '../services/agents/conflict-resolution/conflict-resolution.service.js';
|
|
86
83
|
// Session listing
|
|
87
84
|
import { ClaudeCodeSessionRepository } from '../services/agents/sessions/claude-code-session.repository.js';
|
|
88
85
|
import { StubSessionRepository } from '../services/agents/sessions/stub-session.repository.js';
|
|
@@ -298,12 +295,6 @@ export async function initializeContainer() {
|
|
|
298
295
|
container.registerSingleton(UpdateFeatureLifecycleUseCase);
|
|
299
296
|
container.registerSingleton(CleanupFeatureWorktreeUseCase);
|
|
300
297
|
container.registerSingleton(UpgradeCliUseCase);
|
|
301
|
-
container.registerSingleton(ConflictResolutionService);
|
|
302
|
-
container.register('ConflictResolutionService', {
|
|
303
|
-
useFactory: (c) => c.resolve(ConflictResolutionService),
|
|
304
|
-
});
|
|
305
|
-
container.registerSingleton(SyncRepositoryMainUseCase);
|
|
306
|
-
container.registerSingleton(RebaseFeatureOnMainUseCase);
|
|
307
298
|
// Session repositories (per-AgentType string tokens)
|
|
308
299
|
container.register(`IAgentSessionRepository:${AgentType.ClaudeCode}`, {
|
|
309
300
|
useFactory: () => new ClaudeCodeSessionRepository(),
|
|
@@ -394,12 +385,6 @@ export async function initializeContainer() {
|
|
|
394
385
|
container.register('UpgradeCliUseCase', {
|
|
395
386
|
useFactory: (c) => c.resolve(UpgradeCliUseCase),
|
|
396
387
|
});
|
|
397
|
-
container.register('SyncRepositoryMainUseCase', {
|
|
398
|
-
useFactory: (c) => c.resolve(SyncRepositoryMainUseCase),
|
|
399
|
-
});
|
|
400
|
-
container.register('RebaseFeatureOnMainUseCase', {
|
|
401
|
-
useFactory: (c) => c.resolve(RebaseFeatureOnMainUseCase),
|
|
402
|
-
});
|
|
403
388
|
_initialized = true;
|
|
404
389
|
return container;
|
|
405
390
|
}
|
|
@@ -45,11 +45,5 @@ export declare class GitPrService implements IGitPrService {
|
|
|
45
45
|
private parseGhError;
|
|
46
46
|
private parsePrNumberFromUrl;
|
|
47
47
|
private parseDiffStat;
|
|
48
|
-
syncMain(cwd: string, baseBranch: string): Promise<void>;
|
|
49
|
-
rebaseOnMain(cwd: string, featureBranch: string, baseBranch: string): Promise<void>;
|
|
50
|
-
getConflictedFiles(cwd: string): Promise<string[]>;
|
|
51
|
-
stageFiles(cwd: string, files: string[]): Promise<void>;
|
|
52
|
-
rebaseContinue(cwd: string): Promise<void>;
|
|
53
|
-
rebaseAbort(cwd: string): Promise<void>;
|
|
54
48
|
}
|
|
55
49
|
//# sourceMappingURL=git-pr.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-pr.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/git-pr.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"git-pr.service.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/git/git-pr.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -612,14 +612,6 @@ let GitPrService = class GitPrService {
|
|
|
612
612
|
parseGitError(error) {
|
|
613
613
|
const message = error instanceof Error ? error.message : String(error);
|
|
614
614
|
const cause = error instanceof Error ? error : undefined;
|
|
615
|
-
// Rebase-specific: detect "CONFLICT" during rebase operations
|
|
616
|
-
if (message.includes('CONFLICT') && message.includes('rebase')) {
|
|
617
|
-
return new GitPrError(message, GitPrErrorCode.REBASE_CONFLICT, cause);
|
|
618
|
-
}
|
|
619
|
-
// Sync-specific: non-fast-forward or diverged branch
|
|
620
|
-
if (message.includes('non-fast-forward') || message.includes('diverged')) {
|
|
621
|
-
return new GitPrError(message, GitPrErrorCode.SYNC_FAILED, cause);
|
|
622
|
-
}
|
|
623
615
|
if (message.includes('rejected') || message.includes('conflict')) {
|
|
624
616
|
return new GitPrError(message, GitPrErrorCode.MERGE_CONFLICT, cause);
|
|
625
617
|
}
|
|
@@ -660,123 +652,6 @@ let GitPrService = class GitPrService {
|
|
|
660
652
|
commitCount,
|
|
661
653
|
};
|
|
662
654
|
}
|
|
663
|
-
// --- Rebase & Sync operations ---
|
|
664
|
-
async syncMain(cwd, baseBranch) {
|
|
665
|
-
try {
|
|
666
|
-
// Detect current branch
|
|
667
|
-
const { stdout } = await this.execFile('git', ['rev-parse', '--abbrev-ref', 'HEAD'], { cwd });
|
|
668
|
-
const currentBranch = stdout.trim();
|
|
669
|
-
if (currentBranch === baseBranch) {
|
|
670
|
-
// On the base branch — use git pull --ff-only
|
|
671
|
-
await this.execFile('git', ['pull', '--ff-only', 'origin', baseBranch], { cwd });
|
|
672
|
-
}
|
|
673
|
-
else {
|
|
674
|
-
// On a different branch — use git fetch to update the base branch ref without switching
|
|
675
|
-
await this.execFile('git', ['fetch', 'origin', `${baseBranch}:${baseBranch}`], { cwd });
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
catch (error) {
|
|
679
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
680
|
-
const cause = error instanceof Error ? error : undefined;
|
|
681
|
-
if (message.includes('non-fast-forward') || message.includes('diverged')) {
|
|
682
|
-
throw new GitPrError(`Cannot fast-forward '${baseBranch}': local branch has diverged from remote. ` +
|
|
683
|
-
`Resolve the divergence manually with 'git checkout ${baseBranch} && git reset --hard origin/${baseBranch}' ` +
|
|
684
|
-
`if you want to discard local changes on ${baseBranch}.`, GitPrErrorCode.SYNC_FAILED, cause);
|
|
685
|
-
}
|
|
686
|
-
throw new GitPrError(`Failed to sync '${baseBranch}' with remote: ${message}`, GitPrErrorCode.GIT_ERROR, cause);
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
async rebaseOnMain(cwd, featureBranch, baseBranch) {
|
|
690
|
-
// Check for dirty worktree before starting
|
|
691
|
-
const dirty = await this.hasUncommittedChanges(cwd);
|
|
692
|
-
if (dirty) {
|
|
693
|
-
throw new GitPrError(`Cannot rebase: working directory has uncommitted changes. ` +
|
|
694
|
-
`Please commit or stash your changes before rebasing.`, GitPrErrorCode.GIT_ERROR);
|
|
695
|
-
}
|
|
696
|
-
// Checkout the feature branch
|
|
697
|
-
try {
|
|
698
|
-
await this.execFile('git', ['checkout', featureBranch], { cwd });
|
|
699
|
-
}
|
|
700
|
-
catch (error) {
|
|
701
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
702
|
-
const cause = error instanceof Error ? error : undefined;
|
|
703
|
-
if (message.includes('did not match') ||
|
|
704
|
-
message.includes('not a commit') ||
|
|
705
|
-
message.includes('pathspec')) {
|
|
706
|
-
throw new GitPrError(`Branch '${featureBranch}' not found.`, GitPrErrorCode.BRANCH_NOT_FOUND, cause);
|
|
707
|
-
}
|
|
708
|
-
throw new GitPrError(`Failed to checkout '${featureBranch}': ${message}`, GitPrErrorCode.GIT_ERROR, cause);
|
|
709
|
-
}
|
|
710
|
-
// Rebase onto the base branch
|
|
711
|
-
try {
|
|
712
|
-
await this.execFile('git', ['rebase', baseBranch], { cwd });
|
|
713
|
-
}
|
|
714
|
-
catch (error) {
|
|
715
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
716
|
-
const cause = error instanceof Error ? error : undefined;
|
|
717
|
-
// Detect rebase conflict from git stderr/exit code
|
|
718
|
-
if (message.includes('CONFLICT') || message.includes('could not apply')) {
|
|
719
|
-
// Get the list of conflicted files to include in the error message
|
|
720
|
-
let conflictedFiles = [];
|
|
721
|
-
try {
|
|
722
|
-
conflictedFiles = await this.getConflictedFiles(cwd);
|
|
723
|
-
}
|
|
724
|
-
catch {
|
|
725
|
-
// Failed to get conflicted files — still report the conflict
|
|
726
|
-
}
|
|
727
|
-
const fileList = conflictedFiles.length > 0 ? ` Conflicted files: ${conflictedFiles.join(', ')}` : '';
|
|
728
|
-
throw new GitPrError(`Rebase of '${featureBranch}' onto '${baseBranch}' encountered conflicts.${fileList}`, GitPrErrorCode.REBASE_CONFLICT, cause);
|
|
729
|
-
}
|
|
730
|
-
throw new GitPrError(`Rebase of '${featureBranch}' onto '${baseBranch}' failed: ${message}`, GitPrErrorCode.GIT_ERROR, cause);
|
|
731
|
-
}
|
|
732
|
-
}
|
|
733
|
-
async getConflictedFiles(cwd) {
|
|
734
|
-
try {
|
|
735
|
-
const { stdout } = await this.execFile('git', ['diff', '--name-only', '--diff-filter=U'], {
|
|
736
|
-
cwd,
|
|
737
|
-
});
|
|
738
|
-
return stdout
|
|
739
|
-
.trim()
|
|
740
|
-
.split('\n')
|
|
741
|
-
.filter((f) => f.length > 0)
|
|
742
|
-
.map((f) => f.replace(/\\/g, '/'));
|
|
743
|
-
}
|
|
744
|
-
catch (error) {
|
|
745
|
-
throw this.parseGitError(error);
|
|
746
|
-
}
|
|
747
|
-
}
|
|
748
|
-
async stageFiles(cwd, files) {
|
|
749
|
-
try {
|
|
750
|
-
await this.execFile('git', ['add', ...files], { cwd });
|
|
751
|
-
}
|
|
752
|
-
catch (error) {
|
|
753
|
-
throw this.parseGitError(error);
|
|
754
|
-
}
|
|
755
|
-
}
|
|
756
|
-
async rebaseContinue(cwd) {
|
|
757
|
-
try {
|
|
758
|
-
await this.execFile('git', ['rebase', '--continue'], {
|
|
759
|
-
cwd,
|
|
760
|
-
env: { ...process.env, GIT_EDITOR: 'true' },
|
|
761
|
-
});
|
|
762
|
-
}
|
|
763
|
-
catch (error) {
|
|
764
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
765
|
-
const cause = error instanceof Error ? error : undefined;
|
|
766
|
-
if (message.includes('CONFLICT') || message.includes('could not apply')) {
|
|
767
|
-
throw new GitPrError(`Rebase continue encountered new conflicts: ${message}`, GitPrErrorCode.REBASE_CONFLICT, cause);
|
|
768
|
-
}
|
|
769
|
-
throw this.parseGitError(error);
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
async rebaseAbort(cwd) {
|
|
773
|
-
try {
|
|
774
|
-
await this.execFile('git', ['rebase', '--abort'], { cwd });
|
|
775
|
-
}
|
|
776
|
-
catch (error) {
|
|
777
|
-
throw this.parseGitError(error);
|
|
778
|
-
}
|
|
779
|
-
}
|
|
780
655
|
};
|
|
781
656
|
GitPrService = __decorate([
|
|
782
657
|
injectable(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-drawer-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI/D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,UAAU,CAAC;IACjB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"feature-drawer-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI/D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,UAAU,CAAC;IACjB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,wBAAwB,2CAqkB1F"}
|
package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js
CHANGED
|
@@ -303,7 +303,6 @@ export function FeatureDrawerClient({ view: initialView, urlTab }) {
|
|
|
303
303
|
// ── Hooks (always called unconditionally per Rules of Hooks) ──────────
|
|
304
304
|
const featureActionsInput = featureNode?.repositoryPath && featureNode?.branch
|
|
305
305
|
? {
|
|
306
|
-
featureId: featureNode.featureId,
|
|
307
306
|
repositoryPath: featureNode.repositoryPath,
|
|
308
307
|
branch: featureNode.branch,
|
|
309
308
|
specPath: featureNode.specPath,
|
|
@@ -347,7 +346,7 @@ export function FeatureDrawerClient({ view: initialView, urlTab }) {
|
|
|
347
346
|
...(featureNode.state === 'error' && { onRetry: handleRetry }),
|
|
348
347
|
...(featureNode.state === 'pending' && { onStart: handleStart }),
|
|
349
348
|
};
|
|
350
|
-
body = (_jsx(FeatureDrawerTabs, { featureNode: enrichedNode, featureId: featureNode.featureId, initialTab: view.initialTab, urlTab: urlTab, sseEvents: events, prdData: prdData, prdSelections: prdSelections, onPrdSelect: (qId, oId) => setPrdSelections((prev) => ({ ...prev, [qId]: oId })), onPrdApprove: handlePrdApprove, onPrdReject: handlePrdReject, isPrdLoading: isLoadingPrd, techData: techData, onTechApprove: handleTechApprove, onTechReject: handleTechReject, isTechLoading: isLoadingTech, productData: isLoadingTechProduct ? null : techProductData, mergeData: mergeData, onMergeApprove: handleMergeApprove, onMergeReject: handleMergeReject, isMergeLoading: isLoadingMerge,
|
|
349
|
+
body = (_jsx(FeatureDrawerTabs, { featureNode: enrichedNode, featureId: featureNode.featureId, initialTab: view.initialTab, urlTab: urlTab, sseEvents: events, prdData: prdData, prdSelections: prdSelections, onPrdSelect: (qId, oId) => setPrdSelections((prev) => ({ ...prev, [qId]: oId })), onPrdApprove: handlePrdApprove, onPrdReject: handlePrdReject, isPrdLoading: isLoadingPrd, techData: techData, onTechApprove: handleTechApprove, onTechReject: handleTechReject, isTechLoading: isLoadingTech, productData: isLoadingTechProduct ? null : techProductData, mergeData: mergeData, onMergeApprove: handleMergeApprove, onMergeReject: handleMergeReject, isMergeLoading: isLoadingMerge, isRejecting: isRejecting, chatInput: chatInput, onChatInputChange: setChatInput }));
|
|
351
350
|
}
|
|
352
351
|
return (_jsx(BaseDrawer, { open: isOpen, onClose: attemptClose, size: "md", modal: false, header: header, "data-testid": view.type === 'feature' ? 'feature-drawer' : 'repository-drawer', children: body }));
|
|
353
352
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-drawer-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/control-center-drawer/repository-drawer-client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repository-drawer-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/control-center-drawer/repository-drawer-client.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAcD,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,2BAA2B,2CAoL3E"}
|
|
@@ -2,19 +2,35 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { useCallback } from 'react';
|
|
4
4
|
import { useRouter, usePathname } from 'next/navigation';
|
|
5
|
-
import { Code2, Terminal, FolderOpen,
|
|
5
|
+
import { Code2, Terminal, FolderOpen, GitBranch, GitCommitHorizontal, User, ArrowDown, Clock, } from 'lucide-react';
|
|
6
6
|
import { BaseDrawer } from '../../common/base-drawer/index.js';
|
|
7
7
|
import { ActionButton } from '../../common/action-button/index.js';
|
|
8
8
|
import { DrawerTitle, DrawerDescription } from '../../ui/drawer.js';
|
|
9
9
|
import { Separator } from '../../ui/separator.js';
|
|
10
|
+
import { Badge } from '../../ui/badge.js';
|
|
10
11
|
import { useRepositoryActions } from '../../common/repository-node/use-repository-actions.js';
|
|
11
12
|
import { useFeatureFlags } from '../../../hooks/feature-flags-context.js';
|
|
13
|
+
function formatRelativeTime(epochMs) {
|
|
14
|
+
const diff = Date.now() - epochMs;
|
|
15
|
+
const days = Math.floor(diff / (1000 * 60 * 60 * 24));
|
|
16
|
+
if (days === 0)
|
|
17
|
+
return 'Today';
|
|
18
|
+
if (days === 1)
|
|
19
|
+
return 'Yesterday';
|
|
20
|
+
if (days < 30)
|
|
21
|
+
return `${days} days ago`;
|
|
22
|
+
const months = Math.floor(days / 30);
|
|
23
|
+
if (months < 12)
|
|
24
|
+
return `${months} month${months > 1 ? 's' : ''} ago`;
|
|
25
|
+
const years = Math.floor(months / 12);
|
|
26
|
+
return `${years} year${years > 1 ? 's' : ''} ago`;
|
|
27
|
+
}
|
|
12
28
|
export function RepositoryDrawerClient({ data }) {
|
|
13
29
|
const featureFlags = useFeatureFlags();
|
|
14
30
|
const router = useRouter();
|
|
15
31
|
const pathname = usePathname();
|
|
16
32
|
const isOpen = pathname.startsWith('/repository/');
|
|
17
|
-
const repoActions = useRepositoryActions(data.repositoryPath ? {
|
|
33
|
+
const repoActions = useRepositoryActions(data.repositoryPath ? { repositoryPath: data.repositoryPath } : null);
|
|
18
34
|
const onClose = useCallback(() => {
|
|
19
35
|
router.push('/');
|
|
20
36
|
}, [router]);
|
|
@@ -26,5 +42,6 @@ export function RepositoryDrawerClient({ data }) {
|
|
|
26
42
|
}
|
|
27
43
|
: undefined;
|
|
28
44
|
const header = (_jsxs("div", { "data-testid": "repository-drawer-header", children: [_jsx(DrawerTitle, { children: data.name }), data.repositoryPath ? (_jsx(DrawerDescription, { className: "truncate font-mono text-xs", children: data.repositoryPath })) : null] }));
|
|
29
|
-
|
|
45
|
+
const hasGitInfo = !!(data.branch ?? data.commitMessage);
|
|
46
|
+
return (_jsx(BaseDrawer, { open: isOpen, onClose: onClose, size: "md", modal: false, header: header, deployTarget: featureFlags.envDeploy ? repoDeployTarget : undefined, "data-testid": "repository-drawer", children: _jsxs("div", { className: "flex flex-1 flex-col overflow-y-auto", children: [hasGitInfo ? (_jsxs(_Fragment, { children: [_jsx(Separator, {}), _jsxs("div", { className: "flex flex-col gap-3 p-4", "data-testid": "repository-drawer-git-section", children: [_jsx("div", { className: "text-muted-foreground text-xs font-semibold tracking-wider", children: "GIT STATUS" }), _jsxs("div", { className: "flex flex-col gap-2", children: [data.branch ? (_jsxs("div", { className: "flex items-center justify-between gap-2", "data-testid": "repository-drawer-branch-row", children: [_jsxs("div", { className: "text-muted-foreground flex items-center gap-2 text-sm", children: [_jsx(GitBranch, { className: "h-4 w-4 shrink-0" }), _jsx("span", { className: "text-foreground font-medium", children: "Branch" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Badge, { variant: "secondary", className: "font-mono text-xs", "data-testid": "repository-drawer-branch", children: data.branch }), data.behindCount != null && data.behindCount > 0 ? (_jsxs(Badge, { variant: "outline", className: "border-amber-500/40 bg-amber-50 text-xs text-amber-600 dark:bg-amber-900/20 dark:text-amber-400", "data-testid": "repository-drawer-behind", children: [_jsx(ArrowDown, { className: "mr-1 h-3 w-3" }), data.behindCount, " behind"] })) : null] })] })) : null, data.commitMessage ? (_jsx("div", { className: "bg-muted/50 rounded-lg p-3", "data-testid": "repository-drawer-commit-section", children: _jsxs("div", { className: "flex items-start gap-2", children: [_jsx(GitCommitHorizontal, { className: "text-muted-foreground mt-0.5 h-4 w-4 shrink-0" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "text-foreground text-sm leading-snug font-medium", "data-testid": "repository-drawer-commit-message", children: data.commitMessage }), data.committer ? (_jsxs("div", { className: "text-muted-foreground mt-1 flex items-center gap-1 text-xs", children: [_jsx(User, { className: "h-3 w-3 shrink-0" }), _jsx("span", { "data-testid": "repository-drawer-committer", children: data.committer })] })) : null] })] }) })) : null] })] })] })) : null, data.repositoryPath ? (_jsxs(_Fragment, { children: [_jsx(Separator, {}), _jsxs("div", { className: "flex flex-col gap-3 p-4", children: [_jsx("div", { className: "text-muted-foreground text-xs font-semibold tracking-wider", children: "OPEN WITH" }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(ActionButton, { label: "Open in IDE", onClick: repoActions.openInIde, loading: repoActions.ideLoading, error: !!repoActions.ideError, icon: Code2, variant: "outline", size: "sm" }), _jsx(ActionButton, { label: "Open in Shell", onClick: repoActions.openInShell, loading: repoActions.shellLoading, error: !!repoActions.shellError, icon: Terminal, variant: "outline", size: "sm" }), _jsx(ActionButton, { label: "Open Folder", onClick: repoActions.openFolder, loading: repoActions.folderLoading, error: !!repoActions.folderError, icon: FolderOpen, variant: "outline", size: "sm" })] })] })] })) : null, data.createdAt ? (_jsxs(_Fragment, { children: [_jsx(Separator, {}), _jsxs("div", { className: "flex flex-col gap-3 p-4", "data-testid": "repository-drawer-metadata", children: [_jsx("div", { className: "text-muted-foreground text-xs font-semibold tracking-wider", children: "INFO" }), _jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsxs("div", { className: "text-muted-foreground flex items-center gap-2", children: [_jsx(Clock, { className: "h-4 w-4 shrink-0" }), _jsx("span", { children: "Added" })] }), _jsx("span", { className: "text-foreground text-xs", title: new Date(data.createdAt).toLocaleString(), "data-testid": "repository-drawer-created-at", children: formatRelativeTime(data.createdAt) })] })] })] })) : null] }) }));
|
|
30
47
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export interface FeatureActionsInput {
|
|
2
|
-
featureId: string;
|
|
3
2
|
repositoryPath: string;
|
|
4
3
|
branch: string;
|
|
5
4
|
specPath?: string;
|
|
@@ -8,15 +7,12 @@ export interface FeatureActionsState {
|
|
|
8
7
|
openInIde: () => Promise<void>;
|
|
9
8
|
openInShell: () => Promise<void>;
|
|
10
9
|
openSpecsFolder: () => Promise<void>;
|
|
11
|
-
rebaseOnMain: () => Promise<void>;
|
|
12
10
|
ideLoading: boolean;
|
|
13
11
|
shellLoading: boolean;
|
|
14
12
|
specsLoading: boolean;
|
|
15
|
-
rebaseLoading: boolean;
|
|
16
13
|
ideError: string | null;
|
|
17
14
|
shellError: string | null;
|
|
18
15
|
specsError: string | null;
|
|
19
|
-
rebaseError: string | null;
|
|
20
16
|
}
|
|
21
17
|
export declare function useFeatureActions(input: FeatureActionsInput | null): FeatureActionsState;
|
|
22
18
|
//# sourceMappingURL=use-feature-actions.d.ts.map
|
package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-feature-actions.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer/use-feature-actions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-feature-actions.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer/use-feature-actions.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,mBAAmB,CA8GxF"}
|
|
@@ -3,25 +3,21 @@ import { useState, useCallback, useRef, useEffect } from 'react';
|
|
|
3
3
|
import { openIde } from '../../../app/actions/open-ide.js';
|
|
4
4
|
import { openShell } from '../../../app/actions/open-shell.js';
|
|
5
5
|
import { openFolder } from '../../../app/actions/open-folder.js';
|
|
6
|
-
import { rebaseFeature } from '../../../app/actions/rebase-feature.js';
|
|
7
6
|
const ERROR_CLEAR_DELAY = 5000;
|
|
8
7
|
export function useFeatureActions(input) {
|
|
9
8
|
const [ideLoading, setIdeLoading] = useState(false);
|
|
10
9
|
const [shellLoading, setShellLoading] = useState(false);
|
|
11
10
|
const [specsLoading, setSpecsLoading] = useState(false);
|
|
12
|
-
const [rebaseLoading, setRebaseLoading] = useState(false);
|
|
13
11
|
const [ideError, setIdeError] = useState(null);
|
|
14
12
|
const [shellError, setShellError] = useState(null);
|
|
15
13
|
const [specsError, setSpecsError] = useState(null);
|
|
16
|
-
const [rebaseError, setRebaseError] = useState(null);
|
|
17
14
|
const ideTimerRef = useRef(null);
|
|
18
15
|
const shellTimerRef = useRef(null);
|
|
19
16
|
const specsTimerRef = useRef(null);
|
|
20
|
-
const rebaseTimerRef = useRef(null);
|
|
21
17
|
// Clear timers on unmount — read .current inside cleanup so we get the
|
|
22
18
|
// actual timer value at teardown time, not the always-null value at mount.
|
|
23
19
|
useEffect(() => {
|
|
24
|
-
const refs = [ideTimerRef, shellTimerRef, specsTimerRef
|
|
20
|
+
const refs = [ideTimerRef, shellTimerRef, specsTimerRef];
|
|
25
21
|
return () => {
|
|
26
22
|
for (const ref of refs) {
|
|
27
23
|
if (ref.current)
|
|
@@ -83,42 +79,15 @@ export function useFeatureActions(input) {
|
|
|
83
79
|
setSpecsLoading(false);
|
|
84
80
|
}
|
|
85
81
|
}, [input, specsLoading]);
|
|
86
|
-
const handleRebaseOnMain = useCallback(async () => {
|
|
87
|
-
if (!input?.featureId || rebaseLoading)
|
|
88
|
-
return;
|
|
89
|
-
if (rebaseTimerRef.current)
|
|
90
|
-
clearTimeout(rebaseTimerRef.current);
|
|
91
|
-
setRebaseLoading(true);
|
|
92
|
-
setRebaseError(null);
|
|
93
|
-
try {
|
|
94
|
-
const result = await rebaseFeature(input.featureId);
|
|
95
|
-
if (!result.success) {
|
|
96
|
-
const errorMessage = result.error ?? 'An unexpected error occurred';
|
|
97
|
-
setRebaseError(errorMessage);
|
|
98
|
-
rebaseTimerRef.current = setTimeout(() => setRebaseError(null), ERROR_CLEAR_DELAY);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
catch (err) {
|
|
102
|
-
const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred';
|
|
103
|
-
setRebaseError(errorMessage);
|
|
104
|
-
rebaseTimerRef.current = setTimeout(() => setRebaseError(null), ERROR_CLEAR_DELAY);
|
|
105
|
-
}
|
|
106
|
-
finally {
|
|
107
|
-
setRebaseLoading(false);
|
|
108
|
-
}
|
|
109
|
-
}, [input, rebaseLoading]);
|
|
110
82
|
return {
|
|
111
83
|
openInIde: handleOpenIde,
|
|
112
84
|
openInShell: handleOpenShell,
|
|
113
85
|
openSpecsFolder: handleOpenSpecsFolder,
|
|
114
|
-
rebaseOnMain: handleRebaseOnMain,
|
|
115
86
|
ideLoading,
|
|
116
87
|
shellLoading,
|
|
117
88
|
specsLoading,
|
|
118
|
-
rebaseLoading,
|
|
119
89
|
ideError,
|
|
120
90
|
shellError,
|
|
121
91
|
specsError,
|
|
122
|
-
rebaseError,
|
|
123
92
|
};
|
|
124
93
|
}
|
package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts
CHANGED
|
@@ -29,12 +29,9 @@ export interface FeatureDrawerTabsProps {
|
|
|
29
29
|
onMergeApprove?: () => void;
|
|
30
30
|
onMergeReject?: (feedback: string, attachments: RejectAttachment[]) => void;
|
|
31
31
|
isMergeLoading?: boolean;
|
|
32
|
-
onRebaseOnMain?: () => void;
|
|
33
|
-
rebaseLoading?: boolean;
|
|
34
|
-
rebaseError?: string | null;
|
|
35
32
|
isRejecting?: boolean;
|
|
36
33
|
chatInput?: string;
|
|
37
34
|
onChatInputChange?: (value: string) => void;
|
|
38
35
|
}
|
|
39
|
-
export declare function FeatureDrawerTabs({ featureNode, featureId, initialTab, urlTab, prdData, prdSelections, onPrdSelect, onPrdApprove, onPrdReject, isPrdLoading, techData, onTechApprove, onTechReject, isTechLoading, productData, mergeData, onMergeApprove, onMergeReject, isMergeLoading,
|
|
36
|
+
export declare function FeatureDrawerTabs({ featureNode, featureId, initialTab, urlTab, prdData, prdSelections, onPrdSelect, onPrdApprove, onPrdReject, isPrdLoading, techData, onTechApprove, onTechReject, isTechLoading, productData, mergeData, onMergeApprove, onMergeReject, isMergeLoading, isRejecting, chatInput, onChatInputChange, sseEvents, }: FeatureDrawerTabsProps): import("react/jsx-runtime").JSX.Element;
|
|
40
37
|
//# sourceMappingURL=feature-drawer-tabs.d.ts.map
|
package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-drawer-tabs.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAS9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAMxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAQ9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AA8C3F,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,eAAe,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,gFAAgF;IAChF,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAGzC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,WAAW,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAGjD,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,
|
|
1
|
+
{"version":3,"file":"feature-drawer-tabs.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAS9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAMxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAQ9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AA8C3F,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,eAAe,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,gFAAgF;IAChF,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAGzC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,WAAW,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAGjD,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAwBD,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,EACT,UAAU,EACV,MAAM,EACN,OAAO,EACP,aAAa,EACb,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,SAAS,GACV,EAAE,sBAAsB,2CA8UxB"}
|
package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js
CHANGED
|
@@ -64,7 +64,7 @@ const TAB_FETCHERS = {
|
|
|
64
64
|
activity: fetchActivity,
|
|
65
65
|
plan: fetchPlan,
|
|
66
66
|
};
|
|
67
|
-
export function FeatureDrawerTabs({ featureNode, featureId, initialTab, urlTab, prdData, prdSelections, onPrdSelect, onPrdApprove, onPrdReject, isPrdLoading, techData, onTechApprove, onTechReject, isTechLoading, productData, mergeData, onMergeApprove, onMergeReject, isMergeLoading,
|
|
67
|
+
export function FeatureDrawerTabs({ featureNode, featureId, initialTab, urlTab, prdData, prdSelections, onPrdSelect, onPrdApprove, onPrdReject, isPrdLoading, techData, onTechApprove, onTechReject, isTechLoading, productData, mergeData, onMergeApprove, onMergeReject, isMergeLoading, isRejecting, chatInput, onChatInputChange, sseEvents, }) {
|
|
68
68
|
const pathname = usePathname();
|
|
69
69
|
const visibleTabs = useMemo(() => computeVisibleTabs(featureNode), [featureNode]);
|
|
70
70
|
const visibleTabDefs = useMemo(() => ALL_TABS.filter((t) => visibleTabs.includes(t.key)).map((t) => t.key === 'merge-review' && featureNode.lifecycle === 'maintain'
|
|
@@ -241,7 +241,7 @@ export function FeatureDrawerTabs({ featureNode, featureId, initialTab, urlTab,
|
|
|
241
241
|
fetchTab(tab);
|
|
242
242
|
}
|
|
243
243
|
}, [fetchTab]);
|
|
244
|
-
return (_jsx("div", { className: "flex min-h-0 flex-1 flex-col", children: _jsxs(Tabs, { value: activeTab, onValueChange: handleTabChange, className: "flex min-h-0 flex-1 flex-col", children: [_jsx("div", { className: "shrink-0 overflow-x-auto px-4 pt-4", children: _jsx(TabsList, { className: "flex w-full", children: visibleTabDefs.map((tab) => (_jsx(TabsTrigger, { value: tab.key, className: "flex-1", children: tab.label }, tab.key))) }) }), _jsx(TabsContent, { value: "overview", className: "mt-0 flex-1 overflow-y-auto", children: _jsx(OverviewTab, { data: featureNode
|
|
244
|
+
return (_jsx("div", { className: "flex min-h-0 flex-1 flex-col", children: _jsxs(Tabs, { value: activeTab, onValueChange: handleTabChange, className: "flex min-h-0 flex-1 flex-col", children: [_jsx("div", { className: "shrink-0 overflow-x-auto px-4 pt-4", children: _jsx(TabsList, { className: "flex w-full", children: visibleTabDefs.map((tab) => (_jsx(TabsTrigger, { value: tab.key, className: "flex-1", children: tab.label }, tab.key))) }) }), _jsx(TabsContent, { value: "overview", className: "mt-0 flex-1 overflow-y-auto", children: _jsx(OverviewTab, { data: featureNode }) }), _jsx(TabsContent, { value: "activity", className: "mt-0 flex-1 overflow-y-auto", children: _jsx(ActivityTab, { timings: tabs.activity.data?.timings ?? null, loading: tabs.activity.loading, error: tabs.activity.error, rejectionFeedback: tabs.activity.data?.rejectionFeedback }) }), _jsx(TabsContent, { value: "log", className: "mt-0 flex-1 overflow-hidden", children: _jsx(LogTab, { content: featureLogs.content, isConnected: featureLogs.isConnected, error: featureLogs.error }) }), _jsx(TabsContent, { value: "plan", className: "mt-0 flex-1 overflow-y-auto", children: _jsx(PlanTab, { plan: tabs.plan.data, loading: tabs.plan.loading, error: tabs.plan.error }) }), visibleTabs.includes('prd-review') ? (_jsx(TabsContent, { value: "prd-review", className: "mt-0 flex min-h-0 flex-1 flex-col", children: prdData ? (_jsx(PrdQuestionnaire, { data: prdData, selections: prdSelections ?? {}, onSelect: onPrdSelect ?? (() => undefined), onApprove: onPrdApprove ?? (() => undefined), onReject: onPrdReject, isProcessing: isPrdLoading, isRejecting: isRejecting, chatInput: chatInput, onChatInputChange: onChatInputChange })) : (_jsx("div", { className: "flex items-center justify-center p-8", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) })) })) : null, visibleTabs.includes('tech-decisions') ? (_jsx(TabsContent, { value: "tech-decisions", className: "mt-0 flex min-h-0 flex-1 flex-col", children: techData ? (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col", children: [_jsx("div", { className: "flex-1 overflow-y-auto", children: _jsx(TechDecisionsContent, { data: techData }) }), _jsx(DrawerActionBarForTech, { onApprove: onTechApprove ?? (() => undefined), onReject: onTechReject, isProcessing: isTechLoading, isRejecting: isRejecting, chatInput: chatInput, onChatInputChange: onChatInputChange })] })) : (_jsx("div", { className: "flex items-center justify-center p-8", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) })) })) : null, visibleTabs.includes('product-decisions') ? (_jsx(TabsContent, { value: "product-decisions", className: "mt-0 flex-1 overflow-y-auto", children: productData === null ? (_jsx("div", { className: "flex items-center justify-center p-8", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) })) : productData ? (_jsx(ProductDecisionsSummary, { data: productData })) : (_jsx("p", { className: "text-muted-foreground p-4 text-center text-sm", children: "No product decisions available." })) })) : null, visibleTabs.includes('merge-review') ? (_jsx(TabsContent, { value: "merge-review", className: "mt-0 flex min-h-0 flex-1 flex-col", children: mergeData ? (_jsx(MergeReview, { data: mergeData, readOnly: featureNode.lifecycle === 'maintain', onApprove: onMergeApprove ?? (() => undefined), onReject: onMergeReject, isProcessing: isMergeLoading, isRejecting: isRejecting, chatInput: chatInput, onChatInputChange: onChatInputChange })) : (_jsx("div", { className: "flex items-center justify-center p-8", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) })) })) : null] }) }));
|
|
245
245
|
}
|
|
246
246
|
// ── Private helper ──────────────────────────────────────────────────────
|
|
247
247
|
function DrawerActionBarForTech({ onApprove, onReject, isProcessing, isRejecting, chatInput, onChatInputChange, }) {
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { FeatureNodeData } from '../../common/feature-node/index.js';
|
|
2
2
|
export interface OverviewTabProps {
|
|
3
3
|
data: FeatureNodeData;
|
|
4
|
-
onRebaseOnMain?: () => void;
|
|
5
|
-
rebaseLoading?: boolean;
|
|
6
|
-
rebaseError?: string | null;
|
|
7
4
|
}
|
|
8
|
-
export declare function OverviewTab({ data
|
|
5
|
+
export declare function OverviewTab({ data }: OverviewTabProps): import("react/jsx-runtime").JSX.Element;
|
|
9
6
|
//# sourceMappingURL=overview-tab.d.ts.map
|
package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overview-tab.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/overview-tab.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"overview-tab.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-drawer-tabs/overview-tab.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAQxE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,gBAAgB,2CA+DrD"}
|