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
@@ -23,6 +23,7 @@ vi.mock('@/config/loader.js', () => ({
23
23
  vi.mock('@/security/verifier.js', () => ({
24
24
  verifyGitLabSignature: vi.fn(() => ({ valid: true })),
25
25
  getGitLabEventType: vi.fn(() => 'Merge Request Hook'),
26
+ getGitLabEventUuid: vi.fn(() => undefined),
26
27
  }));
27
28
  vi.mock('@/frameworks/queue/pQueueAdapter.js', () => ({
28
29
  createJobId: vi.fn(() => 'gitlab-test-org/test-project-42'),
@@ -65,9 +66,11 @@ vi.mock('@/modules/platform-integration/interface-adapters/gateways/diffMetadata
65
66
  })),
66
67
  }));
67
68
  import { describe, it, expect, beforeEach, afterEach } from 'vitest';
68
- import { handleGitLabWebhook } from '../../../../../modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.js';
69
+ import { handleGitLabWebhook, extractBaseUrl, buildGitLabReviewProcessor, } from '../../../../../modules/platform-integration/interface-adapters/controllers/webhook/gitlab.controller.js';
69
70
  import { enqueueReview } from '../../../../../frameworks/queue/pQueueAdapter.js';
70
71
  import { invokeClaudeReview } from '../../../../../claude/invoker.js';
72
+ import { verifyGitLabSignature, getGitLabEventType } from '../../../../../security/verifier.js';
73
+ import { findRepositoryByProjectPath } from '../../../../../config/loader.js';
71
74
  import { GitLabEventFactory } from '../../../../../tests/factories/gitLabEvent.factory.js';
72
75
  import { createStubLogger } from '../../../../../tests/stubs/logger.stub.js';
73
76
  import { TrackedMrFactory } from '../../../../../tests/factories/trackedMr.factory.js';
@@ -530,5 +533,360 @@ describe('handleGitLabWebhook', () => {
530
533
  });
531
534
  });
532
535
  });
536
+ describe('extractBaseUrl', () => {
537
+ it('returns protocol and host for an HTTPS remote', () => {
538
+ expect(extractBaseUrl('https://gitlab.example.com/group/project.git')).toBe('https://gitlab.example.com');
539
+ });
540
+ it('returns https host for an SSH remote', () => {
541
+ expect(extractBaseUrl('git@gitlab.example.com:group/project.git')).toBe('https://gitlab.example.com');
542
+ });
543
+ it('returns null for a remote that is neither http nor SSH-shaped', () => {
544
+ expect(extractBaseUrl('ftp-only-no-at-no-colon-pattern')).toBeNull();
545
+ });
546
+ it('returns null when the HTTPS URL is malformed', () => {
547
+ expect(extractBaseUrl('http://')).toBeNull();
548
+ });
549
+ });
550
+ describe('request gating before payload parsing', () => {
551
+ it('returns 401 when the GitLab signature is invalid', async () => {
552
+ vi.mocked(verifyGitLabSignature).mockReturnValueOnce({ valid: false, error: 'bad-token' });
553
+ const event = GitLabEventFactory.createWithReviewerAdded('claude-bot');
554
+ const request = { body: event, headers: {} };
555
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
556
+ expect(mockReply.status).toHaveBeenCalledWith(401);
557
+ expect(mockReply.send).toHaveBeenCalledWith({ error: 'bad-token' });
558
+ expect(enqueueReview).not.toHaveBeenCalled();
559
+ });
560
+ it('ignores events that are neither Note Hook nor Merge Request Hook', async () => {
561
+ vi.mocked(getGitLabEventType).mockReturnValueOnce('Pipeline Hook');
562
+ const event = GitLabEventFactory.createWithReviewerAdded('claude-bot');
563
+ const request = { body: event, headers: {} };
564
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
565
+ expect(mockReply.status).toHaveBeenCalledWith(200);
566
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored', reason: 'Not a MR event' }));
567
+ });
568
+ it('returns 400 when the merge request payload is not parseable', async () => {
569
+ const request = { body: { object_kind: 'merge_request' }, headers: {} };
570
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
571
+ expect(mockReply.status).toHaveBeenCalledWith(400);
572
+ expect(mockReply.send).toHaveBeenCalledWith({ error: 'Invalid webhook payload' });
573
+ });
574
+ });
575
+ describe('Note Hook handling', () => {
576
+ function buildNoteEvent(note) {
577
+ return {
578
+ object_kind: 'note',
579
+ event_type: 'note',
580
+ user: { username: 'note-author', name: 'Note Author' },
581
+ project: {
582
+ id: 1,
583
+ name: 'test-project',
584
+ path_with_namespace: 'test-org/test-project',
585
+ web_url: 'https://gitlab.com/test-org/test-project',
586
+ git_http_url: 'https://gitlab.com/test-org/test-project.git',
587
+ },
588
+ object_attributes: {
589
+ id: 7,
590
+ note,
591
+ noteable_type: 'MergeRequest',
592
+ noteable_id: 99,
593
+ },
594
+ merge_request: {
595
+ iid: 42,
596
+ title: 'Test MR',
597
+ state: 'opened',
598
+ source_branch: 'feature/test',
599
+ target_branch: 'main',
600
+ url: 'https://gitlab.com/test-org/test-project/-/merge_requests/42',
601
+ },
602
+ };
603
+ }
604
+ beforeEach(() => {
605
+ vi.mocked(getGitLabEventType).mockReturnValue('Note Hook');
606
+ });
607
+ it('ignores a note payload that does not match the note schema', async () => {
608
+ const request = { body: { object_kind: 'note' }, headers: {} };
609
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
610
+ expect(mockReply.status).toHaveBeenCalledWith(200);
611
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored', reason: 'Note payload not parseable' }));
612
+ });
613
+ it('ignores a note when the filter rejects it', async () => {
614
+ const body = buildNoteEvent('hello');
615
+ body.object_attributes.noteable_type = 'Issue';
616
+ const request = { body, headers: {} };
617
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
618
+ expect(mockReply.status).toHaveBeenCalledWith(200);
619
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored' }));
620
+ });
621
+ it('ignores a note when the repository is not configured', async () => {
622
+ vi.mocked(findRepositoryByProjectPath).mockReturnValueOnce(undefined);
623
+ const request = { body: buildNoteEvent('hello'), headers: {} };
624
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
625
+ expect(mockReply.status).toHaveBeenCalledWith(200);
626
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored', reason: 'Repository not configured' }));
627
+ });
628
+ it('records a bypass when the note carries a valid bypass marker', async () => {
629
+ const request = {
630
+ body: buildNoteEvent('/bypass-quality "urgent hotfix"'),
631
+ headers: {},
632
+ };
633
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
634
+ expect(mockGateway.update).toHaveBeenCalledWith('/home/user/projects/test-project', 'gitlab-test-org/test-project-42', expect.objectContaining({ bypass: expect.objectContaining({ reason: 'urgent hotfix' }) }));
635
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'bypass-recorded' }));
636
+ });
637
+ it('rejects a bypass marker that has no reason and posts an explanation comment', async () => {
638
+ const noteCommentPostGateway = new StubNoteCommentPostGateway();
639
+ const deps = { ...defaultDeps, noteCommentPostGateway };
640
+ const request = {
641
+ body: buildNoteEvent('/bypass-quality'),
642
+ headers: {},
643
+ };
644
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, deps);
645
+ expect(noteCommentPostGateway.calls).toHaveLength(1);
646
+ expect(noteCommentPostGateway.calls[0]).toEqual(expect.objectContaining({ projectPath: 'test-org/test-project', mrNumber: 42 }));
647
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'bypass-rejected', reason: 'missing-reason' }));
648
+ });
649
+ it('ignores a bypass marker when the MR is not tracked', async () => {
650
+ mockGateway.getById.mockReturnValue(null);
651
+ const request = {
652
+ body: buildNoteEvent('/bypass-quality "reason here"'),
653
+ headers: {},
654
+ };
655
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
656
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored', reason: 'MR not tracked' }));
657
+ });
658
+ it('ignores a note that carries no bypass marker', async () => {
659
+ const request = {
660
+ body: buildNoteEvent('just a normal comment'),
661
+ headers: {},
662
+ };
663
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
664
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored', reason: 'No bypass marker' }));
665
+ });
666
+ it('parks a note trigger from a non-trusted actor (provenance gate)', async () => {
667
+ const memberAccess = new StubMemberAccessGateway();
668
+ memberAccess.setAccess('note-author', MEMBER_ACCESS_LEVELS.reporter);
669
+ const deps = { ...defaultDeps, isTrustedActor: new IsTrustedActorUseCase(memberAccess) };
670
+ const request = {
671
+ body: buildNoteEvent('/bypass-quality "reason here"'),
672
+ headers: {},
673
+ };
674
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, deps);
675
+ expect(mockReply.status).toHaveBeenCalledWith(202);
676
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'pending-confirmation', reason: 'untrusted-actor' }));
677
+ expect(mockGateway.update).not.toHaveBeenCalled();
678
+ });
679
+ });
680
+ describe('closed MR with unconfigured repository', () => {
681
+ it('acknowledges without cleanup when the repo is not configured', async () => {
682
+ vi.mocked(findRepositoryByProjectPath).mockReturnValueOnce(undefined);
683
+ const event = GitLabEventFactory.createClosedMr();
684
+ const request = { body: event, headers: {} };
685
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
686
+ expect(mockReply.status).toHaveBeenCalledWith(200);
687
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored', reason: 'MR closed, repo not configured' }));
688
+ });
689
+ });
690
+ describe('approval quality gate', () => {
691
+ function buildApprovedMr(overrides = {}) {
692
+ return TrackedMrFactory.create({
693
+ id: 'gitlab-test-org/test-project-42',
694
+ mrNumber: 42,
695
+ platform: 'gitlab',
696
+ project: 'test-org/test-project',
697
+ state: 'pending-review',
698
+ latestScore: 4,
699
+ openThreads: 0,
700
+ bypass: null,
701
+ ...overrides,
702
+ });
703
+ }
704
+ it('revokes the platform approval and posts an FR comment when the quality gate fails', async () => {
705
+ const trackedMr = buildApprovedMr();
706
+ mockGateway.getById.mockReturnValue(trackedMr);
707
+ const approvalRevocationGateway = new StubApprovalRevocationGateway();
708
+ const noteCommentPostGateway = new StubNoteCommentPostGateway();
709
+ const deps = {
710
+ ...defaultDeps,
711
+ approvalRevocationGateway,
712
+ noteCommentPostGateway,
713
+ getQualityThreshold: () => 8,
714
+ };
715
+ const event = GitLabEventFactory.createApprovedMr();
716
+ const request = { body: event, headers: {} };
717
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, deps);
718
+ expect(approvalRevocationGateway.calls).toHaveLength(1);
719
+ expect(noteCommentPostGateway.calls).toHaveLength(1);
720
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'unapproved', mrNumber: 42 }));
721
+ });
722
+ it('continues to post the FR comment when revoking the approval throws', async () => {
723
+ const trackedMr = buildApprovedMr();
724
+ mockGateway.getById.mockReturnValue(trackedMr);
725
+ const approvalRevocationGateway = new StubApprovalRevocationGateway();
726
+ approvalRevocationGateway.shouldThrow = true;
727
+ const noteCommentPostGateway = new StubNoteCommentPostGateway();
728
+ const deps = {
729
+ ...defaultDeps,
730
+ approvalRevocationGateway,
731
+ noteCommentPostGateway,
732
+ getQualityThreshold: () => 8,
733
+ };
734
+ const event = GitLabEventFactory.createApprovedMr();
735
+ const request = { body: event, headers: {} };
736
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, deps);
737
+ expect(noteCommentPostGateway.calls).toHaveLength(1);
738
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'unapproved', mrNumber: 42 }));
739
+ });
740
+ it('ignores the approval when the MR is not tracked', async () => {
741
+ mockGateway.getById.mockReturnValue(null);
742
+ const event = GitLabEventFactory.createApprovedMr();
743
+ const request = { body: event, headers: {} };
744
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
745
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored', reason: 'not-found', mrNumber: 42 }));
746
+ });
747
+ });
748
+ describe('followup budget gate', () => {
749
+ function buildFollowupMr() {
750
+ return TrackedMrFactory.create({
751
+ id: 'gitlab-test-org/test-project-42',
752
+ mrNumber: 42,
753
+ platform: 'gitlab',
754
+ project: 'test-org/test-project',
755
+ state: 'pending-review',
756
+ openThreads: 3,
757
+ autoFollowup: true,
758
+ lastPushAt: '2026-05-26T12:00:00.000Z',
759
+ lastReviewAt: '2026-05-25T12:00:00.000Z',
760
+ });
761
+ }
762
+ it('rejects a followup and broadcasts when the budget is exceeded', async () => {
763
+ const followupMr = buildFollowupMr();
764
+ mockGateway.getById.mockReturnValue(followupMr);
765
+ mockGateway.getByNumber.mockReturnValue(followupMr);
766
+ mockGateway.recordPush.mockReturnValue(followupMr);
767
+ const enforceBudget = {
768
+ execute: vi.fn(async () => ({
769
+ accepted: false,
770
+ status: {
771
+ limitUsd: 200,
772
+ consumedUsd: 250,
773
+ remainingUsd: 0,
774
+ percentUsed: 125,
775
+ exceeded: true,
776
+ periodStart: '2026-05-01T00:00:00.000Z',
777
+ },
778
+ })),
779
+ };
780
+ const broadcastBudgetExceeded = vi.fn();
781
+ const deps = { ...defaultDeps, enforceBudget, broadcastBudgetExceeded };
782
+ const event = GitLabEventFactory.createMrUpdate();
783
+ const request = { body: event, headers: {} };
784
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, deps);
785
+ expect(enqueueReview).not.toHaveBeenCalled();
786
+ expect(broadcastBudgetExceeded).toHaveBeenCalledWith(expect.objectContaining({ mrNumber: 42, platform: 'gitlab' }));
787
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'rejected', reason: 'budget-exceeded' }));
788
+ });
789
+ it('skips the followup when auto-followup is disabled on the MR', async () => {
790
+ const followupMr = TrackedMrFactory.create({
791
+ id: 'gitlab-test-org/test-project-42',
792
+ mrNumber: 42,
793
+ platform: 'gitlab',
794
+ project: 'test-org/test-project',
795
+ state: 'pending-review',
796
+ openThreads: 3,
797
+ autoFollowup: false,
798
+ lastPushAt: '2026-05-26T12:00:00.000Z',
799
+ lastReviewAt: '2026-05-25T12:00:00.000Z',
800
+ });
801
+ mockGateway.getById.mockReturnValue(followupMr);
802
+ mockGateway.getByNumber.mockReturnValue(followupMr);
803
+ mockGateway.recordPush.mockReturnValue(followupMr);
804
+ const event = GitLabEventFactory.createMrUpdate();
805
+ const request = { body: event, headers: {} };
806
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
807
+ expect(enqueueReview).not.toHaveBeenCalled();
808
+ expect(mockReply.send).toHaveBeenCalledWith(expect.objectContaining({ status: 'ignored', reason: 'Auto-followup disabled' }));
809
+ });
810
+ });
811
+ describe('review processor build', () => {
812
+ it('throws when no repository is configured for the job projectPath', async () => {
813
+ vi.mocked(findRepositoryByProjectPath).mockReturnValueOnce(undefined);
814
+ const processor = buildGitLabReviewProcessor(defaultDeps, logger)({
815
+ id: 'gitlab-test-org/test-project-42',
816
+ platform: 'gitlab',
817
+ projectPath: 'test-org/test-project',
818
+ localPath: '/home/user/projects/test-project',
819
+ mrNumber: 42,
820
+ skill: 'review-front',
821
+ mrUrl: 'https://gitlab.com/test-org/test-project/-/merge_requests/42',
822
+ sourceBranch: 'feature/test',
823
+ targetBranch: 'main',
824
+ jobType: 'review',
825
+ });
826
+ await expect(processor({
827
+ id: 'gitlab-test-org/test-project-42',
828
+ platform: 'gitlab',
829
+ projectPath: 'test-org/test-project',
830
+ localPath: '/home/user/projects/test-project',
831
+ mrNumber: 42,
832
+ skill: 'review-front',
833
+ mrUrl: 'https://gitlab.com/test-org/test-project/-/merge_requests/42',
834
+ sourceBranch: 'feature/test',
835
+ targetBranch: 'main',
836
+ jobType: 'review',
837
+ }, new AbortController().signal)).rejects.toThrow(/No GitLab repository configured/);
838
+ });
839
+ it('records completion stats on a successful review run', async () => {
840
+ mockGateway.getById.mockReturnValue(null);
841
+ const recordCompletion = new RecordReviewCompletionUseCase(mockGateway);
842
+ const recordSpy = vi.spyOn(recordCompletion, 'execute');
843
+ const diffStatsFetchGateway = { fetchDiffStats: vi.fn(() => null) };
844
+ const deps = { ...defaultDeps, recordCompletion, diffStatsFetchGateway };
845
+ vi.mocked(invokeClaudeReview).mockResolvedValue({
846
+ success: true,
847
+ cancelled: false,
848
+ stdout: 'Score: 9/10',
849
+ stderr: '',
850
+ exitCode: 0,
851
+ durationMs: 1200,
852
+ });
853
+ vi.mocked(enqueueReview).mockImplementation(async (job, callback) => {
854
+ await callback(job, new AbortController().signal);
855
+ return true;
856
+ });
857
+ const event = GitLabEventFactory.createWithReviewerAdded('claude-bot');
858
+ const request = { body: event, headers: {} };
859
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, deps);
860
+ expect(recordSpy).toHaveBeenCalledWith(expect.objectContaining({
861
+ mrId: 'gitlab-test-org/test-project-42',
862
+ reviewData: expect.objectContaining({ type: 'review' }),
863
+ }));
864
+ });
865
+ it('throws when a non-cancelled review run fails', async () => {
866
+ mockGateway.getById.mockReturnValue(null);
867
+ vi.mocked(invokeClaudeReview).mockResolvedValue({
868
+ success: false,
869
+ cancelled: false,
870
+ stdout: '',
871
+ stderr: 'boom',
872
+ exitCode: 1,
873
+ durationMs: 50,
874
+ });
875
+ const capturedMessages = [];
876
+ vi.mocked(enqueueReview).mockImplementation(async (job, callback) => {
877
+ try {
878
+ await callback(job, new AbortController().signal);
879
+ }
880
+ catch (error) {
881
+ capturedMessages.push(error instanceof Error ? error.message : String(error));
882
+ }
883
+ return true;
884
+ });
885
+ const event = GitLabEventFactory.createWithReviewerAdded('claude-bot');
886
+ const request = { body: event, headers: {} };
887
+ await handleGitLabWebhook(request, mockReply, logger, mockGateway, defaultDeps);
888
+ expect(capturedMessages).toEqual(['boom']);
889
+ });
890
+ });
533
891
  });
534
892
  //# sourceMappingURL=gitlab.controller.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.controller.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitlab.controller.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.ts"],"names":[],"mappings":"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"}
@@ -19,13 +19,20 @@ describe('GitHubReviewActionCliGateway', () => {
19
19
  expect(executor).toHaveBeenCalledWith('gh', expect.arrayContaining(['repos/owner/repo/issues/42/comments', 'body=## Review complete']), '/tmp');
20
20
  expect(result.succeeded).toBe(1);
21
21
  });
22
- it('should execute THREAD_REPLY action with gh api', async () => {
22
+ it('should execute THREAD_REPLY action with the gh graphql addPullRequestReviewThreadReply mutation', async () => {
23
23
  const executor = vi.fn();
24
24
  const gateway = new GitHubReviewActionCliGateway(executor);
25
- const actions = [{ type: 'THREAD_REPLY', threadId: '123456', message: 'Done!' }];
25
+ const actions = [{ type: 'THREAD_REPLY', threadId: 'PRRT_node123', message: 'Done!' }];
26
26
  const context = { projectPath: 'owner/repo', mrNumber: 42, localPath: '/tmp', baseUrl: null };
27
27
  const result = await gateway.execute(actions, context);
28
- expect(executor).toHaveBeenCalledWith('gh', expect.arrayContaining(['repos/owner/repo/pulls/42/comments/123456/replies', 'body=Done!']), '/tmp');
28
+ const call = executor.mock.calls[0];
29
+ expect(call[0]).toBe('gh');
30
+ const args = call[1];
31
+ expect(args).toContain('graphql');
32
+ expect(args.some((arg) => arg.includes('addPullRequestReviewThreadReply'))).toBe(true);
33
+ expect(args).toContain('threadId=PRRT_node123');
34
+ expect(args).toContain('body=Done!');
35
+ expect(call[2]).toBe('/tmp');
29
36
  expect(result.succeeded).toBe(1);
30
37
  });
31
38
  it('should execute ADD_LABEL action with gh api', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"reviewAction.github.cli.gateway.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewAction.github.cli.gateway.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transcriptStreamJson.parser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcriptStreamJson.parser.test.d.ts","sourceRoot":"","sources":["../../../../../../src/tests/units/modules/claude-invocation/gateways/transcriptStreamJson.parser.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { parseStreamJsonEvent, extractText, isTurnComplete, } from '../../../../../modules/ember-chat/interface-adapters/gateways/emberStreamJson.parser.js';
2
+ import { parseStreamJsonEvent, extractText, isTurnComplete, } from '../../../../../modules/claude-invocation/interface-adapters/gateways/transcriptStreamJson.parser.js';
3
3
  describe('parseStreamJsonEvent', () => {
4
4
  it('parses a JSON object line into an event', () => {
5
5
  expect(parseStreamJsonEvent('{"type":"result"}')).toEqual({ type: 'result' });
@@ -62,4 +62,4 @@ describe('isTurnComplete', () => {
62
62
  expect(isTurnComplete({})).toBe(false);
63
63
  });
64
64
  });
65
- //# sourceMappingURL=emberStreamJson.parser.test.js.map
65
+ //# sourceMappingURL=transcriptStreamJson.parser.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcriptStreamJson.parser.test.js","sourceRoot":"","sources":["../../../../../../src/tests/units/modules/claude-invocation/gateways/transcriptStreamJson.parser.test.ts"],"names":[],"mappings":"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"}