@diff-review-system/drs 4.0.0-rc.4 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.pi/agents/describe/pr-describer.md +14 -0
- package/.pi/agents/review/unified-reviewer.md +31 -1
- package/.pi/agents/task/agents-md-updater.md +3 -1
- package/.pi/agents/task/review-issue-fixer.md +18 -1
- package/.pi/agents/visual/pr-explainer.md +205 -0
- package/.pi/workflows/github-pr-describe.yaml +10 -7
- package/.pi/workflows/github-pr-fix-review-issues-stacked.yaml +148 -0
- package/.pi/workflows/github-pr-post-comment.yaml +10 -10
- package/.pi/workflows/github-pr-review-post.yaml +19 -8
- package/.pi/workflows/github-pr-review.yaml +348 -7
- package/.pi/workflows/github-pr-show-changes.yaml +8 -8
- package/.pi/workflows/github-pr-update-agents-md-stacked.yaml +103 -0
- package/.pi/workflows/github-pr-visual-explain.yaml +35 -0
- package/.pi/workflows/gitlab-mr-describe.yaml +8 -5
- package/.pi/workflows/gitlab-mr-fix-review-issues-stacked.yaml +144 -0
- package/.pi/workflows/gitlab-mr-post-comment.yaml +8 -8
- package/.pi/workflows/gitlab-mr-review.yaml +348 -5
- package/.pi/workflows/gitlab-mr-show-changes.yaml +6 -6
- package/.pi/workflows/gitlab-mr-update-agents-md-stacked.yaml +100 -0
- package/.pi/workflows/gitlab-mr-visual-explain.yaml +33 -0
- package/.pi/workflows/local-fix-review-issues.yaml +82 -13
- package/.pi/workflows/local-review.yaml +9 -2
- package/.pi/workflows/local-update-agents-md.yaml +1 -1
- package/.pi/workflows/local-visual-explain.yaml +31 -0
- package/.pi/workflows/release-changelog-finalize.yaml +47 -0
- package/.pi/workflows/tag-changelog-update.yaml +4 -4
- package/README.md +91 -27
- package/dist/ci/runner.d.ts.map +1 -1
- package/dist/ci/runner.js +3 -1
- package/dist/ci/runner.js.map +1 -1
- package/dist/cli/index.js +48 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/run-agent.d.ts +2 -0
- package/dist/cli/run-agent.d.ts.map +1 -1
- package/dist/cli/run-agent.js +4 -0
- package/dist/cli/run-agent.js.map +1 -1
- package/dist/cli/workflow.d.ts +56 -2
- package/dist/cli/workflow.d.ts.map +1 -1
- package/dist/cli/workflow.js +2165 -85
- package/dist/cli/workflow.js.map +1 -1
- package/dist/github/client.d.ts +12 -0
- package/dist/github/client.d.ts.map +1 -1
- package/dist/github/client.js +27 -0
- package/dist/github/client.js.map +1 -1
- package/dist/github/platform-adapter.d.ts +6 -1
- package/dist/github/platform-adapter.d.ts.map +1 -1
- package/dist/github/platform-adapter.js +84 -8
- package/dist/github/platform-adapter.js.map +1 -1
- package/dist/gitlab/client.d.ts +11 -0
- package/dist/gitlab/client.d.ts.map +1 -1
- package/dist/gitlab/client.js +11 -0
- package/dist/gitlab/client.js.map +1 -1
- package/dist/gitlab/platform-adapter.d.ts +3 -1
- package/dist/gitlab/platform-adapter.d.ts.map +1 -1
- package/dist/gitlab/platform-adapter.js +32 -1
- package/dist/gitlab/platform-adapter.js.map +1 -1
- package/dist/lib/comment-formatter.d.ts +8 -0
- package/dist/lib/comment-formatter.d.ts.map +1 -1
- package/dist/lib/comment-formatter.js +12 -4
- package/dist/lib/comment-formatter.js.map +1 -1
- package/dist/lib/comment-poster.d.ts.map +1 -1
- package/dist/lib/comment-poster.js +28 -1
- package/dist/lib/comment-poster.js.map +1 -1
- package/dist/lib/config.d.ts +50 -11
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +163 -28
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/context-compression.d.ts +10 -0
- package/dist/lib/context-compression.d.ts.map +1 -1
- package/dist/lib/context-compression.js +101 -13
- package/dist/lib/context-compression.js.map +1 -1
- package/dist/lib/context-loader.d.ts +2 -1
- package/dist/lib/context-loader.d.ts.map +1 -1
- package/dist/lib/context-loader.js +70 -1
- package/dist/lib/context-loader.js.map +1 -1
- package/dist/lib/describe-core.d.ts.map +1 -1
- package/dist/lib/describe-core.js +3 -2
- package/dist/lib/describe-core.js.map +1 -1
- package/dist/lib/diff-lines.d.ts +9 -0
- package/dist/lib/diff-lines.d.ts.map +1 -1
- package/dist/lib/diff-lines.js +17 -9
- package/dist/lib/diff-lines.js.map +1 -1
- package/dist/lib/exit.js +4 -4
- package/dist/lib/exit.js.map +1 -1
- package/dist/lib/html-artifact.d.ts +14 -0
- package/dist/lib/html-artifact.d.ts.map +1 -0
- package/dist/lib/html-artifact.js +59 -0
- package/dist/lib/html-artifact.js.map +1 -0
- package/dist/lib/issue-parser.js +3 -3
- package/dist/lib/issue-parser.js.map +1 -1
- package/dist/lib/json-output-schema.d.ts +70 -0
- package/dist/lib/json-output-schema.d.ts.map +1 -1
- package/dist/lib/json-output-schema.js +40 -0
- package/dist/lib/json-output-schema.js.map +1 -1
- package/dist/lib/platform-client.d.ts +26 -0
- package/dist/lib/platform-client.d.ts.map +1 -1
- package/dist/lib/review-artifact.d.ts +69 -0
- package/dist/lib/review-artifact.d.ts.map +1 -0
- package/dist/lib/review-artifact.js +171 -0
- package/dist/lib/review-artifact.js.map +1 -0
- package/dist/lib/review-core.d.ts +6 -4
- package/dist/lib/review-core.d.ts.map +1 -1
- package/dist/lib/review-core.js +71 -151
- package/dist/lib/review-core.js.map +1 -1
- package/dist/lib/review-orchestrator.d.ts +23 -0
- package/dist/lib/review-orchestrator.d.ts.map +1 -1
- package/dist/lib/review-orchestrator.js +20 -13
- package/dist/lib/review-orchestrator.js.map +1 -1
- package/dist/lib/review-usage.d.ts +4 -0
- package/dist/lib/review-usage.d.ts.map +1 -1
- package/dist/lib/review-usage.js +25 -0
- package/dist/lib/review-usage.js.map +1 -1
- package/dist/lib/trace-collector.d.ts +105 -0
- package/dist/lib/trace-collector.d.ts.map +1 -0
- package/dist/lib/trace-collector.js +255 -0
- package/dist/lib/trace-collector.js.map +1 -0
- package/dist/lib/trace-html.d.ts +3 -0
- package/dist/lib/trace-html.d.ts.map +1 -0
- package/dist/lib/trace-html.js +349 -0
- package/dist/lib/trace-html.js.map +1 -0
- package/dist/lib/workflow-artifacts.d.ts +54 -0
- package/dist/lib/workflow-artifacts.d.ts.map +1 -0
- package/dist/lib/workflow-artifacts.js +150 -0
- package/dist/lib/workflow-artifacts.js.map +1 -0
- package/dist/pi/sdk.d.ts.map +1 -1
- package/dist/pi/sdk.js +570 -6
- package/dist/pi/sdk.js.map +1 -1
- package/dist/runtime/agent-loader.js +2 -2
- package/dist/runtime/client.d.ts +2 -0
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +11 -5
- package/dist/runtime/client.js.map +1 -1
- package/package.json +21 -15
- package/.pi/workflows/github-pr-describe-post.yaml +0 -24
- package/.pi/workflows/gitlab-mr-describe-post.yaml +0 -22
- package/.pi/workflows/gitlab-mr-review-code-quality.yaml +0 -31
- package/.pi/workflows/gitlab-mr-review-post-code-quality.yaml +0 -40
- package/.pi/workflows/gitlab-mr-review-post.yaml +0 -30
- package/.pi/workflows/local-staged-review.yaml +0 -17
- package/dist/cli/run-agent.test.d.ts +0 -2
- package/dist/cli/run-agent.test.d.ts.map +0 -1
- package/dist/cli/run-agent.test.js +0 -204
- package/dist/cli/run-agent.test.js.map +0 -1
- package/dist/cli/workflow.test.d.ts +0 -2
- package/dist/cli/workflow.test.d.ts.map +0 -1
- package/dist/cli/workflow.test.js +0 -1410
- package/dist/cli/workflow.test.js.map +0 -1
- package/dist/github/client.test.d.ts +0 -2
- package/dist/github/client.test.d.ts.map +0 -1
- package/dist/github/client.test.js +0 -206
- package/dist/github/client.test.js.map +0 -1
- package/dist/github/platform-adapter.test.d.ts +0 -2
- package/dist/github/platform-adapter.test.d.ts.map +0 -1
- package/dist/github/platform-adapter.test.js +0 -40
- package/dist/github/platform-adapter.test.js.map +0 -1
- package/dist/gitlab/diff-parser.test.d.ts +0 -2
- package/dist/gitlab/diff-parser.test.d.ts.map +0 -1
- package/dist/gitlab/diff-parser.test.js +0 -315
- package/dist/gitlab/diff-parser.test.js.map +0 -1
- package/dist/gitlab/platform-adapter.test.d.ts +0 -2
- package/dist/gitlab/platform-adapter.test.d.ts.map +0 -1
- package/dist/gitlab/platform-adapter.test.js +0 -21
- package/dist/gitlab/platform-adapter.test.js.map +0 -1
- package/dist/index.test.d.ts +0 -2
- package/dist/index.test.d.ts.map +0 -1
- package/dist/index.test.js +0 -7
- package/dist/index.test.js.map +0 -1
- package/dist/lib/code-quality-report.test.d.ts +0 -2
- package/dist/lib/code-quality-report.test.d.ts.map +0 -1
- package/dist/lib/code-quality-report.test.js +0 -327
- package/dist/lib/code-quality-report.test.js.map +0 -1
- package/dist/lib/comment-formatter.test.d.ts +0 -2
- package/dist/lib/comment-formatter.test.d.ts.map +0 -1
- package/dist/lib/comment-formatter.test.js +0 -727
- package/dist/lib/comment-formatter.test.js.map +0 -1
- package/dist/lib/comment-manager.test.d.ts +0 -2
- package/dist/lib/comment-manager.test.d.ts.map +0 -1
- package/dist/lib/comment-manager.test.js +0 -680
- package/dist/lib/comment-manager.test.js.map +0 -1
- package/dist/lib/comment-poster.test.d.ts +0 -5
- package/dist/lib/comment-poster.test.d.ts.map +0 -1
- package/dist/lib/comment-poster.test.js +0 -255
- package/dist/lib/comment-poster.test.js.map +0 -1
- package/dist/lib/config-model-overrides.test.d.ts +0 -2
- package/dist/lib/config-model-overrides.test.d.ts.map +0 -1
- package/dist/lib/config-model-overrides.test.js +0 -218
- package/dist/lib/config-model-overrides.test.js.map +0 -1
- package/dist/lib/config.test.d.ts +0 -2
- package/dist/lib/config.test.d.ts.map +0 -1
- package/dist/lib/config.test.js +0 -353
- package/dist/lib/config.test.js.map +0 -1
- package/dist/lib/context-compression.test.d.ts +0 -2
- package/dist/lib/context-compression.test.d.ts.map +0 -1
- package/dist/lib/context-compression.test.js +0 -337
- package/dist/lib/context-compression.test.js.map +0 -1
- package/dist/lib/context-loader.test.d.ts +0 -2
- package/dist/lib/context-loader.test.d.ts.map +0 -1
- package/dist/lib/context-loader.test.js +0 -212
- package/dist/lib/context-loader.test.js.map +0 -1
- package/dist/lib/cursor-fix-link.test.d.ts +0 -2
- package/dist/lib/cursor-fix-link.test.d.ts.map +0 -1
- package/dist/lib/cursor-fix-link.test.js +0 -70
- package/dist/lib/cursor-fix-link.test.js.map +0 -1
- package/dist/lib/describe-core.test.d.ts +0 -2
- package/dist/lib/describe-core.test.d.ts.map +0 -1
- package/dist/lib/describe-core.test.js +0 -208
- package/dist/lib/describe-core.test.js.map +0 -1
- package/dist/lib/describe-output-path.test.d.ts +0 -2
- package/dist/lib/describe-output-path.test.d.ts.map +0 -1
- package/dist/lib/describe-output-path.test.js +0 -51
- package/dist/lib/describe-output-path.test.js.map +0 -1
- package/dist/lib/describe-parser.test.d.ts +0 -2
- package/dist/lib/describe-parser.test.d.ts.map +0 -1
- package/dist/lib/describe-parser.test.js +0 -282
- package/dist/lib/describe-parser.test.js.map +0 -1
- package/dist/lib/description-executor.test.d.ts +0 -2
- package/dist/lib/description-executor.test.d.ts.map +0 -1
- package/dist/lib/description-executor.test.js +0 -135
- package/dist/lib/description-executor.test.js.map +0 -1
- package/dist/lib/description-formatter.test.d.ts +0 -2
- package/dist/lib/description-formatter.test.d.ts.map +0 -1
- package/dist/lib/description-formatter.test.js +0 -57
- package/dist/lib/description-formatter.test.js.map +0 -1
- package/dist/lib/diff-lines.test.d.ts +0 -2
- package/dist/lib/diff-lines.test.d.ts.map +0 -1
- package/dist/lib/diff-lines.test.js +0 -13
- package/dist/lib/diff-lines.test.js.map +0 -1
- package/dist/lib/diff-parser.test.d.ts +0 -2
- package/dist/lib/diff-parser.test.d.ts.map +0 -1
- package/dist/lib/diff-parser.test.js +0 -335
- package/dist/lib/diff-parser.test.js.map +0 -1
- package/dist/lib/error-comment-poster.test.d.ts +0 -2
- package/dist/lib/error-comment-poster.test.d.ts.map +0 -1
- package/dist/lib/error-comment-poster.test.js +0 -128
- package/dist/lib/error-comment-poster.test.js.map +0 -1
- package/dist/lib/exit.test.d.ts +0 -2
- package/dist/lib/exit.test.d.ts.map +0 -1
- package/dist/lib/exit.test.js +0 -120
- package/dist/lib/exit.test.js.map +0 -1
- package/dist/lib/issue-parser.test.d.ts +0 -2
- package/dist/lib/issue-parser.test.d.ts.map +0 -1
- package/dist/lib/issue-parser.test.js +0 -281
- package/dist/lib/issue-parser.test.js.map +0 -1
- package/dist/lib/json-output-schema.test.d.ts +0 -2
- package/dist/lib/json-output-schema.test.d.ts.map +0 -1
- package/dist/lib/json-output-schema.test.js +0 -92
- package/dist/lib/json-output-schema.test.js.map +0 -1
- package/dist/lib/json-output.test.d.ts +0 -2
- package/dist/lib/json-output.test.d.ts.map +0 -1
- package/dist/lib/json-output.test.js +0 -141
- package/dist/lib/json-output.test.js.map +0 -1
- package/dist/lib/logger.test.d.ts +0 -2
- package/dist/lib/logger.test.d.ts.map +0 -1
- package/dist/lib/logger.test.js +0 -324
- package/dist/lib/logger.test.js.map +0 -1
- package/dist/lib/position-validator.test.d.ts +0 -2
- package/dist/lib/position-validator.test.d.ts.map +0 -1
- package/dist/lib/position-validator.test.js +0 -128
- package/dist/lib/position-validator.test.js.map +0 -1
- package/dist/lib/prompt-budget.test.d.ts +0 -2
- package/dist/lib/prompt-budget.test.d.ts.map +0 -1
- package/dist/lib/prompt-budget.test.js +0 -55
- package/dist/lib/prompt-budget.test.js.map +0 -1
- package/dist/lib/repository-validator.test.d.ts +0 -5
- package/dist/lib/repository-validator.test.d.ts.map +0 -1
- package/dist/lib/repository-validator.test.js +0 -341
- package/dist/lib/repository-validator.test.js.map +0 -1
- package/dist/lib/review-core.test.d.ts +0 -2
- package/dist/lib/review-core.test.d.ts.map +0 -1
- package/dist/lib/review-core.test.js +0 -614
- package/dist/lib/review-core.test.js.map +0 -1
- package/dist/lib/review-orchestrator.test.d.ts +0 -2
- package/dist/lib/review-orchestrator.test.d.ts.map +0 -1
- package/dist/lib/review-orchestrator.test.js +0 -552
- package/dist/lib/review-orchestrator.test.js.map +0 -1
- package/dist/lib/review-output-path.test.d.ts +0 -2
- package/dist/lib/review-output-path.test.d.ts.map +0 -1
- package/dist/lib/review-output-path.test.js +0 -83
- package/dist/lib/review-output-path.test.js.map +0 -1
- package/dist/lib/review-parser.test.d.ts +0 -2
- package/dist/lib/review-parser.test.d.ts.map +0 -1
- package/dist/lib/review-parser.test.js +0 -130
- package/dist/lib/review-parser.test.js.map +0 -1
- package/dist/lib/review-usage.test.d.ts +0 -2
- package/dist/lib/review-usage.test.d.ts.map +0 -1
- package/dist/lib/review-usage.test.js +0 -83
- package/dist/lib/review-usage.test.js.map +0 -1
- package/dist/lib/unified-review-executor.d.ts +0 -58
- package/dist/lib/unified-review-executor.d.ts.map +0 -1
- package/dist/lib/unified-review-executor.js +0 -201
- package/dist/lib/unified-review-executor.js.map +0 -1
- package/dist/lib/unified-review-executor.test.d.ts +0 -5
- package/dist/lib/unified-review-executor.test.d.ts.map +0 -1
- package/dist/lib/unified-review-executor.test.js +0 -472
- package/dist/lib/unified-review-executor.test.js.map +0 -1
- package/dist/lib/write-json-output.test.d.ts +0 -2
- package/dist/lib/write-json-output.test.d.ts.map +0 -1
- package/dist/lib/write-json-output.test.js +0 -259
- package/dist/lib/write-json-output.test.js.map +0 -1
- package/dist/pi/sdk.test.d.ts +0 -2
- package/dist/pi/sdk.test.d.ts.map +0 -1
- package/dist/pi/sdk.test.js +0 -488
- package/dist/pi/sdk.test.js.map +0 -1
- package/dist/runtime/agent-loader.test.d.ts +0 -2
- package/dist/runtime/agent-loader.test.d.ts.map +0 -1
- package/dist/runtime/agent-loader.test.js +0 -277
- package/dist/runtime/agent-loader.test.js.map +0 -1
- package/dist/runtime/client.test.d.ts +0 -2
- package/dist/runtime/client.test.d.ts.map +0 -1
- package/dist/runtime/client.test.js +0 -772
- package/dist/runtime/client.test.js.map +0 -1
- package/dist/runtime/path-config.test.d.ts +0 -2
- package/dist/runtime/path-config.test.d.ts.map +0 -1
- package/dist/runtime/path-config.test.js +0 -112
- package/dist/runtime/path-config.test.js.map +0 -1
package/dist/lib/review-core.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core review execution logic shared between local and platform reviews
|
|
3
3
|
*
|
|
4
|
-
* This module contains the common agent execution logic
|
|
5
|
-
* between review-orchestrator.ts (local) and unified-review-executor.ts (platform).
|
|
4
|
+
* This module contains the common agent execution logic used by the review orchestrator.
|
|
6
5
|
*/
|
|
7
6
|
import chalk from 'chalk';
|
|
8
7
|
import { getModelOverrides, getReviewAgentIds, getUnifiedModelOverride, resolveAgentSkills, } from './config.js';
|
|
@@ -12,7 +11,7 @@ import { parseReviewOutput } from './review-parser.js';
|
|
|
12
11
|
import { calculateSummary } from './comment-formatter.js';
|
|
13
12
|
import { loadAgents } from '../runtime/agent-loader.js';
|
|
14
13
|
import { getLogger } from './logger.js';
|
|
15
|
-
import { aggregateAgentUsage, applyUsageMessage, createAgentUsageSummary, } from './review-usage.js';
|
|
14
|
+
import { aggregateAgentUsage, applySkillCall, applyToolCall, applyUsageMessage, createAgentUsageSummary, } from './review-usage.js';
|
|
16
15
|
import { estimatePromptBudget, formatPromptBudgetEstimate } from './prompt-budget.js';
|
|
17
16
|
/**
|
|
18
17
|
* Build base review instructions for agents
|
|
@@ -21,7 +20,7 @@ import { estimatePromptBudget, formatPromptBudgetEstimate } from './prompt-budge
|
|
|
21
20
|
* @param files - List of files with optional diff content
|
|
22
21
|
* @param diffCommand - Fallback git diff command hint (used when diff not provided)
|
|
23
22
|
*/
|
|
24
|
-
export function buildBaseInstructions(label, files, diffCommand, compressionSummary) {
|
|
23
|
+
export function buildBaseInstructions(label, files, diffCommand, compressionSummary, verificationContext) {
|
|
25
24
|
// Check if we have actual diff content
|
|
26
25
|
const filesWithDiffs = files.filter((f) => f.patch);
|
|
27
26
|
const hasDiffs = filesWithDiffs.length > 0;
|
|
@@ -81,18 +80,19 @@ ${compressionSummary ? `${compressionSummary}\n\n` : ''}Output requirements:
|
|
|
81
80
|
"references": ["https://link1", "https://link2"],
|
|
82
81
|
"agent": "security" | "quality" | "style" | "performance" | "documentation" | "unified"
|
|
83
82
|
}
|
|
84
|
-
]
|
|
83
|
+
]${verificationContext ? buildVerificationSchemaSnippet() : ''}
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
**Analysis approach:**
|
|
88
87
|
1. First, use Grep or Read to quickly understand the project's existing patterns relevant to the changed files (e.g., existing validation, error handling, auth patterns, naming conventions).
|
|
89
88
|
2. Then analyze the diff content above against those established patterns.
|
|
89
|
+
3. If the prompt says a diff was omitted or summarized, call git_diff for that file before making file-specific claims.
|
|
90
90
|
|
|
91
91
|
**Review rules:**
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
4. **IMPORTANT: Only report issues on lines that were actually changed or added (lines starting with + in the diff).** Do not report issues on unchanged code.
|
|
93
|
+
5. Only flag deviations or new risks introduced by the changes.
|
|
94
|
+
6. Populate summary counts based on the issues you report (use 0 when none).
|
|
95
|
+
7. Focus on the changes - only report issues for newly added or modified lines (lines with + prefix in the diff).`;
|
|
96
96
|
}
|
|
97
97
|
// No diff content available - instruct agent to read files directly
|
|
98
98
|
return `Review the following changed files from ${label}:
|
|
@@ -139,17 +139,30 @@ Output requirements:
|
|
|
139
139
|
"references": ["https://link1", "https://link2"],
|
|
140
140
|
"agent": "security" | "quality" | "style" | "performance" | "documentation" | "unified"
|
|
141
141
|
}
|
|
142
|
-
]
|
|
142
|
+
]${verificationContext ? buildVerificationSchemaSnippet() : ''}
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
**Instructions:**
|
|
146
|
-
1. The diffs for these files were omitted due to size constraints. Use the
|
|
147
|
-
2. Focus your review on newly added or modified code patterns.
|
|
146
|
+
1. The diffs for these files were omitted due to size constraints. Use git_diff to inspect the file diffs, then use Read/Grep for surrounding context as needed.
|
|
147
|
+
2. Focus your review on newly added or modified code patterns from the git_diff output.
|
|
148
148
|
3. **IMPORTANT: Only report issues on lines that were actually changed or added.** Do not report issues on existing code that was not modified.
|
|
149
149
|
4. Analyze the changed code for issues in your specialty area
|
|
150
150
|
5. Populate summary counts based on the issues you report (use 0 when none).
|
|
151
151
|
6. Focus on the changes - only report issues for newly added or modified lines.`;
|
|
152
152
|
}
|
|
153
|
+
function buildVerificationSchemaSnippet() {
|
|
154
|
+
return `,
|
|
155
|
+
"verification": {
|
|
156
|
+
"findings": [
|
|
157
|
+
{
|
|
158
|
+
"id": "F001",
|
|
159
|
+
"disposition": "resolved",
|
|
160
|
+
"rationale": "short explanation",
|
|
161
|
+
"issue": null
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
}`;
|
|
165
|
+
}
|
|
153
166
|
/**
|
|
154
167
|
* Get information about configured review agents
|
|
155
168
|
*/
|
|
@@ -255,143 +268,7 @@ function extractSkillNameFromToolOutput(content) {
|
|
|
255
268
|
}
|
|
256
269
|
return undefined;
|
|
257
270
|
}
|
|
258
|
-
|
|
259
|
-
const agentType = 'review/unified-reviewer';
|
|
260
|
-
const agentName = agentType;
|
|
261
|
-
console.log(chalk.bold('🎯 Selected Agents: review/unified-reviewer\n'));
|
|
262
|
-
console.log(chalk.gray('Running unified review...\n'));
|
|
263
|
-
let agentUsage = createAgentUsageSummary(agentType);
|
|
264
|
-
const configuredSkills = getConfiguredSkillsForAgent(config, agentType);
|
|
265
|
-
const reviewModelOverrides = resolveReviewModelOverrides(config);
|
|
266
|
-
const modelId = reviewModelOverrides[agentName];
|
|
267
|
-
let sawSkillToolCall = false;
|
|
268
|
-
const describeSummary = typeof additionalContext.describeSummary === 'string'
|
|
269
|
-
? additionalContext.describeSummary
|
|
270
|
-
: undefined;
|
|
271
|
-
try {
|
|
272
|
-
const reviewPrompt = buildReviewPrompt(agentType, baseInstructions, reviewLabel, filteredFiles, workingDir, config, describeSummary);
|
|
273
|
-
logPromptInputBudget({
|
|
274
|
-
runtime,
|
|
275
|
-
config,
|
|
276
|
-
agentType,
|
|
277
|
-
prompt: reviewPrompt,
|
|
278
|
-
modelId,
|
|
279
|
-
});
|
|
280
|
-
const logger = getLogger();
|
|
281
|
-
if (debug) {
|
|
282
|
-
console.log(chalk.gray('┌── DEBUG: Message sent to review agent'));
|
|
283
|
-
console.log(chalk.gray(`│ Agent: ${agentName}`));
|
|
284
|
-
console.log(chalk.gray('│ Prompt:'));
|
|
285
|
-
console.log(chalk.gray('─'.repeat(60)));
|
|
286
|
-
console.log(reviewPrompt);
|
|
287
|
-
console.log(chalk.gray('─'.repeat(60)));
|
|
288
|
-
console.log(chalk.gray(`└── End message for ${agentName}\n`));
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
logger.agentInput(agentType, reviewPrompt);
|
|
292
|
-
}
|
|
293
|
-
const session = await runtime.createSession({
|
|
294
|
-
agent: agentName,
|
|
295
|
-
message: reviewPrompt,
|
|
296
|
-
});
|
|
297
|
-
const agentIssues = [];
|
|
298
|
-
let fullResponse = '';
|
|
299
|
-
for await (const message of runtime.streamMessages(session.id)) {
|
|
300
|
-
if (message.role === 'tool') {
|
|
301
|
-
// Detect skill loading: legacy 'skill' tool or Pi-native read of SKILL.md
|
|
302
|
-
const skillFromLegacy = message.toolName === 'skill'
|
|
303
|
-
? extractSkillNameFromToolOutput(message.content)
|
|
304
|
-
: undefined;
|
|
305
|
-
const skillFromRead = extractSkillNameFromReadToolOutput(message.toolName, message.content);
|
|
306
|
-
const skillName = skillFromLegacy ?? skillFromRead;
|
|
307
|
-
if (skillName) {
|
|
308
|
-
logger.skillLoaded(skillName, agentType);
|
|
309
|
-
sawSkillToolCall = true;
|
|
310
|
-
}
|
|
311
|
-
else {
|
|
312
|
-
logger.toolOutput(message.toolName ?? 'unknown', agentType, message.content);
|
|
313
|
-
}
|
|
314
|
-
continue;
|
|
315
|
-
}
|
|
316
|
-
if (message.role === 'assistant') {
|
|
317
|
-
agentUsage = applyUsageMessage(agentUsage, message);
|
|
318
|
-
if (!message.content.trim()) {
|
|
319
|
-
continue;
|
|
320
|
-
}
|
|
321
|
-
fullResponse += message.content;
|
|
322
|
-
if (debug) {
|
|
323
|
-
console.log(chalk.gray(`┌── DEBUG: Full response from ${agentName}`));
|
|
324
|
-
console.log(message.content);
|
|
325
|
-
console.log(chalk.gray(`└── End response for ${agentName}\n`));
|
|
326
|
-
}
|
|
327
|
-
else {
|
|
328
|
-
logger.agentMessage(agentType, message.content);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
if (configuredSkills.length > 0 && !sawSkillToolCall) {
|
|
333
|
-
logger.noSkillCalls(agentType);
|
|
334
|
-
}
|
|
335
|
-
await runtime.closeSession(session.id);
|
|
336
|
-
try {
|
|
337
|
-
const reviewOutput = await parseReviewOutput(workingDir, debug, fullResponse);
|
|
338
|
-
const parsedIssues = parseReviewIssues(JSON.stringify(reviewOutput), agentType);
|
|
339
|
-
if (parsedIssues.length > 0) {
|
|
340
|
-
agentIssues.push(...parsedIssues);
|
|
341
|
-
console.log(chalk.green(`✓ [unified] Found ${parsedIssues.length} issue(s)`));
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
catch (parseError) {
|
|
345
|
-
console.error(chalk.red('Failed to parse unified review output'));
|
|
346
|
-
if (debug) {
|
|
347
|
-
console.log(chalk.dim('Unified agent output:'), fullResponse);
|
|
348
|
-
}
|
|
349
|
-
const reason = parseError instanceof Error ? `: ${parseError.message}` : '';
|
|
350
|
-
throw new Error(`Unified review agent did not return valid JSON output${reason}`);
|
|
351
|
-
}
|
|
352
|
-
const summary = calculateSummary(filteredFiles.length, agentIssues);
|
|
353
|
-
const agentResults = [
|
|
354
|
-
{
|
|
355
|
-
agentType,
|
|
356
|
-
success: true,
|
|
357
|
-
issues: agentIssues,
|
|
358
|
-
usage: {
|
|
359
|
-
...agentUsage,
|
|
360
|
-
success: true,
|
|
361
|
-
},
|
|
362
|
-
},
|
|
363
|
-
];
|
|
364
|
-
return {
|
|
365
|
-
issues: agentIssues,
|
|
366
|
-
summary,
|
|
367
|
-
filesReviewed: filteredFiles.length,
|
|
368
|
-
agentResults,
|
|
369
|
-
usage: summarizeRunUsage(agentResults),
|
|
370
|
-
};
|
|
371
|
-
}
|
|
372
|
-
catch (error) {
|
|
373
|
-
console.error(chalk.red(`✗ review/unified-reviewer agent failed: ${error}`));
|
|
374
|
-
const agentResults = [
|
|
375
|
-
{
|
|
376
|
-
agentType,
|
|
377
|
-
success: false,
|
|
378
|
-
issues: [],
|
|
379
|
-
usage: {
|
|
380
|
-
...agentUsage,
|
|
381
|
-
success: false,
|
|
382
|
-
},
|
|
383
|
-
},
|
|
384
|
-
];
|
|
385
|
-
return {
|
|
386
|
-
issues: [],
|
|
387
|
-
summary: calculateSummary(filteredFiles.length, []),
|
|
388
|
-
filesReviewed: filteredFiles.length,
|
|
389
|
-
agentResults,
|
|
390
|
-
usage: summarizeRunUsage(agentResults),
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
async function executeSingleAgent(runtime, config, baseInstructions, reviewLabel, filteredFiles, workingDir, debug, agentType, reviewModelOverrides, describeSummary) {
|
|
271
|
+
async function executeSingleAgent(runtime, config, baseInstructions, reviewLabel, filteredFiles, workingDir, debug, agentType, reviewModelOverrides, describeSummary, verificationContext) {
|
|
395
272
|
const agentName = agentType;
|
|
396
273
|
console.log(chalk.gray(`Running ${agentType} review...\n`));
|
|
397
274
|
let agentUsage = createAgentUsageSummary(agentType);
|
|
@@ -400,7 +277,7 @@ async function executeSingleAgent(runtime, config, baseInstructions, reviewLabel
|
|
|
400
277
|
let sawSkillToolCall = false;
|
|
401
278
|
try {
|
|
402
279
|
// Build prompt with global and agent-specific context
|
|
403
|
-
const reviewPrompt = buildReviewPrompt(agentType, baseInstructions, reviewLabel, filteredFiles, workingDir, config, describeSummary);
|
|
280
|
+
const reviewPrompt = buildReviewPrompt(agentType, baseInstructions, reviewLabel, filteredFiles, workingDir, config, describeSummary, verificationContext);
|
|
404
281
|
logPromptInputBudget({
|
|
405
282
|
runtime,
|
|
406
283
|
config,
|
|
@@ -430,6 +307,7 @@ async function executeSingleAgent(runtime, config, baseInstructions, reviewLabel
|
|
|
430
307
|
// Collect results from this agent
|
|
431
308
|
for await (const message of runtime.streamMessages(session.id)) {
|
|
432
309
|
if (message.role === 'tool') {
|
|
310
|
+
agentUsage = applyToolCall(agentUsage, message.toolName);
|
|
433
311
|
// Detect skill loading: legacy 'skill' tool or Pi-native read of SKILL.md
|
|
434
312
|
const skillFromLegacy = message.toolName === 'skill'
|
|
435
313
|
? extractSkillNameFromToolOutput(message.content)
|
|
@@ -437,6 +315,7 @@ async function executeSingleAgent(runtime, config, baseInstructions, reviewLabel
|
|
|
437
315
|
const skillFromRead = extractSkillNameFromReadToolOutput(message.toolName, message.content);
|
|
438
316
|
const skillName = skillFromLegacy ?? skillFromRead;
|
|
439
317
|
if (skillName) {
|
|
318
|
+
agentUsage = applySkillCall(agentUsage, skillName);
|
|
440
319
|
logger.skillLoaded(skillName, agentType);
|
|
441
320
|
sawSkillToolCall = true;
|
|
442
321
|
}
|
|
@@ -467,6 +346,7 @@ async function executeSingleAgent(runtime, config, baseInstructions, reviewLabel
|
|
|
467
346
|
await runtime.closeSession(session.id);
|
|
468
347
|
const reviewOutput = await parseReviewOutput(workingDir, debug, fullResponse);
|
|
469
348
|
const parsedIssues = parseReviewIssues(JSON.stringify(reviewOutput), agentType);
|
|
349
|
+
const verification = parseReviewVerification(reviewOutput);
|
|
470
350
|
if (parsedIssues.length > 0) {
|
|
471
351
|
agentIssues.push(...parsedIssues);
|
|
472
352
|
console.log(chalk.green(`✓ [${agentType}] Found ${parsedIssues.length} issue(s)`));
|
|
@@ -475,6 +355,7 @@ async function executeSingleAgent(runtime, config, baseInstructions, reviewLabel
|
|
|
475
355
|
agentType,
|
|
476
356
|
success: true,
|
|
477
357
|
issues: agentIssues,
|
|
358
|
+
verification,
|
|
478
359
|
usage: {
|
|
479
360
|
...agentUsage,
|
|
480
361
|
success: true,
|
|
@@ -512,7 +393,10 @@ export async function runReviewAgents(runtime, config, baseInstructions, reviewL
|
|
|
512
393
|
const describeSummary = typeof additionalContext.describeSummary === 'string'
|
|
513
394
|
? additionalContext.describeSummary
|
|
514
395
|
: undefined;
|
|
515
|
-
const
|
|
396
|
+
const verificationContext = isReviewVerificationContext(additionalContext.verificationContext)
|
|
397
|
+
? additionalContext.verificationContext
|
|
398
|
+
: undefined;
|
|
399
|
+
const agentResults = await Promise.all(agentNames.map((agentType) => executeSingleAgent(runtime, config, baseInstructions, reviewLabel, filteredFiles, workingDir, debug, agentType, reviewModelOverrides, describeSummary, verificationContext)));
|
|
516
400
|
// Check agent results
|
|
517
401
|
const successfulAgents = agentResults.filter((r) => r.success);
|
|
518
402
|
const failedAgents = agentResults.filter((r) => !r.success);
|
|
@@ -532,17 +416,53 @@ export async function runReviewAgents(runtime, config, baseInstructions, reviewL
|
|
|
532
416
|
const issues = [];
|
|
533
417
|
agentResults.forEach((result) => issues.push(...result.issues));
|
|
534
418
|
const summary = calculateSummary(filteredFiles.length, issues);
|
|
419
|
+
const verificationFindings = agentResults.flatMap((result) => result.verification?.findings ?? []);
|
|
535
420
|
return {
|
|
536
421
|
issues,
|
|
537
422
|
summary,
|
|
538
423
|
filesReviewed: filteredFiles.length,
|
|
539
424
|
agentResults,
|
|
425
|
+
verification: verificationFindings.length > 0 ? { findings: verificationFindings } : undefined,
|
|
540
426
|
usage: summarizeRunUsage(agentResults),
|
|
541
427
|
};
|
|
542
428
|
}
|
|
543
429
|
export async function runReviewPipeline(runtime, config, baseInstructions, reviewLabel, filteredFiles, additionalContext = {}, workingDir = process.cwd(), debug = false) {
|
|
544
430
|
return runReviewAgents(runtime, config, baseInstructions, reviewLabel, filteredFiles, additionalContext, workingDir, debug);
|
|
545
431
|
}
|
|
432
|
+
function isReviewVerificationContext(value) {
|
|
433
|
+
if (!value || typeof value !== 'object') {
|
|
434
|
+
return false;
|
|
435
|
+
}
|
|
436
|
+
const candidate = value;
|
|
437
|
+
return !!candidate.artifact && Array.isArray(candidate.artifact.findings);
|
|
438
|
+
}
|
|
439
|
+
function parseReviewVerification(value) {
|
|
440
|
+
if (!value || typeof value !== 'object') {
|
|
441
|
+
return undefined;
|
|
442
|
+
}
|
|
443
|
+
const verification = value.verification;
|
|
444
|
+
if (!verification || typeof verification !== 'object') {
|
|
445
|
+
return undefined;
|
|
446
|
+
}
|
|
447
|
+
const findings = verification.findings;
|
|
448
|
+
if (!Array.isArray(findings)) {
|
|
449
|
+
return undefined;
|
|
450
|
+
}
|
|
451
|
+
const parsed = findings.filter(isReviewVerificationFinding);
|
|
452
|
+
return parsed.length > 0 ? { findings: parsed } : undefined;
|
|
453
|
+
}
|
|
454
|
+
function isReviewVerificationFinding(value) {
|
|
455
|
+
if (!value || typeof value !== 'object') {
|
|
456
|
+
return false;
|
|
457
|
+
}
|
|
458
|
+
const candidate = value;
|
|
459
|
+
return (typeof candidate.id === 'string' &&
|
|
460
|
+
isReviewVerificationDisposition(candidate.disposition) &&
|
|
461
|
+
(candidate.rationale === undefined || typeof candidate.rationale === 'string'));
|
|
462
|
+
}
|
|
463
|
+
function isReviewVerificationDisposition(value) {
|
|
464
|
+
return value === 'resolved' || value === 'still_open' || value === 'partial';
|
|
465
|
+
}
|
|
546
466
|
/**
|
|
547
467
|
* Display review summary to terminal
|
|
548
468
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-core.js","sourceRoot":"","sources":["../../src/lib/review-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-core.js","sourceRoot":"","sources":["../../src/lib/review-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ import { type RuntimeClient } from '../runtime/client.js';
|
|
|
11
11
|
import { calculateSummary, type ReviewIssue } from './comment-formatter.js';
|
|
12
12
|
import { displayReviewSummary as displaySummary, hasBlockingIssues as checkBlockingIssues } from './review-core.js';
|
|
13
13
|
import { type ReviewUsageSummary } from './review-usage.js';
|
|
14
|
+
import type { ReviewFinding } from './review-artifact.js';
|
|
15
|
+
import type { TraceCollector } from './trace-collector.js';
|
|
14
16
|
/**
|
|
15
17
|
* Source information for a review (platform-agnostic)
|
|
16
18
|
*/
|
|
@@ -35,6 +37,24 @@ export interface ReviewSource {
|
|
|
35
37
|
/** Reasoning effort level for the model */
|
|
36
38
|
thinkingLevel?: string;
|
|
37
39
|
}
|
|
40
|
+
export type ReviewVerificationDisposition = 'resolved' | 'still_open' | 'partial';
|
|
41
|
+
export interface ReviewVerificationFinding {
|
|
42
|
+
id: string;
|
|
43
|
+
disposition: ReviewVerificationDisposition;
|
|
44
|
+
rationale?: string;
|
|
45
|
+
issue?: ReviewIssue;
|
|
46
|
+
}
|
|
47
|
+
export interface ReviewVerificationResult {
|
|
48
|
+
findings: ReviewVerificationFinding[];
|
|
49
|
+
}
|
|
50
|
+
export interface ReviewVerificationContext {
|
|
51
|
+
artifact: {
|
|
52
|
+
reviewId: string;
|
|
53
|
+
findings: ReviewFinding[];
|
|
54
|
+
};
|
|
55
|
+
artifactPath?: string;
|
|
56
|
+
severity?: string;
|
|
57
|
+
}
|
|
38
58
|
/**
|
|
39
59
|
* Result of a review execution
|
|
40
60
|
*/
|
|
@@ -49,6 +69,8 @@ export interface ReviewResult {
|
|
|
49
69
|
filesReviewed: number;
|
|
50
70
|
/** Token usage and cost details for the review run */
|
|
51
71
|
usage?: ReviewUsageSummary;
|
|
72
|
+
/** Explicit verification verdicts for an existing review artifact. */
|
|
73
|
+
verification?: ReviewVerificationResult;
|
|
52
74
|
}
|
|
53
75
|
/**
|
|
54
76
|
* Filter files based on ignore patterns in config
|
|
@@ -59,6 +81,7 @@ export interface ConnectOptions {
|
|
|
59
81
|
debug?: boolean;
|
|
60
82
|
modelOverrides?: ModelOverrides;
|
|
61
83
|
thinkingLevel?: string;
|
|
84
|
+
traceCollector?: TraceCollector;
|
|
62
85
|
}
|
|
63
86
|
/**
|
|
64
87
|
* Connect to Pi runtime (in-process by default)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-orchestrator.d.ts","sourceRoot":"","sources":["../../src/lib/review-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"review-orchestrator.d.ts","sourceRoot":"","sources":["../../src/lib/review-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* It uses the shared core logic from review-core.ts.
|
|
6
6
|
*/
|
|
7
7
|
import chalk from 'chalk';
|
|
8
|
-
import { exitProcess } from './exit.js';
|
|
9
8
|
import { shouldIgnoreFile, getReviewAgentIds, getModelOverrides, getDescriberModelOverride, getDefaultThinkingLevel, getRuntimeConfig, getUnifiedModelOverride, } from './config.js';
|
|
10
9
|
import { createRuntimeClientInstance } from '../runtime/client.js';
|
|
11
10
|
import { calculateSummary } from './comment-formatter.js';
|
|
@@ -59,6 +58,7 @@ export async function connectToRuntime(config, workingDir, options) {
|
|
|
59
58
|
config,
|
|
60
59
|
debug: options?.debug,
|
|
61
60
|
thinkingLevel,
|
|
61
|
+
traceCollector: options?.traceCollector,
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
catch (error) {
|
|
@@ -116,6 +116,7 @@ export async function executeReview(config, source) {
|
|
|
116
116
|
debug: source.debug,
|
|
117
117
|
modelOverrides: reviewOverrides,
|
|
118
118
|
thinkingLevel: source.thinkingLevel,
|
|
119
|
+
traceCollector: source.context.traceCollector,
|
|
119
120
|
});
|
|
120
121
|
try {
|
|
121
122
|
// Build instructions - use provided diffs if available, otherwise fall back to git command
|
|
@@ -146,9 +147,12 @@ export async function executeReview(config, source) {
|
|
|
146
147
|
if (compressionSummary) {
|
|
147
148
|
console.log(chalk.yellow('⚠ Diff content trimmed to fit token budget.\n'));
|
|
148
149
|
}
|
|
149
|
-
|
|
150
|
+
const verificationContext = isReviewVerificationContext(source.context.verification)
|
|
151
|
+
? source.context.verification
|
|
152
|
+
: undefined;
|
|
153
|
+
// ── Describe pass (optional, skipped in verification mode) ──────────
|
|
150
154
|
let describeSummary;
|
|
151
|
-
if (describeEnabled && filesForInstructions.some((f) => f.patch)) {
|
|
155
|
+
if (describeEnabled && !verificationContext && filesForInstructions.some((f) => f.patch)) {
|
|
152
156
|
try {
|
|
153
157
|
console.log(chalk.bold.blue('🔍 Running describe pass for change context\n'));
|
|
154
158
|
const preCompressed = {
|
|
@@ -163,30 +167,33 @@ export async function executeReview(config, source) {
|
|
|
163
167
|
}
|
|
164
168
|
}
|
|
165
169
|
// ── Review pass ──────────────────────────────────────────────────────
|
|
166
|
-
const baseInstructions = buildBaseInstructions(source.name, compression.files, diffCommand, compressionSummary);
|
|
170
|
+
const baseInstructions = buildBaseInstructions(source.name, compression.files, diffCommand, compressionSummary, verificationContext);
|
|
167
171
|
// Run agents using shared core logic
|
|
168
|
-
const result = await runReviewPipeline(runtimeClient, config, baseInstructions, source.name, filteredFiles, { ...source.context, describeSummary }, source.workingDir ?? process.cwd(), source.debug ?? false);
|
|
172
|
+
const result = await runReviewPipeline(runtimeClient, config, baseInstructions, source.name, filteredFiles, { ...source.context, describeSummary, verificationContext }, source.workingDir ?? process.cwd(), source.debug ?? false);
|
|
169
173
|
return {
|
|
170
174
|
issues: result.issues,
|
|
171
175
|
summary: result.summary,
|
|
172
176
|
changeSummary: result.changeSummary,
|
|
173
177
|
filesReviewed: result.filesReviewed,
|
|
174
178
|
usage: result.usage ?? createEmptyReviewUsageSummary(),
|
|
179
|
+
verification: result.verification,
|
|
175
180
|
};
|
|
176
181
|
}
|
|
177
|
-
catch (error) {
|
|
178
|
-
// Handle "all agents failed" error
|
|
179
|
-
if (error instanceof Error && error.message === 'All review agents failed') {
|
|
180
|
-
await runtimeClient.shutdown();
|
|
181
|
-
exitProcess(1);
|
|
182
|
-
}
|
|
183
|
-
throw error;
|
|
184
|
-
}
|
|
185
182
|
finally {
|
|
186
183
|
// Always shut down Pi runtime client
|
|
187
184
|
await runtimeClient.shutdown();
|
|
188
185
|
}
|
|
189
186
|
}
|
|
187
|
+
function isReviewVerificationContext(value) {
|
|
188
|
+
if (!value || typeof value !== 'object') {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
const candidate = value;
|
|
192
|
+
return (!!candidate.artifact &&
|
|
193
|
+
typeof candidate.artifact === 'object' &&
|
|
194
|
+
typeof candidate.artifact.reviewId === 'string' &&
|
|
195
|
+
Array.isArray(candidate.artifact.findings));
|
|
196
|
+
}
|
|
190
197
|
// Re-export display functions from core for backward compatibility
|
|
191
198
|
export const displayReviewSummary = displaySummary;
|
|
192
199
|
export const hasBlockingIssues = checkBlockingIssues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-orchestrator.js","sourceRoot":"","sources":["../../src/lib/review-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,
|
|
1
|
+
{"version":3,"file":"review-orchestrator.js","sourceRoot":"","sources":["../../src/lib/review-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export interface AgentUsageSummary {
|
|
|
11
11
|
model?: string;
|
|
12
12
|
success?: boolean;
|
|
13
13
|
turns: number;
|
|
14
|
+
toolCalls?: Record<string, number>;
|
|
15
|
+
skills?: string[];
|
|
14
16
|
usage: UsageSummary;
|
|
15
17
|
}
|
|
16
18
|
export interface ReviewUsageSummary {
|
|
@@ -26,6 +28,8 @@ export interface UsageMessageLike {
|
|
|
26
28
|
usage?: Partial<UsageSummary>;
|
|
27
29
|
}
|
|
28
30
|
export declare function createAgentUsageSummary(agentType: string): AgentUsageSummary;
|
|
31
|
+
export declare function applySkillCall(agentUsage: AgentUsageSummary, skillName: string | undefined): AgentUsageSummary;
|
|
32
|
+
export declare function applyToolCall(agentUsage: AgentUsageSummary, toolName: string | undefined): AgentUsageSummary;
|
|
29
33
|
export declare function applyUsageMessage(agentUsage: AgentUsageSummary, message: UsageMessageLike): AgentUsageSummary;
|
|
30
34
|
export declare function aggregateAgentUsage(agents: AgentUsageSummary[]): ReviewUsageSummary;
|
|
31
35
|
export declare function formatModelIdentifier(provider?: string, model?: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-usage.d.ts","sourceRoot":"","sources":["../../src/lib/review-usage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,wBAAgB,uBAAuB,IAAI,YAAY,CAStD;AAED,wBAAgB,6BAA6B,IAAI,kBAAkB,CAKlE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAmB9F;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"review-usage.d.ts","sourceRoot":"","sources":["../../src/lib/review-usage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,wBAAgB,uBAAuB,IAAI,YAAY,CAStD;AAED,wBAAgB,6BAA6B,IAAI,kBAAkB,CAKlE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAmB9F;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAQ5E;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,iBAAiB,CAYnB;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,iBAAiB,CAYnB;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,gBAAgB,GACxB,iBAAiB,CAkBnB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,kBAAkB,CAUnF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK3F"}
|