reviewflow 3.25.0 → 3.27.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 (310) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/config/projectConfig.d.ts +1 -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/dashboard/index.html +113 -7
  7. package/dist/dashboard/modules/constants.d.ts +1 -0
  8. package/dist/dashboard/modules/constants.d.ts.map +1 -1
  9. package/dist/dashboard/modules/constants.js +1 -0
  10. package/dist/dashboard/modules/constants.js.map +1 -1
  11. package/dist/dashboard/modules/headerCapacityBadge.d.ts +33 -0
  12. package/dist/dashboard/modules/headerCapacityBadge.d.ts.map +1 -0
  13. package/dist/dashboard/modules/headerCapacityBadge.js +53 -0
  14. package/dist/dashboard/modules/headerCapacityBadge.js.map +1 -0
  15. package/dist/dashboard/modules/i18n.d.ts.map +1 -1
  16. package/dist/dashboard/modules/i18n.js +4 -0
  17. package/dist/dashboard/modules/i18n.js.map +1 -1
  18. package/dist/dashboard/modules/settingsModal.d.ts +17 -0
  19. package/dist/dashboard/modules/settingsModal.d.ts.map +1 -1
  20. package/dist/dashboard/modules/settingsModal.js +38 -0
  21. package/dist/dashboard/modules/settingsModal.js.map +1 -1
  22. package/dist/dashboard/modules/worktreePanel.d.ts +40 -0
  23. package/dist/dashboard/modules/worktreePanel.d.ts.map +1 -1
  24. package/dist/dashboard/modules/worktreePanel.js +98 -1
  25. package/dist/dashboard/modules/worktreePanel.js.map +1 -1
  26. package/dist/dashboard/styles.css +152 -1
  27. package/dist/frameworks/claude/claudeInvoker.d.ts.map +1 -1
  28. package/dist/frameworks/claude/claudeInvoker.js +5 -10
  29. package/dist/frameworks/claude/claudeInvoker.js.map +1 -1
  30. package/dist/frameworks/config/configLoader.d.ts +1 -0
  31. package/dist/frameworks/config/configLoader.d.ts.map +1 -1
  32. package/dist/frameworks/config/configLoader.js +11 -0
  33. package/dist/frameworks/config/configLoader.js.map +1 -1
  34. package/dist/frameworks/queue/pQueueAdapter.d.ts +17 -0
  35. package/dist/frameworks/queue/pQueueAdapter.d.ts.map +1 -1
  36. package/dist/frameworks/queue/pQueueAdapter.js +103 -40
  37. package/dist/frameworks/queue/pQueueAdapter.js.map +1 -1
  38. package/dist/frameworks/queue/projectSemaphore.d.ts +26 -0
  39. package/dist/frameworks/queue/projectSemaphore.d.ts.map +1 -0
  40. package/dist/frameworks/queue/projectSemaphore.js +79 -0
  41. package/dist/frameworks/queue/projectSemaphore.js.map +1 -0
  42. package/dist/frameworks/settings/runtimeSettings.d.ts +3 -0
  43. package/dist/frameworks/settings/runtimeSettings.d.ts.map +1 -1
  44. package/dist/frameworks/settings/runtimeSettings.js +14 -0
  45. package/dist/frameworks/settings/runtimeSettings.js.map +1 -1
  46. package/dist/main/dependencies.d.ts +4 -0
  47. package/dist/main/dependencies.d.ts.map +1 -1
  48. package/dist/main/dependencies.js +8 -0
  49. package/dist/main/dependencies.js.map +1 -1
  50. package/dist/main/routes.d.ts.map +1 -1
  51. package/dist/main/routes.js +32 -3
  52. package/dist/main/routes.js.map +1 -1
  53. package/dist/main/server.d.ts.map +1 -1
  54. package/dist/main/server.js +69 -1
  55. package/dist/main/server.js.map +1 -1
  56. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.guard.d.ts +2 -0
  57. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.guard.d.ts.map +1 -0
  58. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.guard.js +4 -0
  59. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.guard.js.map +1 -0
  60. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.schema.d.ts +7 -0
  61. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.schema.d.ts.map +1 -0
  62. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.schema.js +10 -0
  63. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.schema.js.map +1 -0
  64. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.valueObject.d.ts +18 -0
  65. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.valueObject.d.ts.map +1 -0
  66. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.valueObject.js +28 -0
  67. package/dist/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.valueObject.js.map +1 -0
  68. package/dist/modules/cli-configuration/entities/repositoriesList/repositoriesList.gateway.d.ts +9 -0
  69. package/dist/modules/cli-configuration/entities/repositoriesList/repositoriesList.gateway.d.ts.map +1 -0
  70. package/dist/modules/cli-configuration/entities/repositoriesList/repositoriesList.gateway.js +2 -0
  71. package/dist/modules/cli-configuration/entities/repositoriesList/repositoriesList.gateway.js.map +1 -0
  72. package/dist/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.d.ts +1 -0
  73. package/dist/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.d.ts.map +1 -1
  74. package/dist/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.js +26 -0
  75. package/dist/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.js.map +1 -1
  76. package/dist/modules/cli-configuration/interface-adapters/gateways/repositoriesList.runtimeConfig.gateway.d.ts +8 -0
  77. package/dist/modules/cli-configuration/interface-adapters/gateways/repositoriesList.runtimeConfig.gateway.d.ts.map +1 -0
  78. package/dist/modules/cli-configuration/interface-adapters/gateways/repositoriesList.runtimeConfig.gateway.js +14 -0
  79. package/dist/modules/cli-configuration/interface-adapters/gateways/repositoriesList.runtimeConfig.gateway.js.map +1 -0
  80. package/dist/modules/cli-configuration/usecases/projectConfig/recomputeGlobalConcurrency.usecase.d.ts +26 -0
  81. package/dist/modules/cli-configuration/usecases/projectConfig/recomputeGlobalConcurrency.usecase.d.ts.map +1 -0
  82. package/dist/modules/cli-configuration/usecases/projectConfig/recomputeGlobalConcurrency.usecase.js +24 -0
  83. package/dist/modules/cli-configuration/usecases/projectConfig/recomputeGlobalConcurrency.usecase.js.map +1 -0
  84. package/dist/modules/cli-configuration/usecases/projectConfig/updateProjectConfig.usecase.d.ts +2 -1
  85. package/dist/modules/cli-configuration/usecases/projectConfig/updateProjectConfig.usecase.d.ts.map +1 -1
  86. package/dist/modules/cli-configuration/usecases/projectConfig/updateProjectConfig.usecase.js +29 -5
  87. package/dist/modules/cli-configuration/usecases/projectConfig/updateProjectConfig.usecase.js.map +1 -1
  88. package/dist/modules/review-execution/entities/job/jobHistory.gateway.d.ts +10 -0
  89. package/dist/modules/review-execution/entities/job/jobHistory.gateway.d.ts.map +1 -0
  90. package/dist/modules/review-execution/entities/job/jobHistory.gateway.js +2 -0
  91. package/dist/modules/review-execution/entities/job/jobHistory.gateway.js.map +1 -0
  92. package/dist/modules/review-execution/entities/job/jobRecord.guard.d.ts +13 -0
  93. package/dist/modules/review-execution/entities/job/jobRecord.guard.d.ts.map +1 -0
  94. package/dist/modules/review-execution/entities/job/jobRecord.guard.js +4 -0
  95. package/dist/modules/review-execution/entities/job/jobRecord.guard.js.map +1 -0
  96. package/dist/modules/review-execution/entities/job/jobRecord.schema.d.ts +33 -0
  97. package/dist/modules/review-execution/entities/job/jobRecord.schema.d.ts.map +1 -0
  98. package/dist/modules/review-execution/entities/job/jobRecord.schema.js +15 -0
  99. package/dist/modules/review-execution/entities/job/jobRecord.schema.js.map +1 -0
  100. package/dist/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.d.ts +19 -0
  101. package/dist/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.d.ts.map +1 -0
  102. package/dist/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.js +120 -0
  103. package/dist/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.js.map +1 -0
  104. package/dist/modules/review-execution/usecases/jobHistory/loadRecentJobHistory.usecase.d.ts +17 -0
  105. package/dist/modules/review-execution/usecases/jobHistory/loadRecentJobHistory.usecase.d.ts.map +1 -0
  106. package/dist/modules/review-execution/usecases/jobHistory/loadRecentJobHistory.usecase.js +11 -0
  107. package/dist/modules/review-execution/usecases/jobHistory/loadRecentJobHistory.usecase.js.map +1 -0
  108. package/dist/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.d.ts +18 -0
  109. package/dist/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.d.ts.map +1 -0
  110. package/dist/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.js +58 -0
  111. package/dist/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.js.map +1 -0
  112. package/dist/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.d.ts +16 -0
  113. package/dist/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.d.ts.map +1 -0
  114. package/dist/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.js +12 -0
  115. package/dist/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.js.map +1 -0
  116. package/dist/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.d.ts +4 -0
  117. package/dist/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.d.ts.map +1 -1
  118. package/dist/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.js +2 -0
  119. package/dist/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.js.map +1 -1
  120. package/dist/modules/statistics-insights/interface-adapters/presenters/overview.presenter.d.ts +12 -0
  121. package/dist/modules/statistics-insights/interface-adapters/presenters/overview.presenter.d.ts.map +1 -1
  122. package/dist/modules/statistics-insights/interface-adapters/presenters/overview.presenter.js +8 -0
  123. package/dist/modules/statistics-insights/interface-adapters/presenters/overview.presenter.js.map +1 -1
  124. package/dist/modules/statistics-insights/services/fetchDiffStatsSafely.d.ts +5 -0
  125. package/dist/modules/statistics-insights/services/fetchDiffStatsSafely.d.ts.map +1 -0
  126. package/dist/modules/statistics-insights/services/fetchDiffStatsSafely.js +10 -0
  127. package/dist/modules/statistics-insights/services/fetchDiffStatsSafely.js.map +1 -0
  128. package/dist/modules/statistics-insights/services/statsService.d.ts +5 -0
  129. package/dist/modules/statistics-insights/services/statsService.d.ts.map +1 -1
  130. package/dist/modules/statistics-insights/services/statsService.js +5 -0
  131. package/dist/modules/statistics-insights/services/statsService.js.map +1 -1
  132. package/dist/modules/worktree-management/entities/gitCommand/gitCommand.gateway.d.ts +1 -1
  133. package/dist/modules/worktree-management/entities/gitCommand/gitCommand.gateway.d.ts.map +1 -1
  134. package/dist/modules/worktree-management/entities/worktree/worktree.gateway.d.ts +1 -0
  135. package/dist/modules/worktree-management/entities/worktree/worktree.gateway.d.ts.map +1 -1
  136. package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.d.ts +44 -0
  137. package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.d.ts.map +1 -0
  138. package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.js +31 -0
  139. package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.js.map +1 -0
  140. package/dist/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.d.ts +20 -0
  141. package/dist/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.d.ts.map +1 -0
  142. package/dist/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.js +2 -0
  143. package/dist/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.js.map +1 -0
  144. package/dist/modules/worktree-management/interface-adapters/controllers/http/worktreeOverview.routes.d.ts +6 -0
  145. package/dist/modules/worktree-management/interface-adapters/controllers/http/worktreeOverview.routes.d.ts.map +1 -1
  146. package/dist/modules/worktree-management/interface-adapters/controllers/http/worktreeOverview.routes.js +52 -1
  147. package/dist/modules/worktree-management/interface-adapters/controllers/http/worktreeOverview.routes.js.map +1 -1
  148. package/dist/modules/worktree-management/interface-adapters/gateways/worktree.fileSystem.gateway.d.ts.map +1 -1
  149. package/dist/modules/worktree-management/interface-adapters/gateways/worktree.fileSystem.gateway.js +5 -1
  150. package/dist/modules/worktree-management/interface-adapters/gateways/worktree.fileSystem.gateway.js.map +1 -1
  151. package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.d.ts +14 -0
  152. package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.d.ts.map +1 -0
  153. package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.js +97 -0
  154. package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.js.map +1 -0
  155. package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.d.ts +20 -0
  156. package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.d.ts.map +1 -1
  157. package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.js +58 -0
  158. package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.js.map +1 -1
  159. package/dist/modules/worktree-management/services/forceCleanupLock.d.ts +10 -0
  160. package/dist/modules/worktree-management/services/forceCleanupLock.d.ts.map +1 -0
  161. package/dist/modules/worktree-management/services/forceCleanupLock.js +14 -0
  162. package/dist/modules/worktree-management/services/forceCleanupLock.js.map +1 -0
  163. package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.d.ts +13 -0
  164. package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.d.ts.map +1 -0
  165. package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.js +35 -0
  166. package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.js.map +1 -0
  167. package/dist/modules/worktree-management/usecases/removeWorktree.usecase.d.ts +1 -0
  168. package/dist/modules/worktree-management/usecases/removeWorktree.usecase.d.ts.map +1 -1
  169. package/dist/modules/worktree-management/usecases/removeWorktree.usecase.js +2 -1
  170. package/dist/modules/worktree-management/usecases/removeWorktree.usecase.js.map +1 -1
  171. package/dist/tests/acceptance/175-worktree-failure-visibility.acceptance.test.d.ts +12 -0
  172. package/dist/tests/acceptance/175-worktree-failure-visibility.acceptance.test.d.ts.map +1 -0
  173. package/dist/tests/acceptance/175-worktree-failure-visibility.acceptance.test.js +293 -0
  174. package/dist/tests/acceptance/175-worktree-failure-visibility.acceptance.test.js.map +1 -0
  175. package/dist/tests/acceptance/176-job-history-persistence.acceptance.test.d.ts +13 -0
  176. package/dist/tests/acceptance/176-job-history-persistence.acceptance.test.d.ts.map +1 -0
  177. package/dist/tests/acceptance/176-job-history-persistence.acceptance.test.js +261 -0
  178. package/dist/tests/acceptance/176-job-history-persistence.acceptance.test.js.map +1 -0
  179. package/dist/tests/acceptance/186-per-project-concurrency-cap.acceptance.test.d.ts +16 -0
  180. package/dist/tests/acceptance/186-per-project-concurrency-cap.acceptance.test.d.ts.map +1 -0
  181. package/dist/tests/acceptance/186-per-project-concurrency-cap.acceptance.test.js +391 -0
  182. package/dist/tests/acceptance/186-per-project-concurrency-cap.acceptance.test.js.map +1 -0
  183. package/dist/tests/acceptance/47-capture-git-diff-stats.acceptance.test.d.ts +18 -0
  184. package/dist/tests/acceptance/47-capture-git-diff-stats.acceptance.test.d.ts.map +1 -0
  185. package/dist/tests/acceptance/47-capture-git-diff-stats.acceptance.test.js +221 -0
  186. package/dist/tests/acceptance/47-capture-git-diff-stats.acceptance.test.js.map +1 -0
  187. package/dist/tests/factories/config.factory.d.ts.map +1 -1
  188. package/dist/tests/factories/config.factory.js +1 -0
  189. package/dist/tests/factories/config.factory.js.map +1 -1
  190. package/dist/tests/factories/jobRecord.factory.d.ts +5 -0
  191. package/dist/tests/factories/jobRecord.factory.d.ts.map +1 -0
  192. package/dist/tests/factories/jobRecord.factory.js +18 -0
  193. package/dist/tests/factories/jobRecord.factory.js.map +1 -0
  194. package/dist/tests/factories/projectConcurrencyCap.factory.d.ts +5 -0
  195. package/dist/tests/factories/projectConcurrencyCap.factory.d.ts.map +1 -0
  196. package/dist/tests/factories/projectConcurrencyCap.factory.js +8 -0
  197. package/dist/tests/factories/projectConcurrencyCap.factory.js.map +1 -0
  198. package/dist/tests/factories/worktreeHealth.factory.d.ts +22 -0
  199. package/dist/tests/factories/worktreeHealth.factory.d.ts.map +1 -0
  200. package/dist/tests/factories/worktreeHealth.factory.js +53 -0
  201. package/dist/tests/factories/worktreeHealth.factory.js.map +1 -0
  202. package/dist/tests/stubs/jobHistory.stub.d.ts +13 -0
  203. package/dist/tests/stubs/jobHistory.stub.d.ts.map +1 -0
  204. package/dist/tests/stubs/jobHistory.stub.js +63 -0
  205. package/dist/tests/stubs/jobHistory.stub.js.map +1 -0
  206. package/dist/tests/stubs/queueCapacityPort.stub.d.ts +8 -0
  207. package/dist/tests/stubs/queueCapacityPort.stub.d.ts.map +1 -0
  208. package/dist/tests/stubs/queueCapacityPort.stub.js +11 -0
  209. package/dist/tests/stubs/queueCapacityPort.stub.js.map +1 -0
  210. package/dist/tests/stubs/repositoriesListGateway.stub.d.ts +7 -0
  211. package/dist/tests/stubs/repositoriesListGateway.stub.d.ts.map +1 -0
  212. package/dist/tests/stubs/repositoriesListGateway.stub.js +10 -0
  213. package/dist/tests/stubs/repositoriesListGateway.stub.js.map +1 -0
  214. package/dist/tests/stubs/worktreeHealthProbe.stub.d.ts +11 -0
  215. package/dist/tests/stubs/worktreeHealthProbe.stub.d.ts.map +1 -0
  216. package/dist/tests/stubs/worktreeHealthProbe.stub.js +26 -0
  217. package/dist/tests/stubs/worktreeHealthProbe.stub.js.map +1 -0
  218. package/dist/tests/units/cli/cli.integration.test.js +6 -4
  219. package/dist/tests/units/cli/cli.integration.test.js.map +1 -1
  220. package/dist/tests/units/dashboard/modules/headerCapacityBadge.test.d.ts +2 -0
  221. package/dist/tests/units/dashboard/modules/headerCapacityBadge.test.d.ts.map +1 -0
  222. package/dist/tests/units/dashboard/modules/headerCapacityBadge.test.js +55 -0
  223. package/dist/tests/units/dashboard/modules/headerCapacityBadge.test.js.map +1 -0
  224. package/dist/tests/units/dashboard/modules/notifications.test.js +17 -0
  225. package/dist/tests/units/dashboard/modules/notifications.test.js.map +1 -1
  226. package/dist/tests/units/dashboard/modules/settingsModal.test.js +7 -0
  227. package/dist/tests/units/dashboard/modules/settingsModal.test.js.map +1 -1
  228. package/dist/tests/units/dashboard/modules/worktreePanel.test.js +123 -1
  229. package/dist/tests/units/dashboard/modules/worktreePanel.test.js.map +1 -1
  230. package/dist/tests/units/frameworks/config/configLoader.test.js +28 -0
  231. package/dist/tests/units/frameworks/config/configLoader.test.js.map +1 -1
  232. package/dist/tests/units/frameworks/queue/pQueueAdapter.test.js +125 -0
  233. package/dist/tests/units/frameworks/queue/pQueueAdapter.test.js.map +1 -1
  234. package/dist/tests/units/frameworks/queue/projectSemaphore.test.d.ts +2 -0
  235. package/dist/tests/units/frameworks/queue/projectSemaphore.test.d.ts.map +1 -0
  236. package/dist/tests/units/frameworks/queue/projectSemaphore.test.js +92 -0
  237. package/dist/tests/units/frameworks/queue/projectSemaphore.test.js.map +1 -0
  238. package/dist/tests/units/frameworks/settings/runtimeSettings.test.js +34 -2
  239. package/dist/tests/units/frameworks/settings/runtimeSettings.test.js.map +1 -1
  240. package/dist/tests/units/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.guard.test.d.ts +2 -0
  241. package/dist/tests/units/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.guard.test.d.ts.map +1 -0
  242. package/dist/tests/units/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.guard.test.js +22 -0
  243. package/dist/tests/units/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.guard.test.js.map +1 -0
  244. package/dist/tests/units/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.valueObject.test.d.ts +2 -0
  245. package/dist/tests/units/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.valueObject.test.d.ts.map +1 -0
  246. package/dist/tests/units/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.valueObject.test.js +85 -0
  247. package/dist/tests/units/modules/cli-configuration/entities/projectConcurrencyCap/projectConcurrencyCap.valueObject.test.js.map +1 -0
  248. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.test.js +91 -0
  249. package/dist/tests/units/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.test.js.map +1 -1
  250. package/dist/tests/units/modules/cli-configuration/interface-adapters/gateways/repositoriesList.runtimeConfig.gateway.test.d.ts +2 -0
  251. package/dist/tests/units/modules/cli-configuration/interface-adapters/gateways/repositoriesList.runtimeConfig.gateway.test.d.ts.map +1 -0
  252. package/dist/tests/units/modules/cli-configuration/interface-adapters/gateways/repositoriesList.runtimeConfig.gateway.test.js +29 -0
  253. package/dist/tests/units/modules/cli-configuration/interface-adapters/gateways/repositoriesList.runtimeConfig.gateway.test.js.map +1 -0
  254. package/dist/tests/units/modules/cli-configuration/usecases/projectConfig/recomputeGlobalConcurrency.usecase.test.d.ts +2 -0
  255. package/dist/tests/units/modules/cli-configuration/usecases/projectConfig/recomputeGlobalConcurrency.usecase.test.d.ts.map +1 -0
  256. package/dist/tests/units/modules/cli-configuration/usecases/projectConfig/recomputeGlobalConcurrency.usecase.test.js +126 -0
  257. package/dist/tests/units/modules/cli-configuration/usecases/projectConfig/recomputeGlobalConcurrency.usecase.test.js.map +1 -0
  258. package/dist/tests/units/modules/cli-configuration/usecases/projectConfig/updateProjectConfig.usecase.test.js +78 -0
  259. package/dist/tests/units/modules/cli-configuration/usecases/projectConfig/updateProjectConfig.usecase.test.js.map +1 -1
  260. package/dist/tests/units/modules/review-execution/entities/job/jobRecord.guard.test.d.ts +2 -0
  261. package/dist/tests/units/modules/review-execution/entities/job/jobRecord.guard.test.d.ts.map +1 -0
  262. package/dist/tests/units/modules/review-execution/entities/job/jobRecord.guard.test.js +48 -0
  263. package/dist/tests/units/modules/review-execution/entities/job/jobRecord.guard.test.js.map +1 -0
  264. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.test.d.ts +2 -0
  265. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.test.d.ts.map +1 -0
  266. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.test.js +134 -0
  267. package/dist/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.test.js.map +1 -0
  268. package/dist/tests/units/modules/review-execution/usecases/jobHistory/loadRecentJobHistory.usecase.test.d.ts +2 -0
  269. package/dist/tests/units/modules/review-execution/usecases/jobHistory/loadRecentJobHistory.usecase.test.d.ts.map +1 -0
  270. package/dist/tests/units/modules/review-execution/usecases/jobHistory/loadRecentJobHistory.usecase.test.js +38 -0
  271. package/dist/tests/units/modules/review-execution/usecases/jobHistory/loadRecentJobHistory.usecase.test.js.map +1 -0
  272. package/dist/tests/units/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.test.d.ts +2 -0
  273. package/dist/tests/units/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.test.d.ts.map +1 -0
  274. package/dist/tests/units/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.test.js +126 -0
  275. package/dist/tests/units/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.test.js.map +1 -0
  276. package/dist/tests/units/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.test.d.ts +2 -0
  277. package/dist/tests/units/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.test.d.ts.map +1 -0
  278. package/dist/tests/units/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.test.js +42 -0
  279. package/dist/tests/units/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.test.js.map +1 -0
  280. package/dist/tests/units/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.test.js +28 -0
  281. package/dist/tests/units/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.test.js.map +1 -1
  282. package/dist/tests/units/modules/statistics-insights/interface-adapters/presenters/overview.presenter.test.js +39 -0
  283. package/dist/tests/units/modules/statistics-insights/interface-adapters/presenters/overview.presenter.test.js.map +1 -1
  284. package/dist/tests/units/modules/worktree-management/entities/worktree/worktreeHealth.schema.test.d.ts +2 -0
  285. package/dist/tests/units/modules/worktree-management/entities/worktree/worktreeHealth.schema.test.d.ts.map +1 -0
  286. package/dist/tests/units/modules/worktree-management/entities/worktree/worktreeHealth.schema.test.js +50 -0
  287. package/dist/tests/units/modules/worktree-management/entities/worktree/worktreeHealth.schema.test.js.map +1 -0
  288. package/dist/tests/units/modules/worktree-management/interface-adapters/controllers/http/worktreeOverview.routes.test.js +106 -0
  289. package/dist/tests/units/modules/worktree-management/interface-adapters/controllers/http/worktreeOverview.routes.test.js.map +1 -1
  290. package/dist/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.d.ts +2 -0
  291. package/dist/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.d.ts.map +1 -0
  292. package/dist/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.js +114 -0
  293. package/dist/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.js.map +1 -0
  294. package/dist/tests/units/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.test.js +140 -0
  295. package/dist/tests/units/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.test.js.map +1 -1
  296. package/dist/tests/units/modules/worktree-management/services/forceCleanupLock.test.d.ts +2 -0
  297. package/dist/tests/units/modules/worktree-management/services/forceCleanupLock.test.d.ts.map +1 -0
  298. package/dist/tests/units/modules/worktree-management/services/forceCleanupLock.test.js +29 -0
  299. package/dist/tests/units/modules/worktree-management/services/forceCleanupLock.test.js.map +1 -0
  300. package/dist/tests/units/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.test.d.ts +2 -0
  301. package/dist/tests/units/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.test.d.ts.map +1 -0
  302. package/dist/tests/units/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.test.js +124 -0
  303. package/dist/tests/units/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.test.js.map +1 -0
  304. package/dist/tests/units/modules/worktree-management/usecases/removeWorktree.usecase.test.js +27 -0
  305. package/dist/tests/units/modules/worktree-management/usecases/removeWorktree.usecase.test.js.map +1 -1
  306. package/dist/tests/units/services/statsService.summary.test.d.ts +2 -0
  307. package/dist/tests/units/services/statsService.summary.test.d.ts.map +1 -0
  308. package/dist/tests/units/services/statsService.summary.test.js +43 -0
  309. package/dist/tests/units/services/statsService.summary.test.js.map +1 -0
  310. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ import type { Logger } from 'pino';
2
+ import type { JobStatus } from '../../../../frameworks/queue/pQueueAdapter.js';
3
+ import type { JobHistoryGateway } from '../../../../modules/review-execution/entities/job/jobHistory.gateway.js';
4
+ export interface PersistJobRecordDependencies {
5
+ jobHistoryGateway: JobHistoryGateway;
6
+ logger: Logger;
7
+ }
8
+ export interface PersistJobRecordInput {
9
+ jobStatus: JobStatus;
10
+ abortSignalAborted: boolean;
11
+ now: () => Date;
12
+ }
13
+ export declare class PersistJobRecordUseCase {
14
+ private readonly deps;
15
+ constructor(deps: PersistJobRecordDependencies);
16
+ execute(input: PersistJobRecordInput): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=persistJobRecord.usecase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistJobRecord.usecase.d.ts","sourceRoot":"","sources":["../../../../../src/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAC;AAMvG,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAgDD,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,4BAA4B;IAEzD,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAY3D"}
@@ -0,0 +1,58 @@
1
+ const CANCEL_PATTERN = /aborted|cancel|annul/i;
2
+ const TIMEOUT_PATTERN = /timeout/i;
3
+ function mapStatus(jobStatus, abortSignalAborted) {
4
+ if (jobStatus.status === 'completed' && !abortSignalAborted) {
5
+ return 'success';
6
+ }
7
+ const error = jobStatus.error ?? '';
8
+ if (abortSignalAborted || CANCEL_PATTERN.test(error)) {
9
+ return 'killed';
10
+ }
11
+ if (TIMEOUT_PATTERN.test(error)) {
12
+ return 'timeout';
13
+ }
14
+ return 'failed';
15
+ }
16
+ function toIso(date, fallback) {
17
+ if (date) {
18
+ return date.toISOString();
19
+ }
20
+ return fallback.toISOString();
21
+ }
22
+ function buildRecord(input) {
23
+ const { jobStatus, abortSignalAborted, now } = input;
24
+ const completedAtDate = jobStatus.completedAt ?? now();
25
+ const startedAtDate = jobStatus.startedAt ?? completedAtDate;
26
+ const durationMs = Math.max(0, completedAtDate.getTime() - startedAtDate.getTime());
27
+ const status = mapStatus(jobStatus, abortSignalAborted);
28
+ const exitReason = jobStatus.error && jobStatus.error.length > 0 ? jobStatus.error : null;
29
+ return {
30
+ jobId: jobStatus.job.id,
31
+ platform: jobStatus.job.platform,
32
+ projectPath: jobStatus.job.projectPath,
33
+ mergeRequestId: jobStatus.job.mrNumber,
34
+ jobType: jobStatus.job.jobType ?? 'review',
35
+ startedAt: toIso(jobStatus.startedAt, completedAtDate),
36
+ completedAt: toIso(jobStatus.completedAt, now()),
37
+ durationMs,
38
+ status,
39
+ exitReason,
40
+ };
41
+ }
42
+ export class PersistJobRecordUseCase {
43
+ deps;
44
+ constructor(deps) {
45
+ this.deps = deps;
46
+ }
47
+ async execute(input) {
48
+ const record = buildRecord(input);
49
+ try {
50
+ await this.deps.jobHistoryGateway.appendRecord(record);
51
+ }
52
+ catch (error) {
53
+ const reason = error instanceof Error ? error.message : String(error);
54
+ this.deps.logger.warn({ jobId: record.jobId, error: reason }, `Échec persistance job ${record.jobId} : ${reason}`);
55
+ }
56
+ }
57
+ }
58
+ //# sourceMappingURL=persistJobRecord.usecase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistJobRecord.usecase.js","sourceRoot":"","sources":["../../../../../src/modules/review-execution/usecases/jobHistory/persistJobRecord.usecase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Logger } from 'pino';
2
+ import type { JobHistoryGateway, PruneJobHistoryResult } from '../../../../modules/review-execution/entities/job/jobHistory.gateway.js';
3
+ export interface PruneJobHistoryDependencies {
4
+ jobHistoryGateway: JobHistoryGateway;
5
+ logger: Logger;
6
+ }
7
+ export interface PruneJobHistoryInput {
8
+ retentionDays: number;
9
+ now: () => Date;
10
+ }
11
+ export declare class PruneJobHistoryUseCase {
12
+ private readonly deps;
13
+ constructor(deps: PruneJobHistoryDependencies);
14
+ execute(input: PruneJobHistoryInput): Promise<PruneJobHistoryResult>;
15
+ }
16
+ //# sourceMappingURL=pruneJobHistory.usecase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruneJobHistory.usecase.d.ts","sourceRoot":"","sources":["../../../../../src/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,+DAA+D,CAAC;AAEvE,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,2BAA2B;IAExD,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAW3E"}
@@ -0,0 +1,12 @@
1
+ export class PruneJobHistoryUseCase {
2
+ deps;
3
+ constructor(deps) {
4
+ this.deps = deps;
5
+ }
6
+ async execute(input) {
7
+ const result = await this.deps.jobHistoryGateway.deleteRecordsOutsideWindow(input.retentionDays, input.now());
8
+ this.deps.logger.info({ deletedCount: result.deletedFilenames.length }, 'Job history pruned');
9
+ return result;
10
+ }
11
+ }
12
+ //# sourceMappingURL=pruneJobHistory.usecase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruneJobHistory.usecase.js","sourceRoot":"","sources":["../../../../../src/modules/review-execution/usecases/jobHistory/pruneJobHistory.usecase.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,IAAiC;QAAjC,SAAI,GAAJ,IAAI,CAA6B;IAAG,CAAC;IAElE,KAAK,CAAC,OAAO,CAAC,KAA2B;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CACzE,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,GAAG,EAAE,CACZ,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,EAAE,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAChD,oBAAoB,CACrB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -10,6 +10,10 @@ interface OverviewRoutesOptions {
10
10
  statsGateway: StatsGateway;
11
11
  reviewFileGateway: ReviewFileGateway;
12
12
  projectConfigGateway?: ProjectConfigGateway;
13
+ getCapacity?: () => {
14
+ running: number;
15
+ max: number;
16
+ };
13
17
  }
14
18
  export declare const overviewRoutes: FastifyPluginAsync<OverviewRoutesOptions>;
15
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"overview.routes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+DAA+D,CAAC;AAClG,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,kEAAkE,CAAC;AAE1H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6EAA6E,CAAC;AACxH,OAAO,EAEL,KAAK,sBAAsB,EAI5B,MAAM,mFAAmF,CAAC;AAE3F,UAAU,qBAAqB;IAC7B,eAAe,EAAE,MAAM,gBAAgB,EAAE,CAAC;IAC1C,aAAa,EAAE,MAAM,sBAAsB,EAAE,CAAC;IAC9C,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AA2BD,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,qBAAqB,CAqCpE,CAAC"}
1
+ {"version":3,"file":"overview.routes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+DAA+D,CAAC;AAClG,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,kEAAkE,CAAC;AAE1H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6EAA6E,CAAC;AACxH,OAAO,EAEL,KAAK,sBAAsB,EAI5B,MAAM,mFAAmF,CAAC;AAE3F,UAAU,qBAAqB;IAC7B,eAAe,EAAE,MAAM,gBAAgB,EAAE,CAAC;IAC1C,aAAa,EAAE,MAAM,sBAAsB,EAAE,CAAC;IAC9C,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AA2BD,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,qBAAqB,CAuCpE,CAAC"}
@@ -41,12 +41,14 @@ export const overviewRoutes = async (fastify, options) => {
41
41
  recentReviews.push(...reviews);
42
42
  }
43
43
  const projectConfigs = collectProjectConfigs(options.projectConfigGateway, repositories);
44
+ const capacity = options.getCapacity ? options.getCapacity() : { running: 0, max: 0 };
44
45
  return presenter.present({
45
46
  repositories,
46
47
  activeJobs: options.getActiveJobs(),
47
48
  projectStats,
48
49
  recentReviews,
49
50
  projectConfigs,
51
+ capacity,
50
52
  });
51
53
  });
52
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"overview.routes.js","sourceRoot":"","sources":["../../../../../../src/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,iBAAiB,GAKlB,MAAM,mFAAmF,CAAC;AAU3F,SAAS,YAAY,CAAC,KAAmB;IACvC,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAyC,EACzC,YAAgC;IAEhC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,SAAS,GAAiD,EAAE,CAAC;IACnE,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtH,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA8C,KAAK,EAC5E,OAAO,EACP,OAAO,EACP,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/C,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAgC,EAAE,CAAC;QACrD,MAAM,aAAa,GAAqB,EAAE,CAAC;QAE3C,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,IAAI,CAAC;oBAChB,OAAO,EAAE,UAAU,CAAC,IAAI;oBACxB,IAAI,EAAE,UAAU,CAAC,SAAS;oBAC1B,KAAK;oBACL,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAClF,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAEzF,OAAO,SAAS,CAAC,OAAO,CAAC;YACvB,YAAY;YACZ,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE;YACnC,YAAY;YACZ,aAAa;YACb,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"overview.routes.js","sourceRoot":"","sources":["../../../../../../src/modules/statistics-insights/interface-adapters/controllers/http/overview.routes.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,iBAAiB,GAKlB,MAAM,mFAAmF,CAAC;AAW3F,SAAS,YAAY,CAAC,KAAmB;IACvC,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAyC,EACzC,YAAgC;IAEhC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,SAAS,GAAiD,EAAE,CAAC;IACnE,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtH,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA8C,KAAK,EAC5E,OAAO,EACP,OAAO,EACP,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/C,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAgC,EAAE,CAAC;QACrD,MAAM,aAAa,GAAqB,EAAE,CAAC;QAE3C,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,IAAI,CAAC;oBAChB,OAAO,EAAE,UAAU,CAAC,IAAI;oBACxB,IAAI,EAAE,UAAU,CAAC,SAAS;oBAC1B,KAAK;oBACL,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAClF,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAEtF,OAAO,SAAS,CAAC,OAAO,CAAC;YACvB,YAAY;YACZ,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE;YACnC,YAAY;YACZ,aAAa;YACb,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -27,12 +27,17 @@ export interface OverviewActiveJobInput {
27
27
  export interface OverviewProjectConfigSummary {
28
28
  externalLink?: string;
29
29
  }
30
+ export interface OverviewCapacityInput {
31
+ running: number;
32
+ max: number;
33
+ }
30
34
  export interface OverviewPresenterInput {
31
35
  repositories: RepositoryConfig[];
32
36
  activeJobs: OverviewActiveJobInput[];
33
37
  projectStats: OverviewProjectStatsEntry[];
34
38
  recentReviews: ReviewFileInfo[];
35
39
  projectConfigs?: Record<string, OverviewProjectConfigSummary>;
40
+ capacity?: OverviewCapacityInput;
36
41
  }
37
42
  export interface OverviewActiveReviewItem {
38
43
  jobId: string;
@@ -77,10 +82,17 @@ export interface OverviewRecentReviewsFeedSection {
77
82
  isEmpty: boolean;
78
83
  emptyMessage: string;
79
84
  }
85
+ export interface HeaderCapacityViewModel {
86
+ runningCount: number;
87
+ totalCapacity: number;
88
+ label: string;
89
+ isSaturated: boolean;
90
+ }
80
91
  export interface OverviewViewModel {
81
92
  activeReviews: OverviewActiveReviewsSection;
82
93
  projectCards: OverviewProjectCardsSection;
83
94
  recentReviewsFeed: OverviewRecentReviewsFeedSection;
95
+ headerCapacity: HeaderCapacityViewModel;
84
96
  }
85
97
  export interface OverviewPresenterDependencies {
86
98
  now?: () => Date;
@@ -1 +1 @@
1
- {"version":3,"file":"overview.presenter.d.ts","sourceRoot":"","sources":["../../../../../src/modules/statistics-insights/interface-adapters/presenters/overview.presenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overview.presenter.d.ts","sourceRoot":"","sources":["../../../../../src/modules/statistics-insights/interface-adapters/presenters/overview.presenter.ts"],"names":[],"mappings":"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"}
@@ -123,6 +123,13 @@ export class OverviewPresenter {
123
123
  .sort((left, right) => right.mtime.localeCompare(left.mtime))
124
124
  .slice(0, RECENT_FEED_MAX_ITEMS)
125
125
  .map((review) => buildRecentReviewItem(review, input.repositories));
126
+ const capacity = input.capacity ?? { running: 0, max: 0 };
127
+ const headerCapacity = {
128
+ runningCount: capacity.running,
129
+ totalCapacity: capacity.max,
130
+ label: `${capacity.running} / ${capacity.max}`,
131
+ isSaturated: capacity.max > 0 && capacity.running >= capacity.max,
132
+ };
126
133
  return {
127
134
  activeReviews: {
128
135
  items: activeItems,
@@ -139,6 +146,7 @@ export class OverviewPresenter {
139
146
  isEmpty: recentItems.length === 0,
140
147
  emptyMessage: 'Aucune review récente',
141
148
  },
149
+ headerCapacity,
142
150
  };
143
151
  }
144
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"overview.presenter.js","sourceRoot":"","sources":["../../../../../src/modules/statistics-insights/interface-adapters/presenters/overview.presenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overview.presenter.js","sourceRoot":"","sources":["../../../../../src/modules/statistics-insights/interface-adapters/presenters/overview.presenter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Logger } from 'pino';
2
+ import type { DiffStats } from '../../../modules/shared-kernel/entities/diffStats/diffStats.js';
3
+ import type { DiffStatsFetchGateway } from '../../../modules/shared-kernel/entities/diffStats/diffStatsFetch.gateway.js';
4
+ export declare function fetchDiffStatsSafely(gateway: DiffStatsFetchGateway, projectPath: string, mergeRequestNumber: number, logger: Logger): DiffStats | null;
5
+ //# sourceMappingURL=fetchDiffStatsSafely.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchDiffStatsSafely.d.ts","sourceRoot":"","sources":["../../../../src/modules/statistics-insights/services/fetchDiffStatsSafely.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sEAAsE,CAAC;AAElH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,GACb,SAAS,GAAG,IAAI,CAOlB"}
@@ -0,0 +1,10 @@
1
+ export function fetchDiffStatsSafely(gateway, projectPath, mergeRequestNumber, logger) {
2
+ try {
3
+ return gateway.fetchDiffStats(projectPath, mergeRequestNumber);
4
+ }
5
+ catch (error) {
6
+ logger.warn({ projectPath, mergeRequestNumber, error }, 'Failed to fetch diff stats');
7
+ return null;
8
+ }
9
+ }
10
+ //# sourceMappingURL=fetchDiffStatsSafely.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchDiffStatsSafely.js","sourceRoot":"","sources":["../../../../src/modules/statistics-insights/services/fetchDiffStatsSafely.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,oBAAoB,CAClC,OAA8B,EAC9B,WAAmB,EACnB,kBAA0B,EAC1B,MAAc;IAEd,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -44,6 +44,11 @@ export declare function getStatsSummary(stats: ProjectStats): {
44
44
  averageScore: string;
45
45
  totalBlocking: number;
46
46
  totalWarnings: number;
47
+ totalAdditions: number;
48
+ totalDeletions: number;
49
+ averageAdditions: string;
50
+ averageDeletions: string;
51
+ totalLinesReviewed: number;
47
52
  trend: {
48
53
  score: 'up' | 'down' | 'stable';
49
54
  blocking: 'up' | 'down' | 'stable';
@@ -1 +1 @@
1
- {"version":3,"file":"statsService.d.ts","sourceRoot":"","sources":["../../../../src/modules/statistics-insights/services/statsService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAC9G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AAEzF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAsB1C;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAuBlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAW/E;AAsBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CA2FA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,GAC3B,WAAW,CA8Bb;AAyCD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE;QAAE,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;QAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;CAChF,CAyCA"}
1
+ {"version":3,"file":"statsService.d.ts","sourceRoot":"","sources":["../../../../src/modules/statistics-insights/services/statsService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAC9G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yDAAyD,CAAC;AAEzF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAsB1C;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAuBlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAW/E;AAsBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CA2FA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,GAC3B,WAAW,CA8Bb;AAyCD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE;QAAE,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;QAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;CAChF,CA8CA"}
@@ -268,6 +268,11 @@ export function getStatsSummary(stats) {
268
268
  averageScore: stats.averageScore !== null ? stats.averageScore.toFixed(1) : '-',
269
269
  totalBlocking: stats.totalBlocking,
270
270
  totalWarnings: stats.totalWarnings,
271
+ totalAdditions: stats.totalAdditions,
272
+ totalDeletions: stats.totalDeletions,
273
+ averageAdditions: stats.averageAdditions !== null ? stats.averageAdditions.toFixed(1) : '-',
274
+ averageDeletions: stats.averageDeletions !== null ? stats.averageDeletions.toFixed(1) : '-',
275
+ totalLinesReviewed: stats.totalAdditions + stats.totalDeletions,
271
276
  trend: { score: scoreTrend, blocking: blockingTrend },
272
277
  };
273
278
  }
@@ -1 +1 @@
1
- {"version":3,"file":"statsService.js","sourceRoot":"","sources":["../../../../src/modules/statistics-insights/services/statsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statsService.js","sourceRoot":"","sources":["../../../../src/modules/statistics-insights/services/statsService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type GitCommandKind = 'fetch' | 'worktree-add' | 'worktree-remove' | 'worktree-prune' | 'reset-hard' | 'rev-parse-toplevel';
1
+ export type GitCommandKind = 'fetch' | 'worktree-add' | 'worktree-remove' | 'worktree-prune' | 'reset-hard' | 'rev-parse-toplevel' | 'status-porcelain';
2
2
  export interface GitCommand {
3
3
  kind: GitCommandKind;
4
4
  args: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"gitCommand.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/worktree-management/entities/gitCommand/gitCommand.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,oBAAoB,CAAC;AAEzB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACzD"}
1
+ {"version":3,"file":"gitCommand.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/worktree-management/entities/gitCommand/gitCommand.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACzD"}
@@ -8,6 +8,7 @@ export interface EnsureWorktreeRequest {
8
8
  export interface RemoveWorktreeRequest {
9
9
  identity: WorktreeIdentity;
10
10
  sourceCheckoutPath: string;
11
+ force?: boolean;
11
12
  }
12
13
  export interface WorktreeGateway {
13
14
  ensure(request: EnsureWorktreeRequest): Promise<EnsureResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/worktree-management/entities/worktree/worktree.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,gBAAgB,EACjB,MAAM,oEAAoE,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"worktree.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/worktree-management/entities/worktree/worktree.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,gBAAgB,EACjB,MAAM,oEAAoE,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD"}
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+ import type { WorktreeEntry } from '../../../../modules/worktree-management/entities/worktree/worktree.schema.js';
3
+ export declare const degradedReasonSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ kind: z.ZodLiteral<"stale">;
5
+ ageMs: z.ZodNumber;
6
+ thresholdMs: z.ZodNumber;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ kind: z.ZodLiteral<"orphan-git-lock">;
9
+ lockPath: z.ZodString;
10
+ lockAgeMs: z.ZodNumber;
11
+ }, z.core.$strip>, z.ZodObject<{
12
+ kind: z.ZodLiteral<"unresolved-conflict">;
13
+ }, z.core.$strip>, z.ZodObject<{
14
+ kind: z.ZodLiteral<"missing-build-artifacts">;
15
+ expectedPath: z.ZodString;
16
+ }, z.core.$strip>], "kind">;
17
+ export type DegradedReason = z.infer<typeof degradedReasonSchema>;
18
+ export type DegradedReasonKind = DegradedReason['kind'];
19
+ export declare const worktreeHealthSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
20
+ status: z.ZodLiteral<"healthy">;
21
+ }, z.core.$strip>, z.ZodObject<{
22
+ status: z.ZodLiteral<"degraded">;
23
+ reason: z.ZodDiscriminatedUnion<[z.ZodObject<{
24
+ kind: z.ZodLiteral<"stale">;
25
+ ageMs: z.ZodNumber;
26
+ thresholdMs: z.ZodNumber;
27
+ }, z.core.$strip>, z.ZodObject<{
28
+ kind: z.ZodLiteral<"orphan-git-lock">;
29
+ lockPath: z.ZodString;
30
+ lockAgeMs: z.ZodNumber;
31
+ }, z.core.$strip>, z.ZodObject<{
32
+ kind: z.ZodLiteral<"unresolved-conflict">;
33
+ }, z.core.$strip>, z.ZodObject<{
34
+ kind: z.ZodLiteral<"missing-build-artifacts">;
35
+ expectedPath: z.ZodString;
36
+ }, z.core.$strip>], "kind">;
37
+ detectedAt: z.ZodDate;
38
+ }, z.core.$strip>], "status">;
39
+ export type WorktreeHealth = z.infer<typeof worktreeHealthSchema>;
40
+ export interface WorktreeHealthReport {
41
+ entry: WorktreeEntry;
42
+ health: WorktreeHealth;
43
+ }
44
+ //# sourceMappingURL=worktreeHealth.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktreeHealth.schema.d.ts","sourceRoot":"","sources":["../../../../../src/modules/worktree-management/entities/worktree/worktreeHealth.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;AAExG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;2BAkB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;6BAS/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;CACxB"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export const degradedReasonSchema = z.discriminatedUnion('kind', [
3
+ z.object({
4
+ kind: z.literal('stale'),
5
+ ageMs: z.number().int().nonnegative(),
6
+ thresholdMs: z.number().int().positive(),
7
+ }),
8
+ z.object({
9
+ kind: z.literal('orphan-git-lock'),
10
+ lockPath: z.string().min(1),
11
+ lockAgeMs: z.number().int().nonnegative(),
12
+ }),
13
+ z.object({
14
+ kind: z.literal('unresolved-conflict'),
15
+ }),
16
+ z.object({
17
+ kind: z.literal('missing-build-artifacts'),
18
+ expectedPath: z.string().min(1),
19
+ }),
20
+ ]);
21
+ export const worktreeHealthSchema = z.discriminatedUnion('status', [
22
+ z.object({
23
+ status: z.literal('healthy'),
24
+ }),
25
+ z.object({
26
+ status: z.literal('degraded'),
27
+ reason: degradedReasonSchema,
28
+ detectedAt: z.date(),
29
+ }),
30
+ ]);
31
+ //# sourceMappingURL=worktreeHealth.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktreeHealth.schema.js","sourceRoot":"","sources":["../../../../../src/modules/worktree-management/entities/worktree/worktreeHealth.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACzC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KAC1C,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;KACvC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;QAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAChC,CAAC;CACH,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACjE,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;KAC7B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC7B,MAAM,EAAE,oBAAoB;QAC5B,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;KACrB,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { WorktreeEntry } from '../../../../modules/worktree-management/entities/worktree/worktree.schema.js';
2
+ export interface OrphanLockSignal {
3
+ present: boolean;
4
+ path: string;
5
+ ageMs: number;
6
+ }
7
+ export interface MissingArtifactsSignal {
8
+ missing: boolean;
9
+ expectedPath: string;
10
+ }
11
+ export interface HealthSignals {
12
+ mtime: Date;
13
+ orphanLock: OrphanLockSignal | null;
14
+ unresolvedConflict: boolean;
15
+ missingBuildArtifacts: MissingArtifactsSignal;
16
+ }
17
+ export interface WorktreeHealthProbeGateway {
18
+ probe(entry: WorktreeEntry): Promise<HealthSignals>;
19
+ }
20
+ //# sourceMappingURL=worktreeHealthProbe.gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktreeHealthProbe.gateway.d.ts","sourceRoot":"","sources":["../../../../../src/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;AAExG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,sBAAsB,CAAC;CAC/C;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=worktreeHealthProbe.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktreeHealthProbe.gateway.js","sourceRoot":"","sources":["../../../../../src/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.ts"],"names":[],"mappings":""}
@@ -4,6 +4,9 @@ import type { WorktreeGateway } from '../../../../../modules/worktree-management
4
4
  import type { WorktreePanelPresenter } from '../../../../../modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.js';
5
5
  import type { LastSweepSummary } from '../../../../../modules/worktree-management/entities/sweep/lastSweepSummary.schema.js';
6
6
  import type { RunSweepNowResult } from '../../../../../modules/worktree-management/entities/sweep/runSweepResult.js';
7
+ import type { RemoveResult, WorktreeEntry, WorktreeIdentity } from '../../../../../modules/worktree-management/entities/worktree/worktree.schema.js';
8
+ import type { WorktreeHealthReport } from '../../../../../modules/worktree-management/entities/worktree/worktreeHealth.schema.js';
9
+ import type { ForceCleanupLockService } from '../../../../../modules/worktree-management/services/forceCleanupLock.js';
7
10
  export interface WorktreeSchedulerControls {
8
11
  getLastSweep: () => LastSweepSummary | null;
9
12
  getNextSweepEta: () => Date;
@@ -14,6 +17,9 @@ export interface WorktreeOverviewRoutesOptions {
14
17
  presenter: WorktreePanelPresenter;
15
18
  schedulerControls: WorktreeSchedulerControls | null;
16
19
  logger: Logger;
20
+ detectDegradedWorktrees?: (entries: WorktreeEntry[]) => Promise<WorktreeHealthReport[]>;
21
+ forceCleanupLock?: ForceCleanupLockService;
22
+ removeWorktreeForCleanup?: (identity: WorktreeIdentity) => Promise<RemoveResult>;
17
23
  }
18
24
  export declare const worktreeOverviewRoutes: FastifyPluginAsync<WorktreeOverviewRoutesOptions>;
19
25
  //# sourceMappingURL=worktreeOverview.routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktreeOverview.routes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/worktree-management/interface-adapters/controllers/http/worktreeOverview.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wFAAwF,CAAC;AACrI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yEAAyE,CAAC;AAChH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AAExG,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAC5C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,sBAAsB,CAAC;IAClC,iBAAiB,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,6BAA6B,CA4CpF,CAAC"}
1
+ {"version":3,"file":"worktreeOverview.routes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/worktree-management/interface-adapters/controllers/http/worktreeOverview.routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wFAAwF,CAAC;AACrI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yEAAyE,CAAC;AAChH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AACxG,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EACjB,MAAM,oEAAoE,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0EAA0E,CAAC;AACrH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AAE1G,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAC5C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,sBAAsB,CAAC;IAClC,iBAAiB,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACxF,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CAClF;AAYD,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,6BAA6B,CAiGpF,CAAC"}