reviewflow 3.0.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 +271 -0
- package/LICENSE +21 -0
- package/README.md +209 -0
- package/dist/claude/invoker.d.ts +3 -0
- package/dist/claude/invoker.d.ts.map +1 -0
- package/dist/claude/invoker.js +4 -0
- package/dist/claude/invoker.js.map +1 -0
- package/dist/claude/progressParser.d.ts +3 -0
- package/dist/claude/progressParser.d.ts.map +1 -0
- package/dist/claude/progressParser.js +4 -0
- package/dist/claude/progressParser.js.map +1 -0
- package/dist/cli/parseCliArgs.d.ts +6 -0
- package/dist/cli/parseCliArgs.d.ts.map +1 -0
- package/dist/cli/parseCliArgs.js +13 -0
- package/dist/cli/parseCliArgs.js.map +1 -0
- package/dist/config/loader.d.ts +3 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +4 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/projectConfig.d.ts +30 -0
- package/dist/config/projectConfig.d.ts.map +1 -0
- package/dist/config/projectConfig.js +89 -0
- package/dist/config/projectConfig.js.map +1 -0
- package/dist/entities/diffMetadata/diffMetadata.gateway.d.ts +5 -0
- package/dist/entities/diffMetadata/diffMetadata.gateway.d.ts.map +1 -0
- package/dist/entities/diffMetadata/diffMetadata.gateway.js +2 -0
- package/dist/entities/diffMetadata/diffMetadata.gateway.js.map +1 -0
- package/dist/entities/github/githubPullRequestEvent.guard.d.ts +199 -0
- package/dist/entities/github/githubPullRequestEvent.guard.d.ts.map +1 -0
- package/dist/entities/github/githubPullRequestEvent.guard.js +28 -0
- package/dist/entities/github/githubPullRequestEvent.guard.js.map +1 -0
- package/dist/entities/gitlab/gitlabMergeRequestEvent.guard.d.ts +231 -0
- package/dist/entities/gitlab/gitlabMergeRequestEvent.guard.d.ts.map +1 -0
- package/dist/entities/gitlab/gitlabMergeRequestEvent.guard.js +52 -0
- package/dist/entities/gitlab/gitlabMergeRequestEvent.guard.js.map +1 -0
- package/dist/entities/job/jobContext.gateway.d.ts +10 -0
- package/dist/entities/job/jobContext.gateway.d.ts.map +1 -0
- package/dist/entities/job/jobContext.gateway.js +2 -0
- package/dist/entities/job/jobContext.gateway.js.map +1 -0
- package/dist/entities/progress/agentDefinition.type.d.ts +7 -0
- package/dist/entities/progress/agentDefinition.type.d.ts.map +1 -0
- package/dist/entities/progress/agentDefinition.type.js +18 -0
- package/dist/entities/progress/agentDefinition.type.js.map +1 -0
- package/dist/entities/progress/progress.calculator.d.ts +3 -0
- package/dist/entities/progress/progress.calculator.d.ts.map +1 -0
- package/dist/entities/progress/progress.calculator.js +17 -0
- package/dist/entities/progress/progress.calculator.js.map +1 -0
- package/dist/entities/progress/progress.factory.d.ts +4 -0
- package/dist/entities/progress/progress.factory.d.ts.map +1 -0
- package/dist/entities/progress/progress.factory.js +15 -0
- package/dist/entities/progress/progress.factory.js.map +1 -0
- package/dist/entities/progress/progress.gateway.d.ts +12 -0
- package/dist/entities/progress/progress.gateway.d.ts.map +1 -0
- package/dist/entities/progress/progress.gateway.js +2 -0
- package/dist/entities/progress/progress.gateway.js.map +1 -0
- package/dist/entities/progress/progress.type.d.ts +28 -0
- package/dist/entities/progress/progress.type.d.ts.map +1 -0
- package/dist/entities/progress/progress.type.js +2 -0
- package/dist/entities/progress/progress.type.js.map +1 -0
- package/dist/entities/review/reviewScore.valueObject.d.ts +25 -0
- package/dist/entities/review/reviewScore.valueObject.d.ts.map +1 -0
- package/dist/entities/review/reviewScore.valueObject.js +60 -0
- package/dist/entities/review/reviewScore.valueObject.js.map +1 -0
- package/dist/entities/reviewAction/reviewAction.d.ts +12 -0
- package/dist/entities/reviewAction/reviewAction.d.ts.map +1 -0
- package/dist/entities/reviewAction/reviewAction.gateway.d.ts +19 -0
- package/dist/entities/reviewAction/reviewAction.gateway.d.ts.map +1 -0
- package/dist/entities/reviewAction/reviewAction.gateway.js +2 -0
- package/dist/entities/reviewAction/reviewAction.gateway.js.map +1 -0
- package/dist/entities/reviewAction/reviewAction.guard.d.ts +27 -0
- package/dist/entities/reviewAction/reviewAction.guard.d.ts.map +1 -0
- package/dist/entities/reviewAction/reviewAction.guard.js +8 -0
- package/dist/entities/reviewAction/reviewAction.guard.js.map +1 -0
- package/dist/entities/reviewAction/reviewAction.js +2 -0
- package/dist/entities/reviewAction/reviewAction.js.map +1 -0
- package/dist/entities/reviewAction/reviewAction.schema.d.ts +51 -0
- package/dist/entities/reviewAction/reviewAction.schema.d.ts.map +1 -0
- package/dist/entities/reviewAction/reviewAction.schema.js +37 -0
- package/dist/entities/reviewAction/reviewAction.schema.js.map +1 -0
- package/dist/entities/reviewContext/reviewContext.d.ts +62 -0
- package/dist/entities/reviewContext/reviewContext.d.ts.map +1 -0
- package/dist/entities/reviewContext/reviewContext.gateway.d.ts +16 -0
- package/dist/entities/reviewContext/reviewContext.gateway.d.ts.map +1 -0
- package/dist/entities/reviewContext/reviewContext.gateway.js +2 -0
- package/dist/entities/reviewContext/reviewContext.gateway.js.map +1 -0
- package/dist/entities/reviewContext/reviewContext.js +2 -0
- package/dist/entities/reviewContext/reviewContext.js.map +1 -0
- package/dist/entities/reviewContext/reviewContext.schema.d.ts +122 -0
- package/dist/entities/reviewContext/reviewContext.schema.d.ts.map +1 -0
- package/dist/entities/reviewContext/reviewContext.schema.js +42 -0
- package/dist/entities/reviewContext/reviewContext.schema.js.map +1 -0
- package/dist/entities/reviewContext/reviewContextAction.guard.d.ts +247 -0
- package/dist/entities/reviewContext/reviewContextAction.guard.d.ts.map +1 -0
- package/dist/entities/reviewContext/reviewContextAction.guard.js +28 -0
- package/dist/entities/reviewContext/reviewContextAction.guard.js.map +1 -0
- package/dist/entities/reviewContext/reviewContextAction.schema.d.ts +16 -0
- package/dist/entities/reviewContext/reviewContextAction.schema.d.ts.map +1 -0
- package/dist/entities/reviewContext/reviewContextAction.schema.js +13 -0
- package/dist/entities/reviewContext/reviewContextAction.schema.js.map +1 -0
- package/dist/entities/reviewRequest/reviewRequest.entity.d.ts +37 -0
- package/dist/entities/reviewRequest/reviewRequest.entity.d.ts.map +1 -0
- package/dist/entities/reviewRequest/reviewRequest.entity.js +24 -0
- package/dist/entities/reviewRequest/reviewRequest.entity.js.map +1 -0
- package/dist/entities/reviewRequest/reviewRequest.guard.d.ts +20 -0
- package/dist/entities/reviewRequest/reviewRequest.guard.d.ts.map +1 -0
- package/dist/entities/reviewRequest/reviewRequest.guard.js +11 -0
- package/dist/entities/reviewRequest/reviewRequest.guard.js.map +1 -0
- package/dist/entities/reviewRequest/reviewRequestState.valueObject.d.ts +26 -0
- package/dist/entities/reviewRequest/reviewRequestState.valueObject.d.ts.map +1 -0
- package/dist/entities/reviewRequest/reviewRequestState.valueObject.js +61 -0
- package/dist/entities/reviewRequest/reviewRequestState.valueObject.js.map +1 -0
- package/dist/entities/shared/duration.valueObject.d.ts +21 -0
- package/dist/entities/shared/duration.valueObject.d.ts.map +1 -0
- package/dist/entities/shared/duration.valueObject.js +60 -0
- package/dist/entities/shared/duration.valueObject.js.map +1 -0
- package/dist/entities/threadFetch/threadFetch.gateway.d.ts +5 -0
- package/dist/entities/threadFetch/threadFetch.gateway.d.ts.map +1 -0
- package/dist/entities/threadFetch/threadFetch.gateway.js +2 -0
- package/dist/entities/threadFetch/threadFetch.gateway.js.map +1 -0
- package/dist/entities/tracking/assignmentInfo.d.ts +6 -0
- package/dist/entities/tracking/assignmentInfo.d.ts.map +1 -0
- package/dist/entities/tracking/assignmentInfo.js +2 -0
- package/dist/entities/tracking/assignmentInfo.js.map +1 -0
- package/dist/entities/tracking/mrTrackingData.d.ts +19 -0
- package/dist/entities/tracking/mrTrackingData.d.ts.map +1 -0
- package/dist/entities/tracking/mrTrackingData.js +11 -0
- package/dist/entities/tracking/mrTrackingData.js.map +1 -0
- package/dist/entities/tracking/reviewEvent.d.ts +12 -0
- package/dist/entities/tracking/reviewEvent.d.ts.map +1 -0
- package/dist/entities/tracking/reviewEvent.js +2 -0
- package/dist/entities/tracking/reviewEvent.js.map +1 -0
- package/dist/entities/tracking/trackedMr.d.ts +33 -0
- package/dist/entities/tracking/trackedMr.d.ts.map +1 -0
- package/dist/entities/tracking/trackedMr.js +4 -0
- package/dist/entities/tracking/trackedMr.js.map +1 -0
- package/dist/frameworks/claude/claudeInvoker.d.ts +30 -0
- package/dist/frameworks/claude/claudeInvoker.d.ts.map +1 -0
- package/dist/frameworks/claude/claudeInvoker.js +500 -0
- package/dist/frameworks/claude/claudeInvoker.js.map +1 -0
- package/dist/frameworks/claude/progressParser.d.ts +70 -0
- package/dist/frameworks/claude/progressParser.d.ts.map +1 -0
- package/dist/frameworks/claude/progressParser.js +196 -0
- package/dist/frameworks/claude/progressParser.js.map +1 -0
- package/dist/frameworks/config/configLoader.d.ts +34 -0
- package/dist/frameworks/config/configLoader.d.ts.map +1 -0
- package/dist/frameworks/config/configLoader.js +182 -0
- package/dist/frameworks/config/configLoader.js.map +1 -0
- package/dist/frameworks/logging/logBuffer.d.ts +38 -0
- package/dist/frameworks/logging/logBuffer.d.ts.map +1 -0
- package/dist/frameworks/logging/logBuffer.js +72 -0
- package/dist/frameworks/logging/logBuffer.js.map +1 -0
- package/dist/frameworks/queue/pQueueAdapter.d.ts +127 -0
- package/dist/frameworks/queue/pQueueAdapter.d.ts.map +1 -0
- package/dist/frameworks/queue/pQueueAdapter.js +276 -0
- package/dist/frameworks/queue/pQueueAdapter.js.map +1 -0
- package/dist/frameworks/settings/runtimeSettings.d.ts +12 -0
- package/dist/frameworks/settings/runtimeSettings.d.ts.map +1 -0
- package/dist/frameworks/settings/runtimeSettings.js +19 -0
- package/dist/frameworks/settings/runtimeSettings.js.map +1 -0
- package/dist/interface-adapters/adapters/githubPullRequest.adapter.d.ts +6 -0
- package/dist/interface-adapters/adapters/githubPullRequest.adapter.d.ts.map +1 -0
- package/dist/interface-adapters/adapters/githubPullRequest.adapter.js +27 -0
- package/dist/interface-adapters/adapters/githubPullRequest.adapter.js.map +1 -0
- package/dist/interface-adapters/adapters/gitlabMergeRequest.adapter.d.ts +6 -0
- package/dist/interface-adapters/adapters/gitlabMergeRequest.adapter.d.ts.map +1 -0
- package/dist/interface-adapters/adapters/gitlabMergeRequest.adapter.js +35 -0
- package/dist/interface-adapters/adapters/gitlabMergeRequest.adapter.js.map +1 -0
- package/dist/interface-adapters/adapters/platformAdapter.d.ts +9 -0
- package/dist/interface-adapters/adapters/platformAdapter.d.ts.map +1 -0
- package/dist/interface-adapters/adapters/platformAdapter.js +16 -0
- package/dist/interface-adapters/adapters/platformAdapter.js.map +1 -0
- package/dist/interface-adapters/controllers/http/cliStatus.routes.d.ts +3 -0
- package/dist/interface-adapters/controllers/http/cliStatus.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/cliStatus.routes.js +173 -0
- package/dist/interface-adapters/controllers/http/cliStatus.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/health.routes.d.ts +9 -0
- package/dist/interface-adapters/controllers/http/health.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/health.routes.js +23 -0
- package/dist/interface-adapters/controllers/http/health.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/index.d.ts +6 -0
- package/dist/interface-adapters/controllers/http/index.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/index.js +6 -0
- package/dist/interface-adapters/controllers/http/index.js.map +1 -0
- package/dist/interface-adapters/controllers/http/logs.routes.d.ts +3 -0
- package/dist/interface-adapters/controllers/http/logs.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/logs.routes.js +12 -0
- package/dist/interface-adapters/controllers/http/logs.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/mrTracking.routes.d.ts +8 -0
- package/dist/interface-adapters/controllers/http/mrTracking.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/mrTracking.routes.js +63 -0
- package/dist/interface-adapters/controllers/http/mrTracking.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts +12 -0
- package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js +265 -0
- package/dist/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/projectConfig.routes.d.ts +3 -0
- package/dist/interface-adapters/controllers/http/projectConfig.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/projectConfig.routes.js +75 -0
- package/dist/interface-adapters/controllers/http/projectConfig.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/reviews.routes.d.ts +18 -0
- package/dist/interface-adapters/controllers/http/reviews.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/reviews.routes.js +96 -0
- package/dist/interface-adapters/controllers/http/reviews.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/settings.routes.d.ts +3 -0
- package/dist/interface-adapters/controllers/http/settings.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/settings.routes.js +21 -0
- package/dist/interface-adapters/controllers/http/settings.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/http/stats.routes.d.ts +13 -0
- package/dist/interface-adapters/controllers/http/stats.routes.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/http/stats.routes.js +37 -0
- package/dist/interface-adapters/controllers/http/stats.routes.js.map +1 -0
- package/dist/interface-adapters/controllers/mcp/addAction.handler.d.ts +4 -0
- package/dist/interface-adapters/controllers/mcp/addAction.handler.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/mcp/addAction.handler.js +87 -0
- package/dist/interface-adapters/controllers/mcp/addAction.handler.js.map +1 -0
- package/dist/interface-adapters/controllers/mcp/completeAgent.handler.d.ts +4 -0
- package/dist/interface-adapters/controllers/mcp/completeAgent.handler.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/mcp/completeAgent.handler.js +62 -0
- package/dist/interface-adapters/controllers/mcp/completeAgent.handler.js.map +1 -0
- package/dist/interface-adapters/controllers/mcp/getThreads.handler.d.ts +4 -0
- package/dist/interface-adapters/controllers/mcp/getThreads.handler.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/mcp/getThreads.handler.js +32 -0
- package/dist/interface-adapters/controllers/mcp/getThreads.handler.js.map +1 -0
- package/dist/interface-adapters/controllers/mcp/getWorkflow.handler.d.ts +4 -0
- package/dist/interface-adapters/controllers/mcp/getWorkflow.handler.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/mcp/getWorkflow.handler.js +28 -0
- package/dist/interface-adapters/controllers/mcp/getWorkflow.handler.js.map +1 -0
- package/dist/interface-adapters/controllers/mcp/setPhase.handler.d.ts +4 -0
- package/dist/interface-adapters/controllers/mcp/setPhase.handler.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/mcp/setPhase.handler.js +60 -0
- package/dist/interface-adapters/controllers/mcp/setPhase.handler.js.map +1 -0
- package/dist/interface-adapters/controllers/mcp/startAgent.handler.d.ts +4 -0
- package/dist/interface-adapters/controllers/mcp/startAgent.handler.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/mcp/startAgent.handler.js +40 -0
- package/dist/interface-adapters/controllers/mcp/startAgent.handler.js.map +1 -0
- package/dist/interface-adapters/controllers/webhook/eventFilter.d.ts +71 -0
- package/dist/interface-adapters/controllers/webhook/eventFilter.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/webhook/eventFilter.js +252 -0
- package/dist/interface-adapters/controllers/webhook/eventFilter.js.map +1 -0
- package/dist/interface-adapters/controllers/webhook/github.controller.d.ts +5 -0
- package/dist/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/webhook/github.controller.js +266 -0
- package/dist/interface-adapters/controllers/webhook/github.controller.js.map +1 -0
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts +5 -0
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts.map +1 -0
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.js +461 -0
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.js.map +1 -0
- package/dist/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.d.ts +7 -0
- package/dist/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.js +71 -0
- package/dist/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.d.ts +7 -0
- package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.js +58 -0
- package/dist/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/diffMetadataFetch.github.gateway.d.ts +9 -0
- package/dist/interface-adapters/gateways/diffMetadataFetch.github.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/diffMetadataFetch.github.gateway.js +16 -0
- package/dist/interface-adapters/gateways/diffMetadataFetch.github.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.d.ts +9 -0
- package/dist/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.js +18 -0
- package/dist/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.d.ts +10 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.js +81 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.js.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.d.ts +22 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.js +142 -0
- package/dist/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.js.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.d.ts +8 -0
- package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.js +37 -0
- package/dist/interface-adapters/gateways/fileSystem/stats.fileSystem.js.map +1 -0
- package/dist/interface-adapters/gateways/jobContext.memory.gateway.d.ts +8 -0
- package/dist/interface-adapters/gateways/jobContext.memory.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/jobContext.memory.gateway.js +13 -0
- package/dist/interface-adapters/gateways/jobContext.memory.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/reviewContext.fileSystem.gateway.d.ts +14 -0
- package/dist/interface-adapters/gateways/reviewContext.fileSystem.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/reviewContext.fileSystem.gateway.js +87 -0
- package/dist/interface-adapters/gateways/reviewContext.fileSystem.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/reviewFile.gateway.d.ts +18 -0
- package/dist/interface-adapters/gateways/reviewFile.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/reviewFile.gateway.js +2 -0
- package/dist/interface-adapters/gateways/reviewFile.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/reviewProgress.memory.gateway.d.ts +13 -0
- package/dist/interface-adapters/gateways/reviewProgress.memory.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/reviewProgress.memory.gateway.js +73 -0
- package/dist/interface-adapters/gateways/reviewProgress.memory.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.d.ts +19 -0
- package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.js +2 -0
- package/dist/interface-adapters/gateways/reviewRequestTracking.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/stats.gateway.d.ts +7 -0
- package/dist/interface-adapters/gateways/stats.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/stats.gateway.js +2 -0
- package/dist/interface-adapters/gateways/stats.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/threadFetch.github.gateway.d.ts +10 -0
- package/dist/interface-adapters/gateways/threadFetch.github.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/threadFetch.github.gateway.js +33 -0
- package/dist/interface-adapters/gateways/threadFetch.github.gateway.js.map +1 -0
- package/dist/interface-adapters/gateways/threadFetch.gitlab.gateway.d.ts +10 -0
- package/dist/interface-adapters/gateways/threadFetch.gitlab.gateway.d.ts.map +1 -0
- package/dist/interface-adapters/gateways/threadFetch.gitlab.gateway.js +30 -0
- package/dist/interface-adapters/gateways/threadFetch.gitlab.gateway.js.map +1 -0
- package/dist/interface-adapters/presenters/jobStatus.presenter.d.ts +29 -0
- package/dist/interface-adapters/presenters/jobStatus.presenter.d.ts.map +1 -0
- package/dist/interface-adapters/presenters/jobStatus.presenter.js +57 -0
- package/dist/interface-adapters/presenters/jobStatus.presenter.js.map +1 -0
- package/dist/interface-adapters/presenters/reviewContextProgress.presenter.d.ts +8 -0
- package/dist/interface-adapters/presenters/reviewContextProgress.presenter.d.ts.map +1 -0
- package/dist/interface-adapters/presenters/reviewContextProgress.presenter.js +45 -0
- package/dist/interface-adapters/presenters/reviewContextProgress.presenter.js.map +1 -0
- package/dist/interface-adapters/presenters/reviewList.presenter.d.ts +22 -0
- package/dist/interface-adapters/presenters/reviewList.presenter.d.ts.map +1 -0
- package/dist/interface-adapters/presenters/reviewList.presenter.js +32 -0
- package/dist/interface-adapters/presenters/reviewList.presenter.js.map +1 -0
- package/dist/interface-adapters/services/projectStats.calculator.d.ts +8 -0
- package/dist/interface-adapters/services/projectStats.calculator.d.ts.map +1 -0
- package/dist/interface-adapters/services/projectStats.calculator.js +52 -0
- package/dist/interface-adapters/services/projectStats.calculator.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/index.html +1537 -0
- package/dist/interface-adapters/views/dashboard/styles.css +1127 -0
- package/dist/main/cli.d.ts +12 -0
- package/dist/main/cli.d.ts.map +1 -0
- package/dist/main/cli.js +67 -0
- package/dist/main/cli.js.map +1 -0
- package/dist/main/dependencies.d.ts +20 -0
- package/dist/main/dependencies.d.ts.map +1 -0
- package/dist/main/dependencies.js +28 -0
- package/dist/main/dependencies.js.map +1 -0
- package/dist/main/mcpDependencies.d.ts +16 -0
- package/dist/main/mcpDependencies.d.ts.map +1 -0
- package/dist/main/mcpDependencies.js +35 -0
- package/dist/main/mcpDependencies.js.map +1 -0
- package/dist/main/routes.d.ts +4 -0
- package/dist/main/routes.d.ts.map +1 -0
- package/dist/main/routes.js +74 -0
- package/dist/main/routes.js.map +1 -0
- package/dist/main/server.d.ts +8 -0
- package/dist/main/server.d.ts.map +1 -0
- package/dist/main/server.js +54 -0
- package/dist/main/server.js.map +1 -0
- package/dist/main/websocket.d.ts +10 -0
- package/dist/main/websocket.d.ts.map +1 -0
- package/dist/main/websocket.js +109 -0
- package/dist/main/websocket.js.map +1 -0
- package/dist/mcp/mcpLogger.d.ts +9 -0
- package/dist/mcp/mcpLogger.d.ts.map +1 -0
- package/dist/mcp/mcpLogger.js +49 -0
- package/dist/mcp/mcpLogger.js.map +1 -0
- package/dist/mcp/mcpServerStdio.d.ts +13 -0
- package/dist/mcp/mcpServerStdio.d.ts.map +1 -0
- package/dist/mcp/mcpServerStdio.js +239 -0
- package/dist/mcp/mcpServerStdio.js.map +1 -0
- package/dist/mcp/server.d.ts +8 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +24 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/types.d.ts +27 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcpServer.d.ts +2 -0
- package/dist/mcpServer.d.ts.map +1 -0
- package/dist/mcpServer.js +16 -0
- package/dist/mcpServer.js.map +1 -0
- package/dist/queue/reviewQueue.d.ts +3 -0
- package/dist/queue/reviewQueue.d.ts.map +1 -0
- package/dist/queue/reviewQueue.js +4 -0
- package/dist/queue/reviewQueue.js.map +1 -0
- package/dist/security/verifier.d.ts +21 -0
- package/dist/security/verifier.d.ts.map +1 -0
- package/dist/security/verifier.js +67 -0
- package/dist/security/verifier.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +6 -0
- package/dist/server.js.map +1 -0
- package/dist/services/agentInstructionsBuilder.d.ts +4 -0
- package/dist/services/agentInstructionsBuilder.d.ts.map +1 -0
- package/dist/services/agentInstructionsBuilder.js +65 -0
- package/dist/services/agentInstructionsBuilder.js.map +1 -0
- package/dist/services/contextActionsExecutor.d.ts +19 -0
- package/dist/services/contextActionsExecutor.d.ts.map +1 -0
- package/dist/services/contextActionsExecutor.js +18 -0
- package/dist/services/contextActionsExecutor.js.map +1 -0
- package/dist/services/logService.d.ts +3 -0
- package/dist/services/logService.d.ts.map +1 -0
- package/dist/services/logService.js +4 -0
- package/dist/services/logService.js.map +1 -0
- package/dist/services/mrTrackingService.d.ts +196 -0
- package/dist/services/mrTrackingService.d.ts.map +1 -0
- package/dist/services/mrTrackingService.js +540 -0
- package/dist/services/mrTrackingService.js.map +1 -0
- package/dist/services/reviewContextWatcher.service.d.ts +15 -0
- package/dist/services/reviewContextWatcher.service.d.ts.map +1 -0
- package/dist/services/reviewContextWatcher.service.js +44 -0
- package/dist/services/reviewContextWatcher.service.js.map +1 -0
- package/dist/services/runtimeSettings.d.ts +3 -0
- package/dist/services/runtimeSettings.d.ts.map +1 -0
- package/dist/services/runtimeSettings.js +4 -0
- package/dist/services/runtimeSettings.js.map +1 -0
- package/dist/services/statsService.d.ts +76 -0
- package/dist/services/statsService.d.ts.map +1 -0
- package/dist/services/statsService.js +250 -0
- package/dist/services/statsService.js.map +1 -0
- package/dist/services/threadActionsExecutor.d.ts +26 -0
- package/dist/services/threadActionsExecutor.d.ts.map +1 -0
- package/dist/services/threadActionsExecutor.js +27 -0
- package/dist/services/threadActionsExecutor.js.map +1 -0
- package/dist/services/threadActionsParser.d.ts +4 -0
- package/dist/services/threadActionsParser.d.ts.map +1 -0
- package/dist/services/threadActionsParser.js +50 -0
- package/dist/services/threadActionsParser.js.map +1 -0
- package/dist/shared/foundation/executionGateway.base.d.ts +14 -0
- package/dist/shared/foundation/executionGateway.base.d.ts.map +1 -0
- package/dist/shared/foundation/executionGateway.base.js +30 -0
- package/dist/shared/foundation/executionGateway.base.js.map +1 -0
- package/dist/shared/foundation/gateway.base.d.ts +9 -0
- package/dist/shared/foundation/gateway.base.d.ts.map +1 -0
- package/dist/shared/foundation/gateway.base.js +2 -0
- package/dist/shared/foundation/gateway.base.js.map +1 -0
- package/dist/shared/foundation/guard.base.d.ts +8 -0
- package/dist/shared/foundation/guard.base.d.ts.map +1 -0
- package/dist/shared/foundation/guard.base.js +17 -0
- package/dist/shared/foundation/guard.base.js.map +1 -0
- package/dist/shared/foundation/presenter.base.d.ts +4 -0
- package/dist/shared/foundation/presenter.base.d.ts.map +1 -0
- package/dist/shared/foundation/presenter.base.js +2 -0
- package/dist/shared/foundation/presenter.base.js.map +1 -0
- package/dist/shared/foundation/usecase.base.d.ts +4 -0
- package/dist/shared/foundation/usecase.base.d.ts.map +1 -0
- package/dist/shared/foundation/usecase.base.js +2 -0
- package/dist/shared/foundation/usecase.base.js.map +1 -0
- package/dist/shared/services/claudePathResolver.d.ts +3 -0
- package/dist/shared/services/claudePathResolver.d.ts.map +1 -0
- package/dist/shared/services/claudePathResolver.js +62 -0
- package/dist/shared/services/claudePathResolver.js.map +1 -0
- package/dist/shared/services/dependencyChecker.d.ts +13 -0
- package/dist/shared/services/dependencyChecker.d.ts.map +1 -0
- package/dist/shared/services/dependencyChecker.js +37 -0
- package/dist/shared/services/dependencyChecker.js.map +1 -0
- package/dist/shared/services/mcpJobContext.d.ts +3 -0
- package/dist/shared/services/mcpJobContext.d.ts.map +1 -0
- package/dist/shared/services/mcpJobContext.js +10 -0
- package/dist/shared/services/mcpJobContext.js.map +1 -0
- package/dist/tests/factories/config.factory.d.ts +4 -0
- package/dist/tests/factories/config.factory.d.ts.map +1 -0
- package/dist/tests/factories/config.factory.js +27 -0
- package/dist/tests/factories/config.factory.js.map +1 -0
- package/dist/tests/factories/gitHubEvent.factory.d.ts +14 -0
- package/dist/tests/factories/gitHubEvent.factory.d.ts.map +1 -0
- package/dist/tests/factories/gitHubEvent.factory.js +93 -0
- package/dist/tests/factories/gitHubEvent.factory.js.map +1 -0
- package/dist/tests/factories/gitLabEvent.factory.d.ts +18 -0
- package/dist/tests/factories/gitLabEvent.factory.d.ts.map +1 -0
- package/dist/tests/factories/gitLabEvent.factory.js +129 -0
- package/dist/tests/factories/gitLabEvent.factory.js.map +1 -0
- package/dist/tests/factories/githubApiResponse.factory.d.ts +21 -0
- package/dist/tests/factories/githubApiResponse.factory.d.ts.map +1 -0
- package/dist/tests/factories/githubApiResponse.factory.js +25 -0
- package/dist/tests/factories/githubApiResponse.factory.js.map +1 -0
- package/dist/tests/factories/gitlabApiResponse.factory.d.ts +26 -0
- package/dist/tests/factories/gitlabApiResponse.factory.d.ts.map +1 -0
- package/dist/tests/factories/gitlabApiResponse.factory.js +9 -0
- package/dist/tests/factories/gitlabApiResponse.factory.js.map +1 -0
- package/dist/tests/factories/projectStats.factory.d.ts +9 -0
- package/dist/tests/factories/projectStats.factory.d.ts.map +1 -0
- package/dist/tests/factories/projectStats.factory.js +48 -0
- package/dist/tests/factories/projectStats.factory.js.map +1 -0
- package/dist/tests/factories/reviewContext.factory.d.ts +9 -0
- package/dist/tests/factories/reviewContext.factory.d.ts.map +1 -0
- package/dist/tests/factories/reviewContext.factory.js +59 -0
- package/dist/tests/factories/reviewContext.factory.js.map +1 -0
- package/dist/tests/factories/reviewJob.factory.d.ts +10 -0
- package/dist/tests/factories/reviewJob.factory.d.ts.map +1 -0
- package/dist/tests/factories/reviewJob.factory.js +43 -0
- package/dist/tests/factories/reviewJob.factory.js.map +1 -0
- package/dist/tests/factories/trackedMr.factory.d.ts +10 -0
- package/dist/tests/factories/trackedMr.factory.d.ts.map +1 -0
- package/dist/tests/factories/trackedMr.factory.js +65 -0
- package/dist/tests/factories/trackedMr.factory.js.map +1 -0
- package/dist/tests/factories/webhookEvent.factory.d.ts +8 -0
- package/dist/tests/factories/webhookEvent.factory.d.ts.map +1 -0
- package/dist/tests/factories/webhookEvent.factory.js +72 -0
- package/dist/tests/factories/webhookEvent.factory.js.map +1 -0
- package/dist/tests/integration/server.integration.test.d.ts +2 -0
- package/dist/tests/integration/server.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/server.integration.test.js +93 -0
- package/dist/tests/integration/server.integration.test.js.map +1 -0
- package/dist/tests/stubs/fastifyRequest.stub.d.ts +9 -0
- package/dist/tests/stubs/fastifyRequest.stub.d.ts.map +1 -0
- package/dist/tests/stubs/fastifyRequest.stub.js +11 -0
- package/dist/tests/stubs/fastifyRequest.stub.js.map +1 -0
- package/dist/tests/stubs/logger.stub.d.ts +3 -0
- package/dist/tests/stubs/logger.stub.d.ts.map +1 -0
- package/dist/tests/stubs/logger.stub.js +14 -0
- package/dist/tests/stubs/logger.stub.js.map +1 -0
- package/dist/tests/stubs/reviewContextGateway.stub.d.ts +18 -0
- package/dist/tests/stubs/reviewContextGateway.stub.d.ts.map +1 -0
- package/dist/tests/stubs/reviewContextGateway.stub.js +69 -0
- package/dist/tests/stubs/reviewContextGateway.stub.js.map +1 -0
- package/dist/tests/stubs/reviewFile.stub.d.ts +13 -0
- package/dist/tests/stubs/reviewFile.stub.d.ts.map +1 -0
- package/dist/tests/stubs/reviewFile.stub.js +56 -0
- package/dist/tests/stubs/reviewFile.stub.js.map +1 -0
- package/dist/tests/stubs/reviewQueue.stub.d.ts +20 -0
- package/dist/tests/stubs/reviewQueue.stub.d.ts.map +1 -0
- package/dist/tests/stubs/reviewQueue.stub.js +46 -0
- package/dist/tests/stubs/reviewQueue.stub.js.map +1 -0
- package/dist/tests/stubs/reviewRequestTracking.stub.d.ts +21 -0
- package/dist/tests/stubs/reviewRequestTracking.stub.d.ts.map +1 -0
- package/dist/tests/stubs/reviewRequestTracking.stub.js +121 -0
- package/dist/tests/stubs/reviewRequestTracking.stub.js.map +1 -0
- package/dist/tests/stubs/stats.stub.d.ts +10 -0
- package/dist/tests/stubs/stats.stub.d.ts.map +1 -0
- package/dist/tests/stubs/stats.stub.js +17 -0
- package/dist/tests/stubs/stats.stub.js.map +1 -0
- package/dist/tests/stubs/threadFetch.stub.d.ts +8 -0
- package/dist/tests/stubs/threadFetch.stub.d.ts.map +1 -0
- package/dist/tests/stubs/threadFetch.stub.js +10 -0
- package/dist/tests/stubs/threadFetch.stub.js.map +1 -0
- package/dist/tests/units/claude/progressParser.test.d.ts +2 -0
- package/dist/tests/units/claude/progressParser.test.d.ts.map +1 -0
- package/dist/tests/units/claude/progressParser.test.js +202 -0
- package/dist/tests/units/claude/progressParser.test.js.map +1 -0
- package/dist/tests/units/cli/cli.integration.test.d.ts +2 -0
- package/dist/tests/units/cli/cli.integration.test.d.ts.map +1 -0
- package/dist/tests/units/cli/cli.integration.test.js +18 -0
- package/dist/tests/units/cli/cli.integration.test.js.map +1 -0
- package/dist/tests/units/cli/parseCliArgs.test.d.ts +2 -0
- package/dist/tests/units/cli/parseCliArgs.test.d.ts.map +1 -0
- package/dist/tests/units/cli/parseCliArgs.test.js +35 -0
- package/dist/tests/units/cli/parseCliArgs.test.js.map +1 -0
- package/dist/tests/units/entities/duration.valueObject.test.d.ts +2 -0
- package/dist/tests/units/entities/duration.valueObject.test.d.ts.map +1 -0
- package/dist/tests/units/entities/duration.valueObject.test.js +112 -0
- package/dist/tests/units/entities/duration.valueObject.test.js.map +1 -0
- package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.d.ts +2 -0
- package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.d.ts.map +1 -0
- package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.js +53 -0
- package/dist/tests/units/entities/github/githubPullRequestEvent.guard.test.js.map +1 -0
- package/dist/tests/units/entities/gitlab/gitlabMergeRequestEvent.guard.test.d.ts +2 -0
- package/dist/tests/units/entities/gitlab/gitlabMergeRequestEvent.guard.test.d.ts.map +1 -0
- package/dist/tests/units/entities/gitlab/gitlabMergeRequestEvent.guard.test.js +97 -0
- package/dist/tests/units/entities/gitlab/gitlabMergeRequestEvent.guard.test.js.map +1 -0
- package/dist/tests/units/entities/progress/progress.test.d.ts +2 -0
- package/dist/tests/units/entities/progress/progress.test.d.ts.map +1 -0
- package/dist/tests/units/entities/progress/progress.test.js +137 -0
- package/dist/tests/units/entities/progress/progress.test.js.map +1 -0
- package/dist/tests/units/entities/reviewAction/reviewAction.guard.test.d.ts +2 -0
- package/dist/tests/units/entities/reviewAction/reviewAction.guard.test.d.ts.map +1 -0
- package/dist/tests/units/entities/reviewAction/reviewAction.guard.test.js +89 -0
- package/dist/tests/units/entities/reviewAction/reviewAction.guard.test.js.map +1 -0
- package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.d.ts +2 -0
- package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.d.ts.map +1 -0
- package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.js +176 -0
- package/dist/tests/units/entities/reviewContext/reviewContext.schema.test.js.map +1 -0
- package/dist/tests/units/entities/reviewContext/reviewContextAction.guard.test.d.ts +2 -0
- package/dist/tests/units/entities/reviewContext/reviewContextAction.guard.test.d.ts.map +1 -0
- package/dist/tests/units/entities/reviewContext/reviewContextAction.guard.test.js +88 -0
- package/dist/tests/units/entities/reviewContext/reviewContextAction.guard.test.js.map +1 -0
- package/dist/tests/units/entities/reviewContext/reviewContextAction.schema.test.d.ts +2 -0
- package/dist/tests/units/entities/reviewContext/reviewContextAction.schema.test.d.ts.map +1 -0
- package/dist/tests/units/entities/reviewContext/reviewContextAction.schema.test.js +132 -0
- package/dist/tests/units/entities/reviewContext/reviewContextAction.schema.test.js.map +1 -0
- package/dist/tests/units/entities/reviewRequestState.valueObject.test.d.ts +2 -0
- package/dist/tests/units/entities/reviewRequestState.valueObject.test.d.ts.map +1 -0
- package/dist/tests/units/entities/reviewRequestState.valueObject.test.js +100 -0
- package/dist/tests/units/entities/reviewRequestState.valueObject.test.js.map +1 -0
- package/dist/tests/units/entities/reviewScore.valueObject.test.d.ts +2 -0
- package/dist/tests/units/entities/reviewScore.valueObject.test.d.ts.map +1 -0
- package/dist/tests/units/entities/reviewScore.valueObject.test.js +90 -0
- package/dist/tests/units/entities/reviewScore.valueObject.test.js.map +1 -0
- package/dist/tests/units/factories/factories.test.d.ts +2 -0
- package/dist/tests/units/factories/factories.test.d.ts.map +1 -0
- package/dist/tests/units/factories/factories.test.js +100 -0
- package/dist/tests/units/factories/factories.test.js.map +1 -0
- package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.d.ts +2 -0
- package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.d.ts.map +1 -0
- package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.js +88 -0
- package/dist/tests/units/frameworks/claude/ensureProjectMcpConfig.test.js.map +1 -0
- package/dist/tests/units/frameworks/claude/mcpContext.test.d.ts +2 -0
- package/dist/tests/units/frameworks/claude/mcpContext.test.d.ts.map +1 -0
- package/dist/tests/units/frameworks/claude/mcpContext.test.js +88 -0
- package/dist/tests/units/frameworks/claude/mcpContext.test.js.map +1 -0
- package/dist/tests/units/frameworks/claude/resolveMcpServerPath.test.d.ts +2 -0
- package/dist/tests/units/frameworks/claude/resolveMcpServerPath.test.d.ts.map +1 -0
- package/dist/tests/units/frameworks/claude/resolveMcpServerPath.test.js +20 -0
- package/dist/tests/units/frameworks/claude/resolveMcpServerPath.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/adapters/platformAdapter.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/adapters/platformAdapter.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/adapters/platformAdapter.test.js +181 -0
- package/dist/tests/units/interface-adapters/adapters/platformAdapter.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.js +84 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/completeAgent.handler.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/completeAgent.handler.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/completeAgent.handler.test.js +71 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/completeAgent.handler.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.js +52 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/getWorkflow.handler.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/getWorkflow.handler.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/getWorkflow.handler.test.js +32 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/getWorkflow.handler.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/setPhase.handler.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/setPhase.handler.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/setPhase.handler.test.js +44 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/setPhase.handler.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/startAgent.handler.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/startAgent.handler.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/startAgent.handler.test.js +38 -0
- package/dist/tests/units/interface-adapters/controllers/mcp/startAgent.handler.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/eventFilter.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/eventFilter.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/eventFilter.test.js +389 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/eventFilter.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js +284 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/github.controller.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +202 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js +83 -0
- package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.github.cli.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.js +92 -0
- package/dist/tests/units/interface-adapters/gateways/cli/reviewAction.gitlab.cli.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.github.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.github.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.github.gateway.test.js +41 -0
- package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.github.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.test.js +57 -0
- package/dist/tests/units/interface-adapters/gateways/diffMetadataFetch.gitlab.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.js +204 -0
- package/dist/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewFile.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/reviewFile.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewFile.gateway.test.js +126 -0
- package/dist/tests/units/interface-adapters/gateways/reviewFile.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewProgress.memory.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/reviewProgress.memory.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewProgress.memory.gateway.test.js +137 -0
- package/dist/tests/units/interface-adapters/gateways/reviewProgress.memory.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.js +242 -0
- package/dist/tests/units/interface-adapters/gateways/reviewRequestTracking.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/stats.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/stats.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/stats.gateway.test.js +52 -0
- package/dist/tests/units/interface-adapters/gateways/stats.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/threadFetch.github.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/threadFetch.github.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/threadFetch.github.gateway.test.js +41 -0
- package/dist/tests/units/interface-adapters/gateways/threadFetch.github.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/threadFetch.gitlab.gateway.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/gateways/threadFetch.gitlab.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/gateways/threadFetch.gitlab.gateway.test.js +31 -0
- package/dist/tests/units/interface-adapters/gateways/threadFetch.gitlab.gateway.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/presenters/jobStatus.presenter.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/presenters/jobStatus.presenter.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/presenters/jobStatus.presenter.test.js +128 -0
- package/dist/tests/units/interface-adapters/presenters/jobStatus.presenter.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/presenters/reviewContextProgress.presenter.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/presenters/reviewContextProgress.presenter.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/presenters/reviewContextProgress.presenter.test.js +83 -0
- package/dist/tests/units/interface-adapters/presenters/reviewContextProgress.presenter.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/presenters/reviewList.presenter.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/presenters/reviewList.presenter.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/presenters/reviewList.presenter.test.js +64 -0
- package/dist/tests/units/interface-adapters/presenters/reviewList.presenter.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/services/projectStats.calculator.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/services/projectStats.calculator.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/services/projectStats.calculator.test.js +85 -0
- package/dist/tests/units/interface-adapters/services/projectStats.calculator.test.js.map +1 -0
- package/dist/tests/units/main/dependencies.test.d.ts +2 -0
- package/dist/tests/units/main/dependencies.test.d.ts.map +1 -0
- package/dist/tests/units/main/dependencies.test.js +43 -0
- package/dist/tests/units/main/dependencies.test.js.map +1 -0
- package/dist/tests/units/main/executeStart.test.d.ts +2 -0
- package/dist/tests/units/main/executeStart.test.d.ts.map +1 -0
- package/dist/tests/units/main/executeStart.test.js +61 -0
- package/dist/tests/units/main/executeStart.test.js.map +1 -0
- package/dist/tests/units/main/mcpDependencies.test.d.ts +2 -0
- package/dist/tests/units/main/mcpDependencies.test.d.ts.map +1 -0
- package/dist/tests/units/main/mcpDependencies.test.js +56 -0
- package/dist/tests/units/main/mcpDependencies.test.js.map +1 -0
- package/dist/tests/units/main/websocket.test.d.ts +2 -0
- package/dist/tests/units/main/websocket.test.d.ts.map +1 -0
- package/dist/tests/units/main/websocket.test.js +63 -0
- package/dist/tests/units/main/websocket.test.js.map +1 -0
- package/dist/tests/units/mcp/mcpServerStdio.test.d.ts +2 -0
- package/dist/tests/units/mcp/mcpServerStdio.test.d.ts.map +1 -0
- package/dist/tests/units/mcp/mcpServerStdio.test.js +179 -0
- package/dist/tests/units/mcp/mcpServerStdio.test.js.map +1 -0
- package/dist/tests/units/mcp/server.test.d.ts +2 -0
- package/dist/tests/units/mcp/server.test.d.ts.map +1 -0
- package/dist/tests/units/mcp/server.test.js +85 -0
- package/dist/tests/units/mcp/server.test.js.map +1 -0
- package/dist/tests/units/security/verifier.test.d.ts +2 -0
- package/dist/tests/units/security/verifier.test.d.ts.map +1 -0
- package/dist/tests/units/security/verifier.test.js +200 -0
- package/dist/tests/units/security/verifier.test.js.map +1 -0
- package/dist/tests/units/services/contextActionsExecutor.test.d.ts +2 -0
- package/dist/tests/units/services/contextActionsExecutor.test.d.ts.map +1 -0
- package/dist/tests/units/services/contextActionsExecutor.test.js +112 -0
- package/dist/tests/units/services/contextActionsExecutor.test.js.map +1 -0
- package/dist/tests/units/services/mrTrackingRemoveMr.test.d.ts +2 -0
- package/dist/tests/units/services/mrTrackingRemoveMr.test.d.ts.map +1 -0
- package/dist/tests/units/services/mrTrackingRemoveMr.test.js +155 -0
- package/dist/tests/units/services/mrTrackingRemoveMr.test.js.map +1 -0
- package/dist/tests/units/services/mrTrackingService.autoFollowup.test.d.ts +2 -0
- package/dist/tests/units/services/mrTrackingService.autoFollowup.test.d.ts.map +1 -0
- package/dist/tests/units/services/mrTrackingService.autoFollowup.test.js +82 -0
- package/dist/tests/units/services/mrTrackingService.autoFollowup.test.js.map +1 -0
- package/dist/tests/units/services/reviewContextWatcher.service.test.d.ts +2 -0
- package/dist/tests/units/services/reviewContextWatcher.service.test.d.ts.map +1 -0
- package/dist/tests/units/services/reviewContextWatcher.service.test.js +112 -0
- package/dist/tests/units/services/reviewContextWatcher.service.test.js.map +1 -0
- package/dist/tests/units/services/threadActionsExecutor.test.d.ts +2 -0
- package/dist/tests/units/services/threadActionsExecutor.test.d.ts.map +1 -0
- package/dist/tests/units/services/threadActionsExecutor.test.js +206 -0
- package/dist/tests/units/services/threadActionsExecutor.test.js.map +1 -0
- package/dist/tests/units/services/threadActionsParser.test.d.ts +2 -0
- package/dist/tests/units/services/threadActionsParser.test.d.ts.map +1 -0
- package/dist/tests/units/services/threadActionsParser.test.js +148 -0
- package/dist/tests/units/services/threadActionsParser.test.js.map +1 -0
- package/dist/tests/units/shared/foundation/foundation.contracts.test.d.ts +2 -0
- package/dist/tests/units/shared/foundation/foundation.contracts.test.d.ts.map +1 -0
- package/dist/tests/units/shared/foundation/foundation.contracts.test.js +46 -0
- package/dist/tests/units/shared/foundation/foundation.contracts.test.js.map +1 -0
- package/dist/tests/units/shared/foundation/guard.base.test.d.ts +2 -0
- package/dist/tests/units/shared/foundation/guard.base.test.d.ts.map +1 -0
- package/dist/tests/units/shared/foundation/guard.base.test.js +40 -0
- package/dist/tests/units/shared/foundation/guard.base.test.js.map +1 -0
- package/dist/tests/units/shared/services/claudePathResolver.test.d.ts +2 -0
- package/dist/tests/units/shared/services/claudePathResolver.test.d.ts.map +1 -0
- package/dist/tests/units/shared/services/claudePathResolver.test.js +61 -0
- package/dist/tests/units/shared/services/claudePathResolver.test.js.map +1 -0
- package/dist/tests/units/shared/services/dependencyChecker.test.d.ts +2 -0
- package/dist/tests/units/shared/services/dependencyChecker.test.d.ts.map +1 -0
- package/dist/tests/units/shared/services/dependencyChecker.test.js +35 -0
- package/dist/tests/units/shared/services/dependencyChecker.test.js.map +1 -0
- package/dist/tests/units/shared/services/mcpJobContext.test.d.ts +2 -0
- package/dist/tests/units/shared/services/mcpJobContext.test.d.ts.map +1 -0
- package/dist/tests/units/shared/services/mcpJobContext.test.js +38 -0
- package/dist/tests/units/shared/services/mcpJobContext.test.js.map +1 -0
- package/dist/tests/units/types/progress.test.d.ts +2 -0
- package/dist/tests/units/types/progress.test.d.ts.map +1 -0
- package/dist/tests/units/types/progress.test.js +135 -0
- package/dist/tests/units/types/progress.test.js.map +1 -0
- package/dist/tests/units/usecases/cancelReview.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/cancelReview.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/cancelReview.usecase.test.js +57 -0
- package/dist/tests/units/usecases/cancelReview.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/handleReviewRequestPush.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/handleReviewRequestPush.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/handleReviewRequestPush.usecase.test.js +124 -0
- package/dist/tests/units/usecases/handleReviewRequestPush.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/mcp/addAction.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/mcp/addAction.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/mcp/addAction.usecase.test.js +123 -0
- package/dist/tests/units/usecases/mcp/addAction.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/mcp/completeAgent.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/mcp/completeAgent.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/mcp/completeAgent.usecase.test.js +67 -0
- package/dist/tests/units/usecases/mcp/completeAgent.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/mcp/getThreads.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/mcp/getThreads.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/mcp/getThreads.usecase.test.js +77 -0
- package/dist/tests/units/usecases/mcp/getThreads.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/mcp/getWorkflow.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/mcp/getWorkflow.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/mcp/getWorkflow.usecase.test.js +55 -0
- package/dist/tests/units/usecases/mcp/getWorkflow.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/mcp/setPhase.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/mcp/setPhase.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/mcp/setPhase.usecase.test.js +41 -0
- package/dist/tests/units/usecases/mcp/setPhase.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/mcp/startAgent.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/mcp/startAgent.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/mcp/startAgent.usecase.test.js +42 -0
- package/dist/tests/units/usecases/mcp/startAgent.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/tracking/checkFollowupNeeded.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/tracking/checkFollowupNeeded.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/tracking/checkFollowupNeeded.usecase.test.js +71 -0
- package/dist/tests/units/usecases/tracking/checkFollowupNeeded.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/tracking/recordPush.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/tracking/recordPush.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/tracking/recordPush.usecase.test.js +22 -0
- package/dist/tests/units/usecases/tracking/recordPush.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.js +106 -0
- package/dist/tests/units/usecases/tracking/recordReviewCompletion.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/tracking/syncThreads.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/tracking/syncThreads.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/tracking/syncThreads.usecase.test.js +76 -0
- package/dist/tests/units/usecases/tracking/syncThreads.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/tracking/trackAssignment.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/tracking/trackAssignment.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/tracking/trackAssignment.usecase.test.js +70 -0
- package/dist/tests/units/usecases/tracking/trackAssignment.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/tracking/transitionState.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/tracking/transitionState.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/tracking/transitionState.usecase.test.js +48 -0
- package/dist/tests/units/usecases/tracking/transitionState.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/triggerReview.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/triggerReview.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/triggerReview.usecase.test.js +103 -0
- package/dist/tests/units/usecases/triggerReview.usecase.test.js.map +1 -0
- package/dist/types/progress.d.ts +55 -0
- package/dist/types/progress.d.ts.map +1 -0
- package/dist/types/progress.js +63 -0
- package/dist/types/progress.js.map +1 -0
- package/dist/usecases/cancelReview.usecase.d.ts +21 -0
- package/dist/usecases/cancelReview.usecase.d.ts.map +1 -0
- package/dist/usecases/cancelReview.usecase.js +19 -0
- package/dist/usecases/cancelReview.usecase.js.map +1 -0
- package/dist/usecases/handleReviewRequestPush.usecase.d.ts +26 -0
- package/dist/usecases/handleReviewRequestPush.usecase.d.ts.map +1 -0
- package/dist/usecases/handleReviewRequestPush.usecase.js +45 -0
- package/dist/usecases/handleReviewRequestPush.usecase.js.map +1 -0
- package/dist/usecases/mcp/addAction.usecase.d.ts +33 -0
- package/dist/usecases/mcp/addAction.usecase.d.ts.map +1 -0
- package/dist/usecases/mcp/addAction.usecase.js +94 -0
- package/dist/usecases/mcp/addAction.usecase.js.map +1 -0
- package/dist/usecases/mcp/completeAgent.usecase.d.ts +18 -0
- package/dist/usecases/mcp/completeAgent.usecase.d.ts.map +1 -0
- package/dist/usecases/mcp/completeAgent.usecase.js +20 -0
- package/dist/usecases/mcp/completeAgent.usecase.js.map +1 -0
- package/dist/usecases/mcp/getThreads.usecase.d.ts +16 -0
- package/dist/usecases/mcp/getThreads.usecase.d.ts.map +1 -0
- package/dist/usecases/mcp/getThreads.usecase.js +22 -0
- package/dist/usecases/mcp/getThreads.usecase.js.map +1 -0
- package/dist/usecases/mcp/getWorkflow.usecase.d.ts +28 -0
- package/dist/usecases/mcp/getWorkflow.usecase.d.ts.map +1 -0
- package/dist/usecases/mcp/getWorkflow.usecase.js +36 -0
- package/dist/usecases/mcp/getWorkflow.usecase.js.map +1 -0
- package/dist/usecases/mcp/setPhase.usecase.d.ts +15 -0
- package/dist/usecases/mcp/setPhase.usecase.d.ts.map +1 -0
- package/dist/usecases/mcp/setPhase.usecase.js +16 -0
- package/dist/usecases/mcp/setPhase.usecase.js.map +1 -0
- package/dist/usecases/mcp/startAgent.usecase.d.ts +15 -0
- package/dist/usecases/mcp/startAgent.usecase.d.ts.map +1 -0
- package/dist/usecases/mcp/startAgent.usecase.js +18 -0
- package/dist/usecases/mcp/startAgent.usecase.js.map +1 -0
- package/dist/usecases/tracking/checkFollowupNeeded.usecase.d.ts +14 -0
- package/dist/usecases/tracking/checkFollowupNeeded.usecase.d.ts.map +1 -0
- package/dist/usecases/tracking/checkFollowupNeeded.usecase.js +17 -0
- package/dist/usecases/tracking/checkFollowupNeeded.usecase.js.map +1 -0
- package/dist/usecases/tracking/recordPush.usecase.d.ts +15 -0
- package/dist/usecases/tracking/recordPush.usecase.d.ts.map +1 -0
- package/dist/usecases/tracking/recordPush.usecase.js +10 -0
- package/dist/usecases/tracking/recordPush.usecase.js.map +1 -0
- package/dist/usecases/tracking/recordReviewCompletion.usecase.d.ts +24 -0
- package/dist/usecases/tracking/recordReviewCompletion.usecase.d.ts.map +1 -0
- package/dist/usecases/tracking/recordReviewCompletion.usecase.js +52 -0
- package/dist/usecases/tracking/recordReviewCompletion.usecase.js.map +1 -0
- package/dist/usecases/tracking/syncThreads.usecase.d.ts +16 -0
- package/dist/usecases/tracking/syncThreads.usecase.d.ts.map +1 -0
- package/dist/usecases/tracking/syncThreads.usecase.js +26 -0
- package/dist/usecases/tracking/syncThreads.usecase.js.map +1 -0
- package/dist/usecases/tracking/trackAssignment.usecase.d.ts +28 -0
- package/dist/usecases/tracking/trackAssignment.usecase.d.ts.map +1 -0
- package/dist/usecases/tracking/trackAssignment.usecase.js +69 -0
- package/dist/usecases/tracking/trackAssignment.usecase.js.map +1 -0
- package/dist/usecases/tracking/transitionState.usecase.d.ts +14 -0
- package/dist/usecases/tracking/transitionState.usecase.d.ts.map +1 -0
- package/dist/usecases/tracking/transitionState.usecase.js +22 -0
- package/dist/usecases/tracking/transitionState.usecase.js.map +1 -0
- package/dist/usecases/triggerReview.usecase.d.ts +41 -0
- package/dist/usecases/triggerReview.usecase.d.ts.map +1 -0
- package/dist/usecases/triggerReview.usecase.js +34 -0
- package/dist/usecases/triggerReview.usecase.js.map +1 -0
- package/package.json +82 -0
- package/scripts/copyAssets.mjs +10 -0
- package/scripts/launcher.sh +35 -0
- package/templates/SETUP.md +183 -0
- package/templates/SKILL.md.template +207 -0
- package/templates/claude-mcp-config.example.json +12 -0
- package/templates/config.json.template +15 -0
- package/templates/en/followup-basic/README.md +66 -0
- package/templates/en/followup-basic/SKILL.md +317 -0
- package/templates/en/review-basic/README.md +75 -0
- package/templates/en/review-basic/SKILL.md +160 -0
- package/templates/en/review-with-agents/README.md +78 -0
- package/templates/en/review-with-agents/SKILL.md +225 -0
- package/templates/fr/followup-basic/README.md +66 -0
- package/templates/fr/followup-basic/SKILL.md +317 -0
- package/templates/fr/review-basic/README.md +59 -0
- package/templates/fr/review-basic/SKILL.md +160 -0
- package/templates/fr/review-with-agents/README.md +54 -0
- package/templates/fr/review-with-agents/SKILL.md +225 -0
- package/templates/skills/review-bootstrap/SKILL.md +119 -0
- package/templates/skills/review-with-mcp.md +133 -0
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { writeFileSync, mkdirSync, existsSync, unlinkSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { join, dirname } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { ProgressParser } from './progressParser.js';
|
|
6
|
+
import { logInfo, logWarn, logError } from '../../services/logService.js';
|
|
7
|
+
import { getModel } from '../../services/runtimeSettings.js';
|
|
8
|
+
import { getProjectAgents, getFollowupAgents } from '../../config/projectConfig.js';
|
|
9
|
+
import { addReviewStats } from '../../services/statsService.js';
|
|
10
|
+
import { FileSystemReviewRequestTrackingGateway } from '../../interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.js';
|
|
11
|
+
import { ProjectStatsCalculator } from '../../interface-adapters/services/projectStats.calculator.js';
|
|
12
|
+
import { resolveClaudePath } from '../../shared/services/claudePathResolver.js';
|
|
13
|
+
import { getJobContextFilePath } from '../../shared/services/mcpJobContext.js';
|
|
14
|
+
const currentDir = dirname(fileURLToPath(import.meta.url));
|
|
15
|
+
export function resolveMcpServerPath() {
|
|
16
|
+
// dist/frameworks/claude/claudeInvoker.js → dist/mcpServer.js
|
|
17
|
+
const candidate = join(currentDir, '..', '..', 'mcpServer.js');
|
|
18
|
+
if (existsSync(candidate))
|
|
19
|
+
return candidate;
|
|
20
|
+
// Fallback for tsx dev mode: currentDir is src/frameworks/claude/
|
|
21
|
+
const devCandidate = join(process.cwd(), 'dist', 'mcpServer.js');
|
|
22
|
+
if (existsSync(devCandidate))
|
|
23
|
+
return devCandidate;
|
|
24
|
+
throw new Error(`MCP server not found at: ${candidate} or ${devCandidate}\n` +
|
|
25
|
+
'Run "yarn build" to compile the project.');
|
|
26
|
+
}
|
|
27
|
+
export function writeMcpContext(job) {
|
|
28
|
+
try {
|
|
29
|
+
const filePath = getJobContextFilePath(job.id);
|
|
30
|
+
const dir = dirname(filePath);
|
|
31
|
+
if (!existsSync(dir)) {
|
|
32
|
+
mkdirSync(dir, { recursive: true });
|
|
33
|
+
}
|
|
34
|
+
const mergeRequestId = `${job.platform}-${job.projectPath}-${job.mrNumber}`;
|
|
35
|
+
const context = {
|
|
36
|
+
jobId: job.id,
|
|
37
|
+
localPath: job.localPath,
|
|
38
|
+
mergeRequestId,
|
|
39
|
+
jobType: job.jobType || 'review',
|
|
40
|
+
platform: job.platform,
|
|
41
|
+
projectPath: job.projectPath,
|
|
42
|
+
sourceBranch: job.sourceBranch,
|
|
43
|
+
targetBranch: job.targetBranch,
|
|
44
|
+
timestamp: new Date().toISOString(),
|
|
45
|
+
};
|
|
46
|
+
writeFileSync(filePath, JSON.stringify(context, null, 2));
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// Non-critical, MCP will work without context
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export function ensureProjectMcpConfig(projectPath) {
|
|
53
|
+
try {
|
|
54
|
+
const mcpServerPath = resolveMcpServerPath();
|
|
55
|
+
const mcpConfigPath = join(projectPath, '.mcp.json');
|
|
56
|
+
const expectedConfig = {
|
|
57
|
+
mcpServers: {
|
|
58
|
+
"review-progress": {
|
|
59
|
+
command: "node",
|
|
60
|
+
args: [mcpServerPath],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
// Check if file exists and has correct config
|
|
65
|
+
if (existsSync(mcpConfigPath)) {
|
|
66
|
+
const existing = JSON.parse(readFileSync(mcpConfigPath, 'utf-8'));
|
|
67
|
+
if (existing?.mcpServers?.["review-progress"]) {
|
|
68
|
+
return; // Already configured
|
|
69
|
+
}
|
|
70
|
+
// Merge with existing config
|
|
71
|
+
existing.mcpServers = existing.mcpServers || {};
|
|
72
|
+
existing.mcpServers["review-progress"] = expectedConfig.mcpServers["review-progress"];
|
|
73
|
+
writeFileSync(mcpConfigPath, JSON.stringify(existing, null, 2) + '\n');
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
// Create new config
|
|
77
|
+
writeFileSync(mcpConfigPath, JSON.stringify(expectedConfig, null, 2) + '\n');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// Non-critical, skill may still work without MCP
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export function cleanupMcpContext(jobId) {
|
|
85
|
+
try {
|
|
86
|
+
const filePath = getJobContextFilePath(jobId);
|
|
87
|
+
if (existsSync(filePath)) {
|
|
88
|
+
unlinkSync(filePath);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
// Ignore cleanup errors
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Memory guard configuration
|
|
96
|
+
const MEMORY_LIMIT_GB = 4; // Kill process if RSS exceeds 4GB
|
|
97
|
+
const MEMORY_CHECK_INTERVAL_MS = 5000; // Check every 5 seconds
|
|
98
|
+
const MEMORY_LIMIT_BYTES = MEMORY_LIMIT_GB * 1024 * 1024 * 1024;
|
|
99
|
+
/**
|
|
100
|
+
* Build MCP system prompt for progress tracking
|
|
101
|
+
* This instruction is AUTHORITATIVE and forces Claude to use MCP tools
|
|
102
|
+
*/
|
|
103
|
+
function buildMcpSystemPrompt(job) {
|
|
104
|
+
return `
|
|
105
|
+
# AUTOMATED REVIEW MODE - EXECUTE IMMEDIATELY
|
|
106
|
+
|
|
107
|
+
## CRITICAL EXECUTION RULES
|
|
108
|
+
|
|
109
|
+
You are running in FULLY AUTOMATED, NON-INTERACTIVE mode.
|
|
110
|
+
- **EXECUTE the skill instructions step by step RIGHT NOW**
|
|
111
|
+
- Do NOT produce a "plan" or "summary" of what you will do
|
|
112
|
+
- Do NOT wait for approval, confirmation, or user input
|
|
113
|
+
- Do NOT say "once approved", "when you confirm", or "the plan is ready"
|
|
114
|
+
- Do NOT use EnterPlanMode or AskUserQuestion (they are disabled)
|
|
115
|
+
- Your output goes to a log file, not to a human
|
|
116
|
+
|
|
117
|
+
## PROJECT CLAUDE.md RULES CLARIFICATION
|
|
118
|
+
|
|
119
|
+
The project CLAUDE.md may contain rules like "mandatory skills before writing code" (/tdd, /architecture, /anti-overengineering).
|
|
120
|
+
These rules are about WRITING production code. You are in **READ-ONLY review mode** — you are NOT writing code.
|
|
121
|
+
- These mandatory-before-coding rules do NOT apply to you
|
|
122
|
+
- You CAN and SHOULD read/load any skill files referenced by the review skill (e.g. architecture/SKILL.md, tdd/SKILL.md) as audit references
|
|
123
|
+
- Do NOT invoke skills as interactive workflows — READ them for review criteria only
|
|
124
|
+
- JUST FOLLOW the review/followup skill instructions and EXECUTE each step
|
|
125
|
+
|
|
126
|
+
## Your Job Context
|
|
127
|
+
- **Job ID**: \`${job.id}\`
|
|
128
|
+
- **Job Type**: ${job.jobType || 'review'}
|
|
129
|
+
- **Platform**: ${job.platform}
|
|
130
|
+
- **Project**: ${job.projectPath}
|
|
131
|
+
- **MR Number**: ${job.mrNumber}
|
|
132
|
+
- **Source Branch**: ${job.sourceBranch || 'unknown'}
|
|
133
|
+
- **Target Branch**: ${job.targetBranch || 'unknown'}
|
|
134
|
+
|
|
135
|
+
## MANDATORY MCP Tools Usage
|
|
136
|
+
|
|
137
|
+
You MUST use these MCP tools for ALL operations. Do NOT use text markers.
|
|
138
|
+
|
|
139
|
+
### Phase Management
|
|
140
|
+
\`\`\`
|
|
141
|
+
set_phase({ jobId: "${job.id}", phase: "initializing" })
|
|
142
|
+
set_phase({ jobId: "${job.id}", phase: "agents-running" })
|
|
143
|
+
set_phase({ jobId: "${job.id}", phase: "synthesizing" })
|
|
144
|
+
set_phase({ jobId: "${job.id}", phase: "publishing" })
|
|
145
|
+
set_phase({ jobId: "${job.id}", phase: "completed" })
|
|
146
|
+
\`\`\`
|
|
147
|
+
|
|
148
|
+
### Agent Progress (call for EACH audit/step)
|
|
149
|
+
\`\`\`
|
|
150
|
+
start_agent({ jobId: "${job.id}", agentName: "agent-name" })
|
|
151
|
+
complete_agent({ jobId: "${job.id}", agentName: "agent-name", status: "success" })
|
|
152
|
+
complete_agent({ jobId: "${job.id}", agentName: "agent-name", status: "failed", error: "message" })
|
|
153
|
+
\`\`\`
|
|
154
|
+
|
|
155
|
+
### GitLab/GitHub Actions (USE THESE - do NOT use glab/gh CLI)
|
|
156
|
+
\`\`\`
|
|
157
|
+
get_threads({ jobId: "${job.id}" })
|
|
158
|
+
add_action({ jobId: "${job.id}", type: "THREAD_RESOLVE", threadId: "xxx" })
|
|
159
|
+
add_action({ jobId: "${job.id}", type: "THREAD_REPLY", threadId: "xxx", message: "..." })
|
|
160
|
+
add_action({ jobId: "${job.id}", type: "POST_COMMENT", body: "..." })
|
|
161
|
+
add_action({ jobId: "${job.id}", type: "POST_INLINE_COMMENT", filePath: "src/file.ts", line: 42, body: "..." })
|
|
162
|
+
\`\`\`
|
|
163
|
+
|
|
164
|
+
### Inline Comments on Diff
|
|
165
|
+
Use \`POST_INLINE_COMMENT\` to post comments directly on specific lines in the diff.
|
|
166
|
+
- **filePath**: The file path relative to the repository root
|
|
167
|
+
- **line**: The line number in the NEW version of the file (must be a line visible in the diff)
|
|
168
|
+
- **body**: The comment text (supports markdown)
|
|
169
|
+
- The diff metadata (SHAs) is pre-fetched automatically — just provide filePath, line, and body
|
|
170
|
+
|
|
171
|
+
## Workflow Pattern
|
|
172
|
+
|
|
173
|
+
1. **Start**: \`set_phase({ jobId: "${job.id}", phase: "initializing" })\`
|
|
174
|
+
2. **Before each audit**: \`start_agent({ jobId: "${job.id}", agentName: "xxx" })\`
|
|
175
|
+
3. **After each audit**: \`complete_agent({ jobId: "${job.id}", agentName: "xxx", status: "success" })\`
|
|
176
|
+
4. **Synthesis**: \`set_phase({ jobId: "${job.id}", phase: "synthesizing" })\`
|
|
177
|
+
5. **Threads**: \`start_agent({ jobId: "${job.id}", agentName: "threads" })\` then \`complete_agent\`
|
|
178
|
+
6. **Report**: \`start_agent({ jobId: "${job.id}", agentName: "report" })\` then \`complete_agent\`
|
|
179
|
+
7. **Publishing**: \`set_phase({ jobId: "${job.id}", phase: "publishing" })\`
|
|
180
|
+
8. **End**: \`set_phase({ jobId: "${job.id}", phase: "completed" })\`
|
|
181
|
+
|
|
182
|
+
**VIOLATIONS**:
|
|
183
|
+
- Producing a "plan" instead of executing → Review will be empty
|
|
184
|
+
- Using text markers like [PROGRESS:xxx] → Dashboard won't update
|
|
185
|
+
- Waiting for user approval → Review will hang forever
|
|
186
|
+
`.trim();
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Invoke Claude Code CLI for a review job
|
|
190
|
+
* @param job - The review job to execute
|
|
191
|
+
* @param logger - Pino logger instance
|
|
192
|
+
* @param onProgress - Optional callback for progress updates
|
|
193
|
+
* @param signal - Optional AbortSignal to cancel the review
|
|
194
|
+
*/
|
|
195
|
+
export async function invokeClaudeReview(job, logger, onProgress, signal) {
|
|
196
|
+
const startTime = Date.now();
|
|
197
|
+
// Build the prompt
|
|
198
|
+
const prompt = `/${job.skill} ${job.mrNumber}`;
|
|
199
|
+
// Get configured model
|
|
200
|
+
const model = getModel();
|
|
201
|
+
// Build MCP system prompt injection
|
|
202
|
+
const mcpSystemPrompt = buildMcpSystemPrompt(job);
|
|
203
|
+
// Build arguments
|
|
204
|
+
// --permission-mode bypassPermissions: automated review, no user to approve
|
|
205
|
+
// --allowedTools / --disallowedTools: belt-and-suspenders to restrict tool scope
|
|
206
|
+
const args = [
|
|
207
|
+
'--print',
|
|
208
|
+
'--model', model,
|
|
209
|
+
'--permission-mode', 'bypassPermissions',
|
|
210
|
+
'--append-system-prompt', mcpSystemPrompt,
|
|
211
|
+
'--allowedTools', 'Read,Glob,Grep,Bash,Edit,Task,Skill,Write,LSP,mcp__review-progress__*',
|
|
212
|
+
'--disallowedTools', 'EnterPlanMode,AskUserQuestion',
|
|
213
|
+
'-p', prompt,
|
|
214
|
+
];
|
|
215
|
+
// Setup MCP: write context file and ensure project has .mcp.json
|
|
216
|
+
writeMcpContext(job);
|
|
217
|
+
ensureProjectMcpConfig(job.localPath);
|
|
218
|
+
logger.info({
|
|
219
|
+
cwd: job.localPath,
|
|
220
|
+
prompt,
|
|
221
|
+
args,
|
|
222
|
+
}, 'Invocation Claude CLI');
|
|
223
|
+
// Load project-specific agents configuration (use followup agents for followup jobs)
|
|
224
|
+
const isFollowup = job.jobType === 'followup';
|
|
225
|
+
const projectAgents = isFollowup
|
|
226
|
+
? getFollowupAgents(job.localPath)
|
|
227
|
+
: getProjectAgents(job.localPath);
|
|
228
|
+
// Log to dashboard
|
|
229
|
+
logInfo(isFollowup ? 'Démarrage followup Claude' : 'Démarrage review Claude', {
|
|
230
|
+
jobId: job.id,
|
|
231
|
+
mrNumber: job.mrNumber,
|
|
232
|
+
skill: job.skill,
|
|
233
|
+
project: job.projectPath,
|
|
234
|
+
model,
|
|
235
|
+
jobType: job.jobType || 'review',
|
|
236
|
+
customAgents: projectAgents?.length ?? 'default',
|
|
237
|
+
});
|
|
238
|
+
// Initialize progress parser with project agents (or defaults)
|
|
239
|
+
const progressParser = new ProgressParser(job.id, (event, progress) => {
|
|
240
|
+
logger.debug({ event, progress: progress.overallProgress }, 'Progress update');
|
|
241
|
+
onProgress?.(progress, event);
|
|
242
|
+
}, projectAgents);
|
|
243
|
+
// Emit initial progress
|
|
244
|
+
onProgress?.(progressParser.getProgress());
|
|
245
|
+
// Check if already cancelled
|
|
246
|
+
if (signal?.aborted) {
|
|
247
|
+
logWarn('Review annulée avant démarrage', { jobId: job.id });
|
|
248
|
+
return {
|
|
249
|
+
success: false,
|
|
250
|
+
exitCode: null,
|
|
251
|
+
stdout: '',
|
|
252
|
+
stderr: 'Review cancelled before start',
|
|
253
|
+
durationMs: Date.now() - startTime,
|
|
254
|
+
finalProgress: progressParser.getProgress(),
|
|
255
|
+
cancelled: true,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
return new Promise((resolve) => {
|
|
259
|
+
let stdout = '';
|
|
260
|
+
let stderr = '';
|
|
261
|
+
let cancelled = false;
|
|
262
|
+
const child = spawn(resolveClaudePath(), args, {
|
|
263
|
+
cwd: job.localPath,
|
|
264
|
+
env: {
|
|
265
|
+
...process.env,
|
|
266
|
+
// Ensure non-interactive mode
|
|
267
|
+
TERM: 'dumb',
|
|
268
|
+
CI: 'true',
|
|
269
|
+
// Note: MCP env vars are now passed via --mcp-config
|
|
270
|
+
},
|
|
271
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
272
|
+
});
|
|
273
|
+
// Memory guard: monitor RSS and kill if exceeds limit
|
|
274
|
+
let memoryExceeded = false;
|
|
275
|
+
const memoryCheckInterval = setInterval(() => {
|
|
276
|
+
const memUsage = process.memoryUsage();
|
|
277
|
+
const rssMB = Math.round(memUsage.rss / 1024 / 1024);
|
|
278
|
+
if (memUsage.rss > MEMORY_LIMIT_BYTES) {
|
|
279
|
+
memoryExceeded = true;
|
|
280
|
+
const errorMessage = `
|
|
281
|
+
╔═══════════════════════════════════════════════════════════════════╗
|
|
282
|
+
║ 🚨 MEMORY LIMIT EXCEEDED - REVIEW KILLED ║
|
|
283
|
+
╠═══════════════════════════════════════════════════════════════════╣
|
|
284
|
+
║ ║
|
|
285
|
+
║ Current RSS: ${rssMB} MB (limit: ${MEMORY_LIMIT_GB * 1024} MB) ║
|
|
286
|
+
║ Job: ${job.id.substring(0, 50).padEnd(50)} ║
|
|
287
|
+
║ ║
|
|
288
|
+
║ The review process consumed too much memory. ║
|
|
289
|
+
║ This usually happens when running too many sub-agents ║
|
|
290
|
+
║ in parallel. Consider using sequential execution. ║
|
|
291
|
+
║ ║
|
|
292
|
+
╚═══════════════════════════════════════════════════════════════════╝
|
|
293
|
+
`;
|
|
294
|
+
logger.error({ rssMB, limitMB: MEMORY_LIMIT_GB * 1024, jobId: job.id }, 'Memory limit exceeded, killing process');
|
|
295
|
+
logError('Memory limit exceeded', {
|
|
296
|
+
jobId: job.id,
|
|
297
|
+
rssMB,
|
|
298
|
+
limitMB: MEMORY_LIMIT_GB * 1024,
|
|
299
|
+
message: 'Review killed due to excessive memory consumption',
|
|
300
|
+
});
|
|
301
|
+
// Output error to stderr for visibility
|
|
302
|
+
stderr += errorMessage;
|
|
303
|
+
// Kill the child process
|
|
304
|
+
child.kill('SIGKILL');
|
|
305
|
+
clearInterval(memoryCheckInterval);
|
|
306
|
+
}
|
|
307
|
+
else if (rssMB > (MEMORY_LIMIT_GB * 1024 * 0.8)) {
|
|
308
|
+
// Warn when approaching limit (80%)
|
|
309
|
+
logger.warn({ rssMB, limitMB: MEMORY_LIMIT_GB * 1024 }, 'Memory usage high, approaching limit');
|
|
310
|
+
}
|
|
311
|
+
}, MEMORY_CHECK_INTERVAL_MS);
|
|
312
|
+
// Handle cancellation via AbortSignal
|
|
313
|
+
const abortHandler = () => {
|
|
314
|
+
if (!cancelled) {
|
|
315
|
+
cancelled = true;
|
|
316
|
+
logger.info({ jobId: job.id }, 'Review annulée par utilisateur');
|
|
317
|
+
logWarn('Review annulée', { jobId: job.id });
|
|
318
|
+
child.kill('SIGTERM');
|
|
319
|
+
// Give it time to cleanup, then force kill
|
|
320
|
+
setTimeout(() => {
|
|
321
|
+
if (!child.killed) {
|
|
322
|
+
child.kill('SIGKILL');
|
|
323
|
+
}
|
|
324
|
+
}, 5000);
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
if (signal) {
|
|
328
|
+
signal.addEventListener('abort', abortHandler, { once: true });
|
|
329
|
+
}
|
|
330
|
+
child.stdout.on('data', (data) => {
|
|
331
|
+
const chunk = data.toString();
|
|
332
|
+
stdout += chunk;
|
|
333
|
+
// Parse progress markers from chunk
|
|
334
|
+
progressParser.parseChunk(chunk);
|
|
335
|
+
// Log progress in real-time (truncated)
|
|
336
|
+
const preview = chunk.length > 200 ? chunk.substring(0, 200) + '...' : chunk;
|
|
337
|
+
logger.debug({ preview }, 'Claude stdout');
|
|
338
|
+
});
|
|
339
|
+
child.stderr.on('data', (data) => {
|
|
340
|
+
const chunk = data.toString();
|
|
341
|
+
stderr += chunk;
|
|
342
|
+
logger.warn({ chunk }, 'Claude stderr');
|
|
343
|
+
logWarn('Claude stderr', { jobId: job.id, message: chunk.substring(0, 500) });
|
|
344
|
+
});
|
|
345
|
+
child.on('error', (error) => {
|
|
346
|
+
logger.error({ error }, 'Erreur lors du spawn de Claude');
|
|
347
|
+
logError('Erreur spawn Claude', { jobId: job.id, error: error.message });
|
|
348
|
+
progressParser.markFailed(error.message);
|
|
349
|
+
resolve({
|
|
350
|
+
success: false,
|
|
351
|
+
exitCode: null,
|
|
352
|
+
stdout,
|
|
353
|
+
stderr: stderr + `\nSpawn error: ${error.message}`,
|
|
354
|
+
durationMs: Date.now() - startTime,
|
|
355
|
+
finalProgress: progressParser.getProgress(),
|
|
356
|
+
});
|
|
357
|
+
});
|
|
358
|
+
child.on('close', (code) => {
|
|
359
|
+
// Cleanup interval, abort listener, and MCP context
|
|
360
|
+
clearInterval(memoryCheckInterval);
|
|
361
|
+
cleanupMcpContext(job.id);
|
|
362
|
+
if (signal) {
|
|
363
|
+
signal.removeEventListener('abort', abortHandler);
|
|
364
|
+
}
|
|
365
|
+
const durationMs = Date.now() - startTime;
|
|
366
|
+
const success = code === 0 && !cancelled && !memoryExceeded;
|
|
367
|
+
// Save stdout to log file for debugging
|
|
368
|
+
try {
|
|
369
|
+
const logsDir = join(job.localPath, '.claude', 'reviews', 'logs');
|
|
370
|
+
if (!existsSync(logsDir)) {
|
|
371
|
+
mkdirSync(logsDir, { recursive: true });
|
|
372
|
+
}
|
|
373
|
+
const sanitizedJobId = job.id.replace(/[:/\\]/g, '-');
|
|
374
|
+
const logPath = join(logsDir, `${sanitizedJobId}-stdout.log`);
|
|
375
|
+
writeFileSync(logPath, `=== Claude Review Output ===\nJob: ${job.id}\nMR: ${job.mrNumber}\nSkill: ${job.skill}\nExit code: ${code}\nDuration: ${Math.round(durationMs / 1000)}s\nTimestamp: ${new Date().toISOString()}\n\n--- STDOUT ---\n${stdout}\n\n--- STDERR ---\n${stderr}\n`);
|
|
376
|
+
logger.info({ logPath }, 'Review stdout saved to log file');
|
|
377
|
+
}
|
|
378
|
+
catch {
|
|
379
|
+
// Non-critical
|
|
380
|
+
}
|
|
381
|
+
// Finalize progress
|
|
382
|
+
if (memoryExceeded) {
|
|
383
|
+
progressParser.markFailed('Memory limit exceeded - review killed');
|
|
384
|
+
}
|
|
385
|
+
else if (cancelled) {
|
|
386
|
+
progressParser.markFailed('Annulée par utilisateur');
|
|
387
|
+
}
|
|
388
|
+
else if (success) {
|
|
389
|
+
progressParser.markAllCompleted();
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
progressParser.markFailed(`Exit code: ${code}`);
|
|
393
|
+
}
|
|
394
|
+
const finalProgress = progressParser.getProgress();
|
|
395
|
+
onProgress?.(finalProgress);
|
|
396
|
+
logger.info({
|
|
397
|
+
exitCode: code,
|
|
398
|
+
durationMs,
|
|
399
|
+
stdoutLength: stdout.length,
|
|
400
|
+
stderrLength: stderr.length,
|
|
401
|
+
finalProgress: finalProgress.overallProgress,
|
|
402
|
+
cancelled,
|
|
403
|
+
memoryExceeded,
|
|
404
|
+
}, memoryExceeded
|
|
405
|
+
? 'Claude killed - memory limit exceeded'
|
|
406
|
+
: cancelled
|
|
407
|
+
? 'Claude annulé'
|
|
408
|
+
: success
|
|
409
|
+
? 'Claude terminé avec succès'
|
|
410
|
+
: 'Claude terminé avec erreur');
|
|
411
|
+
// Log to dashboard with summary
|
|
412
|
+
const durationMin = Math.round(durationMs / 60000);
|
|
413
|
+
if (memoryExceeded) {
|
|
414
|
+
logError('Review killed - Memory limit exceeded', {
|
|
415
|
+
jobId: job.id,
|
|
416
|
+
mrNumber: job.mrNumber,
|
|
417
|
+
duration: `${durationMin} min`,
|
|
418
|
+
limitGB: MEMORY_LIMIT_GB,
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
else if (cancelled) {
|
|
422
|
+
logWarn('Review annulée', {
|
|
423
|
+
jobId: job.id,
|
|
424
|
+
mrNumber: job.mrNumber,
|
|
425
|
+
duration: `${durationMin} min`,
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
else if (success) {
|
|
429
|
+
logInfo('Review terminée', {
|
|
430
|
+
jobId: job.id,
|
|
431
|
+
mrNumber: job.mrNumber,
|
|
432
|
+
duration: `${durationMin} min`,
|
|
433
|
+
outputLength: stdout.length,
|
|
434
|
+
});
|
|
435
|
+
// Save review statistics
|
|
436
|
+
try {
|
|
437
|
+
// Look up assignor from MR tracking
|
|
438
|
+
const mrId = `${job.platform}-${job.projectPath}-${job.mrNumber}`;
|
|
439
|
+
const trackingGateway = new FileSystemReviewRequestTrackingGateway(new ProjectStatsCalculator());
|
|
440
|
+
const mrDetails = trackingGateway.getById(job.localPath, mrId);
|
|
441
|
+
const assignedBy = mrDetails?.assignment?.username;
|
|
442
|
+
const reviewStats = addReviewStats(job.localPath, job.mrNumber, durationMs, stdout, assignedBy);
|
|
443
|
+
logger.info({ reviewStats }, 'Stats de review enregistrées');
|
|
444
|
+
}
|
|
445
|
+
catch (statsError) {
|
|
446
|
+
logger.warn({ error: statsError }, 'Erreur lors de l\'enregistrement des stats');
|
|
447
|
+
}
|
|
448
|
+
// Log stdout preview for debugging
|
|
449
|
+
if (stdout.length > 0) {
|
|
450
|
+
logInfo('Claude output preview', {
|
|
451
|
+
jobId: job.id,
|
|
452
|
+
preview: stdout.substring(0, 1000),
|
|
453
|
+
fullLength: stdout.length,
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
else {
|
|
458
|
+
logError('Review échouée', {
|
|
459
|
+
jobId: job.id,
|
|
460
|
+
mrNumber: job.mrNumber,
|
|
461
|
+
exitCode: code,
|
|
462
|
+
duration: `${durationMin} min`,
|
|
463
|
+
stderr: stderr.substring(0, 500),
|
|
464
|
+
stdoutPreview: stdout.substring(0, 300),
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
resolve({
|
|
468
|
+
success,
|
|
469
|
+
exitCode: memoryExceeded ? null : code,
|
|
470
|
+
stdout,
|
|
471
|
+
stderr,
|
|
472
|
+
durationMs,
|
|
473
|
+
finalProgress,
|
|
474
|
+
cancelled: cancelled || memoryExceeded,
|
|
475
|
+
});
|
|
476
|
+
});
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Send desktop notification
|
|
481
|
+
*/
|
|
482
|
+
export function sendNotification(title, message, logger) {
|
|
483
|
+
try {
|
|
484
|
+
// Use notify-send on Linux
|
|
485
|
+
const child = spawn('notify-send', [
|
|
486
|
+
'--app-name=Claude Review',
|
|
487
|
+
'--urgency=normal',
|
|
488
|
+
'--icon=dialog-information',
|
|
489
|
+
title,
|
|
490
|
+
message,
|
|
491
|
+
]);
|
|
492
|
+
child.on('error', (error) => {
|
|
493
|
+
logger.warn({ error }, 'Notification desktop non disponible');
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
catch {
|
|
497
|
+
logger.warn('notify-send non disponible');
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
//# sourceMappingURL=claudeInvoker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeInvoker.js","sourceRoot":"","sources":["../../../src/frameworks/claude/claudeInvoker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser for progress markers emitted by Claude during review
|
|
3
|
+
*
|
|
4
|
+
* Expected markers in stdout:
|
|
5
|
+
* - [PROGRESS:agent-name:started]
|
|
6
|
+
* - [PROGRESS:agent-name:completed]
|
|
7
|
+
* - [PROGRESS:agent-name:failed:error message]
|
|
8
|
+
* - [PHASE:phase-name]
|
|
9
|
+
*/
|
|
10
|
+
import type { ReviewProgress, ProgressEvent } from '../../entities/progress/progress.type.js';
|
|
11
|
+
import type { AgentDefinition } from '../../entities/progress/agentDefinition.type.js';
|
|
12
|
+
export interface ParseResult {
|
|
13
|
+
events: ProgressEvent[];
|
|
14
|
+
updatedProgress: ReviewProgress;
|
|
15
|
+
}
|
|
16
|
+
export type ProgressCallback = (event: ProgressEvent, progress: ReviewProgress) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Progress parser that tracks state and emits events
|
|
19
|
+
*/
|
|
20
|
+
export declare class ProgressParser {
|
|
21
|
+
private progress;
|
|
22
|
+
private jobId;
|
|
23
|
+
private callback?;
|
|
24
|
+
/**
|
|
25
|
+
* @param jobId - Unique job identifier
|
|
26
|
+
* @param callback - Optional callback for progress events
|
|
27
|
+
* @param customAgents - Optional custom agents from project config
|
|
28
|
+
*/
|
|
29
|
+
constructor(jobId: string, callback?: ProgressCallback, customAgents?: AgentDefinition[]);
|
|
30
|
+
/**
|
|
31
|
+
* Get current progress state
|
|
32
|
+
*/
|
|
33
|
+
getProgress(): ReviewProgress;
|
|
34
|
+
/**
|
|
35
|
+
* Parse a chunk of stdout and update progress
|
|
36
|
+
*/
|
|
37
|
+
parseChunk(chunk: string): ProgressEvent[];
|
|
38
|
+
/**
|
|
39
|
+
* Handle agent progress update
|
|
40
|
+
*/
|
|
41
|
+
private handleAgentProgress;
|
|
42
|
+
/**
|
|
43
|
+
* Handle phase change
|
|
44
|
+
*/
|
|
45
|
+
private handlePhaseChange;
|
|
46
|
+
/**
|
|
47
|
+
* Format agent name for display (kebab-case to Title Case)
|
|
48
|
+
*/
|
|
49
|
+
private formatAgentName;
|
|
50
|
+
/**
|
|
51
|
+
* Mark all remaining pending agents as completed (for fallback)
|
|
52
|
+
*/
|
|
53
|
+
markAllCompleted(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Mark review as failed
|
|
56
|
+
*/
|
|
57
|
+
markFailed(error: string): void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Parse a single chunk without state (utility function)
|
|
61
|
+
*/
|
|
62
|
+
export declare function parseProgressMarkers(chunk: string): {
|
|
63
|
+
agents: Array<{
|
|
64
|
+
name: string;
|
|
65
|
+
status: string;
|
|
66
|
+
error?: string;
|
|
67
|
+
}>;
|
|
68
|
+
phases: string[];
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=progressParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progressParser.d.ts","sourceRoot":"","sources":["../../../src/frameworks/claude/progressParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAGV,cAAc,EACd,aAAa,EAEd,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAQvF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,eAAe,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;AAExF;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAEpC;;;;OAIG;gBACS,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE,eAAe,EAAE;IAMxF;;OAEG;IACH,WAAW,IAAI,cAAc;IAI7B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE;IAmC1C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuD3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAYxB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAWhC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG;IACnD,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAqBA"}
|