@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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: local-visual-explain
|
|
2
|
+
description: Generate a visual HTML explainer artifact for a local git diff
|
|
3
|
+
inputs:
|
|
4
|
+
staged: 'false'
|
|
5
|
+
outputPath: '.drs/visual-local-explainer.html'
|
|
6
|
+
slides: 'false'
|
|
7
|
+
output: visualExplainer
|
|
8
|
+
nodes:
|
|
9
|
+
change:
|
|
10
|
+
action: change-source
|
|
11
|
+
with:
|
|
12
|
+
type: local
|
|
13
|
+
staged: '{{inputs.staged}}'
|
|
14
|
+
output: change
|
|
15
|
+
|
|
16
|
+
visual:
|
|
17
|
+
agent: visual/pr-explainer
|
|
18
|
+
needs:
|
|
19
|
+
- change
|
|
20
|
+
input: |
|
|
21
|
+
Generate a visual local-diff explainer HTML artifact.
|
|
22
|
+
|
|
23
|
+
Output path: {{inputs.outputPath}}
|
|
24
|
+
Slide mode: {{inputs.slides}}
|
|
25
|
+
|
|
26
|
+
Use the supplied DRS change-source context. If important file diffs are omitted or summarized, use git_diff for those files before explaining them.
|
|
27
|
+
|
|
28
|
+
DRS change-source context:
|
|
29
|
+
{{artifacts.change}}
|
|
30
|
+
writes: '{{inputs.outputPath}}'
|
|
31
|
+
output: visualExplainer
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: release-changelog-finalize
|
|
2
|
+
description: Finalize CHANGELOG.md for a release from an explicit git range
|
|
3
|
+
inputs:
|
|
4
|
+
from:
|
|
5
|
+
type: string
|
|
6
|
+
description: Base ref or previous release tag
|
|
7
|
+
required: true
|
|
8
|
+
to:
|
|
9
|
+
type: string
|
|
10
|
+
default: HEAD
|
|
11
|
+
description: Release candidate ref, final release commit, or HEAD
|
|
12
|
+
version:
|
|
13
|
+
type: string
|
|
14
|
+
description: Release version without leading v, for example 4.0.0
|
|
15
|
+
required: true
|
|
16
|
+
date:
|
|
17
|
+
type: string
|
|
18
|
+
description: Release date in YYYY-MM-DD format
|
|
19
|
+
required: true
|
|
20
|
+
output: changelog
|
|
21
|
+
nodes:
|
|
22
|
+
release-change:
|
|
23
|
+
action: change-source
|
|
24
|
+
with:
|
|
25
|
+
type: git-range
|
|
26
|
+
from: '{{inputs.from}}'
|
|
27
|
+
to: '{{inputs.to}}'
|
|
28
|
+
output: change
|
|
29
|
+
|
|
30
|
+
finalize-changelog:
|
|
31
|
+
agent: task/changelog-updater
|
|
32
|
+
needs:
|
|
33
|
+
- release-change
|
|
34
|
+
input: |
|
|
35
|
+
Finalize CHANGELOG.md for release {{inputs.version}} dated {{inputs.date}}.
|
|
36
|
+
|
|
37
|
+
Use this git range change source as the authoritative release diff:
|
|
38
|
+
{{artifacts.change}}
|
|
39
|
+
|
|
40
|
+
Requirements:
|
|
41
|
+
- Ensure the file starts with `# Changelog` followed by the standard introduction.
|
|
42
|
+
- Move release-worthy `## Unreleased` entries into `## {{inputs.version}} - {{inputs.date}}`.
|
|
43
|
+
- Create `## {{inputs.version}} - {{inputs.date}}` directly above the previous released version if it does not exist.
|
|
44
|
+
- Keep `## Unreleased` above the release section only if there are remaining unreleased entries; otherwise remove empty duplicate/unneeded headings.
|
|
45
|
+
- Preserve existing older release sections.
|
|
46
|
+
- Do not create git tags, publish packages, or edit files other than CHANGELOG.md.
|
|
47
|
+
output: changelog
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
name: tag-changelog-update
|
|
2
2
|
description: Update CHANGELOG.md from changes between two git refs or tags
|
|
3
3
|
inputs:
|
|
4
|
-
from:
|
|
5
|
-
to:
|
|
4
|
+
from: ''
|
|
5
|
+
to: ''
|
|
6
6
|
nodes:
|
|
7
7
|
release-change:
|
|
8
8
|
action: change-source
|
|
9
9
|
with:
|
|
10
10
|
type: git-range
|
|
11
|
-
from:
|
|
12
|
-
to:
|
|
11
|
+
from: '{{inputs.from}}'
|
|
12
|
+
to: '{{inputs.to}}'
|
|
13
13
|
output: change
|
|
14
14
|
|
|
15
15
|
update-changelog:
|
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ DRS runs agentic workflows for local diffs, GitHub PRs, and GitLab MRs. Review i
|
|
|
29
29
|
|
|
30
30
|
### 1. Prerequisites
|
|
31
31
|
|
|
32
|
-
- Node.js
|
|
32
|
+
- Node.js 22.19+
|
|
33
33
|
- API key for your chosen model provider (Anthropic/OpenAI/ZhipuAI/etc.)
|
|
34
34
|
|
|
35
35
|
### 2. Install DRS
|
|
@@ -50,8 +50,8 @@ drs init
|
|
|
50
50
|
### 4. Configure Environment
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
#
|
|
54
|
-
|
|
53
|
+
# Create a local env file
|
|
54
|
+
touch .env
|
|
55
55
|
|
|
56
56
|
# Edit .env and set:
|
|
57
57
|
# - GITLAB_TOKEN: Your GitLab access token (for GitLab MRs)
|
|
@@ -75,7 +75,7 @@ DRS CLI now loads `.env` automatically from your current working directory.
|
|
|
75
75
|
drs workflow run local-review
|
|
76
76
|
|
|
77
77
|
# Review staged changes
|
|
78
|
-
drs workflow run local-staged
|
|
78
|
+
drs workflow run local-review --input staged=true
|
|
79
79
|
|
|
80
80
|
# Update CHANGELOG.md from local changes
|
|
81
81
|
drs workflow run local-changelog-update
|
|
@@ -83,8 +83,8 @@ drs workflow run local-changelog-update
|
|
|
83
83
|
# Update CHANGELOG.md from the previous tag to the current tag, or explicit refs
|
|
84
84
|
drs workflow run tag-changelog-update --input from=v3.3.1 --input to=v4.0.0-rc.1
|
|
85
85
|
|
|
86
|
-
# Fix issues from
|
|
87
|
-
drs workflow run local-fix-review-issues
|
|
86
|
+
# Fix issues from the latest saved local review artifact
|
|
87
|
+
drs workflow run local-fix-review-issues
|
|
88
88
|
|
|
89
89
|
# Refresh AGENTS.md or equivalent repository guidance
|
|
90
90
|
drs workflow run local-update-agents-md
|
|
@@ -98,20 +98,24 @@ drs workflow run local-update-agents-md
|
|
|
98
98
|
| Goal | Command |
|
|
99
99
|
|---|---|
|
|
100
100
|
| Review local unstaged changes | `drs workflow run local-review` |
|
|
101
|
-
| Review local staged changes | `drs workflow run local-staged
|
|
101
|
+
| Review local staged changes | `drs workflow run local-review --input staged=true` |
|
|
102
102
|
| Update changelog from local changes | `drs workflow run local-changelog-update` |
|
|
103
103
|
| Update changelog from tag range | `drs workflow run tag-changelog-update` |
|
|
104
|
-
| Fix issues from saved review
|
|
104
|
+
| Fix issues from latest saved local review artifact | `drs workflow run local-fix-review-issues` |
|
|
105
105
|
| Update AGENTS.md-style guidance | `drs workflow run local-update-agents-md` |
|
|
106
106
|
| Update changelog and review local changes | `drs workflow run local-changelog-review` |
|
|
107
107
|
| Review GitHub PR via workflow | `drs workflow run github-pr-review --input owner=<owner> --input repo=<repo> --input pr=<number>` |
|
|
108
108
|
| Review GitLab MR via workflow | `drs workflow run gitlab-mr-review --input project=<group/repo> --input mr=<number>` |
|
|
109
109
|
| Show GitHub PR review context | `drs workflow run github-pr-show-changes --input owner=<owner> --input repo=<repo> --input pr=<number>` |
|
|
110
110
|
| Show GitLab MR review context | `drs workflow run gitlab-mr-show-changes --input project=<group/repo> --input mr=<number>` |
|
|
111
|
-
|
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
111
|
+
| Generate visual PR explainer artifact | `drs workflow run github-pr-visual-explain --input owner=<owner> --input repo=<repo> --input pr=<number>` |
|
|
112
|
+
| Generate visual MR explainer artifact | `drs workflow run gitlab-mr-visual-explain --input project=<group/repo> --input mr=<number>` |
|
|
113
|
+
| Generate visual local diff explainer | `drs workflow run local-visual-explain` |
|
|
114
|
+
| Describe, review, and comment on GitHub PR via workflow | `drs workflow run github-pr-review --input owner=<owner> --input repo=<repo> --input pr=<number> --input describe=true --input post=true` |
|
|
115
|
+
| Describe, review, and comment on GitLab MR via workflow | `drs workflow run gitlab-mr-review --input project=<group/repo> --input mr=<number> --input describe=true --input post=true` |
|
|
116
|
+
| Describe, review, comment, and generate visual PR explainer | `drs workflow run github-pr-review --input owner=<owner> --input repo=<repo> --input pr=<number> --input describe=true --input post=true --input visual=true` |
|
|
117
|
+
| Review GitLab MR and write Code Quality report | `drs workflow run gitlab-mr-review --input project=<group/repo> --input mr=<number> --input codeQuality=true` |
|
|
118
|
+
| Describe/review/comment GitLab MR and write Code Quality report | `drs workflow run gitlab-mr-review --input project=<group/repo> --input mr=<number> --input describe=true --input post=true --input codeQuality=true` |
|
|
115
119
|
| Generate PR description | `drs workflow run github-pr-describe --input owner=<owner> --input repo=<repo> --input pr=<number>` |
|
|
116
120
|
| Generate MR description | `drs workflow run gitlab-mr-describe --input project=<group/repo> --input mr=<number>` |
|
|
117
121
|
| Post or update a PR comment | `drs workflow run github-pr-post-comment --input owner=<owner> --input repo=<repo> --input pr=<number> --input body="..." --input marker=<id>` |
|
|
@@ -120,6 +124,7 @@ drs workflow run local-update-agents-md
|
|
|
120
124
|
| Run a configured workflow | `drs workflow run release-notes --input-file diff=.drs/diff.md` |
|
|
121
125
|
| Run the default project workflow | `drs workflow run` |
|
|
122
126
|
| List available workflows | `drs workflow list` |
|
|
127
|
+
| Show workflow inputs and steps | `drs workflow show github-pr-review` |
|
|
123
128
|
|
|
124
129
|
## Deployment Modes
|
|
125
130
|
|
|
@@ -132,13 +137,16 @@ Review code locally before pushing:
|
|
|
132
137
|
drs workflow run local-review
|
|
133
138
|
|
|
134
139
|
# Review specific GitLab MR
|
|
135
|
-
drs workflow run gitlab-mr-review
|
|
140
|
+
drs workflow run gitlab-mr-review --input project=my-org/my-repo --input mr=123 --input describe=true --input post=true
|
|
136
141
|
|
|
137
142
|
# Review specific GitHub PR
|
|
138
|
-
drs workflow run github-pr-review
|
|
143
|
+
drs workflow run github-pr-review --input owner=octocat --input repo=hello-world --input pr=456 --input describe=true --input post=true
|
|
144
|
+
|
|
145
|
+
# Review and generate a visual explainer artifact
|
|
146
|
+
drs workflow run github-pr-review --input owner=octocat --input repo=hello-world --input pr=456 --input describe=true --input post=true --input visual=true
|
|
139
147
|
|
|
140
148
|
# Review local staged changes
|
|
141
|
-
drs workflow run local-staged
|
|
149
|
+
drs workflow run local-review --input staged=true
|
|
142
150
|
|
|
143
151
|
# Override model/agent behavior through config, then run workflows
|
|
144
152
|
drs workflow run github-pr-review --input owner=octocat --input repo=hello-world --input pr=456
|
|
@@ -152,11 +160,16 @@ drs workflow run github-pr-show-changes --input owner=octocat --input repo=hello
|
|
|
152
160
|
# Show diff context for a single file
|
|
153
161
|
drs workflow run github-pr-show-changes --input owner=octocat --input repo=hello-world --input pr=456 --input file=src/app.ts
|
|
154
162
|
|
|
163
|
+
# Generate self-contained HTML visual explainers
|
|
164
|
+
drs workflow run local-visual-explain
|
|
165
|
+
drs workflow run github-pr-visual-explain --input owner=octocat --input repo=hello-world --input pr=456
|
|
166
|
+
drs workflow run gitlab-mr-visual-explain --input project=my-org/my-repo --input mr=123
|
|
167
|
+
|
|
155
168
|
# Generate PR/MR descriptions on demand
|
|
156
169
|
drs workflow run github-pr-describe --input owner=octocat --input repo=hello-world --input pr=456
|
|
157
|
-
drs workflow run github-pr-describe
|
|
170
|
+
drs workflow run github-pr-describe --input owner=octocat --input repo=hello-world --input pr=456 --input post=true
|
|
158
171
|
drs workflow run gitlab-mr-describe --input project=my-org/my-repo --input mr=123
|
|
159
|
-
drs workflow run gitlab-mr-describe
|
|
172
|
+
drs workflow run gitlab-mr-describe --input project=my-org/my-repo --input mr=123 --input post=true
|
|
160
173
|
|
|
161
174
|
# Post or update a single marked PR/MR comment
|
|
162
175
|
drs workflow run github-pr-post-comment --input owner=octocat --input repo=hello-world --input pr=456 --input body="Release notes are ready." --input marker=release-notes
|
|
@@ -215,6 +228,51 @@ DRS includes a **secure, pre-configured workflow** at `.github/workflows/pr-revi
|
|
|
215
228
|
- Maintainer workflow
|
|
216
229
|
- Attack prevention strategies
|
|
217
230
|
|
|
231
|
+
### Visual PR Explainer Artifacts
|
|
232
|
+
|
|
233
|
+
DRS includes visual explainer workflows that generate a self-contained HTML page for reviewers:
|
|
234
|
+
|
|
235
|
+
- `github-pr-visual-explain` writes `.drs/visual-pr-explainer.html` by default.
|
|
236
|
+
- `gitlab-mr-visual-explain` writes `.drs/visual-mr-explainer.html` by default.
|
|
237
|
+
- `local-visual-explain` writes `.drs/visual-local-explainer.html` by default.
|
|
238
|
+
|
|
239
|
+
The main review workflows also support visual artifacts:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
drs workflow run github-pr-review \
|
|
243
|
+
--input owner=octocat \
|
|
244
|
+
--input repo=hello-world \
|
|
245
|
+
--input pr=456 \
|
|
246
|
+
--input describe=true \
|
|
247
|
+
--input post=true \
|
|
248
|
+
--input visual=true
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
The built-in `visual/pr-explainer` agent includes DRS-specific HTML generation guidance out of the box. Override `.drs/agents/visual/pr-explainer/agent.md` or configure `agents.overrides.visual/pr-explainer` to tune the output for your project. If you install an external `visual-explainer` skill, add it through `agents.overrides.visual/pr-explainer.skills` so the agent loads those richer templates and design rules.
|
|
252
|
+
|
|
253
|
+
To publish the generated page from GitHub Actions, upload it as an artifact:
|
|
254
|
+
|
|
255
|
+
```yaml
|
|
256
|
+
- name: Generate visual explainer
|
|
257
|
+
env:
|
|
258
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
259
|
+
OPENCODE_API_KEY: ${{ secrets.DRS_PROVIDER_API_KEY }}
|
|
260
|
+
run: |
|
|
261
|
+
node dist/cli/index.js workflow run github-pr-review \
|
|
262
|
+
--input owner="${{ github.event.repository.owner.login }}" \
|
|
263
|
+
--input repo="${{ github.event.repository.name }}" \
|
|
264
|
+
--input pr="${{ github.event.pull_request.number }}" \
|
|
265
|
+
--input describe=true \
|
|
266
|
+
--input post=true \
|
|
267
|
+
--input visual=true \
|
|
268
|
+
--input visualOutputPath=".drs/visual-pr-explainer.html"
|
|
269
|
+
|
|
270
|
+
- uses: actions/upload-artifact@v4
|
|
271
|
+
with:
|
|
272
|
+
name: visual-pr-explainer
|
|
273
|
+
path: .drs/visual-pr-explainer.html
|
|
274
|
+
```
|
|
275
|
+
|
|
218
276
|
## GitLab Code Quality Reports
|
|
219
277
|
|
|
220
278
|
DRS can generate GitLab-compatible code quality reports that integrate seamlessly with GitLab CI/CD. This provides an alternative (or complement) to inline MR comments.
|
|
@@ -229,7 +287,8 @@ DRS can generate GitLab-compatible code quality reports that integrate seamlessl
|
|
|
229
287
|
- **Non-intrusive**: Doesn't create discussion threads
|
|
230
288
|
|
|
231
289
|
**When to Use:**
|
|
232
|
-
- Use
|
|
290
|
+
- Use `describe=true` to update the PR/MR description before review
|
|
291
|
+
- Use `post=true` for review issues requiring discussion
|
|
233
292
|
- Use **code quality reports** (`--code-quality-report`) for comprehensive static analysis
|
|
234
293
|
- Use **both together** for maximum visibility
|
|
235
294
|
|
|
@@ -237,10 +296,10 @@ DRS can generate GitLab-compatible code quality reports that integrate seamlessl
|
|
|
237
296
|
|
|
238
297
|
```bash
|
|
239
298
|
# Use workflow-based MR review with comments
|
|
240
|
-
drs workflow run gitlab-mr-review
|
|
299
|
+
drs workflow run gitlab-mr-review --input project=my-org/my-repo --input mr=123 --input describe=true --input post=true
|
|
241
300
|
|
|
242
|
-
# For code quality artifacts,
|
|
243
|
-
drs workflow run gitlab-mr-review
|
|
301
|
+
# For code quality artifacts, enable codeQuality
|
|
302
|
+
drs workflow run gitlab-mr-review --input project=my-org/my-repo --input mr=123 --input codeQuality=true
|
|
244
303
|
```
|
|
245
304
|
|
|
246
305
|
### GitLab CI Integration
|
|
@@ -254,7 +313,7 @@ code_review:
|
|
|
254
313
|
before_script:
|
|
255
314
|
- npm install -g @diff-review-system/drs
|
|
256
315
|
script:
|
|
257
|
-
- drs workflow run gitlab-mr-review
|
|
316
|
+
- drs workflow run gitlab-mr-review --input project=$CI_PROJECT_PATH --input mr=$CI_MERGE_REQUEST_IID --input describe=true --input post=true
|
|
258
317
|
only:
|
|
259
318
|
- merge_requests
|
|
260
319
|
```
|
|
@@ -591,6 +650,7 @@ contextCompression:
|
|
|
591
650
|
softBufferTokens: 1500
|
|
592
651
|
hardBufferTokens: 1000
|
|
593
652
|
tokenEstimateDivisor: 4
|
|
653
|
+
summaryThresholdMultiplier: 3 # use summary-only context above hard limit * multiplier
|
|
594
654
|
```
|
|
595
655
|
|
|
596
656
|
### Runtime Timeouts and Provider Retry
|
|
@@ -701,8 +761,9 @@ OPENAI_API_KEY=sk-xxx # For OpenAI models
|
|
|
701
761
|
# Optional
|
|
702
762
|
GITLAB_URL=https://gitlab.com
|
|
703
763
|
DRS_DEFAULT_MODEL=anthropic/claude-sonnet-4-5-20250929
|
|
704
|
-
|
|
705
|
-
|
|
764
|
+
DRS_AGENT_REVIEW_UNIFIED_REVIEWER_MODEL=anthropic/claude-opus-4-5-20251101
|
|
765
|
+
# Configure review agents in .drs/drs.config.yaml via review.agents.
|
|
766
|
+
# Legacy REVIEW_AGENTS is still accepted as a compatibility alias.
|
|
706
767
|
REVIEW_THINKING_LEVEL=medium # Reasoning effort: off, minimal, low, medium, high, xhigh
|
|
707
768
|
```
|
|
708
769
|
|
|
@@ -726,13 +787,16 @@ npm run build
|
|
|
726
787
|
# Run tests
|
|
727
788
|
npm test
|
|
728
789
|
|
|
729
|
-
#
|
|
730
|
-
npm run dev
|
|
790
|
+
# Run the CLI from TypeScript once
|
|
791
|
+
npm run dev:cli -- workflow list
|
|
792
|
+
|
|
793
|
+
# Watch-mode CLI entrypoint
|
|
794
|
+
npm run dev -- workflow list
|
|
731
795
|
```
|
|
732
796
|
|
|
733
797
|
## Requirements
|
|
734
798
|
|
|
735
|
-
- Node.js
|
|
799
|
+
- Node.js 22.19+
|
|
736
800
|
- API key for your selected provider (Anthropic/OpenAI/ZhipuAI/etc.)
|
|
737
801
|
- GitLab access token (for GitLab MR reviews)
|
|
738
802
|
- GitHub access token (for GitHub PR reviews)
|
package/dist/ci/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/ci/runner.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAgBnD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/ci/runner.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAgBnD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyDjD;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,OAAO,CAE9B"}
|
package/dist/ci/runner.js
CHANGED
|
@@ -56,10 +56,12 @@ export async function runCIReview() {
|
|
|
56
56
|
log.info(`Project: ${env.projectId} | MR: !${env.mrIid} | Branch: ${env.sourceBranch} → ${env.targetBranch}`);
|
|
57
57
|
// Run review
|
|
58
58
|
try {
|
|
59
|
-
await runWorkflow(config, 'gitlab-mr-review
|
|
59
|
+
await runWorkflow(config, 'gitlab-mr-review', {
|
|
60
60
|
inputs: {
|
|
61
61
|
project: env.projectId,
|
|
62
62
|
mr: String(env.mrIid),
|
|
63
|
+
describe: 'true',
|
|
64
|
+
post: 'true',
|
|
63
65
|
},
|
|
64
66
|
workingDir: projectDir,
|
|
65
67
|
});
|
package/dist/ci/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/ci/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWjD;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,sBAAsB;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;YACpC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBACrC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBAChD,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;YAC7D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;YAC7D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;SACrC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAE/C,qBAAqB;IACrB,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;IAElC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACpE,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,yBAAyB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElD,0CAA0C;IAC1C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACrC,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;QACxF,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,qBAAqB;IACrB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,cAAc,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5F,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,IAAI,CACN,YAAY,GAAG,CAAC,SAAS,WAAW,GAAG,CAAC,KAAK,cAAc,GAAG,CAAC,YAAY,MAAM,GAAG,CAAC,YAAY,EAAE,CACpG,CAAC;IAEF,aAAa;IACb,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/ci/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { readFileSync } from 'fs';
|
|
|
5
5
|
import { fileURLToPath } from 'url';
|
|
6
6
|
import { dirname, join } from 'path';
|
|
7
7
|
import { runAgent } from './run-agent.js';
|
|
8
|
-
import { runWorkflow, listWorkflows } from './workflow.js';
|
|
8
|
+
import { runWorkflow, listWorkflows, showWorkflow, validateWorkflows } from './workflow.js';
|
|
9
9
|
import { loadConfig } from '../lib/config.js';
|
|
10
10
|
import { configureLogger } from '../lib/logger.js';
|
|
11
11
|
import { config as loadDotenv } from 'dotenv';
|
|
@@ -67,7 +67,7 @@ program
|
|
|
67
67
|
try {
|
|
68
68
|
configureLogger({
|
|
69
69
|
level: options.debug ? 'debug' : 'error',
|
|
70
|
-
format: options.logFormat
|
|
70
|
+
format: options.logFormat ?? 'human',
|
|
71
71
|
timestamps: options.logFormat === 'json',
|
|
72
72
|
});
|
|
73
73
|
const config = loadConfig(process.cwd());
|
|
@@ -79,7 +79,7 @@ program
|
|
|
79
79
|
model: options.model,
|
|
80
80
|
outputPath: options.output,
|
|
81
81
|
jsonOutput: options.json,
|
|
82
|
-
debug: options.debug
|
|
82
|
+
debug: options.debug ?? false,
|
|
83
83
|
thinkingLevel,
|
|
84
84
|
workingDir: process.cwd(),
|
|
85
85
|
});
|
|
@@ -99,6 +99,7 @@ workflowCommand
|
|
|
99
99
|
.option('-o, --output <path>', 'Write workflow result JSON to a file')
|
|
100
100
|
.option('--json', 'Output workflow result as JSON to console')
|
|
101
101
|
.option('--debug', 'Print Pi runtime configuration for debugging')
|
|
102
|
+
.option('--trace', 'Collect agent traces and save as trace artifact + HTML viewer')
|
|
102
103
|
.option('--log-format <format>', 'Log output format: human (default) or json', 'human')
|
|
103
104
|
.option('--reasoning-effort <level>', 'Reasoning effort level: off, minimal, low, medium, high, xhigh')
|
|
104
105
|
.option('--ultrathink', 'Enable maximum reasoning effort (alias for --reasoning-effort high)')
|
|
@@ -106,7 +107,7 @@ workflowCommand
|
|
|
106
107
|
try {
|
|
107
108
|
configureLogger({
|
|
108
109
|
level: options.debug ? 'debug' : 'error',
|
|
109
|
-
format: options.logFormat
|
|
110
|
+
format: options.logFormat ?? 'human',
|
|
110
111
|
timestamps: options.logFormat === 'json',
|
|
111
112
|
});
|
|
112
113
|
const config = loadConfig(process.cwd());
|
|
@@ -120,7 +121,8 @@ workflowCommand
|
|
|
120
121
|
inputFiles: parseKeyValueOptions(options.inputFile, '--input-file'),
|
|
121
122
|
outputPath: options.output,
|
|
122
123
|
jsonOutput: options.json,
|
|
123
|
-
debug: options.debug
|
|
124
|
+
debug: options.debug ?? false,
|
|
125
|
+
trace: options.trace ?? false,
|
|
124
126
|
thinkingLevel,
|
|
125
127
|
workingDir: process.cwd(),
|
|
126
128
|
});
|
|
@@ -139,7 +141,7 @@ workflowCommand
|
|
|
139
141
|
try {
|
|
140
142
|
const config = loadConfig(process.cwd());
|
|
141
143
|
listWorkflows(config, {
|
|
142
|
-
json: options.json
|
|
144
|
+
json: options.json ?? false,
|
|
143
145
|
workingDir: process.cwd(),
|
|
144
146
|
});
|
|
145
147
|
process.exit(0);
|
|
@@ -149,6 +151,46 @@ workflowCommand
|
|
|
149
151
|
process.exit(1);
|
|
150
152
|
}
|
|
151
153
|
});
|
|
154
|
+
workflowCommand
|
|
155
|
+
.command('show <name>')
|
|
156
|
+
.alias('get')
|
|
157
|
+
.description('Show workflow details, including inputs and nodes')
|
|
158
|
+
.option('--json', 'Output as JSON')
|
|
159
|
+
.action((name, options) => {
|
|
160
|
+
try {
|
|
161
|
+
const config = loadConfig(process.cwd());
|
|
162
|
+
showWorkflow(config, name, {
|
|
163
|
+
json: options.json ?? false,
|
|
164
|
+
workingDir: process.cwd(),
|
|
165
|
+
});
|
|
166
|
+
process.exit(0);
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
console.error(chalk.red('Error:'), error instanceof Error ? error.message : String(error));
|
|
170
|
+
process.exit(1);
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
workflowCommand
|
|
174
|
+
.command('validate [name]')
|
|
175
|
+
.description('Validate workflow definitions without running them')
|
|
176
|
+
.option('--json', 'Output as JSON')
|
|
177
|
+
.action((name, options) => {
|
|
178
|
+
try {
|
|
179
|
+
const config = loadConfig(process.cwd());
|
|
180
|
+
const results = validateWorkflows(config, name, {
|
|
181
|
+
json: options.json ?? false,
|
|
182
|
+
workingDir: process.cwd(),
|
|
183
|
+
});
|
|
184
|
+
if (results.some((result) => !result.valid)) {
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
process.exit(0);
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
console.error(chalk.red('Error:'), error instanceof Error ? error.message : String(error));
|
|
191
|
+
process.exit(1);
|
|
192
|
+
}
|
|
193
|
+
});
|
|
152
194
|
program.addCommand(workflowCommand);
|
|
153
195
|
program
|
|
154
196
|
.command('list-agents')
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/run-agent.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DRSConfig } from '../lib/config.js';
|
|
2
2
|
import type { AgentUsageSummary } from '../lib/review-usage.js';
|
|
3
|
+
import type { TraceCollector } from '../lib/trace-collector.js';
|
|
3
4
|
export interface RunAgentOptions {
|
|
4
5
|
prompt?: string;
|
|
5
6
|
file?: string;
|
|
@@ -13,6 +14,7 @@ export interface RunAgentOptions {
|
|
|
13
14
|
quiet?: boolean;
|
|
14
15
|
allowImplicitStdin?: boolean;
|
|
15
16
|
ignoreConfiguredOutput?: boolean;
|
|
17
|
+
traceCollector?: TraceCollector;
|
|
16
18
|
}
|
|
17
19
|
export interface AgentRunResult {
|
|
18
20
|
timestamp: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../src/cli/run-agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../src/cli/run-agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AA+CD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CA+GzB"}
|
package/dist/cli/run-agent.js
CHANGED
|
@@ -77,7 +77,11 @@ export async function runAgent(config, agentId, options = {}) {
|
|
|
77
77
|
debug: options.debug,
|
|
78
78
|
thinkingLevel: effectiveOptions.thinkingLevel,
|
|
79
79
|
modelOverrides: options.model ? { [agentId]: options.model } : undefined,
|
|
80
|
+
traceCollector: options.traceCollector,
|
|
80
81
|
});
|
|
82
|
+
if (options.traceCollector) {
|
|
83
|
+
options.traceCollector.setContext('run-agent', agentId, prompt);
|
|
84
|
+
}
|
|
81
85
|
let session;
|
|
82
86
|
let usage = createAgentUsageSummary(agentId);
|
|
83
87
|
let response = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../src/cli/run-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAgB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-agent.js","sourceRoot":"","sources":["../../src/cli/run-agent.ts"],"names":[],"mappings":"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"}
|