reviewflow 3.5.0 → 3.7.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 (393) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/config/projectConfig.d.ts +2 -0
  3. package/dist/config/projectConfig.d.ts.map +1 -1
  4. package/dist/config/projectConfig.js +17 -0
  5. package/dist/config/projectConfig.js.map +1 -1
  6. package/dist/entities/backfill/backfillProgress.d.ts +7 -0
  7. package/dist/entities/backfill/backfillProgress.d.ts.map +1 -0
  8. package/dist/entities/backfill/backfillProgress.js +2 -0
  9. package/dist/entities/backfill/backfillProgress.js.map +1 -0
  10. package/dist/entities/cleanup/retentionPolicy.valueObject.d.ts +8 -0
  11. package/dist/entities/cleanup/retentionPolicy.valueObject.d.ts.map +1 -0
  12. package/dist/entities/cleanup/retentionPolicy.valueObject.js +21 -0
  13. package/dist/entities/cleanup/retentionPolicy.valueObject.js.map +1 -0
  14. package/dist/entities/diffStats/diffStats.d.ts +6 -0
  15. package/dist/entities/diffStats/diffStats.d.ts.map +1 -0
  16. package/dist/entities/diffStats/diffStats.js +2 -0
  17. package/dist/entities/diffStats/diffStats.js.map +1 -0
  18. package/dist/entities/diffStats/diffStatsFetch.gateway.d.ts +5 -0
  19. package/dist/entities/diffStats/diffStatsFetch.gateway.d.ts.map +1 -0
  20. package/dist/entities/diffStats/diffStatsFetch.gateway.js +2 -0
  21. package/dist/entities/diffStats/diffStatsFetch.gateway.js.map +1 -0
  22. package/dist/entities/packageVersion/packageVersion.d.ts +18 -0
  23. package/dist/entities/packageVersion/packageVersion.d.ts.map +1 -0
  24. package/dist/entities/packageVersion/packageVersion.gateway.d.ts +4 -0
  25. package/dist/entities/packageVersion/packageVersion.gateway.d.ts.map +1 -0
  26. package/dist/entities/packageVersion/packageVersion.gateway.js +2 -0
  27. package/dist/entities/packageVersion/packageVersion.gateway.js.map +1 -0
  28. package/dist/entities/packageVersion/packageVersion.guard.d.ts +7 -0
  29. package/dist/entities/packageVersion/packageVersion.guard.d.ts.map +1 -0
  30. package/dist/entities/packageVersion/packageVersion.guard.js +13 -0
  31. package/dist/entities/packageVersion/packageVersion.guard.js.map +1 -0
  32. package/dist/entities/packageVersion/packageVersion.js +2 -0
  33. package/dist/entities/packageVersion/packageVersion.js.map +1 -0
  34. package/dist/entities/packageVersion/packageVersion.schema.d.ts +12 -0
  35. package/dist/entities/packageVersion/packageVersion.schema.d.ts.map +1 -0
  36. package/dist/entities/packageVersion/packageVersion.schema.js +11 -0
  37. package/dist/entities/packageVersion/packageVersion.schema.js.map +1 -0
  38. package/dist/entities/packageVersion/selfUpdateCommand.gateway.d.ts +8 -0
  39. package/dist/entities/packageVersion/selfUpdateCommand.gateway.d.ts.map +1 -0
  40. package/dist/entities/packageVersion/selfUpdateCommand.gateway.js +2 -0
  41. package/dist/entities/packageVersion/selfUpdateCommand.gateway.js.map +1 -0
  42. package/dist/entities/packageVersion/versionCache.gateway.d.ts +7 -0
  43. package/dist/entities/packageVersion/versionCache.gateway.d.ts.map +1 -0
  44. package/dist/entities/packageVersion/versionCache.gateway.js +2 -0
  45. package/dist/entities/packageVersion/versionCache.gateway.js.map +1 -0
  46. package/dist/entities/reviewAction/reviewAction.gateway.d.ts +1 -0
  47. package/dist/entities/reviewAction/reviewAction.gateway.d.ts.map +1 -1
  48. package/dist/entities/stats/projectStats.d.ts +36 -0
  49. package/dist/entities/stats/projectStats.d.ts.map +1 -0
  50. package/dist/entities/stats/projectStats.js +2 -0
  51. package/dist/entities/stats/projectStats.js.map +1 -0
  52. package/dist/entities/stats/recalculateBody.guard.d.ts +11 -0
  53. package/dist/entities/stats/recalculateBody.guard.d.ts.map +1 -0
  54. package/dist/entities/stats/recalculateBody.guard.js +9 -0
  55. package/dist/entities/stats/recalculateBody.guard.js.map +1 -0
  56. package/dist/entities/stats/stats.gateway.d.ts +7 -0
  57. package/dist/entities/stats/stats.gateway.d.ts.map +1 -0
  58. package/dist/entities/stats/stats.gateway.js +2 -0
  59. package/dist/entities/stats/stats.gateway.js.map +1 -0
  60. package/dist/entities/tracking/reviewEvent.d.ts +2 -0
  61. package/dist/entities/tracking/reviewEvent.d.ts.map +1 -1
  62. package/dist/frameworks/claude/claudeInvoker.d.ts +7 -1
  63. package/dist/frameworks/claude/claudeInvoker.d.ts.map +1 -1
  64. package/dist/frameworks/claude/claudeInvoker.js +59 -35
  65. package/dist/frameworks/claude/claudeInvoker.js.map +1 -1
  66. package/dist/frameworks/config/configLoader.d.ts +1 -0
  67. package/dist/frameworks/config/configLoader.d.ts.map +1 -1
  68. package/dist/frameworks/config/configLoader.js +9 -1
  69. package/dist/frameworks/config/configLoader.js.map +1 -1
  70. package/dist/frameworks/scheduler/cleanupScheduler.d.ts +16 -0
  71. package/dist/frameworks/scheduler/cleanupScheduler.d.ts.map +1 -0
  72. package/dist/frameworks/scheduler/cleanupScheduler.js +35 -0
  73. package/dist/frameworks/scheduler/cleanupScheduler.js.map +1 -0
  74. package/dist/interface-adapters/controllers/http/cleanup.routes.d.ts +16 -0
  75. package/dist/interface-adapters/controllers/http/cleanup.routes.d.ts.map +1 -0
  76. package/dist/interface-adapters/controllers/http/cleanup.routes.js +44 -0
  77. package/dist/interface-adapters/controllers/http/cleanup.routes.js.map +1 -0
  78. package/dist/interface-adapters/controllers/http/health.routes.d.ts +3 -1
  79. package/dist/interface-adapters/controllers/http/health.routes.d.ts.map +1 -1
  80. package/dist/interface-adapters/controllers/http/health.routes.js +5 -1
  81. package/dist/interface-adapters/controllers/http/health.routes.js.map +1 -1
  82. package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts.map +1 -1
  83. package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js +13 -2
  84. package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js.map +1 -1
  85. package/dist/interface-adapters/controllers/http/stats.routes.d.ts +20 -6
  86. package/dist/interface-adapters/controllers/http/stats.routes.d.ts.map +1 -1
  87. package/dist/interface-adapters/controllers/http/stats.routes.js +35 -2
  88. package/dist/interface-adapters/controllers/http/stats.routes.js.map +1 -1
  89. package/dist/interface-adapters/controllers/http/version.routes.d.ts +18 -0
  90. package/dist/interface-adapters/controllers/http/version.routes.d.ts.map +1 -0
  91. package/dist/interface-adapters/controllers/http/version.routes.js +18 -0
  92. package/dist/interface-adapters/controllers/http/version.routes.js.map +1 -0
  93. package/dist/interface-adapters/controllers/webhook/github.controller.d.ts +16 -2
  94. package/dist/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -1
  95. package/dist/interface-adapters/controllers/webhook/github.controller.js +14 -17
  96. package/dist/interface-adapters/controllers/webhook/github.controller.js.map +1 -1
  97. package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts +25 -2
  98. package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts.map +1 -1
  99. package/dist/interface-adapters/controllers/webhook/gitlab.controller.js +54 -36
  100. package/dist/interface-adapters/controllers/webhook/gitlab.controller.js.map +1 -1
  101. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.d.ts.map +1 -1
  102. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.js +7 -2
  103. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.js.map +1 -1
  104. package/dist/interface-adapters/gateways/diffStatsFetch.github.gateway.d.ts +10 -0
  105. package/dist/interface-adapters/gateways/diffStatsFetch.github.gateway.d.ts.map +1 -0
  106. package/dist/interface-adapters/gateways/diffStatsFetch.github.gateway.js +26 -0
  107. package/dist/interface-adapters/gateways/diffStatsFetch.github.gateway.js.map +1 -0
  108. package/dist/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.d.ts +10 -0
  109. package/dist/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.d.ts.map +1 -0
  110. package/dist/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.js +28 -0
  111. package/dist/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.js.map +1 -0
  112. package/dist/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.d.ts +7 -0
  113. package/dist/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.d.ts.map +1 -0
  114. package/dist/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.js +47 -0
  115. package/dist/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.js.map +1 -0
  116. package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.d.ts +2 -2
  117. package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.d.ts.map +1 -1
  118. package/dist/interface-adapters/gateways/packageVersion.npm.gateway.d.ts +7 -0
  119. package/dist/interface-adapters/gateways/packageVersion.npm.gateway.d.ts.map +1 -0
  120. package/dist/interface-adapters/gateways/packageVersion.npm.gateway.js +25 -0
  121. package/dist/interface-adapters/gateways/packageVersion.npm.gateway.js.map +1 -0
  122. package/dist/interface-adapters/gateways/reviewLogFile.gateway.d.ts +12 -0
  123. package/dist/interface-adapters/gateways/reviewLogFile.gateway.d.ts.map +1 -0
  124. package/dist/interface-adapters/gateways/reviewLogFile.gateway.js +2 -0
  125. package/dist/interface-adapters/gateways/reviewLogFile.gateway.js.map +1 -0
  126. package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.d.ts +19 -0
  127. package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.d.ts.map +1 -0
  128. package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.js +44 -0
  129. package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.js.map +1 -0
  130. package/dist/interface-adapters/gateways/stats.gateway.d.ts +1 -6
  131. package/dist/interface-adapters/gateways/stats.gateway.d.ts.map +1 -1
  132. package/dist/interface-adapters/gateways/versionCache.memory.gateway.d.ts +12 -0
  133. package/dist/interface-adapters/gateways/versionCache.memory.gateway.d.ts.map +1 -0
  134. package/dist/interface-adapters/gateways/versionCache.memory.gateway.js +22 -0
  135. package/dist/interface-adapters/gateways/versionCache.memory.gateway.js.map +1 -0
  136. package/dist/interface-adapters/views/dashboard/index.html +359 -40
  137. package/dist/interface-adapters/views/dashboard/modules/cleanup.d.ts +10 -0
  138. package/dist/interface-adapters/views/dashboard/modules/cleanup.d.ts.map +1 -0
  139. package/dist/interface-adapters/views/dashboard/modules/cleanup.js +45 -0
  140. package/dist/interface-adapters/views/dashboard/modules/cleanup.js.map +1 -0
  141. package/dist/interface-adapters/views/dashboard/modules/collapsibleList.d.ts +13 -0
  142. package/dist/interface-adapters/views/dashboard/modules/collapsibleList.d.ts.map +1 -0
  143. package/dist/interface-adapters/views/dashboard/modules/collapsibleList.js +71 -0
  144. package/dist/interface-adapters/views/dashboard/modules/collapsibleList.js.map +1 -0
  145. package/dist/interface-adapters/views/dashboard/modules/i18n.d.ts.map +1 -1
  146. package/dist/interface-adapters/views/dashboard/modules/i18n.js +96 -0
  147. package/dist/interface-adapters/views/dashboard/modules/i18n.js.map +1 -1
  148. package/dist/interface-adapters/views/dashboard/modules/mrSheet.d.ts +25 -0
  149. package/dist/interface-adapters/views/dashboard/modules/mrSheet.d.ts.map +1 -0
  150. package/dist/interface-adapters/views/dashboard/modules/mrSheet.js +414 -0
  151. package/dist/interface-adapters/views/dashboard/modules/mrSheet.js.map +1 -0
  152. package/dist/interface-adapters/views/dashboard/modules/statsCharts.d.ts +35 -0
  153. package/dist/interface-adapters/views/dashboard/modules/statsCharts.d.ts.map +1 -0
  154. package/dist/interface-adapters/views/dashboard/modules/statsCharts.js +476 -0
  155. package/dist/interface-adapters/views/dashboard/modules/statsCharts.js.map +1 -0
  156. package/dist/interface-adapters/views/dashboard/modules/versionUpdate.d.ts +16 -0
  157. package/dist/interface-adapters/views/dashboard/modules/versionUpdate.d.ts.map +1 -0
  158. package/dist/interface-adapters/views/dashboard/modules/versionUpdate.js +54 -0
  159. package/dist/interface-adapters/views/dashboard/modules/versionUpdate.js.map +1 -0
  160. package/dist/interface-adapters/views/dashboard/styles.css +939 -0
  161. package/dist/main/dependencies.d.ts +2 -0
  162. package/dist/main/dependencies.d.ts.map +1 -1
  163. package/dist/main/dependencies.js +2 -0
  164. package/dist/main/dependencies.js.map +1 -1
  165. package/dist/main/routes.d.ts +1 -1
  166. package/dist/main/routes.d.ts.map +1 -1
  167. package/dist/main/routes.js +87 -5
  168. package/dist/main/routes.js.map +1 -1
  169. package/dist/main/server.d.ts.map +1 -1
  170. package/dist/main/server.js +8 -0
  171. package/dist/main/server.js.map +1 -1
  172. package/dist/main/websocket.d.ts +2 -0
  173. package/dist/main/websocket.d.ts.map +1 -1
  174. package/dist/main/websocket.js +13 -0
  175. package/dist/main/websocket.js.map +1 -1
  176. package/dist/services/commentLinkEnricher.d.ts +18 -0
  177. package/dist/services/commentLinkEnricher.d.ts.map +1 -0
  178. package/dist/services/commentLinkEnricher.js +40 -0
  179. package/dist/services/commentLinkEnricher.js.map +1 -0
  180. package/dist/services/contextActionsExecutor.d.ts +1 -1
  181. package/dist/services/contextActionsExecutor.d.ts.map +1 -1
  182. package/dist/services/contextActionsExecutor.js +2 -1
  183. package/dist/services/contextActionsExecutor.js.map +1 -1
  184. package/dist/services/statsService.d.ts +8 -32
  185. package/dist/services/statsService.d.ts.map +1 -1
  186. package/dist/services/statsService.js +27 -22
  187. package/dist/services/statsService.js.map +1 -1
  188. package/dist/services/threadActionsExecutor.d.ts.map +1 -1
  189. package/dist/services/threadActionsExecutor.js +1 -0
  190. package/dist/services/threadActionsExecutor.js.map +1 -1
  191. package/dist/shared/foundation/commandExecutor.d.ts +2 -0
  192. package/dist/shared/foundation/commandExecutor.d.ts.map +1 -0
  193. package/dist/shared/foundation/commandExecutor.js +2 -0
  194. package/dist/shared/foundation/commandExecutor.js.map +1 -0
  195. package/dist/tests/factories/diffStats.factory.d.ts +5 -0
  196. package/dist/tests/factories/diffStats.factory.d.ts.map +1 -0
  197. package/dist/tests/factories/diffStats.factory.js +11 -0
  198. package/dist/tests/factories/diffStats.factory.js.map +1 -0
  199. package/dist/tests/factories/packageVersion.factory.d.ts +7 -0
  200. package/dist/tests/factories/packageVersion.factory.d.ts.map +1 -0
  201. package/dist/tests/factories/packageVersion.factory.js +18 -0
  202. package/dist/tests/factories/packageVersion.factory.js.map +1 -0
  203. package/dist/tests/factories/projectStats.factory.d.ts +3 -1
  204. package/dist/tests/factories/projectStats.factory.d.ts.map +1 -1
  205. package/dist/tests/factories/projectStats.factory.js +17 -3
  206. package/dist/tests/factories/projectStats.factory.js.map +1 -1
  207. package/dist/tests/stubs/diffStatsFetch.stub.d.ts +11 -0
  208. package/dist/tests/stubs/diffStatsFetch.stub.d.ts.map +1 -0
  209. package/dist/tests/stubs/diffStatsFetch.stub.js +19 -0
  210. package/dist/tests/stubs/diffStatsFetch.stub.js.map +1 -0
  211. package/dist/tests/stubs/packageVersion.stub.d.ts +7 -0
  212. package/dist/tests/stubs/packageVersion.stub.d.ts.map +1 -0
  213. package/dist/tests/stubs/packageVersion.stub.js +10 -0
  214. package/dist/tests/stubs/packageVersion.stub.js.map +1 -0
  215. package/dist/tests/stubs/reviewLogFile.stub.d.ts +15 -0
  216. package/dist/tests/stubs/reviewLogFile.stub.d.ts.map +1 -0
  217. package/dist/tests/stubs/reviewLogFile.stub.js +35 -0
  218. package/dist/tests/stubs/reviewLogFile.stub.js.map +1 -0
  219. package/dist/tests/stubs/selfUpdate.stub.d.ts +12 -0
  220. package/dist/tests/stubs/selfUpdate.stub.d.ts.map +1 -0
  221. package/dist/tests/stubs/selfUpdate.stub.js +18 -0
  222. package/dist/tests/stubs/selfUpdate.stub.js.map +1 -0
  223. package/dist/tests/stubs/stats.stub.d.ts +2 -2
  224. package/dist/tests/stubs/stats.stub.d.ts.map +1 -1
  225. package/dist/tests/stubs/versionCache.stub.d.ts +11 -0
  226. package/dist/tests/stubs/versionCache.stub.d.ts.map +1 -0
  227. package/dist/tests/stubs/versionCache.stub.js +18 -0
  228. package/dist/tests/stubs/versionCache.stub.js.map +1 -0
  229. package/dist/tests/units/config/projectConfig.test.js +60 -1
  230. package/dist/tests/units/config/projectConfig.test.js.map +1 -1
  231. package/dist/tests/units/entities/backfill/backfillProgress.test.d.ts +2 -0
  232. package/dist/tests/units/entities/backfill/backfillProgress.test.d.ts.map +1 -0
  233. package/dist/tests/units/entities/backfill/backfillProgress.test.js +40 -0
  234. package/dist/tests/units/entities/backfill/backfillProgress.test.js.map +1 -0
  235. package/dist/tests/units/entities/cleanup/retentionPolicy.valueObject.test.d.ts +2 -0
  236. package/dist/tests/units/entities/cleanup/retentionPolicy.valueObject.test.d.ts.map +1 -0
  237. package/dist/tests/units/entities/cleanup/retentionPolicy.valueObject.test.js +47 -0
  238. package/dist/tests/units/entities/cleanup/retentionPolicy.valueObject.test.js.map +1 -0
  239. package/dist/tests/units/entities/diffStats/diffStats.test.d.ts +2 -0
  240. package/dist/tests/units/entities/diffStats/diffStats.test.d.ts.map +1 -0
  241. package/dist/tests/units/entities/diffStats/diffStats.test.js +27 -0
  242. package/dist/tests/units/entities/diffStats/diffStats.test.js.map +1 -0
  243. package/dist/tests/units/entities/packageVersion/packageVersion.test.d.ts +2 -0
  244. package/dist/tests/units/entities/packageVersion/packageVersion.test.d.ts.map +1 -0
  245. package/dist/tests/units/entities/packageVersion/packageVersion.test.js +154 -0
  246. package/dist/tests/units/entities/packageVersion/packageVersion.test.js.map +1 -0
  247. package/dist/tests/units/factories/packageVersion.factory.test.d.ts +2 -0
  248. package/dist/tests/units/factories/packageVersion.factory.test.d.ts.map +1 -0
  249. package/dist/tests/units/factories/packageVersion.factory.test.js +37 -0
  250. package/dist/tests/units/factories/packageVersion.factory.test.js.map +1 -0
  251. package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.js +12 -66
  252. package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.js.map +1 -1
  253. package/dist/tests/units/frameworks/config/normalizeGitUrl.test.d.ts +2 -0
  254. package/dist/tests/units/frameworks/config/normalizeGitUrl.test.d.ts.map +1 -0
  255. package/dist/tests/units/frameworks/config/normalizeGitUrl.test.js +20 -0
  256. package/dist/tests/units/frameworks/config/normalizeGitUrl.test.js.map +1 -0
  257. package/dist/tests/units/frameworks/scheduler/cleanupScheduler.test.d.ts +2 -0
  258. package/dist/tests/units/frameworks/scheduler/cleanupScheduler.test.d.ts.map +1 -0
  259. package/dist/tests/units/frameworks/scheduler/cleanupScheduler.test.js +74 -0
  260. package/dist/tests/units/frameworks/scheduler/cleanupScheduler.test.js.map +1 -0
  261. package/dist/tests/units/interface-adapters/controllers/http/cleanup.routes.test.d.ts +2 -0
  262. package/dist/tests/units/interface-adapters/controllers/http/cleanup.routes.test.d.ts.map +1 -0
  263. package/dist/tests/units/interface-adapters/controllers/http/cleanup.routes.test.js +62 -0
  264. package/dist/tests/units/interface-adapters/controllers/http/cleanup.routes.test.js.map +1 -0
  265. package/dist/tests/units/interface-adapters/controllers/http/health.routes.test.d.ts +2 -0
  266. package/dist/tests/units/interface-adapters/controllers/http/health.routes.test.d.ts.map +1 -0
  267. package/dist/tests/units/interface-adapters/controllers/http/health.routes.test.js +96 -0
  268. package/dist/tests/units/interface-adapters/controllers/http/health.routes.test.js.map +1 -0
  269. package/dist/tests/units/interface-adapters/controllers/http/statsRecalculate.routes.test.d.ts +2 -0
  270. package/dist/tests/units/interface-adapters/controllers/http/statsRecalculate.routes.test.d.ts.map +1 -0
  271. package/dist/tests/units/interface-adapters/controllers/http/statsRecalculate.routes.test.js +82 -0
  272. package/dist/tests/units/interface-adapters/controllers/http/statsRecalculate.routes.test.js.map +1 -0
  273. package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.d.ts +2 -0
  274. package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.d.ts.map +1 -0
  275. package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.js +83 -0
  276. package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.js.map +1 -0
  277. package/dist/tests/units/interface-adapters/controllers/webhook/extractBaseUrl.test.d.ts +2 -0
  278. package/dist/tests/units/interface-adapters/controllers/webhook/extractBaseUrl.test.d.ts.map +1 -0
  279. package/dist/tests/units/interface-adapters/controllers/webhook/extractBaseUrl.test.js +26 -0
  280. package/dist/tests/units/interface-adapters/controllers/webhook/extractBaseUrl.test.js.map +1 -0
  281. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +80 -46
  282. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -1
  283. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +118 -17
  284. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -1
  285. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js +7 -6
  286. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js.map +1 -1
  287. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.js +7 -5
  288. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.js.map +1 -1
  289. package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.github.gateway.test.d.ts +2 -0
  290. package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.github.gateway.test.d.ts.map +1 -0
  291. package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.github.gateway.test.js +63 -0
  292. package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.github.gateway.test.js.map +1 -0
  293. package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.test.d.ts +2 -0
  294. package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.test.d.ts.map +1 -0
  295. package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.test.js +94 -0
  296. package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.test.js.map +1 -0
  297. package/dist/tests/units/interface-adapters/gateways/packageVersion.npm.gateway.test.d.ts +2 -0
  298. package/dist/tests/units/interface-adapters/gateways/packageVersion.npm.gateway.test.d.ts.map +1 -0
  299. package/dist/tests/units/interface-adapters/gateways/packageVersion.npm.gateway.test.js +42 -0
  300. package/dist/tests/units/interface-adapters/gateways/packageVersion.npm.gateway.test.js.map +1 -0
  301. package/dist/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.d.ts +2 -0
  302. package/dist/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.d.ts.map +1 -0
  303. package/dist/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.js +65 -0
  304. package/dist/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.js.map +1 -0
  305. package/dist/tests/units/interface-adapters/gateways/reviewLogFile.gateway.test.d.ts +2 -0
  306. package/dist/tests/units/interface-adapters/gateways/reviewLogFile.gateway.test.d.ts.map +1 -0
  307. package/dist/tests/units/interface-adapters/gateways/reviewLogFile.gateway.test.js +63 -0
  308. package/dist/tests/units/interface-adapters/gateways/reviewLogFile.gateway.test.js.map +1 -0
  309. package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.js +2 -0
  310. package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.js.map +1 -1
  311. package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.d.ts +2 -0
  312. package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.d.ts.map +1 -0
  313. package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.js +33 -0
  314. package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.js.map +1 -0
  315. package/dist/tests/units/interface-adapters/gateways/versionCache.memory.gateway.test.d.ts +2 -0
  316. package/dist/tests/units/interface-adapters/gateways/versionCache.memory.gateway.test.d.ts.map +1 -0
  317. package/dist/tests/units/interface-adapters/gateways/versionCache.memory.gateway.test.js +38 -0
  318. package/dist/tests/units/interface-adapters/gateways/versionCache.memory.gateway.test.js.map +1 -0
  319. package/dist/tests/units/services/commentLinkEnricher.test.d.ts +2 -0
  320. package/dist/tests/units/services/commentLinkEnricher.test.d.ts.map +1 -0
  321. package/dist/tests/units/services/commentLinkEnricher.test.js +75 -0
  322. package/dist/tests/units/services/commentLinkEnricher.test.js.map +1 -0
  323. package/dist/tests/units/services/statsService.diffStats.test.d.ts +2 -0
  324. package/dist/tests/units/services/statsService.diffStats.test.d.ts.map +1 -0
  325. package/dist/tests/units/services/statsService.diffStats.test.js +61 -0
  326. package/dist/tests/units/services/statsService.diffStats.test.js.map +1 -0
  327. package/dist/tests/units/stubs/packageVersion.stub.test.d.ts +2 -0
  328. package/dist/tests/units/stubs/packageVersion.stub.test.d.ts.map +1 -0
  329. package/dist/tests/units/stubs/packageVersion.stub.test.js +20 -0
  330. package/dist/tests/units/stubs/packageVersion.stub.test.js.map +1 -0
  331. package/dist/tests/units/stubs/selfUpdate.stub.test.d.ts +2 -0
  332. package/dist/tests/units/stubs/selfUpdate.stub.test.d.ts.map +1 -0
  333. package/dist/tests/units/stubs/selfUpdate.stub.test.js +30 -0
  334. package/dist/tests/units/stubs/selfUpdate.stub.test.js.map +1 -0
  335. package/dist/tests/units/stubs/versionCache.stub.test.d.ts +2 -0
  336. package/dist/tests/units/stubs/versionCache.stub.test.d.ts.map +1 -0
  337. package/dist/tests/units/stubs/versionCache.stub.test.js +34 -0
  338. package/dist/tests/units/stubs/versionCache.stub.test.js.map +1 -0
  339. package/dist/tests/units/usecases/cleanup/cleanupExpiredReviews.usecase.test.d.ts +2 -0
  340. package/dist/tests/units/usecases/cleanup/cleanupExpiredReviews.usecase.test.d.ts.map +1 -0
  341. package/dist/tests/units/usecases/cleanup/cleanupExpiredReviews.usecase.test.js +83 -0
  342. package/dist/tests/units/usecases/cleanup/cleanupExpiredReviews.usecase.test.js.map +1 -0
  343. package/dist/tests/units/usecases/stats/backfillDiffStats.usecase.test.d.ts +2 -0
  344. package/dist/tests/units/usecases/stats/backfillDiffStats.usecase.test.d.ts.map +1 -0
  345. package/dist/tests/units/usecases/stats/backfillDiffStats.usecase.test.js +186 -0
  346. package/dist/tests/units/usecases/stats/backfillDiffStats.usecase.test.js.map +1 -0
  347. package/dist/tests/units/usecases/stats/recalculateProjectStats.usecase.test.d.ts +2 -0
  348. package/dist/tests/units/usecases/stats/recalculateProjectStats.usecase.test.d.ts.map +1 -0
  349. package/dist/tests/units/usecases/stats/recalculateProjectStats.usecase.test.js +130 -0
  350. package/dist/tests/units/usecases/stats/recalculateProjectStats.usecase.test.js.map +1 -0
  351. package/dist/tests/units/usecases/stats/recalculateWithBackfill.usecase.test.d.ts +2 -0
  352. package/dist/tests/units/usecases/stats/recalculateWithBackfill.usecase.test.d.ts.map +1 -0
  353. package/dist/tests/units/usecases/stats/recalculateWithBackfill.usecase.test.js +138 -0
  354. package/dist/tests/units/usecases/stats/recalculateWithBackfill.usecase.test.js.map +1 -0
  355. package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.js +31 -2
  356. package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.js.map +1 -1
  357. package/dist/tests/units/usecases/version/checkVersion.usecase.test.d.ts +2 -0
  358. package/dist/tests/units/usecases/version/checkVersion.usecase.test.d.ts.map +1 -0
  359. package/dist/tests/units/usecases/version/checkVersion.usecase.test.js +63 -0
  360. package/dist/tests/units/usecases/version/checkVersion.usecase.test.js.map +1 -0
  361. package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.d.ts +2 -0
  362. package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.d.ts.map +1 -0
  363. package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.js +21 -0
  364. package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.js.map +1 -0
  365. package/dist/usecases/cleanup/cleanupExpiredReviews.usecase.d.ts +13 -0
  366. package/dist/usecases/cleanup/cleanupExpiredReviews.usecase.d.ts.map +1 -0
  367. package/dist/usecases/cleanup/cleanupExpiredReviews.usecase.js +41 -0
  368. package/dist/usecases/cleanup/cleanupExpiredReviews.usecase.js.map +1 -0
  369. package/dist/usecases/stats/backfillDiffStats.usecase.d.ts +18 -0
  370. package/dist/usecases/stats/backfillDiffStats.usecase.d.ts.map +1 -0
  371. package/dist/usecases/stats/backfillDiffStats.usecase.js +43 -0
  372. package/dist/usecases/stats/backfillDiffStats.usecase.js.map +1 -0
  373. package/dist/usecases/stats/recalculateProjectStats.usecase.d.ts +7 -0
  374. package/dist/usecases/stats/recalculateProjectStats.usecase.d.ts.map +1 -0
  375. package/dist/usecases/stats/recalculateProjectStats.usecase.js +47 -0
  376. package/dist/usecases/stats/recalculateProjectStats.usecase.js.map +1 -0
  377. package/dist/usecases/stats/recalculateWithBackfill.usecase.d.ts +22 -0
  378. package/dist/usecases/stats/recalculateWithBackfill.usecase.d.ts.map +1 -0
  379. package/dist/usecases/stats/recalculateWithBackfill.usecase.js +33 -0
  380. package/dist/usecases/stats/recalculateWithBackfill.usecase.js.map +1 -0
  381. package/dist/usecases/tracking/recordReviewCompletion.usecase.d.ts +2 -0
  382. package/dist/usecases/tracking/recordReviewCompletion.usecase.d.ts.map +1 -1
  383. package/dist/usecases/tracking/recordReviewCompletion.usecase.js +1 -0
  384. package/dist/usecases/tracking/recordReviewCompletion.usecase.js.map +1 -1
  385. package/dist/usecases/version/checkVersion.usecase.d.ts +13 -0
  386. package/dist/usecases/version/checkVersion.usecase.d.ts.map +1 -0
  387. package/dist/usecases/version/checkVersion.usecase.js +20 -0
  388. package/dist/usecases/version/checkVersion.usecase.js.map +1 -0
  389. package/dist/usecases/version/triggerSelfUpdate.usecase.d.ts +7 -0
  390. package/dist/usecases/version/triggerSelfUpdate.usecase.d.ts.map +1 -0
  391. package/dist/usecases/version/triggerSelfUpdate.usecase.js +9 -0
  392. package/dist/usecases/version/triggerSelfUpdate.usecase.js.map +1 -0
  393. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,67 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.7.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.6.0...reviewflow-v3.7.0) (2026-03-15)
9
+
10
+
11
+ ### Added
12
+
13
+ * capture git diff stats per review (commits, additions, deletions) ([111b77f](https://github.com/DGouron/review-flow/commit/111b77f921a97df1ab9ffeea9cf6fee638cd4246))
14
+ * capture git diff stats per review (commits, additions, deletions) ([fd4d753](https://github.com/DGouron/review-flow/commit/fd4d753a715aa25c73c8baa4c7c9824a0d793f22)), closes [#47](https://github.com/DGouron/review-flow/issues/47)
15
+ * **cleanup:** add review file retention policy with scheduled cleanup ([c2baea8](https://github.com/DGouron/review-flow/commit/c2baea8856bb0be72b46a99d68f724bf7b230215))
16
+ * **cleanup:** review file retention policy with scheduled cleanup ([56f4e6c](https://github.com/DGouron/review-flow/commit/56f4e6c32c9f54b8e7f673177a5e67cadfc05a10))
17
+ * **dashboard:** add version update checker with self-update capability ([715d8ae](https://github.com/DGouron/review-flow/commit/715d8aed7ff39cb1f86edf0a8e33814c2fa728fc))
18
+ * **dashboard:** canvas charts and animated counters in stats section ([abcf1af](https://github.com/DGouron/review-flow/commit/abcf1af3d6b07533aed1f0db1f834edecb44b426))
19
+ * **dashboard:** collapsible lists for long MR lanes ([eba2441](https://github.com/DGouron/review-flow/commit/eba2441ba0f5768c44fd76979fe62641d439517a))
20
+ * **dashboard:** diff stats in MR sheet + score trend per developer ([9235e0c](https://github.com/DGouron/review-flow/commit/9235e0c88392c2521edb0b2015387024843f925a))
21
+ * **dashboard:** logs open in side sheet instead of inline section ([7737782](https://github.com/DGouron/review-flow/commit/773778259561f3d5b1108316b8d68d2acc06344e))
22
+ * **dashboard:** logs sheet takes full height with sticky clear button ([632e2f2](https://github.com/DGouron/review-flow/commit/632e2f20f1ecb9f6377d77dd80ce5c91dd98b851))
23
+ * **dashboard:** MR detail side sheet with canvas graphs ([bbb6065](https://github.com/DGouron/review-flow/commit/bbb6065945eda10a7092d9c304e764d88fa2a372))
24
+ * **dashboard:** sticky action footer in MR sheet with approve button ([48041fe](https://github.com/DGouron/review-flow/commit/48041fe5bec7c43a43433a276c8147b9b6f96c4d))
25
+ * **dashboard:** version update checker with self-update ([37f7ee4](https://github.com/DGouron/review-flow/commit/37f7ee48fff96adc69a64a9c44998a01681eca79))
26
+ * stats recalculate button with diff stats backfill ([fa04c7c](https://github.com/DGouron/review-flow/commit/fa04c7c7f7be15c6a2ba416c9cc991bd5c45248a))
27
+ * stats recalculate button with diff stats backfill ([7df16cf](https://github.com/DGouron/review-flow/commit/7df16cf8a360d814713c4c3f2281dc410f880b2f))
28
+
29
+
30
+ ### Fixed
31
+
32
+ * address auto-review findings (null over undefined, port→gateway naming) ([c81937a](https://github.com/DGouron/review-flow/commit/c81937a5b9f64225077cc981d5b5c56c0f73ffb1))
33
+ * address PR [#124](https://github.com/DGouron/review-flow/issues/124) review — architecture and code quality ([2b9b577](https://github.com/DGouron/review-flow/commit/2b9b5775361bd521a62ef86e692f6e29357c2c4f))
34
+ * **dashboard:** auto-populate project selector from server config ([3c68e22](https://github.com/DGouron/review-flow/commit/3c68e22321660578b0805e74a61f5553b9e75dca))
35
+
36
+ ## [3.6.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.5.0...reviewflow-v3.6.0) (2026-03-14)
37
+
38
+
39
+ ### Added
40
+
41
+ * add product-manager skill to feature-planner agent ([6ac68f9](https://github.com/DGouron/review-flow/commit/6ac68f9c806fc353087f54413bc233d7b22eb2d2))
42
+ * add skills, agents, and rules for spec-driven development ([43cec38](https://github.com/DGouron/review-flow/commit/43cec3863ab20adc454f45a9015117a5b3da5ecf))
43
+ * add skills, agents, and rules for spec-driven development pipeline ([1abcdb7](https://github.com/DGouron/review-flow/commit/1abcdb780b537bfa29670310e71e4ec0ae9ffe17))
44
+ * enrich review comments with clickable file:line links ([1c0c090](https://github.com/DGouron/review-flow/commit/1c0c0902abcef0024b299f22f224b3b86c51e762))
45
+ * enrich review comments with clickable file:line links ([604c6cc](https://github.com/DGouron/review-flow/commit/604c6cc57d1d29d6fc4f407d1225ad4d6cd3b3c9))
46
+ * **invoker:** add critical data source rules to MCP system prompt ([f7d5367](https://github.com/DGouron/review-flow/commit/f7d53679040a83dd6f11382c6b8560c3ce693410))
47
+ * translate all skills to English and remove external project references ([ee40c4f](https://github.com/DGouron/review-flow/commit/ee40c4ff0d6c03e4f34c0086bc23ac16e4bb2593))
48
+
49
+
50
+ ### Fixed
51
+
52
+ * address MR [#106](https://github.com/DGouron/review-flow/issues/106) review feedback ([cff187a](https://github.com/DGouron/review-flow/commit/cff187a13f4e433f52285fa7838e2437ceaaf595))
53
+ * isolate review MCP config from project .mcp.json ([fdfd696](https://github.com/DGouron/review-flow/commit/fdfd69657b3ebbba76c8dd62f2b9b62051e08d2b))
54
+ * isolate review MCP config from project .mcp.json ([1dd2531](https://github.com/DGouron/review-flow/commit/1dd25315e830a5aa291a8968e7a82b667d7fdc09))
55
+ * remove dead ensureProjectMcpConfig and fix relative import ([29f8f63](https://github.com/DGouron/review-flow/commit/29f8f637ca27804471eb317439a19556ac580ddb))
56
+ * remove React/frontend references from review skills ([2a12a94](https://github.com/DGouron/review-flow/commit/2a12a944110df6c64567fe85bd0ed11707c83a47))
57
+ * resolve CI lint failure and clean up type assertion ([8c45fe6](https://github.com/DGouron/review-flow/commit/8c45fe6a3113388e3625af797fa4124ae1c2560c))
58
+
59
+
60
+ ### Changed
61
+
62
+ * **github-controller:** inject dependencies via GitHubWebhookDependencies ([8131162](https://github.com/DGouron/review-flow/commit/81311629e2c2d0d9b241ab23bcb34cee7ab2a981)), closes [#74](https://github.com/DGouron/review-flow/issues/74)
63
+ * **gitlab-controller:** inject ReviewContextGateway via deps parameter ([619c95c](https://github.com/DGouron/review-flow/commit/619c95c28bac047ece3761a00bef8a81459ec154)), closes [#74](https://github.com/DGouron/review-flow/issues/74)
64
+ * **gitlab-controller:** inject ThreadFetchGateway and DiffMetadataFetchGateway via deps ([04438a9](https://github.com/DGouron/review-flow/commit/04438a9c2b1e4940f24a7cce18bd824002a8d698))
65
+ * **gitlab-controller:** inject use cases and migrate all imports to @/ alias ([bbc3598](https://github.com/DGouron/review-flow/commit/bbc3598d38119056a48c2acfd640607833362aed))
66
+ * implement dependency injection in controllers ([4fed43e](https://github.com/DGouron/review-flow/commit/4fed43ee8e0d0fceab95baf14c6b3d507e038ba2))
67
+ * inject gateways and use cases in GitLab webhook controller ([#74](https://github.com/DGouron/review-flow/issues/74)) ([f6314ab](https://github.com/DGouron/review-flow/commit/f6314abfd279eccf574ee6292b00f4c0d97bf4ef))
68
+
8
69
  ## [3.5.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.4.0...reviewflow-v3.5.0) (2026-02-15)
9
70
 
10
71
 
@@ -11,6 +11,7 @@ export interface ProjectConfig {
11
11
  reviewSkill: string;
12
12
  reviewFollowupSkill: string;
13
13
  language: Language;
14
+ retentionDays: number;
14
15
  agents?: AgentDefinition[];
15
16
  followupAgents?: AgentDefinition[];
16
17
  }
@@ -32,5 +33,6 @@ export declare function getProjectLanguage(localPath: string): Language;
32
33
  /**
33
34
  * Get followup agents from project config or undefined for defaults
34
35
  */
36
+ export declare function getProjectRetentionDays(localPath: string): number;
35
37
  export declare function getFollowupAgents(localPath: string): AgentDefinition[] | undefined;
36
38
  //# sourceMappingURL=projectConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;CACpC;AA0BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA8C9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,SAAS,CAOjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAO9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,SAAS,CAOlF"}
1
+ {"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;CACpC;AAmCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA+C9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,SAAS,CAOjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAO9D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOjE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,SAAS,CAOlF"}
@@ -3,6 +3,13 @@ import { join } from 'node:path';
3
3
  /**
4
4
  * Validate agents array structure
5
5
  */
6
+ const DEFAULT_RETENTION_DAYS = 14;
7
+ function parseRetentionDays(value) {
8
+ if (typeof value === 'number' && Number.isInteger(value) && value >= 1) {
9
+ return value;
10
+ }
11
+ return DEFAULT_RETENTION_DAYS;
12
+ }
6
13
  function validateAgents(agents) {
7
14
  if (!Array.isArray(agents)) {
8
15
  return false;
@@ -59,6 +66,7 @@ export function loadProjectConfig(localPath) {
59
66
  reviewSkill: String(parsed.reviewSkill),
60
67
  reviewFollowupSkill: String(parsed.reviewFollowupSkill),
61
68
  language: parsed.language === 'fr' ? 'fr' : 'en',
69
+ retentionDays: parseRetentionDays(parsed.retentionDays),
62
70
  agents: parsed.agents,
63
71
  followupAgents: parsed.followupAgents,
64
72
  };
@@ -90,6 +98,15 @@ export function getProjectLanguage(localPath) {
90
98
  /**
91
99
  * Get followup agents from project config or undefined for defaults
92
100
  */
101
+ export function getProjectRetentionDays(localPath) {
102
+ try {
103
+ const config = loadProjectConfig(localPath);
104
+ return config?.retentionDays ?? DEFAULT_RETENTION_DAYS;
105
+ }
106
+ catch {
107
+ return DEFAULT_RETENTION_DAYS;
108
+ }
109
+ }
93
110
  export function getFollowupAgents(localPath) {
94
111
  try {
95
112
  const config = loadProjectConfig(localPath);
@@ -1 +1 @@
1
- {"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type BackfillProgress = {
2
+ total: number;
3
+ completed: number;
4
+ failed: number;
5
+ status: 'idle' | 'running' | 'completed';
6
+ };
7
+ //# sourceMappingURL=backfillProgress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfillProgress.d.ts","sourceRoot":"","sources":["../../../src/entities/backfill/backfillProgress.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backfillProgress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfillProgress.js","sourceRoot":"","sources":["../../../src/entities/backfill/backfillProgress.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export declare class RetentionPolicy {
2
+ private readonly retentionDays;
3
+ private constructor();
4
+ static create(days?: number): RetentionPolicy;
5
+ get days(): number;
6
+ isExpired(fileDate: Date, now?: Date): boolean;
7
+ }
8
+ //# sourceMappingURL=retentionPolicy.valueObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retentionPolicy.valueObject.d.ts","sourceRoot":"","sources":["../../../src/entities/cleanup/retentionPolicy.valueObject.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IACN,OAAO,CAAC,QAAQ,CAAC,aAAa;IAAlD,OAAO;IAEP,MAAM,CAAC,MAAM,CAAC,IAAI,SAAK,GAAG,eAAe;IAOzC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO;CAI3D"}
@@ -0,0 +1,21 @@
1
+ const MILLISECONDS_PER_DAY = 86_400_000;
2
+ export class RetentionPolicy {
3
+ retentionDays;
4
+ constructor(retentionDays) {
5
+ this.retentionDays = retentionDays;
6
+ }
7
+ static create(days = 14) {
8
+ if (!Number.isInteger(days) || days < 1) {
9
+ throw new Error('Retention days must be a positive integer (minimum 1)');
10
+ }
11
+ return new RetentionPolicy(days);
12
+ }
13
+ get days() {
14
+ return this.retentionDays;
15
+ }
16
+ isExpired(fileDate, now = new Date()) {
17
+ const cutoff = new Date(now.getTime() - this.retentionDays * MILLISECONDS_PER_DAY);
18
+ return fileDate.getTime() < cutoff.getTime();
19
+ }
20
+ }
21
+ //# sourceMappingURL=retentionPolicy.valueObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retentionPolicy.valueObject.js","sourceRoot":"","sources":["../../../src/entities/cleanup/retentionPolicy.valueObject.ts"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC,MAAM,OAAO,eAAe;IACW;IAArC,YAAqC,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAAG,CAAC;IAE9D,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;QACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,QAAc,EAAE,MAAY,IAAI,IAAI,EAAE;QAC9C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,CAAC;QACnF,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export type DiffStats = {
2
+ commitsCount: number;
3
+ additions: number;
4
+ deletions: number;
5
+ };
6
+ //# sourceMappingURL=diffStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffStats.d.ts","sourceRoot":"","sources":["../../../src/entities/diffStats/diffStats.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diffStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffStats.js","sourceRoot":"","sources":["../../../src/entities/diffStats/diffStats.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { DiffStats } from '../../entities/diffStats/diffStats.js';
2
+ export interface DiffStatsFetchGateway {
3
+ fetchDiffStats(projectPath: string, mergeRequestNumber: number): DiffStats | null;
4
+ }
5
+ //# sourceMappingURL=diffStatsFetch.gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffStatsFetch.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/diffStats/diffStatsFetch.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CACnF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diffStatsFetch.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffStatsFetch.gateway.js","sourceRoot":"","sources":["../../../src/entities/diffStats/diffStatsFetch.gateway.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ export type VersionCheckResult = {
2
+ currentVersion: string;
3
+ latestVersion: string | null;
4
+ updateAvailable: boolean;
5
+ checkedAt: string;
6
+ };
7
+ export type SelfUpdateResult = {
8
+ status: 'started';
9
+ } | {
10
+ status: 'updated';
11
+ previousVersion: string;
12
+ newVersion: string;
13
+ } | {
14
+ status: 'failed';
15
+ error: string;
16
+ };
17
+ export type UpdateStatus = 'idle' | 'checking' | 'updating' | 'restarting' | 'failed';
18
+ //# sourceMappingURL=packageVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAA"}
@@ -0,0 +1,4 @@
1
+ export interface PackageVersionGateway {
2
+ fetchLatestVersion(): Promise<string | null>;
3
+ }
4
+ //# sourceMappingURL=packageVersion.gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC7C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=packageVersion.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.gateway.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.gateway.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { type NpmRegistryResponse } from '../../entities/packageVersion/packageVersion.schema.js';
2
+ export declare function parseNpmRegistryResponse(data: unknown): NpmRegistryResponse;
3
+ export declare function safeParseNpmRegistryResponse(data: unknown): import("zod").ZodSafeParseResult<{
4
+ version: string;
5
+ }>;
6
+ export declare function isValidNpmRegistryResponse(data: unknown): data is NpmRegistryResponse;
7
+ //# sourceMappingURL=packageVersion.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.guard.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.guard.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAIxH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,CAE3E;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO;;GAEzD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,mBAAmB,CAErF"}
@@ -0,0 +1,13 @@
1
+ import { createGuard } from '../../shared/foundation/guard.base.js';
2
+ import { npmRegistryResponseSchema } from '../../entities/packageVersion/packageVersion.schema.js';
3
+ const npmRegistryResponseGuard = createGuard(npmRegistryResponseSchema);
4
+ export function parseNpmRegistryResponse(data) {
5
+ return npmRegistryResponseGuard.parse(data);
6
+ }
7
+ export function safeParseNpmRegistryResponse(data) {
8
+ return npmRegistryResponseGuard.safeParse(data);
9
+ }
10
+ export function isValidNpmRegistryResponse(data) {
11
+ return npmRegistryResponseGuard.isValid(data);
12
+ }
13
+ //# sourceMappingURL=packageVersion.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.guard.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,yBAAyB,EAA4B,MAAM,oDAAoD,CAAA;AAExH,MAAM,wBAAwB,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAA;AAEvE,MAAM,UAAU,wBAAwB,CAAC,IAAa;IACpD,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAa;IACxD,OAAO,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,OAAO,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC/C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=packageVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ export declare const npmRegistryResponseSchema: z.ZodObject<{
3
+ version: z.ZodString;
4
+ }, z.core.$strip>;
5
+ export type NpmRegistryResponse = z.infer<typeof npmRegistryResponseSchema>;
6
+ export declare const versionCheckResultSchema: z.ZodObject<{
7
+ currentVersion: z.ZodString;
8
+ latestVersion: z.ZodNullable<z.ZodString>;
9
+ updateAvailable: z.ZodBoolean;
10
+ checkedAt: z.ZodString;
11
+ }, z.core.$strip>;
12
+ //# sourceMappingURL=packageVersion.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.schema.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,yBAAyB;;iBAEpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export const npmRegistryResponseSchema = z.object({
3
+ version: z.string(),
4
+ });
5
+ export const versionCheckResultSchema = z.object({
6
+ currentVersion: z.string(),
7
+ latestVersion: z.string().nullable(),
8
+ updateAvailable: z.boolean(),
9
+ checkedAt: z.string(),
10
+ });
11
+ //# sourceMappingURL=packageVersion.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageVersion.schema.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export interface SelfUpdateCommandPort {
2
+ runGlobalUpdate(): Promise<{
3
+ success: boolean;
4
+ error: string | null;
5
+ }>;
6
+ restartDaemon(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=selfUpdateCommand.gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfUpdateCommand.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/selfUpdateCommand.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;IACtE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=selfUpdateCommand.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfUpdateCommand.gateway.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/selfUpdateCommand.gateway.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { VersionCheckResult } from '../../entities/packageVersion/packageVersion.js';
2
+ export interface VersionCachePort {
3
+ get(): VersionCheckResult | null;
4
+ set(result: VersionCheckResult): void;
5
+ isExpired(): boolean;
6
+ }
7
+ //# sourceMappingURL=versionCache.gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionCache.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/versionCache.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAErF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,IAAI,kBAAkB,GAAG,IAAI,CAAA;IAChC,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACrC,SAAS,IAAI,OAAO,CAAA;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=versionCache.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionCache.gateway.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/versionCache.gateway.ts"],"names":[],"mappings":""}
@@ -5,6 +5,7 @@ export interface ExecutionContext {
5
5
  mrNumber: number;
6
6
  localPath: string;
7
7
  diffMetadata?: DiffMetadata;
8
+ baseUrl: string | null;
8
9
  }
9
10
  export interface ExecutionResult {
10
11
  total: number;
@@ -1 +1 @@
1
- {"version":3,"file":"reviewAction.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/reviewAction/reviewAction.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;AAEpF,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CACtF"}
1
+ {"version":3,"file":"reviewAction.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/reviewAction/reviewAction.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;AAEpF,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CACtF"}
@@ -0,0 +1,36 @@
1
+ import type { DiffStats } from '../../entities/diffStats/diffStats.js';
2
+ /**
3
+ * Statistics for a single code review, including score, issue counts,
4
+ * and optional diff-level metrics (additions/deletions).
5
+ */
6
+ export interface ReviewStats {
7
+ id: string;
8
+ timestamp: string;
9
+ mrNumber: number;
10
+ duration: number;
11
+ score: number | null;
12
+ blocking: number;
13
+ warnings: number;
14
+ suggestions?: number;
15
+ assignedBy?: string;
16
+ diffStats?: DiffStats | null;
17
+ }
18
+ /**
19
+ * Aggregated statistics for all reviews in a project, including
20
+ * totals, averages, trends data, and diff-level aggregates.
21
+ */
22
+ export interface ProjectStats {
23
+ totalReviews: number;
24
+ totalDuration: number;
25
+ averageScore: number | null;
26
+ averageDuration: number;
27
+ totalBlocking: number;
28
+ totalWarnings: number;
29
+ reviews: ReviewStats[];
30
+ lastUpdated: string;
31
+ totalAdditions: number;
32
+ totalDeletions: number;
33
+ averageAdditions: number | null;
34
+ averageDeletions: number | null;
35
+ }
36
+ //# sourceMappingURL=projectStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectStats.d.ts","sourceRoot":"","sources":["../../../src/entities/stats/projectStats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=projectStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectStats.js","sourceRoot":"","sources":["../../../src/entities/stats/projectStats.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export declare const recalculateBodySchema: z.ZodObject<{
3
+ path: z.ZodOptional<z.ZodString>;
4
+ backfill: z.ZodOptional<z.ZodBoolean>;
5
+ }, z.core.$strip>;
6
+ export type RecalculateBody = z.infer<typeof recalculateBodySchema>;
7
+ export declare const safeParseRecalculateBody: (input: unknown) => z.ZodSafeParseResult<{
8
+ path?: string | undefined;
9
+ backfill?: boolean | undefined;
10
+ }>;
11
+ //# sourceMappingURL=recalculateBody.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recalculateBody.guard.d.ts","sourceRoot":"","sources":["../../../src/entities/stats/recalculateBody.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,wBAAwB;;;EAAiC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ import { createGuard } from '../../shared/foundation/guard.base.js';
3
+ export const recalculateBodySchema = z.object({
4
+ path: z.string().optional(),
5
+ backfill: z.boolean().optional(),
6
+ });
7
+ const recalculateBodyGuard = createGuard(recalculateBodySchema);
8
+ export const safeParseRecalculateBody = recalculateBodyGuard.safeParse;
9
+ //# sourceMappingURL=recalculateBody.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recalculateBody.guard.js","sourceRoot":"","sources":["../../../src/entities/stats/recalculateBody.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAIH,MAAM,oBAAoB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ProjectStats } from '../../entities/stats/projectStats.js';
2
+ export interface StatsGateway {
3
+ loadProjectStats(projectPath: string): ProjectStats | null;
4
+ saveProjectStats(projectPath: string, stats: ProjectStats): void;
5
+ statsFileExists(projectPath: string): boolean;
6
+ }
7
+ //# sourceMappingURL=stats.gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/stats/stats.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IAC3D,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACjE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stats.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.gateway.js","sourceRoot":"","sources":["../../../src/entities/stats/stats.gateway.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import type { DiffStats } from '../../entities/diffStats/diffStats.js';
1
2
  export interface ReviewEvent {
2
3
  type: 'review' | 'followup';
3
4
  timestamp: string;
@@ -8,5 +9,6 @@ export interface ReviewEvent {
8
9
  suggestions: number;
9
10
  threadsClosed: number;
10
11
  threadsOpened: number;
12
+ diffStats: DiffStats | null;
11
13
  }
12
14
  //# sourceMappingURL=reviewEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reviewEvent.d.ts","sourceRoot":"","sources":["../../../src/entities/tracking/reviewEvent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"reviewEvent.d.ts","sourceRoot":"","sources":["../../../src/entities/tracking/reviewEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC7B"}
@@ -3,7 +3,13 @@ import type { ReviewJob } from '../../frameworks/queue/pQueueAdapter.js';
3
3
  import type { ReviewProgress, ProgressEvent } from '../../entities/progress/progress.type.js';
4
4
  export declare function resolveMcpServerPath(): string;
5
5
  export declare function writeMcpContext(job: ReviewJob): void;
6
- export declare function ensureProjectMcpConfig(projectPath: string): void;
6
+ /**
7
+ * Build MCP config JSON for --mcp-config flag.
8
+ * Returns a self-contained JSON string with ONLY the review-progress server.
9
+ * Used with --strict-mcp-config to isolate reviews from project .mcp.json
10
+ * (which may contain other MCP servers that cause timeouts).
11
+ */
12
+ export declare function buildMcpConfigJson(): string;
7
13
  export declare function cleanupMcpContext(jobId: string): void;
8
14
  export interface InvocationResult {
9
15
  success: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"claudeInvoker.d.ts","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInvoker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAc1F,wBAAgB,oBAAoB,IAAI,MAAM,CAa7C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAuBpD;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CA8BhE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASrD;AAOD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;AA8FzF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,gBAAgB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CA2T3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,IAAI,CAiBN"}
1
+ {"version":3,"file":"claudeInvoker.d.ts","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInvoker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAmB1F,wBAAgB,oBAAoB,IAAI,MAAM,CAa7C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAuBpD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAU3C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASrD;AAOD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;AA+GzF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,gBAAgB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CA8U3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,IAAI,CAiBN"}