reviewflow 3.4.0 → 3.6.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 (251) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/cli/parseCliArgs.d.ts +6 -1
  3. package/dist/cli/parseCliArgs.d.ts.map +1 -1
  4. package/dist/cli/parseCliArgs.js +11 -1
  5. package/dist/cli/parseCliArgs.js.map +1 -1
  6. package/dist/config/projectConfig.d.ts +6 -0
  7. package/dist/config/projectConfig.d.ts.map +1 -1
  8. package/dist/config/projectConfig.js +13 -0
  9. package/dist/config/projectConfig.js.map +1 -1
  10. package/dist/entities/language/language.schema.d.ts +7 -0
  11. package/dist/entities/language/language.schema.d.ts.map +1 -0
  12. package/dist/entities/language/language.schema.js +3 -0
  13. package/dist/entities/language/language.schema.js.map +1 -0
  14. package/dist/entities/reviewAction/reviewAction.gateway.d.ts +1 -0
  15. package/dist/entities/reviewAction/reviewAction.gateway.d.ts.map +1 -1
  16. package/dist/frameworks/claude/claudeInvoker.d.ts +8 -2
  17. package/dist/frameworks/claude/claudeInvoker.d.ts.map +1 -1
  18. package/dist/frameworks/claude/claudeInvoker.js +50 -37
  19. package/dist/frameworks/claude/claudeInvoker.js.map +1 -1
  20. package/dist/frameworks/claude/languageDirective.d.ts +3 -0
  21. package/dist/frameworks/claude/languageDirective.d.ts.map +1 -0
  22. package/dist/frameworks/claude/languageDirective.js +9 -0
  23. package/dist/frameworks/claude/languageDirective.js.map +1 -0
  24. package/dist/frameworks/config/configLoader.d.ts +1 -0
  25. package/dist/frameworks/config/configLoader.d.ts.map +1 -1
  26. package/dist/frameworks/config/configLoader.js +9 -1
  27. package/dist/frameworks/config/configLoader.js.map +1 -1
  28. package/dist/frameworks/queue/pQueueAdapter.d.ts +2 -0
  29. package/dist/frameworks/queue/pQueueAdapter.d.ts.map +1 -1
  30. package/dist/frameworks/queue/pQueueAdapter.js +1 -1
  31. package/dist/frameworks/queue/pQueueAdapter.js.map +1 -1
  32. package/dist/frameworks/settings/runtimeSettings.d.ts +4 -0
  33. package/dist/frameworks/settings/runtimeSettings.d.ts.map +1 -1
  34. package/dist/frameworks/settings/runtimeSettings.js +8 -1
  35. package/dist/frameworks/settings/runtimeSettings.js.map +1 -1
  36. package/dist/interface-adapters/controllers/http/settings.routes.d.ts.map +1 -1
  37. package/dist/interface-adapters/controllers/http/settings.routes.js +12 -1
  38. package/dist/interface-adapters/controllers/http/settings.routes.js.map +1 -1
  39. package/dist/interface-adapters/controllers/webhook/github.controller.d.ts +14 -2
  40. package/dist/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -1
  41. package/dist/interface-adapters/controllers/webhook/github.controller.js +7 -15
  42. package/dist/interface-adapters/controllers/webhook/github.controller.js.map +1 -1
  43. package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts +23 -2
  44. package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts.map +1 -1
  45. package/dist/interface-adapters/controllers/webhook/gitlab.controller.js +39 -32
  46. package/dist/interface-adapters/controllers/webhook/gitlab.controller.js.map +1 -1
  47. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.d.ts.map +1 -1
  48. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.js +7 -2
  49. package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.js.map +1 -1
  50. package/dist/interface-adapters/views/dashboard/index.html +974 -393
  51. package/dist/interface-adapters/views/dashboard/modules/assignee.d.ts +7 -0
  52. package/dist/interface-adapters/views/dashboard/modules/assignee.d.ts.map +1 -0
  53. package/dist/interface-adapters/views/dashboard/modules/assignee.js +47 -0
  54. package/dist/interface-adapters/views/dashboard/modules/assignee.js.map +1 -0
  55. package/dist/interface-adapters/views/dashboard/modules/constants.d.ts +7 -0
  56. package/dist/interface-adapters/views/dashboard/modules/constants.d.ts.map +1 -0
  57. package/dist/interface-adapters/views/dashboard/modules/constants.js +6 -0
  58. package/dist/interface-adapters/views/dashboard/modules/constants.js.map +1 -0
  59. package/dist/interface-adapters/views/dashboard/modules/desktopNotifications.d.ts +23 -0
  60. package/dist/interface-adapters/views/dashboard/modules/desktopNotifications.d.ts.map +1 -0
  61. package/dist/interface-adapters/views/dashboard/modules/desktopNotifications.js +37 -0
  62. package/dist/interface-adapters/views/dashboard/modules/desktopNotifications.js.map +1 -0
  63. package/dist/interface-adapters/views/dashboard/modules/formatting.d.ts +23 -0
  64. package/dist/interface-adapters/views/dashboard/modules/formatting.d.ts.map +1 -0
  65. package/dist/interface-adapters/views/dashboard/modules/formatting.js +57 -0
  66. package/dist/interface-adapters/views/dashboard/modules/formatting.js.map +1 -0
  67. package/dist/interface-adapters/views/dashboard/modules/html.d.ts +16 -0
  68. package/dist/interface-adapters/views/dashboard/modules/html.d.ts.map +1 -0
  69. package/dist/interface-adapters/views/dashboard/modules/html.js +68 -0
  70. package/dist/interface-adapters/views/dashboard/modules/html.js.map +1 -0
  71. package/dist/interface-adapters/views/dashboard/modules/i18n.d.ts +11 -0
  72. package/dist/interface-adapters/views/dashboard/modules/i18n.d.ts.map +1 -0
  73. package/dist/interface-adapters/views/dashboard/modules/i18n.js +500 -0
  74. package/dist/interface-adapters/views/dashboard/modules/i18n.js.map +1 -0
  75. package/dist/interface-adapters/views/dashboard/modules/icons.d.ts +13 -0
  76. package/dist/interface-adapters/views/dashboard/modules/icons.d.ts.map +1 -0
  77. package/dist/interface-adapters/views/dashboard/modules/icons.js +29 -0
  78. package/dist/interface-adapters/views/dashboard/modules/icons.js.map +1 -0
  79. package/dist/interface-adapters/views/dashboard/modules/loading.d.ts +30 -0
  80. package/dist/interface-adapters/views/dashboard/modules/loading.d.ts.map +1 -0
  81. package/dist/interface-adapters/views/dashboard/modules/loading.js +48 -0
  82. package/dist/interface-adapters/views/dashboard/modules/loading.js.map +1 -0
  83. package/dist/interface-adapters/views/dashboard/modules/notifications.d.ts +39 -0
  84. package/dist/interface-adapters/views/dashboard/modules/notifications.d.ts.map +1 -0
  85. package/dist/interface-adapters/views/dashboard/modules/notifications.js +131 -0
  86. package/dist/interface-adapters/views/dashboard/modules/notifications.js.map +1 -0
  87. package/dist/interface-adapters/views/dashboard/modules/priority.d.ts +10 -0
  88. package/dist/interface-adapters/views/dashboard/modules/priority.d.ts.map +1 -0
  89. package/dist/interface-adapters/views/dashboard/modules/priority.js +86 -0
  90. package/dist/interface-adapters/views/dashboard/modules/priority.js.map +1 -0
  91. package/dist/interface-adapters/views/dashboard/modules/quality.d.ts +30 -0
  92. package/dist/interface-adapters/views/dashboard/modules/quality.d.ts.map +1 -0
  93. package/dist/interface-adapters/views/dashboard/modules/quality.js +83 -0
  94. package/dist/interface-adapters/views/dashboard/modules/quality.js.map +1 -0
  95. package/dist/interface-adapters/views/dashboard/modules/queueLanes.d.ts +22 -0
  96. package/dist/interface-adapters/views/dashboard/modules/queueLanes.d.ts.map +1 -0
  97. package/dist/interface-adapters/views/dashboard/modules/queueLanes.js +27 -0
  98. package/dist/interface-adapters/views/dashboard/modules/queueLanes.js.map +1 -0
  99. package/dist/interface-adapters/views/dashboard/modules/sessionMetrics.d.ts +54 -0
  100. package/dist/interface-adapters/views/dashboard/modules/sessionMetrics.d.ts.map +1 -0
  101. package/dist/interface-adapters/views/dashboard/modules/sessionMetrics.js +120 -0
  102. package/dist/interface-adapters/views/dashboard/modules/sessionMetrics.js.map +1 -0
  103. package/dist/interface-adapters/views/dashboard/styles.css +1031 -93
  104. package/dist/main/cli.d.ts +41 -1
  105. package/dist/main/cli.d.ts.map +1 -1
  106. package/dist/main/cli.js +228 -88
  107. package/dist/main/cli.js.map +1 -1
  108. package/dist/main/routes.d.ts +1 -1
  109. package/dist/main/routes.d.ts.map +1 -1
  110. package/dist/main/routes.js +32 -3
  111. package/dist/main/routes.js.map +1 -1
  112. package/dist/services/commentLinkEnricher.d.ts +18 -0
  113. package/dist/services/commentLinkEnricher.d.ts.map +1 -0
  114. package/dist/services/commentLinkEnricher.js +40 -0
  115. package/dist/services/commentLinkEnricher.js.map +1 -0
  116. package/dist/services/contextActionsExecutor.d.ts +1 -1
  117. package/dist/services/contextActionsExecutor.d.ts.map +1 -1
  118. package/dist/services/contextActionsExecutor.js +2 -1
  119. package/dist/services/contextActionsExecutor.js.map +1 -1
  120. package/dist/services/threadActionsExecutor.d.ts.map +1 -1
  121. package/dist/services/threadActionsExecutor.js +1 -0
  122. package/dist/services/threadActionsExecutor.js.map +1 -1
  123. package/dist/tests/factories/reviewJob.factory.d.ts.map +1 -1
  124. package/dist/tests/factories/reviewJob.factory.js +1 -0
  125. package/dist/tests/factories/reviewJob.factory.js.map +1 -1
  126. package/dist/tests/units/cli/parseCliArgs.test.js +14 -0
  127. package/dist/tests/units/cli/parseCliArgs.test.js.map +1 -1
  128. package/dist/tests/units/config/projectConfig.test.d.ts +2 -0
  129. package/dist/tests/units/config/projectConfig.test.d.ts.map +1 -0
  130. package/dist/tests/units/config/projectConfig.test.js +69 -0
  131. package/dist/tests/units/config/projectConfig.test.js.map +1 -0
  132. package/dist/tests/units/entities/language/language.schema.test.d.ts +2 -0
  133. package/dist/tests/units/entities/language/language.schema.test.d.ts.map +1 -0
  134. package/dist/tests/units/entities/language/language.schema.test.js +17 -0
  135. package/dist/tests/units/entities/language/language.schema.test.js.map +1 -0
  136. package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.js +12 -66
  137. package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.js.map +1 -1
  138. package/dist/tests/units/frameworks/claude/languageDirective.test.d.ts +2 -0
  139. package/dist/tests/units/frameworks/claude/languageDirective.test.d.ts.map +1 -0
  140. package/dist/tests/units/frameworks/claude/languageDirective.test.js +13 -0
  141. package/dist/tests/units/frameworks/claude/languageDirective.test.js.map +1 -0
  142. package/dist/tests/units/frameworks/config/normalizeGitUrl.test.d.ts +2 -0
  143. package/dist/tests/units/frameworks/config/normalizeGitUrl.test.d.ts.map +1 -0
  144. package/dist/tests/units/frameworks/config/normalizeGitUrl.test.js +20 -0
  145. package/dist/tests/units/frameworks/config/normalizeGitUrl.test.js.map +1 -0
  146. package/dist/tests/units/frameworks/settings/runtimeSettings.test.d.ts +2 -0
  147. package/dist/tests/units/frameworks/settings/runtimeSettings.test.d.ts.map +1 -0
  148. package/dist/tests/units/frameworks/settings/runtimeSettings.test.js +20 -0
  149. package/dist/tests/units/frameworks/settings/runtimeSettings.test.js.map +1 -0
  150. package/dist/tests/units/interface-adapters/controllers/webhook/extractBaseUrl.test.d.ts +2 -0
  151. package/dist/tests/units/interface-adapters/controllers/webhook/extractBaseUrl.test.d.ts.map +1 -0
  152. package/dist/tests/units/interface-adapters/controllers/webhook/extractBaseUrl.test.js +26 -0
  153. package/dist/tests/units/interface-adapters/controllers/webhook/extractBaseUrl.test.js.map +1 -0
  154. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +77 -46
  155. package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -1
  156. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +118 -17
  157. package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -1
  158. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js +7 -6
  159. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js.map +1 -1
  160. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.js +7 -5
  161. package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.js.map +1 -1
  162. package/dist/tests/units/interface-adapters/views/dashboard/modules/assignee.test.d.ts +2 -0
  163. package/dist/tests/units/interface-adapters/views/dashboard/modules/assignee.test.d.ts.map +1 -0
  164. package/dist/tests/units/interface-adapters/views/dashboard/modules/assignee.test.js +35 -0
  165. package/dist/tests/units/interface-adapters/views/dashboard/modules/assignee.test.js.map +1 -0
  166. package/dist/tests/units/interface-adapters/views/dashboard/modules/constants.test.d.ts +2 -0
  167. package/dist/tests/units/interface-adapters/views/dashboard/modules/constants.test.d.ts.map +1 -0
  168. package/dist/tests/units/interface-adapters/views/dashboard/modules/constants.test.js +17 -0
  169. package/dist/tests/units/interface-adapters/views/dashboard/modules/constants.test.js.map +1 -0
  170. package/dist/tests/units/interface-adapters/views/dashboard/modules/desktopNotifications.test.d.ts +2 -0
  171. package/dist/tests/units/interface-adapters/views/dashboard/modules/desktopNotifications.test.d.ts.map +1 -0
  172. package/dist/tests/units/interface-adapters/views/dashboard/modules/desktopNotifications.test.js +54 -0
  173. package/dist/tests/units/interface-adapters/views/dashboard/modules/desktopNotifications.test.js.map +1 -0
  174. package/dist/tests/units/interface-adapters/views/dashboard/modules/formatting.test.d.ts +2 -0
  175. package/dist/tests/units/interface-adapters/views/dashboard/modules/formatting.test.d.ts.map +1 -0
  176. package/dist/tests/units/interface-adapters/views/dashboard/modules/formatting.test.js +95 -0
  177. package/dist/tests/units/interface-adapters/views/dashboard/modules/formatting.test.js.map +1 -0
  178. package/dist/tests/units/interface-adapters/views/dashboard/modules/html.test.d.ts +2 -0
  179. package/dist/tests/units/interface-adapters/views/dashboard/modules/html.test.d.ts.map +1 -0
  180. package/dist/tests/units/interface-adapters/views/dashboard/modules/html.test.js +55 -0
  181. package/dist/tests/units/interface-adapters/views/dashboard/modules/html.test.js.map +1 -0
  182. package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.d.ts +2 -0
  183. package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.d.ts.map +1 -0
  184. package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.js +98 -0
  185. package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.js.map +1 -0
  186. package/dist/tests/units/interface-adapters/views/dashboard/modules/icons.test.d.ts +2 -0
  187. package/dist/tests/units/interface-adapters/views/dashboard/modules/icons.test.d.ts.map +1 -0
  188. package/dist/tests/units/interface-adapters/views/dashboard/modules/icons.test.js +28 -0
  189. package/dist/tests/units/interface-adapters/views/dashboard/modules/icons.test.js.map +1 -0
  190. package/dist/tests/units/interface-adapters/views/dashboard/modules/loading.test.d.ts +2 -0
  191. package/dist/tests/units/interface-adapters/views/dashboard/modules/loading.test.d.ts.map +1 -0
  192. package/dist/tests/units/interface-adapters/views/dashboard/modules/loading.test.js +51 -0
  193. package/dist/tests/units/interface-adapters/views/dashboard/modules/loading.test.js.map +1 -0
  194. package/dist/tests/units/interface-adapters/views/dashboard/modules/notifications.test.d.ts +2 -0
  195. package/dist/tests/units/interface-adapters/views/dashboard/modules/notifications.test.d.ts.map +1 -0
  196. package/dist/tests/units/interface-adapters/views/dashboard/modules/notifications.test.js +43 -0
  197. package/dist/tests/units/interface-adapters/views/dashboard/modules/notifications.test.js.map +1 -0
  198. package/dist/tests/units/interface-adapters/views/dashboard/modules/priority.test.d.ts +2 -0
  199. package/dist/tests/units/interface-adapters/views/dashboard/modules/priority.test.d.ts.map +1 -0
  200. package/dist/tests/units/interface-adapters/views/dashboard/modules/priority.test.js +78 -0
  201. package/dist/tests/units/interface-adapters/views/dashboard/modules/priority.test.js.map +1 -0
  202. package/dist/tests/units/interface-adapters/views/dashboard/modules/quality.test.d.ts +2 -0
  203. package/dist/tests/units/interface-adapters/views/dashboard/modules/quality.test.d.ts.map +1 -0
  204. package/dist/tests/units/interface-adapters/views/dashboard/modules/quality.test.js +87 -0
  205. package/dist/tests/units/interface-adapters/views/dashboard/modules/quality.test.js.map +1 -0
  206. package/dist/tests/units/interface-adapters/views/dashboard/modules/queueLanes.test.d.ts +2 -0
  207. package/dist/tests/units/interface-adapters/views/dashboard/modules/queueLanes.test.d.ts.map +1 -0
  208. package/dist/tests/units/interface-adapters/views/dashboard/modules/queueLanes.test.js +29 -0
  209. package/dist/tests/units/interface-adapters/views/dashboard/modules/queueLanes.test.js.map +1 -0
  210. package/dist/tests/units/interface-adapters/views/dashboard/modules/sessionMetrics.test.d.ts +2 -0
  211. package/dist/tests/units/interface-adapters/views/dashboard/modules/sessionMetrics.test.d.ts.map +1 -0
  212. package/dist/tests/units/interface-adapters/views/dashboard/modules/sessionMetrics.test.js +60 -0
  213. package/dist/tests/units/interface-adapters/views/dashboard/modules/sessionMetrics.test.js.map +1 -0
  214. package/dist/tests/units/main/executeDiscover.test.d.ts +2 -0
  215. package/dist/tests/units/main/executeDiscover.test.d.ts.map +1 -0
  216. package/dist/tests/units/main/executeDiscover.test.js +106 -0
  217. package/dist/tests/units/main/executeDiscover.test.js.map +1 -0
  218. package/dist/tests/units/main/executeInit.test.d.ts +2 -0
  219. package/dist/tests/units/main/executeInit.test.d.ts.map +1 -0
  220. package/dist/tests/units/main/executeInit.test.js +290 -0
  221. package/dist/tests/units/main/executeInit.test.js.map +1 -0
  222. package/dist/tests/units/services/commentLinkEnricher.test.d.ts +2 -0
  223. package/dist/tests/units/services/commentLinkEnricher.test.d.ts.map +1 -0
  224. package/dist/tests/units/services/commentLinkEnricher.test.js +75 -0
  225. package/dist/tests/units/services/commentLinkEnricher.test.js.map +1 -0
  226. package/dist/tests/units/usecases/cli/addRepositoriesToConfig.usecase.test.d.ts +2 -0
  227. package/dist/tests/units/usecases/cli/addRepositoriesToConfig.usecase.test.d.ts.map +1 -0
  228. package/dist/tests/units/usecases/cli/addRepositoriesToConfig.usecase.test.js +127 -0
  229. package/dist/tests/units/usecases/cli/addRepositoriesToConfig.usecase.test.js.map +1 -0
  230. package/dist/tests/units/usecases/cli/checkInitPrerequisites.test.d.ts +2 -0
  231. package/dist/tests/units/usecases/cli/checkInitPrerequisites.test.d.ts.map +1 -0
  232. package/dist/tests/units/usecases/cli/checkInitPrerequisites.test.js +57 -0
  233. package/dist/tests/units/usecases/cli/checkInitPrerequisites.test.js.map +1 -0
  234. package/dist/usecases/cli/addRepositoriesToConfig.usecase.d.ts +27 -0
  235. package/dist/usecases/cli/addRepositoriesToConfig.usecase.d.ts.map +1 -0
  236. package/dist/usecases/cli/addRepositoriesToConfig.usecase.js +34 -0
  237. package/dist/usecases/cli/addRepositoriesToConfig.usecase.js.map +1 -0
  238. package/dist/usecases/cli/checkInitPrerequisites.d.ts +16 -0
  239. package/dist/usecases/cli/checkInitPrerequisites.d.ts.map +1 -0
  240. package/dist/usecases/cli/checkInitPrerequisites.js +23 -0
  241. package/dist/usecases/cli/checkInitPrerequisites.js.map +1 -0
  242. package/dist/usecases/cli/configureMcp.usecase.d.ts +1 -1
  243. package/dist/usecases/cli/configureMcp.usecase.d.ts.map +1 -1
  244. package/dist/usecases/cli/validateConfig.usecase.d.ts +1 -1
  245. package/dist/usecases/cli/validateConfig.usecase.d.ts.map +1 -1
  246. package/dist/usecases/triggerReview.usecase.d.ts +2 -0
  247. package/dist/usecases/triggerReview.usecase.d.ts.map +1 -1
  248. package/dist/usecases/triggerReview.usecase.js +1 -0
  249. package/dist/usecases/triggerReview.usecase.js.map +1 -1
  250. package/package.json +2 -1
  251. package/templates/SETUP.md +23 -8
package/CHANGELOG.md CHANGED
@@ -5,6 +5,63 @@ 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.6.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.5.0...reviewflow-v3.6.0) (2026-03-14)
9
+
10
+
11
+ ### Added
12
+
13
+ * add product-manager skill to feature-planner agent ([6ac68f9](https://github.com/DGouron/review-flow/commit/6ac68f9c806fc353087f54413bc233d7b22eb2d2))
14
+ * add skills, agents, and rules for spec-driven development ([43cec38](https://github.com/DGouron/review-flow/commit/43cec3863ab20adc454f45a9015117a5b3da5ecf))
15
+ * add skills, agents, and rules for spec-driven development pipeline ([1abcdb7](https://github.com/DGouron/review-flow/commit/1abcdb780b537bfa29670310e71e4ec0ae9ffe17))
16
+ * enrich review comments with clickable file:line links ([1c0c090](https://github.com/DGouron/review-flow/commit/1c0c0902abcef0024b299f22f224b3b86c51e762))
17
+ * enrich review comments with clickable file:line links ([604c6cc](https://github.com/DGouron/review-flow/commit/604c6cc57d1d29d6fc4f407d1225ad4d6cd3b3c9))
18
+ * **invoker:** add critical data source rules to MCP system prompt ([f7d5367](https://github.com/DGouron/review-flow/commit/f7d53679040a83dd6f11382c6b8560c3ce693410))
19
+ * translate all skills to English and remove external project references ([ee40c4f](https://github.com/DGouron/review-flow/commit/ee40c4ff0d6c03e4f34c0086bc23ac16e4bb2593))
20
+
21
+
22
+ ### Fixed
23
+
24
+ * address MR [#106](https://github.com/DGouron/review-flow/issues/106) review feedback ([cff187a](https://github.com/DGouron/review-flow/commit/cff187a13f4e433f52285fa7838e2437ceaaf595))
25
+ * isolate review MCP config from project .mcp.json ([fdfd696](https://github.com/DGouron/review-flow/commit/fdfd69657b3ebbba76c8dd62f2b9b62051e08d2b))
26
+ * isolate review MCP config from project .mcp.json ([1dd2531](https://github.com/DGouron/review-flow/commit/1dd25315e830a5aa291a8968e7a82b667d7fdc09))
27
+ * remove dead ensureProjectMcpConfig and fix relative import ([29f8f63](https://github.com/DGouron/review-flow/commit/29f8f637ca27804471eb317439a19556ac580ddb))
28
+ * remove React/frontend references from review skills ([2a12a94](https://github.com/DGouron/review-flow/commit/2a12a944110df6c64567fe85bd0ed11707c83a47))
29
+ * resolve CI lint failure and clean up type assertion ([8c45fe6](https://github.com/DGouron/review-flow/commit/8c45fe6a3113388e3625af797fa4124ae1c2560c))
30
+
31
+
32
+ ### Changed
33
+
34
+ * **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)
35
+ * **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)
36
+ * **gitlab-controller:** inject ThreadFetchGateway and DiffMetadataFetchGateway via deps ([04438a9](https://github.com/DGouron/review-flow/commit/04438a9c2b1e4940f24a7cce18bd824002a8d698))
37
+ * **gitlab-controller:** inject use cases and migrate all imports to @/ alias ([bbc3598](https://github.com/DGouron/review-flow/commit/bbc3598d38119056a48c2acfd640607833362aed))
38
+ * implement dependency injection in controllers ([4fed43e](https://github.com/DGouron/review-flow/commit/4fed43ee8e0d0fceab95baf14c6b3d507e038ba2))
39
+ * 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))
40
+
41
+ ## [3.5.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.4.0...reviewflow-v3.5.0) (2026-02-15)
42
+
43
+
44
+ ### Added
45
+
46
+ * **cli:** add `reviewflow discover` command for repository discovery ([#53](https://github.com/DGouron/review-flow/issues/53)) ([6e90e12](https://github.com/DGouron/review-flow/commit/6e90e128600c28875e815068079c84efd0f4a160))
47
+ * **cli:** add reviewflow discover command ([395b4a2](https://github.com/DGouron/review-flow/commit/395b4a2f0795e62403c99a6b78f6d444e0805160))
48
+ * **cli:** refactor executeInit with dependency injection and prerequisites check ([#29](https://github.com/DGouron/review-flow/issues/29)) ([425e4e1](https://github.com/DGouron/review-flow/commit/425e4e1f23b6476aea83935ee7611d72a986734c))
49
+ * **dashboard:** deliver night-shift calm UX refinement and actionable review focus ([8b9d699](https://github.com/DGouron/review-flow/commit/8b9d699efe39a14965f8923b62212c76c9f1b319))
50
+ * **dashboard:** extract utility modules and add i18n support ([dfae1d3](https://github.com/DGouron/review-flow/commit/dfae1d317d007e654800133af87338fc7cd76e24))
51
+ * **dashboard:** extract utility modules and add i18n support ([#69](https://github.com/DGouron/review-flow/issues/69)) ([3df84fd](https://github.com/DGouron/review-flow/commit/3df84fdc06790f1ebef8ac6a3d8462c0513e13f0))
52
+ * **dashboard:** finalize priority UX, notifications, and responsive polish ([75f6e84](https://github.com/DGouron/review-flow/commit/75f6e8429576efa5e96d989152870a991e7e21e1))
53
+ * **dashboard:** finalize priority-first UX and notifications ([909b7f5](https://github.com/DGouron/review-flow/commit/909b7f500189cd4e74fdbfda3015a4700c27459b))
54
+ * **dashboard:** polish stats panel hierarchy and mobile density ([8c0ef37](https://github.com/DGouron/review-flow/commit/8c0ef371b333ab564c0524efa50f66de8bf7433c))
55
+ * **dashboard:** refine project stats panel visual hierarchy ([fdfe792](https://github.com/DGouron/review-flow/commit/fdfe7928cdfe5d2be56dc51240a395cd5976bc07))
56
+ * **i18n:** add internationalization support FR/EN ([#45](https://github.com/DGouron/review-flow/issues/45)) ([c41f4fe](https://github.com/DGouron/review-flow/commit/c41f4fe56364abf3934458e7dcc108902f3c73a0))
57
+ * **i18n:** internationalization support FR/EN ([b7cfcc1](https://github.com/DGouron/review-flow/commit/b7cfcc102e0c6739516f1d3837bf1686048ea2ac))
58
+
59
+
60
+ ### Fixed
61
+
62
+ * **cli:** address auto-review blocking and important corrections ([#53](https://github.com/DGouron/review-flow/issues/53)) ([b68951a](https://github.com/DGouron/review-flow/commit/b68951a573a3380aab707b06fa05d425157d7839))
63
+ * **dashboard:** harden rendered data and resolve follow-up assignee ([2336a9c](https://github.com/DGouron/review-flow/commit/2336a9ce6e48e7e4e21a370517303fa02c0ba2a1))
64
+
8
65
  ## [3.4.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.3.1...reviewflow-v3.4.0) (2026-02-13)
9
66
 
10
67
 
@@ -25,6 +25,11 @@ interface InitArgs {
25
25
  showSecrets: boolean;
26
26
  scanPaths: string[];
27
27
  }
28
+ interface DiscoverArgs {
29
+ command: 'discover';
30
+ scanPaths: string[];
31
+ maxDepth: number;
32
+ }
28
33
  interface ValidateArgs {
29
34
  command: 'validate';
30
35
  fix: boolean;
@@ -40,7 +45,7 @@ interface FollowupImportantsArgs {
40
45
  interface HelpArgs {
41
46
  command: 'help';
42
47
  }
43
- export type CliArgs = StartArgs | StopArgs | StatusArgs | LogsArgs | InitArgs | ValidateArgs | FollowupImportantsArgs | VersionArgs | HelpArgs;
48
+ export type CliArgs = StartArgs | StopArgs | StatusArgs | LogsArgs | InitArgs | DiscoverArgs | ValidateArgs | FollowupImportantsArgs | VersionArgs | HelpArgs;
44
49
  export declare function parseCliArgs(args: string[]): CliArgs;
45
50
  export {};
46
51
  //# sourceMappingURL=parseCliArgs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseCliArgs.d.ts","sourceRoot":"","sources":["../../src/cli/parseCliArgs.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,sBAAsB,GAAG,WAAW,GAAG,QAAQ,CAAC;AA+F/I,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CA2BpD"}
1
+ {"version":3,"file":"parseCliArgs.d.ts","sourceRoot":"","sources":["../../src/cli/parseCliArgs.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,sBAAsB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAwG9J,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CA6BpD"}
@@ -1,4 +1,4 @@
1
- const KNOWN_COMMANDS = ['start', 'stop', 'status', 'logs', 'init', 'validate', 'followup-importants'];
1
+ const KNOWN_COMMANDS = ['start', 'stop', 'status', 'logs', 'init', 'discover', 'validate', 'followup-importants'];
2
2
  function hasFlag(args, long, short) {
3
3
  return args.includes(long) || (short !== undefined && args.includes(short));
4
4
  }
@@ -72,6 +72,14 @@ function parseInitArgs(args) {
72
72
  scanPaths: getAllFlagValues(args, '--scan-path'),
73
73
  };
74
74
  }
75
+ function parseDiscoverArgs(args) {
76
+ const maxDepthValue = getFlagValue(args, '--max-depth');
77
+ return {
78
+ command: 'discover',
79
+ scanPaths: getAllFlagValues(args, '--scan-path'),
80
+ maxDepth: maxDepthValue !== undefined ? Number(maxDepthValue) : 3,
81
+ };
82
+ }
75
83
  function parseValidateArgs(args) {
76
84
  return {
77
85
  command: 'validate',
@@ -97,6 +105,8 @@ export function parseCliArgs(args) {
97
105
  return parseLogsArgs(args);
98
106
  case 'init':
99
107
  return parseInitArgs(args);
108
+ case 'discover':
109
+ return parseDiscoverArgs(args);
100
110
  case 'validate':
101
111
  return parseValidateArgs(args);
102
112
  case 'followup-importants':
@@ -1 +1 @@
1
- {"version":3,"file":"parseCliArgs.js","sourceRoot":"","sources":["../../src/cli/parseCliArgs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseCliArgs.js","sourceRoot":"","sources":["../../src/cli/parseCliArgs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { AgentDefinition } from '../entities/progress/agentDefinition.type.js';
2
+ import type { Language } from '../entities/language/language.schema.js';
2
3
  /**
3
4
  * Project-specific review configuration
4
5
  * Located in each project's .claude/reviews/config.json
@@ -9,6 +10,7 @@ export interface ProjectConfig {
9
10
  defaultModel: 'sonnet' | 'opus';
10
11
  reviewSkill: string;
11
12
  reviewFollowupSkill: string;
13
+ language: Language;
12
14
  agents?: AgentDefinition[];
13
15
  followupAgents?: AgentDefinition[];
14
16
  }
@@ -23,6 +25,10 @@ export declare function loadProjectConfig(localPath: string): ProjectConfig | un
23
25
  * Get agents from project config or undefined for defaults
24
26
  */
25
27
  export declare function getProjectAgents(localPath: string): AgentDefinition[] | undefined;
28
+ /**
29
+ * Get language from project config, defaulting to 'en'
30
+ */
31
+ export declare function getProjectLanguage(localPath: string): Language;
26
32
  /**
27
33
  * Get followup agents from project config or undefined for defaults
28
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAEpF;;;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,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,CA6C9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,SAAS,CAOjF;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,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"}
@@ -58,6 +58,7 @@ export function loadProjectConfig(localPath) {
58
58
  defaultModel: parsed.defaultModel === 'opus' ? 'opus' : 'sonnet',
59
59
  reviewSkill: String(parsed.reviewSkill),
60
60
  reviewFollowupSkill: String(parsed.reviewFollowupSkill),
61
+ language: parsed.language === 'fr' ? 'fr' : 'en',
61
62
  agents: parsed.agents,
62
63
  followupAgents: parsed.followupAgents,
63
64
  };
@@ -74,6 +75,18 @@ export function getProjectAgents(localPath) {
74
75
  return undefined;
75
76
  }
76
77
  }
78
+ /**
79
+ * Get language from project config, defaulting to 'en'
80
+ */
81
+ export function getProjectLanguage(localPath) {
82
+ try {
83
+ const config = loadProjectConfig(localPath);
84
+ return config?.language ?? 'en';
85
+ }
86
+ catch {
87
+ return 'en';
88
+ }
89
+ }
77
90
  /**
78
91
  * Get followup agents from project config or undefined for defaults
79
92
  */
@@ -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
+ import { z } from 'zod';
2
+ export declare const languageSchema: z.ZodEnum<{
3
+ en: "en";
4
+ fr: "fr";
5
+ }>;
6
+ export type Language = z.infer<typeof languageSchema>;
7
+ //# sourceMappingURL=language.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.schema.d.ts","sourceRoot":"","sources":["../../../src/entities/language/language.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;EAAuB,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ export const languageSchema = z.enum(['en', 'fr']);
3
+ //# sourceMappingURL=language.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.schema.js","sourceRoot":"","sources":["../../../src/entities/language/language.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC"}
@@ -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"}
@@ -1,9 +1,15 @@
1
1
  import type { Logger } from 'pino';
2
- import type { ReviewJob } from '../queue/pQueueAdapter.js';
2
+ 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,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAa9F,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;AA4FzF;;;;;;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;AAc1F,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,CAoU3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,IAAI,CAiBN"}
@@ -1,16 +1,17 @@
1
1
  import { spawn } from 'node:child_process';
2
- import { writeFileSync, mkdirSync, existsSync, unlinkSync, readFileSync } from 'node:fs';
2
+ import { writeFileSync, mkdirSync, existsSync, unlinkSync } from 'node:fs';
3
3
  import { join, dirname } from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
- import { ProgressParser } from './progressParser.js';
6
- import { logInfo, logWarn, logError } from '../logging/logBuffer.js';
7
- import { getModel } from '../settings/runtimeSettings.js';
5
+ import { ProgressParser } from '../../frameworks/claude/progressParser.js';
6
+ import { logInfo, logWarn, logError } from '../../frameworks/logging/logBuffer.js';
7
+ import { getModel } from '../../frameworks/settings/runtimeSettings.js';
8
8
  import { getProjectAgents, getFollowupAgents } from '../../config/projectConfig.js';
9
9
  import { addReviewStats } from '../../services/statsService.js';
10
10
  import { FileSystemReviewRequestTrackingGateway } from '../../interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.js';
11
11
  import { ProjectStatsCalculator } from '../../interface-adapters/presenters/projectStats.calculator.js';
12
12
  import { resolveClaudePath } from '../../shared/services/claudePathResolver.js';
13
13
  import { getJobContextFilePath } from '../../shared/services/mcpJobContext.js';
14
+ import { buildLanguageDirective } from '../../frameworks/claude/languageDirective.js';
14
15
  const currentDir = dirname(fileURLToPath(import.meta.url));
15
16
  export function resolveMcpServerPath() {
16
17
  // dist/frameworks/claude/claudeInvoker.js → dist/mcpServer.js
@@ -49,37 +50,22 @@ export function writeMcpContext(job) {
49
50
  // Non-critical, MCP will work without context
50
51
  }
51
52
  }
52
- export function ensureProjectMcpConfig(projectPath) {
53
- try {
54
- const mcpServerPath = resolveMcpServerPath();
55
- const mcpConfigPath = join(projectPath, '.mcp.json');
56
- const expectedConfig = {
57
- mcpServers: {
58
- "review-progress": {
59
- command: "node",
60
- args: [mcpServerPath],
61
- },
53
+ /**
54
+ * Build MCP config JSON for --mcp-config flag.
55
+ * Returns a self-contained JSON string with ONLY the review-progress server.
56
+ * Used with --strict-mcp-config to isolate reviews from project .mcp.json
57
+ * (which may contain other MCP servers that cause timeouts).
58
+ */
59
+ export function buildMcpConfigJson() {
60
+ const mcpServerPath = resolveMcpServerPath();
61
+ return JSON.stringify({
62
+ mcpServers: {
63
+ "review-progress": {
64
+ command: "node",
65
+ args: [mcpServerPath],
62
66
  },
63
- };
64
- // Check if file exists and has correct config
65
- if (existsSync(mcpConfigPath)) {
66
- const existing = JSON.parse(readFileSync(mcpConfigPath, 'utf-8'));
67
- if (existing?.mcpServers?.["review-progress"]) {
68
- return; // Already configured
69
- }
70
- // Merge with existing config
71
- existing.mcpServers = existing.mcpServers || {};
72
- existing.mcpServers["review-progress"] = expectedConfig.mcpServers["review-progress"];
73
- writeFileSync(mcpConfigPath, JSON.stringify(existing, null, 2) + '\n');
74
- }
75
- else {
76
- // Create new config
77
- writeFileSync(mcpConfigPath, JSON.stringify(expectedConfig, null, 2) + '\n');
78
- }
79
- }
80
- catch {
81
- // Non-critical, skill may still work without MCP
82
- }
67
+ },
68
+ });
83
69
  }
84
70
  export function cleanupMcpContext(jobId) {
85
71
  try {
@@ -132,6 +118,23 @@ These rules are about WRITING production code. You are in **READ-ONLY review mod
132
118
  - **Source Branch**: ${job.sourceBranch || 'unknown'}
133
119
  - **Target Branch**: ${job.targetBranch || 'unknown'}
134
120
 
121
+ ## ⛔ CRITICAL: Data Source Rules
122
+
123
+ The local repository at \`${job.localPath}\` may be checked out on a DIFFERENT branch than MR !${job.mrNumber}.
124
+ Multiple reviews can run concurrently on the same repo. The local state is UNRELIABLE.
125
+
126
+ **SOURCE OF TRUTH for the MR diff**: \`glab mr diff ${job.mrNumber}\` — use this, NEVER \`git diff\`.
127
+ **SOURCE OF TRUTH for MR metadata**: \`glab mr view ${job.mrNumber}\` — use this for branch names, title, description.
128
+ **SOURCE OF TRUTH for threads**: \`get_threads({ jobId: "${job.id}" })\` — MCP tool.
129
+
130
+ **FORBIDDEN — these reflect LOCAL state, not the MR:**
131
+ - \`git diff\`, \`git log\`, \`git branch\`, \`git status\`
132
+ - Reading local files as source of truth for what the MR changes
133
+ - Assuming the local branch matches the MR being reviewed
134
+
135
+ **ALLOWED — local repo for conflict detection only:**
136
+ - Reading local files to check if they conflict with MR changes (advisory only)
137
+
135
138
  ## MANDATORY MCP Tools Usage
136
139
 
137
140
  You MUST use these MCP tools for ALL operations. Do NOT use text markers.
@@ -183,6 +186,8 @@ Use \`POST_INLINE_COMMENT\` to post comments directly on specific lines in the d
183
186
  - Producing a "plan" instead of executing → Review will be empty
184
187
  - Using text markers like [PROGRESS:xxx] → Dashboard won't update
185
188
  - Waiting for user approval → Review will hang forever
189
+
190
+ ${buildLanguageDirective(job.language ?? 'en')}
186
191
  `.trim();
187
192
  }
188
193
  /**
@@ -200,21 +205,26 @@ export async function invokeClaudeReview(job, logger, onProgress, signal) {
200
205
  const model = getModel();
201
206
  // Build MCP system prompt injection
202
207
  const mcpSystemPrompt = buildMcpSystemPrompt(job);
208
+ // Build MCP config: isolated from project .mcp.json to avoid
209
+ // third-party MCP servers (e.g. gitnexus) causing initialization timeouts
210
+ const mcpConfigJson = buildMcpConfigJson();
203
211
  // Build arguments
204
212
  // --permission-mode bypassPermissions: automated review, no user to approve
205
213
  // --allowedTools / --disallowedTools: belt-and-suspenders to restrict tool scope
214
+ // --mcp-config + --strict-mcp-config: use ONLY review-progress MCP server
206
215
  const args = [
207
216
  '--print',
208
217
  '--model', model,
209
218
  '--permission-mode', 'bypassPermissions',
210
219
  '--append-system-prompt', mcpSystemPrompt,
220
+ '--mcp-config', mcpConfigJson,
221
+ '--strict-mcp-config',
211
222
  '--allowedTools', 'Read,Glob,Grep,Bash,Edit,Task,Skill,Write,LSP,mcp__review-progress__*',
212
223
  '--disallowedTools', 'EnterPlanMode,AskUserQuestion',
213
224
  '-p', prompt,
214
225
  ];
215
- // Setup MCP: write context file and ensure project has .mcp.json
226
+ // Setup MCP job context file (used by MCP server to identify the review)
216
227
  writeMcpContext(job);
217
- ensureProjectMcpConfig(job.localPath);
218
228
  logger.info({
219
229
  cwd: job.localPath,
220
230
  prompt,
@@ -259,10 +269,13 @@ export async function invokeClaudeReview(job, logger, onProgress, signal) {
259
269
  let stdout = '';
260
270
  let stderr = '';
261
271
  let cancelled = false;
272
+ const childEnv = { ...process.env };
273
+ // Remove CLAUDECODE to allow spawning Claude from within a Claude session
274
+ childEnv.CLAUDECODE = undefined;
262
275
  const child = spawn(resolveClaudePath(), args, {
263
276
  cwd: job.localPath,
264
277
  env: {
265
- ...process.env,
278
+ ...childEnv,
266
279
  // Ensure non-interactive mode
267
280
  TERM: 'dumb',
268
281
  CI: 'true',
@@ -1 +1 @@
1
- {"version":3,"file":"claudeInvoker.js","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInvoker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeInvoker.js","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInvoker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Language } from '../../entities/language/language.schema.js';
2
+ export declare function buildLanguageDirective(language: Language): string;
3
+ //# sourceMappingURL=languageDirective.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageDirective.d.ts","sourceRoot":"","sources":["../../../src/frameworks/claude/languageDirective.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAOvE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGjE"}
@@ -0,0 +1,9 @@
1
+ const LANGUAGE_LABELS = {
2
+ en: 'English',
3
+ fr: 'French',
4
+ };
5
+ export function buildLanguageDirective(language) {
6
+ const label = LANGUAGE_LABELS[language];
7
+ return `## MANDATORY OUTPUT LANGUAGE\n\nCRITICAL: WRITE YOUR ENTIRE REVIEW IN ${label.toUpperCase()}. Every comment, analysis, recommendation, and report section MUST be written in ${label}. This is NON-NEGOTIABLE.`;
8
+ }
9
+ //# sourceMappingURL=languageDirective.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageDirective.js","sourceRoot":"","sources":["../../../src/frameworks/claude/languageDirective.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAA6B;IAChD,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;CACb,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,QAAkB;IACvD,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,yEAAyE,KAAK,CAAC,WAAW,EAAE,oFAAoF,KAAK,2BAA2B,CAAC;AAC1N,CAAC"}
@@ -27,6 +27,7 @@ export interface EnvSecrets {
27
27
  gitlabWebhookToken: string;
28
28
  githubWebhookSecret: string;
29
29
  }
30
+ export declare function normalizeGitUrl(url: string): string;
30
31
  export declare function validateAndEnrichConfig(data: unknown): Config;
31
32
  export declare function loadConfig(): Config;
32
33
  export declare function loadEnvSecrets(): EnvSecrets;
@@ -1 +1 @@
1
- {"version":3,"file":"configLoader.d.ts","sourceRoot":"","sources":["../../../src/frameworks/config/configLoader.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AA6DD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAuF7D;AA6BD,wBAAgB,UAAU,IAAI,MAAM,CAcnC;AAED,wBAAgB,cAAc,IAAI,UAAU,CAI3C;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAWzF;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAa7F"}
1
+ {"version":3,"file":"configLoader.d.ts","sourceRoot":"","sources":["../../../src/frameworks/config/configLoader.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,gBAAgB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAqBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOnD;AA0CD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAuF7D;AA6BD,wBAAgB,UAAU,IAAI,MAAM,CAcnC;AAED,wBAAgB,cAAc,IAAI,UAAU,CAI3C;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAWzF;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAa7F"}
@@ -24,6 +24,14 @@ function loadProjectConfig(localPath) {
24
24
  return null;
25
25
  }
26
26
  }
27
+ export function normalizeGitUrl(url) {
28
+ // Convert SSH URLs (git@host:org/repo.git) to HTTPS (https://host/org/repo)
29
+ const sshMatch = url.match(/^git@([^:]+):(.+)$/);
30
+ if (sshMatch) {
31
+ return `https://${sshMatch[1]}/${sshMatch[2].replace(/\.git$/, '')}`;
32
+ }
33
+ return url.replace(/\.git$/, '');
34
+ }
27
35
  function getGitRemoteUrl(localPath) {
28
36
  try {
29
37
  const result = execSync('git remote get-url origin', {
@@ -31,7 +39,7 @@ function getGitRemoteUrl(localPath) {
31
39
  encoding: 'utf-8',
32
40
  timeout: 5000,
33
41
  });
34
- return result.trim().replace(/\.git$/, '');
42
+ return normalizeGitUrl(result.trim());
35
43
  }
36
44
  catch {
37
45
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"configLoader.js","sourceRoot":"","sources":["../../../src/frameworks/config/configLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configLoader.js","sourceRoot":"","sources":["../../../src/frameworks/config/configLoader.ts"],"names":[],"mappings":"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"}