@shepai/cli 1.170.0-pr513.cff27cb → 1.171.0-pr527.e2ee839

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 (588) hide show
  1. package/apis/json-schema/ActionDispositionEntry.yaml +14 -0
  2. package/apis/json-schema/DependencyFinding.yaml +28 -0
  3. package/apis/json-schema/DependencyRiskType.yaml +11 -0
  4. package/apis/json-schema/DependencyRules.yaml +38 -0
  5. package/apis/json-schema/EffectivePolicySnapshot.yaml +24 -0
  6. package/apis/json-schema/Feature.yaml +5 -17
  7. package/apis/json-schema/ReleaseIntegrityCheck.yaml +22 -0
  8. package/apis/json-schema/ReleaseIntegrityCheckType.yaml +9 -0
  9. package/apis/json-schema/ReleaseIntegrityResult.yaml +16 -0
  10. package/apis/json-schema/ReleaseRules.yaml +21 -0
  11. package/apis/json-schema/SdlcLifecycle.yaml +0 -1
  12. package/apis/json-schema/SecurityActionCategory.yaml +10 -0
  13. package/apis/json-schema/SecurityActionDisposition.yaml +8 -0
  14. package/apis/json-schema/SecurityConfig.yaml +17 -0
  15. package/apis/json-schema/SecurityEvent.yaml +36 -0
  16. package/apis/json-schema/SecurityMode.yaml +8 -0
  17. package/apis/json-schema/SecurityPolicy.yaml +24 -0
  18. package/apis/json-schema/SecuritySeverity.yaml +9 -0
  19. package/apis/json-schema/Settings.yaml +3 -0
  20. package/apis/json-schema/WorkflowConfig.yaml +5 -10
  21. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +15 -1
  22. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts.map +1 -1
  23. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +4 -2
  24. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
  25. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts +76 -0
  26. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts.map +1 -0
  27. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.js +11 -0
  28. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +38 -0
  29. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
  30. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +9 -0
  31. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts +77 -0
  32. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts.map +1 -0
  33. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.js +13 -0
  34. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +14 -4
  35. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts.map +1 -1
  36. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  37. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +4 -2
  38. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
  39. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +4 -2
  40. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -1
  41. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +2 -3
  42. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.d.ts.map +1 -1
  43. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.js +4 -2
  44. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  45. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +8 -18
  46. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -3
  47. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  48. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts.map +1 -1
  49. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +0 -13
  50. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  51. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +4 -2
  52. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
  53. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +5 -5
  54. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts +71 -0
  55. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts.map +1 -0
  56. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.js +215 -0
  57. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts +24 -0
  58. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts.map +1 -0
  59. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.js +56 -0
  60. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts +36 -0
  61. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts.map +1 -0
  62. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.js +76 -0
  63. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts +14 -0
  64. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts.map +1 -0
  65. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.js +46 -0
  66. package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.d.ts +1 -0
  67. package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.d.ts.map +1 -1
  68. package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.js +59 -2
  69. package/dist/packages/core/src/domain/errors/security-violation.error.d.ts +15 -0
  70. package/dist/packages/core/src/domain/errors/security-violation.error.d.ts.map +1 -0
  71. package/dist/packages/core/src/domain/errors/security-violation.error.js +20 -0
  72. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  73. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +6 -3
  74. package/dist/packages/core/src/domain/generated/output.d.ts +263 -22
  75. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  76. package/dist/packages/core/src/domain/generated/output.js +43 -7
  77. package/dist/packages/core/src/domain/lifecycle-gates.d.ts +6 -21
  78. package/dist/packages/core/src/domain/lifecycle-gates.d.ts.map +1 -1
  79. package/dist/packages/core/src/domain/lifecycle-gates.js +6 -25
  80. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  81. package/dist/packages/core/src/infrastructure/di/container.js +57 -5
  82. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -3
  83. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  84. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +4 -10
  85. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts +44 -0
  86. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts.map +1 -0
  87. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.js +55 -0
  88. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +4 -2
  89. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  90. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +16 -7
  91. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts +18 -0
  92. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts.map +1 -0
  93. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.js +31 -0
  94. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts +29 -0
  95. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts.map +1 -0
  96. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.js +53 -0
  97. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  98. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +3 -5
  99. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts +24 -0
  100. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts.map +1 -0
  101. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.js +96 -0
  102. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  103. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +15 -6
  104. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts +2 -0
  105. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  106. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +12 -0
  107. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts +22 -0
  108. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts.map +1 -0
  109. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.js +30 -0
  110. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +10 -20
  111. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  112. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +34 -68
  113. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  114. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +4 -2
  115. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
  116. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +9 -3
  117. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +4 -2
  118. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  119. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +39 -19
  120. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/lifecycle-context.d.ts.map +1 -1
  121. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/lifecycle-context.js +0 -1
  122. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  123. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +19 -1
  124. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts +45 -0
  125. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts.map +1 -0
  126. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.js +70 -0
  127. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +4 -5
  128. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  129. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +6 -13
  130. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +10 -1
  131. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
  132. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +101 -1
  133. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts +53 -0
  134. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts.map +1 -0
  135. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.js +241 -0
  136. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts +44 -0
  137. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts.map +1 -0
  138. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.js +194 -0
  139. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts +28 -0
  140. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts.map +1 -0
  141. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.js +50 -0
  142. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts +26 -0
  143. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts.map +1 -0
  144. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.js +147 -0
  145. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts +44 -0
  146. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts.map +1 -0
  147. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.js +174 -0
  148. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +2 -1
  149. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts.map +1 -1
  150. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.js +65 -7
  151. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  152. package/dist/src/presentation/cli/commands/feat/index.js +1 -5
  153. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  154. package/dist/src/presentation/cli/commands/feat/new.command.js +5 -18
  155. package/dist/src/presentation/cli/commands/security.command.d.ts +16 -0
  156. package/dist/src/presentation/cli/commands/security.command.d.ts.map +1 -0
  157. package/dist/src/presentation/cli/commands/security.command.js +118 -0
  158. package/dist/src/presentation/cli/commands/upgrade.command.d.ts.map +1 -1
  159. package/dist/src/presentation/cli/commands/upgrade.command.js +68 -3
  160. package/dist/src/presentation/cli/index.js +2 -0
  161. package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -3
  162. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  163. package/dist/src/presentation/web/app/actions/create-feature.js +3 -3
  164. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +1 -2
  165. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts.map +1 -1
  166. package/dist/src/presentation/web/app/actions/get-workflow-defaults.js +1 -2
  167. package/dist/src/presentation/web/app/actions/security.d.ts +28 -0
  168. package/dist/src/presentation/web/app/actions/security.d.ts.map +1 -0
  169. package/dist/src/presentation/web/app/actions/security.js +59 -0
  170. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  171. package/dist/src/presentation/web/app/api/agent-events/route.js +0 -1
  172. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
  173. package/dist/src/presentation/web/app/build-feature-node-data.js +2 -4
  174. package/dist/src/presentation/web/app/build-graph-nodes.d.ts +3 -1
  175. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  176. package/dist/src/presentation/web/app/build-graph-nodes.js +4 -4
  177. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +1 -1
  178. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  179. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +0 -3
  180. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  181. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +1 -65
  182. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -3
  183. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  184. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +11 -15
  185. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  186. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -2
  187. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +1 -6
  188. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  189. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +4 -16
  190. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  191. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -2
  192. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +4 -6
  193. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  194. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +0 -12
  195. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  196. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +3 -7
  197. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts +3 -1
  198. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -1
  199. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +3 -2
  200. package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts +6 -0
  201. package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts.map +1 -0
  202. package/dist/src/presentation/web/components/common/repository-node/security-panel.js +29 -0
  203. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts +10 -0
  204. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts.map +1 -0
  205. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.js +53 -0
  206. package/dist/src/presentation/web/components/common/security-badge.d.ts +7 -0
  207. package/dist/src/presentation/web/components/common/security-badge.d.ts.map +1 -0
  208. package/dist/src/presentation/web/components/common/security-badge.js +30 -0
  209. package/dist/src/presentation/web/components/common/security-badge.stories.d.ts +12 -0
  210. package/dist/src/presentation/web/components/common/security-badge.stories.d.ts.map +1 -0
  211. package/dist/src/presentation/web/components/common/security-badge.stories.js +20 -0
  212. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  213. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +22 -9
  214. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts +6 -0
  215. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts.map +1 -0
  216. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.js +60 -0
  217. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts +14 -0
  218. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts.map +1 -0
  219. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.js +116 -0
  220. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +3 -3
  221. package/dist/translations/ar/cli.json +22 -24
  222. package/dist/translations/ar/web.json +45 -7
  223. package/dist/translations/de/cli.json +22 -24
  224. package/dist/translations/de/web.json +45 -7
  225. package/dist/translations/en/cli.json +22 -24
  226. package/dist/translations/en/web.json +45 -7
  227. package/dist/translations/es/cli.json +22 -24
  228. package/dist/translations/es/web.json +45 -7
  229. package/dist/translations/fr/cli.json +22 -24
  230. package/dist/translations/fr/web.json +45 -7
  231. package/dist/translations/he/cli.json +22 -24
  232. package/dist/translations/he/web.json +45 -7
  233. package/dist/translations/pt/cli.json +22 -24
  234. package/dist/translations/pt/web.json +45 -7
  235. package/dist/translations/ru/cli.json +22 -24
  236. package/dist/translations/ru/web.json +45 -7
  237. package/dist/tsconfig.build.tsbuildinfo +1 -1
  238. package/package.json +1 -1
  239. package/web/.next/BUILD_ID +1 -1
  240. package/web/.next/build-manifest.json +2 -2
  241. package/web/.next/fallback-build-manifest.json +2 -2
  242. package/web/.next/prerender-manifest.json +3 -3
  243. package/web/.next/required-server-files.js +2 -2
  244. package/web/.next/required-server-files.json +2 -2
  245. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  246. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -1
  247. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  248. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  249. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  250. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +2 -1
  251. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  252. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  253. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  254. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -1
  255. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  256. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  257. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +76 -121
  258. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  259. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  260. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  261. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +76 -121
  262. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  263. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  264. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  265. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  266. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +2 -1
  267. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  268. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  269. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  270. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -1
  271. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  272. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  273. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  274. package/web/.next/server/app/(dashboard)/chat/page.js +2 -1
  275. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  276. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  277. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  278. package/web/.next/server/app/(dashboard)/create/page.js +2 -1
  279. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  280. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  281. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +76 -121
  282. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  283. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  284. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  285. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +76 -121
  286. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  287. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  288. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  289. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  290. package/web/.next/server/app/(dashboard)/page.js +2 -1
  291. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  292. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  293. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  294. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +2 -1
  295. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  296. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  297. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  298. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -1
  299. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  300. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  301. package/web/.next/server/app/_global-error.html +2 -2
  302. package/web/.next/server/app/_global-error.rsc +1 -1
  303. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  304. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  305. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  306. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  307. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  308. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  309. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  310. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  311. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  312. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  313. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  314. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  315. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  316. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  317. package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
  318. package/web/.next/server/app/features/page.js.nft.json +1 -1
  319. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  320. package/web/.next/server/app/settings/page/server-reference-manifest.json +33 -18
  321. package/web/.next/server/app/settings/page.js +1 -1
  322. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  323. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  324. package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
  325. package/web/.next/server/app/skills/page.js +2 -1
  326. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  327. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  328. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  329. package/web/.next/server/app/tools/page.js +2 -1
  330. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  331. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  332. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  333. package/web/.next/server/app/version/page.js.nft.json +1 -1
  334. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  335. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  336. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  337. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +1 -1
  338. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  339. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  340. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +1 -1
  341. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
  342. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  343. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  344. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +3 -0
  345. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +1 -0
  346. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +3 -0
  347. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +1 -0
  348. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +3 -0
  349. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +1 -0
  350. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  351. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  352. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
  353. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  354. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  355. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  356. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  357. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ed9b909._.js +1 -1
  358. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js +3 -0
  359. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +1 -0
  360. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +4 -0
  361. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js.map +1 -0
  362. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +3 -0
  363. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +1 -0
  364. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js +1 -1
  365. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js.map +1 -1
  366. package/web/.next/server/chunks/ssr/[root-of-the-server]__69dd3217._.js +1 -1
  367. package/web/.next/server/chunks/ssr/[root-of-the-server]__69dd3217._.js.map +1 -1
  368. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
  369. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
  370. package/web/.next/server/chunks/ssr/[root-of-the-server]__9a9cb046._.js +3 -0
  371. package/web/.next/server/chunks/ssr/[root-of-the-server]__9a9cb046._.js.map +1 -0
  372. package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js +4 -0
  373. package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js.map +1 -0
  374. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +3 -0
  375. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +1 -0
  376. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +3 -0
  377. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +1 -0
  378. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  379. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  380. package/web/.next/server/chunks/ssr/[root-of-the-server]__c1262d08._.js +1 -1
  381. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js +1 -1
  382. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js.map +1 -1
  383. package/web/.next/server/chunks/ssr/_02580450._.js +3 -0
  384. package/web/.next/server/chunks/ssr/_02580450._.js.map +1 -0
  385. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  386. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  387. package/web/.next/server/chunks/ssr/_1594e369._.js +9 -0
  388. package/web/.next/server/chunks/ssr/_1594e369._.js.map +1 -0
  389. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  390. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  391. package/web/.next/server/chunks/ssr/_21d37090._.js +3 -0
  392. package/web/.next/server/chunks/ssr/_21d37090._.js.map +1 -0
  393. package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
  394. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  395. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
  396. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
  397. package/web/.next/server/chunks/ssr/_5119a3df._.js +1 -1
  398. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
  399. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  400. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  401. package/web/.next/server/chunks/ssr/{_0fd635d7._.js → _767748d2._.js} +2 -2
  402. package/web/.next/server/chunks/ssr/_767748d2._.js.map +1 -0
  403. package/web/.next/server/chunks/ssr/_df737cce._.js +1 -1
  404. package/web/.next/server/chunks/ssr/{_34d897da._.js → _ee42a212._.js} +2 -2
  405. package/web/.next/server/chunks/ssr/{_34d897da._.js.map → _ee42a212._.js.map} +1 -1
  406. package/web/.next/server/chunks/ssr/_f8c55130._.js +4 -0
  407. package/web/.next/server/chunks/ssr/_f8c55130._.js.map +1 -0
  408. package/web/.next/server/chunks/ssr/_ff04802c._.js +3 -0
  409. package/web/.next/server/chunks/ssr/_ff04802c._.js.map +1 -0
  410. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  411. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  412. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  413. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  414. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js +3 -0
  415. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +1 -0
  416. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +5 -0
  417. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +1 -0
  418. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +5 -0
  419. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +1 -0
  420. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +3 -0
  421. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +1 -0
  422. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +3 -0
  423. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +1 -0
  424. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +3 -0
  425. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -0
  426. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +3 -0
  427. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +1 -0
  428. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  429. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  430. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  431. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  432. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  433. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  434. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  435. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  436. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  437. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  438. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  439. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +3 -0
  440. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +1 -0
  441. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +3 -0
  442. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js.map +1 -0
  443. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  444. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  445. package/web/.next/server/pages/500.html +2 -2
  446. package/web/.next/server/server-reference-manifest.js +1 -1
  447. package/web/.next/server/server-reference-manifest.json +226 -319
  448. package/web/.next/static/chunks/051873309d87fb45.css +1 -0
  449. package/web/.next/static/chunks/{52681a7f14138e48.js → 16fa4d3877c28fe2.js} +1 -1
  450. package/web/.next/static/chunks/23d80bb760e7dc4c.js +1 -0
  451. package/web/.next/static/chunks/30a0ba9015f94405.js +7 -0
  452. package/web/.next/static/chunks/{0f30a983f3467cd5.js → 39f6ad3f9005703a.js} +1 -1
  453. package/web/.next/static/chunks/3aba9d2242420cb5.js +1 -0
  454. package/web/.next/static/chunks/{d5bf9c963b5346e1.js → 7a6f56f37aaa17ea.js} +1 -1
  455. package/web/.next/static/chunks/{09a25231e5fc1ab8.js → 7e05e7e25220ee9a.js} +1 -1
  456. package/web/.next/static/chunks/{4219ddfde68a6d0b.js → 89dd90bf14488ec0.js} +1 -1
  457. package/web/.next/static/chunks/{e93ae5725b0babeb.js → 9374d251360e808b.js} +1 -1
  458. package/web/.next/static/chunks/{fc595d95626ac9bb.js → 9423dc2310202fda.js} +1 -1
  459. package/web/.next/static/chunks/a794cf7a1a5648dd.js +1 -0
  460. package/web/.next/static/chunks/{37f9543560c58ea6.js → a8edb9423086e83f.js} +1 -1
  461. package/web/.next/static/chunks/ae81796726a9bba3.js +1 -0
  462. package/web/.next/static/chunks/{9a78b4c5dcd28196.js → b9c62932ed987239.js} +2 -2
  463. package/web/.next/static/chunks/{478adf5d5156f002.js → d1c3e0ee8e788c87.js} +1 -1
  464. package/web/.next/static/chunks/e8c3c12f92e9a521.js +5 -0
  465. package/web/.next/static/chunks/f3d5e0ae13def35a.js +1 -0
  466. package/web/.next/static/chunks/{2a9af061f4fbe7f5.js → fb8dadb64c0ffc6b.js} +1 -1
  467. package/web/.next/static/chunks/fd232b88b5b50b2e.js +1 -0
  468. package/apis/json-schema/FeatureMode.yaml +0 -8
  469. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.d.ts +0 -40
  470. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.d.ts.map +0 -1
  471. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.js +0 -125
  472. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.d.ts +0 -19
  473. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.d.ts.map +0 -1
  474. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.js +0 -46
  475. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.d.ts +0 -17
  476. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.d.ts.map +0 -1
  477. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.js +0 -37
  478. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.d.ts +0 -12
  479. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.d.ts.map +0 -1
  480. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.js +0 -17
  481. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.d.ts +0 -362
  482. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.d.ts.map +0 -1
  483. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.js +0 -72
  484. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.d.ts +0 -18
  485. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.d.ts.map +0 -1
  486. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.js +0 -52
  487. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.d.ts +0 -24
  488. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.d.ts.map +0 -1
  489. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.js +0 -38
  490. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.d.ts +0 -31
  491. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.d.ts.map +0 -1
  492. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.js +0 -240
  493. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.d.ts +0 -21
  494. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.d.ts.map +0 -1
  495. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.js +0 -134
  496. package/dist/src/presentation/cli/commands/feat/feedback.command.d.ts +0 -12
  497. package/dist/src/presentation/cli/commands/feat/feedback.command.d.ts.map +0 -1
  498. package/dist/src/presentation/cli/commands/feat/feedback.command.js +0 -64
  499. package/dist/src/presentation/cli/commands/feat/promote.command.d.ts +0 -13
  500. package/dist/src/presentation/cli/commands/feat/promote.command.d.ts.map +0 -1
  501. package/dist/src/presentation/cli/commands/feat/promote.command.js +0 -41
  502. package/dist/src/presentation/web/app/actions/discard-exploration.d.ts +0 -9
  503. package/dist/src/presentation/web/app/actions/discard-exploration.d.ts.map +0 -1
  504. package/dist/src/presentation/web/app/actions/discard-exploration.js +0 -29
  505. package/dist/src/presentation/web/app/actions/promote-exploration.d.ts +0 -11
  506. package/dist/src/presentation/web/app/actions/promote-exploration.d.ts.map +0 -1
  507. package/dist/src/presentation/web/app/actions/promote-exploration.js +0 -21
  508. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.d.ts +0 -12
  509. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.d.ts.map +0 -1
  510. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.js +0 -40
  511. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.d.ts +0 -8
  512. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.d.ts.map +0 -1
  513. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.js +0 -33
  514. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.d.ts +0 -10
  515. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.d.ts.map +0 -1
  516. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.js +0 -33
  517. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.d.ts +0 -11
  518. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.d.ts.map +0 -1
  519. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.js +0 -34
  520. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.d.ts +0 -16
  521. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.d.ts.map +0 -1
  522. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.js +0 -70
  523. package/dist/src/presentation/web/components/ui/toggle-group.d.ts +0 -10
  524. package/dist/src/presentation/web/components/ui/toggle-group.d.ts.map +0 -1
  525. package/dist/src/presentation/web/components/ui/toggle-group.js +0 -22
  526. package/dist/src/presentation/web/components/ui/toggle.d.ts +0 -10
  527. package/dist/src/presentation/web/components/ui/toggle.d.ts.map +0 -1
  528. package/dist/src/presentation/web/components/ui/toggle.js +0 -26
  529. package/web/.next/server/chunks/ssr/[root-of-the-server]__03c66352._.js +0 -4
  530. package/web/.next/server/chunks/ssr/[root-of-the-server]__03c66352._.js.map +0 -1
  531. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +0 -4
  532. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +0 -1
  533. package/web/.next/server/chunks/ssr/[root-of-the-server]__403afc23._.js +0 -4
  534. package/web/.next/server/chunks/ssr/[root-of-the-server]__403afc23._.js.map +0 -1
  535. package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js +0 -4
  536. package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js.map +0 -1
  537. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +0 -4
  538. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +0 -1
  539. package/web/.next/server/chunks/ssr/[root-of-the-server]__df550e85._.js +0 -3
  540. package/web/.next/server/chunks/ssr/[root-of-the-server]__df550e85._.js.map +0 -1
  541. package/web/.next/server/chunks/ssr/[root-of-the-server]__df5602bf._.js +0 -4
  542. package/web/.next/server/chunks/ssr/[root-of-the-server]__df5602bf._.js.map +0 -1
  543. package/web/.next/server/chunks/ssr/[root-of-the-server]__e9f4767a._.js +0 -4
  544. package/web/.next/server/chunks/ssr/[root-of-the-server]__e9f4767a._.js.map +0 -1
  545. package/web/.next/server/chunks/ssr/_02e01240._.js +0 -4
  546. package/web/.next/server/chunks/ssr/_02e01240._.js.map +0 -1
  547. package/web/.next/server/chunks/ssr/_0fd635d7._.js.map +0 -1
  548. package/web/.next/server/chunks/ssr/_18886033._.js +0 -4
  549. package/web/.next/server/chunks/ssr/_18886033._.js.map +0 -1
  550. package/web/.next/server/chunks/ssr/_22e00a14._.js +0 -4
  551. package/web/.next/server/chunks/ssr/_22e00a14._.js.map +0 -1
  552. package/web/.next/server/chunks/ssr/_30ddea9d._.js +0 -9
  553. package/web/.next/server/chunks/ssr/_30ddea9d._.js.map +0 -1
  554. package/web/.next/server/chunks/ssr/_43ba79e7._.js +0 -3
  555. package/web/.next/server/chunks/ssr/_43ba79e7._.js.map +0 -1
  556. package/web/.next/server/chunks/ssr/_6e79a2cc._.js +0 -3
  557. package/web/.next/server/chunks/ssr/_6e79a2cc._.js.map +0 -1
  558. package/web/.next/server/chunks/ssr/_a5a5901d._.js +0 -4
  559. package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +0 -1
  560. package/web/.next/server/chunks/ssr/_ad09f271._.js +0 -4
  561. package/web/.next/server/chunks/ssr/_ad09f271._.js.map +0 -1
  562. package/web/.next/server/chunks/ssr/_c3f595c6._.js +0 -4
  563. package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +0 -1
  564. package/web/.next/server/chunks/ssr/_cac4abe6._.js +0 -3
  565. package/web/.next/server/chunks/ssr/_cac4abe6._.js.map +0 -1
  566. package/web/.next/server/chunks/ssr/_ea9e1556._.js +0 -4
  567. package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +0 -1
  568. package/web/.next/server/chunks/ssr/_f1ba9be6._.js +0 -6
  569. package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +0 -1
  570. package/web/.next/server/chunks/ssr/_f33cd07e._.js +0 -6
  571. package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +0 -1
  572. package/web/.next/server/chunks/ssr/_f8b45233._.js +0 -4
  573. package/web/.next/server/chunks/ssr/_f8b45233._.js.map +0 -1
  574. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +0 -3
  575. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js.map +0 -1
  576. package/web/.next/static/chunks/0769c695d6b663c7.js +0 -1
  577. package/web/.next/static/chunks/2ceebcc839ee0d4b.js +0 -1
  578. package/web/.next/static/chunks/5743a9c1c63e5261.js +0 -5
  579. package/web/.next/static/chunks/5cf9745e2ef3837c.js +0 -1
  580. package/web/.next/static/chunks/5e20f692bbfcfb94.js +0 -7
  581. package/web/.next/static/chunks/8b0a9cb5109fe899.js +0 -1
  582. package/web/.next/static/chunks/c80e8e3d0cf5baa6.css +0 -1
  583. package/web/.next/static/chunks/d60cee2e7318f425.js +0 -1
  584. package/web/.next/static/chunks/da565c85277c2461.js +0 -1
  585. package/web/.next/static/chunks/fb89cf91c10b2e8b.js +0 -1
  586. /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → t6SUt71jyk_PYf152Imog}/_buildManifest.js +0 -0
  587. /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → t6SUt71jyk_PYf152Imog}/_clientMiddlewareManifest.json +0 -0
  588. /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → t6SUt71jyk_PYf152Imog}/_ssgManifest.js +0 -0
@@ -1,362 +0,0 @@
1
- /**
2
- * Exploration Agent Graph Factory
3
- *
4
- * Creates a LangGraph StateGraph for exploration/prototyping mode with
5
- * the topology:
6
- * START → prototype-generate → (interrupt for feedback)
7
- * → apply-feedback → prototype-generate (loop)
8
- * → END (on promote or discard)
9
- *
10
- * The graph uses the same FeatureAgentAnnotation state shape as the
11
- * full and fast graphs, enabling checkpointing, resume, and identical
12
- * worker lifecycle handling.
13
- *
14
- * Unlike the full SDLC graph which uses executeNode() with approval gates,
15
- * the exploration graph uses custom node functions with shared utilities
16
- * (retryExecute, createNodeLogger). The feedback loop is driven by
17
- * LangGraph interrupt/resume — the same mechanism used for approval gates.
18
- */
19
- import { type BaseCheckpointSaver } from '@langchain/langgraph';
20
- import type { IAgentExecutor } from '../../../../application/ports/output/agents/agent-executor.interface.js';
21
- import { type FeatureAgentState } from './state.js';
22
- export { FeatureAgentAnnotation, type FeatureAgentState } from './state.js';
23
- /**
24
- * Dependencies needed to build the exploration agent graph.
25
- * Intentionally minimal — exploration mode does not use merge nodes.
26
- */
27
- export interface ExplorationAgentGraphDeps {
28
- executor: IAgentExecutor;
29
- }
30
- /**
31
- * Routing function that determines the next node after prototype-generate
32
- * resumes from interrupt.
33
- *
34
- * The resume payload (set via Command({update})) controls the flow:
35
- * - _approvalAction === 'rejected' → apply-feedback (iterate with feedback)
36
- * - _approvalAction === 'approved' or any other → END (promote or discard)
37
- *
38
- * The 'rejected' action maps to the iterate flow because the existing
39
- * worker resume logic already sets _approvalAction='rejected' and
40
- * _rejectionFeedback=<text> for rejection payloads. For exploration,
41
- * "rejected" means "iterate with feedback" rather than "rejected for merge".
42
- */
43
- export declare function routeAfterPrototypeGenerate(state: FeatureAgentState): string;
44
- /**
45
- * Factory function that creates and compiles the exploration-mode agent graph.
46
- *
47
- * The graph defines a feedback loop:
48
- * START → prototype-generate → (interrupt) → route:
49
- * - iterate: → apply-feedback → prototype-generate (loop)
50
- * - promote/discard: → END
51
- *
52
- * @param depsOrExecutor - Graph dependencies or a legacy executor
53
- * @param checkpointer - Optional checkpoint saver for state persistence
54
- * @returns A compiled LangGraph ready to be invoked
55
- */
56
- export declare function createExplorationAgentGraph(depsOrExecutor: ExplorationAgentGraphDeps | IAgentExecutor, checkpointer?: BaseCheckpointSaver): import("@langchain/langgraph").CompiledStateGraph<{
57
- featureId: string;
58
- repositoryPath: string;
59
- specDir: string;
60
- worktreePath: string;
61
- currentNode: string;
62
- error: string | null;
63
- approvalGates: import("../../../../domain/index.js").ApprovalGates | undefined;
64
- model: string | undefined;
65
- messages: string[];
66
- validationRetries: number;
67
- lastValidationTarget: string;
68
- lastValidationErrors: string[];
69
- _approvalAction: string | null;
70
- _rejectionFeedback: string | null;
71
- _needsReexecution: boolean;
72
- prUrl: string | null;
73
- prNumber: number | null;
74
- commitHash: string | null;
75
- ciStatus: string | null;
76
- push: boolean;
77
- openPr: boolean;
78
- forkAndPr: boolean;
79
- commitSpecs: boolean;
80
- ciWatchEnabled: boolean;
81
- enableEvidence: boolean;
82
- commitEvidence: boolean;
83
- evidence: import("../../../../domain/index.js").Evidence[];
84
- evidenceRetries: number;
85
- resumeReason: string | undefined;
86
- ciFixAttempts: number;
87
- ciFixHistory: import("../../../../domain/index.js").CiFixRecord[];
88
- ciFixStatus: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted";
89
- iterationCount: number;
90
- maxIterations: number;
91
- feedbackHistory: string[];
92
- explorationStatus: "generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined;
93
- }, {
94
- featureId?: string | undefined;
95
- repositoryPath?: string | undefined;
96
- specDir?: string | undefined;
97
- worktreePath?: string | undefined;
98
- currentNode?: string | undefined;
99
- error?: string | null | undefined;
100
- approvalGates?: import("../../../../domain/index.js").ApprovalGates | undefined;
101
- model?: string | undefined;
102
- messages?: string[] | undefined;
103
- validationRetries?: number | undefined;
104
- lastValidationTarget?: string | undefined;
105
- lastValidationErrors?: string[] | undefined;
106
- _approvalAction?: string | null | undefined;
107
- _rejectionFeedback?: string | null | undefined;
108
- _needsReexecution?: boolean | undefined;
109
- prUrl?: string | null | undefined;
110
- prNumber?: number | null | undefined;
111
- commitHash?: string | null | undefined;
112
- ciStatus?: string | null | undefined;
113
- push?: boolean | undefined;
114
- openPr?: boolean | undefined;
115
- forkAndPr?: boolean | undefined;
116
- commitSpecs?: boolean | undefined;
117
- ciWatchEnabled?: boolean | undefined;
118
- enableEvidence?: boolean | undefined;
119
- commitEvidence?: boolean | undefined;
120
- evidence?: import("../../../../domain/index.js").Evidence[] | undefined;
121
- evidenceRetries?: number | undefined;
122
- resumeReason?: string | undefined;
123
- ciFixAttempts?: number | undefined;
124
- ciFixHistory?: import("../../../../domain/index.js").CiFixRecord[] | undefined;
125
- ciFixStatus?: "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted" | undefined;
126
- iterationCount?: number | undefined;
127
- maxIterations?: number | undefined;
128
- feedbackHistory?: string[] | undefined;
129
- explorationStatus?: "generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined;
130
- }, "__start__" | "prototype-generate" | "apply-feedback", {
131
- featureId: {
132
- (): import("@langchain/langgraph").LastValue<string>;
133
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
134
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
135
- };
136
- repositoryPath: {
137
- (): import("@langchain/langgraph").LastValue<string>;
138
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
139
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
140
- };
141
- specDir: {
142
- (): import("@langchain/langgraph").LastValue<string>;
143
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
144
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
145
- };
146
- worktreePath: {
147
- (): import("@langchain/langgraph").LastValue<string>;
148
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
149
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
150
- };
151
- currentNode: {
152
- (): import("@langchain/langgraph").LastValue<string>;
153
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
154
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
155
- };
156
- error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
157
- approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
158
- model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
159
- messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
160
- validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
161
- lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
162
- lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
163
- _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
164
- _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
165
- _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
166
- prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
167
- prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
168
- commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
169
- ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
170
- push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
171
- openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
172
- forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
173
- commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
174
- ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
175
- enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
176
- commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
177
- evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
178
- evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
179
- resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
180
- ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
181
- ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
182
- ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
183
- iterationCount: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
184
- maxIterations: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
185
- feedbackHistory: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
186
- explorationStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined, "generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined>;
187
- }, {
188
- featureId: {
189
- (): import("@langchain/langgraph").LastValue<string>;
190
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
191
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
192
- };
193
- repositoryPath: {
194
- (): import("@langchain/langgraph").LastValue<string>;
195
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
196
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
197
- };
198
- specDir: {
199
- (): import("@langchain/langgraph").LastValue<string>;
200
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
201
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
202
- };
203
- worktreePath: {
204
- (): import("@langchain/langgraph").LastValue<string>;
205
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
206
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
207
- };
208
- currentNode: {
209
- (): import("@langchain/langgraph").LastValue<string>;
210
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
211
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
212
- };
213
- error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
214
- approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
215
- model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
216
- messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
217
- validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
218
- lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
219
- lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
220
- _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
221
- _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
222
- _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
223
- prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
224
- prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
225
- commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
226
- ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
227
- push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
228
- openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
229
- forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
230
- commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
231
- ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
232
- enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
233
- commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
234
- evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
235
- evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
236
- resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
237
- ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
238
- ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
239
- ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
240
- iterationCount: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
241
- maxIterations: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
242
- feedbackHistory: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
243
- explorationStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined, "generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined>;
244
- }, import("@langchain/langgraph").StateDefinition, {
245
- "prototype-generate": Partial<import("@langchain/langgraph").StateType<{
246
- featureId: {
247
- (): import("@langchain/langgraph").LastValue<string>;
248
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
249
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
250
- };
251
- repositoryPath: {
252
- (): import("@langchain/langgraph").LastValue<string>;
253
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
254
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
255
- };
256
- specDir: {
257
- (): import("@langchain/langgraph").LastValue<string>;
258
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
259
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
260
- };
261
- worktreePath: {
262
- (): import("@langchain/langgraph").LastValue<string>;
263
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
264
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
265
- };
266
- currentNode: {
267
- (): import("@langchain/langgraph").LastValue<string>;
268
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
269
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
270
- };
271
- error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
272
- approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
273
- model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
274
- messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
275
- validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
276
- lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
277
- lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
278
- _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
279
- _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
280
- _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
281
- prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
282
- prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
283
- commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
284
- ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
285
- push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
286
- openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
287
- forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
288
- commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
289
- ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
290
- enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
291
- commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
292
- evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
293
- evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
294
- resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
295
- ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
296
- ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
297
- ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
298
- iterationCount: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
299
- maxIterations: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
300
- feedbackHistory: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
301
- explorationStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined, "generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined>;
302
- }>>;
303
- "apply-feedback": Partial<import("@langchain/langgraph").StateType<{
304
- featureId: {
305
- (): import("@langchain/langgraph").LastValue<string>;
306
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
307
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
308
- };
309
- repositoryPath: {
310
- (): import("@langchain/langgraph").LastValue<string>;
311
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
312
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
313
- };
314
- specDir: {
315
- (): import("@langchain/langgraph").LastValue<string>;
316
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
317
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
318
- };
319
- worktreePath: {
320
- (): import("@langchain/langgraph").LastValue<string>;
321
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
322
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
323
- };
324
- currentNode: {
325
- (): import("@langchain/langgraph").LastValue<string>;
326
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
327
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
328
- };
329
- error: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
330
- approvalGates: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").ApprovalGates | undefined, import("../../../../domain/index.js").ApprovalGates | undefined>;
331
- model: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
332
- messages: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
333
- validationRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
334
- lastValidationTarget: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
335
- lastValidationErrors: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
336
- _approvalAction: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
337
- _rejectionFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
338
- _needsReexecution: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
339
- prUrl: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
340
- prNumber: import("@langchain/langgraph").BinaryOperatorAggregate<number | null, number | null>;
341
- commitHash: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
342
- ciStatus: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
343
- push: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
344
- openPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
345
- forkAndPr: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
346
- commitSpecs: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
347
- ciWatchEnabled: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
348
- enableEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
349
- commitEvidence: import("@langchain/langgraph").BinaryOperatorAggregate<boolean, boolean>;
350
- evidence: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").Evidence[], import("../../../../domain/index.js").Evidence[]>;
351
- evidenceRetries: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
352
- resumeReason: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
353
- ciFixAttempts: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
354
- ciFixHistory: import("@langchain/langgraph").BinaryOperatorAggregate<import("../../../../domain/index.js").CiFixRecord[], import("../../../../domain/index.js").CiFixRecord[]>;
355
- ciFixStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted", "success" | "timeout" | "idle" | "watching" | "fixing" | "exhausted">;
356
- iterationCount: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
357
- maxIterations: import("@langchain/langgraph").BinaryOperatorAggregate<number, number>;
358
- feedbackHistory: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
359
- explorationStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined, "generating" | "waiting-feedback" | "applying-feedback" | "promoting" | "discarding" | undefined>;
360
- }>>;
361
- }, unknown, unknown>;
362
- //# sourceMappingURL=exploration-agent-graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exploration-agent-graph.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAK5E,OAAO,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAO5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,yBAAyB,GAAG,cAAc,EAC1D,YAAY,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAqBnC"}
@@ -1,72 +0,0 @@
1
- /**
2
- * Exploration Agent Graph Factory
3
- *
4
- * Creates a LangGraph StateGraph for exploration/prototyping mode with
5
- * the topology:
6
- * START → prototype-generate → (interrupt for feedback)
7
- * → apply-feedback → prototype-generate (loop)
8
- * → END (on promote or discard)
9
- *
10
- * The graph uses the same FeatureAgentAnnotation state shape as the
11
- * full and fast graphs, enabling checkpointing, resume, and identical
12
- * worker lifecycle handling.
13
- *
14
- * Unlike the full SDLC graph which uses executeNode() with approval gates,
15
- * the exploration graph uses custom node functions with shared utilities
16
- * (retryExecute, createNodeLogger). The feedback loop is driven by
17
- * LangGraph interrupt/resume — the same mechanism used for approval gates.
18
- */
19
- import { StateGraph, START } from '@langchain/langgraph';
20
- import { FeatureAgentAnnotation } from './state.js';
21
- import { createPrototypeGenerateNode } from './nodes/prototype-generate.node.js';
22
- import { createApplyFeedbackNode } from './nodes/apply-feedback.node.js';
23
- // Re-export for consumers
24
- export { FeatureAgentAnnotation } from './state.js';
25
- /**
26
- * Routing function that determines the next node after prototype-generate
27
- * resumes from interrupt.
28
- *
29
- * The resume payload (set via Command({update})) controls the flow:
30
- * - _approvalAction === 'rejected' → apply-feedback (iterate with feedback)
31
- * - _approvalAction === 'approved' or any other → END (promote or discard)
32
- *
33
- * The 'rejected' action maps to the iterate flow because the existing
34
- * worker resume logic already sets _approvalAction='rejected' and
35
- * _rejectionFeedback=<text> for rejection payloads. For exploration,
36
- * "rejected" means "iterate with feedback" rather than "rejected for merge".
37
- */
38
- export function routeAfterPrototypeGenerate(state) {
39
- // If the user provided feedback (rejection = iterate in exploration context)
40
- if (state._approvalAction === 'rejected') {
41
- return 'apply-feedback';
42
- }
43
- // Otherwise: approved = promote/discard = exit the loop
44
- return '__end__';
45
- }
46
- /**
47
- * Factory function that creates and compiles the exploration-mode agent graph.
48
- *
49
- * The graph defines a feedback loop:
50
- * START → prototype-generate → (interrupt) → route:
51
- * - iterate: → apply-feedback → prototype-generate (loop)
52
- * - promote/discard: → END
53
- *
54
- * @param depsOrExecutor - Graph dependencies or a legacy executor
55
- * @param checkpointer - Optional checkpoint saver for state persistence
56
- * @returns A compiled LangGraph ready to be invoked
57
- */
58
- export function createExplorationAgentGraph(depsOrExecutor, checkpointer) {
59
- // Support legacy signature: createExplorationAgentGraph(executor, checkpointer)
60
- const deps = 'execute' in depsOrExecutor ? { executor: depsOrExecutor } : depsOrExecutor;
61
- const { executor } = deps;
62
- const graph = new StateGraph(FeatureAgentAnnotation)
63
- .addNode('prototype-generate', createPrototypeGenerateNode(executor))
64
- .addNode('apply-feedback', createApplyFeedbackNode());
65
- // START → prototype-generate
66
- graph.addEdge(START, 'prototype-generate');
67
- // prototype-generate → conditional routing (after resume from interrupt)
68
- graph.addConditionalEdges('prototype-generate', routeAfterPrototypeGenerate);
69
- // apply-feedback → prototype-generate (loop back)
70
- graph.addEdge('apply-feedback', 'prototype-generate');
71
- return graph.compile({ checkpointer });
72
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Apply-Feedback Node
3
- *
4
- * Exploration mode state-transformation node that receives user feedback
5
- * from the resume payload, appends it to feedbackHistory, and prepares
6
- * context for the next prototype-generate iteration.
7
- *
8
- * This node does NOT call the agent executor — it is a pure state
9
- * transformation that processes the feedback and returns updated state.
10
- */
11
- import type { FeatureAgentState } from '../state.js';
12
- /**
13
- * Factory that creates the apply-feedback node function.
14
- *
15
- * @returns A LangGraph node function
16
- */
17
- export declare function createApplyFeedbackNode(): (state: FeatureAgentState) => Promise<Partial<FeatureAgentState>>;
18
- //# sourceMappingURL=apply-feedback.node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply-feedback.node.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD;;;;GAIG;AACH,wBAAgB,uBAAuB,KAGvB,OAAO,iBAAiB,KAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAkC7E"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Apply-Feedback Node
3
- *
4
- * Exploration mode state-transformation node that receives user feedback
5
- * from the resume payload, appends it to feedbackHistory, and prepares
6
- * context for the next prototype-generate iteration.
7
- *
8
- * This node does NOT call the agent executor — it is a pure state
9
- * transformation that processes the feedback and returns updated state.
10
- */
11
- import { createNodeLogger } from './node-helpers.js';
12
- import { reportNodeStart } from '../heartbeat.js';
13
- import { buildApplyFeedbackContext } from './prompts/apply-feedback.prompt.js';
14
- /**
15
- * Factory that creates the apply-feedback node function.
16
- *
17
- * @returns A LangGraph node function
18
- */
19
- export function createApplyFeedbackNode() {
20
- const log = createNodeLogger('apply-feedback');
21
- return async (state) => {
22
- log.activate();
23
- log.info('Processing user feedback');
24
- reportNodeStart('apply-feedback');
25
- // Extract feedback from the resume state.
26
- // The worker sets _rejectionFeedback from the resume payload,
27
- // or the feedback may come through a dedicated exploration channel.
28
- const feedback = state._rejectionFeedback ?? '';
29
- const iterationCount = state.iterationCount ?? 0;
30
- if (!feedback || feedback.trim().length === 0) {
31
- log.info('No feedback text provided — proceeding with empty feedback');
32
- }
33
- else {
34
- log.info(`Feedback received (${feedback.length} chars) for iteration ${iterationCount}`);
35
- }
36
- // Build context summary for logging
37
- const contextSummary = buildApplyFeedbackContext(state, feedback);
38
- log.info(`Context prepared for next iteration`);
39
- return {
40
- currentNode: 'apply-feedback',
41
- explorationStatus: 'applying-feedback',
42
- feedbackHistory: [feedback],
43
- // Clear the rejection feedback after consuming it
44
- _rejectionFeedback: null,
45
- _approvalAction: null,
46
- messages: [
47
- `[apply-feedback] Feedback applied for iteration ${iterationCount + 1}: "${feedback.slice(0, 100)}${feedback.length > 100 ? '...' : ''}"`,
48
- `[apply-feedback] Context: ${contextSummary.slice(0, 200)}`,
49
- ],
50
- };
51
- };
52
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * Apply-Feedback Prompt Builder
3
- *
4
- * Builds a context summary for the apply-feedback node. This is used
5
- * internally by the graph to prepare context for the next
6
- * prototype-generate iteration — it does NOT call the executor.
7
- *
8
- * The prompt text produced here serves as a structured summary of
9
- * the current feedback and iteration context that the apply-feedback
10
- * node stores in state for the next prototype-generate node to consume.
11
- */
12
- import type { FeatureAgentState } from '../../state.js';
13
- /**
14
- * Build a context summary for the apply-feedback state transformation.
15
- *
16
- * Includes:
17
- * 1. Current feedback text
18
- * 2. Iteration count
19
- * 3. Summary of prior feedback history
20
- *
21
- * This is stored in graph state, not sent to an executor.
22
- */
23
- export declare function buildApplyFeedbackContext(state: FeatureAgentState, currentFeedback: string): string;
24
- //# sourceMappingURL=apply-feedback.prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply-feedback.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,GACtB,MAAM,CAoBR"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Apply-Feedback Prompt Builder
3
- *
4
- * Builds a context summary for the apply-feedback node. This is used
5
- * internally by the graph to prepare context for the next
6
- * prototype-generate iteration — it does NOT call the executor.
7
- *
8
- * The prompt text produced here serves as a structured summary of
9
- * the current feedback and iteration context that the apply-feedback
10
- * node stores in state for the next prototype-generate node to consume.
11
- */
12
- /**
13
- * Build a context summary for the apply-feedback state transformation.
14
- *
15
- * Includes:
16
- * 1. Current feedback text
17
- * 2. Iteration count
18
- * 3. Summary of prior feedback history
19
- *
20
- * This is stored in graph state, not sent to an executor.
21
- */
22
- export function buildApplyFeedbackContext(state, currentFeedback) {
23
- const iterationCount = state.iterationCount ?? 0;
24
- const feedbackHistory = state.feedbackHistory ?? [];
25
- const sections = [];
26
- sections.push(`## Feedback Applied — Iteration ${iterationCount + 1}`);
27
- sections.push(`**Current feedback:** ${currentFeedback}`);
28
- if (feedbackHistory.length > 0) {
29
- sections.push(`**Prior feedback rounds:** ${feedbackHistory.length}`);
30
- const recentPrior = feedbackHistory.slice(-3);
31
- const startIdx = feedbackHistory.length - recentPrior.length;
32
- recentPrior.forEach((fb, i) => {
33
- const summary = fb.length > 80 ? `${fb.slice(0, 80)}...` : fb;
34
- sections.push(`- Iteration ${startIdx + i + 1}: ${summary}`);
35
- });
36
- }
37
- return sections.join('\n');
38
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * Prototype-Generate Prompt Builder
3
- *
4
- * Builds the prompt for exploration mode prototype generation.
5
- * Emphasizes quick prototyping, minimal scope, and throwaway quality.
6
- * Includes iteration context (feedback history) for subsequent rounds.
7
- *
8
- * The prompt instructs the executor to produce a working prototype that
9
- * demonstrates the idea — prioritizing concept demonstration over
10
- * production quality.
11
- */
12
- import type { FeatureAgentState } from '../../state.js';
13
- /**
14
- * Build a feedback history section for the prompt.
15
- * Recent feedback (last 3) gets full detail; older entries are summarized.
16
- */
17
- export declare function buildFeedbackHistorySection(feedbackHistory: string[]): string;
18
- /**
19
- * Build the prototype-generate prompt.
20
- *
21
- * The prompt includes:
22
- * 1. Exploration mode instructions (speed over quality)
23
- * 2. User's idea/query
24
- * 3. Iteration context (feedback history from prior rounds)
25
- * 4. CLAUDE.md content (if exists)
26
- * 5. Shallow directory listing
27
- *
28
- * Instructs the executor to produce a quick, working prototype.
29
- */
30
- export declare function buildPrototypeGeneratePrompt(state: FeatureAgentState): string;
31
- //# sourceMappingURL=prototype-generate.prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prototype-generate.prompt.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAgHxD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAwB7E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAsF7E"}