@shepai/cli 1.122.2-pr395.d35739a → 1.123.0-pr394.80f3f1f
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/repositories/feature-repository.interface.d.ts +11 -0
- package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +1 -55
- 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 +0 -2
- package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts +25 -0
- package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts +40 -0
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +146 -0
- package/dist/packages/core/src/application/use-cases/features/branch-name-utils.d.ts +33 -0
- package/dist/packages/core/src/application/use-cases/features/branch-name-utils.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/branch-name-utils.js +77 -0
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +5 -10
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +8 -0
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +0 -9
- 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 -93
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +39 -0
- package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts +14 -0
- package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/feat/adopt.command.js +43 -0
- package/dist/src/presentation/cli/commands/feat/index.js +2 -2
- package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/repo/index.js +1 -3
- package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.d.ts +10 -0
- package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.js +22 -0
- package/dist/src/presentation/web/app/actions/adopt-branch.d.ts +11 -0
- package/dist/src/presentation/web/app/actions/adopt-branch.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/adopt-branch.js +20 -0
- package/dist/src/presentation/web/app/actions/list-branches.d.ts +6 -0
- package/dist/src/presentation/web/app/actions/list-branches.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/list-branches.js +18 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts +13 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +69 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts +35 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.js +135 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.d.ts +5 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.js +69 -0
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +12 -3
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +1 -0
- package/web/.next/build-manifest.json +4 -4
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/routes-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +18 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +335 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +20 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.map +5 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +22 -22
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +28 -28
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +22 -22
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +28 -28
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +20 -20
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
- 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/page/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/skills/page.js +4 -4
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/app-paths-manifest.json +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_94d75bc3._.js +3 -0
- package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_94d75bc3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_cfc9281c.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_cfc9281c.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_f30d0343.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__02c84e6b._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__02c84e6b._.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]__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 +1 -1
- package/web/.next/server/chunks/ssr/[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 +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9e8b25ad._.js.map +1 -1
- 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 +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aed1d6f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ce6057f6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ce6057f6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e2227c0f._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e2227c0f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f0589cc3._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f0589cc3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_037585d1._.js +3 -0
- package/web/.next/server/chunks/ssr/_037585d1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0a97d643._.js +3 -0
- package/web/.next/server/chunks/ssr/_0a97d643._.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/_19a2fb35._.js +3 -0
- package/web/.next/server/chunks/ssr/_19a2fb35._.js.map +1 -0
- 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/_4093a637._.js +5 -0
- package/web/.next/server/chunks/ssr/_4093a637._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_583a83fb._.js +3 -0
- package/web/.next/server/chunks/ssr/_583a83fb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_59905c6b._.js → _60922fc4._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_59905c6b._.js.map → _60922fc4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_9f56cf8f._.js +3 -0
- package/web/.next/server/chunks/ssr/_9f56cf8f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a187fd7e._.js +3 -0
- package/web/.next/server/chunks/ssr/_a187fd7e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a5aa6371._.js +9 -0
- package/web/.next/server/chunks/ssr/_a5aa6371._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a9f57758._.js +3 -0
- package/web/.next/server/chunks/ssr/_a9f57758._.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/_d5206f22._.js +4 -0
- package/web/.next/server/chunks/ssr/_d5206f22._.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/f7870_sonner_dist_index_mjs_dbf63824._.js +3 -0
- package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_7a78701e._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_7a78701e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js.map +1 -1
- 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 +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.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/middleware-build-manifest.js +2 -2
- 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 +204 -34
- package/web/.next/static/chunks/{16c125d4054dae40.js → 14d6411c627ccc15.js} +3 -3
- package/web/.next/static/chunks/26110def6c1641a5.js +1 -0
- package/web/.next/static/chunks/{4aadcf496c0c45da.js → 2dade33cf8b0e03e.js} +1 -1
- package/web/.next/static/chunks/3e3e9c6552a6574f.css +1 -0
- package/web/.next/static/chunks/44e35ac2426a1bd0.js +1 -0
- package/web/.next/static/chunks/6295f27fe47da052.js +1 -0
- package/web/.next/static/chunks/8080c842b0358904.js +1 -0
- package/web/.next/static/chunks/{ed3a602003bcb31b.js → 89aac43287d73b02.js} +1 -1
- package/web/.next/static/chunks/8c50a0b7a7d9a4d5.js +1 -0
- package/web/.next/static/chunks/{5738cc053b378225.js → 9fe8af38605fa69a.js} +1 -1
- package/web/.next/static/chunks/a73b4cc8c0548c91.js +1 -0
- package/web/.next/static/chunks/a8ba3f3e2b0f87aa.js +1 -0
- package/web/.next/static/chunks/{47030173ef438c4c.js → b626e6ad69805e9a.js} +2 -2
- package/web/.next/static/chunks/d04de4be30ab78ca.js +3 -0
- package/web/.next/static/chunks/{44ec09b4f33c494d.js → e1de6b08082f5365.js} +1 -1
- package/web/.next/static/chunks/{28882fc716f51419.js → e413cc49d94d7093.js} +2 -2
- package/web/.next/static/chunks/{3c8f903477aacd29.js → fc45997b8b835378.js} +1 -1
- package/web/.next/static/chunks/{turbopack-426d9bc2450816ba.js → turbopack-080e470ea902d0ba.js} +1 -1
- package/dist/packages/core/src/application/use-cases/features/rebase-feature.use-case.d.ts +0 -21
- package/dist/packages/core/src/application/use-cases/features/rebase-feature.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/features/rebase-feature.use-case.js +0 -58
- package/dist/packages/core/src/application/use-cases/sync-fork-main.use-case.d.ts +0 -18
- package/dist/packages/core/src/application/use-cases/sync-fork-main.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/sync-fork-main.use-case.js +0 -40
- package/dist/src/presentation/cli/commands/feat/rebase.command.d.ts +0 -13
- package/dist/src/presentation/cli/commands/feat/rebase.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/feat/rebase.command.js +0 -45
- package/dist/src/presentation/cli/commands/repo/sync.command.d.ts +0 -12
- package/dist/src/presentation/cli/commands/repo/sync.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/repo/sync.command.js +0 -38
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_d0119342._.js +0 -3
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_d0119342._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_3a4c94e3._.js +0 -3
- package/web/.next/server/chunks/ssr/_3a4c94e3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_6d26a08f._.js +0 -3
- package/web/.next/server/chunks/ssr/_6d26a08f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_8042b250._.js +0 -3
- package/web/.next/server/chunks/ssr/_8042b250._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_9ac70f88._.js +0 -5
- package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b56e7571._.js +0 -3
- package/web/.next/server/chunks/ssr/_b56e7571._.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 +0 -9
- 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_7df6451f._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_7df6451f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js.map +0 -1
- package/web/.next/static/chunks/0b7e384fe33dc5d4.js +0 -1
- package/web/.next/static/chunks/2d718a04eb97fa9c.js +0 -1
- package/web/.next/static/chunks/303a1217006489b9.js +0 -1
- package/web/.next/static/chunks/3925626b99dcd57a.css +0 -1
- package/web/.next/static/chunks/4443ee9c7733399b.js +0 -1
- package/web/.next/static/chunks/52b56677c842e45f.js +0 -3
- package/web/.next/static/chunks/6bc9ac207dab5ad3.js +0 -1
- package/web/.next/static/chunks/dbbb446493f21874.js +0 -1
- /package/web/.next/static/{8e_LzmibF0x2F_XwXUjHz → -FOfzDf8kOTPigHYVlPm4}/_buildManifest.js +0 -0
- /package/web/.next/static/{8e_LzmibF0x2F_XwXUjHz → -FOfzDf8kOTPigHYVlPm4}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{8e_LzmibF0x2F_XwXUjHz → -FOfzDf8kOTPigHYVlPm4}/_ssgManifest.js +0 -0
|
@@ -57,6 +57,17 @@ export interface IFeatureRepository {
|
|
|
57
57
|
* @returns The feature or null if not found
|
|
58
58
|
*/
|
|
59
59
|
findBySlug(slug: string, repositoryPath: string): Promise<Feature | null>;
|
|
60
|
+
/**
|
|
61
|
+
* Find a feature by its branch name within a repository (excludes soft-deleted).
|
|
62
|
+
*
|
|
63
|
+
* Used for duplicate adoption detection — ensures a branch is not already
|
|
64
|
+
* tracked as a feature before adopting it.
|
|
65
|
+
*
|
|
66
|
+
* @param branch - The exact git branch name
|
|
67
|
+
* @param repositoryPath - The repository path to scope the search
|
|
68
|
+
* @returns The feature or null if not found
|
|
69
|
+
*/
|
|
70
|
+
findByBranch(branch: string, repositoryPath: string): Promise<Feature | null>;
|
|
60
71
|
/**
|
|
61
72
|
* List features with optional filters.
|
|
62
73
|
* Excludes soft-deleted features unless includeDeleted is true.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/feature-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE1E;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEvD;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
|
|
1
|
+
{"version":3,"file":"feature-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/feature-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE1E;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE9E;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEvD;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
|
package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts
CHANGED
|
@@ -17,9 +17,7 @@ export declare enum GitPrErrorCode {
|
|
|
17
17
|
BRANCH_NOT_FOUND = "BRANCH_NOT_FOUND",
|
|
18
18
|
GIT_ERROR = "GIT_ERROR",
|
|
19
19
|
MERGE_FAILED = "MERGE_FAILED",
|
|
20
|
-
PR_NOT_FOUND = "PR_NOT_FOUND"
|
|
21
|
-
REBASE_CONFLICT = "REBASE_CONFLICT",
|
|
22
|
-
NOT_A_FORK = "NOT_A_FORK"
|
|
20
|
+
PR_NOT_FOUND = "PR_NOT_FOUND"
|
|
23
21
|
}
|
|
24
22
|
/**
|
|
25
23
|
* Typed error for git PR operations.
|
|
@@ -320,57 +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
|
-
* Detect whether the current repository is a GitHub fork.
|
|
325
|
-
* Calls `gh repo view --json parent` once and returns both the boolean result and the
|
|
326
|
-
* parent clone URL so callers can pass it to ensureUpstreamRemote() without a second
|
|
327
|
-
* gh invocation (NFR-9).
|
|
328
|
-
*
|
|
329
|
-
* @param cwd - Working directory path (inside the git repo)
|
|
330
|
-
* @returns Object with isFork boolean and optional upstreamUrl from parent
|
|
331
|
-
* @throws GitPrError with GIT_ERROR code on unexpected failures
|
|
332
|
-
*/
|
|
333
|
-
isFork(cwd: string): Promise<{
|
|
334
|
-
isFork: boolean;
|
|
335
|
-
upstreamUrl?: string;
|
|
336
|
-
}>;
|
|
337
|
-
/**
|
|
338
|
-
* Ensure a remote named "upstream" exists in the repo.
|
|
339
|
-
* If it does not exist, adds it using the provided upstreamUrl.
|
|
340
|
-
* Idempotent: if the remote already exists, this is a no-op.
|
|
341
|
-
*
|
|
342
|
-
* @param cwd - Working directory path (inside the git repo)
|
|
343
|
-
* @param upstreamUrl - Clone URL of the upstream (parent) repository
|
|
344
|
-
* @throws GitPrError with GIT_ERROR code on failure
|
|
345
|
-
*/
|
|
346
|
-
ensureUpstreamRemote(cwd: string, upstreamUrl: string): Promise<void>;
|
|
347
|
-
/**
|
|
348
|
-
* Fetch the latest refs from the upstream remote.
|
|
349
|
-
*
|
|
350
|
-
* @param cwd - Working directory path (inside the git repo)
|
|
351
|
-
* @throws GitPrError with GIT_ERROR or NETWORK_ERROR code on failure
|
|
352
|
-
*/
|
|
353
|
-
fetchUpstream(cwd: string): Promise<void>;
|
|
354
|
-
/**
|
|
355
|
-
* Sync the local main branch to exactly match upstream/main using
|
|
356
|
-
* `git reset --hard upstream/main`. The upstream remote must already exist.
|
|
357
|
-
* Idempotent: if local main already matches upstream/main, this is a no-op.
|
|
358
|
-
*
|
|
359
|
-
* @param cwd - Working directory path (inside the git repo)
|
|
360
|
-
* @throws GitPrError with GIT_ERROR code on failure
|
|
361
|
-
*/
|
|
362
|
-
syncForkMain(cwd: string): Promise<void>;
|
|
363
|
-
/**
|
|
364
|
-
* Rebase the specified branch onto the target branch (e.g., main).
|
|
365
|
-
* On conflict, automatically runs `git rebase --abort` to keep the worktree clean,
|
|
366
|
-
* then throws GitPrError with REBASE_CONFLICT listing the conflicting files.
|
|
367
|
-
*
|
|
368
|
-
* @param cwd - Working directory of the feature worktree
|
|
369
|
-
* @param branch - The branch to rebase (must be checked out in cwd)
|
|
370
|
-
* @param onto - The target branch to rebase onto (e.g., 'main')
|
|
371
|
-
* @throws GitPrError with REBASE_CONFLICT code (includes conflicting file list)
|
|
372
|
-
* @throws GitPrError with GIT_ERROR code on other failures
|
|
373
|
-
*/
|
|
374
|
-
rebase(cwd: string, branch: string, onto: string): Promise<void>;
|
|
375
321
|
}
|
|
376
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,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;
|
|
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":"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"}
|
package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.js
CHANGED
|
@@ -18,8 +18,6 @@ export var GitPrErrorCode;
|
|
|
18
18
|
GitPrErrorCode["GIT_ERROR"] = "GIT_ERROR";
|
|
19
19
|
GitPrErrorCode["MERGE_FAILED"] = "MERGE_FAILED";
|
|
20
20
|
GitPrErrorCode["PR_NOT_FOUND"] = "PR_NOT_FOUND";
|
|
21
|
-
GitPrErrorCode["REBASE_CONFLICT"] = "REBASE_CONFLICT";
|
|
22
|
-
GitPrErrorCode["NOT_A_FORK"] = "NOT_A_FORK";
|
|
23
21
|
})(GitPrErrorCode || (GitPrErrorCode = {}));
|
|
24
22
|
/**
|
|
25
23
|
* Typed error for git PR operations.
|
package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts
CHANGED
|
@@ -50,6 +50,21 @@ export interface IWorktreeService {
|
|
|
50
50
|
* @throws WorktreeError with appropriate code
|
|
51
51
|
*/
|
|
52
52
|
create(repoPath: string, branch: string, worktreePath: string, startPoint?: string): Promise<WorktreeInfo>;
|
|
53
|
+
/**
|
|
54
|
+
* Create a worktree for an already-existing branch (no -b flag).
|
|
55
|
+
*
|
|
56
|
+
* Unlike create(), this does not create a new branch. It attaches a worktree
|
|
57
|
+
* to a branch that already exists locally or as a remote tracking ref.
|
|
58
|
+
* For remote-only branches, pass "origin/<branch>" as the branch argument
|
|
59
|
+
* so that git automatically sets up local tracking.
|
|
60
|
+
*
|
|
61
|
+
* @param repoPath - Path to the git repository
|
|
62
|
+
* @param branch - Existing branch name or remote tracking ref (e.g., "origin/my-branch")
|
|
63
|
+
* @param worktreePath - Path for the new worktree directory
|
|
64
|
+
* @returns Information about the created worktree
|
|
65
|
+
* @throws WorktreeError with appropriate code
|
|
66
|
+
*/
|
|
67
|
+
addExisting(repoPath: string, branch: string, worktreePath: string): Promise<WorktreeInfo>;
|
|
53
68
|
/**
|
|
54
69
|
* Remove an existing worktree.
|
|
55
70
|
*
|
|
@@ -98,6 +113,16 @@ export interface IWorktreeService {
|
|
|
98
113
|
* @returns Computed worktree path (e.g., /repo/.worktrees/branch-name)
|
|
99
114
|
*/
|
|
100
115
|
getWorktreePath(repoPath: string, branch: string): string;
|
|
116
|
+
/**
|
|
117
|
+
* List all local and remote branch names in a repository.
|
|
118
|
+
*
|
|
119
|
+
* Returns unique branch names (without remote prefixes like "origin/").
|
|
120
|
+
* Excludes HEAD pointers and the current branch marker.
|
|
121
|
+
*
|
|
122
|
+
* @param repoPath - Path to the git repository
|
|
123
|
+
* @returns Array of branch name strings
|
|
124
|
+
*/
|
|
125
|
+
listBranches(repoPath: string): Promise<string[]>;
|
|
101
126
|
/**
|
|
102
127
|
* Prune stale worktree entries whose directories no longer exist.
|
|
103
128
|
*
|
package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/worktree-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGpB,IAAI,EAAE,iBAAiB;aACvB,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,iBAAiB,EACvB,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1D;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD"}
|
|
1
|
+
{"version":3,"file":"worktree-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/worktree-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGpB,IAAI,EAAE,iBAAiB;aACvB,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,iBAAiB,EACvB,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3F;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1D;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAElD;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adopt Branch Use Case
|
|
3
|
+
*
|
|
4
|
+
* Imports an existing git branch into Shep's feature tracking system.
|
|
5
|
+
* Creates a worktree (if needed), derives feature metadata from the branch name,
|
|
6
|
+
* and persists a Feature entity with lifecycle=Maintain (agent inactive).
|
|
7
|
+
*
|
|
8
|
+
* This is a standalone use case — it does NOT extend or modify CreateFeatureUseCase.
|
|
9
|
+
* It needs only three dependencies: IFeatureRepository, IRepositoryRepository, and IWorktreeService.
|
|
10
|
+
*/
|
|
11
|
+
import type { Feature } from '../../../domain/generated/output.js';
|
|
12
|
+
import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
|
|
13
|
+
import type { IRepositoryRepository } from '../../ports/output/repositories/repository-repository.interface.js';
|
|
14
|
+
import type { IWorktreeService } from '../../ports/output/services/worktree-service.interface.js';
|
|
15
|
+
export interface AdoptBranchInput {
|
|
16
|
+
branchName: string;
|
|
17
|
+
repositoryPath: string;
|
|
18
|
+
}
|
|
19
|
+
export interface AdoptBranchResult {
|
|
20
|
+
feature: Feature;
|
|
21
|
+
}
|
|
22
|
+
export declare class AdoptBranchUseCase {
|
|
23
|
+
private readonly featureRepo;
|
|
24
|
+
private readonly repositoryRepo;
|
|
25
|
+
private readonly worktreeService;
|
|
26
|
+
constructor(featureRepo: IFeatureRepository, repositoryRepo: IRepositoryRepository, worktreeService: IWorktreeService);
|
|
27
|
+
execute(input: AdoptBranchInput): Promise<AdoptBranchResult>;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the git ref to use for worktree creation.
|
|
30
|
+
* Returns the branch name for local branches, or "origin/<branch>" for remote-only.
|
|
31
|
+
* Throws if branch does not exist anywhere.
|
|
32
|
+
*/
|
|
33
|
+
private resolveBranchRef;
|
|
34
|
+
/**
|
|
35
|
+
* Find or create a Repository entity for the given path.
|
|
36
|
+
* Mirrors the pattern from CreateFeatureUseCase.
|
|
37
|
+
*/
|
|
38
|
+
private resolveRepository;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=adopt-branch.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adopt-branch.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/adopt-branch.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAGlG,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAJf,WAAW,EAAE,kBAAkB,EAE/B,cAAc,EAAE,qBAAqB,EAErC,eAAe,EAAE,gBAAgB;IAG9C,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6ElE;;;;OAIG;YACW,gBAAgB;IAiB9B;;;OAGG;YACW,iBAAiB;CAuBhC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adopt Branch Use Case
|
|
3
|
+
*
|
|
4
|
+
* Imports an existing git branch into Shep's feature tracking system.
|
|
5
|
+
* Creates a worktree (if needed), derives feature metadata from the branch name,
|
|
6
|
+
* and persists a Feature entity with lifecycle=Maintain (agent inactive).
|
|
7
|
+
*
|
|
8
|
+
* This is a standalone use case — it does NOT extend or modify CreateFeatureUseCase.
|
|
9
|
+
* It needs only three dependencies: IFeatureRepository, IRepositoryRepository, and IWorktreeService.
|
|
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 { SdlcLifecycle } from '../../../domain/generated/output.js';
|
|
26
|
+
import { deriveName, deriveSlug } from './branch-name-utils.js';
|
|
27
|
+
/** Branches that must not be adopted as features. */
|
|
28
|
+
const PROTECTED_BRANCHES = new Set(['main', 'master']);
|
|
29
|
+
let AdoptBranchUseCase = class AdoptBranchUseCase {
|
|
30
|
+
featureRepo;
|
|
31
|
+
repositoryRepo;
|
|
32
|
+
worktreeService;
|
|
33
|
+
constructor(featureRepo, repositoryRepo, worktreeService) {
|
|
34
|
+
this.featureRepo = featureRepo;
|
|
35
|
+
this.repositoryRepo = repositoryRepo;
|
|
36
|
+
this.worktreeService = worktreeService;
|
|
37
|
+
}
|
|
38
|
+
async execute(input) {
|
|
39
|
+
const { branchName, repositoryPath } = input;
|
|
40
|
+
// --- Guard: reject main/master ---
|
|
41
|
+
if (PROTECTED_BRANCHES.has(branchName)) {
|
|
42
|
+
throw new Error(`Cannot adopt the "${branchName}" branch. The main branch should not be tracked as a feature.`);
|
|
43
|
+
}
|
|
44
|
+
// --- Guard: duplicate adoption ---
|
|
45
|
+
const existing = await this.featureRepo.findByBranch(branchName, repositoryPath);
|
|
46
|
+
if (existing) {
|
|
47
|
+
throw new Error(`Branch "${branchName}" is already tracked as feature "${existing.name}" (${existing.id}). ` +
|
|
48
|
+
'A branch can only be adopted once per repository.');
|
|
49
|
+
}
|
|
50
|
+
// --- Derive slug and check uniqueness ---
|
|
51
|
+
const slug = deriveSlug(branchName);
|
|
52
|
+
const slugCollision = await this.featureRepo.findBySlug(slug, repositoryPath);
|
|
53
|
+
if (slugCollision) {
|
|
54
|
+
throw new Error(`A feature with slug "${slug}" already exists in this repository (feature "${slugCollision.name}"). ` +
|
|
55
|
+
`Cannot adopt branch "${branchName}" because its derived slug collides.`);
|
|
56
|
+
}
|
|
57
|
+
// --- Validate branch existence (local or remote) ---
|
|
58
|
+
const branchRef = await this.resolveBranchRef(branchName, repositoryPath);
|
|
59
|
+
// --- Resolve or create repository entity ---
|
|
60
|
+
const repository = await this.resolveRepository(repositoryPath);
|
|
61
|
+
// --- Create or reuse worktree ---
|
|
62
|
+
const worktreePath = this.worktreeService.getWorktreePath(repositoryPath, slug);
|
|
63
|
+
const worktreeExists = await this.worktreeService.exists(repositoryPath, branchName);
|
|
64
|
+
if (!worktreeExists) {
|
|
65
|
+
await this.worktreeService.addExisting(repositoryPath, branchRef, worktreePath);
|
|
66
|
+
}
|
|
67
|
+
// --- Derive feature metadata ---
|
|
68
|
+
const name = deriveName(branchName);
|
|
69
|
+
const now = new Date();
|
|
70
|
+
// --- Persist feature ---
|
|
71
|
+
const feature = {
|
|
72
|
+
id: randomUUID(),
|
|
73
|
+
name,
|
|
74
|
+
slug,
|
|
75
|
+
description: '',
|
|
76
|
+
userQuery: '',
|
|
77
|
+
repositoryPath,
|
|
78
|
+
branch: branchName,
|
|
79
|
+
lifecycle: SdlcLifecycle.Maintain,
|
|
80
|
+
messages: [],
|
|
81
|
+
relatedArtifacts: [],
|
|
82
|
+
fast: false,
|
|
83
|
+
push: false,
|
|
84
|
+
openPr: false,
|
|
85
|
+
approvalGates: {
|
|
86
|
+
allowPrd: false,
|
|
87
|
+
allowPlan: false,
|
|
88
|
+
allowMerge: false,
|
|
89
|
+
},
|
|
90
|
+
worktreePath,
|
|
91
|
+
repositoryId: repository.id,
|
|
92
|
+
createdAt: now,
|
|
93
|
+
updatedAt: now,
|
|
94
|
+
};
|
|
95
|
+
await this.featureRepo.create(feature);
|
|
96
|
+
return { feature };
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Resolve the git ref to use for worktree creation.
|
|
100
|
+
* Returns the branch name for local branches, or "origin/<branch>" for remote-only.
|
|
101
|
+
* Throws if branch does not exist anywhere.
|
|
102
|
+
*/
|
|
103
|
+
async resolveBranchRef(branchName, repositoryPath) {
|
|
104
|
+
const localExists = await this.worktreeService.branchExists(repositoryPath, branchName);
|
|
105
|
+
if (localExists) {
|
|
106
|
+
return branchName;
|
|
107
|
+
}
|
|
108
|
+
const remoteExists = await this.worktreeService.remoteBranchExists(repositoryPath, branchName);
|
|
109
|
+
if (remoteExists) {
|
|
110
|
+
return `origin/${branchName}`;
|
|
111
|
+
}
|
|
112
|
+
throw new Error(`Branch "${branchName}" does not exist locally or on the remote. ` +
|
|
113
|
+
'Check the branch name spelling and ensure you have fetched from the remote.');
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Find or create a Repository entity for the given path.
|
|
117
|
+
* Mirrors the pattern from CreateFeatureUseCase.
|
|
118
|
+
*/
|
|
119
|
+
async resolveRepository(repositoryPath) {
|
|
120
|
+
const normalizedPath = repositoryPath.replace(/\\/g, '/').replace(/\/+$/, '') || repositoryPath;
|
|
121
|
+
let repository = await this.repositoryRepo.findByPath(normalizedPath);
|
|
122
|
+
if (!repository) {
|
|
123
|
+
const now = new Date();
|
|
124
|
+
const repoName = normalizedPath.split('/').pop() ?? normalizedPath;
|
|
125
|
+
repository = await this.repositoryRepo.create({
|
|
126
|
+
id: randomUUID(),
|
|
127
|
+
name: repoName,
|
|
128
|
+
path: normalizedPath,
|
|
129
|
+
createdAt: now,
|
|
130
|
+
updatedAt: now,
|
|
131
|
+
});
|
|
132
|
+
if (!repository) {
|
|
133
|
+
throw new Error(`Failed to create or retrieve repository record for path: ${normalizedPath}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return repository;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
AdoptBranchUseCase = __decorate([
|
|
140
|
+
injectable(),
|
|
141
|
+
__param(0, inject('IFeatureRepository')),
|
|
142
|
+
__param(1, inject('IRepositoryRepository')),
|
|
143
|
+
__param(2, inject('IWorktreeService')),
|
|
144
|
+
__metadata("design:paramtypes", [Object, Object, Object])
|
|
145
|
+
], AdoptBranchUseCase);
|
|
146
|
+
export { AdoptBranchUseCase };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure utility functions for deriving feature metadata from git branch names.
|
|
3
|
+
*
|
|
4
|
+
* Used by the AdoptBranchUseCase to generate a human-readable feature name
|
|
5
|
+
* and a URL-safe slug from any git branch name.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Derive a human-readable feature name from a git branch name.
|
|
9
|
+
*
|
|
10
|
+
* Strips known prefixes (feat/, fix/, etc.), replaces hyphens and underscores
|
|
11
|
+
* with spaces, and title-cases each word.
|
|
12
|
+
*
|
|
13
|
+
* @example deriveName('fix/login-bug') → "Login Bug"
|
|
14
|
+
* @example deriveName('feat/user-auth') → "User Auth"
|
|
15
|
+
* @example deriveName('my-cool-feature') → "My Cool Feature"
|
|
16
|
+
* @example deriveName('feat/auth/login-bug') → "Auth Login Bug"
|
|
17
|
+
* @example deriveName('release/v1.0.0') → "V1.0.0"
|
|
18
|
+
*/
|
|
19
|
+
export declare function deriveName(branch: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Derive a URL-safe slug from a git branch name.
|
|
22
|
+
*
|
|
23
|
+
* Lowercases the full branch name, converts slashes and special characters
|
|
24
|
+
* to hyphens, collapses consecutive hyphens, and trims leading/trailing hyphens.
|
|
25
|
+
*
|
|
26
|
+
* @example deriveSlug('fix/login-bug') → "fix-login-bug"
|
|
27
|
+
* @example deriveSlug('feat/user-auth') → "feat-user-auth"
|
|
28
|
+
* @example deriveSlug('my-cool-feature') → "my-cool-feature"
|
|
29
|
+
* @example deriveSlug('release/v1.0.0') → "release-v1-0-0"
|
|
30
|
+
* @example deriveSlug('feat/auth/login-bug') → "feat-auth-login-bug"
|
|
31
|
+
*/
|
|
32
|
+
export declare function deriveSlug(branch: string): string;
|
|
33
|
+
//# sourceMappingURL=branch-name-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-name-utils.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/branch-name-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMjD"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure utility functions for deriving feature metadata from git branch names.
|
|
3
|
+
*
|
|
4
|
+
* Used by the AdoptBranchUseCase to generate a human-readable feature name
|
|
5
|
+
* and a URL-safe slug from any git branch name.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Common branch name prefixes that are stripped when deriving a feature name.
|
|
9
|
+
* These are conventional prefixes from gitflow, conventional commits, etc.
|
|
10
|
+
*/
|
|
11
|
+
const KNOWN_PREFIXES = [
|
|
12
|
+
'feat/',
|
|
13
|
+
'fix/',
|
|
14
|
+
'chore/',
|
|
15
|
+
'refactor/',
|
|
16
|
+
'docs/',
|
|
17
|
+
'test/',
|
|
18
|
+
'ci/',
|
|
19
|
+
'build/',
|
|
20
|
+
'perf/',
|
|
21
|
+
'style/',
|
|
22
|
+
'revert/',
|
|
23
|
+
'hotfix/',
|
|
24
|
+
'release/',
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* Derive a human-readable feature name from a git branch name.
|
|
28
|
+
*
|
|
29
|
+
* Strips known prefixes (feat/, fix/, etc.), replaces hyphens and underscores
|
|
30
|
+
* with spaces, and title-cases each word.
|
|
31
|
+
*
|
|
32
|
+
* @example deriveName('fix/login-bug') → "Login Bug"
|
|
33
|
+
* @example deriveName('feat/user-auth') → "User Auth"
|
|
34
|
+
* @example deriveName('my-cool-feature') → "My Cool Feature"
|
|
35
|
+
* @example deriveName('feat/auth/login-bug') → "Auth Login Bug"
|
|
36
|
+
* @example deriveName('release/v1.0.0') → "V1.0.0"
|
|
37
|
+
*/
|
|
38
|
+
export function deriveName(branch) {
|
|
39
|
+
let remaining = branch;
|
|
40
|
+
// Strip known prefix (only the first matching one)
|
|
41
|
+
for (const prefix of KNOWN_PREFIXES) {
|
|
42
|
+
if (remaining.startsWith(prefix)) {
|
|
43
|
+
remaining = remaining.slice(prefix.length);
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Replace slashes, hyphens, and underscores with spaces
|
|
48
|
+
const words = remaining
|
|
49
|
+
.replace(/[/_-]+/g, ' ')
|
|
50
|
+
.trim()
|
|
51
|
+
.split(/\s+/)
|
|
52
|
+
.filter((w) => w.length > 0);
|
|
53
|
+
if (words.length === 0) {
|
|
54
|
+
return branch;
|
|
55
|
+
}
|
|
56
|
+
// Title-case each word
|
|
57
|
+
return words.map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Derive a URL-safe slug from a git branch name.
|
|
61
|
+
*
|
|
62
|
+
* Lowercases the full branch name, converts slashes and special characters
|
|
63
|
+
* to hyphens, collapses consecutive hyphens, and trims leading/trailing hyphens.
|
|
64
|
+
*
|
|
65
|
+
* @example deriveSlug('fix/login-bug') → "fix-login-bug"
|
|
66
|
+
* @example deriveSlug('feat/user-auth') → "feat-user-auth"
|
|
67
|
+
* @example deriveSlug('my-cool-feature') → "my-cool-feature"
|
|
68
|
+
* @example deriveSlug('release/v1.0.0') → "release-v1-0-0"
|
|
69
|
+
* @example deriveSlug('feat/auth/login-bug') → "feat-auth-login-bug"
|
|
70
|
+
*/
|
|
71
|
+
export function deriveSlug(branch) {
|
|
72
|
+
return branch
|
|
73
|
+
.toLowerCase()
|
|
74
|
+
.replace(/[^a-z0-9-]/g, '-') // Replace non-alphanumeric chars (except hyphens) with hyphens
|
|
75
|
+
.replace(/-+/g, '-') // Collapse consecutive hyphens
|
|
76
|
+
.replace(/^-+|-+$/g, ''); // Trim leading/trailing hyphens
|
|
77
|
+
}
|
|
@@ -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;AAqHrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CAqUrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -65,6 +65,7 @@ import { ShowFeatureUseCase } from '../../application/use-cases/features/show-fe
|
|
|
65
65
|
import { DeleteFeatureUseCase } from '../../application/use-cases/features/delete-feature.use-case.js';
|
|
66
66
|
import { ResumeFeatureUseCase } from '../../application/use-cases/features/resume-feature.use-case.js';
|
|
67
67
|
import { StartFeatureUseCase } from '../../application/use-cases/features/start-feature.use-case.js';
|
|
68
|
+
import { AdoptBranchUseCase } from '../../application/use-cases/features/adopt-branch.use-case.js';
|
|
68
69
|
import { GetFeatureArtifactUseCase } from '../../application/use-cases/features/get-feature-artifact.use-case.js';
|
|
69
70
|
import { GetResearchArtifactUseCase } from '../../application/use-cases/features/get-research-artifact.use-case.js';
|
|
70
71
|
import { GetPlanArtifactUseCase } from '../../application/use-cases/features/get-plan-artifact.use-case.js';
|
|
@@ -80,8 +81,6 @@ import { CheckAndUnblockFeaturesUseCase } from '../../application/use-cases/feat
|
|
|
80
81
|
import { UpdateFeatureLifecycleUseCase } from '../../application/use-cases/features/update/update-feature-lifecycle.use-case.js';
|
|
81
82
|
import { CleanupFeatureWorktreeUseCase } from '../../application/use-cases/features/cleanup-feature-worktree.use-case.js';
|
|
82
83
|
import { UpgradeCliUseCase } from '../../application/use-cases/upgrade/upgrade-cli.use-case.js';
|
|
83
|
-
import { SyncForkMainUseCase } from '../../application/use-cases/sync-fork-main.use-case.js';
|
|
84
|
-
import { RebaseFeatureUseCase } from '../../application/use-cases/features/rebase-feature.use-case.js';
|
|
85
84
|
// Session listing
|
|
86
85
|
import { ClaudeCodeSessionRepository } from '../services/agents/sessions/claude-code-session.repository.js';
|
|
87
86
|
import { StubSessionRepository } from '../services/agents/sessions/stub-session.repository.js';
|
|
@@ -280,6 +279,7 @@ export async function initializeContainer() {
|
|
|
280
279
|
container.registerSingleton(DeleteFeatureUseCase);
|
|
281
280
|
container.registerSingleton(ResumeFeatureUseCase);
|
|
282
281
|
container.registerSingleton(StartFeatureUseCase);
|
|
282
|
+
container.registerSingleton(AdoptBranchUseCase);
|
|
283
283
|
container.registerSingleton(GetFeatureArtifactUseCase);
|
|
284
284
|
container.registerSingleton(GetResearchArtifactUseCase);
|
|
285
285
|
container.registerSingleton(GetPlanArtifactUseCase);
|
|
@@ -297,8 +297,6 @@ export async function initializeContainer() {
|
|
|
297
297
|
container.registerSingleton(UpdateFeatureLifecycleUseCase);
|
|
298
298
|
container.registerSingleton(CleanupFeatureWorktreeUseCase);
|
|
299
299
|
container.registerSingleton(UpgradeCliUseCase);
|
|
300
|
-
container.registerSingleton(SyncForkMainUseCase);
|
|
301
|
-
container.registerSingleton(RebaseFeatureUseCase);
|
|
302
300
|
// Session repositories (per-AgentType string tokens)
|
|
303
301
|
container.register(`IAgentSessionRepository:${AgentType.ClaudeCode}`, {
|
|
304
302
|
useFactory: () => new ClaudeCodeSessionRepository(),
|
|
@@ -332,6 +330,9 @@ export async function initializeContainer() {
|
|
|
332
330
|
container.register('StartFeatureUseCase', {
|
|
333
331
|
useFactory: (c) => c.resolve(StartFeatureUseCase),
|
|
334
332
|
});
|
|
333
|
+
container.register('AdoptBranchUseCase', {
|
|
334
|
+
useFactory: (c) => c.resolve(AdoptBranchUseCase),
|
|
335
|
+
});
|
|
335
336
|
container.register('ApproveAgentRunUseCase', {
|
|
336
337
|
useFactory: (c) => c.resolve(ApproveAgentRunUseCase),
|
|
337
338
|
});
|
|
@@ -389,12 +390,6 @@ export async function initializeContainer() {
|
|
|
389
390
|
container.register('UpgradeCliUseCase', {
|
|
390
391
|
useFactory: (c) => c.resolve(UpgradeCliUseCase),
|
|
391
392
|
});
|
|
392
|
-
container.register('SyncForkMainUseCase', {
|
|
393
|
-
useFactory: (c) => c.resolve(SyncForkMainUseCase),
|
|
394
|
-
});
|
|
395
|
-
container.register('RebaseFeatureUseCase', {
|
|
396
|
-
useFactory: (c) => c.resolve(RebaseFeatureUseCase),
|
|
397
|
-
});
|
|
398
393
|
_initialized = true;
|
|
399
394
|
return container;
|
|
400
395
|
}
|
|
@@ -19,6 +19,7 @@ export declare class SQLiteFeatureRepository implements IFeatureRepository {
|
|
|
19
19
|
findById(id: string): Promise<Feature | null>;
|
|
20
20
|
findByIdPrefix(prefix: string): Promise<Feature | null>;
|
|
21
21
|
findBySlug(slug: string, repositoryPath: string): Promise<Feature | null>;
|
|
22
|
+
findByBranch(branch: string, repositoryPath: string): Promise<Feature | null>;
|
|
22
23
|
list(filters?: FeatureListFilters): Promise<Feature[]>;
|
|
23
24
|
findByParentId(parentId: string): Promise<Feature[]>;
|
|
24
25
|
update(feature: Feature): Promise<void>;
|
package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-feature.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-feature.repository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,6EAA6E,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAOhE;;;GAGG;AACH,qBACa,uBAAwB,YAAW,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAE5C,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BvC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW7C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAcvD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAazE,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyBtD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK5C"}
|
|
1
|
+
{"version":3,"file":"sqlite-feature.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-feature.repository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,6EAA6E,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAOhE;;;GAGG;AACH,qBACa,uBAAwB,YAAW,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAE5C,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BvC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW7C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAcvD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAazE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAa7E,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyBtD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK5C"}
|
|
@@ -78,6 +78,14 @@ let SQLiteFeatureRepository = class SQLiteFeatureRepository {
|
|
|
78
78
|
}
|
|
79
79
|
return fromDatabase(row);
|
|
80
80
|
}
|
|
81
|
+
async findByBranch(branch, repositoryPath) {
|
|
82
|
+
const stmt = this.db.prepare("SELECT * FROM features WHERE branch = ? AND REPLACE(repository_path, '\\', '/') = ? AND deleted_at IS NULL");
|
|
83
|
+
const row = stmt.get(branch, repositoryPath.replace(/\\/g, '/'));
|
|
84
|
+
if (!row) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return fromDatabase(row);
|
|
88
|
+
}
|
|
81
89
|
async list(filters) {
|
|
82
90
|
const conditions = [];
|
|
83
91
|
const params = [];
|
|
@@ -45,14 +45,5 @@ export declare class GitPrService implements IGitPrService {
|
|
|
45
45
|
private parseGhError;
|
|
46
46
|
private parsePrNumberFromUrl;
|
|
47
47
|
private parseDiffStat;
|
|
48
|
-
isFork(cwd: string): Promise<{
|
|
49
|
-
isFork: boolean;
|
|
50
|
-
upstreamUrl?: string;
|
|
51
|
-
}>;
|
|
52
|
-
ensureUpstreamRemote(cwd: string, upstreamUrl: string): Promise<void>;
|
|
53
|
-
fetchUpstream(cwd: string): Promise<void>;
|
|
54
|
-
syncForkMain(cwd: string): Promise<void>;
|
|
55
|
-
rebase(cwd: string, branch: string, onto: string): Promise<void>;
|
|
56
|
-
private parseConflictFiles;
|
|
57
48
|
}
|
|
58
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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"}
|