reviewflow 3.7.0 → 3.8.1

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 (290) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +28 -0
  3. package/dist/entities/insight/aiInsight.d.ts +6 -0
  4. package/dist/entities/insight/aiInsight.d.ts.map +1 -0
  5. package/dist/entities/insight/aiInsight.js +2 -0
  6. package/dist/entities/insight/aiInsight.js.map +1 -0
  7. package/dist/entities/insight/aiInsight.schema.d.ts +55 -0
  8. package/dist/entities/insight/aiInsight.schema.d.ts.map +1 -0
  9. package/dist/entities/insight/aiInsight.schema.js +25 -0
  10. package/dist/entities/insight/aiInsight.schema.js.map +1 -0
  11. package/dist/entities/insight/developerInsight.d.ts +8 -0
  12. package/dist/entities/insight/developerInsight.d.ts.map +1 -0
  13. package/dist/entities/insight/developerInsight.guard.d.ts +221 -0
  14. package/dist/entities/insight/developerInsight.guard.d.ts.map +1 -0
  15. package/dist/entities/insight/developerInsight.guard.js +13 -0
  16. package/dist/entities/insight/developerInsight.guard.js.map +1 -0
  17. package/dist/entities/insight/developerInsight.js +2 -0
  18. package/dist/entities/insight/developerInsight.js.map +1 -0
  19. package/dist/entities/insight/developerInsight.schema.d.ts +157 -0
  20. package/dist/entities/insight/developerInsight.schema.d.ts.map +1 -0
  21. package/dist/entities/insight/developerInsight.schema.js +43 -0
  22. package/dist/entities/insight/developerInsight.schema.js.map +1 -0
  23. package/dist/entities/insight/developerTitle.d.ts +12 -0
  24. package/dist/entities/insight/developerTitle.d.ts.map +1 -0
  25. package/dist/entities/insight/developerTitle.js +11 -0
  26. package/dist/entities/insight/developerTitle.js.map +1 -0
  27. package/dist/entities/insight/insightCategory.d.ts +10 -0
  28. package/dist/entities/insight/insightCategory.d.ts.map +1 -0
  29. package/dist/entities/insight/insightCategory.js +4 -0
  30. package/dist/entities/insight/insightCategory.js.map +1 -0
  31. package/dist/entities/insight/insightTrend.d.ts +9 -0
  32. package/dist/entities/insight/insightTrend.d.ts.map +1 -0
  33. package/dist/entities/insight/insightTrend.js +4 -0
  34. package/dist/entities/insight/insightTrend.js.map +1 -0
  35. package/dist/entities/insight/insights.gateway.d.ts +6 -0
  36. package/dist/entities/insight/insights.gateway.d.ts.map +1 -0
  37. package/dist/entities/insight/insights.gateway.js +2 -0
  38. package/dist/entities/insight/insights.gateway.js.map +1 -0
  39. package/dist/entities/insight/persistedInsightsData.d.ts +5 -0
  40. package/dist/entities/insight/persistedInsightsData.d.ts.map +1 -0
  41. package/dist/entities/insight/persistedInsightsData.guard.d.ts +271 -0
  42. package/dist/entities/insight/persistedInsightsData.guard.d.ts.map +1 -0
  43. package/dist/entities/insight/persistedInsightsData.guard.js +13 -0
  44. package/dist/entities/insight/persistedInsightsData.guard.js.map +1 -0
  45. package/dist/entities/insight/persistedInsightsData.js +2 -0
  46. package/dist/entities/insight/persistedInsightsData.js.map +1 -0
  47. package/dist/entities/insight/persistedInsightsData.schema.d.ts +84 -0
  48. package/dist/entities/insight/persistedInsightsData.schema.d.ts.map +1 -0
  49. package/dist/entities/insight/persistedInsightsData.schema.js +40 -0
  50. package/dist/entities/insight/persistedInsightsData.schema.js.map +1 -0
  51. package/dist/entities/insight/teamInsight.d.ts +5 -0
  52. package/dist/entities/insight/teamInsight.d.ts.map +1 -0
  53. package/dist/entities/insight/teamInsight.guard.d.ts +71 -0
  54. package/dist/entities/insight/teamInsight.guard.d.ts.map +1 -0
  55. package/dist/entities/insight/teamInsight.guard.js +13 -0
  56. package/dist/entities/insight/teamInsight.guard.js.map +1 -0
  57. package/dist/entities/insight/teamInsight.js +2 -0
  58. package/dist/entities/insight/teamInsight.js.map +1 -0
  59. package/dist/entities/insight/teamInsight.schema.d.ts +31 -0
  60. package/dist/entities/insight/teamInsight.schema.d.ts.map +1 -0
  61. package/dist/entities/insight/teamInsight.schema.js +17 -0
  62. package/dist/entities/insight/teamInsight.schema.js.map +1 -0
  63. package/dist/entities/packageVersion/packageVersion.d.ts +3 -0
  64. package/dist/entities/packageVersion/packageVersion.d.ts.map +1 -1
  65. package/dist/entities/packageVersion/selfUpdateCommand.gateway.d.ts +2 -1
  66. package/dist/entities/packageVersion/selfUpdateCommand.gateway.d.ts.map +1 -1
  67. package/dist/entities/review/reviewFile.gateway.d.ts +18 -0
  68. package/dist/entities/review/reviewFile.gateway.d.ts.map +1 -0
  69. package/dist/entities/review/reviewFile.gateway.js +2 -0
  70. package/dist/entities/review/reviewFile.gateway.js.map +1 -0
  71. package/dist/entities/stats/projectStats.d.ts +3 -0
  72. package/dist/entities/stats/projectStats.d.ts.map +1 -1
  73. package/dist/entities/tracking/reviewRequestTracking.gateway.d.ts +19 -0
  74. package/dist/entities/tracking/reviewRequestTracking.gateway.d.ts.map +1 -0
  75. package/dist/entities/tracking/reviewRequestTracking.gateway.js +2 -0
  76. package/dist/entities/tracking/reviewRequestTracking.gateway.js.map +1 -0
  77. package/dist/frameworks/claude/claudeInsightsInvoker.d.ts +3 -0
  78. package/dist/frameworks/claude/claudeInsightsInvoker.d.ts.map +1 -0
  79. package/dist/frameworks/claude/claudeInsightsInvoker.js +58 -0
  80. package/dist/frameworks/claude/claudeInsightsInvoker.js.map +1 -0
  81. package/dist/interface-adapters/controllers/http/insights.routes.d.ts +20 -0
  82. package/dist/interface-adapters/controllers/http/insights.routes.d.ts.map +1 -0
  83. package/dist/interface-adapters/controllers/http/insights.routes.js +73 -0
  84. package/dist/interface-adapters/controllers/http/insights.routes.js.map +1 -0
  85. package/dist/interface-adapters/controllers/http/settings.routes.d.ts.map +1 -1
  86. package/dist/interface-adapters/controllers/http/settings.routes.js +3 -0
  87. package/dist/interface-adapters/controllers/http/settings.routes.js.map +1 -1
  88. package/dist/interface-adapters/controllers/http/version.routes.d.ts +1 -0
  89. package/dist/interface-adapters/controllers/http/version.routes.d.ts.map +1 -1
  90. package/dist/interface-adapters/controllers/http/version.routes.js +4 -1
  91. package/dist/interface-adapters/controllers/http/version.routes.js.map +1 -1
  92. package/dist/interface-adapters/gateways/fileSystem/insights.fileSystem.d.ts +7 -0
  93. package/dist/interface-adapters/gateways/fileSystem/insights.fileSystem.d.ts.map +1 -0
  94. package/dist/interface-adapters/gateways/fileSystem/insights.fileSystem.js +33 -0
  95. package/dist/interface-adapters/gateways/fileSystem/insights.fileSystem.js.map +1 -0
  96. package/dist/interface-adapters/gateways/reviewFile.gateway.d.ts +1 -17
  97. package/dist/interface-adapters/gateways/reviewFile.gateway.d.ts.map +1 -1
  98. package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.d.ts +1 -18
  99. package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.d.ts.map +1 -1
  100. package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.d.ts +3 -2
  101. package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.d.ts.map +1 -1
  102. package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.js +29 -15
  103. package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.js.map +1 -1
  104. package/dist/interface-adapters/presenters/insights.presenter.d.ts +41 -0
  105. package/dist/interface-adapters/presenters/insights.presenter.d.ts.map +1 -0
  106. package/dist/interface-adapters/presenters/insights.presenter.js +36 -0
  107. package/dist/interface-adapters/presenters/insights.presenter.js.map +1 -0
  108. package/dist/interface-adapters/views/dashboard/index.html +242 -2
  109. package/dist/interface-adapters/views/dashboard/modules/developerSheet.d.ts +14 -0
  110. package/dist/interface-adapters/views/dashboard/modules/developerSheet.d.ts.map +1 -0
  111. package/dist/interface-adapters/views/dashboard/modules/developerSheet.js +359 -0
  112. package/dist/interface-adapters/views/dashboard/modules/developerSheet.js.map +1 -0
  113. package/dist/interface-adapters/views/dashboard/modules/i18n.d.ts.map +1 -1
  114. package/dist/interface-adapters/views/dashboard/modules/i18n.js +201 -1
  115. package/dist/interface-adapters/views/dashboard/modules/i18n.js.map +1 -1
  116. package/dist/interface-adapters/views/dashboard/modules/insightsReport.d.ts +7 -0
  117. package/dist/interface-adapters/views/dashboard/modules/insightsReport.d.ts.map +1 -0
  118. package/dist/interface-adapters/views/dashboard/modules/insightsReport.js +509 -0
  119. package/dist/interface-adapters/views/dashboard/modules/insightsReport.js.map +1 -0
  120. package/dist/interface-adapters/views/dashboard/modules/sharedViewHelpers.d.ts +40 -0
  121. package/dist/interface-adapters/views/dashboard/modules/sharedViewHelpers.d.ts.map +1 -0
  122. package/dist/interface-adapters/views/dashboard/modules/sharedViewHelpers.js +106 -0
  123. package/dist/interface-adapters/views/dashboard/modules/sharedViewHelpers.js.map +1 -0
  124. package/dist/interface-adapters/views/dashboard/modules/teamTab.d.ts +13 -0
  125. package/dist/interface-adapters/views/dashboard/modules/teamTab.d.ts.map +1 -0
  126. package/dist/interface-adapters/views/dashboard/modules/teamTab.js +296 -0
  127. package/dist/interface-adapters/views/dashboard/modules/teamTab.js.map +1 -0
  128. package/dist/interface-adapters/views/dashboard/styles.css +967 -0
  129. package/dist/main/dependencies.d.ts +2 -0
  130. package/dist/main/dependencies.d.ts.map +1 -1
  131. package/dist/main/dependencies.js +2 -0
  132. package/dist/main/dependencies.js.map +1 -1
  133. package/dist/main/routes.d.ts.map +1 -1
  134. package/dist/main/routes.js +13 -0
  135. package/dist/main/routes.js.map +1 -1
  136. package/dist/services/statsService.d.ts.map +1 -1
  137. package/dist/services/statsService.js +46 -27
  138. package/dist/services/statsService.js.map +1 -1
  139. package/dist/tests/factories/developerInsight.factory.d.ts +6 -0
  140. package/dist/tests/factories/developerInsight.factory.d.ts.map +1 -0
  141. package/dist/tests/factories/developerInsight.factory.js +61 -0
  142. package/dist/tests/factories/developerInsight.factory.js.map +1 -0
  143. package/dist/tests/factories/persistedInsightsData.factory.d.ts +11 -0
  144. package/dist/tests/factories/persistedInsightsData.factory.d.ts.map +1 -0
  145. package/dist/tests/factories/persistedInsightsData.factory.js +41 -0
  146. package/dist/tests/factories/persistedInsightsData.factory.js.map +1 -0
  147. package/dist/tests/factories/teamInsight.factory.d.ts +6 -0
  148. package/dist/tests/factories/teamInsight.factory.d.ts.map +1 -0
  149. package/dist/tests/factories/teamInsight.factory.js +35 -0
  150. package/dist/tests/factories/teamInsight.factory.js.map +1 -0
  151. package/dist/tests/stubs/insights.stub.d.ts +9 -0
  152. package/dist/tests/stubs/insights.stub.d.ts.map +1 -0
  153. package/dist/tests/stubs/insights.stub.js +13 -0
  154. package/dist/tests/stubs/insights.stub.js.map +1 -0
  155. package/dist/tests/stubs/reviewFile.stub.d.ts +1 -1
  156. package/dist/tests/stubs/reviewFile.stub.d.ts.map +1 -1
  157. package/dist/tests/stubs/reviewRequestTracking.stub.d.ts +1 -1
  158. package/dist/tests/stubs/reviewRequestTracking.stub.d.ts.map +1 -1
  159. package/dist/tests/stubs/selfUpdate.stub.d.ts +4 -2
  160. package/dist/tests/stubs/selfUpdate.stub.d.ts.map +1 -1
  161. package/dist/tests/stubs/selfUpdate.stub.js +6 -4
  162. package/dist/tests/stubs/selfUpdate.stub.js.map +1 -1
  163. package/dist/tests/units/entities/insight/aiInsight.schema.test.d.ts +2 -0
  164. package/dist/tests/units/entities/insight/aiInsight.schema.test.d.ts.map +1 -0
  165. package/dist/tests/units/entities/insight/aiInsight.schema.test.js +123 -0
  166. package/dist/tests/units/entities/insight/aiInsight.schema.test.js.map +1 -0
  167. package/dist/tests/units/entities/insight/developerInsight.schema.test.d.ts +2 -0
  168. package/dist/tests/units/entities/insight/developerInsight.schema.test.d.ts.map +1 -0
  169. package/dist/tests/units/entities/insight/developerInsight.schema.test.js +140 -0
  170. package/dist/tests/units/entities/insight/developerInsight.schema.test.js.map +1 -0
  171. package/dist/tests/units/entities/insight/developerTitle.test.d.ts +2 -0
  172. package/dist/tests/units/entities/insight/developerTitle.test.d.ts.map +1 -0
  173. package/dist/tests/units/entities/insight/developerTitle.test.js +23 -0
  174. package/dist/tests/units/entities/insight/developerTitle.test.js.map +1 -0
  175. package/dist/tests/units/entities/insight/insightCategory.test.d.ts +2 -0
  176. package/dist/tests/units/entities/insight/insightCategory.test.d.ts.map +1 -0
  177. package/dist/tests/units/entities/insight/insightCategory.test.js +16 -0
  178. package/dist/tests/units/entities/insight/insightCategory.test.js.map +1 -0
  179. package/dist/tests/units/entities/insight/insightTrend.test.d.ts +2 -0
  180. package/dist/tests/units/entities/insight/insightTrend.test.d.ts.map +1 -0
  181. package/dist/tests/units/entities/insight/insightTrend.test.js +16 -0
  182. package/dist/tests/units/entities/insight/insightTrend.test.js.map +1 -0
  183. package/dist/tests/units/entities/insight/persistedInsightsData.schema.test.d.ts +2 -0
  184. package/dist/tests/units/entities/insight/persistedInsightsData.schema.test.d.ts.map +1 -0
  185. package/dist/tests/units/entities/insight/persistedInsightsData.schema.test.js +160 -0
  186. package/dist/tests/units/entities/insight/persistedInsightsData.schema.test.js.map +1 -0
  187. package/dist/tests/units/entities/insight/teamInsight.schema.test.d.ts +2 -0
  188. package/dist/tests/units/entities/insight/teamInsight.schema.test.d.ts.map +1 -0
  189. package/dist/tests/units/entities/insight/teamInsight.schema.test.js +57 -0
  190. package/dist/tests/units/entities/insight/teamInsight.schema.test.js.map +1 -0
  191. package/dist/tests/units/interface-adapters/controllers/http/insights.routes.test.d.ts +2 -0
  192. package/dist/tests/units/interface-adapters/controllers/http/insights.routes.test.d.ts.map +1 -0
  193. package/dist/tests/units/interface-adapters/controllers/http/insights.routes.test.js +390 -0
  194. package/dist/tests/units/interface-adapters/controllers/http/insights.routes.test.js.map +1 -0
  195. package/dist/tests/units/interface-adapters/controllers/http/settings.routes.test.d.ts +2 -0
  196. package/dist/tests/units/interface-adapters/controllers/http/settings.routes.test.d.ts.map +1 -0
  197. package/dist/tests/units/interface-adapters/controllers/http/settings.routes.test.js +25 -0
  198. package/dist/tests/units/interface-adapters/controllers/http/settings.routes.test.js.map +1 -0
  199. package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.js +25 -0
  200. package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.js.map +1 -1
  201. package/dist/tests/units/interface-adapters/gateways/insights.gateway.test.d.ts +2 -0
  202. package/dist/tests/units/interface-adapters/gateways/insights.gateway.test.d.ts.map +1 -0
  203. package/dist/tests/units/interface-adapters/gateways/insights.gateway.test.js +117 -0
  204. package/dist/tests/units/interface-adapters/gateways/insights.gateway.test.js.map +1 -0
  205. package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.js +84 -16
  206. package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.js.map +1 -1
  207. package/dist/tests/units/interface-adapters/presenters/insights.presenter.test.d.ts +2 -0
  208. package/dist/tests/units/interface-adapters/presenters/insights.presenter.test.d.ts.map +1 -0
  209. package/dist/tests/units/interface-adapters/presenters/insights.presenter.test.js +194 -0
  210. package/dist/tests/units/interface-adapters/presenters/insights.presenter.test.js.map +1 -0
  211. package/dist/tests/units/interface-adapters/views/dashboard/modules/developerSheet.test.d.ts +2 -0
  212. package/dist/tests/units/interface-adapters/views/dashboard/modules/developerSheet.test.d.ts.map +1 -0
  213. package/dist/tests/units/interface-adapters/views/dashboard/modules/developerSheet.test.js +224 -0
  214. package/dist/tests/units/interface-adapters/views/dashboard/modules/developerSheet.test.js.map +1 -0
  215. package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.js +29 -0
  216. package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.js.map +1 -1
  217. package/dist/tests/units/interface-adapters/views/dashboard/modules/insightsReport.test.d.ts +2 -0
  218. package/dist/tests/units/interface-adapters/views/dashboard/modules/insightsReport.test.d.ts.map +1 -0
  219. package/dist/tests/units/interface-adapters/views/dashboard/modules/insightsReport.test.js +326 -0
  220. package/dist/tests/units/interface-adapters/views/dashboard/modules/insightsReport.test.js.map +1 -0
  221. package/dist/tests/units/interface-adapters/views/dashboard/modules/teamTab.test.d.ts +2 -0
  222. package/dist/tests/units/interface-adapters/views/dashboard/modules/teamTab.test.d.ts.map +1 -0
  223. package/dist/tests/units/interface-adapters/views/dashboard/modules/teamTab.test.js +336 -0
  224. package/dist/tests/units/interface-adapters/views/dashboard/modules/teamTab.test.js.map +1 -0
  225. package/dist/tests/units/services/statsService.addReview.test.d.ts +2 -0
  226. package/dist/tests/units/services/statsService.addReview.test.d.ts.map +1 -0
  227. package/dist/tests/units/services/statsService.addReview.test.js +103 -0
  228. package/dist/tests/units/services/statsService.addReview.test.js.map +1 -0
  229. package/dist/tests/units/usecases/insights/buildAiInsightsPrompt.test.d.ts +2 -0
  230. package/dist/tests/units/usecases/insights/buildAiInsightsPrompt.test.d.ts.map +1 -0
  231. package/dist/tests/units/usecases/insights/buildAiInsightsPrompt.test.js +172 -0
  232. package/dist/tests/units/usecases/insights/buildAiInsightsPrompt.test.js.map +1 -0
  233. package/dist/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.d.ts +2 -0
  234. package/dist/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.d.ts.map +1 -0
  235. package/dist/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.js +449 -0
  236. package/dist/tests/units/usecases/insights/computeDeveloperInsights.usecase.test.js.map +1 -0
  237. package/dist/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.d.ts +2 -0
  238. package/dist/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.d.ts.map +1 -0
  239. package/dist/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.js +326 -0
  240. package/dist/tests/units/usecases/insights/computeInsightsWithPersistence.usecase.test.js.map +1 -0
  241. package/dist/tests/units/usecases/insights/computeTeamInsights.usecase.test.d.ts +2 -0
  242. package/dist/tests/units/usecases/insights/computeTeamInsights.usecase.test.d.ts.map +1 -0
  243. package/dist/tests/units/usecases/insights/computeTeamInsights.usecase.test.js +172 -0
  244. package/dist/tests/units/usecases/insights/computeTeamInsights.usecase.test.js.map +1 -0
  245. package/dist/tests/units/usecases/insights/generateAiInsights.usecase.test.d.ts +2 -0
  246. package/dist/tests/units/usecases/insights/generateAiInsights.usecase.test.d.ts.map +1 -0
  247. package/dist/tests/units/usecases/insights/generateAiInsights.usecase.test.js +253 -0
  248. package/dist/tests/units/usecases/insights/generateAiInsights.usecase.test.js.map +1 -0
  249. package/dist/tests/units/usecases/insights/getInsightsWithAiStatus.usecase.test.d.ts +2 -0
  250. package/dist/tests/units/usecases/insights/getInsightsWithAiStatus.usecase.test.d.ts.map +1 -0
  251. package/dist/tests/units/usecases/insights/getInsightsWithAiStatus.usecase.test.js +160 -0
  252. package/dist/tests/units/usecases/insights/getInsightsWithAiStatus.usecase.test.js.map +1 -0
  253. package/dist/tests/units/usecases/insights/insightLevelComputation.service.test.d.ts +2 -0
  254. package/dist/tests/units/usecases/insights/insightLevelComputation.service.test.d.ts.map +1 -0
  255. package/dist/tests/units/usecases/insights/insightLevelComputation.service.test.js +125 -0
  256. package/dist/tests/units/usecases/insights/insightLevelComputation.service.test.js.map +1 -0
  257. package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.js +5 -0
  258. package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.js.map +1 -1
  259. package/dist/usecases/insights/buildAiInsightsPrompt.d.ts +12 -0
  260. package/dist/usecases/insights/buildAiInsightsPrompt.d.ts.map +1 -0
  261. package/dist/usecases/insights/buildAiInsightsPrompt.js +220 -0
  262. package/dist/usecases/insights/buildAiInsightsPrompt.js.map +1 -0
  263. package/dist/usecases/insights/computeDeveloperInsights.usecase.d.ts +4 -0
  264. package/dist/usecases/insights/computeDeveloperInsights.usecase.d.ts.map +1 -0
  265. package/dist/usecases/insights/computeDeveloperInsights.usecase.js +226 -0
  266. package/dist/usecases/insights/computeDeveloperInsights.usecase.js.map +1 -0
  267. package/dist/usecases/insights/computeInsightsWithPersistence.usecase.d.ts +12 -0
  268. package/dist/usecases/insights/computeInsightsWithPersistence.usecase.d.ts.map +1 -0
  269. package/dist/usecases/insights/computeInsightsWithPersistence.usecase.js +340 -0
  270. package/dist/usecases/insights/computeInsightsWithPersistence.usecase.js.map +1 -0
  271. package/dist/usecases/insights/computeTeamInsights.usecase.d.ts +4 -0
  272. package/dist/usecases/insights/computeTeamInsights.usecase.d.ts.map +1 -0
  273. package/dist/usecases/insights/computeTeamInsights.usecase.js +111 -0
  274. package/dist/usecases/insights/computeTeamInsights.usecase.js.map +1 -0
  275. package/dist/usecases/insights/generateAiInsights.usecase.d.ts +27 -0
  276. package/dist/usecases/insights/generateAiInsights.usecase.d.ts.map +1 -0
  277. package/dist/usecases/insights/generateAiInsights.usecase.js +65 -0
  278. package/dist/usecases/insights/generateAiInsights.usecase.js.map +1 -0
  279. package/dist/usecases/insights/getInsightsWithAiStatus.usecase.d.ts +18 -0
  280. package/dist/usecases/insights/getInsightsWithAiStatus.usecase.d.ts.map +1 -0
  281. package/dist/usecases/insights/getInsightsWithAiStatus.usecase.js +56 -0
  282. package/dist/usecases/insights/getInsightsWithAiStatus.usecase.js.map +1 -0
  283. package/dist/usecases/insights/insightLevelComputation.service.d.ts +41 -0
  284. package/dist/usecases/insights/insightLevelComputation.service.d.ts.map +1 -0
  285. package/dist/usecases/insights/insightLevelComputation.service.js +313 -0
  286. package/dist/usecases/insights/insightLevelComputation.service.js.map +1 -0
  287. package/dist/usecases/version/triggerSelfUpdate.usecase.d.ts.map +1 -1
  288. package/dist/usecases/version/triggerSelfUpdate.usecase.js +3 -0
  289. package/dist/usecases/version/triggerSelfUpdate.usecase.js.map +1 -1
  290. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=teamInsight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teamInsight.js","sourceRoot":"","sources":["../../../src/entities/insight/teamInsight.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const averageLevelsSchema: z.ZodObject<{
3
+ quality: z.ZodNumber;
4
+ responsiveness: z.ZodNumber;
5
+ codeVolume: z.ZodNumber;
6
+ iteration: z.ZodNumber;
7
+ }, z.core.$strip>;
8
+ export declare const teamInsightSchema: z.ZodObject<{
9
+ developerCount: z.ZodNumber;
10
+ totalReviewCount: z.ZodNumber;
11
+ averageLevels: z.ZodObject<{
12
+ quality: z.ZodNumber;
13
+ responsiveness: z.ZodNumber;
14
+ codeVolume: z.ZodNumber;
15
+ iteration: z.ZodNumber;
16
+ }, z.core.$strip>;
17
+ strengths: z.ZodArray<z.ZodEnum<{
18
+ quality: "quality";
19
+ responsiveness: "responsiveness";
20
+ codeVolume: "codeVolume";
21
+ iteration: "iteration";
22
+ }>>;
23
+ weaknesses: z.ZodArray<z.ZodEnum<{
24
+ quality: "quality";
25
+ responsiveness: "responsiveness";
26
+ codeVolume: "codeVolume";
27
+ iteration: "iteration";
28
+ }>>;
29
+ tips: z.ZodArray<z.ZodString>;
30
+ }, z.core.$strip>;
31
+ //# sourceMappingURL=teamInsight.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teamInsight.schema.d.ts","sourceRoot":"","sources":["../../../src/entities/insight/teamInsight.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;iBAO5B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ import { insightCategorySchema } from '../../entities/insight/insightCategory.js';
3
+ export const averageLevelsSchema = z.object({
4
+ quality: z.number().min(1).max(10),
5
+ responsiveness: z.number().min(1).max(10),
6
+ codeVolume: z.number().min(1).max(10),
7
+ iteration: z.number().min(1).max(10),
8
+ });
9
+ export const teamInsightSchema = z.object({
10
+ developerCount: z.number().int().min(0),
11
+ totalReviewCount: z.number().int().min(0),
12
+ averageLevels: averageLevelsSchema,
13
+ strengths: z.array(insightCategorySchema),
14
+ weaknesses: z.array(insightCategorySchema),
15
+ tips: z.array(z.string()),
16
+ });
17
+ //# sourceMappingURL=teamInsight.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teamInsight.schema.js","sourceRoot":"","sources":["../../../src/entities/insight/teamInsight.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,aAAa,EAAE,mBAAmB;IAClC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC1B,CAAC,CAAC"}
@@ -13,6 +13,9 @@ export type SelfUpdateResult = {
13
13
  } | {
14
14
  status: 'failed';
15
15
  error: string;
16
+ } | {
17
+ status: 'permission-denied';
18
+ command: string;
16
19
  };
17
20
  export type UpdateStatus = 'idle' | 'checking' | 'updating' | 'restarting' | 'failed';
18
21
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAA"}
@@ -2,7 +2,8 @@ export interface SelfUpdateCommandPort {
2
2
  runGlobalUpdate(): Promise<{
3
3
  success: boolean;
4
4
  error: string | null;
5
+ permissionDenied: boolean;
5
6
  }>;
6
- restartDaemon(): Promise<void>;
7
+ restartDaemon(serverPort?: number): Promise<void>;
7
8
  }
8
9
  //# sourceMappingURL=selfUpdateCommand.gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selfUpdateCommand.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/selfUpdateCommand.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;IACtE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B"}
1
+ {"version":3,"file":"selfUpdateCommand.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/selfUpdateCommand.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACjG,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClD"}
@@ -0,0 +1,18 @@
1
+ export interface ReviewFileInfo {
2
+ filename: string;
3
+ path: string;
4
+ date: string;
5
+ mrNumber: string;
6
+ type: string;
7
+ size: number;
8
+ mtime: string;
9
+ title?: string;
10
+ }
11
+ export interface ReviewFileGateway {
12
+ listReviews(projectPath: string): Promise<ReviewFileInfo[]>;
13
+ readReview(projectPath: string, filename: string): Promise<string | null>;
14
+ deleteReview(projectPath: string, filename: string): Promise<boolean>;
15
+ reviewExists(projectPath: string, filename: string): Promise<boolean>;
16
+ getReviewsDirectory(projectPath: string): string;
17
+ }
18
+ //# sourceMappingURL=reviewFile.gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewFile.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/review/reviewFile.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5D,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1E,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAClD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reviewFile.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewFile.gateway.js","sourceRoot":"","sources":["../../../src/entities/review/reviewFile.gateway.ts"],"names":[],"mappings":""}
@@ -32,5 +32,8 @@ export interface ProjectStats {
32
32
  totalDeletions: number;
33
33
  averageAdditions: number | null;
34
34
  averageDeletions: number | null;
35
+ totalScoreSum?: number;
36
+ scoredReviewCount?: number;
37
+ diffStatsReviewCount?: number;
35
38
  }
36
39
  //# sourceMappingURL=projectStats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectStats.d.ts","sourceRoot":"","sources":["../../../src/entities/stats/projectStats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC"}
1
+ {"version":3,"file":"projectStats.d.ts","sourceRoot":"","sources":["../../../src/entities/stats/projectStats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
@@ -0,0 +1,19 @@
1
+ import type { MrTrackingData } from '../../entities/tracking/mrTrackingData.js';
2
+ import type { TrackedMr } from '../../entities/tracking/trackedMr.js';
3
+ import type { ReviewEvent } from '../../entities/tracking/reviewEvent.js';
4
+ export type Platform = 'gitlab' | 'github';
5
+ export interface ReviewRequestTrackingGateway {
6
+ loadTracking(projectPath: string): MrTrackingData | null;
7
+ saveTracking(projectPath: string, data: MrTrackingData): void;
8
+ getById(projectPath: string, reviewRequestId: string): TrackedMr | null;
9
+ getByNumber(projectPath: string, reviewRequestNumber: number, platform: Platform): TrackedMr | null;
10
+ create(projectPath: string, reviewRequest: TrackedMr): void;
11
+ update(projectPath: string, reviewRequestId: string, updates: Partial<TrackedMr>): void;
12
+ getByState(projectPath: string, state: TrackedMr['state']): TrackedMr[];
13
+ getActiveMrs(projectPath: string): TrackedMr[];
14
+ remove(projectPath: string, reviewRequestId: string): boolean;
15
+ archive(projectPath: string, reviewRequestId: string): boolean;
16
+ recordReviewEvent(projectPath: string, reviewRequestId: string, event: ReviewEvent): void;
17
+ recordPush(projectPath: string, reviewRequestNumber: number, platform: Platform): TrackedMr | null;
18
+ }
19
+ //# sourceMappingURL=reviewRequestTracking.gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewRequestTracking.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/tracking/reviewRequestTracking.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEtE,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,4BAA4B;IAC3C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IACzD,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAE9D,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACxE,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,QAAQ,GACjB,SAAS,GAAG,IAAI,CAAC;IAEpB,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5D,MAAM,CACJ,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAC1B,IAAI,CAAC;IAER,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,EAAE,CAAC;IACxE,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9D,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/D,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,WAAW,GACjB,IAAI,CAAC;IACR,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,QAAQ,GACjB,SAAS,GAAG,IAAI,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reviewRequestTracking.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewRequestTracking.gateway.js","sourceRoot":"","sources":["../../../src/entities/tracking/reviewRequestTracking.gateway.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { ClaudeInvoker } from '../../usecases/insights/generateAiInsights.usecase.js';
2
+ export declare function createClaudeInsightsInvoker(): ClaudeInvoker;
3
+ //# sourceMappingURL=claudeInsightsInvoker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeInsightsInvoker.d.ts","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInsightsInvoker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAIvF,wBAAgB,2BAA2B,IAAI,aAAa,CA2D3D"}
@@ -0,0 +1,58 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { resolveClaudePath } from '../../shared/services/claudePathResolver.js';
3
+ import { getModel } from '../../frameworks/settings/runtimeSettings.js';
4
+ const INSIGHTS_TIMEOUT_MS = 300000;
5
+ export function createClaudeInsightsInvoker() {
6
+ return (prompt) => {
7
+ return new Promise((resolve, reject) => {
8
+ const args = [
9
+ '--print',
10
+ '--model', getModel(),
11
+ '--setting-sources', 'user',
12
+ '-p', prompt,
13
+ ];
14
+ const childEnv = { ...process.env };
15
+ childEnv.CLAUDECODE = undefined;
16
+ const proc = spawn(resolveClaudePath(), args, {
17
+ cwd: '/tmp',
18
+ env: {
19
+ ...childEnv,
20
+ TERM: 'dumb',
21
+ CI: 'true',
22
+ },
23
+ stdio: ['ignore', 'pipe', 'pipe'],
24
+ });
25
+ let stdout = '';
26
+ let stderr = '';
27
+ let timedOut = false;
28
+ const timeout = setTimeout(() => {
29
+ timedOut = true;
30
+ proc.kill('SIGKILL');
31
+ }, INSIGHTS_TIMEOUT_MS);
32
+ proc.stdout.on('data', (data) => {
33
+ stdout += data.toString();
34
+ });
35
+ proc.stderr.on('data', (data) => {
36
+ stderr += data.toString();
37
+ });
38
+ proc.on('error', (error) => {
39
+ clearTimeout(timeout);
40
+ reject(new Error(`Failed to launch Claude CLI: ${error.message}`));
41
+ });
42
+ proc.on('close', (code) => {
43
+ clearTimeout(timeout);
44
+ if (timedOut) {
45
+ reject(new Error('Claude CLI timed out (timeout 300s)'));
46
+ return;
47
+ }
48
+ if (code === 0) {
49
+ resolve(stdout);
50
+ }
51
+ else {
52
+ reject(new Error(`Claude CLI exited with code ${code}: ${stderr.substring(0, 500)}`));
53
+ }
54
+ });
55
+ });
56
+ };
57
+ }
58
+ //# sourceMappingURL=claudeInsightsInvoker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeInsightsInvoker.js","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInsightsInvoker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAGpE,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,UAAU,2BAA2B;IACzC,OAAO,CAAC,MAAc,EAAmB,EAAE;QACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG;gBACX,SAAS;gBACT,SAAS,EAAE,QAAQ,EAAE;gBACrB,mBAAmB,EAAE,MAAM;gBAC3B,IAAI,EAAE,MAAM;aACb,CAAC;YAEF,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACpC,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;YAEhC,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE;gBAC5C,GAAG,EAAE,MAAM;gBACX,GAAG,EAAE;oBACH,GAAG,QAAQ;oBACX,IAAI,EAAE,MAAM;oBACZ,EAAE,EAAE,MAAM;iBACX;gBACD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACtC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACtC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;oBACzD,OAAO;gBACT,CAAC;gBACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { FastifyPluginAsync } from 'fastify';
2
+ import type { Logger } from 'pino';
3
+ import type { StatsGateway } from '../../../entities/stats/stats.gateway.js';
4
+ import type { InsightsGateway } from '../../../entities/insight/insights.gateway.js';
5
+ import type { ReviewFileGateway } from '../../../entities/review/reviewFile.gateway.js';
6
+ import type { ReviewRequestTrackingGateway } from '../../../entities/tracking/reviewRequestTracking.gateway.js';
7
+ import type { Language } from '../../../entities/language/language.schema.js';
8
+ import { type ClaudeInvoker } from '../../../usecases/insights/generateAiInsights.usecase.js';
9
+ interface InsightsRoutesOptions {
10
+ statsGateway: StatsGateway;
11
+ insightsGateway: InsightsGateway;
12
+ reviewFileGateway: ReviewFileGateway;
13
+ reviewRequestTrackingGateway: ReviewRequestTrackingGateway;
14
+ logger: Logger;
15
+ claudeInvoker: ClaudeInvoker;
16
+ language: Language;
17
+ }
18
+ export declare const insightsRoutes: FastifyPluginAsync<InsightsRoutesOptions>;
19
+ export {};
20
+ //# sourceMappingURL=insights.routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.routes.d.ts","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/insights.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,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAA+C,KAAK,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAIpI,UAAU,qBAAqB;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,4BAA4B,EAAE,4BAA4B,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAQD,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,qBAAqB,CAmFpE,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { generateAiInsights, persistAiInsightsResult } from '../../../usecases/insights/generateAiInsights.usecase.js';
2
+ import { getInsightsWithAiStatus } from '../../../usecases/insights/getInsightsWithAiStatus.usecase.js';
3
+ import { InsightsPresenter } from '../../../interface-adapters/presenters/insights.presenter.js';
4
+ function isValidProjectPath(path) {
5
+ if (!path)
6
+ return false;
7
+ const trimmed = path.trim();
8
+ return trimmed.startsWith('/') && !trimmed.includes('..');
9
+ }
10
+ export const insightsRoutes = async (fastify, options) => {
11
+ const { statsGateway, insightsGateway, reviewFileGateway, reviewRequestTrackingGateway, logger, claudeInvoker, language, } = options;
12
+ const presenter = new InsightsPresenter();
13
+ fastify.get('/api/insights', async (request, reply) => {
14
+ const projectPath = request.query.path?.trim() ?? null;
15
+ if (!isValidProjectPath(projectPath)) {
16
+ reply.status(400).send({ error: 'Chemin du projet requis' });
17
+ return;
18
+ }
19
+ const result = getInsightsWithAiStatus({
20
+ projectPath,
21
+ statsGateway,
22
+ insightsGateway,
23
+ });
24
+ const viewModel = presenter.present({
25
+ developerInsights: result.developerInsights,
26
+ teamInsight: result.teamInsight,
27
+ });
28
+ return {
29
+ ...viewModel,
30
+ aiInsights: result.aiInsights,
31
+ hasNewReviewsSinceAiGeneration: result.hasNewReviewsSinceAiGeneration,
32
+ };
33
+ });
34
+ fastify.post('/api/insights/generate', async (request, reply) => {
35
+ const body = request.body;
36
+ const projectPath = typeof body === 'object' && body !== null && 'path' in body
37
+ ? (body).path
38
+ : null;
39
+ if (typeof projectPath !== 'string' || !isValidProjectPath(projectPath)) {
40
+ reply.status(400).send({ error: 'Chemin du projet requis' });
41
+ return;
42
+ }
43
+ const requestLanguage = typeof body === 'object' && body !== null && 'language' in body
44
+ && (body.language === 'fr' || body.language === 'en')
45
+ ? body.language
46
+ : language;
47
+ try {
48
+ const aiInsights = await generateAiInsights({
49
+ projectPath,
50
+ statsGateway,
51
+ reviewFileGateway,
52
+ reviewRequestTrackingGateway,
53
+ logger,
54
+ claudeInvoker,
55
+ language: requestLanguage,
56
+ });
57
+ persistAiInsightsResult({
58
+ projectPath,
59
+ aiInsights,
60
+ statsGateway,
61
+ insightsGateway,
62
+ });
63
+ return aiInsights;
64
+ }
65
+ catch (error) {
66
+ const message = error instanceof Error ? error.message : 'Erreur inconnue';
67
+ logger.error({ error: message }, 'AI insights generation failed');
68
+ reply.status(500).send({ error: message });
69
+ return;
70
+ }
71
+ });
72
+ };
73
+ //# sourceMappingURL=insights.routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.routes.js","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/insights.routes.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAsB,MAAM,mDAAmD,CAAC;AACpI,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAY1F,SAAS,kBAAkB,CAAC,IAAmB;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA8C,KAAK,EAC5E,OAAO,EACP,OAAO,EACP,EAAE;IACF,MAAM,EACJ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,4BAA4B,EAC5B,MAAM,EACN,aAAa,EACb,QAAQ,GACT,GAAG,OAAO,CAAC;IACZ,MAAM,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAqC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACxF,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,uBAAuB,CAAC;YACrC,WAAW;YACX,YAAY;YACZ,eAAe;SAChB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC;YAClC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,SAAS;YACZ,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,8BAA8B,EAAE,MAAM,CAAC,8BAA8B;SACtE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAiD,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC9G,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI;YAC7E,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI;YACb,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,UAAU,IAAI,IAAI;eAClF,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,QAAQ;YACf,CAAC,CAAC,QAAQ,CAAC;QAEb,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;gBAC1C,WAAW;gBACX,YAAY;gBACZ,iBAAiB;gBACjB,4BAA4B;gBAC5B,MAAM;gBACN,aAAa;gBACb,QAAQ,EAAE,eAAe;aAC1B,CAAC,CAAC;YAEH,uBAAuB,CAAC;gBACtB,WAAW;gBACX,UAAU;gBACV,YAAY;gBACZ,eAAe;aAChB,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC3E,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,+BAA+B,CAAC,CAAC;YAClE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.routes.d.ts","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/settings.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,eAAO,MAAM,cAAc,EAAE,kBAmC5B,CAAC"}
1
+ {"version":3,"file":"settings.routes.d.ts","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/settings.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,eAAO,MAAM,cAAc,EAAE,kBAuC5B,CAAC"}
@@ -4,6 +4,9 @@ export const settingsRoutes = async (fastify) => {
4
4
  fastify.get('/api/settings', async () => {
5
5
  return getSettings();
6
6
  });
7
+ fastify.get('/api/settings/model', async () => {
8
+ return { model: getModel() };
9
+ });
7
10
  fastify.post('/api/settings/model', async (request, reply) => {
8
11
  const { model } = request.body;
9
12
  if (!model) {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.routes.js","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/settings.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAoB,MAAM,0CAA0C,CAAC;AACrJ,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,MAAM,CAAC,MAAM,cAAc,GAAuB,KAAK,EAAE,OAAO,EAAE,EAAE;IAClE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QACtC,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAA+B,CAAC;QAE1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QACvE,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAA6B,CAAC;QAE3D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;QACpE,CAAC;QAED,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"settings.routes.js","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/settings.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAoB,MAAM,0CAA0C,CAAC;AACrJ,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,MAAM,CAAC,MAAM,cAAc,GAAuB,KAAK,EAAE,OAAO,EAAE,EAAE;IAClE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QACtC,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAA+B,CAAC;QAE1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QACvE,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAA6B,CAAC;QAE3D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;QACpE,CAAC;QAED,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -12,6 +12,7 @@ interface VersionRoutesOptions {
12
12
  packageVersionGateway: PackageVersionGateway;
13
13
  versionCache: VersionCachePort;
14
14
  selfUpdateCommand: SelfUpdateCommandPort;
15
+ serverPort: number;
15
16
  }
16
17
  export declare const versionRoutes: FastifyPluginAsync<VersionRoutesOptions>;
17
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"version.routes.d.ts","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/version.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAA;AACvG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAA;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAA;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAA;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAA;AAC7G,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAA;AAEpG,UAAU,oBAAoB;IAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,wBAAwB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/G,iBAAiB,EAAE,CAAC,YAAY,EAAE,6BAA6B,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC7F,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,YAAY,EAAE,gBAAgB,CAAA;IAC9B,iBAAiB,EAAE,qBAAqB,CAAA;CACzC;AAED,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAAC,oBAAoB,CAuBlE,CAAA"}
1
+ {"version":3,"file":"version.routes.d.ts","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/version.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAA;AACvG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAA;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAA;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAA;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAA;AAC7G,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAA;AAEpG,UAAU,oBAAoB;IAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,wBAAwB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/G,iBAAiB,EAAE,CAAC,YAAY,EAAE,6BAA6B,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC7F,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,YAAY,EAAE,gBAAgB,CAAA;IAC9B,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAAC,oBAAoB,CA2BlE,CAAA"}
@@ -7,9 +7,12 @@ export const versionRoutes = async (fastify, options) => {
7
7
  if (result.status === 'failed') {
8
8
  reply.code(500);
9
9
  }
10
+ if (result.status === 'permission-denied') {
11
+ reply.code(403);
12
+ }
10
13
  if (result.status === 'started') {
11
14
  setTimeout(() => {
12
- options.selfUpdateCommand.restartDaemon().catch(() => { });
15
+ options.selfUpdateCommand.restartDaemon(options.serverPort).catch(() => { });
13
16
  }, 1000);
14
17
  }
15
18
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"version.routes.js","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/version.routes.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,aAAa,GAA6C,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAChG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAC3C,OAAO,OAAO,CAAC,YAAY,CACzB,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,EAC9D,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CACtF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAEhG,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC3D,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"version.routes.js","sourceRoot":"","sources":["../../../../src/interface-adapters/controllers/http/version.routes.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,aAAa,GAA6C,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAChG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAC3C,OAAO,OAAO,CAAC,YAAY,CACzB,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,EAC9D,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CACtF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAEhG,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC7E,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { InsightsGateway } from '../../../entities/insight/insights.gateway.js';
2
+ import type { PersistedInsightsData } from '../../../entities/insight/persistedInsightsData.js';
3
+ export declare class FileSystemInsightsGateway implements InsightsGateway {
4
+ loadPersistedInsights(projectPath: string): PersistedInsightsData | null;
5
+ savePersistedInsights(projectPath: string, data: PersistedInsightsData): void;
6
+ }
7
+ //# sourceMappingURL=insights.fileSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.fileSystem.d.ts","sourceRoot":"","sources":["../../../../src/interface-adapters/gateways/fileSystem/insights.fileSystem.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAOzF,qBAAa,yBAA0B,YAAW,eAAe;IAC/D,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAiBxE,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI;CAU9E"}
@@ -0,0 +1,33 @@
1
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
2
+ import { join, dirname } from 'node:path';
3
+ import { safeParsePersistedInsightsData } from '../../../entities/insight/persistedInsightsData.guard.js';
4
+ function getInsightsPath(projectPath) {
5
+ return join(projectPath, '.claude', 'reviews', 'insights.json');
6
+ }
7
+ export class FileSystemInsightsGateway {
8
+ loadPersistedInsights(projectPath) {
9
+ const insightsPath = getInsightsPath(projectPath);
10
+ if (!existsSync(insightsPath)) {
11
+ return null;
12
+ }
13
+ try {
14
+ const content = readFileSync(insightsPath, 'utf-8');
15
+ const parsed = safeParsePersistedInsightsData(JSON.parse(content));
16
+ if (!parsed.success)
17
+ return null;
18
+ return parsed.data;
19
+ }
20
+ catch {
21
+ return null;
22
+ }
23
+ }
24
+ savePersistedInsights(projectPath, data) {
25
+ const insightsPath = getInsightsPath(projectPath);
26
+ const directory = dirname(insightsPath);
27
+ if (!existsSync(directory)) {
28
+ mkdirSync(directory, { recursive: true });
29
+ }
30
+ writeFileSync(insightsPath, JSON.stringify(data, null, 2), 'utf-8');
31
+ }
32
+ }
33
+ //# sourceMappingURL=insights.fileSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.fileSystem.js","sourceRoot":"","sources":["../../../../src/interface-adapters/gateways/fileSystem/insights.fileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAC;AAEnG,SAAS,eAAe,CAAC,WAAmB;IAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,OAAO,yBAAyB;IACpC,qBAAqB,CAAC,WAAmB;QACvC,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,WAAmB,EAAE,IAA2B;QACpE,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -1,18 +1,2 @@
1
- export interface ReviewFileInfo {
2
- filename: string;
3
- path: string;
4
- date: string;
5
- mrNumber: string;
6
- type: string;
7
- size: number;
8
- mtime: string;
9
- title?: string;
10
- }
11
- export interface ReviewFileGateway {
12
- listReviews(projectPath: string): Promise<ReviewFileInfo[]>;
13
- readReview(projectPath: string, filename: string): Promise<string | null>;
14
- deleteReview(projectPath: string, filename: string): Promise<boolean>;
15
- reviewExists(projectPath: string, filename: string): Promise<boolean>;
16
- getReviewsDirectory(projectPath: string): string;
17
- }
1
+ export type { ReviewFileInfo, ReviewFileGateway } from '../../entities/review/reviewFile.gateway.js';
18
2
  //# sourceMappingURL=reviewFile.gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reviewFile.gateway.d.ts","sourceRoot":"","sources":["../../../src/interface-adapters/gateways/reviewFile.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5D,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1E,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAClD"}
1
+ {"version":3,"file":"reviewFile.gateway.d.ts","sourceRoot":"","sources":["../../../src/interface-adapters/gateways/reviewFile.gateway.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC"}
@@ -1,19 +1,2 @@
1
- import type { MrTrackingData } from '../../entities/tracking/mrTrackingData.js';
2
- import type { TrackedMr } from '../../entities/tracking/trackedMr.js';
3
- import type { ReviewEvent } from '../../entities/tracking/reviewEvent.js';
4
- export type Platform = 'gitlab' | 'github';
5
- export interface ReviewRequestTrackingGateway {
6
- loadTracking(projectPath: string): MrTrackingData | null;
7
- saveTracking(projectPath: string, data: MrTrackingData): void;
8
- getById(projectPath: string, reviewRequestId: string): TrackedMr | null;
9
- getByNumber(projectPath: string, reviewRequestNumber: number, platform: Platform): TrackedMr | null;
10
- create(projectPath: string, reviewRequest: TrackedMr): void;
11
- update(projectPath: string, reviewRequestId: string, updates: Partial<TrackedMr>): void;
12
- getByState(projectPath: string, state: TrackedMr['state']): TrackedMr[];
13
- getActiveMrs(projectPath: string): TrackedMr[];
14
- remove(projectPath: string, reviewRequestId: string): boolean;
15
- archive(projectPath: string, reviewRequestId: string): boolean;
16
- recordReviewEvent(projectPath: string, reviewRequestId: string, event: ReviewEvent): void;
17
- recordPush(projectPath: string, reviewRequestNumber: number, platform: Platform): TrackedMr | null;
18
- }
1
+ export type { ReviewRequestTrackingGateway, Platform } from '../../entities/tracking/reviewRequestTracking.gateway.js';
19
2
  //# sourceMappingURL=reviewRequestTracking.gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reviewRequestTracking.gateway.d.ts","sourceRoot":"","sources":["../../../src/interface-adapters/gateways/reviewRequestTracking.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,4BAA4B;IAC3C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IACzD,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAE9D,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACxE,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,QAAQ,GACjB,SAAS,GAAG,IAAI,CAAC;IAEpB,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5D,MAAM,CACJ,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAC1B,IAAI,CAAC;IAER,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,EAAE,CAAC;IACxE,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9D,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/D,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,WAAW,GACjB,IAAI,CAAC;IACR,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,QAAQ,GACjB,SAAS,GAAG,IAAI,CAAC;CACrB"}
1
+ {"version":3,"file":"reviewRequestTracking.gateway.d.ts","sourceRoot":"","sources":["../../../src/interface-adapters/gateways/reviewRequestTracking.gateway.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,4BAA4B,EAAE,QAAQ,EAAE,MAAM,sDAAsD,CAAC"}
@@ -5,7 +5,7 @@ export interface SelfUpdateCliDependencies {
5
5
  stderr: string;
6
6
  }>;
7
7
  killProcess: (pid: number, signal: string) => void;
8
- spawnDaemon: (port: number | undefined) => number;
8
+ spawnDaemonDelayed: (port: number | undefined, delaySec: number) => void;
9
9
  }
10
10
  export declare class SelfUpdateCliGateway implements SelfUpdateCommandPort {
11
11
  private readonly dependencies;
@@ -13,7 +13,8 @@ export declare class SelfUpdateCliGateway implements SelfUpdateCommandPort {
13
13
  runGlobalUpdate(): Promise<{
14
14
  success: boolean;
15
15
  error: string | null;
16
+ permissionDenied: boolean;
16
17
  }>;
17
- restartDaemon(): Promise<void>;
18
+ restartDaemon(serverPort?: number): Promise<void>;
18
19
  }
19
20
  //# sourceMappingURL=selfUpdate.cli.gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selfUpdate.cli.gateway.d.ts","sourceRoot":"","sources":["../../../src/interface-adapters/gateways/selfUpdate.cli.gateway.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAA;AAOnG,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/F,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAA;CAClD;AAUD,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;gBAE5C,YAAY,CAAC,EAAE,yBAAyB;IAI9C,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAUtE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAerC"}
1
+ {"version":3,"file":"selfUpdate.cli.gateway.d.ts","sourceRoot":"","sources":["../../../src/interface-adapters/gateways/selfUpdate.cli.gateway.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAA;AAQnG,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/F,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CACzE;AAyBD,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;gBAE5C,YAAY,CAAC,EAAE,yBAAyB;IAI9C,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAC;IAWjG,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAexD"}