@shepai/cli 1.136.0-pr396.e077930 → 1.136.0-pr417.01aebe9
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/apis/json-schema/FeatureFlags.yaml +0 -5
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +5 -91
- 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/application/use-cases/features/adopt-branch.use-case.d.ts +8 -3
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +66 -8
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +0 -1
- package/dist/packages/core/src/domain/generated/output.d.ts +0 -4
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +0 -20
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +0 -2
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +2 -3
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +0 -10
- 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 -150
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +12 -5
- 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 -16
- 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 +4 -4
- 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/activity-tab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +0 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +1 -9
- 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 -9
- 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 +2 -3
- 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 +3 -5
- 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/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +0 -3
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +0 -3
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +0 -5
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +0 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +0 -1
- package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/feature-flags-context.js +0 -1
- package/dist/src/presentation/web/lib/feature-flags.d.ts +0 -2
- package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/feature-flags.js +0 -5
- 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/adopt/page/server-reference-manifest.json +50 -65
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -2
- 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/create/page/server-reference-manifest.json +50 -65
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -2
- 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 +62 -107
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
- 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 +62 -107
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
- 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 +46 -61
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -2
- 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 +50 -65
- package/web/.next/server/app/(dashboard)/create/page.js +2 -2
- 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 +62 -107
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
- 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 +62 -107
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
- 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 +46 -61
- package/web/.next/server/app/(dashboard)/page.js +2 -2
- 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 +46 -61
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -2
- 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 +3 -3
- 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 +8 -8
- 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 +8 -8
- 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 +8 -8
- 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 +3 -3
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js.map +1 -0
- 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_28632197.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js.map +1 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5f9c6e5._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5f9c6e5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0020fddd._.js +1 -1
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
- package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_13f3c0ec._.js → _036a2f1a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_13f3c0ec._.js.map → _036a2f1a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_7216273e._.js +3 -0
- package/web/.next/server/chunks/ssr/_7216273e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
- package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
- package/web/.next/server/chunks/ssr/_a9f57758._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_e69a26ba._.js +4 -0
- package/web/.next/server/chunks/ssr/_e69a26ba._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.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 +3 -0
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_cc376559._.js +3 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_28f803bd._.js.map → src_presentation_web_cc376559._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.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/chunks/ssr/src_presentation_web_e4df6dd7._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.js.map +1 -0
- 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 +307 -457
- package/web/.next/static/chunks/{4148e7a319ea7ec4.js → 01e0452d72421732.js} +1 -1
- package/web/.next/static/chunks/{f070c67389a686ff.js → 0b7fe2ac4f078f54.js} +1 -1
- package/web/.next/static/chunks/{ed248df9e975fd1f.js → 32674ed600fd2d02.js} +1 -1
- package/web/.next/static/chunks/{eeec829933170d8a.js → 33119fe287968581.js} +1 -1
- package/web/.next/static/chunks/{f010c3293515ab73.js → 419a8d8457d5c8e8.js} +1 -1
- package/web/.next/static/chunks/{031e65a4305571f7.js → 54c901337941d745.js} +1 -1
- package/web/.next/static/chunks/{132d824e337f12fe.js → 5cf49c75127f5c06.js} +1 -1
- package/web/.next/static/chunks/{6bfc9e17e141ac36.js → 666dabc5a947187d.js} +1 -1
- package/web/.next/static/chunks/{9db1dd8ad063626c.js → 6cbecb92bd68e7c8.js} +1 -1
- package/web/.next/static/chunks/{aa2236a4b7c3bd45.js → 76ef5cf3b4f4ef6b.js} +1 -1
- package/web/.next/static/chunks/{20a66a7159b97299.js → 8586bee9919f310e.js} +2 -2
- package/web/.next/static/chunks/92cd6f523639a6fa.css +1 -0
- package/web/.next/static/chunks/{5f67ffe1879b8536.js → bdc2d28b3db1cadf.js} +1 -1
- package/web/.next/static/chunks/d0dff217a94d4ee1.js +1 -0
- package/web/.next/static/chunks/da46061d83a9de54.js +1 -0
- package/web/.next/static/chunks/eb9841ec4d80af01.js +1 -0
- package/dist/packages/core/src/application/use-cases/features/get-branch-sync-status.use-case.d.ts +0 -25
- package/dist/packages/core/src/application/use-cases/features/get-branch-sync-status.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/features/get-branch-sync-status.use-case.js +0 -62
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts +0 -34
- 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 -139
- 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/persistence/sqlite/migrations/042-add-feature-flag-git-rebase-sync.d.ts +0 -11
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/042-add-feature-flag-git-rebase-sync.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/042-add-feature-flag-git-rebase-sync.js +0 -17
- 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/get-branch-sync-status.d.ts +0 -11
- package/dist/src/presentation/web/app/actions/get-branch-sync-status.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/get-branch-sync-status.js +0 -22
- 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/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.d.ts +0 -12
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.js +0 -13
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.d.ts +0 -15
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.stories.js +0 -86
- package/dist/src/presentation/web/hooks/use-branch-sync-status.d.ts +0 -14
- package/dist/src/presentation/web/hooks/use-branch-sync-status.d.ts.map +0 -1
- package/dist/src/presentation/web/hooks/use-branch-sync-status.js +0 -67
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1626f5d7._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1626f5d7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__49557873._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__49557873._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__90fdc0ee._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__90fdc0ee._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a7259d16._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a7259d16._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__cb850066._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__cb850066._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_149f6559._.js +0 -4
- package/web/.next/server/chunks/ssr/_149f6559._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1a09002f._.js +0 -4
- package/web/.next/server/chunks/ssr/_1a09002f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_48a8ee28._.js +0 -6
- package/web/.next/server/chunks/ssr/_48a8ee28._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_51ed80a4._.js +0 -3
- package/web/.next/server/chunks/ssr/_51ed80a4._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_6e8c85b1._.js +0 -6
- package/web/.next/server/chunks/ssr/_6e8c85b1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_83220ba0._.js +0 -4
- package/web/.next/server/chunks/ssr/_83220ba0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_939287c5._.js +0 -4
- package/web/.next/server/chunks/ssr/_939287c5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +0 -3
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_28f803bd._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +0 -1
- package/web/.next/static/chunks/6a370f2709c81d83.js +0 -1
- package/web/.next/static/chunks/ab3afb0b942c1eb2.css +0 -1
- package/web/.next/static/chunks/b3cc94a1e319bee8.js +0 -1
- package/web/.next/static/chunks/f66c996402a430f5.js +0 -1
- /package/web/.next/static/{8o0yazCw1kyy56LNhgtTp → cTPv5o2etR55f5kz8U-6Q}/_buildManifest.js +0 -0
- /package/web/.next/static/{8o0yazCw1kyy56LNhgtTp → cTPv5o2etR55f5kz8U-6Q}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{8o0yazCw1kyy56LNhgtTp → cTPv5o2etR55f5kz8U-6Q}/_ssgManifest.js +0 -0
package/dist/packages/core/src/application/use-cases/features/get-branch-sync-status.use-case.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get Branch Sync Status Use Case
|
|
3
|
-
*
|
|
4
|
-
* Returns how many commits a feature branch is ahead/behind the base branch.
|
|
5
|
-
*
|
|
6
|
-
* Flow: resolve feature → determine cwd (worktree or repo root) →
|
|
7
|
-
* sync remote tracking ref → get branch sync status.
|
|
8
|
-
*/
|
|
9
|
-
import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
|
|
10
|
-
import type { IGitPrService } from '../../ports/output/services/git-pr-service.interface.js';
|
|
11
|
-
import type { IWorktreeService } from '../../ports/output/services/worktree-service.interface.js';
|
|
12
|
-
export interface BranchSyncStatusResult {
|
|
13
|
-
ahead: number;
|
|
14
|
-
behind: number;
|
|
15
|
-
baseBranch: string;
|
|
16
|
-
}
|
|
17
|
-
export declare class GetBranchSyncStatusUseCase {
|
|
18
|
-
private readonly featureRepo;
|
|
19
|
-
private readonly gitPrService;
|
|
20
|
-
private readonly worktreeService;
|
|
21
|
-
constructor(featureRepo: IFeatureRepository, gitPrService: IGitPrService, worktreeService: IWorktreeService);
|
|
22
|
-
execute(featureId: string): Promise<BranchSyncStatusResult>;
|
|
23
|
-
private resolveCwd;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=get-branch-sync-status.use-case.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-branch-sync-status.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/get-branch-sync-status.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAC7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAElG,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBACa,0BAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAJf,WAAW,EAAE,kBAAkB,EAE/B,YAAY,EAAE,aAAa,EAE3B,eAAe,EAAE,gBAAgB;IAG9C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;YA0BnD,UAAU;CAOzB"}
|
package/dist/packages/core/src/application/use-cases/features/get-branch-sync-status.use-case.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get Branch Sync Status Use Case
|
|
3
|
-
*
|
|
4
|
-
* Returns how many commits a feature branch is ahead/behind the base branch.
|
|
5
|
-
*
|
|
6
|
-
* Flow: resolve feature → determine cwd (worktree or repo root) →
|
|
7
|
-
* sync remote tracking ref → get branch sync status.
|
|
8
|
-
*/
|
|
9
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
10
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
11
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
12
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
13
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14
|
-
};
|
|
15
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
16
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
17
|
-
};
|
|
18
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
19
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
20
|
-
};
|
|
21
|
-
import { injectable, inject } from 'tsyringe';
|
|
22
|
-
let GetBranchSyncStatusUseCase = class GetBranchSyncStatusUseCase {
|
|
23
|
-
featureRepo;
|
|
24
|
-
gitPrService;
|
|
25
|
-
worktreeService;
|
|
26
|
-
constructor(featureRepo, gitPrService, worktreeService) {
|
|
27
|
-
this.featureRepo = featureRepo;
|
|
28
|
-
this.gitPrService = gitPrService;
|
|
29
|
-
this.worktreeService = worktreeService;
|
|
30
|
-
}
|
|
31
|
-
async execute(featureId) {
|
|
32
|
-
const feature = (await this.featureRepo.findById(featureId)) ??
|
|
33
|
-
(await this.featureRepo.findByIdPrefix(featureId));
|
|
34
|
-
if (!feature) {
|
|
35
|
-
throw new Error(`Feature not found: "${featureId}"`);
|
|
36
|
-
}
|
|
37
|
-
if (!feature.branch) {
|
|
38
|
-
throw new Error(`Feature "${featureId}" has no branch`);
|
|
39
|
-
}
|
|
40
|
-
const cwd = await this.resolveCwd(feature.repositoryPath, feature.branch);
|
|
41
|
-
const baseBranch = await this.gitPrService.getDefaultBranch(feature.repositoryPath);
|
|
42
|
-
// Sync the remote tracking ref so ahead/behind counts are current
|
|
43
|
-
await this.gitPrService.syncMain(cwd, baseBranch);
|
|
44
|
-
const { ahead, behind } = await this.gitPrService.getBranchSyncStatus(cwd, feature.branch, baseBranch);
|
|
45
|
-
return { ahead, behind, baseBranch };
|
|
46
|
-
}
|
|
47
|
-
async resolveCwd(repositoryPath, branch) {
|
|
48
|
-
const hasWorktree = await this.worktreeService.exists(repositoryPath, branch);
|
|
49
|
-
if (hasWorktree) {
|
|
50
|
-
return this.worktreeService.getWorktreePath(repositoryPath, branch);
|
|
51
|
-
}
|
|
52
|
-
return repositoryPath;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
GetBranchSyncStatusUseCase = __decorate([
|
|
56
|
-
injectable(),
|
|
57
|
-
__param(0, inject('IFeatureRepository')),
|
|
58
|
-
__param(1, inject('IGitPrService')),
|
|
59
|
-
__param(2, inject('IWorktreeService')),
|
|
60
|
-
__metadata("design:paramtypes", [Object, Object, Object])
|
|
61
|
-
], GetBranchSyncStatusUseCase);
|
|
62
|
-
export { GetBranchSyncStatusUseCase };
|
package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rebase Feature on Main Use Case
|
|
3
|
-
*
|
|
4
|
-
* Rebases a feature branch onto the latest main branch with auto-sync
|
|
5
|
-
* and agent-powered conflict resolution.
|
|
6
|
-
*
|
|
7
|
-
* Flow: resolve feature → create standalone agent run → record phase timing →
|
|
8
|
-
* determine cwd (worktree or repo root) → sync main → rebase →
|
|
9
|
-
* on conflict, delegate to ConflictResolutionService → complete timing.
|
|
10
|
-
*/
|
|
11
|
-
import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
|
|
12
|
-
import type { IGitPrService } from '../../ports/output/services/git-pr-service.interface.js';
|
|
13
|
-
import type { IWorktreeService } from '../../ports/output/services/worktree-service.interface.js';
|
|
14
|
-
import type { IAgentRunRepository } from '../../ports/output/agents/agent-run-repository.interface.js';
|
|
15
|
-
import type { IPhaseTimingRepository } from '../../ports/output/agents/phase-timing-repository.interface.js';
|
|
16
|
-
import type { ConflictResolutionService } from '../../../infrastructure/services/agents/conflict-resolution/conflict-resolution.service.js';
|
|
17
|
-
export declare class RebaseFeatureOnMainUseCase {
|
|
18
|
-
private readonly featureRepo;
|
|
19
|
-
private readonly gitPrService;
|
|
20
|
-
private readonly worktreeService;
|
|
21
|
-
private readonly conflictResolutionService;
|
|
22
|
-
private readonly agentRunRepo;
|
|
23
|
-
private readonly phaseTimingRepo;
|
|
24
|
-
constructor(featureRepo: IFeatureRepository, gitPrService: IGitPrService, worktreeService: IWorktreeService, conflictResolutionService: ConflictResolutionService, agentRunRepo: IAgentRunRepository, phaseTimingRepo: IPhaseTimingRepository);
|
|
25
|
-
execute(featureId: string): Promise<void>;
|
|
26
|
-
private completeTiming;
|
|
27
|
-
/**
|
|
28
|
-
* Resolve the correct working directory for the feature.
|
|
29
|
-
* Uses the worktree path if a worktree exists for this branch,
|
|
30
|
-
* otherwise falls back to the repository root.
|
|
31
|
-
*/
|
|
32
|
-
private resolveCwd;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=rebase-feature-on-main.use-case.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rebase-feature-on-main.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAK7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAE7G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4FAA4F,CAAC;AAE5I,qBACa,0BAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAE1C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAVf,WAAW,EAAE,kBAAkB,EAE/B,YAAY,EAAE,aAAa,EAE3B,eAAe,EAAE,gBAAgB,EAEjC,yBAAyB,EAAE,yBAAyB,EAEpD,YAAY,EAAE,mBAAmB,EAEjC,eAAe,EAAE,sBAAsB;IAGpD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAuEjC,cAAc;IAwB5B;;;;OAIG;YACW,UAAU;CAOzB"}
|
package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.js
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rebase Feature on Main Use Case
|
|
3
|
-
*
|
|
4
|
-
* Rebases a feature branch onto the latest main branch with auto-sync
|
|
5
|
-
* and agent-powered conflict resolution.
|
|
6
|
-
*
|
|
7
|
-
* Flow: resolve feature → create standalone agent run → record phase timing →
|
|
8
|
-
* determine cwd (worktree or repo root) → sync main → rebase →
|
|
9
|
-
* on conflict, delegate to ConflictResolutionService → complete timing.
|
|
10
|
-
*/
|
|
11
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
12
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
13
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
14
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
|
-
};
|
|
17
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
18
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
19
|
-
};
|
|
20
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
21
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
22
|
-
};
|
|
23
|
-
import { injectable, inject } from 'tsyringe';
|
|
24
|
-
import { randomUUID } from 'node:crypto';
|
|
25
|
-
import { GitPrError, GitPrErrorCode, } from '../../ports/output/services/git-pr-service.interface.js';
|
|
26
|
-
import { AgentRunStatus, AgentType } from '../../../domain/generated/output.js';
|
|
27
|
-
let RebaseFeatureOnMainUseCase = class RebaseFeatureOnMainUseCase {
|
|
28
|
-
featureRepo;
|
|
29
|
-
gitPrService;
|
|
30
|
-
worktreeService;
|
|
31
|
-
conflictResolutionService;
|
|
32
|
-
agentRunRepo;
|
|
33
|
-
phaseTimingRepo;
|
|
34
|
-
constructor(featureRepo, gitPrService, worktreeService, conflictResolutionService, agentRunRepo, phaseTimingRepo) {
|
|
35
|
-
this.featureRepo = featureRepo;
|
|
36
|
-
this.gitPrService = gitPrService;
|
|
37
|
-
this.worktreeService = worktreeService;
|
|
38
|
-
this.conflictResolutionService = conflictResolutionService;
|
|
39
|
-
this.agentRunRepo = agentRunRepo;
|
|
40
|
-
this.phaseTimingRepo = phaseTimingRepo;
|
|
41
|
-
}
|
|
42
|
-
async execute(featureId) {
|
|
43
|
-
// Resolve feature by exact ID or prefix
|
|
44
|
-
const feature = (await this.featureRepo.findById(featureId)) ??
|
|
45
|
-
(await this.featureRepo.findByIdPrefix(featureId));
|
|
46
|
-
if (!feature) {
|
|
47
|
-
throw new Error(`Feature not found: "${featureId}"`);
|
|
48
|
-
}
|
|
49
|
-
// Create standalone agent run + phase timing for activity timeline
|
|
50
|
-
const now = new Date().toISOString();
|
|
51
|
-
const agentRunId = randomUUID();
|
|
52
|
-
const phaseTimingId = randomUUID();
|
|
53
|
-
await this.agentRunRepo.create({
|
|
54
|
-
id: agentRunId,
|
|
55
|
-
agentType: AgentType.ClaudeCode,
|
|
56
|
-
agentName: 'rebase',
|
|
57
|
-
status: AgentRunStatus.running,
|
|
58
|
-
prompt: `Rebase ${feature.branch} on main`,
|
|
59
|
-
threadId: agentRunId,
|
|
60
|
-
startedAt: now,
|
|
61
|
-
featureId: feature.id,
|
|
62
|
-
repositoryPath: feature.repositoryPath,
|
|
63
|
-
createdAt: now,
|
|
64
|
-
updatedAt: now,
|
|
65
|
-
});
|
|
66
|
-
await this.phaseTimingRepo.save({
|
|
67
|
-
id: phaseTimingId,
|
|
68
|
-
agentRunId,
|
|
69
|
-
phase: 'rebase',
|
|
70
|
-
startedAt: now,
|
|
71
|
-
createdAt: now,
|
|
72
|
-
updatedAt: now,
|
|
73
|
-
});
|
|
74
|
-
const startMs = Date.now();
|
|
75
|
-
try {
|
|
76
|
-
// Determine working directory — worktree path if it exists, else repo root
|
|
77
|
-
const cwd = await this.resolveCwd(feature.repositoryPath, feature.branch);
|
|
78
|
-
const defaultBranch = await this.gitPrService.getDefaultBranch(feature.repositoryPath);
|
|
79
|
-
// Auto-sync main before rebasing (per spec decision)
|
|
80
|
-
await this.gitPrService.syncMain(cwd, defaultBranch);
|
|
81
|
-
// Attempt rebase
|
|
82
|
-
try {
|
|
83
|
-
await this.gitPrService.rebaseOnMain(cwd, feature.branch, defaultBranch);
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
if (error instanceof GitPrError && error.code === GitPrErrorCode.REBASE_CONFLICT) {
|
|
87
|
-
// Delegate to agent-powered conflict resolution
|
|
88
|
-
await this.conflictResolutionService.resolve(cwd, feature.branch, defaultBranch);
|
|
89
|
-
// Conflict resolution succeeded — complete timing as success
|
|
90
|
-
await this.completeTiming(agentRunId, phaseTimingId, startMs, 'success');
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
throw error;
|
|
94
|
-
}
|
|
95
|
-
// Rebase succeeded without conflicts
|
|
96
|
-
await this.completeTiming(agentRunId, phaseTimingId, startMs, 'success');
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
// Record failure in timing
|
|
100
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
101
|
-
await this.completeTiming(agentRunId, phaseTimingId, startMs, 'error', message);
|
|
102
|
-
throw error;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
async completeTiming(agentRunId, phaseTimingId, startMs, exitCode, errorMessage) {
|
|
106
|
-
const completedAt = new Date().toISOString();
|
|
107
|
-
const durationMs = Date.now() - startMs;
|
|
108
|
-
await this.phaseTimingRepo.update(phaseTimingId, {
|
|
109
|
-
completedAt,
|
|
110
|
-
durationMs: BigInt(durationMs),
|
|
111
|
-
exitCode,
|
|
112
|
-
...(errorMessage && { errorMessage }),
|
|
113
|
-
});
|
|
114
|
-
await this.agentRunRepo.updateStatus(agentRunId, exitCode === 'success' ? AgentRunStatus.completed : AgentRunStatus.failed, { completedAt, ...(errorMessage && { error: errorMessage }) });
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Resolve the correct working directory for the feature.
|
|
118
|
-
* Uses the worktree path if a worktree exists for this branch,
|
|
119
|
-
* otherwise falls back to the repository root.
|
|
120
|
-
*/
|
|
121
|
-
async resolveCwd(repositoryPath, branch) {
|
|
122
|
-
const hasWorktree = await this.worktreeService.exists(repositoryPath, branch);
|
|
123
|
-
if (hasWorktree) {
|
|
124
|
-
return this.worktreeService.getWorktreePath(repositoryPath, branch);
|
|
125
|
-
}
|
|
126
|
-
return repositoryPath;
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
RebaseFeatureOnMainUseCase = __decorate([
|
|
130
|
-
injectable(),
|
|
131
|
-
__param(0, inject('IFeatureRepository')),
|
|
132
|
-
__param(1, inject('IGitPrService')),
|
|
133
|
-
__param(2, inject('IWorktreeService')),
|
|
134
|
-
__param(3, inject('ConflictResolutionService')),
|
|
135
|
-
__param(4, inject('IAgentRunRepository')),
|
|
136
|
-
__param(5, inject('IPhaseTimingRepository')),
|
|
137
|
-
__metadata("design:paramtypes", [Object, Object, Object, Function, Object, Object])
|
|
138
|
-
], RebaseFeatureOnMainUseCase);
|
|
139
|
-
export { RebaseFeatureOnMainUseCase };
|
package/dist/packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync Repository Main Use Case
|
|
3
|
-
*
|
|
4
|
-
* Syncs a repository's local main branch with the remote.
|
|
5
|
-
* Resolves the repository by ID, determines its path and default branch,
|
|
6
|
-
* then delegates to IGitPrService.syncMain().
|
|
7
|
-
*/
|
|
8
|
-
import type { IRepositoryRepository } from '../../ports/output/repositories/repository-repository.interface.js';
|
|
9
|
-
import type { IGitPrService } from '../../ports/output/services/git-pr-service.interface.js';
|
|
10
|
-
export declare class SyncRepositoryMainUseCase {
|
|
11
|
-
private readonly repositoryRepo;
|
|
12
|
-
private readonly gitPrService;
|
|
13
|
-
constructor(repositoryRepo: IRepositoryRepository, gitPrService: IGitPrService);
|
|
14
|
-
execute(repoId: string): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=sync-repository-main.use-case.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-repository-main.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAChH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAE7F,qBACa,yBAAyB;IAGlC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFZ,cAAc,EAAE,qBAAqB,EAErC,YAAY,EAAE,aAAa;IAGxC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7C"}
|
package/dist/packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync Repository Main Use Case
|
|
3
|
-
*
|
|
4
|
-
* Syncs a repository's local main branch with the remote.
|
|
5
|
-
* Resolves the repository by ID, determines its path and default branch,
|
|
6
|
-
* then delegates to IGitPrService.syncMain().
|
|
7
|
-
*/
|
|
8
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
9
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
10
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
11
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
-
};
|
|
14
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
16
|
-
};
|
|
17
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
18
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
19
|
-
};
|
|
20
|
-
import { injectable, inject } from 'tsyringe';
|
|
21
|
-
let SyncRepositoryMainUseCase = class SyncRepositoryMainUseCase {
|
|
22
|
-
repositoryRepo;
|
|
23
|
-
gitPrService;
|
|
24
|
-
constructor(repositoryRepo, gitPrService) {
|
|
25
|
-
this.repositoryRepo = repositoryRepo;
|
|
26
|
-
this.gitPrService = gitPrService;
|
|
27
|
-
}
|
|
28
|
-
async execute(repoId) {
|
|
29
|
-
const repository = await this.repositoryRepo.findById(repoId);
|
|
30
|
-
if (!repository) {
|
|
31
|
-
throw new Error(`Repository not found: "${repoId}"`);
|
|
32
|
-
}
|
|
33
|
-
const defaultBranch = await this.gitPrService.getDefaultBranch(repository.path);
|
|
34
|
-
await this.gitPrService.syncMain(repository.path, defaultBranch);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
SyncRepositoryMainUseCase = __decorate([
|
|
38
|
-
injectable(),
|
|
39
|
-
__param(0, inject('IRepositoryRepository')),
|
|
40
|
-
__param(1, inject('IGitPrService')),
|
|
41
|
-
__metadata("design:paramtypes", [Object, Object])
|
|
42
|
-
], SyncRepositoryMainUseCase);
|
|
43
|
-
export { SyncRepositoryMainUseCase };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Migration 042: Add feature_flag_git_rebase_sync column to settings table.
|
|
3
|
-
*
|
|
4
|
-
* Adds a boolean (INTEGER 0/1) column for the git rebase-sync feature flag.
|
|
5
|
-
* Defaults to 0 (disabled).
|
|
6
|
-
*/
|
|
7
|
-
import type { MigrationParams } from 'umzug';
|
|
8
|
-
import type Database from 'better-sqlite3';
|
|
9
|
-
export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
10
|
-
export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
11
|
-
//# sourceMappingURL=042-add-feature-flag-git-rebase-sync.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"042-add-feature-flag-git-rebase-sync.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/042-add-feature-flag-git-rebase-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7F"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Migration 042: Add feature_flag_git_rebase_sync column to settings table.
|
|
3
|
-
*
|
|
4
|
-
* Adds a boolean (INTEGER 0/1) column for the git rebase-sync feature flag.
|
|
5
|
-
* Defaults to 0 (disabled).
|
|
6
|
-
*/
|
|
7
|
-
export async function up({ context: db }) {
|
|
8
|
-
const columns = db.pragma('table_info(settings)');
|
|
9
|
-
const existing = new Set(columns.map((c) => c.name));
|
|
10
|
-
if (!existing.has('feature_flag_git_rebase_sync')) {
|
|
11
|
-
db.exec('ALTER TABLE settings ADD COLUMN feature_flag_git_rebase_sync INTEGER NOT NULL DEFAULT 0');
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
export async function down({ context: db }) {
|
|
15
|
-
// SQLite does not support DROP COLUMN before 3.35.0; column remains but is unused after rollback.
|
|
16
|
-
void db;
|
|
17
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conflict Resolution Prompt Builder
|
|
3
|
-
*
|
|
4
|
-
* Builds prompts for the AI agent to resolve git rebase conflicts.
|
|
5
|
-
* Follows the merge-prompts.ts pattern of pure functions returning
|
|
6
|
-
* markdown strings.
|
|
7
|
-
*/
|
|
8
|
-
export interface ConflictedFile {
|
|
9
|
-
/** Relative file path from repo root */
|
|
10
|
-
path: string;
|
|
11
|
-
/** Full file contents including conflict markers */
|
|
12
|
-
content: string;
|
|
13
|
-
}
|
|
14
|
-
export interface ConflictResolutionPromptParams {
|
|
15
|
-
/** Files with conflict markers */
|
|
16
|
-
conflictedFiles: ConflictedFile[];
|
|
17
|
-
/** The feature branch being rebased */
|
|
18
|
-
featureBranch: string;
|
|
19
|
-
/** The base branch being rebased onto */
|
|
20
|
-
baseBranch: string;
|
|
21
|
-
/** 1-based attempt number */
|
|
22
|
-
attemptNumber: number;
|
|
23
|
-
/** Maximum allowed attempts */
|
|
24
|
-
maxAttempts: number;
|
|
25
|
-
/** Feedback from previous failed attempt (remaining markers info) */
|
|
26
|
-
previousFeedback?: string;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Build a prompt for the conflict resolution agent.
|
|
30
|
-
*
|
|
31
|
-
* The agent receives conflicted file contents and instructions to resolve
|
|
32
|
-
* all conflict markers by editing files in the working directory.
|
|
33
|
-
*/
|
|
34
|
-
export declare function buildConflictResolutionPrompt(params: ConflictResolutionPromptParams): string;
|
|
35
|
-
//# sourceMappingURL=conflict-resolution.prompt.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-resolution.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC7C,kCAAkC;IAClC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,8BAA8B,GAAG,MAAM,CAgE5F"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conflict Resolution Prompt Builder
|
|
3
|
-
*
|
|
4
|
-
* Builds prompts for the AI agent to resolve git rebase conflicts.
|
|
5
|
-
* Follows the merge-prompts.ts pattern of pure functions returning
|
|
6
|
-
* markdown strings.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Build a prompt for the conflict resolution agent.
|
|
10
|
-
*
|
|
11
|
-
* The agent receives conflicted file contents and instructions to resolve
|
|
12
|
-
* all conflict markers by editing files in the working directory.
|
|
13
|
-
*/
|
|
14
|
-
export function buildConflictResolutionPrompt(params) {
|
|
15
|
-
const { conflictedFiles, featureBranch, baseBranch, attemptNumber, maxAttempts, previousFeedback, } = params;
|
|
16
|
-
const fileSection = conflictedFiles
|
|
17
|
-
.map((f) => `### \`${f.path}\`
|
|
18
|
-
|
|
19
|
-
\`\`\`
|
|
20
|
-
${f.content}
|
|
21
|
-
\`\`\``)
|
|
22
|
-
.join('\n\n');
|
|
23
|
-
const feedbackSection = previousFeedback
|
|
24
|
-
? `
|
|
25
|
-
## Previous Attempt Feedback
|
|
26
|
-
|
|
27
|
-
Your previous resolution attempt (${attemptNumber - 1}/${maxAttempts}) was incomplete:
|
|
28
|
-
|
|
29
|
-
${previousFeedback}
|
|
30
|
-
|
|
31
|
-
You MUST resolve all remaining conflict markers in this attempt.
|
|
32
|
-
`
|
|
33
|
-
: '';
|
|
34
|
-
return `You are resolving git rebase conflicts (attempt ${attemptNumber}/${maxAttempts}).
|
|
35
|
-
|
|
36
|
-
## Branch Context
|
|
37
|
-
|
|
38
|
-
- Feature branch: \`${featureBranch}\`
|
|
39
|
-
- Base branch: \`${baseBranch}\`
|
|
40
|
-
- The feature branch is being rebased onto the latest \`${baseBranch}\`.
|
|
41
|
-
${feedbackSection}
|
|
42
|
-
## Conflicted Files
|
|
43
|
-
|
|
44
|
-
The following files contain conflict markers that must be resolved:
|
|
45
|
-
|
|
46
|
-
${fileSection}
|
|
47
|
-
|
|
48
|
-
## Instructions
|
|
49
|
-
|
|
50
|
-
1. Read each conflicted file listed above
|
|
51
|
-
2. Resolve ALL conflict markers (\`<<<<<<<\`, \`=======\`, \`>>>>>>>\`) by editing the files
|
|
52
|
-
3. For each conflict, determine the correct resolution by understanding the intent of both sides:
|
|
53
|
-
- The \`<<<<<<< HEAD\` section contains changes from \`${baseBranch}\` (theirs during rebase)
|
|
54
|
-
- The \`>>>>>>> ...\` section contains changes from \`${featureBranch}\` (ours during rebase)
|
|
55
|
-
4. Produce a merged result that preserves the intent of both sides where possible
|
|
56
|
-
5. If the changes conflict logically (not just textually), prefer the feature branch changes but ensure compatibility with the base branch
|
|
57
|
-
|
|
58
|
-
## Constraints
|
|
59
|
-
|
|
60
|
-
- Edit ONLY the conflicted files listed above — do NOT modify any other files
|
|
61
|
-
- Remove ALL conflict markers (\`<<<<<<<\`, \`=======\`, \`>>>>>>>\`) from every conflicted file
|
|
62
|
-
- Do NOT add new files or delete files
|
|
63
|
-
- Do NOT run git commands — only edit files to resolve conflicts
|
|
64
|
-
- Do NOT run tests, builds, or linters — only resolve the conflict markers
|
|
65
|
-
- Every conflicted file must have zero remaining conflict markers when you are done`;
|
|
66
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conflict Resolution Service
|
|
3
|
-
*
|
|
4
|
-
* Orchestrates agent-powered conflict resolution during git rebase.
|
|
5
|
-
* Follows the CI watch/fix loop pattern: detect conflict → invoke agent →
|
|
6
|
-
* validate resolution → stage files → continue rebase, with retry logic.
|
|
7
|
-
*/
|
|
8
|
-
import type { IAgentExecutorProvider } from '../../../../application/ports/output/agents/agent-executor-provider.interface.js';
|
|
9
|
-
import type { IGitPrService } from '../../../../application/ports/output/services/git-pr-service.interface.js';
|
|
10
|
-
export declare class ConflictResolutionService {
|
|
11
|
-
private readonly agentProvider;
|
|
12
|
-
private readonly gitPrService;
|
|
13
|
-
constructor(agentProvider: IAgentExecutorProvider, gitPrService: IGitPrService);
|
|
14
|
-
/**
|
|
15
|
-
* Resolve all conflicts during a rebase operation.
|
|
16
|
-
*
|
|
17
|
-
* Handles multi-commit rebases where each commit may introduce conflicts.
|
|
18
|
-
* For each conflicted commit: reads conflicted files, invokes agent to
|
|
19
|
-
* resolve, validates no remaining markers, stages resolved files, and
|
|
20
|
-
* continues the rebase. Retries up to MAX_RETRIES_PER_COMMIT times.
|
|
21
|
-
*
|
|
22
|
-
* If retries are exhausted, aborts the rebase and throws REBASE_CONFLICT.
|
|
23
|
-
*
|
|
24
|
-
* @param cwd - Working directory (repo root or worktree path)
|
|
25
|
-
* @param featureBranch - Feature branch being rebased
|
|
26
|
-
* @param baseBranch - Base branch being rebased onto
|
|
27
|
-
*/
|
|
28
|
-
resolve(cwd: string, featureBranch: string, baseBranch: string): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Read the contents of conflicted files from the working directory.
|
|
31
|
-
*/
|
|
32
|
-
private readConflictedFileContents;
|
|
33
|
-
/**
|
|
34
|
-
* Validate that no conflict markers remain in the previously-conflicted files.
|
|
35
|
-
*/
|
|
36
|
-
private validateResolution;
|
|
37
|
-
/**
|
|
38
|
-
* Build feedback about remaining conflict markers for retry attempts.
|
|
39
|
-
*/
|
|
40
|
-
private buildFeedbackFromRemainingMarkers;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=conflict-resolution.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-resolution.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wEAAwE,CAAC;AACrH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iEAAiE,CAAC;AAerG,qBACa,yBAAyB;IAGlC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFZ,aAAa,EAAE,sBAAsB,EAErC,YAAY,EAAE,aAAa;IAG9C;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEpF;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,CAAC,iCAAiC;CAyB1C"}
|