@shepai/cli 1.176.0-pr539.02342cf → 1.177.0
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/PhaseTiming.yaml +0 -30
- package/apis/json-schema/WorkflowConfig.yaml +0 -3
- package/dist/eslint.config.mjs +2 -0
- package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts +1 -8
- package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/index.d.ts +1 -1
- package/dist/packages/core/src/application/ports/output/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/i-browser-opener.d.ts +28 -0
- package/dist/packages/core/src/application/ports/output/services/i-browser-opener.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/i-browser-opener.js +13 -0
- package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.d.ts +29 -0
- package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.js +13 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -7
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +0 -9
- package/dist/packages/core/src/domain/generated/output.d.ts +0 -65
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +5 -27
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -6
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +0 -41
- package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts +1 -2
- package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.js +0 -72
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -19
- package/dist/packages/core/src/infrastructure/services/agents/analyze-repo/analyze-repository-graph.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +1 -6
- 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 +1 -18
- 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-graph.js +20 -6
- 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 +27 -10
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -17
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +0 -1
- 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 +0 -5
- package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts +1 -1
- package/dist/src/presentation/cli/commands/daemon/start-daemon.js +2 -3
- package/dist/src/presentation/cli/commands/ui.command.js +1 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -2
- 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 +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
- 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 +38 -38
- 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 +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
- 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 +38 -38
- 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 +38 -38
- 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 +27 -27
- 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]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- 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 +6 -6
- 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/features/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
- 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 +13 -13
- 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 +11 -11
- 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 +6 -6
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.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/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.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]__51ec77a8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_66291662._.js → _19a779c6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_66291662._.js.map → _19a779c6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_39053f87._.js → _3fc2374c._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_39053f87._.js.map → _3fc2374c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_57b1af27._.js +3 -0
- package/web/.next/server/chunks/ssr/{_34b0a7ad._.js.map → _57b1af27._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_6abfa39e._.js +1 -1
- package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.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_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.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_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.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 +50 -50
- package/web/.next/static/chunks/{1fd5980d468143b3.js → 0a706f8508eae0a8.js} +2 -2
- package/web/.next/static/chunks/{85ea0b80c5996155.js → 0d0e2661bd167e0f.js} +1 -1
- package/web/.next/static/chunks/{6a3d4b6774ebcbff.js → 18f429029d702545.js} +1 -1
- package/web/.next/static/chunks/{420c3bd9d5a22881.js → 3fc5b2287f192799.js} +1 -1
- package/web/.next/static/chunks/{4df18296f976f225.js → 4c20d4cd4786a0c8.js} +1 -1
- package/web/.next/static/chunks/{5cddc4bace2ce528.js → 77d6506c7d1f711f.js} +1 -1
- package/web/.next/static/chunks/{6d33333b9382783a.js → 829d2f8ef2715f2f.js} +2 -2
- package/web/.next/static/chunks/{1bbf1ec4b25d4de8.js → b5a916fec4cdc897.js} +1 -1
- package/web/.next/static/chunks/{287fea380d8cc373.js → b5d355eb59916926.js} +2 -2
- package/web/.next/static/chunks/{fb6b8fc0dac0dea9.js → c0e4cd44851a9293.js} +1 -1
- package/web/.next/static/chunks/{2403588dafacbd4e.js → ddd34e939acc204f.js} +1 -1
- package/web/.next/static/chunks/{e5d2d6d17ea0472e.js → eaa1b979d63d322b.js} +1 -1
- package/web/.next/static/chunks/{73e0fa361f218bb0.js → ef897f150084ef85.js} +1 -1
- package/web/.next/static/chunks/{97b1402b60fab8a2.js → efd57b6ffc7cbd54.js} +1 -1
- package/apis/json-schema/TokenOptimizationConfig.yaml +0 -36
- package/dist/packages/core/src/application/ports/output/services/alias-compression.interface.d.ts +0 -45
- package/dist/packages/core/src/application/ports/output/services/alias-compression.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/alias-compression.interface.js +0 -13
- package/dist/packages/core/src/application/ports/output/services/command-output-filter.interface.d.ts +0 -50
- package/dist/packages/core/src/application/ports/output/services/command-output-filter.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/command-output-filter.interface.js +0 -13
- package/dist/packages/core/src/application/ports/output/services/delta-context.interface.d.ts +0 -57
- package/dist/packages/core/src/application/ports/output/services/delta-context.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/delta-context.interface.js +0 -13
- package/dist/packages/core/src/application/ports/output/services/optimization-metrics.interface.d.ts +0 -45
- package/dist/packages/core/src/application/ports/output/services/optimization-metrics.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/optimization-metrics.interface.js +0 -13
- package/dist/packages/core/src/application/ports/output/services/prompt-optimizer.interface.d.ts +0 -86
- package/dist/packages/core/src/application/ports/output/services/prompt-optimizer.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/prompt-optimizer.interface.js +0 -13
- package/dist/packages/core/src/application/ports/output/services/semantic-compressor.interface.d.ts +0 -43
- package/dist/packages/core/src/application/ports/output/services/semantic-compressor.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/semantic-compressor.interface.js +0 -13
- package/dist/packages/core/src/application/ports/output/services/skill-routing.interface.d.ts +0 -41
- package/dist/packages/core/src/application/ports/output/services/skill-routing.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/skill-routing.interface.js +0 -12
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-token-optimization-config.d.ts +0 -29
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-token-optimization-config.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-token-optimization-config.js +0 -77
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/prompt-optimization-context.d.ts +0 -42
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/prompt-optimization-context.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/prompt-optimization-context.js +0 -92
- package/dist/packages/core/src/infrastructure/services/token-optimization/alias-compression.service.d.ts +0 -41
- package/dist/packages/core/src/infrastructure/services/token-optimization/alias-compression.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/token-optimization/alias-compression.service.js +0 -111
- package/dist/packages/core/src/infrastructure/services/token-optimization/command-output-filter.service.d.ts +0 -22
- package/dist/packages/core/src/infrastructure/services/token-optimization/command-output-filter.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/token-optimization/command-output-filter.service.js +0 -245
- package/dist/packages/core/src/infrastructure/services/token-optimization/delta-context.service.d.ts +0 -22
- package/dist/packages/core/src/infrastructure/services/token-optimization/delta-context.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/token-optimization/delta-context.service.js +0 -50
- package/dist/packages/core/src/infrastructure/services/token-optimization/optimization-metrics.service.d.ts +0 -36
- package/dist/packages/core/src/infrastructure/services/token-optimization/optimization-metrics.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/token-optimization/optimization-metrics.service.js +0 -123
- package/dist/packages/core/src/infrastructure/services/token-optimization/prompt-optimizer.service.d.ts +0 -57
- package/dist/packages/core/src/infrastructure/services/token-optimization/prompt-optimizer.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/token-optimization/prompt-optimizer.service.js +0 -211
- package/dist/packages/core/src/infrastructure/services/token-optimization/semantic-compressor.service.d.ts +0 -34
- package/dist/packages/core/src/infrastructure/services/token-optimization/semantic-compressor.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/token-optimization/semantic-compressor.service.js +0 -190
- package/dist/packages/core/src/infrastructure/services/token-optimization/skill-routing.service.d.ts +0 -26
- package/dist/packages/core/src/infrastructure/services/token-optimization/skill-routing.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/token-optimization/skill-routing.service.js +0 -51
- package/web/.next/server/chunks/ssr/_34b0a7ad._.js +0 -3
- /package/web/.next/static/{EYQFTbDa6VxVniUQK-bHc → UZ2czjiAnEl1RF-HTzHyA}/_buildManifest.js +0 -0
- /package/web/.next/static/{EYQFTbDa6VxVniUQK-bHc → UZ2czjiAnEl1RF-HTzHyA}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{EYQFTbDa6VxVniUQK-bHc → UZ2czjiAnEl1RF-HTzHyA}/_ssgManifest.js +0 -0
package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts
CHANGED
|
@@ -14,9 +14,8 @@ export declare class SQLitePhaseTimingRepository implements IPhaseTimingReposito
|
|
|
14
14
|
private readonly db;
|
|
15
15
|
constructor(db: Database.Database);
|
|
16
16
|
save(phaseTiming: PhaseTiming): Promise<void>;
|
|
17
|
-
update(id: string, updates: Partial<Pick<PhaseTiming, 'completedAt' | 'durationMs' | 'inputTokens' | 'outputTokens' | 'cacheCreationInputTokens' | 'cacheReadInputTokens' | 'costUsd' | 'numTurns' | 'durationApiMs' | 'exitCode' | 'errorMessage'
|
|
17
|
+
update(id: string, updates: Partial<Pick<PhaseTiming, 'completedAt' | 'durationMs' | 'inputTokens' | 'outputTokens' | 'cacheCreationInputTokens' | 'cacheReadInputTokens' | 'costUsd' | 'numTurns' | 'durationApiMs' | 'exitCode' | 'errorMessage'>>): Promise<void>;
|
|
18
18
|
updateApprovalWait(id: string, updates: Partial<Pick<PhaseTiming, 'waitingApprovalAt' | 'approvalWaitMs'>>): Promise<void>;
|
|
19
|
-
findById(id: string): Promise<PhaseTiming | null>;
|
|
20
19
|
findByRunId(agentRunId: string): Promise<PhaseTiming[]>;
|
|
21
20
|
findByFeatureId(featureId: string): Promise<PhaseTiming[]>;
|
|
22
21
|
}
|
package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-phase-timing.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4EAA4E,CAAC;AACzH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-phase-timing.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4EAA4E,CAAC;AACzH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AA6FpE;;GAEG;AACH,qBACa,2BAA4B,YAAW,sBAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAE5C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7C,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CACd,IAAI,CACF,WAAW,EACT,aAAa,GACb,YAAY,GACZ,aAAa,GACb,cAAc,GACd,0BAA0B,GAC1B,sBAAsB,GACtB,SAAS,GACT,UAAU,GACV,eAAe,GACf,UAAU,GACV,cAAc,CACjB,CACF,GACA,OAAO,CAAC,IAAI,CAAC;IAsEV,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,GAC1E,OAAO,CAAC,IAAI,CAAC;IA2BV,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IASvD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAWjE"}
|
package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.js
CHANGED
|
@@ -36,14 +36,6 @@ function toDatabase(timing) {
|
|
|
36
36
|
duration_api_ms: timing.durationApiMs != null ? Number(timing.durationApiMs) : null,
|
|
37
37
|
exit_code: timing.exitCode ?? null,
|
|
38
38
|
error_message: timing.errorMessage ?? null,
|
|
39
|
-
original_token_estimate: timing.originalTokenEstimate != null ? Number(timing.originalTokenEstimate) : null,
|
|
40
|
-
optimized_token_estimate: timing.optimizedTokenEstimate != null ? Number(timing.optimizedTokenEstimate) : null,
|
|
41
|
-
savings_percent: timing.savingsPercent != null ? Number(timing.savingsPercent) : null,
|
|
42
|
-
capabilities_applied: timing.capabilitiesApplied ?? null,
|
|
43
|
-
output_filter_lines_removed: timing.outputFilterLinesRemoved ?? null,
|
|
44
|
-
delta_context_files_skipped: timing.deltaContextFilesSkipped ?? null,
|
|
45
|
-
compression_ratio: timing.compressionRatio != null ? Number(timing.compressionRatio) : null,
|
|
46
|
-
aliases_created: timing.aliasesCreated ?? null,
|
|
47
39
|
created_at: timing.createdAt instanceof Date ? timing.createdAt.getTime() : timing.createdAt,
|
|
48
40
|
updated_at: timing.updatedAt instanceof Date ? timing.updatedAt.getTime() : timing.updatedAt,
|
|
49
41
|
};
|
|
@@ -78,22 +70,6 @@ function fromDatabase(row) {
|
|
|
78
70
|
...(row.duration_api_ms !== null && { durationApiMs: BigInt(row.duration_api_ms) }),
|
|
79
71
|
...(row.exit_code !== null && { exitCode: row.exit_code }),
|
|
80
72
|
...(row.error_message !== null && { errorMessage: row.error_message }),
|
|
81
|
-
...(row.original_token_estimate !== null && {
|
|
82
|
-
originalTokenEstimate: BigInt(row.original_token_estimate),
|
|
83
|
-
}),
|
|
84
|
-
...(row.optimized_token_estimate !== null && {
|
|
85
|
-
optimizedTokenEstimate: BigInt(row.optimized_token_estimate),
|
|
86
|
-
}),
|
|
87
|
-
...(row.savings_percent !== null && { savingsPercent: row.savings_percent }),
|
|
88
|
-
...(row.capabilities_applied !== null && { capabilitiesApplied: row.capabilities_applied }),
|
|
89
|
-
...(row.output_filter_lines_removed !== null && {
|
|
90
|
-
outputFilterLinesRemoved: row.output_filter_lines_removed,
|
|
91
|
-
}),
|
|
92
|
-
...(row.delta_context_files_skipped !== null && {
|
|
93
|
-
deltaContextFilesSkipped: row.delta_context_files_skipped,
|
|
94
|
-
}),
|
|
95
|
-
...(row.compression_ratio !== null && { compressionRatio: row.compression_ratio }),
|
|
96
|
-
...(row.aliases_created !== null && { aliasesCreated: row.aliases_created }),
|
|
97
73
|
};
|
|
98
74
|
}
|
|
99
75
|
/**
|
|
@@ -114,10 +90,6 @@ let SQLitePhaseTimingRepository = class SQLitePhaseTimingRepository {
|
|
|
114
90
|
cache_creation_input_tokens, cache_read_input_tokens,
|
|
115
91
|
cost_usd, num_turns, duration_api_ms,
|
|
116
92
|
exit_code, error_message,
|
|
117
|
-
original_token_estimate, optimized_token_estimate,
|
|
118
|
-
savings_percent, capabilities_applied,
|
|
119
|
-
output_filter_lines_removed, delta_context_files_skipped,
|
|
120
|
-
compression_ratio, aliases_created,
|
|
121
93
|
created_at, updated_at
|
|
122
94
|
) VALUES (
|
|
123
95
|
@id, @agent_run_id, @phase, @started_at, @completed_at, @duration_ms,
|
|
@@ -126,10 +98,6 @@ let SQLitePhaseTimingRepository = class SQLitePhaseTimingRepository {
|
|
|
126
98
|
@cache_creation_input_tokens, @cache_read_input_tokens,
|
|
127
99
|
@cost_usd, @num_turns, @duration_api_ms,
|
|
128
100
|
@exit_code, @error_message,
|
|
129
|
-
@original_token_estimate, @optimized_token_estimate,
|
|
130
|
-
@savings_percent, @capabilities_applied,
|
|
131
|
-
@output_filter_lines_removed, @delta_context_files_skipped,
|
|
132
|
-
@compression_ratio, @aliases_created,
|
|
133
101
|
@created_at, @updated_at
|
|
134
102
|
)
|
|
135
103
|
`);
|
|
@@ -186,38 +154,6 @@ let SQLitePhaseTimingRepository = class SQLitePhaseTimingRepository {
|
|
|
186
154
|
setClauses.push('error_message = @error_message');
|
|
187
155
|
params.error_message = updates.errorMessage;
|
|
188
156
|
}
|
|
189
|
-
if (updates.originalTokenEstimate !== undefined) {
|
|
190
|
-
setClauses.push('original_token_estimate = @original_token_estimate');
|
|
191
|
-
params.original_token_estimate = Number(updates.originalTokenEstimate);
|
|
192
|
-
}
|
|
193
|
-
if (updates.optimizedTokenEstimate !== undefined) {
|
|
194
|
-
setClauses.push('optimized_token_estimate = @optimized_token_estimate');
|
|
195
|
-
params.optimized_token_estimate = Number(updates.optimizedTokenEstimate);
|
|
196
|
-
}
|
|
197
|
-
if (updates.savingsPercent !== undefined) {
|
|
198
|
-
setClauses.push('savings_percent = @savings_percent');
|
|
199
|
-
params.savings_percent = Number(updates.savingsPercent);
|
|
200
|
-
}
|
|
201
|
-
if (updates.capabilitiesApplied !== undefined) {
|
|
202
|
-
setClauses.push('capabilities_applied = @capabilities_applied');
|
|
203
|
-
params.capabilities_applied = updates.capabilitiesApplied;
|
|
204
|
-
}
|
|
205
|
-
if (updates.outputFilterLinesRemoved !== undefined) {
|
|
206
|
-
setClauses.push('output_filter_lines_removed = @output_filter_lines_removed');
|
|
207
|
-
params.output_filter_lines_removed = updates.outputFilterLinesRemoved;
|
|
208
|
-
}
|
|
209
|
-
if (updates.deltaContextFilesSkipped !== undefined) {
|
|
210
|
-
setClauses.push('delta_context_files_skipped = @delta_context_files_skipped');
|
|
211
|
-
params.delta_context_files_skipped = updates.deltaContextFilesSkipped;
|
|
212
|
-
}
|
|
213
|
-
if (updates.compressionRatio !== undefined) {
|
|
214
|
-
setClauses.push('compression_ratio = @compression_ratio');
|
|
215
|
-
params.compression_ratio = Number(updates.compressionRatio);
|
|
216
|
-
}
|
|
217
|
-
if (updates.aliasesCreated !== undefined) {
|
|
218
|
-
setClauses.push('aliases_created = @aliases_created');
|
|
219
|
-
params.aliases_created = updates.aliasesCreated;
|
|
220
|
-
}
|
|
221
157
|
const stmt = this.db.prepare(`UPDATE phase_timings SET ${setClauses.join(', ')} WHERE id = @id`);
|
|
222
158
|
stmt.run(params);
|
|
223
159
|
}
|
|
@@ -241,14 +177,6 @@ let SQLitePhaseTimingRepository = class SQLitePhaseTimingRepository {
|
|
|
241
177
|
const stmt = this.db.prepare(`UPDATE phase_timings SET ${setClauses.join(', ')} WHERE id = @id`);
|
|
242
178
|
stmt.run(params);
|
|
243
179
|
}
|
|
244
|
-
async findById(id) {
|
|
245
|
-
const stmt = this.db.prepare('SELECT * FROM phase_timings WHERE id = ?');
|
|
246
|
-
const row = stmt.get(id);
|
|
247
|
-
if (!row) {
|
|
248
|
-
return null;
|
|
249
|
-
}
|
|
250
|
-
return fromDatabase(row);
|
|
251
|
-
}
|
|
252
180
|
async findByRunId(agentRunId) {
|
|
253
181
|
const stmt = this.db.prepare('SELECT * FROM phase_timings WHERE agent_run_id = ? ORDER BY created_at');
|
|
254
182
|
const rows = stmt.all(agentRunId);
|
package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-settings.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-settings.repository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8EAA8E,CAAC;AACxH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAOjE;;;GAGG;AACH,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAElD;;;;;;OAMG;IACG,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-settings.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-settings.repository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8EAA8E,CAAC;AACxH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAOjE;;;GAGG;AACH,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAElD;;;;;;OAMG;IACG,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFnD;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgBtC;;;;;OAKG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA2FhD"}
|
|
@@ -73,11 +73,7 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
|
|
|
73
73
|
interactive_agent_max_concurrent_sessions,
|
|
74
74
|
auto_archive_delay_minutes,
|
|
75
75
|
stage_timeout_fast_implement_ms,
|
|
76
|
-
fab_position_swapped
|
|
77
|
-
skill_injection_enabled, skill_injection_skills,
|
|
78
|
-
token_opt_enabled, token_opt_output_filtering,
|
|
79
|
-
token_opt_skill_routing, token_opt_delta_context,
|
|
80
|
-
token_opt_semantic_compression, token_opt_alias_compression
|
|
76
|
+
fab_position_swapped
|
|
81
77
|
) VALUES (
|
|
82
78
|
@id, @created_at, @updated_at,
|
|
83
79
|
@model_analyze, @model_requirements, @model_plan, @model_implement, @model_default,
|
|
@@ -109,11 +105,7 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
|
|
|
109
105
|
@interactive_agent_max_concurrent_sessions,
|
|
110
106
|
@auto_archive_delay_minutes,
|
|
111
107
|
@stage_timeout_fast_implement_ms,
|
|
112
|
-
@fab_position_swapped
|
|
113
|
-
@skill_injection_enabled, @skill_injection_skills,
|
|
114
|
-
@token_opt_enabled, @token_opt_output_filtering,
|
|
115
|
-
@token_opt_skill_routing, @token_opt_delta_context,
|
|
116
|
-
@token_opt_semantic_compression, @token_opt_alias_compression
|
|
108
|
+
@fab_position_swapped
|
|
117
109
|
)
|
|
118
110
|
`);
|
|
119
111
|
// Execute with named parameters (safe from SQL injection)
|
|
@@ -219,15 +211,7 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
|
|
|
219
211
|
interactive_agent_max_concurrent_sessions = @interactive_agent_max_concurrent_sessions,
|
|
220
212
|
auto_archive_delay_minutes = @auto_archive_delay_minutes,
|
|
221
213
|
stage_timeout_fast_implement_ms = @stage_timeout_fast_implement_ms,
|
|
222
|
-
fab_position_swapped = @fab_position_swapped
|
|
223
|
-
skill_injection_enabled = @skill_injection_enabled,
|
|
224
|
-
skill_injection_skills = @skill_injection_skills,
|
|
225
|
-
token_opt_enabled = @token_opt_enabled,
|
|
226
|
-
token_opt_output_filtering = @token_opt_output_filtering,
|
|
227
|
-
token_opt_skill_routing = @token_opt_skill_routing,
|
|
228
|
-
token_opt_delta_context = @token_opt_delta_context,
|
|
229
|
-
token_opt_semantic_compression = @token_opt_semantic_compression,
|
|
230
|
-
token_opt_alias_compression = @token_opt_alias_compression
|
|
214
|
+
fab_position_swapped = @fab_position_swapped
|
|
231
215
|
WHERE id = @id
|
|
232
216
|
`);
|
|
233
217
|
// Execute with named parameters (safe from SQL injection)
|
|
@@ -43,7 +43,7 @@ export declare function createAnalyzeRepositoryGraph(executor: IAgentExecutor, c
|
|
|
43
43
|
repositoryPath?: string | undefined;
|
|
44
44
|
analysisMarkdown?: string | undefined;
|
|
45
45
|
error?: string | undefined;
|
|
46
|
-
}, "
|
|
46
|
+
}, "__start__" | "analyze", {
|
|
47
47
|
repositoryPath: {
|
|
48
48
|
(): import("@langchain/langgraph").LastValue<string>;
|
|
49
49
|
(annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
@@ -69,7 +69,6 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
69
69
|
ciFixAttempts: number;
|
|
70
70
|
ciFixHistory: import("../../../../domain/index.js").CiFixRecord[];
|
|
71
71
|
ciFixStatus: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted";
|
|
72
|
-
specFileHashes: Record<string, string>;
|
|
73
72
|
}, {
|
|
74
73
|
featureId?: string | undefined;
|
|
75
74
|
repositoryPath?: string | undefined;
|
|
@@ -103,8 +102,7 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
103
102
|
ciFixAttempts?: number | undefined;
|
|
104
103
|
ciFixHistory?: import("../../../../domain/index.js").CiFixRecord[] | undefined;
|
|
105
104
|
ciFixStatus?: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted" | undefined;
|
|
106
|
-
|
|
107
|
-
}, "fast-implement" | "__start__", {
|
|
105
|
+
}, "__start__" | "fast-implement", {
|
|
108
106
|
featureId: {
|
|
109
107
|
(): import("@langchain/langgraph").LastValue<string>;
|
|
110
108
|
(annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
@@ -157,7 +155,6 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
157
155
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
158
156
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
159
157
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
160
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
161
158
|
}, {
|
|
162
159
|
featureId: {
|
|
163
160
|
(): import("@langchain/langgraph").LastValue<string>;
|
|
@@ -211,7 +208,6 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
211
208
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
212
209
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
213
210
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
214
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
215
211
|
}, import("@langchain/langgraph").StateDefinition, {
|
|
216
212
|
"fast-implement": Partial<import("@langchain/langgraph").StateType<{
|
|
217
213
|
featureId: {
|
|
@@ -266,7 +262,6 @@ export declare function createFastFeatureAgentGraph(depsOrExecutor: FastFeatureA
|
|
|
266
262
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
267
263
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
268
264
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
269
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
270
265
|
}>>;
|
|
271
266
|
}, unknown, unknown>;
|
|
272
267
|
//# sourceMappingURL=fast-feature-agent-graph.d.ts.map
|
|
@@ -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
|
@@ -56,7 +56,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
56
56
|
ciFixAttempts: number;
|
|
57
57
|
ciFixHistory: import("../../../../domain/index.js").CiFixRecord[];
|
|
58
58
|
ciFixStatus: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted";
|
|
59
|
-
specFileHashes: Record<string, string>;
|
|
60
59
|
}, {
|
|
61
60
|
featureId?: string | undefined;
|
|
62
61
|
repositoryPath?: string | undefined;
|
|
@@ -90,8 +89,7 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
90
89
|
ciFixAttempts?: number | undefined;
|
|
91
90
|
ciFixHistory?: import("../../../../domain/index.js").CiFixRecord[] | undefined;
|
|
92
91
|
ciFixStatus?: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted" | undefined;
|
|
93
|
-
|
|
94
|
-
}, "analyze" | "requirements" | "research" | "plan" | "implement" | "__start__" | "validate_spec_analyze" | "validate_spec_requirements" | "validate_research" | "validate_plan_tasks" | "repair_spec_analyze" | "repair_spec_requirements" | "repair_research" | "repair_plan_tasks", {
|
|
92
|
+
}, "implement" | "__start__" | "analyze" | "requirements" | "research" | "plan" | "validate_spec_analyze" | "validate_spec_requirements" | "validate_research" | "validate_plan_tasks" | "repair_spec_analyze" | "repair_spec_requirements" | "repair_research" | "repair_plan_tasks", {
|
|
95
93
|
featureId: {
|
|
96
94
|
(): import("@langchain/langgraph").LastValue<string>;
|
|
97
95
|
(annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
@@ -144,7 +142,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
144
142
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
145
143
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
146
144
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
147
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
148
145
|
}, {
|
|
149
146
|
featureId: {
|
|
150
147
|
(): import("@langchain/langgraph").LastValue<string>;
|
|
@@ -198,7 +195,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
198
195
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
199
196
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
200
197
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
201
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
202
198
|
}, import("@langchain/langgraph").StateDefinition, {
|
|
203
199
|
analyze: Partial<import("@langchain/langgraph").StateType<{
|
|
204
200
|
featureId: {
|
|
@@ -253,7 +249,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
253
249
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
254
250
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
255
251
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
256
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
257
252
|
}>>;
|
|
258
253
|
requirements: Partial<import("@langchain/langgraph").StateType<{
|
|
259
254
|
featureId: {
|
|
@@ -308,7 +303,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
308
303
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
309
304
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
310
305
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
311
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
312
306
|
}>>;
|
|
313
307
|
research: Partial<import("@langchain/langgraph").StateType<{
|
|
314
308
|
featureId: {
|
|
@@ -363,7 +357,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
363
357
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
364
358
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
365
359
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
366
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
367
360
|
}>>;
|
|
368
361
|
plan: Partial<import("@langchain/langgraph").StateType<{
|
|
369
362
|
featureId: {
|
|
@@ -418,7 +411,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
418
411
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
419
412
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
420
413
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
421
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
422
414
|
}>>;
|
|
423
415
|
implement: Partial<import("@langchain/langgraph").StateType<{
|
|
424
416
|
featureId: {
|
|
@@ -473,7 +465,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
473
465
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
474
466
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
475
467
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
476
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
477
468
|
}>>;
|
|
478
469
|
validate_spec_analyze: Partial<import("@langchain/langgraph").StateType<{
|
|
479
470
|
featureId: {
|
|
@@ -528,7 +519,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
528
519
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
529
520
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
530
521
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
531
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
532
522
|
}>>;
|
|
533
523
|
validate_spec_requirements: Partial<import("@langchain/langgraph").StateType<{
|
|
534
524
|
featureId: {
|
|
@@ -583,7 +573,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
583
573
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
584
574
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
585
575
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
586
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
587
576
|
}>>;
|
|
588
577
|
validate_research: Partial<import("@langchain/langgraph").StateType<{
|
|
589
578
|
featureId: {
|
|
@@ -638,7 +627,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
638
627
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
639
628
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
640
629
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
641
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
642
630
|
}>>;
|
|
643
631
|
validate_plan_tasks: Partial<import("@langchain/langgraph").StateType<{
|
|
644
632
|
featureId: {
|
|
@@ -693,7 +681,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
693
681
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
694
682
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
695
683
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
696
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
697
684
|
}>>;
|
|
698
685
|
repair_spec_analyze: Partial<import("@langchain/langgraph").StateType<{
|
|
699
686
|
featureId: {
|
|
@@ -748,7 +735,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
748
735
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
749
736
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
750
737
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
751
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
752
738
|
}>>;
|
|
753
739
|
repair_spec_requirements: Partial<import("@langchain/langgraph").StateType<{
|
|
754
740
|
featureId: {
|
|
@@ -803,7 +789,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
803
789
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
804
790
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
805
791
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
806
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
807
792
|
}>>;
|
|
808
793
|
repair_research: Partial<import("@langchain/langgraph").StateType<{
|
|
809
794
|
featureId: {
|
|
@@ -858,7 +843,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
858
843
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
859
844
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
860
845
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
861
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
862
846
|
}>>;
|
|
863
847
|
repair_plan_tasks: Partial<import("@langchain/langgraph").StateType<{
|
|
864
848
|
featureId: {
|
|
@@ -913,7 +897,6 @@ export declare function createFeatureAgentGraph(depsOrExecutor: FeatureAgentGrap
|
|
|
913
897
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
914
898
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
|
|
915
899
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
916
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
917
900
|
}>>;
|
|
918
901
|
}, unknown, unknown>;
|
|
919
902
|
//# sourceMappingURL=feature-agent-graph.d.ts.map
|
|
@@ -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;
|
|
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;AAelF,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;AAwJD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,qBAAqB,GAAG,cAAc,EACtD,YAAY,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsFnC"}
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.js
CHANGED
|
@@ -11,7 +11,7 @@ import { createRepairNode } from './nodes/repair.node.js';
|
|
|
11
11
|
import { validateSpecAnalyze, validateSpecRequirements } from './nodes/schemas/spec.schema.js';
|
|
12
12
|
import { validateResearch } from './nodes/schemas/research.schema.js';
|
|
13
13
|
import { validatePlan, validateTasks } from './nodes/schemas/plan.schema.js';
|
|
14
|
-
import { readSpecFile, safeYamlLoad, createNodeLogger, getCompletedPhases, } from './nodes/node-helpers.js';
|
|
14
|
+
import { readSpecFile, safeYamlLoad, createNodeLogger, getCompletedPhases, clearCompletedPhase, } from './nodes/node-helpers.js';
|
|
15
15
|
// Re-export state types for consumers
|
|
16
16
|
export { FeatureAgentAnnotation } from './state.js';
|
|
17
17
|
/**
|
|
@@ -33,12 +33,26 @@ function routeReexecution(selfNode, nextNode) {
|
|
|
33
33
|
* Factory that creates a conditional edge function for validation routing.
|
|
34
34
|
*
|
|
35
35
|
* Routes to successNode on pass, repairNode on fail, throws after maxRetries.
|
|
36
|
+
*
|
|
37
|
+
* When retries are exhausted, clears the producer node's completedPhases entry
|
|
38
|
+
* before throwing. This ensures that on resume, the producer node re-executes
|
|
39
|
+
* the full agent instead of skipping (because `executeNode` checks
|
|
40
|
+
* completedPhases). Without this, a phase that produced empty/unfilled output
|
|
41
|
+
* would be permanently stuck: the repair node can only fix formatting, not
|
|
42
|
+
* generate content from scratch, and the producer would skip on every retry.
|
|
36
43
|
*/
|
|
37
|
-
function routeValidation(successNode, repairNode, maxRetries = 3) {
|
|
44
|
+
function routeValidation(successNode, repairNode, producerNode, maxRetries = 3) {
|
|
45
|
+
const log = createNodeLogger('routeValidation');
|
|
38
46
|
return (state) => {
|
|
39
47
|
if (state.lastValidationErrors.length === 0)
|
|
40
48
|
return successNode;
|
|
41
49
|
if (state.validationRetries >= maxRetries) {
|
|
50
|
+
// Clear the producer's completed phase so that on resume the producer
|
|
51
|
+
// node re-executes the full agent instead of skipping.
|
|
52
|
+
if (producerNode) {
|
|
53
|
+
log.info(`Clearing completed phase '${producerNode}' so retry re-runs the agent`);
|
|
54
|
+
clearCompletedPhase(state.specDir, producerNode, log);
|
|
55
|
+
}
|
|
42
56
|
throw new Error(`Validation failed after ${maxRetries} repair attempts for '${state.lastValidationTarget}': ${state.lastValidationErrors.join('; ')}`);
|
|
43
57
|
}
|
|
44
58
|
return repairNode;
|
|
@@ -174,16 +188,16 @@ export function createFeatureAgentGraph(depsOrExecutor, checkpointer) {
|
|
|
174
188
|
// --- Edges: linear flow with validation gates ---
|
|
175
189
|
.addEdge(START, 'analyze')
|
|
176
190
|
.addEdge('analyze', 'validate_spec_analyze')
|
|
177
|
-
.addConditionalEdges('validate_spec_analyze', routeValidation('requirements', 'repair_spec_analyze'))
|
|
191
|
+
.addConditionalEdges('validate_spec_analyze', routeValidation('requirements', 'repair_spec_analyze', 'analyze'))
|
|
178
192
|
.addEdge('repair_spec_analyze', 'validate_spec_analyze')
|
|
179
193
|
.addConditionalEdges('requirements', routeReexecution('requirements', 'validate_spec_requirements'))
|
|
180
|
-
.addConditionalEdges('validate_spec_requirements', routeValidation('research', 'repair_spec_requirements'))
|
|
194
|
+
.addConditionalEdges('validate_spec_requirements', routeValidation('research', 'repair_spec_requirements', 'requirements'))
|
|
181
195
|
.addEdge('repair_spec_requirements', 'validate_spec_requirements')
|
|
182
196
|
.addEdge('research', 'validate_research')
|
|
183
|
-
.addConditionalEdges('validate_research', routeValidation('plan', 'repair_research'))
|
|
197
|
+
.addConditionalEdges('validate_research', routeValidation('plan', 'repair_research', 'research'))
|
|
184
198
|
.addEdge('repair_research', 'validate_research')
|
|
185
199
|
.addConditionalEdges('plan', routeReexecution('plan', 'validate_plan_tasks'))
|
|
186
|
-
.addConditionalEdges('validate_plan_tasks', routeValidation('implement', 'repair_plan_tasks'))
|
|
200
|
+
.addConditionalEdges('validate_plan_tasks', routeValidation('implement', 'repair_plan_tasks', 'plan'))
|
|
187
201
|
.addEdge('repair_plan_tasks', 'validate_plan_tasks');
|
|
188
202
|
// --- Merge node: wired when deps are provided ---
|
|
189
203
|
if (deps.mergeNodeDeps) {
|
|
@@ -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;AAiB1B,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,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,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,CAkF1D;AAgCD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiU/D"}
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import 'reflect-metadata';
|
|
12
12
|
import { join } from 'node:path';
|
|
13
13
|
import { homedir } from 'node:os';
|
|
14
|
+
import { unlinkSync } from 'node:fs';
|
|
14
15
|
import { Command } from '@langchain/langgraph';
|
|
15
16
|
import { initializeContainer, container } from '../../../di/container.js';
|
|
16
17
|
import { createFeatureAgentGraph } from './feature-agent-graph.js';
|
|
@@ -21,7 +22,6 @@ import { initializeSettings } from '../../../services/settings.service.js';
|
|
|
21
22
|
import { InitializeSettingsUseCase } from '../../../../application/use-cases/settings/initialize-settings.use-case.js';
|
|
22
23
|
import { setHeartbeatContext } from './heartbeat.js';
|
|
23
24
|
import { setPhaseTimingContext, recordLifecycleEvent } from './phase-timing-context.js';
|
|
24
|
-
import { setPromptOptimizationContext } from './prompt-optimization-context.js';
|
|
25
25
|
import { setLifecycleContext } from './lifecycle-context.js';
|
|
26
26
|
import { setLogPrefix, getLogPrefix } from './log-context.js';
|
|
27
27
|
import { UpdateFeatureLifecycleUseCase } from '../../../../application/use-cases/features/update/update-feature-lifecycle.use-case.js';
|
|
@@ -230,11 +230,6 @@ export async function runWorker(args) {
|
|
|
230
230
|
// Set phase timing context so executeNode() records per-phase durations
|
|
231
231
|
const timingRepository = container.resolve('IPhaseTimingRepository');
|
|
232
232
|
setPhaseTimingContext(args.runId, timingRepository);
|
|
233
|
-
// Set prompt optimization context so executeNode() can run the
|
|
234
|
-
// token-optimization layer between buildPrompt() and executor.execute().
|
|
235
|
-
const promptOptimizer = container.resolve('IPromptOptimizerService');
|
|
236
|
-
const optimizationMetricsService = container.resolve('IOptimizationMetricsService');
|
|
237
|
-
setPromptOptimizationContext(promptOptimizer, optimizationMetricsService, args.runId, args.featureId);
|
|
238
233
|
// Capture repos for SIGTERM handler
|
|
239
234
|
runRepoForSignal = runRepository;
|
|
240
235
|
timingRepoForSignal = timingRepository;
|
|
@@ -279,10 +274,32 @@ export async function runWorker(args) {
|
|
|
279
274
|
result = await graph.invoke(new Command({ resume: resumeValue, update: stateUpdate }), graphConfig);
|
|
280
275
|
}
|
|
281
276
|
else if (args.resume) {
|
|
282
|
-
// Resume from error —
|
|
283
|
-
//
|
|
284
|
-
|
|
285
|
-
|
|
277
|
+
// Resume from error — delete the stale checkpoint and re-invoke from
|
|
278
|
+
// scratch. Each producer node checks its completedPhases entry and skips
|
|
279
|
+
// if already done, so completed phases replay instantly. The phase that
|
|
280
|
+
// failed has its completedPhases entry cleared by routeValidation (or was
|
|
281
|
+
// never marked complete if the executor threw), so it re-executes fully.
|
|
282
|
+
//
|
|
283
|
+
// Why delete the checkpoint instead of resuming from it:
|
|
284
|
+
// When a validate/repair loop exhausts retries and throws, the checkpoint
|
|
285
|
+
// captures the validation node with maxed-out retries. Resuming from that
|
|
286
|
+
// checkpoint would re-evaluate the same conditional edge and throw again
|
|
287
|
+
// immediately — the user's retry would be stuck in an infinite loop.
|
|
288
|
+
log('Deleting stale checkpoint for fresh resume...');
|
|
289
|
+
try {
|
|
290
|
+
unlinkSync(checkpointPath);
|
|
291
|
+
log('Checkpoint deleted successfully');
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
log('No checkpoint to delete (first run or already cleaned)');
|
|
295
|
+
}
|
|
296
|
+
// Re-create checkpointer after deleting the old DB
|
|
297
|
+
const freshCheckpointer = createCheckpointer(checkpointPath);
|
|
298
|
+
const freshGraph = args.fast
|
|
299
|
+
? createFastFeatureAgentGraph(graphDeps, freshCheckpointer)
|
|
300
|
+
: createFeatureAgentGraph(graphDeps, freshCheckpointer);
|
|
301
|
+
log('Resuming graph with fresh checkpoint...');
|
|
302
|
+
result = await freshGraph.invoke({
|
|
286
303
|
featureId: args.featureId,
|
|
287
304
|
repositoryPath: args.repo,
|
|
288
305
|
worktreePath: args.worktreePath ?? args.repo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAUrD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAE7C,4DAA4D;gBAChD,IAAI;kBAGF,MAAM,GAAG,IAAI;mBAIZ,MAAM,GAAG,IAAI;EAK/B;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMtE;AAoBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,EACxB,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,EAC3D,QAAQ,CAAC,EAAE,MAAM,GAChB,qBAAqB,CAUvB;AAeD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQrD;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAElD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAQ3F;AAMD,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,mBAAmB,GAAG,eAAe,GAAG,SAAS,CAAC;AAMhG;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAKjE;AAED,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,EAC9B,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,oBAAoB,CAAC,CA6B/B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAW5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAiB5F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAOhG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAoB1F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAa5F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,MAAM,CAiCT;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAa3E;AAKD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,UAAU,GACd,IAAI,CA6BN;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,UAAU,KAAK,MAAM,GACjE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAwInE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,QAAQ,EAAE,EACpB,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GACvC,IAAI,CAaN"}
|
package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js
CHANGED
|
@@ -12,7 +12,6 @@ import { interrupt, isGraphBubbleUp } from '@langchain/langgraph';
|
|
|
12
12
|
import { hasSettings, getSettings } from '../../../../services/settings.service.js';
|
|
13
13
|
import { reportNodeStart } from '../heartbeat.js';
|
|
14
14
|
import { recordPhaseStart, recordPhaseEnd, recordApprovalWaitStart, } from '../phase-timing-context.js';
|
|
15
|
-
import { optimizePromptIfEnabled, recordOptimizationMetricsIfEnabled, } from '../prompt-optimization-context.js';
|
|
16
15
|
import { updateNodeLifecycle } from '../lifecycle-context.js';
|
|
17
16
|
import { getLogPrefix, setCurrentPhase } from '../log-context.js';
|
|
18
17
|
/**
|
|
@@ -492,18 +491,7 @@ export function executeNode(nodeName, executor, buildPrompt) {
|
|
|
492
491
|
}
|
|
493
492
|
const startTime = Date.now();
|
|
494
493
|
const resumePrefix = buildResumeContext(state.resumeReason);
|
|
495
|
-
const
|
|
496
|
-
// Token optimization layer — single interceptor between prompt build
|
|
497
|
-
// and executor invocation. Falls back to the raw prompt on any error
|
|
498
|
-
// so optimization failures can never break a phase.
|
|
499
|
-
const optimization = await optimizePromptIfEnabled(rawPrompt, nodeName, state.model, state.specFileHashes);
|
|
500
|
-
const prompt = optimization.prompt;
|
|
501
|
-
if (optimization.metrics) {
|
|
502
|
-
log.info(`Prompt optimized: ${optimization.metrics.originalTokenEstimate} → ` +
|
|
503
|
-
`${optimization.metrics.optimizedTokenEstimate} tokens ` +
|
|
504
|
-
`(${optimization.metrics.savingsPercent.toFixed(1)}% saved, ` +
|
|
505
|
-
`capabilities=${optimization.metrics.capabilitiesApplied.join(',') || 'none'})`);
|
|
506
|
-
}
|
|
494
|
+
const prompt = resumePrefix + buildPrompt(state, log);
|
|
507
495
|
const options = buildExecutorOptions(state, undefined, nodeName);
|
|
508
496
|
// Record phase start with pre-execution metadata
|
|
509
497
|
const timingId = await recordPhaseStart(nodeName, {
|
|
@@ -529,9 +517,6 @@ export function executeNode(nodeName, executor, buildPrompt) {
|
|
|
529
517
|
durationApiMs: result.usage?.durationApiMs,
|
|
530
518
|
exitCode: 'success',
|
|
531
519
|
});
|
|
532
|
-
// Persist optimization metrics on the same phase timing row.
|
|
533
|
-
// No-op when optimization is disabled or context is not set.
|
|
534
|
-
await recordOptimizationMetricsIfEnabled(timingId, optimization.metrics);
|
|
535
520
|
// Safety net: undo spec commits if commitSpecs=false
|
|
536
521
|
removeSpecCommitsIfNeeded(state, nodeName, log);
|
|
537
522
|
// Mark phase complete BEFORE interrupting so that on resume the
|
|
@@ -543,7 +528,6 @@ export function executeNode(nodeName, executor, buildPrompt) {
|
|
|
543
528
|
_approvalAction: null,
|
|
544
529
|
_rejectionFeedback: null,
|
|
545
530
|
_needsReexecution: false,
|
|
546
|
-
specFileHashes: optimization.specFileHashes,
|
|
547
531
|
};
|
|
548
532
|
// Human-in-the-loop: interrupt after node execution for review.
|
|
549
533
|
// This is the ONLY interrupt() call in the entire execution path.
|
|
@@ -59,7 +59,6 @@ export declare const FeatureAgentAnnotation: import("@langchain/langgraph").Anno
|
|
|
59
59
|
ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
|
|
60
60
|
ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<CiFixRecord[], CiFixRecord[]>;
|
|
61
61
|
ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
|
|
62
|
-
specFileHashes: import("@langchain/langgraph").BinaryOperatorAggregate<Record<string, string>, Record<string, string>>;
|
|
63
62
|
}>;
|
|
64
63
|
export type FeatureAgentState = typeof FeatureAgentAnnotation.State;
|
|
65
64
|
//# sourceMappingURL=state.d.ts.map
|