@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.
Files changed (274) hide show
  1. package/apis/json-schema/PhaseTiming.yaml +0 -30
  2. package/apis/json-schema/WorkflowConfig.yaml +0 -3
  3. package/dist/eslint.config.mjs +2 -0
  4. package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts +1 -8
  5. package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts.map +1 -1
  6. package/dist/packages/core/src/application/ports/output/index.d.ts +1 -1
  7. package/dist/packages/core/src/application/ports/output/index.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/ports/output/services/i-browser-opener.d.ts +28 -0
  9. package/dist/packages/core/src/application/ports/output/services/i-browser-opener.d.ts.map +1 -0
  10. package/dist/packages/core/src/application/ports/output/services/i-browser-opener.js +13 -0
  11. package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.d.ts +29 -0
  12. package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.d.ts.map +1 -0
  13. package/dist/packages/core/src/application/ports/output/services/i-desktop-notifier.js +13 -0
  14. package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -7
  15. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  16. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  17. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +0 -9
  18. package/dist/packages/core/src/domain/generated/output.d.ts +0 -65
  19. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/di/container.js +5 -27
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -6
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +0 -41
  25. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts +1 -2
  26. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.js +0 -72
  28. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  29. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -19
  30. package/dist/packages/core/src/infrastructure/services/agents/analyze-repo/analyze-repository-graph.d.ts +1 -1
  31. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +1 -6
  32. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  33. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +1 -18
  34. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  35. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.js +20 -6
  36. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +27 -10
  38. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -17
  40. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +0 -1
  41. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  42. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +0 -5
  43. package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts +2 -1
  44. package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts.map +1 -1
  45. package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts +2 -1
  46. package/dist/packages/core/src/infrastructure/services/notifications/desktop-notifier.d.ts.map +1 -1
  47. package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts +1 -1
  48. package/dist/src/presentation/cli/commands/daemon/start-daemon.js +2 -3
  49. package/dist/src/presentation/cli/commands/ui.command.js +1 -2
  50. package/dist/tsconfig.build.tsbuildinfo +1 -1
  51. package/package.json +10 -2
  52. package/web/.next/BUILD_ID +1 -1
  53. package/web/.next/build-manifest.json +2 -2
  54. package/web/.next/fallback-build-manifest.json +2 -2
  55. package/web/.next/prerender-manifest.json +3 -3
  56. package/web/.next/required-server-files.js +2 -2
  57. package/web/.next/required-server-files.json +2 -2
  58. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  59. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  62. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  65. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  66. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  68. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  69. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  70. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +38 -38
  71. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  74. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  75. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  77. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  78. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  79. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  80. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  81. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  82. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  83. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  84. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  85. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  86. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  87. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  88. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +38 -38
  89. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  90. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  91. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  92. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  93. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  95. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  96. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  97. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  98. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  99. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  100. package/web/.next/server/app/_global-error.html +2 -2
  101. package/web/.next/server/app/_global-error.rsc +1 -1
  102. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  103. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  104. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  105. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  106. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  107. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  108. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  109. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
  111. package/web/.next/server/app/features/page.js.nft.json +1 -1
  112. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
  114. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  115. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
  117. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  118. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  120. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  121. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  123. package/web/.next/server/app/version/page.js.nft.json +1 -1
  124. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  126. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
  127. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +1 -1
  129. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +1 -1
  131. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +1 -1
  133. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  135. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  137. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js +1 -1
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +2 -2
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +1 -1
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  157. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  158. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  159. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  160. package/web/.next/server/chunks/ssr/{_66291662._.js → _19a779c6._.js} +2 -2
  161. package/web/.next/server/chunks/ssr/{_66291662._.js.map → _19a779c6._.js.map} +1 -1
  162. package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/{_39053f87._.js → _3fc2374c._.js} +2 -2
  164. package/web/.next/server/chunks/ssr/{_39053f87._.js.map → _3fc2374c._.js.map} +1 -1
  165. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
  167. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
  168. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  169. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  170. package/web/.next/server/chunks/ssr/_57b1af27._.js +3 -0
  171. package/web/.next/server/chunks/ssr/{_34b0a7ad._.js.map → _57b1af27._.js.map} +1 -1
  172. package/web/.next/server/chunks/ssr/_6abfa39e._.js +1 -1
  173. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  174. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  175. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  176. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  177. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js +1 -1
  179. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +1 -1
  180. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +2 -2
  181. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +2 -2
  183. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +1 -1
  185. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +1 -1
  187. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +1 -1
  189. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +1 -1
  191. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +1 -1
  192. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  193. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  194. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  195. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  196. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  197. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  198. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  199. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  200. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +1 -1
  202. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +1 -1
  204. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js.map +1 -1
  205. package/web/.next/server/pages/500.html +2 -2
  206. package/web/.next/server/server-reference-manifest.js +1 -1
  207. package/web/.next/server/server-reference-manifest.json +50 -50
  208. package/web/.next/static/chunks/{1fd5980d468143b3.js → 0a706f8508eae0a8.js} +2 -2
  209. package/web/.next/static/chunks/{85ea0b80c5996155.js → 0d0e2661bd167e0f.js} +1 -1
  210. package/web/.next/static/chunks/{6a3d4b6774ebcbff.js → 18f429029d702545.js} +1 -1
  211. package/web/.next/static/chunks/{420c3bd9d5a22881.js → 3fc5b2287f192799.js} +1 -1
  212. package/web/.next/static/chunks/{4df18296f976f225.js → 4c20d4cd4786a0c8.js} +1 -1
  213. package/web/.next/static/chunks/{5cddc4bace2ce528.js → 77d6506c7d1f711f.js} +1 -1
  214. package/web/.next/static/chunks/{6d33333b9382783a.js → 829d2f8ef2715f2f.js} +2 -2
  215. package/web/.next/static/chunks/{1bbf1ec4b25d4de8.js → b5a916fec4cdc897.js} +1 -1
  216. package/web/.next/static/chunks/{287fea380d8cc373.js → b5d355eb59916926.js} +2 -2
  217. package/web/.next/static/chunks/{fb6b8fc0dac0dea9.js → c0e4cd44851a9293.js} +1 -1
  218. package/web/.next/static/chunks/{2403588dafacbd4e.js → ddd34e939acc204f.js} +1 -1
  219. package/web/.next/static/chunks/{e5d2d6d17ea0472e.js → eaa1b979d63d322b.js} +1 -1
  220. package/web/.next/static/chunks/{73e0fa361f218bb0.js → ef897f150084ef85.js} +1 -1
  221. package/web/.next/static/chunks/{97b1402b60fab8a2.js → efd57b6ffc7cbd54.js} +1 -1
  222. package/apis/json-schema/TokenOptimizationConfig.yaml +0 -36
  223. package/dist/packages/core/src/application/ports/output/services/alias-compression.interface.d.ts +0 -45
  224. package/dist/packages/core/src/application/ports/output/services/alias-compression.interface.d.ts.map +0 -1
  225. package/dist/packages/core/src/application/ports/output/services/alias-compression.interface.js +0 -13
  226. package/dist/packages/core/src/application/ports/output/services/command-output-filter.interface.d.ts +0 -50
  227. package/dist/packages/core/src/application/ports/output/services/command-output-filter.interface.d.ts.map +0 -1
  228. package/dist/packages/core/src/application/ports/output/services/command-output-filter.interface.js +0 -13
  229. package/dist/packages/core/src/application/ports/output/services/delta-context.interface.d.ts +0 -57
  230. package/dist/packages/core/src/application/ports/output/services/delta-context.interface.d.ts.map +0 -1
  231. package/dist/packages/core/src/application/ports/output/services/delta-context.interface.js +0 -13
  232. package/dist/packages/core/src/application/ports/output/services/optimization-metrics.interface.d.ts +0 -45
  233. package/dist/packages/core/src/application/ports/output/services/optimization-metrics.interface.d.ts.map +0 -1
  234. package/dist/packages/core/src/application/ports/output/services/optimization-metrics.interface.js +0 -13
  235. package/dist/packages/core/src/application/ports/output/services/prompt-optimizer.interface.d.ts +0 -86
  236. package/dist/packages/core/src/application/ports/output/services/prompt-optimizer.interface.d.ts.map +0 -1
  237. package/dist/packages/core/src/application/ports/output/services/prompt-optimizer.interface.js +0 -13
  238. package/dist/packages/core/src/application/ports/output/services/semantic-compressor.interface.d.ts +0 -43
  239. package/dist/packages/core/src/application/ports/output/services/semantic-compressor.interface.d.ts.map +0 -1
  240. package/dist/packages/core/src/application/ports/output/services/semantic-compressor.interface.js +0 -13
  241. package/dist/packages/core/src/application/ports/output/services/skill-routing.interface.d.ts +0 -41
  242. package/dist/packages/core/src/application/ports/output/services/skill-routing.interface.d.ts.map +0 -1
  243. package/dist/packages/core/src/application/ports/output/services/skill-routing.interface.js +0 -12
  244. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-token-optimization-config.d.ts +0 -29
  245. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-token-optimization-config.d.ts.map +0 -1
  246. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/055-add-token-optimization-config.js +0 -77
  247. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/prompt-optimization-context.d.ts +0 -42
  248. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/prompt-optimization-context.d.ts.map +0 -1
  249. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/prompt-optimization-context.js +0 -92
  250. package/dist/packages/core/src/infrastructure/services/token-optimization/alias-compression.service.d.ts +0 -41
  251. package/dist/packages/core/src/infrastructure/services/token-optimization/alias-compression.service.d.ts.map +0 -1
  252. package/dist/packages/core/src/infrastructure/services/token-optimization/alias-compression.service.js +0 -111
  253. package/dist/packages/core/src/infrastructure/services/token-optimization/command-output-filter.service.d.ts +0 -22
  254. package/dist/packages/core/src/infrastructure/services/token-optimization/command-output-filter.service.d.ts.map +0 -1
  255. package/dist/packages/core/src/infrastructure/services/token-optimization/command-output-filter.service.js +0 -245
  256. package/dist/packages/core/src/infrastructure/services/token-optimization/delta-context.service.d.ts +0 -22
  257. package/dist/packages/core/src/infrastructure/services/token-optimization/delta-context.service.d.ts.map +0 -1
  258. package/dist/packages/core/src/infrastructure/services/token-optimization/delta-context.service.js +0 -50
  259. package/dist/packages/core/src/infrastructure/services/token-optimization/optimization-metrics.service.d.ts +0 -36
  260. package/dist/packages/core/src/infrastructure/services/token-optimization/optimization-metrics.service.d.ts.map +0 -1
  261. package/dist/packages/core/src/infrastructure/services/token-optimization/optimization-metrics.service.js +0 -123
  262. package/dist/packages/core/src/infrastructure/services/token-optimization/prompt-optimizer.service.d.ts +0 -57
  263. package/dist/packages/core/src/infrastructure/services/token-optimization/prompt-optimizer.service.d.ts.map +0 -1
  264. package/dist/packages/core/src/infrastructure/services/token-optimization/prompt-optimizer.service.js +0 -211
  265. package/dist/packages/core/src/infrastructure/services/token-optimization/semantic-compressor.service.d.ts +0 -34
  266. package/dist/packages/core/src/infrastructure/services/token-optimization/semantic-compressor.service.d.ts.map +0 -1
  267. package/dist/packages/core/src/infrastructure/services/token-optimization/semantic-compressor.service.js +0 -190
  268. package/dist/packages/core/src/infrastructure/services/token-optimization/skill-routing.service.d.ts +0 -26
  269. package/dist/packages/core/src/infrastructure/services/token-optimization/skill-routing.service.d.ts.map +0 -1
  270. package/dist/packages/core/src/infrastructure/services/token-optimization/skill-routing.service.js +0 -51
  271. package/web/.next/server/chunks/ssr/_34b0a7ad._.js +0 -3
  272. /package/web/.next/static/{EYQFTbDa6VxVniUQK-bHc → UZ2czjiAnEl1RF-HTzHyA}/_buildManifest.js +0 -0
  273. /package/web/.next/static/{EYQFTbDa6VxVniUQK-bHc → UZ2czjiAnEl1RF-HTzHyA}/_clientMiddlewareManifest.json +0 -0
  274. /package/web/.next/static/{EYQFTbDa6VxVniUQK-bHc → UZ2czjiAnEl1RF-HTzHyA}/_ssgManifest.js +0 -0
@@ -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' | 'originalTokenEstimate' | 'optimizedTokenEstimate' | 'savingsPercent' | 'capabilitiesApplied' | 'outputFilterLinesRemoved' | 'deltaContextFilesSkipped' | 'compressionRatio' | 'aliasesCreated'>>): Promise<void>;
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
  }
@@ -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;AA+HpE;;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;IAkC7C,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,GACd,uBAAuB,GACvB,wBAAwB,GACxB,gBAAgB,GAChB,qBAAqB,GACrB,0BAA0B,GAC1B,0BAA0B,GAC1B,kBAAkB,GAClB,gBAAgB,CACnB,CACF,GACA,OAAO,CAAC,IAAI,CAAC;IA8GV,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,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAWjD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IASvD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAWjE"}
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"}
@@ -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);
@@ -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;IA2FnD;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgBtC;;;;;OAKG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAmGhD"}
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
- }, "analyze" | "__start__", {
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
- specFileHashes?: Record<string, string> | undefined;
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6BnC"}
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"}
@@ -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
- specFileHashes?: Record<string, string> | undefined;
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;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"}
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"}
@@ -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;AAgB1B,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAc7F,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,CAoT/D"}
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"}
@@ -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 — re-invoke with initial state; LangGraph continues
283
- // from the last successfully checkpointed node.
284
- log('Resuming graph from error checkpoint...');
285
- result = await graph.invoke({
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":"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"}
1
+ {"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.ts"],"names":[],"mappings":"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"}
@@ -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 rawPrompt = resumePrefix + buildPrompt(state, log);
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