reviewflow 3.0.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 (914) hide show
  1. package/CHANGELOG.md +271 -0
  2. package/LICENSE +21 -0
  3. package/README.md +209 -0
  4. package/dist/claude/invoker.d.ts +3 -0
  5. package/dist/claude/invoker.d.ts.map +1 -0
  6. package/dist/claude/invoker.js +4 -0
  7. package/dist/claude/invoker.js.map +1 -0
  8. package/dist/claude/progressParser.d.ts +3 -0
  9. package/dist/claude/progressParser.d.ts.map +1 -0
  10. package/dist/claude/progressParser.js +4 -0
  11. package/dist/claude/progressParser.js.map +1 -0
  12. package/dist/cli/parseCliArgs.d.ts +6 -0
  13. package/dist/cli/parseCliArgs.d.ts.map +1 -0
  14. package/dist/cli/parseCliArgs.js +13 -0
  15. package/dist/cli/parseCliArgs.js.map +1 -0
  16. package/dist/config/loader.d.ts +3 -0
  17. package/dist/config/loader.d.ts.map +1 -0
  18. package/dist/config/loader.js +4 -0
  19. package/dist/config/loader.js.map +1 -0
  20. package/dist/config/projectConfig.d.ts +30 -0
  21. package/dist/config/projectConfig.d.ts.map +1 -0
  22. package/dist/config/projectConfig.js +89 -0
  23. package/dist/config/projectConfig.js.map +1 -0
  24. package/dist/entities/diffMetadata/diffMetadata.gateway.d.ts +5 -0
  25. package/dist/entities/diffMetadata/diffMetadata.gateway.d.ts.map +1 -0
  26. package/dist/entities/diffMetadata/diffMetadata.gateway.js +2 -0
  27. package/dist/entities/diffMetadata/diffMetadata.gateway.js.map +1 -0
  28. package/dist/entities/github/githubPullRequestEvent.guard.d.ts +199 -0
  29. package/dist/entities/github/githubPullRequestEvent.guard.d.ts.map +1 -0
  30. package/dist/entities/github/githubPullRequestEvent.guard.js +28 -0
  31. package/dist/entities/github/githubPullRequestEvent.guard.js.map +1 -0
  32. package/dist/entities/gitlab/gitlabMergeRequestEvent.guard.d.ts +231 -0
  33. package/dist/entities/gitlab/gitlabMergeRequestEvent.guard.d.ts.map +1 -0
  34. package/dist/entities/gitlab/gitlabMergeRequestEvent.guard.js +52 -0
  35. package/dist/entities/gitlab/gitlabMergeRequestEvent.guard.js.map +1 -0
  36. package/dist/entities/job/jobContext.gateway.d.ts +10 -0
  37. package/dist/entities/job/jobContext.gateway.d.ts.map +1 -0
  38. package/dist/entities/job/jobContext.gateway.js +2 -0
  39. package/dist/entities/job/jobContext.gateway.js.map +1 -0
  40. package/dist/entities/progress/agentDefinition.type.d.ts +7 -0
  41. package/dist/entities/progress/agentDefinition.type.d.ts.map +1 -0
  42. package/dist/entities/progress/agentDefinition.type.js +18 -0
  43. package/dist/entities/progress/agentDefinition.type.js.map +1 -0
  44. package/dist/entities/progress/progress.calculator.d.ts +3 -0
  45. package/dist/entities/progress/progress.calculator.d.ts.map +1 -0
  46. package/dist/entities/progress/progress.calculator.js +17 -0
  47. package/dist/entities/progress/progress.calculator.js.map +1 -0
  48. package/dist/entities/progress/progress.factory.d.ts +4 -0
  49. package/dist/entities/progress/progress.factory.d.ts.map +1 -0
  50. package/dist/entities/progress/progress.factory.js +15 -0
  51. package/dist/entities/progress/progress.factory.js.map +1 -0
  52. package/dist/entities/progress/progress.gateway.d.ts +12 -0
  53. package/dist/entities/progress/progress.gateway.d.ts.map +1 -0
  54. package/dist/entities/progress/progress.gateway.js +2 -0
  55. package/dist/entities/progress/progress.gateway.js.map +1 -0
  56. package/dist/entities/progress/progress.type.d.ts +28 -0
  57. package/dist/entities/progress/progress.type.d.ts.map +1 -0
  58. package/dist/entities/progress/progress.type.js +2 -0
  59. package/dist/entities/progress/progress.type.js.map +1 -0
  60. package/dist/entities/review/reviewScore.valueObject.d.ts +25 -0
  61. package/dist/entities/review/reviewScore.valueObject.d.ts.map +1 -0
  62. package/dist/entities/review/reviewScore.valueObject.js +60 -0
  63. package/dist/entities/review/reviewScore.valueObject.js.map +1 -0
  64. package/dist/entities/reviewAction/reviewAction.d.ts +12 -0
  65. package/dist/entities/reviewAction/reviewAction.d.ts.map +1 -0
  66. package/dist/entities/reviewAction/reviewAction.gateway.d.ts +19 -0
  67. package/dist/entities/reviewAction/reviewAction.gateway.d.ts.map +1 -0
  68. package/dist/entities/reviewAction/reviewAction.gateway.js +2 -0
  69. package/dist/entities/reviewAction/reviewAction.gateway.js.map +1 -0
  70. package/dist/entities/reviewAction/reviewAction.guard.d.ts +27 -0
  71. package/dist/entities/reviewAction/reviewAction.guard.d.ts.map +1 -0
  72. package/dist/entities/reviewAction/reviewAction.guard.js +8 -0
  73. package/dist/entities/reviewAction/reviewAction.guard.js.map +1 -0
  74. package/dist/entities/reviewAction/reviewAction.js +2 -0
  75. package/dist/entities/reviewAction/reviewAction.js.map +1 -0
  76. package/dist/entities/reviewAction/reviewAction.schema.d.ts +51 -0
  77. package/dist/entities/reviewAction/reviewAction.schema.d.ts.map +1 -0
  78. package/dist/entities/reviewAction/reviewAction.schema.js +37 -0
  79. package/dist/entities/reviewAction/reviewAction.schema.js.map +1 -0
  80. package/dist/entities/reviewContext/reviewContext.d.ts +62 -0
  81. package/dist/entities/reviewContext/reviewContext.d.ts.map +1 -0
  82. package/dist/entities/reviewContext/reviewContext.gateway.d.ts +16 -0
  83. package/dist/entities/reviewContext/reviewContext.gateway.d.ts.map +1 -0
  84. package/dist/entities/reviewContext/reviewContext.gateway.js +2 -0
  85. package/dist/entities/reviewContext/reviewContext.gateway.js.map +1 -0
  86. package/dist/entities/reviewContext/reviewContext.js +2 -0
  87. package/dist/entities/reviewContext/reviewContext.js.map +1 -0
  88. package/dist/entities/reviewContext/reviewContext.schema.d.ts +122 -0
  89. package/dist/entities/reviewContext/reviewContext.schema.d.ts.map +1 -0
  90. package/dist/entities/reviewContext/reviewContext.schema.js +42 -0
  91. package/dist/entities/reviewContext/reviewContext.schema.js.map +1 -0
  92. package/dist/entities/reviewContext/reviewContextAction.guard.d.ts +247 -0
  93. package/dist/entities/reviewContext/reviewContextAction.guard.d.ts.map +1 -0
  94. package/dist/entities/reviewContext/reviewContextAction.guard.js +28 -0
  95. package/dist/entities/reviewContext/reviewContextAction.guard.js.map +1 -0
  96. package/dist/entities/reviewContext/reviewContextAction.schema.d.ts +16 -0
  97. package/dist/entities/reviewContext/reviewContextAction.schema.d.ts.map +1 -0
  98. package/dist/entities/reviewContext/reviewContextAction.schema.js +13 -0
  99. package/dist/entities/reviewContext/reviewContextAction.schema.js.map +1 -0
  100. package/dist/entities/reviewRequest/reviewRequest.entity.d.ts +37 -0
  101. package/dist/entities/reviewRequest/reviewRequest.entity.d.ts.map +1 -0
  102. package/dist/entities/reviewRequest/reviewRequest.entity.js +24 -0
  103. package/dist/entities/reviewRequest/reviewRequest.entity.js.map +1 -0
  104. package/dist/entities/reviewRequest/reviewRequest.guard.d.ts +20 -0
  105. package/dist/entities/reviewRequest/reviewRequest.guard.d.ts.map +1 -0
  106. package/dist/entities/reviewRequest/reviewRequest.guard.js +11 -0
  107. package/dist/entities/reviewRequest/reviewRequest.guard.js.map +1 -0
  108. package/dist/entities/reviewRequest/reviewRequestState.valueObject.d.ts +26 -0
  109. package/dist/entities/reviewRequest/reviewRequestState.valueObject.d.ts.map +1 -0
  110. package/dist/entities/reviewRequest/reviewRequestState.valueObject.js +61 -0
  111. package/dist/entities/reviewRequest/reviewRequestState.valueObject.js.map +1 -0
  112. package/dist/entities/shared/duration.valueObject.d.ts +21 -0
  113. package/dist/entities/shared/duration.valueObject.d.ts.map +1 -0
  114. package/dist/entities/shared/duration.valueObject.js +60 -0
  115. package/dist/entities/shared/duration.valueObject.js.map +1 -0
  116. package/dist/entities/threadFetch/threadFetch.gateway.d.ts +5 -0
  117. package/dist/entities/threadFetch/threadFetch.gateway.d.ts.map +1 -0
  118. package/dist/entities/threadFetch/threadFetch.gateway.js +2 -0
  119. package/dist/entities/threadFetch/threadFetch.gateway.js.map +1 -0
  120. package/dist/entities/tracking/assignmentInfo.d.ts +6 -0
  121. package/dist/entities/tracking/assignmentInfo.d.ts.map +1 -0
  122. package/dist/entities/tracking/assignmentInfo.js +2 -0
  123. package/dist/entities/tracking/assignmentInfo.js.map +1 -0
  124. package/dist/entities/tracking/mrTrackingData.d.ts +19 -0
  125. package/dist/entities/tracking/mrTrackingData.d.ts.map +1 -0
  126. package/dist/entities/tracking/mrTrackingData.js +11 -0
  127. package/dist/entities/tracking/mrTrackingData.js.map +1 -0
  128. package/dist/entities/tracking/reviewEvent.d.ts +12 -0
  129. package/dist/entities/tracking/reviewEvent.d.ts.map +1 -0
  130. package/dist/entities/tracking/reviewEvent.js +2 -0
  131. package/dist/entities/tracking/reviewEvent.js.map +1 -0
  132. package/dist/entities/tracking/trackedMr.d.ts +33 -0
  133. package/dist/entities/tracking/trackedMr.d.ts.map +1 -0
  134. package/dist/entities/tracking/trackedMr.js +4 -0
  135. package/dist/entities/tracking/trackedMr.js.map +1 -0
  136. package/dist/frameworks/claude/claudeInvoker.d.ts +30 -0
  137. package/dist/frameworks/claude/claudeInvoker.d.ts.map +1 -0
  138. package/dist/frameworks/claude/claudeInvoker.js +500 -0
  139. package/dist/frameworks/claude/claudeInvoker.js.map +1 -0
  140. package/dist/frameworks/claude/progressParser.d.ts +70 -0
  141. package/dist/frameworks/claude/progressParser.d.ts.map +1 -0
  142. package/dist/frameworks/claude/progressParser.js +196 -0
  143. package/dist/frameworks/claude/progressParser.js.map +1 -0
  144. package/dist/frameworks/config/configLoader.d.ts +34 -0
  145. package/dist/frameworks/config/configLoader.d.ts.map +1 -0
  146. package/dist/frameworks/config/configLoader.js +182 -0
  147. package/dist/frameworks/config/configLoader.js.map +1 -0
  148. package/dist/frameworks/logging/logBuffer.d.ts +38 -0
  149. package/dist/frameworks/logging/logBuffer.d.ts.map +1 -0
  150. package/dist/frameworks/logging/logBuffer.js +72 -0
  151. package/dist/frameworks/logging/logBuffer.js.map +1 -0
  152. package/dist/frameworks/queue/pQueueAdapter.d.ts +127 -0
  153. package/dist/frameworks/queue/pQueueAdapter.d.ts.map +1 -0
  154. package/dist/frameworks/queue/pQueueAdapter.js +276 -0
  155. package/dist/frameworks/queue/pQueueAdapter.js.map +1 -0
  156. package/dist/frameworks/settings/runtimeSettings.d.ts +12 -0
  157. package/dist/frameworks/settings/runtimeSettings.d.ts.map +1 -0
  158. package/dist/frameworks/settings/runtimeSettings.js +19 -0
  159. package/dist/frameworks/settings/runtimeSettings.js.map +1 -0
  160. package/dist/interface-adapters/adapters/githubPullRequest.adapter.d.ts +6 -0
  161. package/dist/interface-adapters/adapters/githubPullRequest.adapter.d.ts.map +1 -0
  162. package/dist/interface-adapters/adapters/githubPullRequest.adapter.js +27 -0
  163. package/dist/interface-adapters/adapters/githubPullRequest.adapter.js.map +1 -0
  164. package/dist/interface-adapters/adapters/gitlabMergeRequest.adapter.d.ts +6 -0
  165. package/dist/interface-adapters/adapters/gitlabMergeRequest.adapter.d.ts.map +1 -0
  166. package/dist/interface-adapters/adapters/gitlabMergeRequest.adapter.js +35 -0
  167. package/dist/interface-adapters/adapters/gitlabMergeRequest.adapter.js.map +1 -0
  168. package/dist/interface-adapters/adapters/platformAdapter.d.ts +9 -0
  169. package/dist/interface-adapters/adapters/platformAdapter.d.ts.map +1 -0
  170. package/dist/interface-adapters/adapters/platformAdapter.js +16 -0
  171. package/dist/interface-adapters/adapters/platformAdapter.js.map +1 -0
  172. package/dist/interface-adapters/controllers/http/cliStatus.routes.d.ts +3 -0
  173. package/dist/interface-adapters/controllers/http/cliStatus.routes.d.ts.map +1 -0
  174. package/dist/interface-adapters/controllers/http/cliStatus.routes.js +173 -0
  175. package/dist/interface-adapters/controllers/http/cliStatus.routes.js.map +1 -0
  176. package/dist/interface-adapters/controllers/http/health.routes.d.ts +9 -0
  177. package/dist/interface-adapters/controllers/http/health.routes.d.ts.map +1 -0
  178. package/dist/interface-adapters/controllers/http/health.routes.js +23 -0
  179. package/dist/interface-adapters/controllers/http/health.routes.js.map +1 -0
  180. package/dist/interface-adapters/controllers/http/index.d.ts +6 -0
  181. package/dist/interface-adapters/controllers/http/index.d.ts.map +1 -0
  182. package/dist/interface-adapters/controllers/http/index.js +6 -0
  183. package/dist/interface-adapters/controllers/http/index.js.map +1 -0
  184. package/dist/interface-adapters/controllers/http/logs.routes.d.ts +3 -0
  185. package/dist/interface-adapters/controllers/http/logs.routes.d.ts.map +1 -0
  186. package/dist/interface-adapters/controllers/http/logs.routes.js +12 -0
  187. package/dist/interface-adapters/controllers/http/logs.routes.js.map +1 -0
  188. package/dist/interface-adapters/controllers/http/mrTracking.routes.d.ts +8 -0
  189. package/dist/interface-adapters/controllers/http/mrTracking.routes.d.ts.map +1 -0
  190. package/dist/interface-adapters/controllers/http/mrTracking.routes.js +63 -0
  191. package/dist/interface-adapters/controllers/http/mrTracking.routes.js.map +1 -0
  192. package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts +12 -0
  193. package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts.map +1 -0
  194. package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js +265 -0
  195. package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js.map +1 -0
  196. package/dist/interface-adapters/controllers/http/projectConfig.routes.d.ts +3 -0
  197. package/dist/interface-adapters/controllers/http/projectConfig.routes.d.ts.map +1 -0
  198. package/dist/interface-adapters/controllers/http/projectConfig.routes.js +75 -0
  199. package/dist/interface-adapters/controllers/http/projectConfig.routes.js.map +1 -0
  200. package/dist/interface-adapters/controllers/http/reviews.routes.d.ts +18 -0
  201. package/dist/interface-adapters/controllers/http/reviews.routes.d.ts.map +1 -0
  202. package/dist/interface-adapters/controllers/http/reviews.routes.js +96 -0
  203. package/dist/interface-adapters/controllers/http/reviews.routes.js.map +1 -0
  204. package/dist/interface-adapters/controllers/http/settings.routes.d.ts +3 -0
  205. package/dist/interface-adapters/controllers/http/settings.routes.d.ts.map +1 -0
  206. package/dist/interface-adapters/controllers/http/settings.routes.js +21 -0
  207. package/dist/interface-adapters/controllers/http/settings.routes.js.map +1 -0
  208. package/dist/interface-adapters/controllers/http/stats.routes.d.ts +13 -0
  209. package/dist/interface-adapters/controllers/http/stats.routes.d.ts.map +1 -0
  210. package/dist/interface-adapters/controllers/http/stats.routes.js +37 -0
  211. package/dist/interface-adapters/controllers/http/stats.routes.js.map +1 -0
  212. package/dist/interface-adapters/controllers/mcp/addAction.handler.d.ts +4 -0
  213. package/dist/interface-adapters/controllers/mcp/addAction.handler.d.ts.map +1 -0
  214. package/dist/interface-adapters/controllers/mcp/addAction.handler.js +87 -0
  215. package/dist/interface-adapters/controllers/mcp/addAction.handler.js.map +1 -0
  216. package/dist/interface-adapters/controllers/mcp/completeAgent.handler.d.ts +4 -0
  217. package/dist/interface-adapters/controllers/mcp/completeAgent.handler.d.ts.map +1 -0
  218. package/dist/interface-adapters/controllers/mcp/completeAgent.handler.js +62 -0
  219. package/dist/interface-adapters/controllers/mcp/completeAgent.handler.js.map +1 -0
  220. package/dist/interface-adapters/controllers/mcp/getThreads.handler.d.ts +4 -0
  221. package/dist/interface-adapters/controllers/mcp/getThreads.handler.d.ts.map +1 -0
  222. package/dist/interface-adapters/controllers/mcp/getThreads.handler.js +32 -0
  223. package/dist/interface-adapters/controllers/mcp/getThreads.handler.js.map +1 -0
  224. package/dist/interface-adapters/controllers/mcp/getWorkflow.handler.d.ts +4 -0
  225. package/dist/interface-adapters/controllers/mcp/getWorkflow.handler.d.ts.map +1 -0
  226. package/dist/interface-adapters/controllers/mcp/getWorkflow.handler.js +28 -0
  227. package/dist/interface-adapters/controllers/mcp/getWorkflow.handler.js.map +1 -0
  228. package/dist/interface-adapters/controllers/mcp/setPhase.handler.d.ts +4 -0
  229. package/dist/interface-adapters/controllers/mcp/setPhase.handler.d.ts.map +1 -0
  230. package/dist/interface-adapters/controllers/mcp/setPhase.handler.js +60 -0
  231. package/dist/interface-adapters/controllers/mcp/setPhase.handler.js.map +1 -0
  232. package/dist/interface-adapters/controllers/mcp/startAgent.handler.d.ts +4 -0
  233. package/dist/interface-adapters/controllers/mcp/startAgent.handler.d.ts.map +1 -0
  234. package/dist/interface-adapters/controllers/mcp/startAgent.handler.js +40 -0
  235. package/dist/interface-adapters/controllers/mcp/startAgent.handler.js.map +1 -0
  236. package/dist/interface-adapters/controllers/webhook/eventFilter.d.ts +71 -0
  237. package/dist/interface-adapters/controllers/webhook/eventFilter.d.ts.map +1 -0
  238. package/dist/interface-adapters/controllers/webhook/eventFilter.js +252 -0
  239. package/dist/interface-adapters/controllers/webhook/eventFilter.js.map +1 -0
  240. package/dist/interface-adapters/controllers/webhook/github.controller.d.ts +5 -0
  241. package/dist/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -0
  242. package/dist/interface-adapters/controllers/webhook/github.controller.js +266 -0
  243. package/dist/interface-adapters/controllers/webhook/github.controller.js.map +1 -0
  244. package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts +5 -0
  245. package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts.map +1 -0
  246. package/dist/interface-adapters/controllers/webhook/gitlab.controller.js +461 -0
  247. package/dist/interface-adapters/controllers/webhook/gitlab.controller.js.map +1 -0
  248. package/dist/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.d.ts +7 -0
  249. package/dist/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.d.ts.map +1 -0
  250. package/dist/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.js +71 -0
  251. package/dist/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.js.map +1 -0
  252. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.d.ts +7 -0
  253. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.d.ts.map +1 -0
  254. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.js +58 -0
  255. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.js.map +1 -0
  256. package/dist/interface-adapters/gateways/diffMetadataFetch.github.gateway.d.ts +9 -0
  257. package/dist/interface-adapters/gateways/diffMetadataFetch.github.gateway.d.ts.map +1 -0
  258. package/dist/interface-adapters/gateways/diffMetadataFetch.github.gateway.js +16 -0
  259. package/dist/interface-adapters/gateways/diffMetadataFetch.github.gateway.js.map +1 -0
  260. package/dist/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.d.ts +9 -0
  261. package/dist/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.d.ts.map +1 -0
  262. package/dist/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.js +18 -0
  263. package/dist/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.js.map +1 -0
  264. package/dist/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.d.ts +10 -0
  265. package/dist/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.d.ts.map +1 -0
  266. package/dist/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.js +81 -0
  267. package/dist/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.js.map +1 -0
  268. package/dist/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.d.ts +22 -0
  269. package/dist/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.d.ts.map +1 -0
  270. package/dist/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.js +142 -0
  271. package/dist/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.js.map +1 -0
  272. package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.d.ts +8 -0
  273. package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.d.ts.map +1 -0
  274. package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.js +37 -0
  275. package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.js.map +1 -0
  276. package/dist/interface-adapters/gateways/jobContext.memory.gateway.d.ts +8 -0
  277. package/dist/interface-adapters/gateways/jobContext.memory.gateway.d.ts.map +1 -0
  278. package/dist/interface-adapters/gateways/jobContext.memory.gateway.js +13 -0
  279. package/dist/interface-adapters/gateways/jobContext.memory.gateway.js.map +1 -0
  280. package/dist/interface-adapters/gateways/reviewContext.fileSystem.gateway.d.ts +14 -0
  281. package/dist/interface-adapters/gateways/reviewContext.fileSystem.gateway.d.ts.map +1 -0
  282. package/dist/interface-adapters/gateways/reviewContext.fileSystem.gateway.js +87 -0
  283. package/dist/interface-adapters/gateways/reviewContext.fileSystem.gateway.js.map +1 -0
  284. package/dist/interface-adapters/gateways/reviewFile.gateway.d.ts +18 -0
  285. package/dist/interface-adapters/gateways/reviewFile.gateway.d.ts.map +1 -0
  286. package/dist/interface-adapters/gateways/reviewFile.gateway.js +2 -0
  287. package/dist/interface-adapters/gateways/reviewFile.gateway.js.map +1 -0
  288. package/dist/interface-adapters/gateways/reviewProgress.memory.gateway.d.ts +13 -0
  289. package/dist/interface-adapters/gateways/reviewProgress.memory.gateway.d.ts.map +1 -0
  290. package/dist/interface-adapters/gateways/reviewProgress.memory.gateway.js +73 -0
  291. package/dist/interface-adapters/gateways/reviewProgress.memory.gateway.js.map +1 -0
  292. package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.d.ts +19 -0
  293. package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.d.ts.map +1 -0
  294. package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.js +2 -0
  295. package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.js.map +1 -0
  296. package/dist/interface-adapters/gateways/stats.gateway.d.ts +7 -0
  297. package/dist/interface-adapters/gateways/stats.gateway.d.ts.map +1 -0
  298. package/dist/interface-adapters/gateways/stats.gateway.js +2 -0
  299. package/dist/interface-adapters/gateways/stats.gateway.js.map +1 -0
  300. package/dist/interface-adapters/gateways/threadFetch.github.gateway.d.ts +10 -0
  301. package/dist/interface-adapters/gateways/threadFetch.github.gateway.d.ts.map +1 -0
  302. package/dist/interface-adapters/gateways/threadFetch.github.gateway.js +33 -0
  303. package/dist/interface-adapters/gateways/threadFetch.github.gateway.js.map +1 -0
  304. package/dist/interface-adapters/gateways/threadFetch.gitlab.gateway.d.ts +10 -0
  305. package/dist/interface-adapters/gateways/threadFetch.gitlab.gateway.d.ts.map +1 -0
  306. package/dist/interface-adapters/gateways/threadFetch.gitlab.gateway.js +30 -0
  307. package/dist/interface-adapters/gateways/threadFetch.gitlab.gateway.js.map +1 -0
  308. package/dist/interface-adapters/presenters/jobStatus.presenter.d.ts +29 -0
  309. package/dist/interface-adapters/presenters/jobStatus.presenter.d.ts.map +1 -0
  310. package/dist/interface-adapters/presenters/jobStatus.presenter.js +57 -0
  311. package/dist/interface-adapters/presenters/jobStatus.presenter.js.map +1 -0
  312. package/dist/interface-adapters/presenters/reviewContextProgress.presenter.d.ts +8 -0
  313. package/dist/interface-adapters/presenters/reviewContextProgress.presenter.d.ts.map +1 -0
  314. package/dist/interface-adapters/presenters/reviewContextProgress.presenter.js +45 -0
  315. package/dist/interface-adapters/presenters/reviewContextProgress.presenter.js.map +1 -0
  316. package/dist/interface-adapters/presenters/reviewList.presenter.d.ts +22 -0
  317. package/dist/interface-adapters/presenters/reviewList.presenter.d.ts.map +1 -0
  318. package/dist/interface-adapters/presenters/reviewList.presenter.js +32 -0
  319. package/dist/interface-adapters/presenters/reviewList.presenter.js.map +1 -0
  320. package/dist/interface-adapters/services/projectStats.calculator.d.ts +8 -0
  321. package/dist/interface-adapters/services/projectStats.calculator.d.ts.map +1 -0
  322. package/dist/interface-adapters/services/projectStats.calculator.js +52 -0
  323. package/dist/interface-adapters/services/projectStats.calculator.js.map +1 -0
  324. package/dist/interface-adapters/views/dashboard/index.html +1537 -0
  325. package/dist/interface-adapters/views/dashboard/styles.css +1127 -0
  326. package/dist/main/cli.d.ts +12 -0
  327. package/dist/main/cli.d.ts.map +1 -0
  328. package/dist/main/cli.js +67 -0
  329. package/dist/main/cli.js.map +1 -0
  330. package/dist/main/dependencies.d.ts +20 -0
  331. package/dist/main/dependencies.d.ts.map +1 -0
  332. package/dist/main/dependencies.js +28 -0
  333. package/dist/main/dependencies.js.map +1 -0
  334. package/dist/main/mcpDependencies.d.ts +16 -0
  335. package/dist/main/mcpDependencies.d.ts.map +1 -0
  336. package/dist/main/mcpDependencies.js +35 -0
  337. package/dist/main/mcpDependencies.js.map +1 -0
  338. package/dist/main/routes.d.ts +4 -0
  339. package/dist/main/routes.d.ts.map +1 -0
  340. package/dist/main/routes.js +74 -0
  341. package/dist/main/routes.js.map +1 -0
  342. package/dist/main/server.d.ts +8 -0
  343. package/dist/main/server.d.ts.map +1 -0
  344. package/dist/main/server.js +54 -0
  345. package/dist/main/server.js.map +1 -0
  346. package/dist/main/websocket.d.ts +10 -0
  347. package/dist/main/websocket.d.ts.map +1 -0
  348. package/dist/main/websocket.js +109 -0
  349. package/dist/main/websocket.js.map +1 -0
  350. package/dist/mcp/mcpLogger.d.ts +9 -0
  351. package/dist/mcp/mcpLogger.d.ts.map +1 -0
  352. package/dist/mcp/mcpLogger.js +49 -0
  353. package/dist/mcp/mcpLogger.js.map +1 -0
  354. package/dist/mcp/mcpServerStdio.d.ts +13 -0
  355. package/dist/mcp/mcpServerStdio.d.ts.map +1 -0
  356. package/dist/mcp/mcpServerStdio.js +239 -0
  357. package/dist/mcp/mcpServerStdio.js.map +1 -0
  358. package/dist/mcp/server.d.ts +8 -0
  359. package/dist/mcp/server.d.ts.map +1 -0
  360. package/dist/mcp/server.js +24 -0
  361. package/dist/mcp/server.js.map +1 -0
  362. package/dist/mcp/types.d.ts +27 -0
  363. package/dist/mcp/types.d.ts.map +1 -0
  364. package/dist/mcp/types.js +2 -0
  365. package/dist/mcp/types.js.map +1 -0
  366. package/dist/mcpServer.d.ts +2 -0
  367. package/dist/mcpServer.d.ts.map +1 -0
  368. package/dist/mcpServer.js +16 -0
  369. package/dist/mcpServer.js.map +1 -0
  370. package/dist/queue/reviewQueue.d.ts +3 -0
  371. package/dist/queue/reviewQueue.d.ts.map +1 -0
  372. package/dist/queue/reviewQueue.js +4 -0
  373. package/dist/queue/reviewQueue.js.map +1 -0
  374. package/dist/security/verifier.d.ts +21 -0
  375. package/dist/security/verifier.d.ts.map +1 -0
  376. package/dist/security/verifier.js +67 -0
  377. package/dist/security/verifier.js.map +1 -0
  378. package/dist/server.d.ts +2 -0
  379. package/dist/server.d.ts.map +1 -0
  380. package/dist/server.js +6 -0
  381. package/dist/server.js.map +1 -0
  382. package/dist/services/agentInstructionsBuilder.d.ts +4 -0
  383. package/dist/services/agentInstructionsBuilder.d.ts.map +1 -0
  384. package/dist/services/agentInstructionsBuilder.js +65 -0
  385. package/dist/services/agentInstructionsBuilder.js.map +1 -0
  386. package/dist/services/contextActionsExecutor.d.ts +19 -0
  387. package/dist/services/contextActionsExecutor.d.ts.map +1 -0
  388. package/dist/services/contextActionsExecutor.js +18 -0
  389. package/dist/services/contextActionsExecutor.js.map +1 -0
  390. package/dist/services/logService.d.ts +3 -0
  391. package/dist/services/logService.d.ts.map +1 -0
  392. package/dist/services/logService.js +4 -0
  393. package/dist/services/logService.js.map +1 -0
  394. package/dist/services/mrTrackingService.d.ts +196 -0
  395. package/dist/services/mrTrackingService.d.ts.map +1 -0
  396. package/dist/services/mrTrackingService.js +540 -0
  397. package/dist/services/mrTrackingService.js.map +1 -0
  398. package/dist/services/reviewContextWatcher.service.d.ts +15 -0
  399. package/dist/services/reviewContextWatcher.service.d.ts.map +1 -0
  400. package/dist/services/reviewContextWatcher.service.js +44 -0
  401. package/dist/services/reviewContextWatcher.service.js.map +1 -0
  402. package/dist/services/runtimeSettings.d.ts +3 -0
  403. package/dist/services/runtimeSettings.d.ts.map +1 -0
  404. package/dist/services/runtimeSettings.js +4 -0
  405. package/dist/services/runtimeSettings.js.map +1 -0
  406. package/dist/services/statsService.d.ts +76 -0
  407. package/dist/services/statsService.d.ts.map +1 -0
  408. package/dist/services/statsService.js +250 -0
  409. package/dist/services/statsService.js.map +1 -0
  410. package/dist/services/threadActionsExecutor.d.ts +26 -0
  411. package/dist/services/threadActionsExecutor.d.ts.map +1 -0
  412. package/dist/services/threadActionsExecutor.js +27 -0
  413. package/dist/services/threadActionsExecutor.js.map +1 -0
  414. package/dist/services/threadActionsParser.d.ts +4 -0
  415. package/dist/services/threadActionsParser.d.ts.map +1 -0
  416. package/dist/services/threadActionsParser.js +50 -0
  417. package/dist/services/threadActionsParser.js.map +1 -0
  418. package/dist/shared/foundation/executionGateway.base.d.ts +14 -0
  419. package/dist/shared/foundation/executionGateway.base.d.ts.map +1 -0
  420. package/dist/shared/foundation/executionGateway.base.js +30 -0
  421. package/dist/shared/foundation/executionGateway.base.js.map +1 -0
  422. package/dist/shared/foundation/gateway.base.d.ts +9 -0
  423. package/dist/shared/foundation/gateway.base.d.ts.map +1 -0
  424. package/dist/shared/foundation/gateway.base.js +2 -0
  425. package/dist/shared/foundation/gateway.base.js.map +1 -0
  426. package/dist/shared/foundation/guard.base.d.ts +8 -0
  427. package/dist/shared/foundation/guard.base.d.ts.map +1 -0
  428. package/dist/shared/foundation/guard.base.js +17 -0
  429. package/dist/shared/foundation/guard.base.js.map +1 -0
  430. package/dist/shared/foundation/presenter.base.d.ts +4 -0
  431. package/dist/shared/foundation/presenter.base.d.ts.map +1 -0
  432. package/dist/shared/foundation/presenter.base.js +2 -0
  433. package/dist/shared/foundation/presenter.base.js.map +1 -0
  434. package/dist/shared/foundation/usecase.base.d.ts +4 -0
  435. package/dist/shared/foundation/usecase.base.d.ts.map +1 -0
  436. package/dist/shared/foundation/usecase.base.js +2 -0
  437. package/dist/shared/foundation/usecase.base.js.map +1 -0
  438. package/dist/shared/services/claudePathResolver.d.ts +3 -0
  439. package/dist/shared/services/claudePathResolver.d.ts.map +1 -0
  440. package/dist/shared/services/claudePathResolver.js +62 -0
  441. package/dist/shared/services/claudePathResolver.js.map +1 -0
  442. package/dist/shared/services/dependencyChecker.d.ts +13 -0
  443. package/dist/shared/services/dependencyChecker.d.ts.map +1 -0
  444. package/dist/shared/services/dependencyChecker.js +37 -0
  445. package/dist/shared/services/dependencyChecker.js.map +1 -0
  446. package/dist/shared/services/mcpJobContext.d.ts +3 -0
  447. package/dist/shared/services/mcpJobContext.d.ts.map +1 -0
  448. package/dist/shared/services/mcpJobContext.js +10 -0
  449. package/dist/shared/services/mcpJobContext.js.map +1 -0
  450. package/dist/tests/factories/config.factory.d.ts +4 -0
  451. package/dist/tests/factories/config.factory.d.ts.map +1 -0
  452. package/dist/tests/factories/config.factory.js +27 -0
  453. package/dist/tests/factories/config.factory.js.map +1 -0
  454. package/dist/tests/factories/gitHubEvent.factory.d.ts +14 -0
  455. package/dist/tests/factories/gitHubEvent.factory.d.ts.map +1 -0
  456. package/dist/tests/factories/gitHubEvent.factory.js +93 -0
  457. package/dist/tests/factories/gitHubEvent.factory.js.map +1 -0
  458. package/dist/tests/factories/gitLabEvent.factory.d.ts +18 -0
  459. package/dist/tests/factories/gitLabEvent.factory.d.ts.map +1 -0
  460. package/dist/tests/factories/gitLabEvent.factory.js +129 -0
  461. package/dist/tests/factories/gitLabEvent.factory.js.map +1 -0
  462. package/dist/tests/factories/githubApiResponse.factory.d.ts +21 -0
  463. package/dist/tests/factories/githubApiResponse.factory.d.ts.map +1 -0
  464. package/dist/tests/factories/githubApiResponse.factory.js +25 -0
  465. package/dist/tests/factories/githubApiResponse.factory.js.map +1 -0
  466. package/dist/tests/factories/gitlabApiResponse.factory.d.ts +26 -0
  467. package/dist/tests/factories/gitlabApiResponse.factory.d.ts.map +1 -0
  468. package/dist/tests/factories/gitlabApiResponse.factory.js +9 -0
  469. package/dist/tests/factories/gitlabApiResponse.factory.js.map +1 -0
  470. package/dist/tests/factories/projectStats.factory.d.ts +9 -0
  471. package/dist/tests/factories/projectStats.factory.d.ts.map +1 -0
  472. package/dist/tests/factories/projectStats.factory.js +48 -0
  473. package/dist/tests/factories/projectStats.factory.js.map +1 -0
  474. package/dist/tests/factories/reviewContext.factory.d.ts +9 -0
  475. package/dist/tests/factories/reviewContext.factory.d.ts.map +1 -0
  476. package/dist/tests/factories/reviewContext.factory.js +59 -0
  477. package/dist/tests/factories/reviewContext.factory.js.map +1 -0
  478. package/dist/tests/factories/reviewJob.factory.d.ts +10 -0
  479. package/dist/tests/factories/reviewJob.factory.d.ts.map +1 -0
  480. package/dist/tests/factories/reviewJob.factory.js +43 -0
  481. package/dist/tests/factories/reviewJob.factory.js.map +1 -0
  482. package/dist/tests/factories/trackedMr.factory.d.ts +10 -0
  483. package/dist/tests/factories/trackedMr.factory.d.ts.map +1 -0
  484. package/dist/tests/factories/trackedMr.factory.js +65 -0
  485. package/dist/tests/factories/trackedMr.factory.js.map +1 -0
  486. package/dist/tests/factories/webhookEvent.factory.d.ts +8 -0
  487. package/dist/tests/factories/webhookEvent.factory.d.ts.map +1 -0
  488. package/dist/tests/factories/webhookEvent.factory.js +72 -0
  489. package/dist/tests/factories/webhookEvent.factory.js.map +1 -0
  490. package/dist/tests/integration/server.integration.test.d.ts +2 -0
  491. package/dist/tests/integration/server.integration.test.d.ts.map +1 -0
  492. package/dist/tests/integration/server.integration.test.js +93 -0
  493. package/dist/tests/integration/server.integration.test.js.map +1 -0
  494. package/dist/tests/stubs/fastifyRequest.stub.d.ts +9 -0
  495. package/dist/tests/stubs/fastifyRequest.stub.d.ts.map +1 -0
  496. package/dist/tests/stubs/fastifyRequest.stub.js +11 -0
  497. package/dist/tests/stubs/fastifyRequest.stub.js.map +1 -0
  498. package/dist/tests/stubs/logger.stub.d.ts +3 -0
  499. package/dist/tests/stubs/logger.stub.d.ts.map +1 -0
  500. package/dist/tests/stubs/logger.stub.js +14 -0
  501. package/dist/tests/stubs/logger.stub.js.map +1 -0
  502. package/dist/tests/stubs/reviewContextGateway.stub.d.ts +18 -0
  503. package/dist/tests/stubs/reviewContextGateway.stub.d.ts.map +1 -0
  504. package/dist/tests/stubs/reviewContextGateway.stub.js +69 -0
  505. package/dist/tests/stubs/reviewContextGateway.stub.js.map +1 -0
  506. package/dist/tests/stubs/reviewFile.stub.d.ts +13 -0
  507. package/dist/tests/stubs/reviewFile.stub.d.ts.map +1 -0
  508. package/dist/tests/stubs/reviewFile.stub.js +56 -0
  509. package/dist/tests/stubs/reviewFile.stub.js.map +1 -0
  510. package/dist/tests/stubs/reviewQueue.stub.d.ts +20 -0
  511. package/dist/tests/stubs/reviewQueue.stub.d.ts.map +1 -0
  512. package/dist/tests/stubs/reviewQueue.stub.js +46 -0
  513. package/dist/tests/stubs/reviewQueue.stub.js.map +1 -0
  514. package/dist/tests/stubs/reviewRequestTracking.stub.d.ts +21 -0
  515. package/dist/tests/stubs/reviewRequestTracking.stub.d.ts.map +1 -0
  516. package/dist/tests/stubs/reviewRequestTracking.stub.js +121 -0
  517. package/dist/tests/stubs/reviewRequestTracking.stub.js.map +1 -0
  518. package/dist/tests/stubs/stats.stub.d.ts +10 -0
  519. package/dist/tests/stubs/stats.stub.d.ts.map +1 -0
  520. package/dist/tests/stubs/stats.stub.js +17 -0
  521. package/dist/tests/stubs/stats.stub.js.map +1 -0
  522. package/dist/tests/stubs/threadFetch.stub.d.ts +8 -0
  523. package/dist/tests/stubs/threadFetch.stub.d.ts.map +1 -0
  524. package/dist/tests/stubs/threadFetch.stub.js +10 -0
  525. package/dist/tests/stubs/threadFetch.stub.js.map +1 -0
  526. package/dist/tests/units/claude/progressParser.test.d.ts +2 -0
  527. package/dist/tests/units/claude/progressParser.test.d.ts.map +1 -0
  528. package/dist/tests/units/claude/progressParser.test.js +202 -0
  529. package/dist/tests/units/claude/progressParser.test.js.map +1 -0
  530. package/dist/tests/units/cli/cli.integration.test.d.ts +2 -0
  531. package/dist/tests/units/cli/cli.integration.test.d.ts.map +1 -0
  532. package/dist/tests/units/cli/cli.integration.test.js +18 -0
  533. package/dist/tests/units/cli/cli.integration.test.js.map +1 -0
  534. package/dist/tests/units/cli/parseCliArgs.test.d.ts +2 -0
  535. package/dist/tests/units/cli/parseCliArgs.test.d.ts.map +1 -0
  536. package/dist/tests/units/cli/parseCliArgs.test.js +35 -0
  537. package/dist/tests/units/cli/parseCliArgs.test.js.map +1 -0
  538. package/dist/tests/units/entities/duration.valueObject.test.d.ts +2 -0
  539. package/dist/tests/units/entities/duration.valueObject.test.d.ts.map +1 -0
  540. package/dist/tests/units/entities/duration.valueObject.test.js +112 -0
  541. package/dist/tests/units/entities/duration.valueObject.test.js.map +1 -0
  542. package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.d.ts +2 -0
  543. package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.d.ts.map +1 -0
  544. package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.js +53 -0
  545. package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.js.map +1 -0
  546. package/dist/tests/units/entities/gitlab/gitlabMergeRequestEvent.guard.test.d.ts +2 -0
  547. package/dist/tests/units/entities/gitlab/gitlabMergeRequestEvent.guard.test.d.ts.map +1 -0
  548. package/dist/tests/units/entities/gitlab/gitlabMergeRequestEvent.guard.test.js +97 -0
  549. package/dist/tests/units/entities/gitlab/gitlabMergeRequestEvent.guard.test.js.map +1 -0
  550. package/dist/tests/units/entities/progress/progress.test.d.ts +2 -0
  551. package/dist/tests/units/entities/progress/progress.test.d.ts.map +1 -0
  552. package/dist/tests/units/entities/progress/progress.test.js +137 -0
  553. package/dist/tests/units/entities/progress/progress.test.js.map +1 -0
  554. package/dist/tests/units/entities/reviewAction/reviewAction.guard.test.d.ts +2 -0
  555. package/dist/tests/units/entities/reviewAction/reviewAction.guard.test.d.ts.map +1 -0
  556. package/dist/tests/units/entities/reviewAction/reviewAction.guard.test.js +89 -0
  557. package/dist/tests/units/entities/reviewAction/reviewAction.guard.test.js.map +1 -0
  558. package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.d.ts +2 -0
  559. package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.d.ts.map +1 -0
  560. package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.js +176 -0
  561. package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.js.map +1 -0
  562. package/dist/tests/units/entities/reviewContext/reviewContextAction.guard.test.d.ts +2 -0
  563. package/dist/tests/units/entities/reviewContext/reviewContextAction.guard.test.d.ts.map +1 -0
  564. package/dist/tests/units/entities/reviewContext/reviewContextAction.guard.test.js +88 -0
  565. package/dist/tests/units/entities/reviewContext/reviewContextAction.guard.test.js.map +1 -0
  566. package/dist/tests/units/entities/reviewContext/reviewContextAction.schema.test.d.ts +2 -0
  567. package/dist/tests/units/entities/reviewContext/reviewContextAction.schema.test.d.ts.map +1 -0
  568. package/dist/tests/units/entities/reviewContext/reviewContextAction.schema.test.js +132 -0
  569. package/dist/tests/units/entities/reviewContext/reviewContextAction.schema.test.js.map +1 -0
  570. package/dist/tests/units/entities/reviewRequestState.valueObject.test.d.ts +2 -0
  571. package/dist/tests/units/entities/reviewRequestState.valueObject.test.d.ts.map +1 -0
  572. package/dist/tests/units/entities/reviewRequestState.valueObject.test.js +100 -0
  573. package/dist/tests/units/entities/reviewRequestState.valueObject.test.js.map +1 -0
  574. package/dist/tests/units/entities/reviewScore.valueObject.test.d.ts +2 -0
  575. package/dist/tests/units/entities/reviewScore.valueObject.test.d.ts.map +1 -0
  576. package/dist/tests/units/entities/reviewScore.valueObject.test.js +90 -0
  577. package/dist/tests/units/entities/reviewScore.valueObject.test.js.map +1 -0
  578. package/dist/tests/units/factories/factories.test.d.ts +2 -0
  579. package/dist/tests/units/factories/factories.test.d.ts.map +1 -0
  580. package/dist/tests/units/factories/factories.test.js +100 -0
  581. package/dist/tests/units/factories/factories.test.js.map +1 -0
  582. package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.d.ts +2 -0
  583. package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.d.ts.map +1 -0
  584. package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.js +88 -0
  585. package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.js.map +1 -0
  586. package/dist/tests/units/frameworks/claude/mcpContext.test.d.ts +2 -0
  587. package/dist/tests/units/frameworks/claude/mcpContext.test.d.ts.map +1 -0
  588. package/dist/tests/units/frameworks/claude/mcpContext.test.js +88 -0
  589. package/dist/tests/units/frameworks/claude/mcpContext.test.js.map +1 -0
  590. package/dist/tests/units/frameworks/claude/resolveMcpServerPath.test.d.ts +2 -0
  591. package/dist/tests/units/frameworks/claude/resolveMcpServerPath.test.d.ts.map +1 -0
  592. package/dist/tests/units/frameworks/claude/resolveMcpServerPath.test.js +20 -0
  593. package/dist/tests/units/frameworks/claude/resolveMcpServerPath.test.js.map +1 -0
  594. package/dist/tests/units/interface-adapters/adapters/platformAdapter.test.d.ts +2 -0
  595. package/dist/tests/units/interface-adapters/adapters/platformAdapter.test.d.ts.map +1 -0
  596. package/dist/tests/units/interface-adapters/adapters/platformAdapter.test.js +181 -0
  597. package/dist/tests/units/interface-adapters/adapters/platformAdapter.test.js.map +1 -0
  598. package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.d.ts +2 -0
  599. package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.d.ts.map +1 -0
  600. package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.js +84 -0
  601. package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.js.map +1 -0
  602. package/dist/tests/units/interface-adapters/controllers/mcp/completeAgent.handler.test.d.ts +2 -0
  603. package/dist/tests/units/interface-adapters/controllers/mcp/completeAgent.handler.test.d.ts.map +1 -0
  604. package/dist/tests/units/interface-adapters/controllers/mcp/completeAgent.handler.test.js +71 -0
  605. package/dist/tests/units/interface-adapters/controllers/mcp/completeAgent.handler.test.js.map +1 -0
  606. package/dist/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.d.ts +2 -0
  607. package/dist/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.d.ts.map +1 -0
  608. package/dist/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.js +52 -0
  609. package/dist/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.js.map +1 -0
  610. package/dist/tests/units/interface-adapters/controllers/mcp/getWorkflow.handler.test.d.ts +2 -0
  611. package/dist/tests/units/interface-adapters/controllers/mcp/getWorkflow.handler.test.d.ts.map +1 -0
  612. package/dist/tests/units/interface-adapters/controllers/mcp/getWorkflow.handler.test.js +32 -0
  613. package/dist/tests/units/interface-adapters/controllers/mcp/getWorkflow.handler.test.js.map +1 -0
  614. package/dist/tests/units/interface-adapters/controllers/mcp/setPhase.handler.test.d.ts +2 -0
  615. package/dist/tests/units/interface-adapters/controllers/mcp/setPhase.handler.test.d.ts.map +1 -0
  616. package/dist/tests/units/interface-adapters/controllers/mcp/setPhase.handler.test.js +44 -0
  617. package/dist/tests/units/interface-adapters/controllers/mcp/setPhase.handler.test.js.map +1 -0
  618. package/dist/tests/units/interface-adapters/controllers/mcp/startAgent.handler.test.d.ts +2 -0
  619. package/dist/tests/units/interface-adapters/controllers/mcp/startAgent.handler.test.d.ts.map +1 -0
  620. package/dist/tests/units/interface-adapters/controllers/mcp/startAgent.handler.test.js +38 -0
  621. package/dist/tests/units/interface-adapters/controllers/mcp/startAgent.handler.test.js.map +1 -0
  622. package/dist/tests/units/interface-adapters/controllers/webhook/eventFilter.test.d.ts +2 -0
  623. package/dist/tests/units/interface-adapters/controllers/webhook/eventFilter.test.d.ts.map +1 -0
  624. package/dist/tests/units/interface-adapters/controllers/webhook/eventFilter.test.js +389 -0
  625. package/dist/tests/units/interface-adapters/controllers/webhook/eventFilter.test.js.map +1 -0
  626. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.d.ts +2 -0
  627. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.d.ts.map +1 -0
  628. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +284 -0
  629. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -0
  630. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.d.ts +2 -0
  631. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.d.ts.map +1 -0
  632. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +202 -0
  633. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -0
  634. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.d.ts +2 -0
  635. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.d.ts.map +1 -0
  636. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js +83 -0
  637. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js.map +1 -0
  638. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.d.ts +2 -0
  639. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.d.ts.map +1 -0
  640. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.js +92 -0
  641. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.js.map +1 -0
  642. package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.github.gateway.test.d.ts +2 -0
  643. package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.github.gateway.test.d.ts.map +1 -0
  644. package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.github.gateway.test.js +41 -0
  645. package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.github.gateway.test.js.map +1 -0
  646. package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.test.d.ts +2 -0
  647. package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.test.d.ts.map +1 -0
  648. package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.test.js +57 -0
  649. package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.test.js.map +1 -0
  650. package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.d.ts +2 -0
  651. package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.d.ts.map +1 -0
  652. package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.js +204 -0
  653. package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.js.map +1 -0
  654. package/dist/tests/units/interface-adapters/gateways/reviewFile.gateway.test.d.ts +2 -0
  655. package/dist/tests/units/interface-adapters/gateways/reviewFile.gateway.test.d.ts.map +1 -0
  656. package/dist/tests/units/interface-adapters/gateways/reviewFile.gateway.test.js +126 -0
  657. package/dist/tests/units/interface-adapters/gateways/reviewFile.gateway.test.js.map +1 -0
  658. package/dist/tests/units/interface-adapters/gateways/reviewProgress.memory.gateway.test.d.ts +2 -0
  659. package/dist/tests/units/interface-adapters/gateways/reviewProgress.memory.gateway.test.d.ts.map +1 -0
  660. package/dist/tests/units/interface-adapters/gateways/reviewProgress.memory.gateway.test.js +137 -0
  661. package/dist/tests/units/interface-adapters/gateways/reviewProgress.memory.gateway.test.js.map +1 -0
  662. package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.d.ts +2 -0
  663. package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.d.ts.map +1 -0
  664. package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.js +242 -0
  665. package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.js.map +1 -0
  666. package/dist/tests/units/interface-adapters/gateways/stats.gateway.test.d.ts +2 -0
  667. package/dist/tests/units/interface-adapters/gateways/stats.gateway.test.d.ts.map +1 -0
  668. package/dist/tests/units/interface-adapters/gateways/stats.gateway.test.js +52 -0
  669. package/dist/tests/units/interface-adapters/gateways/stats.gateway.test.js.map +1 -0
  670. package/dist/tests/units/interface-adapters/gateways/threadFetch.github.gateway.test.d.ts +2 -0
  671. package/dist/tests/units/interface-adapters/gateways/threadFetch.github.gateway.test.d.ts.map +1 -0
  672. package/dist/tests/units/interface-adapters/gateways/threadFetch.github.gateway.test.js +41 -0
  673. package/dist/tests/units/interface-adapters/gateways/threadFetch.github.gateway.test.js.map +1 -0
  674. package/dist/tests/units/interface-adapters/gateways/threadFetch.gitlab.gateway.test.d.ts +2 -0
  675. package/dist/tests/units/interface-adapters/gateways/threadFetch.gitlab.gateway.test.d.ts.map +1 -0
  676. package/dist/tests/units/interface-adapters/gateways/threadFetch.gitlab.gateway.test.js +31 -0
  677. package/dist/tests/units/interface-adapters/gateways/threadFetch.gitlab.gateway.test.js.map +1 -0
  678. package/dist/tests/units/interface-adapters/presenters/jobStatus.presenter.test.d.ts +2 -0
  679. package/dist/tests/units/interface-adapters/presenters/jobStatus.presenter.test.d.ts.map +1 -0
  680. package/dist/tests/units/interface-adapters/presenters/jobStatus.presenter.test.js +128 -0
  681. package/dist/tests/units/interface-adapters/presenters/jobStatus.presenter.test.js.map +1 -0
  682. package/dist/tests/units/interface-adapters/presenters/reviewContextProgress.presenter.test.d.ts +2 -0
  683. package/dist/tests/units/interface-adapters/presenters/reviewContextProgress.presenter.test.d.ts.map +1 -0
  684. package/dist/tests/units/interface-adapters/presenters/reviewContextProgress.presenter.test.js +83 -0
  685. package/dist/tests/units/interface-adapters/presenters/reviewContextProgress.presenter.test.js.map +1 -0
  686. package/dist/tests/units/interface-adapters/presenters/reviewList.presenter.test.d.ts +2 -0
  687. package/dist/tests/units/interface-adapters/presenters/reviewList.presenter.test.d.ts.map +1 -0
  688. package/dist/tests/units/interface-adapters/presenters/reviewList.presenter.test.js +64 -0
  689. package/dist/tests/units/interface-adapters/presenters/reviewList.presenter.test.js.map +1 -0
  690. package/dist/tests/units/interface-adapters/services/projectStats.calculator.test.d.ts +2 -0
  691. package/dist/tests/units/interface-adapters/services/projectStats.calculator.test.d.ts.map +1 -0
  692. package/dist/tests/units/interface-adapters/services/projectStats.calculator.test.js +85 -0
  693. package/dist/tests/units/interface-adapters/services/projectStats.calculator.test.js.map +1 -0
  694. package/dist/tests/units/main/dependencies.test.d.ts +2 -0
  695. package/dist/tests/units/main/dependencies.test.d.ts.map +1 -0
  696. package/dist/tests/units/main/dependencies.test.js +43 -0
  697. package/dist/tests/units/main/dependencies.test.js.map +1 -0
  698. package/dist/tests/units/main/executeStart.test.d.ts +2 -0
  699. package/dist/tests/units/main/executeStart.test.d.ts.map +1 -0
  700. package/dist/tests/units/main/executeStart.test.js +61 -0
  701. package/dist/tests/units/main/executeStart.test.js.map +1 -0
  702. package/dist/tests/units/main/mcpDependencies.test.d.ts +2 -0
  703. package/dist/tests/units/main/mcpDependencies.test.d.ts.map +1 -0
  704. package/dist/tests/units/main/mcpDependencies.test.js +56 -0
  705. package/dist/tests/units/main/mcpDependencies.test.js.map +1 -0
  706. package/dist/tests/units/main/websocket.test.d.ts +2 -0
  707. package/dist/tests/units/main/websocket.test.d.ts.map +1 -0
  708. package/dist/tests/units/main/websocket.test.js +63 -0
  709. package/dist/tests/units/main/websocket.test.js.map +1 -0
  710. package/dist/tests/units/mcp/mcpServerStdio.test.d.ts +2 -0
  711. package/dist/tests/units/mcp/mcpServerStdio.test.d.ts.map +1 -0
  712. package/dist/tests/units/mcp/mcpServerStdio.test.js +179 -0
  713. package/dist/tests/units/mcp/mcpServerStdio.test.js.map +1 -0
  714. package/dist/tests/units/mcp/server.test.d.ts +2 -0
  715. package/dist/tests/units/mcp/server.test.d.ts.map +1 -0
  716. package/dist/tests/units/mcp/server.test.js +85 -0
  717. package/dist/tests/units/mcp/server.test.js.map +1 -0
  718. package/dist/tests/units/security/verifier.test.d.ts +2 -0
  719. package/dist/tests/units/security/verifier.test.d.ts.map +1 -0
  720. package/dist/tests/units/security/verifier.test.js +200 -0
  721. package/dist/tests/units/security/verifier.test.js.map +1 -0
  722. package/dist/tests/units/services/contextActionsExecutor.test.d.ts +2 -0
  723. package/dist/tests/units/services/contextActionsExecutor.test.d.ts.map +1 -0
  724. package/dist/tests/units/services/contextActionsExecutor.test.js +112 -0
  725. package/dist/tests/units/services/contextActionsExecutor.test.js.map +1 -0
  726. package/dist/tests/units/services/mrTrackingRemoveMr.test.d.ts +2 -0
  727. package/dist/tests/units/services/mrTrackingRemoveMr.test.d.ts.map +1 -0
  728. package/dist/tests/units/services/mrTrackingRemoveMr.test.js +155 -0
  729. package/dist/tests/units/services/mrTrackingRemoveMr.test.js.map +1 -0
  730. package/dist/tests/units/services/mrTrackingService.autoFollowup.test.d.ts +2 -0
  731. package/dist/tests/units/services/mrTrackingService.autoFollowup.test.d.ts.map +1 -0
  732. package/dist/tests/units/services/mrTrackingService.autoFollowup.test.js +82 -0
  733. package/dist/tests/units/services/mrTrackingService.autoFollowup.test.js.map +1 -0
  734. package/dist/tests/units/services/reviewContextWatcher.service.test.d.ts +2 -0
  735. package/dist/tests/units/services/reviewContextWatcher.service.test.d.ts.map +1 -0
  736. package/dist/tests/units/services/reviewContextWatcher.service.test.js +112 -0
  737. package/dist/tests/units/services/reviewContextWatcher.service.test.js.map +1 -0
  738. package/dist/tests/units/services/threadActionsExecutor.test.d.ts +2 -0
  739. package/dist/tests/units/services/threadActionsExecutor.test.d.ts.map +1 -0
  740. package/dist/tests/units/services/threadActionsExecutor.test.js +206 -0
  741. package/dist/tests/units/services/threadActionsExecutor.test.js.map +1 -0
  742. package/dist/tests/units/services/threadActionsParser.test.d.ts +2 -0
  743. package/dist/tests/units/services/threadActionsParser.test.d.ts.map +1 -0
  744. package/dist/tests/units/services/threadActionsParser.test.js +148 -0
  745. package/dist/tests/units/services/threadActionsParser.test.js.map +1 -0
  746. package/dist/tests/units/shared/foundation/foundation.contracts.test.d.ts +2 -0
  747. package/dist/tests/units/shared/foundation/foundation.contracts.test.d.ts.map +1 -0
  748. package/dist/tests/units/shared/foundation/foundation.contracts.test.js +46 -0
  749. package/dist/tests/units/shared/foundation/foundation.contracts.test.js.map +1 -0
  750. package/dist/tests/units/shared/foundation/guard.base.test.d.ts +2 -0
  751. package/dist/tests/units/shared/foundation/guard.base.test.d.ts.map +1 -0
  752. package/dist/tests/units/shared/foundation/guard.base.test.js +40 -0
  753. package/dist/tests/units/shared/foundation/guard.base.test.js.map +1 -0
  754. package/dist/tests/units/shared/services/claudePathResolver.test.d.ts +2 -0
  755. package/dist/tests/units/shared/services/claudePathResolver.test.d.ts.map +1 -0
  756. package/dist/tests/units/shared/services/claudePathResolver.test.js +61 -0
  757. package/dist/tests/units/shared/services/claudePathResolver.test.js.map +1 -0
  758. package/dist/tests/units/shared/services/dependencyChecker.test.d.ts +2 -0
  759. package/dist/tests/units/shared/services/dependencyChecker.test.d.ts.map +1 -0
  760. package/dist/tests/units/shared/services/dependencyChecker.test.js +35 -0
  761. package/dist/tests/units/shared/services/dependencyChecker.test.js.map +1 -0
  762. package/dist/tests/units/shared/services/mcpJobContext.test.d.ts +2 -0
  763. package/dist/tests/units/shared/services/mcpJobContext.test.d.ts.map +1 -0
  764. package/dist/tests/units/shared/services/mcpJobContext.test.js +38 -0
  765. package/dist/tests/units/shared/services/mcpJobContext.test.js.map +1 -0
  766. package/dist/tests/units/types/progress.test.d.ts +2 -0
  767. package/dist/tests/units/types/progress.test.d.ts.map +1 -0
  768. package/dist/tests/units/types/progress.test.js +135 -0
  769. package/dist/tests/units/types/progress.test.js.map +1 -0
  770. package/dist/tests/units/usecases/cancelReview.usecase.test.d.ts +2 -0
  771. package/dist/tests/units/usecases/cancelReview.usecase.test.d.ts.map +1 -0
  772. package/dist/tests/units/usecases/cancelReview.usecase.test.js +57 -0
  773. package/dist/tests/units/usecases/cancelReview.usecase.test.js.map +1 -0
  774. package/dist/tests/units/usecases/handleReviewRequestPush.usecase.test.d.ts +2 -0
  775. package/dist/tests/units/usecases/handleReviewRequestPush.usecase.test.d.ts.map +1 -0
  776. package/dist/tests/units/usecases/handleReviewRequestPush.usecase.test.js +124 -0
  777. package/dist/tests/units/usecases/handleReviewRequestPush.usecase.test.js.map +1 -0
  778. package/dist/tests/units/usecases/mcp/addAction.usecase.test.d.ts +2 -0
  779. package/dist/tests/units/usecases/mcp/addAction.usecase.test.d.ts.map +1 -0
  780. package/dist/tests/units/usecases/mcp/addAction.usecase.test.js +123 -0
  781. package/dist/tests/units/usecases/mcp/addAction.usecase.test.js.map +1 -0
  782. package/dist/tests/units/usecases/mcp/completeAgent.usecase.test.d.ts +2 -0
  783. package/dist/tests/units/usecases/mcp/completeAgent.usecase.test.d.ts.map +1 -0
  784. package/dist/tests/units/usecases/mcp/completeAgent.usecase.test.js +67 -0
  785. package/dist/tests/units/usecases/mcp/completeAgent.usecase.test.js.map +1 -0
  786. package/dist/tests/units/usecases/mcp/getThreads.usecase.test.d.ts +2 -0
  787. package/dist/tests/units/usecases/mcp/getThreads.usecase.test.d.ts.map +1 -0
  788. package/dist/tests/units/usecases/mcp/getThreads.usecase.test.js +77 -0
  789. package/dist/tests/units/usecases/mcp/getThreads.usecase.test.js.map +1 -0
  790. package/dist/tests/units/usecases/mcp/getWorkflow.usecase.test.d.ts +2 -0
  791. package/dist/tests/units/usecases/mcp/getWorkflow.usecase.test.d.ts.map +1 -0
  792. package/dist/tests/units/usecases/mcp/getWorkflow.usecase.test.js +55 -0
  793. package/dist/tests/units/usecases/mcp/getWorkflow.usecase.test.js.map +1 -0
  794. package/dist/tests/units/usecases/mcp/setPhase.usecase.test.d.ts +2 -0
  795. package/dist/tests/units/usecases/mcp/setPhase.usecase.test.d.ts.map +1 -0
  796. package/dist/tests/units/usecases/mcp/setPhase.usecase.test.js +41 -0
  797. package/dist/tests/units/usecases/mcp/setPhase.usecase.test.js.map +1 -0
  798. package/dist/tests/units/usecases/mcp/startAgent.usecase.test.d.ts +2 -0
  799. package/dist/tests/units/usecases/mcp/startAgent.usecase.test.d.ts.map +1 -0
  800. package/dist/tests/units/usecases/mcp/startAgent.usecase.test.js +42 -0
  801. package/dist/tests/units/usecases/mcp/startAgent.usecase.test.js.map +1 -0
  802. package/dist/tests/units/usecases/tracking/checkFollowupNeeded.usecase.test.d.ts +2 -0
  803. package/dist/tests/units/usecases/tracking/checkFollowupNeeded.usecase.test.d.ts.map +1 -0
  804. package/dist/tests/units/usecases/tracking/checkFollowupNeeded.usecase.test.js +71 -0
  805. package/dist/tests/units/usecases/tracking/checkFollowupNeeded.usecase.test.js.map +1 -0
  806. package/dist/tests/units/usecases/tracking/recordPush.usecase.test.d.ts +2 -0
  807. package/dist/tests/units/usecases/tracking/recordPush.usecase.test.d.ts.map +1 -0
  808. package/dist/tests/units/usecases/tracking/recordPush.usecase.test.js +22 -0
  809. package/dist/tests/units/usecases/tracking/recordPush.usecase.test.js.map +1 -0
  810. package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.d.ts +2 -0
  811. package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.d.ts.map +1 -0
  812. package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.js +106 -0
  813. package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.js.map +1 -0
  814. package/dist/tests/units/usecases/tracking/syncThreads.usecase.test.d.ts +2 -0
  815. package/dist/tests/units/usecases/tracking/syncThreads.usecase.test.d.ts.map +1 -0
  816. package/dist/tests/units/usecases/tracking/syncThreads.usecase.test.js +76 -0
  817. package/dist/tests/units/usecases/tracking/syncThreads.usecase.test.js.map +1 -0
  818. package/dist/tests/units/usecases/tracking/trackAssignment.usecase.test.d.ts +2 -0
  819. package/dist/tests/units/usecases/tracking/trackAssignment.usecase.test.d.ts.map +1 -0
  820. package/dist/tests/units/usecases/tracking/trackAssignment.usecase.test.js +70 -0
  821. package/dist/tests/units/usecases/tracking/trackAssignment.usecase.test.js.map +1 -0
  822. package/dist/tests/units/usecases/tracking/transitionState.usecase.test.d.ts +2 -0
  823. package/dist/tests/units/usecases/tracking/transitionState.usecase.test.d.ts.map +1 -0
  824. package/dist/tests/units/usecases/tracking/transitionState.usecase.test.js +48 -0
  825. package/dist/tests/units/usecases/tracking/transitionState.usecase.test.js.map +1 -0
  826. package/dist/tests/units/usecases/triggerReview.usecase.test.d.ts +2 -0
  827. package/dist/tests/units/usecases/triggerReview.usecase.test.d.ts.map +1 -0
  828. package/dist/tests/units/usecases/triggerReview.usecase.test.js +103 -0
  829. package/dist/tests/units/usecases/triggerReview.usecase.test.js.map +1 -0
  830. package/dist/types/progress.d.ts +55 -0
  831. package/dist/types/progress.d.ts.map +1 -0
  832. package/dist/types/progress.js +63 -0
  833. package/dist/types/progress.js.map +1 -0
  834. package/dist/usecases/cancelReview.usecase.d.ts +21 -0
  835. package/dist/usecases/cancelReview.usecase.d.ts.map +1 -0
  836. package/dist/usecases/cancelReview.usecase.js +19 -0
  837. package/dist/usecases/cancelReview.usecase.js.map +1 -0
  838. package/dist/usecases/handleReviewRequestPush.usecase.d.ts +26 -0
  839. package/dist/usecases/handleReviewRequestPush.usecase.d.ts.map +1 -0
  840. package/dist/usecases/handleReviewRequestPush.usecase.js +45 -0
  841. package/dist/usecases/handleReviewRequestPush.usecase.js.map +1 -0
  842. package/dist/usecases/mcp/addAction.usecase.d.ts +33 -0
  843. package/dist/usecases/mcp/addAction.usecase.d.ts.map +1 -0
  844. package/dist/usecases/mcp/addAction.usecase.js +94 -0
  845. package/dist/usecases/mcp/addAction.usecase.js.map +1 -0
  846. package/dist/usecases/mcp/completeAgent.usecase.d.ts +18 -0
  847. package/dist/usecases/mcp/completeAgent.usecase.d.ts.map +1 -0
  848. package/dist/usecases/mcp/completeAgent.usecase.js +20 -0
  849. package/dist/usecases/mcp/completeAgent.usecase.js.map +1 -0
  850. package/dist/usecases/mcp/getThreads.usecase.d.ts +16 -0
  851. package/dist/usecases/mcp/getThreads.usecase.d.ts.map +1 -0
  852. package/dist/usecases/mcp/getThreads.usecase.js +22 -0
  853. package/dist/usecases/mcp/getThreads.usecase.js.map +1 -0
  854. package/dist/usecases/mcp/getWorkflow.usecase.d.ts +28 -0
  855. package/dist/usecases/mcp/getWorkflow.usecase.d.ts.map +1 -0
  856. package/dist/usecases/mcp/getWorkflow.usecase.js +36 -0
  857. package/dist/usecases/mcp/getWorkflow.usecase.js.map +1 -0
  858. package/dist/usecases/mcp/setPhase.usecase.d.ts +15 -0
  859. package/dist/usecases/mcp/setPhase.usecase.d.ts.map +1 -0
  860. package/dist/usecases/mcp/setPhase.usecase.js +16 -0
  861. package/dist/usecases/mcp/setPhase.usecase.js.map +1 -0
  862. package/dist/usecases/mcp/startAgent.usecase.d.ts +15 -0
  863. package/dist/usecases/mcp/startAgent.usecase.d.ts.map +1 -0
  864. package/dist/usecases/mcp/startAgent.usecase.js +18 -0
  865. package/dist/usecases/mcp/startAgent.usecase.js.map +1 -0
  866. package/dist/usecases/tracking/checkFollowupNeeded.usecase.d.ts +14 -0
  867. package/dist/usecases/tracking/checkFollowupNeeded.usecase.d.ts.map +1 -0
  868. package/dist/usecases/tracking/checkFollowupNeeded.usecase.js +17 -0
  869. package/dist/usecases/tracking/checkFollowupNeeded.usecase.js.map +1 -0
  870. package/dist/usecases/tracking/recordPush.usecase.d.ts +15 -0
  871. package/dist/usecases/tracking/recordPush.usecase.d.ts.map +1 -0
  872. package/dist/usecases/tracking/recordPush.usecase.js +10 -0
  873. package/dist/usecases/tracking/recordPush.usecase.js.map +1 -0
  874. package/dist/usecases/tracking/recordReviewCompletion.usecase.d.ts +24 -0
  875. package/dist/usecases/tracking/recordReviewCompletion.usecase.d.ts.map +1 -0
  876. package/dist/usecases/tracking/recordReviewCompletion.usecase.js +52 -0
  877. package/dist/usecases/tracking/recordReviewCompletion.usecase.js.map +1 -0
  878. package/dist/usecases/tracking/syncThreads.usecase.d.ts +16 -0
  879. package/dist/usecases/tracking/syncThreads.usecase.d.ts.map +1 -0
  880. package/dist/usecases/tracking/syncThreads.usecase.js +26 -0
  881. package/dist/usecases/tracking/syncThreads.usecase.js.map +1 -0
  882. package/dist/usecases/tracking/trackAssignment.usecase.d.ts +28 -0
  883. package/dist/usecases/tracking/trackAssignment.usecase.d.ts.map +1 -0
  884. package/dist/usecases/tracking/trackAssignment.usecase.js +69 -0
  885. package/dist/usecases/tracking/trackAssignment.usecase.js.map +1 -0
  886. package/dist/usecases/tracking/transitionState.usecase.d.ts +14 -0
  887. package/dist/usecases/tracking/transitionState.usecase.d.ts.map +1 -0
  888. package/dist/usecases/tracking/transitionState.usecase.js +22 -0
  889. package/dist/usecases/tracking/transitionState.usecase.js.map +1 -0
  890. package/dist/usecases/triggerReview.usecase.d.ts +41 -0
  891. package/dist/usecases/triggerReview.usecase.d.ts.map +1 -0
  892. package/dist/usecases/triggerReview.usecase.js +34 -0
  893. package/dist/usecases/triggerReview.usecase.js.map +1 -0
  894. package/package.json +82 -0
  895. package/scripts/copyAssets.mjs +10 -0
  896. package/scripts/launcher.sh +35 -0
  897. package/templates/SETUP.md +183 -0
  898. package/templates/SKILL.md.template +207 -0
  899. package/templates/claude-mcp-config.example.json +12 -0
  900. package/templates/config.json.template +15 -0
  901. package/templates/en/followup-basic/README.md +66 -0
  902. package/templates/en/followup-basic/SKILL.md +317 -0
  903. package/templates/en/review-basic/README.md +75 -0
  904. package/templates/en/review-basic/SKILL.md +160 -0
  905. package/templates/en/review-with-agents/README.md +78 -0
  906. package/templates/en/review-with-agents/SKILL.md +225 -0
  907. package/templates/fr/followup-basic/README.md +66 -0
  908. package/templates/fr/followup-basic/SKILL.md +317 -0
  909. package/templates/fr/review-basic/README.md +59 -0
  910. package/templates/fr/review-basic/SKILL.md +160 -0
  911. package/templates/fr/review-with-agents/README.md +54 -0
  912. package/templates/fr/review-with-agents/SKILL.md +225 -0
  913. package/templates/skills/review-bootstrap/SKILL.md +119 -0
  914. package/templates/skills/review-with-mcp.md +133 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,271 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [3.0.0](https://github.com/DGouron/claude-review-automation/compare/reviewflow-v2.0.1...reviewflow-v3.0.0) (2026-02-08)
9
+
10
+
11
+ ### ⚠ BREAKING CHANGES
12
+
13
+ * **deps:** @fastify/websocket v9+ passes WebSocket directly instead of connection.socket wrapper
14
+ * **security:** Users must now copy config.example.json to config.json and fill in their own values.
15
+
16
+ ### Added
17
+
18
+ * add CLI entry point and fix distribution blockers (MVP tickets [#1](https://github.com/DGouron/claude-review-automation/issues/1)-[#4](https://github.com/DGouron/claude-review-automation/issues/4)) ([9df0773](https://github.com/DGouron/claude-review-automation/commit/9df0773ebf5a8716b0785ec9d26e4a29e6711368))
19
+ * add deployment docs and restructure architecture ([2c26fa6](https://github.com/DGouron/claude-review-automation/commit/2c26fa662a0e25362d774a6ebd075d4f3a8cf5ac))
20
+ * add dynamic dashboard tabs and followup job tracking ([07b85b4](https://github.com/DGouron/claude-review-automation/commit/07b85b4da0ce14384a0792ed11a52bb0e21f166a))
21
+ * add gateway pattern for Clean Architecture decoupling ([462c134](https://github.com/DGouron/claude-review-automation/commit/462c134355ada077d8e5a71670d5359668a693de))
22
+ * add memory guard and fix followup debug logging ([c7a2c34](https://github.com/DGouron/claude-review-automation/commit/c7a2c34c23bd427026897d0c8b33789ef321a7d9))
23
+ * add POST_INLINE_COMMENT MCP action ([a8b9f28](https://github.com/DGouron/claude-review-automation/commit/a8b9f28aba0acfb175b6ea3f1e461702644cdd4b))
24
+ * add POST_INLINE_COMMENT MCP action for platform-agnostic inline comments ([4d739c5](https://github.com/DGouron/claude-review-automation/commit/4d739c59799264c708de05e980be88d8188b70a0))
25
+ * add presenters and shared foundation interfaces ([7ba223c](https://github.com/DGouron/claude-review-automation/commit/7ba223c3b16fa88eb655b7e74f494e7930b2d3ee))
26
+ * add project config loader with multi-platform support ([a650eb9](https://github.com/DGouron/claude-review-automation/commit/a650eb9daf728598a1caf42262897e8b2002e278))
27
+ * add real-time updates, MR tracking, and dashboard improvements ([c61edbc](https://github.com/DGouron/claude-review-automation/commit/c61edbcf61da1b0683d360544619eed658b46965))
28
+ * add thread sync, GitHub support, templates, and fix stats parsing ([a710032](https://github.com/DGouron/claude-review-automation/commit/a710032e624617b3752c6cc4ae8f57e57131e42f))
29
+ * add use cases, ACL, value objects and ubiquitous language ([d33787f](https://github.com/DGouron/claude-review-automation/commit/d33787f96a889c4dd5830ae86e2b3b4bc61be97e))
30
+ * add Vitest test infrastructure with 90 tests ([6b54daa](https://github.com/DGouron/claude-review-automation/commit/6b54daa450de80de037bb2239840f2d4ef3d6353))
31
+ * auto-cleanup tracking when MR/PR is closed ([78ecaa3](https://github.com/DGouron/claude-review-automation/commit/78ecaa3e493692b6187b114f4e5417a621c85564))
32
+ * **cli:** add automatic Claude CLI path resolution ([b2a77c1](https://github.com/DGouron/claude-review-automation/commit/b2a77c1e99a5d2eb4b2cada56596f983c3da1c18))
33
+ * composition root completion + bug fixes ([f271240](https://github.com/DGouron/claude-review-automation/commit/f27124094ea373b26b0af88c10c32ac1c331e9a9))
34
+ * **context:** add Claude write capability to review context file ([47e2d97](https://github.com/DGouron/claude-review-automation/commit/47e2d97ec89537216da0a42a523d551649b4a422))
35
+ * **context:** add Claude write capability to review context file ([8a3a020](https://github.com/DGouron/claude-review-automation/commit/8a3a020ec5c6d0c8a0382c7579a9f199a86bcf6b))
36
+ * **context:** add live tracking of review context file ([5644150](https://github.com/DGouron/claude-review-automation/commit/5644150cac72b511bfaaeaf08e322328723b87d3))
37
+ * **context:** add live tracking of review context file ([a62b00d](https://github.com/DGouron/claude-review-automation/commit/a62b00d95ad0632cb9b3a7616487090a35bc64e1))
38
+ * **context:** add review context file infrastructure ([d736c0e](https://github.com/DGouron/claude-review-automation/commit/d736c0e967348561d622780c486e1b681fc2cb15))
39
+ * **context:** integrate review context in controllers ([d2db97b](https://github.com/DGouron/claude-review-automation/commit/d2db97b61d22a69042e39d725ebda5a4ec856a4a))
40
+ * **context:** review context file infrastructure (ticket 007) ([982931a](https://github.com/DGouron/claude-review-automation/commit/982931a3acba6015cba19b76be33d806c8c2a28c))
41
+ * **dashboard:** add auto-followup toggle and cancel review button ([1f32df8](https://github.com/DGouron/claude-review-automation/commit/1f32df8d25f22d6ae291e1f7e8f310722c89c536))
42
+ * display PR/MR title in review history ([5662859](https://github.com/DGouron/claude-review-automation/commit/566285950fc72b77a355535c00b3850b2b1b7f50))
43
+ * **docs:** add custom theme with cyan brand colors and typography ([3cf5560](https://github.com/DGouron/claude-review-automation/commit/3cf5560b54982e01d09a7fb4d9cdce4c95516e45))
44
+ * **docs:** add landing page with hero section and feature grid ([a38a487](https://github.com/DGouron/claude-review-automation/commit/a38a487c601fda92d03583d8249906eb648ab7a9))
45
+ * **docs:** add logo, favicon, and social media meta tags ([f1aeedc](https://github.com/DGouron/claude-review-automation/commit/f1aeedcd80e2a0ba1f0dfb0e0ff262afdf70eee2))
46
+ * **docs:** add quick start steps and platform badges to landing page ([013b6a1](https://github.com/DGouron/claude-review-automation/commit/013b6a14ba8465d9c1edeead15dba7d1fa63adad))
47
+ * **docs:** install VitePress and configure foundation ([5008acc](https://github.com/DGouron/claude-review-automation/commit/5008accaa2f5203d35d49479b7e98aef2197614a))
48
+ * **entities:** unify ThreadAction and ReviewContextAction into ReviewAction ([dcece2f](https://github.com/DGouron/claude-review-automation/commit/dcece2fd79a854f6179ef3c45ea1d96c51e89448))
49
+ * **gateways:** add GitHubReviewActionCliGateway and backward compat wrappers ([21e269a](https://github.com/DGouron/claude-review-automation/commit/21e269a60567251d460abe4f06ee1dd4a8fbebfe))
50
+ * GitHub PR tracking + dashboard UI fixes ([1bccfc1](https://github.com/DGouron/claude-review-automation/commit/1bccfc15eb9af93f9449cac71bfc77930e732d10))
51
+ * **main:** complete Composition Root with full feature parity ([3521f89](https://github.com/DGouron/claude-review-automation/commit/3521f89a358ed2d254fb25811f4f95033b02e926))
52
+ * **main:** create Composition Root for Clean Architecture ([90ae639](https://github.com/DGouron/claude-review-automation/commit/90ae6390fce460343cf36abcb7b887f32f9db14b))
53
+ * **main:** create Composition Root structure ([d8bc0b1](https://github.com/DGouron/claude-review-automation/commit/d8bc0b1e191d9a44f76766bdc9dd67325a071e70))
54
+ * **mcp:** add file-based context for MCP server ([9d0c8d6](https://github.com/DGouron/claude-review-automation/commit/9d0c8d6c515cf14cd0517341dee89610946ccb18))
55
+ * **mcp:** add file-based logging for MCP server debugging ([ab2739f](https://github.com/DGouron/claude-review-automation/commit/ab2739f264b097941696e65bdd716aacd561dce2))
56
+ * **mcp:** add MCP handlers and fix dashboard assignee attribution ([56a561f](https://github.com/DGouron/claude-review-automation/commit/56a561fb8405aba657c68d1d0afe890c08eedd05))
57
+ * **mcp:** add MCP server infrastructure with progress gateway ([fdd6d62](https://github.com/DGouron/claude-review-automation/commit/fdd6d6235b80b5c658d4fe22da64d816c16f095e))
58
+ * **mcp:** auto-create .mcp.json in project directory ([278144c](https://github.com/DGouron/claude-review-automation/commit/278144c70b8e6ab0d96654009fd0f86dfb83ed47))
59
+ * **mcp:** inject authoritative MCP instructions via system prompt ([670cb9d](https://github.com/DGouron/claude-review-automation/commit/670cb9d6b186d0de0b0a5011d5f7e6734bea37dc))
60
+ * **mcp:** MCP server infrastructure for real-time review progress ([752474b](https://github.com/DGouron/claude-review-automation/commit/752474bcb80a513b6635ff6b7150bce7a329153c))
61
+ * **mcp:** per-job context files and lazy-loading for concurrent reviews ([5be6a23](https://github.com/DGouron/claude-review-automation/commit/5be6a2320e9dc208864ff3ca5f05cedf10a5e253))
62
+ * MVP reviewflow CLI package distribution ([07294bb](https://github.com/DGouron/claude-review-automation/commit/07294bbbe5524f92ddd97af35413c05f53ac09a7))
63
+ * rename package from claude-review-automation to reviewflow ([7850479](https://github.com/DGouron/claude-review-automation/commit/78504792fffe5038791905847cac478f6c80e105))
64
+ * simplify config and add portable launcher ([f6048fa](https://github.com/DGouron/claude-review-automation/commit/f6048fa78d4e87d3473f404a5f38cf6691de9386))
65
+ * Standardized review markers with templates and documentation ([c613d7c](https://github.com/DGouron/claude-review-automation/commit/c613d7cb9404b01c060bdd8793f4d739e1ce6738))
66
+ * **templates:** add EN/FR skill templates (SPEC-003) ([42add0b](https://github.com/DGouron/claude-review-automation/commit/42add0b3700a6c968f009ff2966095ac0c4bf247))
67
+ * **thread-actions:** add standardized review markers parsing and execution ([f4d5353](https://github.com/DGouron/claude-review-automation/commit/f4d5353fbd8bfbbde53bb5d48ab76e102cefa508))
68
+ * **webhook:** add label trigger for GitHub reviews ([7a33628](https://github.com/DGouron/claude-review-automation/commit/7a33628940fa4324013630b6e1af19ea2ca75e01))
69
+ * **webhook:** add MR tracking for GitHub PRs ([7915bb1](https://github.com/DGouron/claude-review-automation/commit/7915bb128704e2b860819e86379a8f5000fe1aa4))
70
+
71
+
72
+ ### Fixed
73
+
74
+ * address PR [#20](https://github.com/DGouron/claude-review-automation/issues/20) review blocking issues ([43c2b4f](https://github.com/DGouron/claude-review-automation/commit/43c2b4f3c61d57a7ad43657946e7fb421b0f4125))
75
+ * address PR [#20](https://github.com/DGouron/claude-review-automation/issues/20) review important items ([#3](https://github.com/DGouron/claude-review-automation/issues/3) and [#4](https://github.com/DGouron/claude-review-automation/issues/4)) ([05aaaff](https://github.com/DGouron/claude-review-automation/commit/05aaaffdf0ab38ccd19d5a080e9fd53657fd8236))
76
+ * address PR [#7](https://github.com/DGouron/claude-review-automation/issues/7) review feedback - configurable polling and websocket tests ([5fcc278](https://github.com/DGouron/claude-review-automation/commit/5fcc278975ae5a5403e18ed323af278f7cdada23))
77
+ * address PR review comments ([cf3641a](https://github.com/DGouron/claude-review-automation/commit/cf3641ae316e978d8e77a7d01b5d0c9d2ad3c1a1))
78
+ * address PR review findings (non-null assertion, DRY, DIP) ([3553317](https://github.com/DGouron/claude-review-automation/commit/3553317298b57047543b3705e98389b90e43195e))
79
+ * **build:** update dashboard path in build script ([dafa4d3](https://github.com/DGouron/claude-review-automation/commit/dafa4d3aa5a6d5cabd80de6657ff54c4f2b568d8))
80
+ * **dashboard:** correct API status endpoint URL ([048cd84](https://github.com/DGouron/claude-review-automation/commit/048cd84d989e1b75895b8cfdae50b18e47fd11dd))
81
+ * **dashboard:** enlarge model card container ([6db215d](https://github.com/DGouron/claude-review-automation/commit/6db215d6f02d4aa03fe5076a52132c87de010f94))
82
+ * **dashboard:** fix data mapping and add debug logging ([25cebac](https://github.com/DGouron/claude-review-automation/commit/25cebac53a64074034148358ee712dffd4108c1f))
83
+ * **dashboard:** fix model select overflow and project info layout ([6e3b257](https://github.com/DGouron/claude-review-automation/commit/6e3b2577c581079de584a53317d6fc207845036b))
84
+ * display stats in dashboard ([2edacd2](https://github.com/DGouron/claude-review-automation/commit/2edacd2de93dde7183bc28a5d62682b9d6f984c1))
85
+ * **docs:** correct copyright year to 2026 ([69ba7a9](https://github.com/DGouron/claude-review-automation/commit/69ba7a9f5d2e9253bcf8cb424fbfb237e49ef6b8))
86
+ * **docs:** correct copyright year to 2026 ([8448faa](https://github.com/DGouron/claude-review-automation/commit/8448faa6e9fcf91963a5a9e544d3ff52e312e3ef))
87
+ * **docs:** correct copyright year to 2026 ([afe694e](https://github.com/DGouron/claude-review-automation/commit/afe694e50b5456ef5c4994747ae66da46cbbfa02))
88
+ * **github:** add title and assignedBy to job for dashboard display ([d027356](https://github.com/DGouron/claude-review-automation/commit/d0273562f2df45271eb569b66a6220b2e484bea7))
89
+ * **lint:** configure Biome and fix lint errors ([8ef360e](https://github.com/DGouron/claude-review-automation/commit/8ef360e1fd66bea05550b0c2e431beb9e0845cb7))
90
+ * **lint:** resolve Biome noDelete and useImportType errors ([9f932b0](https://github.com/DGouron/claude-review-automation/commit/9f932b0fe747599d14e381d2ab4ee08c37df2c08))
91
+ * **mcp:** pass env vars via --mcp-config instead of process env ([893c62e](https://github.com/DGouron/claude-review-automation/commit/893c62e1902eba696744776ba4b7f7463d67e937))
92
+ * **mcp:** remove --mcp-config and --dangerously-skip-permissions ([4baf630](https://github.com/DGouron/claude-review-automation/commit/4baf6300c305d63823a4f5a28eedf740da8ee210))
93
+ * prevent followup from triggering new review + sync threads after followup ([981f49c](https://github.com/DGouron/claude-review-automation/commit/981f49cb7dc220eb971bbadfc3d98076a5a01ddd))
94
+ * **progress:** write progress to context file for live dashboard updates ([26ae254](https://github.com/DGouron/claude-review-automation/commit/26ae254a34bdcc31092d8434c49708e624c8ab64))
95
+ * support GitHub PR filename format in reviews ([b727822](https://github.com/DGouron/claude-review-automation/commit/b727822b074afb86a41dd4bcc916ed00fd721789))
96
+ * **tracking:** warnings should not block MR approval ([45068aa](https://github.com/DGouron/claude-review-automation/commit/45068aa602f47688144ab517c0f4e5a6b6d12922))
97
+ * **tracking:** warnings should not block MR approval ([7dc12ef](https://github.com/DGouron/claude-review-automation/commit/7dc12ef8ac18c50a5f4cbc203cf97342daf2fa74))
98
+ * **webhook:** add filterGitLabMrMerge to detect merged MRs ([fd33009](https://github.com/DGouron/claude-review-automation/commit/fd33009c44328f24e9298447a6b8b9478758ae3e))
99
+ * **webhook:** address PR review feedback - type safety and tests ([0734289](https://github.com/DGouron/claude-review-automation/commit/07342892217ae4cdaaa1bd0f78fbe57f7e7a2cb7))
100
+
101
+
102
+ ### Changed
103
+
104
+ * add SyncThreadsUseCase reusing existing ThreadFetchGateway ([c6e11e9](https://github.com/DGouron/claude-review-automation/commit/c6e11e92bcd161679da3665a2d4fb3f6ce478875))
105
+ * **arch:** create frameworks layer with Strangler Fig migration ([db54aaa](https://github.com/DGouron/claude-review-automation/commit/db54aaa328266311bc2d75e29265bac5a3aaa90c))
106
+ * create tracking use cases with UseCase<Input, Output> pattern ([208a4d8](https://github.com/DGouron/claude-review-automation/commit/208a4d8c459ecb7fefd9f77b1facb101ce71a58f))
107
+ * enrich ReviewRequestTrackingGateway with query/remove methods ([d111e92](https://github.com/DGouron/claude-review-automation/commit/d111e927ece9361065861e4b060450ee2d11d3c0))
108
+ * **entities:** move progress types to domain layer ([7f2c054](https://github.com/DGouron/claude-review-automation/commit/7f2c054c3547860a829afe6532be215da76e2b83))
109
+ * **executor:** extract magic number to named constant ([0583f78](https://github.com/DGouron/claude-review-automation/commit/0583f7831bb15a5441a24b34df3cb212ca0bc65c))
110
+ * extract ProjectStatsCalculator to interface-adapters/services ([8a4a198](https://github.com/DGouron/claude-review-automation/commit/8a4a198634ff174fd8e0b7f01bb813fb56596e63))
111
+ * extract tracking types to entities/tracking/ ([aa0242d](https://github.com/DGouron/claude-review-automation/commit/aa0242de91baf7a00c44d1edc6c0d31c51668e74))
112
+ * **main:** complete composition root with WebSocket dependencies ([57dfd58](https://github.com/DGouron/claude-review-automation/commit/57dfd58bfdd31ee65526f3987b82a46f3c53b5a5))
113
+ * migrate all consumers to gateway+usecases, delete mrTrackingService ([db03372](https://github.com/DGouron/claude-review-automation/commit/db033724f128c5717b3266783bdf089a552c1172))
114
+ * move http routes to interface-adapters/controllers ([5b3b788](https://github.com/DGouron/claude-review-automation/commit/5b3b788f1c546ed3131840d15ac21702a8b41f24))
115
+ * move webhooks to interface-adapters/controllers ([d7713ee](https://github.com/DGouron/claude-review-automation/commit/d7713ee31dea893c09bc73286a9514ad9e50111c))
116
+ * rename acl/ to adapters/ for Clean Architecture compliance ([cd16b44](https://github.com/DGouron/claude-review-automation/commit/cd16b4479f8427b4cef7dfba3d2ffcaf5b1ceb83))
117
+ * split mrTrackingService God Object (BACKLOG-013) ([1ce0b35](https://github.com/DGouron/claude-review-automation/commit/1ce0b3570f425c739db96d8ff8d8cba698150f22))
118
+
119
+
120
+ ### Miscellaneous
121
+
122
+ * **deps:** upgrade to Fastify v5 with compatible plugins ([c1661f7](https://github.com/DGouron/claude-review-automation/commit/c1661f7b726224d36c7466c7582629c8c08fbabf))
123
+ * **security:** remove personal config from tracking ([b1d8892](https://github.com/DGouron/claude-review-automation/commit/b1d8892dcf6d142cc4f4728a79ff51ea1a419838))
124
+
125
+ ## [2.0.1](https://github.com/DGouron/claude-review-automation/compare/claude-review-automation-v2.0.0...claude-review-automation-v2.0.1) (2026-02-08)
126
+
127
+
128
+ ### Fixed
129
+
130
+ * address PR review findings (non-null assertion, DRY, DIP) ([3553317](https://github.com/DGouron/claude-review-automation/commit/3553317298b57047543b3705e98389b90e43195e))
131
+
132
+
133
+ ### Changed
134
+
135
+ * migrate all consumers to gateway+usecases, delete mrTrackingService ([db03372](https://github.com/DGouron/claude-review-automation/commit/db033724f128c5717b3266783bdf089a552c1172))
136
+ * split mrTrackingService God Object (BACKLOG-013) ([1ce0b35](https://github.com/DGouron/claude-review-automation/commit/1ce0b3570f425c739db96d8ff8d8cba698150f22))
137
+
138
+ ## [2.0.0](https://github.com/DGouron/claude-review-automation/compare/claude-review-automation-v1.0.0...claude-review-automation-v2.0.0) (2026-02-07)
139
+
140
+
141
+ ### ⚠ BREAKING CHANGES
142
+
143
+ * **deps:** @fastify/websocket v9+ passes WebSocket directly instead of connection.socket wrapper
144
+ * **security:** Users must now copy config.example.json to config.json and fill in their own values.
145
+
146
+ ### Added
147
+
148
+ * add deployment docs and restructure architecture ([2c26fa6](https://github.com/DGouron/claude-review-automation/commit/2c26fa662a0e25362d774a6ebd075d4f3a8cf5ac))
149
+ * add dynamic dashboard tabs and followup job tracking ([07b85b4](https://github.com/DGouron/claude-review-automation/commit/07b85b4da0ce14384a0792ed11a52bb0e21f166a))
150
+ * add gateway pattern for Clean Architecture decoupling ([462c134](https://github.com/DGouron/claude-review-automation/commit/462c134355ada077d8e5a71670d5359668a693de))
151
+ * add memory guard and fix followup debug logging ([c7a2c34](https://github.com/DGouron/claude-review-automation/commit/c7a2c34c23bd427026897d0c8b33789ef321a7d9))
152
+ * add POST_INLINE_COMMENT MCP action ([a8b9f28](https://github.com/DGouron/claude-review-automation/commit/a8b9f28aba0acfb175b6ea3f1e461702644cdd4b))
153
+ * add POST_INLINE_COMMENT MCP action for platform-agnostic inline comments ([4d739c5](https://github.com/DGouron/claude-review-automation/commit/4d739c59799264c708de05e980be88d8188b70a0))
154
+ * add presenters and shared foundation interfaces ([7ba223c](https://github.com/DGouron/claude-review-automation/commit/7ba223c3b16fa88eb655b7e74f494e7930b2d3ee))
155
+ * add project config loader with multi-platform support ([a650eb9](https://github.com/DGouron/claude-review-automation/commit/a650eb9daf728598a1caf42262897e8b2002e278))
156
+ * add real-time updates, MR tracking, and dashboard improvements ([c61edbc](https://github.com/DGouron/claude-review-automation/commit/c61edbcf61da1b0683d360544619eed658b46965))
157
+ * add thread sync, GitHub support, templates, and fix stats parsing ([a710032](https://github.com/DGouron/claude-review-automation/commit/a710032e624617b3752c6cc4ae8f57e57131e42f))
158
+ * add use cases, ACL, value objects and ubiquitous language ([d33787f](https://github.com/DGouron/claude-review-automation/commit/d33787f96a889c4dd5830ae86e2b3b4bc61be97e))
159
+ * add Vitest test infrastructure with 90 tests ([6b54daa](https://github.com/DGouron/claude-review-automation/commit/6b54daa450de80de037bb2239840f2d4ef3d6353))
160
+ * auto-cleanup tracking when MR/PR is closed ([78ecaa3](https://github.com/DGouron/claude-review-automation/commit/78ecaa3e493692b6187b114f4e5417a621c85564))
161
+ * **cli:** add automatic Claude CLI path resolution ([b2a77c1](https://github.com/DGouron/claude-review-automation/commit/b2a77c1e99a5d2eb4b2cada56596f983c3da1c18))
162
+ * composition root completion + bug fixes ([f271240](https://github.com/DGouron/claude-review-automation/commit/f27124094ea373b26b0af88c10c32ac1c331e9a9))
163
+ * **context:** add Claude write capability to review context file ([47e2d97](https://github.com/DGouron/claude-review-automation/commit/47e2d97ec89537216da0a42a523d551649b4a422))
164
+ * **context:** add Claude write capability to review context file ([8a3a020](https://github.com/DGouron/claude-review-automation/commit/8a3a020ec5c6d0c8a0382c7579a9f199a86bcf6b))
165
+ * **context:** add live tracking of review context file ([5644150](https://github.com/DGouron/claude-review-automation/commit/5644150cac72b511bfaaeaf08e322328723b87d3))
166
+ * **context:** add live tracking of review context file ([a62b00d](https://github.com/DGouron/claude-review-automation/commit/a62b00d95ad0632cb9b3a7616487090a35bc64e1))
167
+ * **context:** add review context file infrastructure ([d736c0e](https://github.com/DGouron/claude-review-automation/commit/d736c0e967348561d622780c486e1b681fc2cb15))
168
+ * **context:** integrate review context in controllers ([d2db97b](https://github.com/DGouron/claude-review-automation/commit/d2db97b61d22a69042e39d725ebda5a4ec856a4a))
169
+ * **context:** review context file infrastructure (ticket 007) ([982931a](https://github.com/DGouron/claude-review-automation/commit/982931a3acba6015cba19b76be33d806c8c2a28c))
170
+ * **dashboard:** add auto-followup toggle and cancel review button ([1f32df8](https://github.com/DGouron/claude-review-automation/commit/1f32df8d25f22d6ae291e1f7e8f310722c89c536))
171
+ * display PR/MR title in review history ([5662859](https://github.com/DGouron/claude-review-automation/commit/566285950fc72b77a355535c00b3850b2b1b7f50))
172
+ * **docs:** add custom theme with cyan brand colors and typography ([3cf5560](https://github.com/DGouron/claude-review-automation/commit/3cf5560b54982e01d09a7fb4d9cdce4c95516e45))
173
+ * **docs:** add landing page with hero section and feature grid ([a38a487](https://github.com/DGouron/claude-review-automation/commit/a38a487c601fda92d03583d8249906eb648ab7a9))
174
+ * **docs:** add logo, favicon, and social media meta tags ([f1aeedc](https://github.com/DGouron/claude-review-automation/commit/f1aeedcd80e2a0ba1f0dfb0e0ff262afdf70eee2))
175
+ * **docs:** add quick start steps and platform badges to landing page ([013b6a1](https://github.com/DGouron/claude-review-automation/commit/013b6a14ba8465d9c1edeead15dba7d1fa63adad))
176
+ * **docs:** install VitePress and configure foundation ([5008acc](https://github.com/DGouron/claude-review-automation/commit/5008accaa2f5203d35d49479b7e98aef2197614a))
177
+ * **entities:** unify ThreadAction and ReviewContextAction into ReviewAction ([dcece2f](https://github.com/DGouron/claude-review-automation/commit/dcece2fd79a854f6179ef3c45ea1d96c51e89448))
178
+ * **gateways:** add GitHubReviewActionCliGateway and backward compat wrappers ([21e269a](https://github.com/DGouron/claude-review-automation/commit/21e269a60567251d460abe4f06ee1dd4a8fbebfe))
179
+ * GitHub PR tracking + dashboard UI fixes ([1bccfc1](https://github.com/DGouron/claude-review-automation/commit/1bccfc15eb9af93f9449cac71bfc77930e732d10))
180
+ * **main:** complete Composition Root with full feature parity ([3521f89](https://github.com/DGouron/claude-review-automation/commit/3521f89a358ed2d254fb25811f4f95033b02e926))
181
+ * **main:** create Composition Root for Clean Architecture ([90ae639](https://github.com/DGouron/claude-review-automation/commit/90ae6390fce460343cf36abcb7b887f32f9db14b))
182
+ * **main:** create Composition Root structure ([d8bc0b1](https://github.com/DGouron/claude-review-automation/commit/d8bc0b1e191d9a44f76766bdc9dd67325a071e70))
183
+ * **mcp:** add file-based context for MCP server ([9d0c8d6](https://github.com/DGouron/claude-review-automation/commit/9d0c8d6c515cf14cd0517341dee89610946ccb18))
184
+ * **mcp:** add file-based logging for MCP server debugging ([ab2739f](https://github.com/DGouron/claude-review-automation/commit/ab2739f264b097941696e65bdd716aacd561dce2))
185
+ * **mcp:** add MCP handlers and fix dashboard assignee attribution ([56a561f](https://github.com/DGouron/claude-review-automation/commit/56a561fb8405aba657c68d1d0afe890c08eedd05))
186
+ * **mcp:** add MCP server infrastructure with progress gateway ([fdd6d62](https://github.com/DGouron/claude-review-automation/commit/fdd6d6235b80b5c658d4fe22da64d816c16f095e))
187
+ * **mcp:** auto-create .mcp.json in project directory ([278144c](https://github.com/DGouron/claude-review-automation/commit/278144c70b8e6ab0d96654009fd0f86dfb83ed47))
188
+ * **mcp:** inject authoritative MCP instructions via system prompt ([670cb9d](https://github.com/DGouron/claude-review-automation/commit/670cb9d6b186d0de0b0a5011d5f7e6734bea37dc))
189
+ * **mcp:** MCP server infrastructure for real-time review progress ([752474b](https://github.com/DGouron/claude-review-automation/commit/752474bcb80a513b6635ff6b7150bce7a329153c))
190
+ * **mcp:** per-job context files and lazy-loading for concurrent reviews ([5be6a23](https://github.com/DGouron/claude-review-automation/commit/5be6a2320e9dc208864ff3ca5f05cedf10a5e253))
191
+ * simplify config and add portable launcher ([f6048fa](https://github.com/DGouron/claude-review-automation/commit/f6048fa78d4e87d3473f404a5f38cf6691de9386))
192
+ * Standardized review markers with templates and documentation ([c613d7c](https://github.com/DGouron/claude-review-automation/commit/c613d7cb9404b01c060bdd8793f4d739e1ce6738))
193
+ * **templates:** add EN/FR skill templates (SPEC-003) ([42add0b](https://github.com/DGouron/claude-review-automation/commit/42add0b3700a6c968f009ff2966095ac0c4bf247))
194
+ * **thread-actions:** add standardized review markers parsing and execution ([f4d5353](https://github.com/DGouron/claude-review-automation/commit/f4d5353fbd8bfbbde53bb5d48ab76e102cefa508))
195
+ * **webhook:** add label trigger for GitHub reviews ([7a33628](https://github.com/DGouron/claude-review-automation/commit/7a33628940fa4324013630b6e1af19ea2ca75e01))
196
+ * **webhook:** add MR tracking for GitHub PRs ([7915bb1](https://github.com/DGouron/claude-review-automation/commit/7915bb128704e2b860819e86379a8f5000fe1aa4))
197
+
198
+
199
+ ### Fixed
200
+
201
+ * address PR [#7](https://github.com/DGouron/claude-review-automation/issues/7) review feedback - configurable polling and websocket tests ([5fcc278](https://github.com/DGouron/claude-review-automation/commit/5fcc278975ae5a5403e18ed323af278f7cdada23))
202
+ * address PR review comments ([cf3641a](https://github.com/DGouron/claude-review-automation/commit/cf3641ae316e978d8e77a7d01b5d0c9d2ad3c1a1))
203
+ * **build:** update dashboard path in build script ([dafa4d3](https://github.com/DGouron/claude-review-automation/commit/dafa4d3aa5a6d5cabd80de6657ff54c4f2b568d8))
204
+ * **dashboard:** correct API status endpoint URL ([048cd84](https://github.com/DGouron/claude-review-automation/commit/048cd84d989e1b75895b8cfdae50b18e47fd11dd))
205
+ * **dashboard:** enlarge model card container ([6db215d](https://github.com/DGouron/claude-review-automation/commit/6db215d6f02d4aa03fe5076a52132c87de010f94))
206
+ * **dashboard:** fix data mapping and add debug logging ([25cebac](https://github.com/DGouron/claude-review-automation/commit/25cebac53a64074034148358ee712dffd4108c1f))
207
+ * **dashboard:** fix model select overflow and project info layout ([6e3b257](https://github.com/DGouron/claude-review-automation/commit/6e3b2577c581079de584a53317d6fc207845036b))
208
+ * display stats in dashboard ([2edacd2](https://github.com/DGouron/claude-review-automation/commit/2edacd2de93dde7183bc28a5d62682b9d6f984c1))
209
+ * **docs:** correct copyright year to 2026 ([69ba7a9](https://github.com/DGouron/claude-review-automation/commit/69ba7a9f5d2e9253bcf8cb424fbfb237e49ef6b8))
210
+ * **docs:** correct copyright year to 2026 ([8448faa](https://github.com/DGouron/claude-review-automation/commit/8448faa6e9fcf91963a5a9e544d3ff52e312e3ef))
211
+ * **docs:** correct copyright year to 2026 ([afe694e](https://github.com/DGouron/claude-review-automation/commit/afe694e50b5456ef5c4994747ae66da46cbbfa02))
212
+ * **github:** add title and assignedBy to job for dashboard display ([d027356](https://github.com/DGouron/claude-review-automation/commit/d0273562f2df45271eb569b66a6220b2e484bea7))
213
+ * **lint:** configure Biome and fix lint errors ([8ef360e](https://github.com/DGouron/claude-review-automation/commit/8ef360e1fd66bea05550b0c2e431beb9e0845cb7))
214
+ * **lint:** resolve Biome noDelete and useImportType errors ([9f932b0](https://github.com/DGouron/claude-review-automation/commit/9f932b0fe747599d14e381d2ab4ee08c37df2c08))
215
+ * **mcp:** pass env vars via --mcp-config instead of process env ([893c62e](https://github.com/DGouron/claude-review-automation/commit/893c62e1902eba696744776ba4b7f7463d67e937))
216
+ * **mcp:** remove --mcp-config and --dangerously-skip-permissions ([4baf630](https://github.com/DGouron/claude-review-automation/commit/4baf6300c305d63823a4f5a28eedf740da8ee210))
217
+ * prevent followup from triggering new review + sync threads after followup ([981f49c](https://github.com/DGouron/claude-review-automation/commit/981f49cb7dc220eb971bbadfc3d98076a5a01ddd))
218
+ * **progress:** write progress to context file for live dashboard updates ([26ae254](https://github.com/DGouron/claude-review-automation/commit/26ae254a34bdcc31092d8434c49708e624c8ab64))
219
+ * support GitHub PR filename format in reviews ([b727822](https://github.com/DGouron/claude-review-automation/commit/b727822b074afb86a41dd4bcc916ed00fd721789))
220
+ * **tracking:** warnings should not block MR approval ([45068aa](https://github.com/DGouron/claude-review-automation/commit/45068aa602f47688144ab517c0f4e5a6b6d12922))
221
+ * **tracking:** warnings should not block MR approval ([7dc12ef](https://github.com/DGouron/claude-review-automation/commit/7dc12ef8ac18c50a5f4cbc203cf97342daf2fa74))
222
+ * **webhook:** add filterGitLabMrMerge to detect merged MRs ([fd33009](https://github.com/DGouron/claude-review-automation/commit/fd33009c44328f24e9298447a6b8b9478758ae3e))
223
+ * **webhook:** address PR review feedback - type safety and tests ([0734289](https://github.com/DGouron/claude-review-automation/commit/07342892217ae4cdaaa1bd0f78fbe57f7e7a2cb7))
224
+
225
+
226
+ ### Changed
227
+
228
+ * **arch:** create frameworks layer with Strangler Fig migration ([db54aaa](https://github.com/DGouron/claude-review-automation/commit/db54aaa328266311bc2d75e29265bac5a3aaa90c))
229
+ * **entities:** move progress types to domain layer ([7f2c054](https://github.com/DGouron/claude-review-automation/commit/7f2c054c3547860a829afe6532be215da76e2b83))
230
+ * **executor:** extract magic number to named constant ([0583f78](https://github.com/DGouron/claude-review-automation/commit/0583f7831bb15a5441a24b34df3cb212ca0bc65c))
231
+ * **main:** complete composition root with WebSocket dependencies ([57dfd58](https://github.com/DGouron/claude-review-automation/commit/57dfd58bfdd31ee65526f3987b82a46f3c53b5a5))
232
+ * move http routes to interface-adapters/controllers ([5b3b788](https://github.com/DGouron/claude-review-automation/commit/5b3b788f1c546ed3131840d15ac21702a8b41f24))
233
+ * move webhooks to interface-adapters/controllers ([d7713ee](https://github.com/DGouron/claude-review-automation/commit/d7713ee31dea893c09bc73286a9514ad9e50111c))
234
+ * rename acl/ to adapters/ for Clean Architecture compliance ([cd16b44](https://github.com/DGouron/claude-review-automation/commit/cd16b4479f8427b4cef7dfba3d2ffcaf5b1ceb83))
235
+
236
+
237
+ ### Miscellaneous
238
+
239
+ * **deps:** upgrade to Fastify v5 with compatible plugins ([c1661f7](https://github.com/DGouron/claude-review-automation/commit/c1661f7b726224d36c7466c7582629c8c08fbabf))
240
+ * **security:** remove personal config from tracking ([b1d8892](https://github.com/DGouron/claude-review-automation/commit/b1d8892dcf6d142cc4f4728a79ff51ea1a419838))
241
+
242
+ ## [1.0.0] - 2026-02-07
243
+
244
+ ### Added
245
+
246
+ - **Webhook server** for GitLab merge requests and GitHub pull requests
247
+ - **Dual platform support**: GitLab (native webhooks) and GitHub (webhooks + label triggers)
248
+ - **Claude CLI integration** with automatic path resolution
249
+ - **MCP server** for real-time review progress tracking
250
+ - **Real-time dashboard** with WebSocket updates, review history, and per-project tracking
251
+ - **Review context files** with live tracking and Claude write capability
252
+ - **Review skills system** with EN/FR templates for customizable review prompts
253
+ - **Standardized review markers** parsing and execution for thread actions
254
+ - **Thread synchronization** between review comments and MR/PR discussions
255
+ - **Auto-followup** toggle to re-check resolved issues
256
+ - **Auto-cleanup** of tracking data when MR/PR is closed or merged
257
+ - **Queue system** with deduplication to prevent concurrent reviews
258
+ - **Composition Root** with full dependency injection (Clean Architecture)
259
+ - **Gateway pattern** for external service decoupling (GitLab CLI, GitHub CLI)
260
+ - **Presenters and value objects** for domain-driven data transformation
261
+ - **90+ unit tests** with Vitest
262
+ - **GitHub Actions CI** with TypeScript validation, Biome linting, and tests
263
+ - **Comprehensive documentation**: architecture, quickstart, config reference, troubleshooting
264
+
265
+ ### Security
266
+
267
+ - Webhook signature verification with timing-safe comparison
268
+ - CLI argument escaping to prevent injection
269
+ - No sensitive data in production logs
270
+
271
+ [1.0.0]: https://github.com/DGouron/claude-review-automation/releases/tag/v1.0.0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Damien Gouron
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,209 @@
1
+ # Reviewflow
2
+
3
+ [![CI](https://github.com/DGouron/review-flow/actions/workflows/ci.yml/badge.svg)](https://github.com/DGouron/review-flow/actions/workflows/ci.yml)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
5
+ [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D20-green.svg)](https://nodejs.org/)
6
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.8-blue.svg)](https://www.typescriptlang.org/)
7
+
8
+ Automated AI code reviews powered by [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Assign a reviewer on your merge request — Claude reviews the code, tracks progress in real time, and follows up when you push fixes.
9
+
10
+ Works with **GitLab** and **GitHub** out of the box.
11
+
12
+ ---
13
+
14
+ ## How It Works
15
+
16
+ ```
17
+ Developer pushes code
18
+
19
+
20
+ GitLab/GitHub webhook ──► Review server receives event
21
+
22
+
23
+ Queue deduplicates & schedules
24
+
25
+
26
+ Claude Code runs review skill
27
+
28
+ ┌─────────┼─────────┐
29
+ ▼ ▼ ▼
30
+ Agent 1 Agent 2 Agent N
31
+ (Archi) (Tests) (Quality)
32
+ │ │ │
33
+ └─────────┼─────────┘
34
+
35
+ MCP server reports progress
36
+
37
+
38
+ Dashboard shows live status
39
+
40
+
41
+ Review posted on MR/PR
42
+
43
+
44
+ Dev pushes fixes ──► Auto follow-up
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Key Features
50
+
51
+ ### Multi-Agent Reviews
52
+
53
+ Each review runs a configurable set of specialized audit agents — Clean Architecture, SOLID, Testing, DDD, Code Quality, and more. Define your own agents per project to match your team's standards.
54
+
55
+ ```json
56
+ {
57
+ "agents": [
58
+ { "name": "clean-architecture", "displayName": "Clean Archi" },
59
+ { "name": "security", "displayName": "Security" },
60
+ { "name": "testing", "displayName": "Testing" }
61
+ ]
62
+ }
63
+ ```
64
+
65
+ ### MCP Integration
66
+
67
+ A built-in [Model Context Protocol](https://modelcontextprotocol.io/) server gives Claude structured tools to report progress, manage review phases, and queue actions on discussion threads — replacing fragile text-marker parsing with typed tool calls.
68
+
69
+ | MCP Tool | Purpose |
70
+ |----------|---------|
71
+ | `get_workflow` | Read current review state and agent list |
72
+ | `start_agent` / `complete_agent` | Track per-agent progress |
73
+ | `set_phase` | Advance review phases |
74
+ | `get_threads` | Fetch MR/PR discussion threads |
75
+ | `add_action` | Queue thread actions (resolve, reply, comment) |
76
+
77
+ ### Smart Queue
78
+
79
+ Powered by [p-queue](https://github.com/sindresorhus/p-queue) with:
80
+
81
+ - **Concurrency control** — limit parallel reviews (default: 2)
82
+ - **Deduplication** — prevents duplicate reviews within a configurable time window
83
+ - **Graceful cancellation** — abort running reviews via dashboard or API
84
+ - **Memory guard** — auto-kills if RSS exceeds 4 GB
85
+ - **Retry on failure** — failed jobs clear deduplication so they can be re-triggered immediately
86
+
87
+ ### Real-Time Dashboard
88
+
89
+ A WebSocket-powered dashboard shows live review progress:
90
+
91
+ - Phase and agent-level progress bars
92
+ - Running / queued / completed review counts
93
+ - Review history with duration, scores, and error details
94
+ - Log stream for debugging
95
+ - Auto-reconnection with exponential backoff
96
+
97
+ ### Follow-Up Reviews
98
+
99
+ When a developer pushes fixes after a review, Claude automatically:
100
+
101
+ 1. Re-reads the discussion threads
102
+ 2. Checks if blocking issues are resolved
103
+ 3. Resolves threads on GitLab/GitHub
104
+ 4. Posts a follow-up summary with updated score
105
+
106
+ This creates an iterative review loop, not just a one-shot check.
107
+
108
+ ### Multi-Platform Support
109
+
110
+ | Feature | GitLab | GitHub |
111
+ |---------|--------|--------|
112
+ | Webhook trigger | Reviewer assigned | Review requested or `needs-review` label |
113
+ | Thread actions | Resolve, reply, comment | Resolve, reply, comment |
114
+ | Auto-followup | On MR push | On PR push |
115
+ | Authentication | `glab` CLI (OAuth) | `gh` CLI (OAuth) |
116
+
117
+ No API tokens needed — both platforms use secure CLI-based OAuth.
118
+
119
+ ### Customizable Review Skills
120
+
121
+ Review behavior is defined by [Claude Code skills](https://docs.anthropic.com/en/docs/claude-code/skills) — Markdown files in your project that tell Claude what to audit and how. Templates included for frontend, backend, and API reviews in English and French.
122
+
123
+ ---
124
+
125
+ ## Quick Start
126
+
127
+ ### Install globally
128
+
129
+ ```bash
130
+ npm install -g reviewflow
131
+ # or
132
+ yarn global add reviewflow
133
+ ```
134
+
135
+ ### Or run directly with npx
136
+
137
+ ```bash
138
+ npx reviewflow --help
139
+ npx reviewflow start
140
+ ```
141
+
142
+ ### Configure & run
143
+
144
+ ```bash
145
+ # Configure
146
+ cp .env.example .env
147
+ cp config.example.json config.json
148
+ # Edit config.json with your repositories
149
+
150
+ # Start the server
151
+ reviewflow start
152
+ # Dashboard at http://localhost:3847
153
+ ```
154
+
155
+ Then [configure a webhook](docs/QUICKSTART.md) on your GitLab/GitHub project pointing to your server.
156
+
157
+ For detailed setup, see the **[Quick Start Guide](docs/QUICKSTART.md)**.
158
+
159
+ ---
160
+
161
+ ## Documentation
162
+
163
+ | Topic | Link |
164
+ |-------|------|
165
+ | Quick Start | [docs/QUICKSTART.md](docs/QUICKSTART.md) |
166
+ | Configuration Reference | [docs/CONFIG-REFERENCE.md](docs/CONFIG-REFERENCE.md) |
167
+ | Project Configuration | [docs/PROJECT_CONFIG.md](docs/PROJECT_CONFIG.md) |
168
+ | Review Skills Guide | [docs/REVIEW-SKILLS-GUIDE.md](docs/REVIEW-SKILLS-GUIDE.md) |
169
+ | MCP Tools Reference | [docs/MCP-TOOLS-REFERENCE.md](docs/MCP-TOOLS-REFERENCE.md) |
170
+ | Architecture | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) |
171
+ | Deployment | [docs/deployment/README.md](docs/deployment/README.md) |
172
+ | Troubleshooting | [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) |
173
+ | Full Documentation Index | [docs/INDEX.md](docs/INDEX.md) |
174
+
175
+ ---
176
+
177
+ ## API
178
+
179
+ | Endpoint | Method | Description |
180
+ |----------|--------|-------------|
181
+ | `/dashboard/` | GET | Web dashboard |
182
+ | `/health` | GET | Health check |
183
+ | `/status` | GET | Queue status |
184
+ | `/webhooks/gitlab` | POST | GitLab webhook receiver |
185
+ | `/webhooks/github` | POST | GitHub webhook receiver |
186
+ | `/api/reviews` | GET | List reviews |
187
+ | `/api/reviews/cancel/:jobId` | POST | Cancel a running review |
188
+ | `/ws` | WS | Real-time progress updates |
189
+
190
+ ---
191
+
192
+ ## Development
193
+
194
+ ```bash
195
+ npm run dev # Dev server with hot reload
196
+ npm test # Tests in watch mode
197
+ npm run test:ci # Tests (CI mode)
198
+ npm run typecheck # TypeScript validation
199
+ npm run lint # Biome linting
200
+ npm run verify # All checks (typecheck + lint + test)
201
+ ```
202
+
203
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
204
+
205
+ ---
206
+
207
+ ## License
208
+
209
+ [MIT](LICENSE) — Damien Gouron
@@ -0,0 +1,3 @@
1
+ export { invokeClaudeReview, sendNotification, } from '../frameworks/claude/claudeInvoker.js';
2
+ export type { InvocationResult, ProgressCallback, } from '../frameworks/claude/claudeInvoker.js';
3
+ //# sourceMappingURL=invoker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoker.d.ts","sourceRoot":"","sources":["../../src/claude/invoker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAE/C,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Strangler Fig: Re-export from new location
2
+ // This file will be removed once all imports are updated
3
+ export { invokeClaudeReview, sendNotification, } from '../frameworks/claude/claudeInvoker.js';
4
+ //# sourceMappingURL=invoker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoker.js","sourceRoot":"","sources":["../../src/claude/invoker.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,yDAAyD;AACzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ProgressParser, parseProgressMarkers, } from '../frameworks/claude/progressParser.js';
2
+ export type { ParseResult, ProgressCallback, } from '../frameworks/claude/progressParser.js';
3
+ //# sourceMappingURL=progressParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressParser.d.ts","sourceRoot":"","sources":["../../src/claude/progressParser.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAEhD,YAAY,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Strangler Fig: Re-export from new location
2
+ // This file will be removed once all imports are updated
3
+ export { ProgressParser, parseProgressMarkers, } from '../frameworks/claude/progressParser.js';
4
+ //# sourceMappingURL=progressParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressParser.js","sourceRoot":"","sources":["../../src/claude/progressParser.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,yDAAyD;AACzD,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface CliArgs {
2
+ command: 'start' | 'version' | 'help';
3
+ skipDependencyCheck: boolean;
4
+ }
5
+ export declare function parseCliArgs(args: string[]): CliArgs;
6
+ //# sourceMappingURL=parseCliArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseCliArgs.d.ts","sourceRoot":"","sources":["../../src/cli/parseCliArgs.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACtC,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAapD"}
@@ -0,0 +1,13 @@
1
+ export function parseCliArgs(args) {
2
+ if (args.includes('--version') || args.includes('-v')) {
3
+ return { command: 'version', skipDependencyCheck: false };
4
+ }
5
+ if (args.includes('--help') || args.includes('-h')) {
6
+ return { command: 'help', skipDependencyCheck: false };
7
+ }
8
+ return {
9
+ command: 'start',
10
+ skipDependencyCheck: args.includes('--skip-dependency-check'),
11
+ };
12
+ }
13
+ //# sourceMappingURL=parseCliArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseCliArgs.js","sourceRoot":"","sources":["../../src/cli/parseCliArgs.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC9D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { loadConfig, loadEnvSecrets, findRepositoryByRemoteUrl, findRepositoryByProjectPath, } from '../frameworks/config/configLoader.js';
2
+ export type { Config, RepositoryConfig, ServerConfig, UserConfig, QueueConfig, EnvSecrets, } from '../frameworks/config/configLoader.js';
3
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,cAAc,EACd,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,sCAAsC,CAAC;AAE9C,YAAY,EACV,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Strangler Fig: Re-export from new location
2
+ // This file will be removed once all imports are updated
3
+ export { loadConfig, loadEnvSecrets, findRepositoryByRemoteUrl, findRepositoryByProjectPath, } from '../frameworks/config/configLoader.js';
4
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,yDAAyD;AACzD,OAAO,EACL,UAAU,EACV,cAAc,EACd,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,sCAAsC,CAAC"}