reviewflow 3.6.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/config/projectConfig.d.ts +2 -0
- package/dist/config/projectConfig.d.ts.map +1 -1
- package/dist/config/projectConfig.js +17 -0
- package/dist/config/projectConfig.js.map +1 -1
- package/dist/entities/backfill/backfillProgress.d.ts +7 -0
- package/dist/entities/backfill/backfillProgress.d.ts.map +1 -0
- package/dist/entities/backfill/backfillProgress.js +2 -0
- package/dist/entities/backfill/backfillProgress.js.map +1 -0
- package/dist/entities/cleanup/retentionPolicy.valueObject.d.ts +8 -0
- package/dist/entities/cleanup/retentionPolicy.valueObject.d.ts.map +1 -0
- package/dist/entities/cleanup/retentionPolicy.valueObject.js +21 -0
- package/dist/entities/cleanup/retentionPolicy.valueObject.js.map +1 -0
- package/dist/entities/diffStats/diffStats.d.ts +6 -0
- package/dist/entities/diffStats/diffStats.d.ts.map +1 -0
- package/dist/entities/diffStats/diffStats.js +2 -0
- package/dist/entities/diffStats/diffStats.js.map +1 -0
- package/dist/entities/diffStats/diffStatsFetch.gateway.d.ts +5 -0
- package/dist/entities/diffStats/diffStatsFetch.gateway.d.ts.map +1 -0
- package/dist/entities/diffStats/diffStatsFetch.gateway.js +2 -0
- package/dist/entities/diffStats/diffStatsFetch.gateway.js.map +1 -0
- package/dist/entities/packageVersion/packageVersion.d.ts +18 -0
- package/dist/entities/packageVersion/packageVersion.d.ts.map +1 -0
- package/dist/entities/packageVersion/packageVersion.gateway.d.ts +4 -0
- package/dist/entities/packageVersion/packageVersion.gateway.d.ts.map +1 -0
- package/dist/entities/packageVersion/packageVersion.gateway.js +2 -0
- package/dist/entities/packageVersion/packageVersion.gateway.js.map +1 -0
- package/dist/entities/packageVersion/packageVersion.guard.d.ts +7 -0
- package/dist/entities/packageVersion/packageVersion.guard.d.ts.map +1 -0
- package/dist/entities/packageVersion/packageVersion.guard.js +13 -0
- package/dist/entities/packageVersion/packageVersion.guard.js.map +1 -0
- package/dist/entities/packageVersion/packageVersion.js +2 -0
- package/dist/entities/packageVersion/packageVersion.js.map +1 -0
- package/dist/entities/packageVersion/packageVersion.schema.d.ts +12 -0
- package/dist/entities/packageVersion/packageVersion.schema.d.ts.map +1 -0
- package/dist/entities/packageVersion/packageVersion.schema.js +11 -0
- package/dist/entities/packageVersion/packageVersion.schema.js.map +1 -0
- package/dist/entities/packageVersion/selfUpdateCommand.gateway.d.ts +8 -0
- package/dist/entities/packageVersion/selfUpdateCommand.gateway.d.ts.map +1 -0
- package/dist/entities/packageVersion/selfUpdateCommand.gateway.js +2 -0
- package/dist/entities/packageVersion/selfUpdateCommand.gateway.js.map +1 -0
- package/dist/entities/packageVersion/versionCache.gateway.d.ts +7 -0
- package/dist/entities/packageVersion/versionCache.gateway.d.ts.map +1 -0
- package/dist/entities/packageVersion/versionCache.gateway.js +2 -0
- package/dist/entities/packageVersion/versionCache.gateway.js.map +1 -0
- package/dist/entities/stats/projectStats.d.ts +36 -0
- package/dist/entities/stats/projectStats.d.ts.map +1 -0
- package/dist/entities/stats/projectStats.js +2 -0
- package/dist/entities/stats/projectStats.js.map +1 -0
- package/dist/entities/stats/recalculateBody.guard.d.ts +11 -0
- package/dist/entities/stats/recalculateBody.guard.d.ts.map +1 -0
- package/dist/entities/stats/recalculateBody.guard.js +9 -0
- package/dist/entities/stats/recalculateBody.guard.js.map +1 -0
- package/dist/entities/stats/stats.gateway.d.ts +7 -0
- package/dist/entities/stats/stats.gateway.d.ts.map +1 -0
- package/dist/entities/stats/stats.gateway.js +2 -0
- package/dist/entities/stats/stats.gateway.js.map +1 -0
- package/dist/entities/tracking/reviewEvent.d.ts +2 -0
- package/dist/entities/tracking/reviewEvent.d.ts.map +1 -1
- package/dist/frameworks/claude/claudeInvoker.d.ts.map +1 -1
- package/dist/frameworks/claude/claudeInvoker.js +15 -1
- package/dist/frameworks/claude/claudeInvoker.js.map +1 -1
- package/dist/frameworks/scheduler/cleanupScheduler.d.ts +16 -0
- package/dist/frameworks/scheduler/cleanupScheduler.d.ts.map +1 -0
- package/dist/frameworks/scheduler/cleanupScheduler.js +35 -0
- package/dist/frameworks/scheduler/cleanupScheduler.js.map +1 -0
- package/dist/interface-adapters/controllers/http/cleanup.routes.d.ts +16 -0
- package/dist/interface-adapters/controllers/http/cleanup.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/cleanup.routes.js +44 -0
- package/dist/interface-adapters/controllers/http/cleanup.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/health.routes.d.ts +3 -1
- package/dist/interface-adapters/controllers/http/health.routes.d.ts.map +1 -1
- package/dist/interface-adapters/controllers/http/health.routes.js +5 -1
- package/dist/interface-adapters/controllers/http/health.routes.js.map +1 -1
- package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts.map +1 -1
- package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js +13 -2
- package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js.map +1 -1
- package/dist/interface-adapters/controllers/http/stats.routes.d.ts +20 -6
- package/dist/interface-adapters/controllers/http/stats.routes.d.ts.map +1 -1
- package/dist/interface-adapters/controllers/http/stats.routes.js +35 -2
- package/dist/interface-adapters/controllers/http/stats.routes.js.map +1 -1
- package/dist/interface-adapters/controllers/http/version.routes.d.ts +18 -0
- package/dist/interface-adapters/controllers/http/version.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/version.routes.js +18 -0
- package/dist/interface-adapters/controllers/http/version.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/webhook/github.controller.d.ts +2 -0
- package/dist/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -1
- package/dist/interface-adapters/controllers/webhook/github.controller.js +9 -3
- package/dist/interface-adapters/controllers/webhook/github.controller.js.map +1 -1
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts +2 -0
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts.map +1 -1
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.js +17 -5
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.js.map +1 -1
- package/dist/interface-adapters/gateways/diffStatsFetch.github.gateway.d.ts +10 -0
- package/dist/interface-adapters/gateways/diffStatsFetch.github.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/diffStatsFetch.github.gateway.js +26 -0
- package/dist/interface-adapters/gateways/diffStatsFetch.github.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.d.ts +10 -0
- package/dist/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.js +28 -0
- package/dist/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.d.ts +7 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.js +47 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.d.ts +2 -2
- package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.d.ts.map +1 -1
- package/dist/interface-adapters/gateways/packageVersion.npm.gateway.d.ts +7 -0
- package/dist/interface-adapters/gateways/packageVersion.npm.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/packageVersion.npm.gateway.js +25 -0
- package/dist/interface-adapters/gateways/packageVersion.npm.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/reviewLogFile.gateway.d.ts +12 -0
- package/dist/interface-adapters/gateways/reviewLogFile.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/reviewLogFile.gateway.js +2 -0
- package/dist/interface-adapters/gateways/reviewLogFile.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.d.ts +19 -0
- package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.js +44 -0
- package/dist/interface-adapters/gateways/selfUpdate.cli.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/stats.gateway.d.ts +1 -6
- package/dist/interface-adapters/gateways/stats.gateway.d.ts.map +1 -1
- package/dist/interface-adapters/gateways/versionCache.memory.gateway.d.ts +12 -0
- package/dist/interface-adapters/gateways/versionCache.memory.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/versionCache.memory.gateway.js +22 -0
- package/dist/interface-adapters/gateways/versionCache.memory.gateway.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/index.html +359 -40
- package/dist/interface-adapters/views/dashboard/modules/cleanup.d.ts +10 -0
- package/dist/interface-adapters/views/dashboard/modules/cleanup.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/cleanup.js +45 -0
- package/dist/interface-adapters/views/dashboard/modules/cleanup.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/collapsibleList.d.ts +13 -0
- package/dist/interface-adapters/views/dashboard/modules/collapsibleList.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/collapsibleList.js +71 -0
- package/dist/interface-adapters/views/dashboard/modules/collapsibleList.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/i18n.d.ts.map +1 -1
- package/dist/interface-adapters/views/dashboard/modules/i18n.js +96 -0
- package/dist/interface-adapters/views/dashboard/modules/i18n.js.map +1 -1
- package/dist/interface-adapters/views/dashboard/modules/mrSheet.d.ts +25 -0
- package/dist/interface-adapters/views/dashboard/modules/mrSheet.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/mrSheet.js +414 -0
- package/dist/interface-adapters/views/dashboard/modules/mrSheet.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/statsCharts.d.ts +35 -0
- package/dist/interface-adapters/views/dashboard/modules/statsCharts.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/statsCharts.js +476 -0
- package/dist/interface-adapters/views/dashboard/modules/statsCharts.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/versionUpdate.d.ts +16 -0
- package/dist/interface-adapters/views/dashboard/modules/versionUpdate.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/versionUpdate.js +54 -0
- package/dist/interface-adapters/views/dashboard/modules/versionUpdate.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/styles.css +939 -0
- package/dist/main/dependencies.d.ts +2 -0
- package/dist/main/dependencies.d.ts.map +1 -1
- package/dist/main/dependencies.js +2 -0
- package/dist/main/dependencies.js.map +1 -1
- package/dist/main/routes.d.ts.map +1 -1
- package/dist/main/routes.js +55 -2
- package/dist/main/routes.js.map +1 -1
- package/dist/main/server.d.ts.map +1 -1
- package/dist/main/server.js +8 -0
- package/dist/main/server.js.map +1 -1
- package/dist/main/websocket.d.ts +2 -0
- package/dist/main/websocket.d.ts.map +1 -1
- package/dist/main/websocket.js +13 -0
- package/dist/main/websocket.js.map +1 -1
- package/dist/services/statsService.d.ts +8 -32
- package/dist/services/statsService.d.ts.map +1 -1
- package/dist/services/statsService.js +27 -22
- package/dist/services/statsService.js.map +1 -1
- package/dist/shared/foundation/commandExecutor.d.ts +2 -0
- package/dist/shared/foundation/commandExecutor.d.ts.map +1 -0
- package/dist/shared/foundation/commandExecutor.js +2 -0
- package/dist/shared/foundation/commandExecutor.js.map +1 -0
- package/dist/tests/factories/diffStats.factory.d.ts +5 -0
- package/dist/tests/factories/diffStats.factory.d.ts.map +1 -0
- package/dist/tests/factories/diffStats.factory.js +11 -0
- package/dist/tests/factories/diffStats.factory.js.map +1 -0
- package/dist/tests/factories/packageVersion.factory.d.ts +7 -0
- package/dist/tests/factories/packageVersion.factory.d.ts.map +1 -0
- package/dist/tests/factories/packageVersion.factory.js +18 -0
- package/dist/tests/factories/packageVersion.factory.js.map +1 -0
- package/dist/tests/factories/projectStats.factory.d.ts +3 -1
- package/dist/tests/factories/projectStats.factory.d.ts.map +1 -1
- package/dist/tests/factories/projectStats.factory.js +17 -3
- package/dist/tests/factories/projectStats.factory.js.map +1 -1
- package/dist/tests/stubs/diffStatsFetch.stub.d.ts +11 -0
- package/dist/tests/stubs/diffStatsFetch.stub.d.ts.map +1 -0
- package/dist/tests/stubs/diffStatsFetch.stub.js +19 -0
- package/dist/tests/stubs/diffStatsFetch.stub.js.map +1 -0
- package/dist/tests/stubs/packageVersion.stub.d.ts +7 -0
- package/dist/tests/stubs/packageVersion.stub.d.ts.map +1 -0
- package/dist/tests/stubs/packageVersion.stub.js +10 -0
- package/dist/tests/stubs/packageVersion.stub.js.map +1 -0
- package/dist/tests/stubs/reviewLogFile.stub.d.ts +15 -0
- package/dist/tests/stubs/reviewLogFile.stub.d.ts.map +1 -0
- package/dist/tests/stubs/reviewLogFile.stub.js +35 -0
- package/dist/tests/stubs/reviewLogFile.stub.js.map +1 -0
- package/dist/tests/stubs/selfUpdate.stub.d.ts +12 -0
- package/dist/tests/stubs/selfUpdate.stub.d.ts.map +1 -0
- package/dist/tests/stubs/selfUpdate.stub.js +18 -0
- package/dist/tests/stubs/selfUpdate.stub.js.map +1 -0
- package/dist/tests/stubs/stats.stub.d.ts +2 -2
- package/dist/tests/stubs/stats.stub.d.ts.map +1 -1
- package/dist/tests/stubs/versionCache.stub.d.ts +11 -0
- package/dist/tests/stubs/versionCache.stub.d.ts.map +1 -0
- package/dist/tests/stubs/versionCache.stub.js +18 -0
- package/dist/tests/stubs/versionCache.stub.js.map +1 -0
- package/dist/tests/units/config/projectConfig.test.js +60 -1
- package/dist/tests/units/config/projectConfig.test.js.map +1 -1
- package/dist/tests/units/entities/backfill/backfillProgress.test.d.ts +2 -0
- package/dist/tests/units/entities/backfill/backfillProgress.test.d.ts.map +1 -0
- package/dist/tests/units/entities/backfill/backfillProgress.test.js +40 -0
- package/dist/tests/units/entities/backfill/backfillProgress.test.js.map +1 -0
- package/dist/tests/units/entities/cleanup/retentionPolicy.valueObject.test.d.ts +2 -0
- package/dist/tests/units/entities/cleanup/retentionPolicy.valueObject.test.d.ts.map +1 -0
- package/dist/tests/units/entities/cleanup/retentionPolicy.valueObject.test.js +47 -0
- package/dist/tests/units/entities/cleanup/retentionPolicy.valueObject.test.js.map +1 -0
- package/dist/tests/units/entities/diffStats/diffStats.test.d.ts +2 -0
- package/dist/tests/units/entities/diffStats/diffStats.test.d.ts.map +1 -0
- package/dist/tests/units/entities/diffStats/diffStats.test.js +27 -0
- package/dist/tests/units/entities/diffStats/diffStats.test.js.map +1 -0
- package/dist/tests/units/entities/packageVersion/packageVersion.test.d.ts +2 -0
- package/dist/tests/units/entities/packageVersion/packageVersion.test.d.ts.map +1 -0
- package/dist/tests/units/entities/packageVersion/packageVersion.test.js +154 -0
- package/dist/tests/units/entities/packageVersion/packageVersion.test.js.map +1 -0
- package/dist/tests/units/factories/packageVersion.factory.test.d.ts +2 -0
- package/dist/tests/units/factories/packageVersion.factory.test.d.ts.map +1 -0
- package/dist/tests/units/factories/packageVersion.factory.test.js +37 -0
- package/dist/tests/units/factories/packageVersion.factory.test.js.map +1 -0
- package/dist/tests/units/frameworks/scheduler/cleanupScheduler.test.d.ts +2 -0
- package/dist/tests/units/frameworks/scheduler/cleanupScheduler.test.d.ts.map +1 -0
- package/dist/tests/units/frameworks/scheduler/cleanupScheduler.test.js +74 -0
- package/dist/tests/units/frameworks/scheduler/cleanupScheduler.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/http/cleanup.routes.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/http/cleanup.routes.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/http/cleanup.routes.test.js +62 -0
- package/dist/tests/units/interface-adapters/controllers/http/cleanup.routes.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/http/health.routes.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/http/health.routes.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/http/health.routes.test.js +96 -0
- package/dist/tests/units/interface-adapters/controllers/http/health.routes.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/http/statsRecalculate.routes.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/http/statsRecalculate.routes.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/http/statsRecalculate.routes.test.js +82 -0
- package/dist/tests/units/interface-adapters/controllers/http/statsRecalculate.routes.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.js +83 -0
- package/dist/tests/units/interface-adapters/controllers/http/version.routes.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +3 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -1
- package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -1
- package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.github.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.github.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.github.gateway.test.js +63 -0
- package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.github.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.test.js +94 -0
- package/dist/tests/units/interface-adapters/gateways/diffStatsFetch.gitlab.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/packageVersion.npm.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/packageVersion.npm.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/packageVersion.npm.gateway.test.js +42 -0
- package/dist/tests/units/interface-adapters/gateways/packageVersion.npm.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.js +65 -0
- package/dist/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewLogFile.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/reviewLogFile.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewLogFile.gateway.test.js +63 -0
- package/dist/tests/units/interface-adapters/gateways/reviewLogFile.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.js +2 -0
- package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.js.map +1 -1
- package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.js +33 -0
- package/dist/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/versionCache.memory.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/versionCache.memory.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/versionCache.memory.gateway.test.js +38 -0
- package/dist/tests/units/interface-adapters/gateways/versionCache.memory.gateway.test.js.map +1 -0
- package/dist/tests/units/services/statsService.diffStats.test.d.ts +2 -0
- package/dist/tests/units/services/statsService.diffStats.test.d.ts.map +1 -0
- package/dist/tests/units/services/statsService.diffStats.test.js +61 -0
- package/dist/tests/units/services/statsService.diffStats.test.js.map +1 -0
- package/dist/tests/units/stubs/packageVersion.stub.test.d.ts +2 -0
- package/dist/tests/units/stubs/packageVersion.stub.test.d.ts.map +1 -0
- package/dist/tests/units/stubs/packageVersion.stub.test.js +20 -0
- package/dist/tests/units/stubs/packageVersion.stub.test.js.map +1 -0
- package/dist/tests/units/stubs/selfUpdate.stub.test.d.ts +2 -0
- package/dist/tests/units/stubs/selfUpdate.stub.test.d.ts.map +1 -0
- package/dist/tests/units/stubs/selfUpdate.stub.test.js +30 -0
- package/dist/tests/units/stubs/selfUpdate.stub.test.js.map +1 -0
- package/dist/tests/units/stubs/versionCache.stub.test.d.ts +2 -0
- package/dist/tests/units/stubs/versionCache.stub.test.d.ts.map +1 -0
- package/dist/tests/units/stubs/versionCache.stub.test.js +34 -0
- package/dist/tests/units/stubs/versionCache.stub.test.js.map +1 -0
- package/dist/tests/units/usecases/cleanup/cleanupExpiredReviews.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/cleanup/cleanupExpiredReviews.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/cleanup/cleanupExpiredReviews.usecase.test.js +83 -0
- package/dist/tests/units/usecases/cleanup/cleanupExpiredReviews.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/stats/backfillDiffStats.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/stats/backfillDiffStats.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/stats/backfillDiffStats.usecase.test.js +186 -0
- package/dist/tests/units/usecases/stats/backfillDiffStats.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/stats/recalculateProjectStats.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/stats/recalculateProjectStats.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/stats/recalculateProjectStats.usecase.test.js +130 -0
- package/dist/tests/units/usecases/stats/recalculateProjectStats.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/stats/recalculateWithBackfill.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/stats/recalculateWithBackfill.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/stats/recalculateWithBackfill.usecase.test.js +138 -0
- package/dist/tests/units/usecases/stats/recalculateWithBackfill.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.js +31 -2
- package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.js.map +1 -1
- package/dist/tests/units/usecases/version/checkVersion.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/version/checkVersion.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/version/checkVersion.usecase.test.js +63 -0
- package/dist/tests/units/usecases/version/checkVersion.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.js +21 -0
- package/dist/tests/units/usecases/version/triggerSelfUpdate.usecase.test.js.map +1 -0
- package/dist/usecases/cleanup/cleanupExpiredReviews.usecase.d.ts +13 -0
- package/dist/usecases/cleanup/cleanupExpiredReviews.usecase.d.ts.map +1 -0
- package/dist/usecases/cleanup/cleanupExpiredReviews.usecase.js +41 -0
- package/dist/usecases/cleanup/cleanupExpiredReviews.usecase.js.map +1 -0
- package/dist/usecases/stats/backfillDiffStats.usecase.d.ts +18 -0
- package/dist/usecases/stats/backfillDiffStats.usecase.d.ts.map +1 -0
- package/dist/usecases/stats/backfillDiffStats.usecase.js +43 -0
- package/dist/usecases/stats/backfillDiffStats.usecase.js.map +1 -0
- package/dist/usecases/stats/recalculateProjectStats.usecase.d.ts +7 -0
- package/dist/usecases/stats/recalculateProjectStats.usecase.d.ts.map +1 -0
- package/dist/usecases/stats/recalculateProjectStats.usecase.js +47 -0
- package/dist/usecases/stats/recalculateProjectStats.usecase.js.map +1 -0
- package/dist/usecases/stats/recalculateWithBackfill.usecase.d.ts +22 -0
- package/dist/usecases/stats/recalculateWithBackfill.usecase.d.ts.map +1 -0
- package/dist/usecases/stats/recalculateWithBackfill.usecase.js +33 -0
- package/dist/usecases/stats/recalculateWithBackfill.usecase.js.map +1 -0
- package/dist/usecases/tracking/recordReviewCompletion.usecase.d.ts +2 -0
- package/dist/usecases/tracking/recordReviewCompletion.usecase.d.ts.map +1 -1
- package/dist/usecases/tracking/recordReviewCompletion.usecase.js +1 -0
- package/dist/usecases/tracking/recordReviewCompletion.usecase.js.map +1 -1
- package/dist/usecases/version/checkVersion.usecase.d.ts +13 -0
- package/dist/usecases/version/checkVersion.usecase.d.ts.map +1 -0
- package/dist/usecases/version/checkVersion.usecase.js +20 -0
- package/dist/usecases/version/checkVersion.usecase.js.map +1 -0
- package/dist/usecases/version/triggerSelfUpdate.usecase.d.ts +7 -0
- package/dist/usecases/version/triggerSelfUpdate.usecase.d.ts.map +1 -0
- package/dist/usecases/version/triggerSelfUpdate.usecase.js +9 -0
- package/dist/usecases/version/triggerSelfUpdate.usecase.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,34 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.7.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.6.0...reviewflow-v3.7.0) (2026-03-15)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* capture git diff stats per review (commits, additions, deletions) ([111b77f](https://github.com/DGouron/review-flow/commit/111b77f921a97df1ab9ffeea9cf6fee638cd4246))
|
|
14
|
+
* capture git diff stats per review (commits, additions, deletions) ([fd4d753](https://github.com/DGouron/review-flow/commit/fd4d753a715aa25c73c8baa4c7c9824a0d793f22)), closes [#47](https://github.com/DGouron/review-flow/issues/47)
|
|
15
|
+
* **cleanup:** add review file retention policy with scheduled cleanup ([c2baea8](https://github.com/DGouron/review-flow/commit/c2baea8856bb0be72b46a99d68f724bf7b230215))
|
|
16
|
+
* **cleanup:** review file retention policy with scheduled cleanup ([56f4e6c](https://github.com/DGouron/review-flow/commit/56f4e6c32c9f54b8e7f673177a5e67cadfc05a10))
|
|
17
|
+
* **dashboard:** add version update checker with self-update capability ([715d8ae](https://github.com/DGouron/review-flow/commit/715d8aed7ff39cb1f86edf0a8e33814c2fa728fc))
|
|
18
|
+
* **dashboard:** canvas charts and animated counters in stats section ([abcf1af](https://github.com/DGouron/review-flow/commit/abcf1af3d6b07533aed1f0db1f834edecb44b426))
|
|
19
|
+
* **dashboard:** collapsible lists for long MR lanes ([eba2441](https://github.com/DGouron/review-flow/commit/eba2441ba0f5768c44fd76979fe62641d439517a))
|
|
20
|
+
* **dashboard:** diff stats in MR sheet + score trend per developer ([9235e0c](https://github.com/DGouron/review-flow/commit/9235e0c88392c2521edb0b2015387024843f925a))
|
|
21
|
+
* **dashboard:** logs open in side sheet instead of inline section ([7737782](https://github.com/DGouron/review-flow/commit/773778259561f3d5b1108316b8d68d2acc06344e))
|
|
22
|
+
* **dashboard:** logs sheet takes full height with sticky clear button ([632e2f2](https://github.com/DGouron/review-flow/commit/632e2f20f1ecb9f6377d77dd80ce5c91dd98b851))
|
|
23
|
+
* **dashboard:** MR detail side sheet with canvas graphs ([bbb6065](https://github.com/DGouron/review-flow/commit/bbb6065945eda10a7092d9c304e764d88fa2a372))
|
|
24
|
+
* **dashboard:** sticky action footer in MR sheet with approve button ([48041fe](https://github.com/DGouron/review-flow/commit/48041fe5bec7c43a43433a276c8147b9b6f96c4d))
|
|
25
|
+
* **dashboard:** version update checker with self-update ([37f7ee4](https://github.com/DGouron/review-flow/commit/37f7ee48fff96adc69a64a9c44998a01681eca79))
|
|
26
|
+
* stats recalculate button with diff stats backfill ([fa04c7c](https://github.com/DGouron/review-flow/commit/fa04c7c7f7be15c6a2ba416c9cc991bd5c45248a))
|
|
27
|
+
* stats recalculate button with diff stats backfill ([7df16cf](https://github.com/DGouron/review-flow/commit/7df16cf8a360d814713c4c3f2281dc410f880b2f))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
* address auto-review findings (null over undefined, port→gateway naming) ([c81937a](https://github.com/DGouron/review-flow/commit/c81937a5b9f64225077cc981d5b5c56c0f73ffb1))
|
|
33
|
+
* address PR [#124](https://github.com/DGouron/review-flow/issues/124) review — architecture and code quality ([2b9b577](https://github.com/DGouron/review-flow/commit/2b9b5775361bd521a62ef86e692f6e29357c2c4f))
|
|
34
|
+
* **dashboard:** auto-populate project selector from server config ([3c68e22](https://github.com/DGouron/review-flow/commit/3c68e22321660578b0805e74a61f5553b9e75dca))
|
|
35
|
+
|
|
8
36
|
## [3.6.0](https://github.com/DGouron/review-flow/compare/reviewflow-v3.5.0...reviewflow-v3.6.0) (2026-03-14)
|
|
9
37
|
|
|
10
38
|
|
|
@@ -11,6 +11,7 @@ export interface ProjectConfig {
|
|
|
11
11
|
reviewSkill: string;
|
|
12
12
|
reviewFollowupSkill: string;
|
|
13
13
|
language: Language;
|
|
14
|
+
retentionDays: number;
|
|
14
15
|
agents?: AgentDefinition[];
|
|
15
16
|
followupAgents?: AgentDefinition[];
|
|
16
17
|
}
|
|
@@ -32,5 +33,6 @@ export declare function getProjectLanguage(localPath: string): Language;
|
|
|
32
33
|
/**
|
|
33
34
|
* Get followup agents from project config or undefined for defaults
|
|
34
35
|
*/
|
|
36
|
+
export declare function getProjectRetentionDays(localPath: string): number;
|
|
35
37
|
export declare function getFollowupAgents(localPath: string): AgentDefinition[] | undefined;
|
|
36
38
|
//# sourceMappingURL=projectConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;CACpC;AAmCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA+C9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,SAAS,CAOjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAO9D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOjE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,SAAS,CAOlF"}
|
|
@@ -3,6 +3,13 @@ import { join } from 'node:path';
|
|
|
3
3
|
/**
|
|
4
4
|
* Validate agents array structure
|
|
5
5
|
*/
|
|
6
|
+
const DEFAULT_RETENTION_DAYS = 14;
|
|
7
|
+
function parseRetentionDays(value) {
|
|
8
|
+
if (typeof value === 'number' && Number.isInteger(value) && value >= 1) {
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
return DEFAULT_RETENTION_DAYS;
|
|
12
|
+
}
|
|
6
13
|
function validateAgents(agents) {
|
|
7
14
|
if (!Array.isArray(agents)) {
|
|
8
15
|
return false;
|
|
@@ -59,6 +66,7 @@ export function loadProjectConfig(localPath) {
|
|
|
59
66
|
reviewSkill: String(parsed.reviewSkill),
|
|
60
67
|
reviewFollowupSkill: String(parsed.reviewFollowupSkill),
|
|
61
68
|
language: parsed.language === 'fr' ? 'fr' : 'en',
|
|
69
|
+
retentionDays: parseRetentionDays(parsed.retentionDays),
|
|
62
70
|
agents: parsed.agents,
|
|
63
71
|
followupAgents: parsed.followupAgents,
|
|
64
72
|
};
|
|
@@ -90,6 +98,15 @@ export function getProjectLanguage(localPath) {
|
|
|
90
98
|
/**
|
|
91
99
|
* Get followup agents from project config or undefined for defaults
|
|
92
100
|
*/
|
|
101
|
+
export function getProjectRetentionDays(localPath) {
|
|
102
|
+
try {
|
|
103
|
+
const config = loadProjectConfig(localPath);
|
|
104
|
+
return config?.retentionDays ?? DEFAULT_RETENTION_DAYS;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return DEFAULT_RETENTION_DAYS;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
93
110
|
export function getFollowupAgents(localPath) {
|
|
94
111
|
try {
|
|
95
112
|
const config = loadProjectConfig(localPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/config/projectConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfillProgress.d.ts","sourceRoot":"","sources":["../../../src/entities/backfill/backfillProgress.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;CAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backfillProgress.js","sourceRoot":"","sources":["../../../src/entities/backfill/backfillProgress.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class RetentionPolicy {
|
|
2
|
+
private readonly retentionDays;
|
|
3
|
+
private constructor();
|
|
4
|
+
static create(days?: number): RetentionPolicy;
|
|
5
|
+
get days(): number;
|
|
6
|
+
isExpired(fileDate: Date, now?: Date): boolean;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=retentionPolicy.valueObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retentionPolicy.valueObject.d.ts","sourceRoot":"","sources":["../../../src/entities/cleanup/retentionPolicy.valueObject.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IACN,OAAO,CAAC,QAAQ,CAAC,aAAa;IAAlD,OAAO;IAEP,MAAM,CAAC,MAAM,CAAC,IAAI,SAAK,GAAG,eAAe;IAOzC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO;CAI3D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const MILLISECONDS_PER_DAY = 86_400_000;
|
|
2
|
+
export class RetentionPolicy {
|
|
3
|
+
retentionDays;
|
|
4
|
+
constructor(retentionDays) {
|
|
5
|
+
this.retentionDays = retentionDays;
|
|
6
|
+
}
|
|
7
|
+
static create(days = 14) {
|
|
8
|
+
if (!Number.isInteger(days) || days < 1) {
|
|
9
|
+
throw new Error('Retention days must be a positive integer (minimum 1)');
|
|
10
|
+
}
|
|
11
|
+
return new RetentionPolicy(days);
|
|
12
|
+
}
|
|
13
|
+
get days() {
|
|
14
|
+
return this.retentionDays;
|
|
15
|
+
}
|
|
16
|
+
isExpired(fileDate, now = new Date()) {
|
|
17
|
+
const cutoff = new Date(now.getTime() - this.retentionDays * MILLISECONDS_PER_DAY);
|
|
18
|
+
return fileDate.getTime() < cutoff.getTime();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=retentionPolicy.valueObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retentionPolicy.valueObject.js","sourceRoot":"","sources":["../../../src/entities/cleanup/retentionPolicy.valueObject.ts"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC,MAAM,OAAO,eAAe;IACW;IAArC,YAAqC,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAAG,CAAC;IAE9D,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;QACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,QAAc,EAAE,MAAY,IAAI,IAAI,EAAE;QAC9C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,CAAC;QACnF,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffStats.d.ts","sourceRoot":"","sources":["../../../src/entities/diffStats/diffStats.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffStats.js","sourceRoot":"","sources":["../../../src/entities/diffStats/diffStats.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffStatsFetch.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/diffStats/diffStatsFetch.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CACnF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffStatsFetch.gateway.js","sourceRoot":"","sources":["../../../src/entities/diffStats/diffStatsFetch.gateway.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type VersionCheckResult = {
|
|
2
|
+
currentVersion: string;
|
|
3
|
+
latestVersion: string | null;
|
|
4
|
+
updateAvailable: boolean;
|
|
5
|
+
checkedAt: string;
|
|
6
|
+
};
|
|
7
|
+
export type SelfUpdateResult = {
|
|
8
|
+
status: 'started';
|
|
9
|
+
} | {
|
|
10
|
+
status: 'updated';
|
|
11
|
+
previousVersion: string;
|
|
12
|
+
newVersion: string;
|
|
13
|
+
} | {
|
|
14
|
+
status: 'failed';
|
|
15
|
+
error: string;
|
|
16
|
+
};
|
|
17
|
+
export type UpdateStatus = 'idle' | 'checking' | 'updating' | 'restarting' | 'failed';
|
|
18
|
+
//# sourceMappingURL=packageVersion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.gateway.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.gateway.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type NpmRegistryResponse } from '../../entities/packageVersion/packageVersion.schema.js';
|
|
2
|
+
export declare function parseNpmRegistryResponse(data: unknown): NpmRegistryResponse;
|
|
3
|
+
export declare function safeParseNpmRegistryResponse(data: unknown): import("zod").ZodSafeParseResult<{
|
|
4
|
+
version: string;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function isValidNpmRegistryResponse(data: unknown): data is NpmRegistryResponse;
|
|
7
|
+
//# sourceMappingURL=packageVersion.guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.guard.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.guard.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAIxH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,CAE3E;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO;;GAEzD;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,mBAAmB,CAErF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createGuard } from '../../shared/foundation/guard.base.js';
|
|
2
|
+
import { npmRegistryResponseSchema } from '../../entities/packageVersion/packageVersion.schema.js';
|
|
3
|
+
const npmRegistryResponseGuard = createGuard(npmRegistryResponseSchema);
|
|
4
|
+
export function parseNpmRegistryResponse(data) {
|
|
5
|
+
return npmRegistryResponseGuard.parse(data);
|
|
6
|
+
}
|
|
7
|
+
export function safeParseNpmRegistryResponse(data) {
|
|
8
|
+
return npmRegistryResponseGuard.safeParse(data);
|
|
9
|
+
}
|
|
10
|
+
export function isValidNpmRegistryResponse(data) {
|
|
11
|
+
return npmRegistryResponseGuard.isValid(data);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=packageVersion.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.guard.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,yBAAyB,EAA4B,MAAM,oDAAoD,CAAA;AAExH,MAAM,wBAAwB,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAA;AAEvE,MAAM,UAAU,wBAAwB,CAAC,IAAa;IACpD,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAa;IACxD,OAAO,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,OAAO,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const npmRegistryResponseSchema: z.ZodObject<{
|
|
3
|
+
version: z.ZodString;
|
|
4
|
+
}, z.core.$strip>;
|
|
5
|
+
export type NpmRegistryResponse = z.infer<typeof npmRegistryResponseSchema>;
|
|
6
|
+
export declare const versionCheckResultSchema: z.ZodObject<{
|
|
7
|
+
currentVersion: z.ZodString;
|
|
8
|
+
latestVersion: z.ZodNullable<z.ZodString>;
|
|
9
|
+
updateAvailable: z.ZodBoolean;
|
|
10
|
+
checkedAt: z.ZodString;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
//# sourceMappingURL=packageVersion.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.schema.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,yBAAyB;;iBAEpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const npmRegistryResponseSchema = z.object({
|
|
3
|
+
version: z.string(),
|
|
4
|
+
});
|
|
5
|
+
export const versionCheckResultSchema = z.object({
|
|
6
|
+
currentVersion: z.string(),
|
|
7
|
+
latestVersion: z.string().nullable(),
|
|
8
|
+
updateAvailable: z.boolean(),
|
|
9
|
+
checkedAt: z.string(),
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=packageVersion.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.schema.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/packageVersion.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selfUpdateCommand.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/selfUpdateCommand.gateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;IACtE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selfUpdateCommand.gateway.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/selfUpdateCommand.gateway.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VersionCheckResult } from '../../entities/packageVersion/packageVersion.js';
|
|
2
|
+
export interface VersionCachePort {
|
|
3
|
+
get(): VersionCheckResult | null;
|
|
4
|
+
set(result: VersionCheckResult): void;
|
|
5
|
+
isExpired(): boolean;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=versionCache.gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versionCache.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/packageVersion/versionCache.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAErF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,IAAI,kBAAkB,GAAG,IAAI,CAAA;IAChC,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACrC,SAAS,IAAI,OAAO,CAAA;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versionCache.gateway.js","sourceRoot":"","sources":["../../../src/entities/packageVersion/versionCache.gateway.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { DiffStats } from '../../entities/diffStats/diffStats.js';
|
|
2
|
+
/**
|
|
3
|
+
* Statistics for a single code review, including score, issue counts,
|
|
4
|
+
* and optional diff-level metrics (additions/deletions).
|
|
5
|
+
*/
|
|
6
|
+
export interface ReviewStats {
|
|
7
|
+
id: string;
|
|
8
|
+
timestamp: string;
|
|
9
|
+
mrNumber: number;
|
|
10
|
+
duration: number;
|
|
11
|
+
score: number | null;
|
|
12
|
+
blocking: number;
|
|
13
|
+
warnings: number;
|
|
14
|
+
suggestions?: number;
|
|
15
|
+
assignedBy?: string;
|
|
16
|
+
diffStats?: DiffStats | null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Aggregated statistics for all reviews in a project, including
|
|
20
|
+
* totals, averages, trends data, and diff-level aggregates.
|
|
21
|
+
*/
|
|
22
|
+
export interface ProjectStats {
|
|
23
|
+
totalReviews: number;
|
|
24
|
+
totalDuration: number;
|
|
25
|
+
averageScore: number | null;
|
|
26
|
+
averageDuration: number;
|
|
27
|
+
totalBlocking: number;
|
|
28
|
+
totalWarnings: number;
|
|
29
|
+
reviews: ReviewStats[];
|
|
30
|
+
lastUpdated: string;
|
|
31
|
+
totalAdditions: number;
|
|
32
|
+
totalDeletions: number;
|
|
33
|
+
averageAdditions: number | null;
|
|
34
|
+
averageDeletions: number | null;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=projectStats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectStats.d.ts","sourceRoot":"","sources":["../../../src/entities/stats/projectStats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectStats.js","sourceRoot":"","sources":["../../../src/entities/stats/projectStats.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const recalculateBodySchema: z.ZodObject<{
|
|
3
|
+
path: z.ZodOptional<z.ZodString>;
|
|
4
|
+
backfill: z.ZodOptional<z.ZodBoolean>;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export type RecalculateBody = z.infer<typeof recalculateBodySchema>;
|
|
7
|
+
export declare const safeParseRecalculateBody: (input: unknown) => z.ZodSafeParseResult<{
|
|
8
|
+
path?: string | undefined;
|
|
9
|
+
backfill?: boolean | undefined;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=recalculateBody.guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recalculateBody.guard.d.ts","sourceRoot":"","sources":["../../../src/entities/stats/recalculateBody.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,wBAAwB;;;EAAiC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createGuard } from '../../shared/foundation/guard.base.js';
|
|
3
|
+
export const recalculateBodySchema = z.object({
|
|
4
|
+
path: z.string().optional(),
|
|
5
|
+
backfill: z.boolean().optional(),
|
|
6
|
+
});
|
|
7
|
+
const recalculateBodyGuard = createGuard(recalculateBodySchema);
|
|
8
|
+
export const safeParseRecalculateBody = recalculateBodyGuard.safeParse;
|
|
9
|
+
//# sourceMappingURL=recalculateBody.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recalculateBody.guard.js","sourceRoot":"","sources":["../../../src/entities/stats/recalculateBody.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAIH,MAAM,oBAAoB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,SAAS,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ProjectStats } from '../../entities/stats/projectStats.js';
|
|
2
|
+
export interface StatsGateway {
|
|
3
|
+
loadProjectStats(projectPath: string): ProjectStats | null;
|
|
4
|
+
saveProjectStats(projectPath: string, stats: ProjectStats): void;
|
|
5
|
+
statsFileExists(projectPath: string): boolean;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=stats.gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.gateway.d.ts","sourceRoot":"","sources":["../../../src/entities/stats/stats.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IAC3D,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACjE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.gateway.js","sourceRoot":"","sources":["../../../src/entities/stats/stats.gateway.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { DiffStats } from '../../entities/diffStats/diffStats.js';
|
|
1
2
|
export interface ReviewEvent {
|
|
2
3
|
type: 'review' | 'followup';
|
|
3
4
|
timestamp: string;
|
|
@@ -8,5 +9,6 @@ export interface ReviewEvent {
|
|
|
8
9
|
suggestions: number;
|
|
9
10
|
threadsClosed: number;
|
|
10
11
|
threadsOpened: number;
|
|
12
|
+
diffStats: DiffStats | null;
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=reviewEvent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewEvent.d.ts","sourceRoot":"","sources":["../../../src/entities/tracking/reviewEvent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"reviewEvent.d.ts","sourceRoot":"","sources":["../../../src/entities/tracking/reviewEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeInvoker.d.ts","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInvoker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"claudeInvoker.d.ts","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInvoker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAmB1F,wBAAgB,oBAAoB,IAAI,MAAM,CAa7C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAuBpD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAU3C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASrD;AAOD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;AA+GzF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,gBAAgB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CA8U3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,IAAI,CAiBN"}
|
|
@@ -9,6 +9,10 @@ import { getProjectAgents, getFollowupAgents } from '../../config/projectConfig.
|
|
|
9
9
|
import { addReviewStats } from '../../services/statsService.js';
|
|
10
10
|
import { FileSystemReviewRequestTrackingGateway } from '../../interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.js';
|
|
11
11
|
import { ProjectStatsCalculator } from '../../interface-adapters/presenters/projectStats.calculator.js';
|
|
12
|
+
import { GitLabDiffStatsFetchGateway } from '../../interface-adapters/gateways/diffStatsFetch.gitlab.gateway.js';
|
|
13
|
+
import { GitHubDiffStatsFetchGateway } from '../../interface-adapters/gateways/diffStatsFetch.github.gateway.js';
|
|
14
|
+
import { defaultGitLabExecutor } from '../../interface-adapters/gateways/threadFetch.gitlab.gateway.js';
|
|
15
|
+
import { defaultGitHubExecutor } from '../../interface-adapters/gateways/threadFetch.github.gateway.js';
|
|
12
16
|
import { resolveClaudePath } from '../../shared/services/claudePathResolver.js';
|
|
13
17
|
import { getJobContextFilePath } from '../../shared/services/mcpJobContext.js';
|
|
14
18
|
import { buildLanguageDirective } from '../../frameworks/claude/languageDirective.js';
|
|
@@ -452,7 +456,17 @@ export async function invokeClaudeReview(job, logger, onProgress, signal) {
|
|
|
452
456
|
const trackingGateway = new FileSystemReviewRequestTrackingGateway(new ProjectStatsCalculator());
|
|
453
457
|
const mrDetails = trackingGateway.getById(job.localPath, mrId);
|
|
454
458
|
const assignedBy = mrDetails?.assignment?.username;
|
|
455
|
-
|
|
459
|
+
let diffStats = null;
|
|
460
|
+
try {
|
|
461
|
+
const diffStatsFetchGateway = job.platform === 'github'
|
|
462
|
+
? new GitHubDiffStatsFetchGateway(defaultGitHubExecutor)
|
|
463
|
+
: new GitLabDiffStatsFetchGateway(defaultGitLabExecutor);
|
|
464
|
+
diffStats = diffStatsFetchGateway.fetchDiffStats(job.projectPath, job.mrNumber);
|
|
465
|
+
}
|
|
466
|
+
catch {
|
|
467
|
+
logger.warn({ jobId: job.id }, 'Failed to fetch diff stats, continuing without');
|
|
468
|
+
}
|
|
469
|
+
const reviewStats = addReviewStats(job.localPath, job.mrNumber, durationMs, stdout, assignedBy, diffStats);
|
|
456
470
|
logger.info({ reviewStats }, 'Stats de review enregistrées');
|
|
457
471
|
}
|
|
458
472
|
catch (statsError) {
|