@shepai/cli 1.142.0-pr453.4cfded1 → 1.142.1-pr454.60f0445
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/Feature.yaml +10 -0
- package/apis/json-schema/PullRequest.yaml +11 -0
- package/apis/json-schema/SdlcLifecycle.yaml +1 -0
- package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +2 -0
- package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/git-fork-service.interface.d.ts +33 -0
- package/dist/packages/core/src/application/ports/output/services/git-fork-service.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/git-fork-service.interface.js +24 -0
- 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 +2 -0
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +16 -1
- package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -0
- package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/poll-upstream-pr.use-case.d.ts +29 -0
- package/dist/packages/core/src/application/use-cases/features/poll-upstream-pr.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/poll-upstream-pr.use-case.js +105 -0
- package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +2 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +22 -1
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +1 -0
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +4 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-add-fork-and-pr-fields.d.ts +11 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-add-fork-and-pr-fields.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-add-fork-and-pr-fields.js +28 -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 +6 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +10 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +34 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +6 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +12 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +89 -49
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +8 -0
- package/dist/packages/core/src/infrastructure/services/git/git-fork.service.d.ts +29 -0
- package/dist/packages/core/src/infrastructure/services/git/git-fork.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/git/git-fork.service.js +204 -0
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts +13 -3
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js +39 -10
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ui.command.js +3 -1
- package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -0
- package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/create-feature.js +5 -1
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/agent-events/route.js +1 -0
- package/dist/src/presentation/web/app/api/sessions/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/sessions/route.js +45 -13
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +22 -5
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +18 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +52 -0
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +1 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +7 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +29 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.d.ts +3 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.js +13 -5
- package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-node.js +1 -1
- package/dist/src/presentation/web/dev-server.js +3 -1
- package/dist/src/presentation/web/next.config.d.ts.map +1 -1
- package/dist/src/presentation/web/next.config.js +4 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +5 -3
- package/web/.next/required-server-files.json +5 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
- 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 +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/create/page.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/page.js +1 -1
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/route.js +3 -2
- package/web/.next/server/app/api/sessions/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 +1 -1
- 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 +1 -1
- 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/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_ff60e4a5.js +3 -0
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_ff60e4a5.js.map +1 -0
- package/web/.next/server/chunks/[externals]__448264a3._.js +3 -0
- package/web/.next/server/chunks/[externals]__448264a3._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.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 +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__a5f9c6e5._.js → [root-of-the-server]__2138fa7e._.js} +3 -3
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__a5f9c6e5._.js.map → [root-of-the-server]__2138fa7e._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js.map +1 -1
- 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]__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]__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]__c094882b._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js.map +1 -1
- 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]__dac5dbf1._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0c5f56e3._.js +2 -2
- package/web/.next/server/chunks/ssr/_0c5f56e3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1b719e7f._.js +1 -1
- package/web/.next/server/chunks/ssr/_1b719e7f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_37e8548b._.js +1 -1
- package/web/.next/server/chunks/ssr/_37e8548b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_55d763e2._.js +1 -1
- package/web/.next/server/chunks/ssr/_55d763e2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_6256a985._.js +1 -1
- package/web/.next/server/chunks/ssr/_6256a985._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_64bdfc6f._.js +2 -2
- package/web/.next/server/chunks/ssr/_64bdfc6f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_67104d9e._.js +1 -1
- 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/{_be6f83dc._.js → _a8a2233a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_be6f83dc._.js.map → _a8a2233a._.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/_b71645b4._.js +1 -1
- package/web/.next/server/chunks/ssr/_b71645b4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +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/_f39a1adb._.js +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_1ac172f4._.js → _f4d19ff3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_1ac172f4._.js.map → _f4d19ff3._.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/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_app_actions_open-ide_ts_baaca5d5._.js +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_d50bc654._.js +3 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_b3f3c105._.js.map → src_presentation_web_d50bc654._.js.map} +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +44 -44
- package/web/.next/static/chunks/{cf622541a1f71988.js → 00fd65dc10f3da0a.js} +1 -1
- package/web/.next/static/chunks/{cc40bfb418fa8f56.js → 024575217799dac8.js} +1 -1
- package/web/.next/static/chunks/101d4334f60ec83f.js +1 -0
- package/web/.next/static/chunks/{73a92c1924e105bd.js → 4c543e4daf8755a3.js} +2 -2
- package/web/.next/static/chunks/{6e4420930c0fe21c.js → 72e48a32d1f244b9.js} +1 -1
- package/web/.next/static/chunks/{66723d84a0b01634.js → 8a42aa668b401526.js} +1 -1
- package/web/.next/static/chunks/94bb64cb067c785e.js +1 -0
- package/web/.next/static/chunks/{f2c4d78aa6703653.js → 9e93ecdd1b445607.js} +1 -1
- package/web/.next/static/chunks/{a6e1538e04c9f936.js → a230d5954cc322fd.js} +1 -1
- package/web/.next/static/chunks/{d65caa2ba3f34f84.js → a4c2c8c731b0875f.js} +1 -1
- package/web/.next/static/chunks/{280686d2e1ff0649.js → d5bb1d4f97abcdd7.js} +1 -1
- package/web/.next/static/chunks/{770ba660d1a0d50b.js → d7425a1e8e823fb1.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__a62bd945._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__a62bd945._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b3f3c105._.js +0 -3
- package/web/.next/static/chunks/473cac64731704c6.js +0 -1
- package/web/.next/static/chunks/6bd2935bef50e8c9.js +0 -1
- /package/web/.next/static/{tn6fdCmeXEgmEoL57Nt7c → zv3n0xrL5vsVhyfYT8O1w}/_buildManifest.js +0 -0
- /package/web/.next/static/{tn6fdCmeXEgmEoL57Nt7c → zv3n0xrL5vsVhyfYT8O1w}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{tn6fdCmeXEgmEoL57Nt7c → zv3n0xrL5vsVhyfYT8O1w}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration 045: Add fork-and-PR fields
|
|
3
|
+
*
|
|
4
|
+
* Adds forkAndPr and commitSpecs workflow flags to features table,
|
|
5
|
+
* plus upstream PR tracking columns (url, number, status).
|
|
6
|
+
*/
|
|
7
|
+
export async function up({ context: db }) {
|
|
8
|
+
const columns = db.pragma('table_info(features)');
|
|
9
|
+
const has = (name) => columns.some((c) => c.name === name);
|
|
10
|
+
if (!has('fork_and_pr')) {
|
|
11
|
+
db.exec('ALTER TABLE features ADD COLUMN fork_and_pr INTEGER NOT NULL DEFAULT 0');
|
|
12
|
+
}
|
|
13
|
+
if (!has('commit_specs')) {
|
|
14
|
+
db.exec('ALTER TABLE features ADD COLUMN commit_specs INTEGER NOT NULL DEFAULT 1');
|
|
15
|
+
}
|
|
16
|
+
if (!has('upstream_pr_url')) {
|
|
17
|
+
db.exec('ALTER TABLE features ADD COLUMN upstream_pr_url TEXT');
|
|
18
|
+
}
|
|
19
|
+
if (!has('upstream_pr_number')) {
|
|
20
|
+
db.exec('ALTER TABLE features ADD COLUMN upstream_pr_number INTEGER');
|
|
21
|
+
}
|
|
22
|
+
if (!has('upstream_pr_status')) {
|
|
23
|
+
db.exec('ALTER TABLE features ADD COLUMN upstream_pr_status TEXT');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export async function down({ context: db }) {
|
|
27
|
+
void db;
|
|
28
|
+
}
|
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,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;IA8BtD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
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;IA8BtD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK5C"}
|
|
@@ -33,7 +33,7 @@ let SQLiteFeatureRepository = class SQLiteFeatureRepository {
|
|
|
33
33
|
lifecycle, messages, plan, related_artifacts,
|
|
34
34
|
agent_run_id, spec_path,
|
|
35
35
|
fast,
|
|
36
|
-
push, open_pr, auto_merge, allow_prd, allow_plan, allow_merge,
|
|
36
|
+
push, open_pr, fork_and_pr, commit_specs, auto_merge, allow_prd, allow_plan, allow_merge,
|
|
37
37
|
pr_url, pr_number, pr_status, commit_hash, ci_status,
|
|
38
38
|
ci_fix_attempts, ci_fix_history, pr_mergeable,
|
|
39
39
|
parent_id, previous_lifecycle,
|
|
@@ -43,7 +43,7 @@ let SQLiteFeatureRepository = class SQLiteFeatureRepository {
|
|
|
43
43
|
@lifecycle, @messages, @plan, @related_artifacts,
|
|
44
44
|
@agent_run_id, @spec_path,
|
|
45
45
|
@fast,
|
|
46
|
-
@push, @open_pr, @auto_merge, @allow_prd, @allow_plan, @allow_merge,
|
|
46
|
+
@push, @open_pr, @fork_and_pr, @commit_specs, @auto_merge, @allow_prd, @allow_plan, @allow_merge,
|
|
47
47
|
@pr_url, @pr_number, @pr_status, @commit_hash, @ci_status,
|
|
48
48
|
@ci_fix_attempts, @ci_fix_history, @pr_mergeable,
|
|
49
49
|
@parent_id, @previous_lifecycle,
|
|
@@ -115,6 +115,10 @@ let SQLiteFeatureRepository = class SQLiteFeatureRepository {
|
|
|
115
115
|
return rows.map(fromDatabase);
|
|
116
116
|
}
|
|
117
117
|
async update(feature) {
|
|
118
|
+
const existing = await this.findById(feature.id);
|
|
119
|
+
if (existing !== null && existing.commitSpecs !== feature.commitSpecs) {
|
|
120
|
+
throw new Error('commitSpecs is immutable after feature creation');
|
|
121
|
+
}
|
|
118
122
|
const row = toDatabase(feature);
|
|
119
123
|
const stmt = this.db.prepare(`
|
|
120
124
|
UPDATE features SET
|
|
@@ -58,6 +58,8 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
58
58
|
ciStatus: string | null;
|
|
59
59
|
push: boolean;
|
|
60
60
|
openPr: boolean;
|
|
61
|
+
forkAndPr: boolean;
|
|
62
|
+
commitSpecs: boolean;
|
|
61
63
|
evidence: import("../../../../domain/index.js").Evidence[];
|
|
62
64
|
evidenceRetries: number;
|
|
63
65
|
resumeReason: string | undefined;
|
|
@@ -86,6 +88,8 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
86
88
|
ciStatus?: string | null | undefined;
|
|
87
89
|
push?: boolean | undefined;
|
|
88
90
|
openPr?: boolean | undefined;
|
|
91
|
+
forkAndPr?: boolean | undefined;
|
|
92
|
+
commitSpecs?: boolean | undefined;
|
|
89
93
|
evidence?: import("../../../../domain/index.js").Evidence[] | undefined;
|
|
90
94
|
evidenceRetries?: number | undefined;
|
|
91
95
|
resumeReason?: string | undefined;
|
|
@@ -134,6 +138,8 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
134
138
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
135
139
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
136
140
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
141
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
142
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
137
143
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
138
144
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
139
145
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -182,6 +188,8 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
182
188
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
183
189
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
184
190
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
191
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
192
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
185
193
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
186
194
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
187
195
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -231,6 +239,8 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
231
239
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
232
240
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
233
241
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
242
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
243
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
234
244
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
235
245
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
236
246
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fast-feature-agent-graph.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AAGpG,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;CACjD;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,yBAAyB,GAAG,cAAc,EAC1D,YAAY,CAAC,EAAE,mBAAmB
|
|
1
|
+
{"version":3,"file":"fast-feature-agent-graph.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AAGpG,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;CACjD;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,yBAAyB,GAAG,cAAc,EAC1D,YAAY,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6BnC"}
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts
CHANGED
|
@@ -45,6 +45,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
45
45
|
ciStatus: string | null;
|
|
46
46
|
push: boolean;
|
|
47
47
|
openPr: boolean;
|
|
48
|
+
forkAndPr: boolean;
|
|
49
|
+
commitSpecs: boolean;
|
|
48
50
|
evidence: import("../../../../domain/index.js").Evidence[];
|
|
49
51
|
evidenceRetries: number;
|
|
50
52
|
resumeReason: string | undefined;
|
|
@@ -73,6 +75,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
73
75
|
ciStatus?: string | null | undefined;
|
|
74
76
|
push?: boolean | undefined;
|
|
75
77
|
openPr?: boolean | undefined;
|
|
78
|
+
forkAndPr?: boolean | undefined;
|
|
79
|
+
commitSpecs?: boolean | undefined;
|
|
76
80
|
evidence?: import("../../../../domain/index.js").Evidence[] | undefined;
|
|
77
81
|
evidenceRetries?: number | undefined;
|
|
78
82
|
resumeReason?: string | undefined;
|
|
@@ -121,6 +125,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
121
125
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
122
126
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
123
127
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
128
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
129
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
124
130
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
125
131
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
126
132
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -169,6 +175,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
169
175
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
170
176
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
171
177
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
178
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
179
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
172
180
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
173
181
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
174
182
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -218,6 +226,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
218
226
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
219
227
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
220
228
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
229
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
230
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
221
231
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
222
232
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
223
233
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -267,6 +277,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
267
277
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
268
278
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
269
279
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
280
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
281
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
270
282
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
271
283
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
272
284
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -316,6 +328,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
316
328
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
317
329
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
318
330
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
331
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
332
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
319
333
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
320
334
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
321
335
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -365,6 +379,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
365
379
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
366
380
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
367
381
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
382
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
383
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
368
384
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
369
385
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
370
386
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -414,6 +430,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
414
430
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
415
431
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
416
432
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
433
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
434
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
417
435
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
418
436
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
419
437
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -463,6 +481,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
463
481
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
464
482
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
465
483
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
484
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
485
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
466
486
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
467
487
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
468
488
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -512,6 +532,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
512
532
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
513
533
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
514
534
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
535
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
536
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
515
537
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
516
538
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
517
539
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -561,6 +583,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
561
583
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
562
584
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
563
585
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
586
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
587
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
564
588
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
565
589
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
566
590
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -610,6 +634,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
610
634
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
611
635
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
612
636
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
637
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
638
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
613
639
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
614
640
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
615
641
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -659,6 +685,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
659
685
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
660
686
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
661
687
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
688
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
689
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
662
690
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
663
691
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
664
692
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -708,6 +736,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
708
736
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
709
737
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
710
738
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
739
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
740
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
711
741
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
712
742
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
713
743
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -757,6 +787,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
757
787
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
758
788
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
759
789
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
790
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
791
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
760
792
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
761
793
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
762
794
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -806,6 +838,8 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
806
838
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
807
839
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
808
840
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
841
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
842
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
809
843
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
|
|
810
844
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
811
845
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-agent-graph.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AAOpG,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAclF,OAAO,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;CACjD;AAwID;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,qBAAqB,GAAG,cAAc,EACtD,YAAY,CAAC,EAAE,mBAAmB
|
|
1
|
+
{"version":3,"file":"feature-agent-graph.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AAOpG,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAclF,OAAO,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;CACjD;AAwID;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,qBAAqB,GAAG,cAAc,EACtD,YAAY,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAgFnC"}
|
|
@@ -18,6 +18,8 @@ export declare class FeatureAgentProcessService implements IFeatureAgentProcessS
|
|
|
18
18
|
resumeFromInterrupt?: boolean;
|
|
19
19
|
push?: boolean;
|
|
20
20
|
openPr?: boolean;
|
|
21
|
+
forkAndPr?: boolean;
|
|
22
|
+
commitSpecs?: boolean;
|
|
21
23
|
resumePayload?: string;
|
|
22
24
|
agentType?: AgentType;
|
|
23
25
|
fast?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-agent-process.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sEAAsE,CAAC;AACxH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qEAAqE,CAAC;AAC/G,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAalG,qBAAa,0BAA2B,YAAW,2BAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,mBAAmB;IAE/D,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACA,MAAM;
|
|
1
|
+
{"version":3,"file":"feature-agent-process.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sEAAsE,CAAC;AACxH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qEAAqE,CAAC;AAC/G,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAalG,qBAAa,0BAA2B,YAAW,2BAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,mBAAmB;IAE/D,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACA,MAAM;IA6ET,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IASvB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAexD"}
|
|
@@ -60,6 +60,12 @@ export class FeatureAgentProcessService {
|
|
|
60
60
|
if (options?.openPr) {
|
|
61
61
|
args.push('--open-pr');
|
|
62
62
|
}
|
|
63
|
+
if (options?.forkAndPr) {
|
|
64
|
+
args.push('--fork-and-pr');
|
|
65
|
+
}
|
|
66
|
+
if (options?.commitSpecs) {
|
|
67
|
+
args.push('--commit-specs');
|
|
68
|
+
}
|
|
63
69
|
if (options?.resumePayload) {
|
|
64
70
|
args.push('--resume-payload', options.resumePayload);
|
|
65
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-agent-worker.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"feature-agent-worker.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,kBAAkB,CAAC;AAgB1B,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAW7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA4E1D;AAgCD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiS/D"}
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js
CHANGED
|
@@ -16,6 +16,7 @@ import { initializeContainer, container } from '../../../di/container.js';
|
|
|
16
16
|
import { createFeatureAgentGraph } from './feature-agent-graph.js';
|
|
17
17
|
import { createFastFeatureAgentGraph } from './fast-feature-agent-graph.js';
|
|
18
18
|
import { createCheckpointer } from '../common/checkpointer.js';
|
|
19
|
+
import { GitForkService } from '../../../services/git/git-fork.service.js';
|
|
19
20
|
import { AgentRunStatus, SdlcLifecycle } from '../../../../domain/generated/output.js';
|
|
20
21
|
import { initializeSettings } from '../../../services/settings.service.js';
|
|
21
22
|
import { InitializeSettingsUseCase } from '../../../../application/use-cases/settings/initialize-settings.use-case.js';
|
|
@@ -54,6 +55,8 @@ export function parseWorkerArgs(args) {
|
|
|
54
55
|
const resumeFromInterrupt = args.includes('--resume-from-interrupt');
|
|
55
56
|
const push = args.includes('--push');
|
|
56
57
|
const openPr = args.includes('--open-pr');
|
|
58
|
+
const forkAndPr = args.includes('--fork-and-pr');
|
|
59
|
+
const commitSpecs = args.includes('--commit-specs');
|
|
57
60
|
const fast = args.includes('--fast');
|
|
58
61
|
const threadIdx = args.indexOf('--thread-id');
|
|
59
62
|
const threadId = threadIdx !== -1 && threadIdx + 1 < args.length ? args[threadIdx + 1] : undefined;
|
|
@@ -83,6 +86,8 @@ export function parseWorkerArgs(args) {
|
|
|
83
86
|
resumeFromInterrupt,
|
|
84
87
|
push,
|
|
85
88
|
openPr,
|
|
89
|
+
forkAndPr,
|
|
90
|
+
commitSpecs,
|
|
86
91
|
resumePayload,
|
|
87
92
|
agentType,
|
|
88
93
|
fast,
|
|
@@ -143,6 +148,8 @@ export async function runWorker(args) {
|
|
|
143
148
|
...(args.resumeFromInterrupt ? ['--resume-from-interrupt'] : []),
|
|
144
149
|
...(args.push ? ['--push'] : []),
|
|
145
150
|
...(args.openPr ? ['--open-pr'] : []),
|
|
151
|
+
...(args.forkAndPr ? ['--fork-and-pr'] : []),
|
|
152
|
+
...(args.commitSpecs ? ['--commit-specs'] : []),
|
|
146
153
|
...(args.resumePayload ? ['--resume-payload', args.resumePayload] : []),
|
|
147
154
|
...(args.agentType ? ['--agent-type', args.agentType] : []),
|
|
148
155
|
...(args.fast ? ['--fast'] : []),
|
|
@@ -185,6 +192,7 @@ export async function runWorker(args) {
|
|
|
185
192
|
localMergeSquash: (cwd, featureBranch, baseBranch, commitMessage, hasRemote) => gitPrService.localMergeSquash(cwd, featureBranch, baseBranch, commitMessage, hasRemote),
|
|
186
193
|
featureRepository,
|
|
187
194
|
gitPrService,
|
|
195
|
+
gitForkService: container.resolve(GitForkService),
|
|
188
196
|
cleanupFeatureWorktreeUseCase,
|
|
189
197
|
},
|
|
190
198
|
};
|
|
@@ -274,6 +282,8 @@ export async function runWorker(args) {
|
|
|
274
282
|
...(args.resumeReason ? { resumeReason: args.resumeReason } : {}),
|
|
275
283
|
push: args.push ?? false,
|
|
276
284
|
openPr: args.openPr ?? false,
|
|
285
|
+
forkAndPr: args.forkAndPr ?? false,
|
|
286
|
+
commitSpecs: args.commitSpecs ?? true,
|
|
277
287
|
}, graphConfig);
|
|
278
288
|
}
|
|
279
289
|
else {
|
|
@@ -287,6 +297,8 @@ export async function runWorker(args) {
|
|
|
287
297
|
...(args.model ? { model: args.model } : {}),
|
|
288
298
|
push: args.push ?? false,
|
|
289
299
|
openPr: args.openPr ?? false,
|
|
300
|
+
forkAndPr: args.forkAndPr ?? false,
|
|
301
|
+
commitSpecs: args.commitSpecs ?? true,
|
|
290
302
|
}, graphConfig);
|
|
291
303
|
}
|
|
292
304
|
log(`Graph invocation completed. Error: ${result.error ?? 'none'}`);
|
|
@@ -16,6 +16,7 @@ import type { IAgentExecutor } from '../../../../../../application/ports/output/
|
|
|
16
16
|
import type { FeatureAgentState } from '../../state.js';
|
|
17
17
|
import type { IFeatureRepository } from '../../../../../../application/ports/output/repositories/feature-repository.interface.js';
|
|
18
18
|
import type { DiffSummary, IGitPrService } from '../../../../../../application/ports/output/services/git-pr-service.interface.js';
|
|
19
|
+
import type { IGitForkService } from '../../../../../../application/ports/output/services/git-fork-service.interface.js';
|
|
19
20
|
import type { CleanupFeatureWorktreeUseCase } from '../../../../../../application/use-cases/features/cleanup-feature-worktree.use-case.js';
|
|
20
21
|
export interface MergeNodeDeps {
|
|
21
22
|
executor: IAgentExecutor;
|
|
@@ -37,6 +38,7 @@ export interface MergeNodeDeps {
|
|
|
37
38
|
*/
|
|
38
39
|
revParse: (cwd: string, ref: string) => Promise<string>;
|
|
39
40
|
gitPrService: IGitPrService;
|
|
41
|
+
gitForkService: IGitForkService;
|
|
40
42
|
cleanupFeatureWorktreeUseCase: Pick<CleanupFeatureWorktreeUseCase, 'execute'>;
|
|
41
43
|
}
|
|
42
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.node.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yEAAyE,CAAC;AAClH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACd,MAAM,iEAAiE,CAAC;
|
|
1
|
+
{"version":3,"file":"merge.node.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yEAAyE,CAAC;AAClH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACd,MAAM,iEAAiE,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mEAAmE,CAAC;AAoBzG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uEAAuE,CAAC;AAE3H,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1E,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;IACnE;;OAEG;IACH,gBAAgB,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,CACX,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,eAAe,CAAC;IAChC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;CAC/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,IAGnC,OAAO,iBAAiB,KAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAkX7E"}
|
|
@@ -220,57 +220,97 @@ export function createMergeNode(deps) {
|
|
|
220
220
|
ciStatus = feature.pr.ciStatus ?? ciStatus;
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
// ---
|
|
224
|
-
//
|
|
225
|
-
//
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
223
|
+
// --- Fork-and-PR branch ---
|
|
224
|
+
// When forkAndPr is true, fork the repo and create an upstream PR
|
|
225
|
+
// instead of merging directly.
|
|
226
|
+
if (state.forkAndPr) {
|
|
227
|
+
log.info('Fork-and-PR mode: forking repo and creating upstream PR');
|
|
228
|
+
// 1. Fork the repository
|
|
229
|
+
await deps.gitForkService.forkRepository(cwd);
|
|
230
|
+
messages.push(`[merge] Forked repository`);
|
|
231
|
+
// 2. Push to fork
|
|
232
|
+
await deps.gitForkService.pushToFork(cwd, branch);
|
|
233
|
+
messages.push(`[merge] Pushed branch ${branch} to fork`);
|
|
234
|
+
// 3. Create upstream PR
|
|
235
|
+
const prTitle = `feat: ${state.featureId}`;
|
|
236
|
+
const prBody = `Automated PR for feature ${state.featureId}`;
|
|
237
|
+
const upstreamPrResult = await deps.gitForkService.createUpstreamPr(cwd, prTitle, prBody, branch, baseBranch);
|
|
238
|
+
messages.push(`[merge] Upstream PR created: ${upstreamPrResult.url}`);
|
|
239
|
+
// 4. Update feature with AwaitingUpstream lifecycle and upstream PR data
|
|
240
|
+
if (feature) {
|
|
241
|
+
await deps.featureRepository.update({
|
|
242
|
+
...feature,
|
|
243
|
+
lifecycle: SdlcLifecycle.AwaitingUpstream,
|
|
244
|
+
pr: {
|
|
245
|
+
url: prUrl ?? '',
|
|
246
|
+
number: prNumber ?? 0,
|
|
247
|
+
status: PrStatus.Open,
|
|
248
|
+
...(commitHash ? { commitHash } : {}),
|
|
249
|
+
...(ciStatus ? { ciStatus: ciStatus } : {}),
|
|
250
|
+
...(ciFixAttempts > 0 ? { ciFixAttempts } : {}),
|
|
251
|
+
...(ciFixHistory.length > 0 ? { ciFixHistory } : {}),
|
|
252
|
+
upstreamPrUrl: upstreamPrResult.url,
|
|
253
|
+
upstreamPrNumber: upstreamPrResult.number,
|
|
254
|
+
upstreamPrStatus: PrStatus.Open,
|
|
255
|
+
},
|
|
256
|
+
updatedAt: new Date(),
|
|
257
|
+
});
|
|
258
|
+
messages.push(`[merge] Feature lifecycle → ${SdlcLifecycle.AwaitingUpstream}`);
|
|
248
259
|
}
|
|
249
260
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
261
|
+
else {
|
|
262
|
+
// --- Merge ---
|
|
263
|
+
// Merge when: allowMerge is true (auto-merge), OR user explicitly
|
|
264
|
+
// approved at the merge gate (isResumeAfterInterrupt means they
|
|
265
|
+
// clicked Approve). The approval IS permission to merge.
|
|
266
|
+
let merged = false;
|
|
267
|
+
const userApprovedMerge = isResumeAfterInterrupt && state._approvalAction !== 'rejected';
|
|
268
|
+
if (state.approvalGates?.allowMerge || userApprovedMerge) {
|
|
269
|
+
if (prUrl && prNumber) {
|
|
270
|
+
// PR exists: merge via GitHub API directly — no agent or local merge needed.
|
|
271
|
+
// This will fail if the PR is not in a mergeable state (checks pending, reviews needed).
|
|
272
|
+
log.info(`Merging PR #${prNumber} via GitHub API (squash)`);
|
|
273
|
+
await deps.gitPrService.mergePr(cwd, prNumber, 'squash');
|
|
274
|
+
messages.push(`[merge] PR #${prNumber} merged via squash`);
|
|
275
|
+
merged = true;
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
// No PR: programmatic local squash merge in the ORIGINAL repo (not the worktree,
|
|
279
|
+
// which IS the feature branch and must not be modified during merge).
|
|
280
|
+
// Uses direct git commands instead of an agent for reliability.
|
|
281
|
+
log.info('Programmatic local squash merge (no agent needed)');
|
|
282
|
+
const commitMsg = `feat: squash merge ${branch} into ${baseBranch}`;
|
|
283
|
+
await deps.localMergeSquash(state.repositoryPath, branch, baseBranch, commitMsg, remoteAvailable);
|
|
284
|
+
log.info('Local squash merge completed successfully');
|
|
285
|
+
messages.push(`[merge] Local squash merge completed`);
|
|
286
|
+
merged = true;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// --- Update feature lifecycle ---
|
|
290
|
+
const newLifecycle = merged ? SdlcLifecycle.Maintain : SdlcLifecycle.Review;
|
|
291
|
+
if (feature) {
|
|
292
|
+
await deps.featureRepository.update({
|
|
293
|
+
...feature,
|
|
294
|
+
lifecycle: newLifecycle,
|
|
295
|
+
...(prUrl && prNumber
|
|
296
|
+
? {
|
|
297
|
+
pr: {
|
|
298
|
+
url: prUrl,
|
|
299
|
+
number: prNumber,
|
|
300
|
+
status: merged ? PrStatus.Merged : PrStatus.Open,
|
|
301
|
+
...(commitHash ? { commitHash } : {}),
|
|
302
|
+
...(ciStatus ? { ciStatus: ciStatus } : {}),
|
|
303
|
+
...(ciFixAttempts > 0 ? { ciFixAttempts } : {}),
|
|
304
|
+
...(ciFixHistory.length > 0 ? { ciFixHistory } : {}),
|
|
305
|
+
},
|
|
306
|
+
}
|
|
307
|
+
: {}),
|
|
308
|
+
updatedAt: new Date(),
|
|
309
|
+
});
|
|
310
|
+
messages.push(`[merge] Feature lifecycle → ${newLifecycle}`);
|
|
311
|
+
if (merged) {
|
|
312
|
+
await deps.cleanupFeatureWorktreeUseCase.execute(feature.id);
|
|
313
|
+
}
|
|
274
314
|
}
|
|
275
315
|
}
|
|
276
316
|
const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
@@ -48,6 +48,8 @@ export declare const FeatureAgentAnnotation: import("@langchain/langgraph").Anno
|
|
|
48
48
|
ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
|
|
49
49
|
push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
50
50
|
openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
51
|
+
forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
52
|
+
commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
|
|
51
53
|
evidence: import("@langchain/langgraph").BinaryOperatorAggregate<Evidence[], Evidence[]>;
|
|
52
54
|
evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
53
55
|
resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEzF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEzF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4GjC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,OAAO,sBAAsB,CAAC,KAAK,CAAC"}
|
|
@@ -79,6 +79,14 @@ export const FeatureAgentAnnotation = Annotation.Root({
|
|
|
79
79
|
reducer: (_prev, next) => next,
|
|
80
80
|
default: () => false,
|
|
81
81
|
}),
|
|
82
|
+
forkAndPr: Annotation({
|
|
83
|
+
reducer: (_prev, next) => next,
|
|
84
|
+
default: () => false,
|
|
85
|
+
}),
|
|
86
|
+
commitSpecs: Annotation({
|
|
87
|
+
reducer: (_prev, next) => next,
|
|
88
|
+
default: () => true,
|
|
89
|
+
}),
|
|
82
90
|
// --- Evidence state ---
|
|
83
91
|
evidence: Annotation({
|
|
84
92
|
reducer: (prev, next) => [...prev, ...next],
|