@shepai/cli 1.112.0-pr346.5ff956f → 1.112.0-pr347.4de2f90

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 (139) hide show
  1. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  2. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +0 -1
  3. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
  4. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +0 -1
  5. package/dist/packages/core/src/infrastructure/persistence/sqlite/sqlite-migration-storage.d.ts +13 -0
  6. package/dist/packages/core/src/infrastructure/persistence/sqlite/sqlite-migration-storage.d.ts.map +1 -1
  7. package/dist/packages/core/src/infrastructure/persistence/sqlite/sqlite-migration-storage.js +37 -0
  8. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +0 -5
  10. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
  11. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +0 -1
  12. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.js +2 -42
  14. package/dist/tsconfig.build.tsbuildinfo +1 -1
  15. package/package.json +1 -1
  16. package/web/.next/BUILD_ID +1 -1
  17. package/web/.next/build-manifest.json +2 -2
  18. package/web/.next/fallback-build-manifest.json +2 -2
  19. package/web/.next/prerender-manifest.json +3 -3
  20. package/web/.next/required-server-files.js +1 -1
  21. package/web/.next/required-server-files.json +1 -1
  22. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +20 -20
  23. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  24. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  25. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +26 -26
  26. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +26 -26
  29. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  30. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
  32. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  34. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +20 -20
  35. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  36. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  37. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +26 -26
  38. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +26 -26
  41. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  42. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  43. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +18 -18
  44. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  45. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  46. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
  47. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  48. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  49. package/web/.next/server/app/_global-error.html +2 -2
  50. package/web/.next/server/app/_global-error.rsc +1 -1
  51. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  52. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  53. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  54. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  55. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  56. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  57. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  58. package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
  59. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  60. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  62. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  63. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  64. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  66. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  68. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  69. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  70. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_a1104008.js +1 -1
  71. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_a1104008.js.map +1 -1
  72. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_92642200.js +1 -1
  73. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_92642200.js.map +1 -1
  74. package/web/.next/server/chunks/ssr/[root-of-the-server]__039967e3._.js +1 -1
  75. package/web/.next/server/chunks/ssr/[root-of-the-server]__039967e3._.js.map +1 -1
  76. package/web/.next/server/chunks/ssr/[root-of-the-server]__07a39ff2._.js +1 -1
  77. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  78. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  79. package/web/.next/server/chunks/ssr/[root-of-the-server]__24dd0927._.js +2 -2
  80. package/web/.next/server/chunks/ssr/[root-of-the-server]__2773312c._.js +1 -1
  81. package/web/.next/server/chunks/ssr/[root-of-the-server]__2773312c._.js.map +1 -1
  82. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
  83. package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js +1 -1
  84. package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js.map +1 -1
  85. package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js +2 -2
  86. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
  87. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  88. package/web/.next/server/chunks/ssr/[root-of-the-server]__cbd8062c._.js +1 -1
  89. package/web/.next/server/chunks/ssr/[root-of-the-server]__cbd8062c._.js.map +1 -1
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__e70c5627._.js +1 -1
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__e70c5627._.js.map +1 -1
  92. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  93. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  95. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  96. package/web/.next/server/chunks/ssr/{_09d4fb32._.js → _89ca7b11._.js} +2 -2
  97. package/web/.next/server/chunks/ssr/{_09d4fb32._.js.map → _89ca7b11._.js.map} +1 -1
  98. package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
  99. package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
  100. package/web/.next/server/chunks/ssr/{_a4557a13._.js → _964fde4f._.js} +2 -2
  101. package/web/.next/server/chunks/ssr/{_a4557a13._.js.map → _964fde4f._.js.map} +1 -1
  102. package/web/.next/server/chunks/ssr/{_22bc0323._.js → _9b69f7eb._.js} +2 -2
  103. package/web/.next/server/chunks/ssr/{_22bc0323._.js.map → _9b69f7eb._.js.map} +1 -1
  104. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  105. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  107. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_888633e1.js +1 -1
  109. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_888633e1.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  111. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  112. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  113. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  114. package/web/.next/server/chunks/ssr/src_presentation_web_ce7cbc3c._.js +2 -2
  115. package/web/.next/server/chunks/ssr/src_presentation_web_ce7cbc3c._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  117. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  119. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js.map +1 -1
  120. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  121. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/src_presentation_web_e2604413._.js +2 -2
  123. package/web/.next/server/chunks/ssr/src_presentation_web_e2604413._.js.map +1 -1
  124. package/web/.next/server/pages/500.html +2 -2
  125. package/web/.next/server/server-reference-manifest.js +1 -1
  126. package/web/.next/server/server-reference-manifest.json +31 -31
  127. package/web/.next/static/chunks/{69dfa9542ae36ebb.js → 1ccd220d2965e1ae.js} +1 -1
  128. package/web/.next/static/chunks/{90f9341aecef9b35.js → 364b7d1a1fab7225.js} +1 -1
  129. package/web/.next/static/chunks/{e70934a28d1384c7.js → 57e9c292cf8794f6.js} +1 -1
  130. package/web/.next/static/chunks/{c4dca3d63fdd7c34.js → 6a6b2d3ece1ec56c.js} +1 -1
  131. package/web/.next/static/chunks/{796367e064593de5.js → 714b32c61d44bc38.js} +1 -1
  132. package/web/.next/static/chunks/{d6d633b3c74f8146.js → 863d291348316eb2.js} +1 -1
  133. package/web/.next/static/chunks/{1a026082dc73cec8.js → 88713365233058c7.js} +2 -2
  134. package/web/.next/static/chunks/{1fe3a578584e4538.js → c9092a153ce132ca.js} +2 -2
  135. package/web/.next/static/chunks/{3b9e0c267c5a77ca.js → d85ceb56d0dcc2e0.js} +1 -1
  136. package/web/.next/static/chunks/{1840b1a34127ea89.js → e1329b21c551c6a3.js} +1 -1
  137. /package/web/.next/static/{F8smp8_OtqQkdbNyMdZHl → 6_jMMSHd9S51AIOqtPNZV}/_buildManifest.js +0 -0
  138. /package/web/.next/static/{F8smp8_OtqQkdbNyMdZHl → 6_jMMSHd9S51AIOqtPNZV}/_clientMiddlewareManifest.json +0 -0
  139. /package/web/.next/static/{F8smp8_OtqQkdbNyMdZHl → 6_jMMSHd9S51AIOqtPNZV}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"approve-agent-run.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/agents/approve-agent-run.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAE1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,qBACa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBANrB,kBAAkB,EAAE,mBAAmB,EAEvC,cAAc,EAAE,2BAA2B,EAE3C,iBAAiB,EAAE,kBAAkB,EAErC,qBAAqB,EAAE,sBAAsB;IAG1D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAgGlD"}
1
+ {"version":3,"file":"approve-agent-run.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/agents/approve-agent-run.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAE1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,qBACa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBANrB,kBAAkB,EAAE,mBAAmB,EAEvC,cAAc,EAAE,2BAA2B,EAE3C,iBAAiB,EAAE,kBAAkB,EAErC,qBAAqB,EAAE,sBAAsB;IAG1D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CA+FlD"}
@@ -109,7 +109,6 @@ let ApproveAgentRunUseCase = class ApproveAgentRunUseCase {
109
109
  ...(payload ? { resumePayload: JSON.stringify(payload) } : {}),
110
110
  agentType: run.agentType,
111
111
  ...(run.modelId ? { model: run.modelId } : {}),
112
- ...(feature?.fast ? { fast: true } : {}),
113
112
  });
114
113
  return { approved: true, reason: 'Approved and resumed' };
115
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reject-agent-run.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/agents/reject-agent-run.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAU1G,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBANrB,kBAAkB,EAAE,mBAAmB,EAEvC,cAAc,EAAE,2BAA2B,EAE3C,iBAAiB,EAAE,kBAAkB,EAErC,qBAAqB,EAAE,sBAAsB;IAG1D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC;QACT,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CAsHH"}
1
+ {"version":3,"file":"reject-agent-run.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/agents/reject-agent-run.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAU1G,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBANrB,kBAAkB,EAAE,mBAAmB,EAEvC,cAAc,EAAE,2BAA2B,EAE3C,iBAAiB,EAAE,kBAAkB,EAErC,qBAAqB,EAAE,sBAAsB;IAG1D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC;QACT,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CAqHH"}
@@ -123,7 +123,6 @@ let RejectAgentRunUseCase = class RejectAgentRunUseCase {
123
123
  push: feature?.push ?? false,
124
124
  openPr: feature?.openPr ?? false,
125
125
  resumePayload: JSON.stringify(rejectionPayload),
126
- ...(feature.fast ? { fast: true } : {}),
127
126
  });
128
127
  return {
129
128
  rejected: true,
@@ -27,6 +27,12 @@ export declare class SQLiteMigrationStorage implements UmzugStorage<Database.Dat
27
27
  * PRAGMA user_version tracking and seeds the umzug_migrations table accordingly.
28
28
  */
29
29
  constructor(db: Database.Database, legacyMigrationNames?: string[]);
30
+ /**
31
+ * Mapping of legacy migration names to the tables they create.
32
+ * Used by verifyBootstrappedMigrations to detect migrations that were
33
+ * marked as executed by the bootstrap seeder but never actually ran.
34
+ */
35
+ private static readonly MIGRATION_TABLE_MAP;
30
36
  /**
31
37
  * Returns the names of all executed migrations, sorted lexicographically.
32
38
  */
@@ -55,5 +61,12 @@ export declare class SQLiteMigrationStorage implements UmzugStorage<Database.Dat
55
61
  * user_version using the provided legacy migration names.
56
62
  */
57
63
  private bootstrapLegacyMigrations;
64
+ /**
65
+ * Checks that each bootstrapped migration's expected table actually exists.
66
+ * Only checks migrations that were seeded (present in seededNames).
67
+ * If a table is missing, removes the migration record from umzug_migrations
68
+ * so that umzug will re-run it on the next up() call.
69
+ */
70
+ private verifyBootstrappedMigrations;
58
71
  }
59
72
  //# sourceMappingURL=sqlite-migration-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-migration-storage.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/persistence/sqlite/sqlite-migration-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE3D;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IAEvC;;;;;;OAMG;gBACS,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE;IAQlE;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO7F;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7E;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;CA+BlC"}
1
+ {"version":3,"file":"sqlite-migration-storage.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/persistence/sqlite/sqlite-migration-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE3D;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IAEvC;;;;;;OAMG;gBACS,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE;IAQlE;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAOzC;IAEF;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO7F;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7E;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAuCjC;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;CAiBrC"}
@@ -31,6 +31,19 @@ export class SQLiteMigrationStorage {
31
31
  this.bootstrapLegacyMigrations(legacyMigrationNames);
32
32
  }
33
33
  }
34
+ /**
35
+ * Mapping of legacy migration names to the tables they create.
36
+ * Used by verifyBootstrappedMigrations to detect migrations that were
37
+ * marked as executed by the bootstrap seeder but never actually ran.
38
+ */
39
+ static MIGRATION_TABLE_MAP = {
40
+ '001-create-settings-table': 'settings',
41
+ '003-create-agent-runs': 'agent_runs',
42
+ '004-create-features': 'features',
43
+ '008-add-approval-gates-and-phase-timings': 'phase_timings',
44
+ '015-create-repositories-and-backfill': 'repositories',
45
+ '033-create-pr-sync-lock': 'pr_sync_lock',
46
+ };
34
47
  /**
35
48
  * Returns the names of all executed migrations, sorted lexicographically.
36
49
  */
@@ -94,5 +107,29 @@ export class SQLiteMigrationStorage {
94
107
  }
95
108
  });
96
109
  seedAll();
110
+ // After seeding, verify that expected schema artifacts actually exist.
111
+ // If a migration was inserted into the legacy list after the DB was already
112
+ // at a higher user_version, its DDL never ran but the seeder marked it done.
113
+ const seededCount = Math.min(userVersion, legacyMigrationNames.length);
114
+ const seededNames = legacyMigrationNames.slice(0, seededCount);
115
+ this.verifyBootstrappedMigrations(seededNames);
116
+ }
117
+ /**
118
+ * Checks that each bootstrapped migration's expected table actually exists.
119
+ * Only checks migrations that were seeded (present in seededNames).
120
+ * If a table is missing, removes the migration record from umzug_migrations
121
+ * so that umzug will re-run it on the next up() call.
122
+ */
123
+ verifyBootstrappedMigrations(seededNames) {
124
+ const seededSet = new Set(seededNames);
125
+ const tableCheck = this.db.prepare("SELECT COUNT(*) as count FROM sqlite_master WHERE type='table' AND name=?");
126
+ for (const [migrationName, tableName] of Object.entries(SQLiteMigrationStorage.MIGRATION_TABLE_MAP)) {
127
+ if (!seededSet.has(migrationName))
128
+ continue;
129
+ const result = tableCheck.get(tableName);
130
+ if (result.count === 0) {
131
+ this.db.prepare('DELETE FROM umzug_migrations WHERE name = ?').run(migrationName);
132
+ }
133
+ }
97
134
  }
98
135
  }
@@ -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;AAe1B,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAW9E,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,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,CAwE1D;AAgCD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgQ/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;AAe1B,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAW9E,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,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,CAwE1D;AAgCD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA0P/D"}
@@ -294,13 +294,8 @@ export async function runWorker(args) {
294
294
  const interruptPayload = result.__interrupt__;
295
295
  if (interruptPayload && interruptPayload.length > 0) {
296
296
  const now = new Date();
297
- // Extract the node name from the interrupt payload so the rejection
298
- // use case can tag feedback with the correct phase (e.g. "merge").
299
- const interruptValue = interruptPayload[0]?.value;
300
- const interruptNode = typeof interruptValue?.node === 'string' ? interruptValue.node : undefined;
301
297
  await runRepository.updateStatus(args.runId, AgentRunStatus.waitingApproval, {
302
298
  updatedAt: now,
303
- ...(interruptNode ? { result: `node:${interruptNode}` } : {}),
304
299
  });
305
300
  log('Run paused — waiting for human approval');
306
301
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"merge.node.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yEAAyE,CAAC;AAClH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACd,MAAM,iEAAiE,CAAC;AAkBzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uEAAuE,CAAC;AAE3H,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1E,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;IACnE;;;OAGG;IACH,WAAW,EAAE,CACX,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,YAAY,EAAE,aAAa,CAAC;IAC5B,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;CAC/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,IAGnC,OAAO,iBAAiB,KAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CA6S7E"}
1
+ {"version":3,"file":"merge.node.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yEAAyE,CAAC;AAClH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACd,MAAM,iEAAiE,CAAC;AAkBzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uEAAuE,CAAC;AAE3H,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1E,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;IACnE;;;OAGG;IACH,WAAW,EAAE,CACX,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,YAAY,EAAE,aAAa,CAAC;IAC5B,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;CAC/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,IAGnC,OAAO,iBAAiB,KAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CA4S7E"}
@@ -58,7 +58,6 @@ export function createMergeNode(deps) {
58
58
  return {
59
59
  currentNode: 'merge',
60
60
  messages: [`[merge] Rejected — will re-execute`],
61
- error: null,
62
61
  _approvalAction: null,
63
62
  _rejectionFeedback: null,
64
63
  _needsReexecution: true,
@@ -1 +1 @@
1
- {"version":3,"file":"fast-implement.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAwIxD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAoEzE"}
1
+ {"version":3,"file":"fast-implement.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA+FxD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAiEzE"}
@@ -105,44 +105,6 @@ function extractUserQuery(specDir) {
105
105
  }
106
106
  return specContent;
107
107
  }
108
- /**
109
- * Extract rejection feedback from spec.yaml for merge-phase rejections.
110
- * Returns a formatted prompt section if feedback exists, empty string otherwise.
111
- */
112
- function getRejectionFeedback(specDir) {
113
- try {
114
- const specContent = readSpecFile(specDir, 'spec.yaml');
115
- if (!specContent)
116
- return '';
117
- const specData = yaml.load(specContent);
118
- const rejectionFeedback = specData?.rejectionFeedback;
119
- if (rejectionFeedback && rejectionFeedback.length > 0) {
120
- const mergeRejections = rejectionFeedback.filter((e) => e.phase === 'merge');
121
- if (mergeRejections.length > 0) {
122
- const latest = mergeRejections[mergeRejections.length - 1];
123
- const older = mergeRejections.slice(0, -1);
124
- const olderSection = older.length > 0
125
- ? `\n### Earlier feedback (for context only)\n${older.map((e) => `- Iteration ${e.iteration}: ${e.message}`).join('\n')}\n`
126
- : '';
127
- return `
128
- ## CRITICAL — User Rejection Feedback (MUST ADDRESS)
129
-
130
- **YOUR PRIMARY TASK: The user rejected the previous result and gave this feedback. You MUST act on it:**
131
-
132
- > ${latest.message}
133
-
134
- (Iteration ${latest.iteration}, ${latest.timestamp})
135
-
136
- Do NOT just record this feedback — you must actually make the changes the user requested.
137
- ${olderSection}`;
138
- }
139
- }
140
- }
141
- catch {
142
- // Continue without rejection feedback
143
- }
144
- return '';
145
- }
146
108
  /**
147
109
  * Build the fast-implement prompt from user query + codebase context.
148
110
  *
@@ -162,19 +124,17 @@ export function buildFastImplementPrompt(state) {
162
124
  const claudeMd = readWorktreeFile(cwd, 'CLAUDE.md');
163
125
  const packageJson = readWorktreeFile(cwd, 'package.json');
164
126
  const dirListing = buildDirectoryListing(cwd);
165
- // Check for rejection feedback from prior merge rejection
166
- const rejectionSection = getRejectionFeedback(state.specDir);
167
127
  // Build sections conditionally
168
128
  const sections = [];
169
129
  sections.push(`You are a senior software engineer implementing a change directly from a user request.
170
- ${rejectionSection}
130
+
171
131
  ## User Request
172
132
 
173
133
  ${userQuery}
174
134
 
175
135
  ## Implementation Instructions
176
136
 
177
- 1. ${rejectionSection ? 'Address the rejection feedback above by modifying the existing implementation' : 'Implement the requested changes in the codebase'}
137
+ 1. Implement the requested changes in the codebase
178
138
  2. Write tests for your changes where appropriate
179
139
  3. Run the test suite and fix any failures
180
140
  4. Run the linter and fix any issues