reviewflow 3.33.0 → 3.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/dashboard/index.html +16 -2
  3. package/dist/dashboard/setup.html +17 -1
  4. package/dist/dashboard/styles.css +75 -0
  5. package/dist/main/routes.d.ts.map +1 -1
  6. package/dist/main/routes.js +60 -31
  7. package/dist/main/routes.js.map +1 -1
  8. package/dist/modules/claude-invocation/entities/claudeSession/claudeSession.guard.d.ts +1 -1
  9. package/dist/modules/claude-invocation/entities/claudeSession/claudeSession.schema.d.ts +2 -0
  10. package/dist/modules/claude-invocation/entities/claudeSession/claudeSession.schema.d.ts.map +1 -1
  11. package/dist/modules/claude-invocation/entities/claudeSession/claudeSession.schema.js +1 -1
  12. package/dist/modules/claude-invocation/entities/claudeSession/claudeSession.schema.js.map +1 -1
  13. package/dist/modules/{ember-chat/interface-adapters/gateways/emberStreamJson.parser.d.ts → claude-invocation/interface-adapters/gateways/transcriptStreamJson.parser.d.ts} +1 -1
  14. package/dist/modules/claude-invocation/interface-adapters/gateways/transcriptStreamJson.parser.d.ts.map +1 -0
  15. package/dist/modules/{ember-chat/interface-adapters/gateways/emberStreamJson.parser.js → claude-invocation/interface-adapters/gateways/transcriptStreamJson.parser.js} +1 -1
  16. package/dist/modules/claude-invocation/interface-adapters/gateways/transcriptStreamJson.parser.js.map +1 -0
  17. package/dist/modules/ember-chat/interface-adapters/gateways/emberAnswerTransport.claude.gateway.js +1 -1
  18. package/dist/modules/ember-chat/interface-adapters/gateways/emberAnswerTransport.claude.gateway.js.map +1 -1
  19. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.d.ts +4 -0
  20. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -1
  21. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js +54 -46
  22. package/dist/modules/platform-integration/interface-adapters/controllers/webhook/github.controller.js.map +1 -1
  23. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.github.cli.gateway.d.ts.map +1 -1
  24. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.github.cli.gateway.js +4 -1
  25. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.github.cli.gateway.js.map +1 -1
  26. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.gitlab.cli.gateway.d.ts.map +1 -1
  27. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.gitlab.cli.gateway.js +4 -1
  28. package/dist/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.gitlab.cli.gateway.js.map +1 -1
  29. package/dist/modules/platform-integration/interface-adapters/gateways/threadFetch.gitlab.gateway.d.ts.map +1 -1
  30. package/dist/modules/platform-integration/interface-adapters/gateways/threadFetch.gitlab.gateway.js +3 -0
  31. package/dist/modules/platform-integration/interface-adapters/gateways/threadFetch.gitlab.gateway.js.map +1 -1
  32. package/dist/modules/platform-integration/services/scopedExecutorEnvironment.d.ts +1 -0
  33. package/dist/modules/platform-integration/services/scopedExecutorEnvironment.d.ts.map +1 -1
  34. package/dist/modules/platform-integration/services/scopedExecutorEnvironment.js +10 -3
  35. package/dist/modules/platform-integration/services/scopedExecutorEnvironment.js.map +1 -1
  36. package/dist/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.d.ts.map +1 -1
  37. package/dist/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.js +5 -1
  38. package/dist/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.js.map +1 -1
  39. package/dist/modules/review-execution/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.d.ts.map +1 -1
  40. package/dist/modules/review-execution/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.js +6 -4
  41. package/dist/modules/review-execution/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.js.map +1 -1
  42. package/dist/modules/review-execution/services/contextActionsExecutor.d.ts.map +1 -1
  43. package/dist/modules/review-execution/services/contextActionsExecutor.js +23 -1
  44. package/dist/modules/review-execution/services/contextActionsExecutor.js.map +1 -1
  45. package/dist/modules/review-execution/usecases/confirmPendingReview.usecase.d.ts +4 -0
  46. package/dist/modules/review-execution/usecases/confirmPendingReview.usecase.d.ts.map +1 -1
  47. package/dist/modules/review-execution/usecases/confirmPendingReview.usecase.js +6 -1
  48. package/dist/modules/review-execution/usecases/confirmPendingReview.usecase.js.map +1 -1
  49. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.d.ts.map +1 -1
  50. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.js +9 -0
  51. package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.js.map +1 -1
  52. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.d.ts +14 -1
  53. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.d.ts.map +1 -1
  54. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.js +50 -6
  55. package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.js.map +1 -1
  56. package/dist/modules/statistics-insights/entities/insight/aiInsightsSession.gateway.d.ts +13 -0
  57. package/dist/modules/statistics-insights/entities/insight/aiInsightsSession.gateway.d.ts.map +1 -0
  58. package/dist/modules/statistics-insights/entities/insight/aiInsightsSession.gateway.js +2 -0
  59. package/dist/modules/statistics-insights/entities/insight/aiInsightsSession.gateway.js.map +1 -0
  60. package/dist/modules/statistics-insights/interface-adapters/controllers/http/insights.routes.d.ts +4 -2
  61. package/dist/modules/statistics-insights/interface-adapters/controllers/http/insights.routes.d.ts.map +1 -1
  62. package/dist/modules/statistics-insights/interface-adapters/controllers/http/insights.routes.js +6 -4
  63. package/dist/modules/statistics-insights/interface-adapters/controllers/http/insights.routes.js.map +1 -1
  64. package/dist/modules/statistics-insights/interface-adapters/gateways/aiInsightsSession.claude.gateway.d.ts +31 -0
  65. package/dist/modules/statistics-insights/interface-adapters/gateways/aiInsightsSession.claude.gateway.d.ts.map +1 -0
  66. package/dist/modules/statistics-insights/interface-adapters/gateways/aiInsightsSession.claude.gateway.js +105 -0
  67. package/dist/modules/statistics-insights/interface-adapters/gateways/aiInsightsSession.claude.gateway.js.map +1 -0
  68. package/dist/modules/statistics-insights/usecases/insights/{generateAiInsights.usecase.d.ts → generateAiInsightsViaSession.usecase.d.ts} +7 -13
  69. package/dist/modules/statistics-insights/usecases/insights/generateAiInsightsViaSession.usecase.d.ts.map +1 -0
  70. package/dist/modules/statistics-insights/usecases/insights/generateAiInsightsViaSession.usecase.js +49 -0
  71. package/dist/modules/statistics-insights/usecases/insights/generateAiInsightsViaSession.usecase.js.map +1 -0
  72. package/dist/modules/statistics-insights/usecases/insights/parseAiInsightsResponse.d.ts +3 -0
  73. package/dist/modules/statistics-insights/usecases/insights/parseAiInsightsResponse.d.ts.map +1 -0
  74. package/dist/modules/statistics-insights/usecases/insights/parseAiInsightsResponse.js +20 -0
  75. package/dist/modules/statistics-insights/usecases/insights/parseAiInsightsResponse.js.map +1 -0
  76. package/dist/modules/statistics-insights/usecases/insights/persistAiInsights.usecase.d.ts +12 -0
  77. package/dist/modules/statistics-insights/usecases/insights/persistAiInsights.usecase.d.ts.map +1 -0
  78. package/dist/modules/statistics-insights/usecases/insights/persistAiInsights.usecase.js +14 -0
  79. package/dist/modules/statistics-insights/usecases/insights/persistAiInsights.usecase.js.map +1 -0
  80. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts.map +1 -1
  81. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js +14 -6
  82. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js.map +1 -1
  83. package/dist/tests/acceptance/174-semi-auto-review-trigger-mode.acceptance.test.js +1 -0
  84. package/dist/tests/acceptance/174-semi-auto-review-trigger-mode.acceptance.test.js.map +1 -1
  85. package/dist/tests/acceptance/191-team-insights-bg-migration.acceptance.test.d.ts +2 -0
  86. package/dist/tests/acceptance/191-team-insights-bg-migration.acceptance.test.d.ts.map +1 -0
  87. package/dist/tests/acceptance/191-team-insights-bg-migration.acceptance.test.js +121 -0
  88. package/dist/tests/acceptance/191-team-insights-bg-migration.acceptance.test.js.map +1 -0
  89. package/dist/tests/acceptance/202-confirm-pending-review-runs-review.acceptance.test.d.ts +2 -0
  90. package/dist/tests/acceptance/202-confirm-pending-review-runs-review.acceptance.test.d.ts.map +1 -0
  91. package/dist/tests/acceptance/202-confirm-pending-review-runs-review.acceptance.test.js +173 -0
  92. package/dist/tests/acceptance/202-confirm-pending-review-runs-review.acceptance.test.js.map +1 -0
  93. package/dist/tests/factories/pendingReviewRequest.factory.d.ts +1 -0
  94. package/dist/tests/factories/pendingReviewRequest.factory.d.ts.map +1 -1
  95. package/dist/tests/factories/pendingReviewRequest.factory.js +22 -0
  96. package/dist/tests/factories/pendingReviewRequest.factory.js.map +1 -1
  97. package/dist/tests/stubs/aiInsightsSession.stub.d.ts +8 -0
  98. package/dist/tests/stubs/aiInsightsSession.stub.d.ts.map +1 -0
  99. package/dist/tests/stubs/aiInsightsSession.stub.js +15 -0
  100. package/dist/tests/stubs/aiInsightsSession.stub.js.map +1 -0
  101. package/dist/tests/stubs/claudeSession.stub.d.ts +8 -0
  102. package/dist/tests/stubs/claudeSession.stub.d.ts.map +1 -1
  103. package/dist/tests/stubs/claudeSession.stub.js +24 -2
  104. package/dist/tests/stubs/claudeSession.stub.js.map +1 -1
  105. package/dist/tests/units/architecture/noClaudePInProduction.test.js +0 -1
  106. package/dist/tests/units/architecture/noClaudePInProduction.test.js.map +1 -1
  107. package/dist/tests/units/entities/insight/teamInsight.guard.test.d.ts +2 -0
  108. package/dist/tests/units/entities/insight/teamInsight.guard.test.d.ts.map +1 -0
  109. package/dist/tests/units/entities/insight/teamInsight.guard.test.js +45 -0
  110. package/dist/tests/units/entities/insight/teamInsight.guard.test.js.map +1 -0
  111. package/dist/tests/units/interface-adapters/controllers/http/insights.routes.test.js +6 -4
  112. package/dist/tests/units/interface-adapters/controllers/http/insights.routes.test.js.map +1 -1
  113. package/dist/tests/units/interface-adapters/controllers/http/stats.routes.test.d.ts +2 -0
  114. package/dist/tests/units/interface-adapters/controllers/http/stats.routes.test.d.ts.map +1 -0
  115. package/dist/tests/units/interface-adapters/controllers/http/stats.routes.test.js +208 -0
  116. package/dist/tests/units/interface-adapters/controllers/http/stats.routes.test.js.map +1 -0
  117. package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.js +92 -0
  118. package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.js.map +1 -1
  119. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +303 -0
  120. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -1
  121. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +359 -1
  122. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -1
  123. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js +10 -3
  124. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js.map +1 -1
  125. package/dist/tests/units/modules/claude-invocation/gateways/transcriptStreamJson.parser.test.d.ts +2 -0
  126. package/dist/tests/units/modules/claude-invocation/gateways/transcriptStreamJson.parser.test.d.ts.map +1 -0
  127. package/dist/tests/units/modules/{ember-chat/gateways/emberStreamJson.parser.test.js → claude-invocation/gateways/transcriptStreamJson.parser.test.js} +2 -2
  128. package/dist/tests/units/modules/claude-invocation/gateways/transcriptStreamJson.parser.test.js.map +1 -0
  129. package/dist/tests/units/modules/claude-invocation/usecases/awaitSessionCompletion.usecase.test.js +66 -0
  130. package/dist/tests/units/modules/claude-invocation/usecases/awaitSessionCompletion.usecase.test.js.map +1 -1
  131. package/dist/tests/units/modules/claude-invocation/usecases/cleanupClaudeSession.usecase.test.js +62 -0
  132. package/dist/tests/units/modules/claude-invocation/usecases/cleanupClaudeSession.usecase.test.js.map +1 -1
  133. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.test.d.ts +2 -0
  134. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.test.d.ts.map +1 -0
  135. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.test.js +182 -0
  136. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.test.js.map +1 -0
  137. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.test.js +225 -0
  138. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.test.js.map +1 -1
  139. package/dist/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.d.ts +2 -0
  140. package/dist/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.d.ts.map +1 -0
  141. package/dist/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.js +171 -0
  142. package/dist/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.js.map +1 -0
  143. package/dist/tests/units/modules/platform-integration/controllers/githubProcessorProvenance.test.d.ts +2 -0
  144. package/dist/tests/units/modules/platform-integration/controllers/githubProcessorProvenance.test.d.ts.map +1 -0
  145. package/dist/tests/units/modules/platform-integration/controllers/githubProcessorProvenance.test.js +70 -0
  146. package/dist/tests/units/modules/platform-integration/controllers/githubProcessorProvenance.test.js.map +1 -0
  147. package/dist/tests/units/modules/platform-integration/entities/transport/cidr.test.d.ts +2 -0
  148. package/dist/tests/units/modules/platform-integration/entities/transport/cidr.test.d.ts.map +1 -0
  149. package/dist/tests/units/modules/platform-integration/entities/transport/cidr.test.js +51 -0
  150. package/dist/tests/units/modules/platform-integration/entities/transport/cidr.test.js.map +1 -0
  151. package/dist/tests/units/modules/platform-integration/gateways/scopedGitLabExecutor.test.js +4 -0
  152. package/dist/tests/units/modules/platform-integration/gateways/scopedGitLabExecutor.test.js.map +1 -1
  153. package/dist/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.d.ts +2 -0
  154. package/dist/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.d.ts.map +1 -0
  155. package/dist/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.js +39 -0
  156. package/dist/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.js.map +1 -0
  157. package/dist/tests/units/modules/platform-integration/services/scopedExecutorEnvironment.test.js +15 -2
  158. package/dist/tests/units/modules/platform-integration/services/scopedExecutorEnvironment.test.js.map +1 -1
  159. package/dist/tests/units/modules/review-execution/entities/reviewRequest/reviewRequest.guard.test.d.ts +2 -0
  160. package/dist/tests/units/modules/review-execution/entities/reviewRequest/reviewRequest.guard.test.d.ts.map +1 -0
  161. package/dist/tests/units/modules/review-execution/entities/reviewRequest/reviewRequest.guard.test.js +34 -0
  162. package/dist/tests/units/modules/review-execution/entities/reviewRequest/reviewRequest.guard.test.js.map +1 -0
  163. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.test.js +21 -2
  164. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/pendingReviews.routes.test.js.map +1 -1
  165. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/reviews.routes.test.d.ts +2 -0
  166. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/reviews.routes.test.d.ts.map +1 -0
  167. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/reviews.routes.test.js +210 -0
  168. package/dist/tests/units/modules/review-execution/interface-adapters/controllers/http/reviews.routes.test.js.map +1 -0
  169. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.d.ts +2 -0
  170. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.d.ts.map +1 -0
  171. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.js +103 -0
  172. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.js.map +1 -0
  173. package/dist/tests/units/modules/review-execution/usecases/confirmPendingReview.usecase.test.js +25 -0
  174. package/dist/tests/units/modules/review-execution/usecases/confirmPendingReview.usecase.test.js.map +1 -1
  175. package/dist/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.d.ts +2 -0
  176. package/dist/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.d.ts.map +1 -0
  177. package/dist/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.js +98 -0
  178. package/dist/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.js.map +1 -0
  179. package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.js +12 -0
  180. package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.js.map +1 -1
  181. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.d.ts +2 -0
  182. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.d.ts.map +1 -0
  183. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.js +51 -0
  184. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.js.map +1 -0
  185. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.d.ts +2 -0
  186. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.d.ts.map +1 -0
  187. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.js +70 -0
  188. package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.js.map +1 -0
  189. package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.js +60 -1
  190. package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.js.map +1 -1
  191. package/dist/tests/units/modules/statistics-insights/entities/insight/developerInsight.guard.test.d.ts +2 -0
  192. package/dist/tests/units/modules/statistics-insights/entities/insight/developerInsight.guard.test.d.ts.map +1 -0
  193. package/dist/tests/units/modules/statistics-insights/entities/insight/developerInsight.guard.test.js +49 -0
  194. package/dist/tests/units/modules/statistics-insights/entities/insight/developerInsight.guard.test.js.map +1 -0
  195. package/dist/tests/units/modules/statistics-insights/entities/insight/persistedInsightsData.guard.test.d.ts +2 -0
  196. package/dist/tests/units/modules/statistics-insights/entities/insight/persistedInsightsData.guard.test.d.ts.map +1 -0
  197. package/dist/tests/units/modules/statistics-insights/entities/insight/persistedInsightsData.guard.test.js +29 -0
  198. package/dist/tests/units/modules/statistics-insights/entities/insight/persistedInsightsData.guard.test.js.map +1 -0
  199. package/dist/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.d.ts +2 -0
  200. package/dist/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.d.ts.map +1 -0
  201. package/dist/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.js +63 -0
  202. package/dist/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.js.map +1 -0
  203. package/dist/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.d.ts +2 -0
  204. package/dist/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.d.ts.map +1 -0
  205. package/dist/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.js +73 -0
  206. package/dist/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.js.map +1 -0
  207. package/dist/tests/units/modules/statistics-insights/interface-adapters/presenters/overview.presenter.test.js +99 -0
  208. package/dist/tests/units/modules/statistics-insights/interface-adapters/presenters/overview.presenter.test.js.map +1 -1
  209. package/dist/tests/units/modules/supervisor-management/gateways/supervisorLock.fileSystem.gateway.test.js +60 -2
  210. package/dist/tests/units/modules/supervisor-management/gateways/supervisorLock.fileSystem.gateway.test.js.map +1 -1
  211. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.test.js +499 -18
  212. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.test.js.map +1 -1
  213. package/dist/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.d.ts +2 -0
  214. package/dist/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.d.ts.map +1 -0
  215. package/dist/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.js +273 -0
  216. package/dist/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.js.map +1 -0
  217. package/dist/tests/units/modules/worktree-management/entities/worktree/worktree.test.js +47 -1
  218. package/dist/tests/units/modules/worktree-management/entities/worktree/worktree.test.js.map +1 -1
  219. package/dist/tests/units/modules/worktree-management/usecases/sweepStaleWorktrees.usecase.test.js +98 -0
  220. package/dist/tests/units/modules/worktree-management/usecases/sweepStaleWorktrees.usecase.test.js.map +1 -1
  221. package/dist/tests/units/services/contextActionsExecutor.test.js +67 -0
  222. package/dist/tests/units/services/contextActionsExecutor.test.js.map +1 -1
  223. package/dist/tests/units/services/statsService.branches.test.d.ts +2 -0
  224. package/dist/tests/units/services/statsService.branches.test.d.ts.map +1 -0
  225. package/dist/tests/units/services/statsService.branches.test.js +266 -0
  226. package/dist/tests/units/services/statsService.branches.test.js.map +1 -0
  227. package/dist/tests/units/shared/services/logFileReader.test.d.ts +2 -0
  228. package/dist/tests/units/shared/services/logFileReader.test.d.ts.map +1 -0
  229. package/dist/tests/units/shared/services/logFileReader.test.js +70 -0
  230. package/dist/tests/units/shared/services/logFileReader.test.js.map +1 -0
  231. package/dist/tests/units/usecases/insights/buildAiInsightsPrompt.test.js +206 -0
  232. package/dist/tests/units/usecases/insights/buildAiInsightsPrompt.test.js.map +1 -1
  233. package/dist/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.js +40 -0
  234. package/dist/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.js.map +1 -1
  235. package/dist/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.js +204 -0
  236. package/dist/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.js.map +1 -1
  237. package/dist/tests/units/usecases/insights/generateAiInsightsViaSession.usecase.test.d.ts +2 -0
  238. package/dist/tests/units/usecases/insights/generateAiInsightsViaSession.usecase.test.d.ts.map +1 -0
  239. package/dist/tests/units/usecases/insights/generateAiInsightsViaSession.usecase.test.js +114 -0
  240. package/dist/tests/units/usecases/insights/generateAiInsightsViaSession.usecase.test.js.map +1 -0
  241. package/dist/tests/units/usecases/insights/getInsightsWithAiStatus.usecase.test.js +57 -0
  242. package/dist/tests/units/usecases/insights/getInsightsWithAiStatus.usecase.test.js.map +1 -1
  243. package/dist/tests/units/usecases/insights/insightLevelComputation.service.test.js +391 -1
  244. package/dist/tests/units/usecases/insights/insightLevelComputation.service.test.js.map +1 -1
  245. package/dist/tests/units/usecases/insights/parseAiInsightsResponse.test.d.ts +2 -0
  246. package/dist/tests/units/usecases/insights/parseAiInsightsResponse.test.d.ts.map +1 -0
  247. package/dist/tests/units/usecases/insights/parseAiInsightsResponse.test.js +45 -0
  248. package/dist/tests/units/usecases/insights/parseAiInsightsResponse.test.js.map +1 -0
  249. package/dist/tests/units/usecases/insights/persistAiInsights.usecase.test.d.ts +2 -0
  250. package/dist/tests/units/usecases/insights/persistAiInsights.usecase.test.d.ts.map +1 -0
  251. package/dist/tests/units/usecases/insights/persistAiInsights.usecase.test.js +87 -0
  252. package/dist/tests/units/usecases/insights/persistAiInsights.usecase.test.js.map +1 -0
  253. package/package.json +12 -2
  254. package/dist/frameworks/claude/claudeInsightsInvoker.d.ts +0 -3
  255. package/dist/frameworks/claude/claudeInsightsInvoker.d.ts.map +0 -1
  256. package/dist/frameworks/claude/claudeInsightsInvoker.js +0 -58
  257. package/dist/frameworks/claude/claudeInsightsInvoker.js.map +0 -1
  258. package/dist/modules/ember-chat/interface-adapters/gateways/emberStreamJson.parser.d.ts.map +0 -1
  259. package/dist/modules/ember-chat/interface-adapters/gateways/emberStreamJson.parser.js.map +0 -1
  260. package/dist/modules/statistics-insights/usecases/insights/generateAiInsights.usecase.d.ts.map +0 -1
  261. package/dist/modules/statistics-insights/usecases/insights/generateAiInsights.usecase.js +0 -65
  262. package/dist/modules/statistics-insights/usecases/insights/generateAiInsights.usecase.js.map +0 -1
  263. package/dist/tests/units/modules/ember-chat/gateways/emberStreamJson.parser.test.d.ts +0 -2
  264. package/dist/tests/units/modules/ember-chat/gateways/emberStreamJson.parser.test.d.ts.map +0 -1
  265. package/dist/tests/units/modules/ember-chat/gateways/emberStreamJson.parser.test.js.map +0 -1
  266. package/dist/tests/units/usecases/insights/generateAiInsights.usecase.test.d.ts +0 -2
  267. package/dist/tests/units/usecases/insights/generateAiInsights.usecase.test.d.ts.map +0 -1
  268. package/dist/tests/units/usecases/insights/generateAiInsights.usecase.test.js +0 -253
  269. package/dist/tests/units/usecases/insights/generateAiInsights.usecase.test.js.map +0 -1
@@ -345,6 +345,25 @@ describe('computeDeveloperInsights', () => {
345
345
  expect(alice.metrics.averageAdditions).toBe(200);
346
346
  expect(alice.metrics.averageDeletions).toBe(50);
347
347
  });
348
+ it('should exclude high-score reviews with blocking issues from quality rate', () => {
349
+ const cleanReviews = Array.from({ length: 3 }, (_, index) => ReviewStatsFactory.create({
350
+ id: `alice-clean-${index}`,
351
+ assignedBy: 'alice',
352
+ mrNumber: index + 1,
353
+ score: 8,
354
+ blocking: 0,
355
+ }));
356
+ const highScoreButBlocking = Array.from({ length: 2 }, (_, index) => ReviewStatsFactory.create({
357
+ id: `alice-blocking-${index}`,
358
+ assignedBy: 'alice',
359
+ mrNumber: index + 4,
360
+ score: 9,
361
+ blocking: 1,
362
+ }));
363
+ const result = computeDeveloperInsights([...cleanReviews, ...highScoreButBlocking]);
364
+ const alice = result[0];
365
+ expect(alice.metrics.firstReviewQualityRate).toBe(0.6);
366
+ });
348
367
  it('should compute first review quality rate based on reviews with score >= 7', () => {
349
368
  const goodReviews = Array.from({ length: 3 }, (_, index) => ReviewStatsFactory.create({
350
369
  id: `alice-good-${index}`,
@@ -426,6 +445,27 @@ describe('computeDeveloperInsights', () => {
426
445
  const alice = result[0];
427
446
  expect(alice.categoryLevels.codeVolume.level).toBeGreaterThanOrEqual(1);
428
447
  });
448
+ it('should handle zero developer duration when generating responsiveness strength', () => {
449
+ const instantReviews = createReviewsForDeveloper('alice', 10, {
450
+ score: 9,
451
+ blocking: 0,
452
+ warnings: 0,
453
+ duration: 0,
454
+ });
455
+ const slowReviews = createReviewsForDeveloper('bob', 10, {
456
+ score: 5,
457
+ blocking: 2,
458
+ warnings: 3,
459
+ duration: 600000,
460
+ });
461
+ const result = computeDeveloperInsights([...instantReviews, ...slowReviews]);
462
+ const alice = result.find((insight) => insight.developerName === 'alice');
463
+ expect(alice).toBeDefined();
464
+ expect(alice?.strengths).toContain('responsiveness');
465
+ const responsivenessStrength = alice?.insightDescriptions.find((description) => description.category === 'responsiveness' && description.type === 'strength');
466
+ expect(responsivenessStrength).toBeDefined();
467
+ expect(responsivenessStrength?.params?.percent).toBe(0);
468
+ });
429
469
  it('should produce valid DeveloperInsight objects', () => {
430
470
  const reviews = [
431
471
  ...createReviewsForDeveloper('alice', 8, { score: 7, duration: 60000 }),
@@ -1 +1 @@
1
- {"version":3,"file":"computeDeveloperInsights.usecase.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"computeDeveloperInsights.usecase.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { computeDeveloperInsights } from '../../../../modules/statistics-insight
4
4
  import { computeTeamInsights } from '../../../../modules/statistics-insights/usecases/insights/computeTeamInsights.usecase.js';
5
5
  import { ReviewStatsFactory } from '../../../../tests/factories/projectStats.factory.js';
6
6
  import { PersistedInsightsDataFactory, PersistedDeveloperMetricsFactory } from '../../../../tests/factories/persistedInsightsData.factory.js';
7
+ import { DiffStatsFactory } from '../../../../tests/factories/diffStats.factory.js';
7
8
  function createReviewsForDeveloper(developerName, count, overrides = {}) {
8
9
  return Array.from({ length: count }, (_, index) => ReviewStatsFactory.create({
9
10
  id: `${developerName}-${index}`,
@@ -321,6 +322,209 @@ describe('computeInsightsWithPersistence', () => {
321
322
  expect(aliceMetrics?.totalDeletions).toBe(250);
322
323
  expect(aliceMetrics?.diffStatsReviewCount).toBe(5);
323
324
  });
325
+ it('should report zero average additions/deletions when no diffStats were ever recorded', () => {
326
+ const reviews = createReviewsForDeveloper('alice', 6, {
327
+ score: 8,
328
+ diffStats: null,
329
+ });
330
+ const result = computeInsightsWithPersistence(reviews, null);
331
+ expect(result.developerInsights).toHaveLength(1);
332
+ const alice = result.developerInsights[0];
333
+ expect(alice.metrics.averageAdditions).toBe(0);
334
+ expect(alice.metrics.averageDeletions).toBe(0);
335
+ });
336
+ it('should compute non-zero average additions/deletions from cumulative diffStats', () => {
337
+ const reviews = createReviewsForDeveloper('alice', 6, {
338
+ score: 8,
339
+ diffStats: { commitsCount: 2, additions: 300, deletions: 100 },
340
+ });
341
+ const result = computeInsightsWithPersistence(reviews, null);
342
+ const alice = result.developerInsights[0];
343
+ expect(alice.metrics.averageAdditions).toBe(300);
344
+ expect(alice.metrics.averageDeletions).toBe(100);
345
+ });
346
+ });
347
+ describe('aiInsights preservation', () => {
348
+ it('should default aiInsights to null and reviewCountAtAiGeneration to 0 on first run', () => {
349
+ const reviews = createReviewsForDeveloper('alice', 6, { score: 8 });
350
+ const result = computeInsightsWithPersistence(reviews, null);
351
+ expect(result.persistedData.aiInsights).toBeNull();
352
+ expect(result.persistedData.reviewCountAtAiGeneration).toBe(0);
353
+ });
354
+ it('should preserve existing aiInsights and reviewCountAtAiGeneration', () => {
355
+ const recentReviews = createReviewsForDeveloper('alice', 6, { score: 8 });
356
+ const aiInsights = {
357
+ developers: [
358
+ {
359
+ developerName: 'alice',
360
+ title: 'Architect',
361
+ titleExplanation: 'Strong design',
362
+ strengths: ['quality'],
363
+ weaknesses: [],
364
+ recommendations: ['keep going'],
365
+ summary: 'Solid contributor',
366
+ },
367
+ ],
368
+ team: {
369
+ summary: 'Healthy team',
370
+ strengths: ['velocity'],
371
+ weaknesses: [],
372
+ recommendations: ['document more'],
373
+ dynamics: 'collaborative',
374
+ },
375
+ generatedAt: '2024-01-10T08:00:00Z',
376
+ };
377
+ const persistedData = PersistedInsightsDataFactory.create({
378
+ developers: [PersistedDeveloperMetricsFactory.create({
379
+ developerName: 'alice',
380
+ totalReviews: 6,
381
+ recentReviews,
382
+ })],
383
+ processedReviewIds: recentReviews.map((review) => review.id),
384
+ aiInsights,
385
+ reviewCountAtAiGeneration: 6,
386
+ });
387
+ const result = computeInsightsWithPersistence([], persistedData);
388
+ expect(result.persistedData.aiInsights).toEqual(aiInsights);
389
+ expect(result.persistedData.reviewCountAtAiGeneration).toBe(6);
390
+ });
391
+ });
392
+ describe('strength and weakness descriptions', () => {
393
+ it('should generate strength descriptions for a high-performing single developer', () => {
394
+ const reviews = createReviewsForDeveloper('star', 8, {
395
+ score: 10,
396
+ blocking: 0,
397
+ warnings: 0,
398
+ suggestions: 0,
399
+ duration: 5000,
400
+ diffStats: { commitsCount: 4, additions: 500, deletions: 200 },
401
+ });
402
+ const result = computeInsightsWithPersistence(reviews, null);
403
+ expect(result.developerInsights).toHaveLength(1);
404
+ const star = result.developerInsights[0];
405
+ expect(star.strengths.length).toBeGreaterThan(0);
406
+ const strengthDescriptions = star.insightDescriptions.filter((description) => description.type === 'strength');
407
+ expect(strengthDescriptions.length).toBeGreaterThan(0);
408
+ for (const description of strengthDescriptions) {
409
+ expect(description.descriptionKey).toMatch(/^insight\./);
410
+ }
411
+ });
412
+ it('should generate weakness descriptions for a low-performing single developer', () => {
413
+ const reviews = createReviewsForDeveloper('struggler', 8, {
414
+ score: 2,
415
+ blocking: 5,
416
+ warnings: 8,
417
+ suggestions: 10,
418
+ duration: 600000,
419
+ diffStats: { commitsCount: 1, additions: 5, deletions: 1 },
420
+ });
421
+ const result = computeInsightsWithPersistence(reviews, null);
422
+ expect(result.developerInsights).toHaveLength(1);
423
+ const struggler = result.developerInsights[0];
424
+ expect(struggler.weaknesses.length).toBeGreaterThan(0);
425
+ const weaknessDescriptions = struggler.insightDescriptions.filter((description) => description.type === 'weakness');
426
+ expect(weaknessDescriptions.length).toBeGreaterThan(0);
427
+ for (const description of weaknessDescriptions) {
428
+ expect(description.descriptionKey).toMatch(/^insight\./);
429
+ }
430
+ });
431
+ });
432
+ describe('trend-based strength descriptions', () => {
433
+ it('should emit an improving-trend description when a strength category has level below 7 and an improving trend', () => {
434
+ const recentReviews = Array.from({ length: 20 }, (_, index) => ReviewStatsFactory.create({
435
+ id: `alice-${index}`,
436
+ assignedBy: 'alice',
437
+ mrNumber: index + 1,
438
+ score: index < 10 ? 5 : 7,
439
+ blocking: 1,
440
+ warnings: 2,
441
+ suggestions: 3,
442
+ duration: 120000,
443
+ timestamp: new Date(2024, 0, index + 1).toISOString(),
444
+ diffStats: null,
445
+ }));
446
+ const result = computeInsightsWithPersistence(recentReviews, null);
447
+ expect(result.developerInsights).toHaveLength(1);
448
+ const alice = result.developerInsights[0];
449
+ expect(alice.categoryLevels.quality.trend).toBe('improving');
450
+ expect(alice.categoryLevels.quality.level).toBeLessThan(7);
451
+ expect(alice.strengths).toContain('quality');
452
+ const qualityDescription = alice.insightDescriptions.find((description) => description.category === 'quality' && description.type === 'strength');
453
+ expect(qualityDescription?.descriptionKey).toBe('insight.quality.improving');
454
+ expect(qualityDescription?.params).toEqual({});
455
+ });
456
+ });
457
+ describe('code volume score correlation', () => {
458
+ it('should compute a non-zero correlation when both score and volume vary across recent reviews', () => {
459
+ const varyingData = [
460
+ { score: 5, additions: 100, deletions: 20 },
461
+ { score: 7, additions: 300, deletions: 60 },
462
+ { score: 9, additions: 500, deletions: 100 },
463
+ { score: 6, additions: 200, deletions: 40 },
464
+ { score: 8, additions: 400, deletions: 80 },
465
+ ];
466
+ const reviews = varyingData.map((data, index) => ReviewStatsFactory.create({
467
+ id: `alice-corr-${index}`,
468
+ assignedBy: 'alice',
469
+ mrNumber: index + 1,
470
+ score: data.score,
471
+ blocking: 0,
472
+ warnings: 1,
473
+ suggestions: 2,
474
+ duration: 60000,
475
+ timestamp: new Date(2024, 0, index + 1).toISOString(),
476
+ diffStats: DiffStatsFactory.create({
477
+ additions: data.additions,
478
+ deletions: data.deletions,
479
+ }),
480
+ }));
481
+ const result = computeInsightsWithPersistence(reviews, null);
482
+ expect(result.developerInsights).toHaveLength(1);
483
+ const alice = result.developerInsights[0];
484
+ expect(alice.categoryLevels.codeVolume.level).toBe(9);
485
+ });
486
+ it('should fall back to zero correlation when volume has no variance (zero denominator)', () => {
487
+ const constantVolume = DiffStatsFactory.create({ additions: 100, deletions: 20 });
488
+ const reviews = [5, 7, 9, 5, 7].map((score, index) => ReviewStatsFactory.create({
489
+ id: `bob-flat-${index}`,
490
+ assignedBy: 'bob',
491
+ mrNumber: index + 1,
492
+ score,
493
+ blocking: 0,
494
+ warnings: 1,
495
+ suggestions: 2,
496
+ duration: 60000,
497
+ timestamp: new Date(2024, 0, index + 1).toISOString(),
498
+ diffStats: constantVolume,
499
+ }));
500
+ const result = computeInsightsWithPersistence(reviews, null);
501
+ expect(result.developerInsights).toHaveLength(1);
502
+ const bob = result.developerInsights[0];
503
+ expect(bob.categoryLevels.codeVolume.level).toBe(3);
504
+ });
505
+ });
506
+ describe('multiple developers (team metrics)', () => {
507
+ it('should compute team metrics across developers instead of absolute benchmarks', () => {
508
+ const aliceReviews = createReviewsForDeveloper('alice', 6, {
509
+ score: 9,
510
+ blocking: 0,
511
+ warnings: 1,
512
+ duration: 30000,
513
+ diffStats: { commitsCount: 3, additions: 300, deletions: 100 },
514
+ });
515
+ const bobReviews = createReviewsForDeveloper('bob', 6, {
516
+ score: 4,
517
+ blocking: 3,
518
+ warnings: 5,
519
+ duration: 300000,
520
+ diffStats: { commitsCount: 1, additions: 20, deletions: 10 },
521
+ });
522
+ const result = computeInsightsWithPersistence([...aliceReviews, ...bobReviews], null);
523
+ expect(result.developerInsights).toHaveLength(2);
524
+ const names = result.developerInsights.map((insight) => insight.developerName);
525
+ expect(names).toContain('alice');
526
+ expect(names).toContain('bob');
527
+ });
324
528
  });
325
529
  });
326
530
  //# sourceMappingURL=computeInsightsWithPersistence.usecase.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"computeInsightsWithPersistence.usecase.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"computeInsightsWithPersistence.usecase.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateAiInsightsViaSession.usecase.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateAiInsightsViaSession.usecase.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/units/usecases/insights/generateAiInsightsViaSession.usecase.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
1
+ import { describe, it, expect, beforeEach } from 'vitest';
2
+ import { generateAiInsightsViaSession } from '../../../../modules/statistics-insights/usecases/insights/generateAiInsightsViaSession.usecase.js';
3
+ import { InMemoryStatsGateway } from '../../../../tests/stubs/stats.stub.js';
4
+ import { InMemoryReviewFileGateway } from '../../../../tests/stubs/reviewFile.stub.js';
5
+ import { InMemoryReviewRequestTrackingGateway } from '../../../../tests/stubs/reviewRequestTracking.stub.js';
6
+ import { StubEnvironmentGateway } from '../../../../tests/stubs/environment.stub.js';
7
+ import { StubAiInsightsSessionGateway } from '../../../../tests/stubs/aiInsightsSession.stub.js';
8
+ import { createStubLogger } from '../../../../tests/stubs/logger.stub.js';
9
+ import { ProjectStatsFactory, ReviewStatsFactory } from '../../../../tests/factories/projectStats.factory.js';
10
+ const validAiResult = {
11
+ developers: [
12
+ {
13
+ developerName: 'alice',
14
+ title: 'Le Chirurgien du Code',
15
+ titleExplanation: 'Precise and methodical',
16
+ strengths: ['Excellent test coverage'],
17
+ weaknesses: ['Slow review turnaround'],
18
+ recommendations: ['Automate repetitive checks'],
19
+ summary: 'Alice is a meticulous developer.',
20
+ },
21
+ ],
22
+ team: {
23
+ summary: 'A well-balanced team.',
24
+ strengths: ['Strong testing culture'],
25
+ weaknesses: ['Documentation gaps'],
26
+ recommendations: ['Establish review guidelines'],
27
+ dynamics: 'Good team dynamics.',
28
+ },
29
+ generatedAt: '2026-03-15T10:00:00Z',
30
+ };
31
+ describe('generateAiInsightsViaSession', () => {
32
+ let statsGateway;
33
+ let reviewFileGateway;
34
+ let reviewRequestTrackingGateway;
35
+ let environment;
36
+ let session;
37
+ function input() {
38
+ return {
39
+ projectPath: '/test/project',
40
+ statsGateway,
41
+ reviewFileGateway,
42
+ reviewRequestTrackingGateway,
43
+ logger: createStubLogger(),
44
+ session,
45
+ environment,
46
+ language: 'fr',
47
+ };
48
+ }
49
+ function seedReviews() {
50
+ const reviews = [
51
+ ReviewStatsFactory.create({ id: 'r1', assignedBy: 'alice', mrNumber: 1, score: 8 }),
52
+ ];
53
+ statsGateway.saveProjectStats('/test/project', ProjectStatsFactory.withReviews(reviews));
54
+ }
55
+ beforeEach(() => {
56
+ statsGateway = new InMemoryStatsGateway();
57
+ reviewFileGateway = new InMemoryReviewFileGateway();
58
+ reviewRequestTrackingGateway = new InMemoryReviewRequestTrackingGateway();
59
+ environment = new StubEnvironmentGateway();
60
+ session = new StubAiInsightsSessionGateway();
61
+ });
62
+ it('returns insights parsed from the completed --bg session answer', async () => {
63
+ seedReviews();
64
+ session.setResult({ status: 'completed', answer: JSON.stringify(validAiResult) });
65
+ const result = await generateAiInsightsViaSession(input());
66
+ expect(result.developers).toHaveLength(1);
67
+ expect(result.developers[0].developerName).toBe('alice');
68
+ expect(result.team.summary).toBe('A well-balanced team.');
69
+ expect(result.generatedAt).toBeDefined();
70
+ expect(new Date(result.generatedAt).getTime()).not.toBeNaN();
71
+ });
72
+ it('parses an answer wrapped in markdown fences', async () => {
73
+ seedReviews();
74
+ session.setResult({
75
+ status: 'completed',
76
+ answer: '```json\n' + JSON.stringify(validAiResult) + '\n```',
77
+ });
78
+ const result = await generateAiInsightsViaSession(input());
79
+ expect(result.developers).toHaveLength(1);
80
+ });
81
+ it('sends the prompt with review content and tracked data to the session', async () => {
82
+ seedReviews();
83
+ reviewFileGateway.addReview('/test/project', '2026-03-13-MR-1-review.md', '# Code Review - MR !1\n\n## Synthèse Exécutive\n\n| Audit | Score |\n|---|---|\n| Testing | 9/10 |\n\n**Score Global : 8/10**\n\n## Constats Positifs\n\n### 1. Great test coverage\n');
84
+ session.setResult({ status: 'completed', answer: JSON.stringify(validAiResult) });
85
+ await generateAiInsightsViaSession(input());
86
+ expect(session.runCalls).toHaveLength(1);
87
+ expect(session.runCalls[0]).toContain('Synthèse Exécutive');
88
+ });
89
+ it('refuses when an Anthropic API key is present (subscription-only safeguard)', async () => {
90
+ seedReviews();
91
+ environment.setHasAnthropicApiKey(true);
92
+ await expect(generateAiInsightsViaSession(input())).rejects.toThrow("Impossible de générer les insights — l'abonnement Claude est requis, pas de clé API");
93
+ expect(session.runCalls).toHaveLength(0);
94
+ });
95
+ it('rejects in French when no review stats exist', async () => {
96
+ await expect(generateAiInsightsViaSession(input())).rejects.toThrow('Aucune statistique de review disponible pour ce projet');
97
+ });
98
+ it('rejects in French when the subscription session is unavailable (logged out)', async () => {
99
+ seedReviews();
100
+ session.setResult({ status: 'unavailable', reason: 'dispatch-failed' });
101
+ await expect(generateAiInsightsViaSession(input())).rejects.toThrow('Impossible de générer les insights — connexion à l\'abonnement Claude requise');
102
+ });
103
+ it('rejects in French when the session times out', async () => {
104
+ seedReviews();
105
+ session.setResult({ status: 'timed-out' });
106
+ await expect(generateAiInsightsViaSession(input())).rejects.toThrow('La génération des insights a expiré');
107
+ });
108
+ it('throws when the completed answer is not valid JSON', async () => {
109
+ seedReviews();
110
+ session.setResult({ status: 'completed', answer: 'this is not JSON' });
111
+ await expect(generateAiInsightsViaSession(input())).rejects.toThrow();
112
+ });
113
+ });
114
+ //# sourceMappingURL=generateAiInsightsViaSession.usecase.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateAiInsightsViaSession.usecase.test.js","sourceRoot":"","sources":["../../../../../src/tests/units/usecases/insights/generateAiInsightsViaSession.usecase.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yFAAyF,CAAC;AACvI,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,oCAAoC,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAGpG,MAAM,aAAa,GAAqB;IACtC,UAAU,EAAE;QACV;YACE,aAAa,EAAE,OAAO;YACtB,KAAK,EAAE,uBAAuB;YAC9B,gBAAgB,EAAE,wBAAwB;YAC1C,SAAS,EAAE,CAAC,yBAAyB,CAAC;YACtC,UAAU,EAAE,CAAC,wBAAwB,CAAC;YACtC,eAAe,EAAE,CAAC,4BAA4B,CAAC;YAC/C,OAAO,EAAE,kCAAkC;SAC5C;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,uBAAuB;QAChC,SAAS,EAAE,CAAC,wBAAwB,CAAC;QACrC,UAAU,EAAE,CAAC,oBAAoB,CAAC;QAClC,eAAe,EAAE,CAAC,6BAA6B,CAAC;QAChD,QAAQ,EAAE,qBAAqB;KAChC;IACD,WAAW,EAAE,sBAAsB;CACpC,CAAC;AAEF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,YAAkC,CAAC;IACvC,IAAI,iBAA4C,CAAC;IACjD,IAAI,4BAAkE,CAAC;IACvE,IAAI,WAAmC,CAAC;IACxC,IAAI,OAAqC,CAAC;IAE1C,SAAS,KAAK;QACZ,OAAO;YACL,WAAW,EAAE,eAAe;YAC5B,YAAY;YACZ,iBAAiB;YACjB,4BAA4B;YAC5B,MAAM,EAAE,gBAAgB,EAAE;YAC1B,OAAO;YACP,WAAW;YACX,QAAQ,EAAE,IAAa;SACxB,CAAC;IACJ,CAAC;IAED,SAAS,WAAW;QAClB,MAAM,OAAO,GAAG;YACd,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACpF,CAAC;QACF,YAAY,CAAC,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC1C,iBAAiB,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACpD,4BAA4B,GAAG,IAAI,oCAAoC,EAAE,CAAC;QAC1E,WAAW,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC3C,OAAO,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,SAAS,CAAC;YAChB,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,OAAO;SAC9D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,WAAW,EAAE,CAAC;QACd,iBAAiB,CAAC,SAAS,CACzB,eAAe,EACf,2BAA2B,EAC3B,uLAAuL,CACxL,CAAC;QACF,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC;QAE5C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAExC,MAAM,MAAM,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjE,qFAAqF,CACtF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,MAAM,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjE,wDAAwD,CACzD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAExE,MAAM,MAAM,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjE,+EAA+E,CAChF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAE3C,MAAM,MAAM,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjE,qCAAqC,CACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAEvE,MAAM,MAAM,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}