@humanbased/crosscheck 0.14.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/AGENT.md +207 -0
- package/ISSUE.md +234 -0
- package/LICENSE +21 -0
- package/README.md +234 -0
- package/README.zh.md +169 -0
- package/assets/logo.png +0 -0
- package/assets/screenshot-watch-timing.png +0 -0
- package/assets/screenshot-watch-timing.svg +1 -0
- package/assets/screenshot-watch.png +0 -0
- package/crosscheck.config.example.yml +214 -0
- package/dist/__tests__/annotation.test.d.ts +2 -0
- package/dist/__tests__/annotation.test.d.ts.map +1 -0
- package/dist/__tests__/annotation.test.js +134 -0
- package/dist/__tests__/annotation.test.js.map +1 -0
- package/dist/__tests__/backtrace.test.d.ts +2 -0
- package/dist/__tests__/backtrace.test.d.ts.map +1 -0
- package/dist/__tests__/backtrace.test.js +280 -0
- package/dist/__tests__/backtrace.test.js.map +1 -0
- package/dist/__tests__/board.test.d.ts +2 -0
- package/dist/__tests__/board.test.d.ts.map +1 -0
- package/dist/__tests__/board.test.js +149 -0
- package/dist/__tests__/board.test.js.map +1 -0
- package/dist/__tests__/codex.test.d.ts +2 -0
- package/dist/__tests__/codex.test.d.ts.map +1 -0
- package/dist/__tests__/codex.test.js +92 -0
- package/dist/__tests__/codex.test.js.map +1 -0
- package/dist/__tests__/comment-bodies.test.d.ts +2 -0
- package/dist/__tests__/comment-bodies.test.d.ts.map +1 -0
- package/dist/__tests__/comment-bodies.test.js +75 -0
- package/dist/__tests__/comment-bodies.test.js.map +1 -0
- package/dist/__tests__/conflict-resolve.test.d.ts +2 -0
- package/dist/__tests__/conflict-resolve.test.d.ts.map +1 -0
- package/dist/__tests__/conflict-resolve.test.js +123 -0
- package/dist/__tests__/conflict-resolve.test.js.map +1 -0
- package/dist/__tests__/crosscheck-commit.test.d.ts +2 -0
- package/dist/__tests__/crosscheck-commit.test.d.ts.map +1 -0
- package/dist/__tests__/crosscheck-commit.test.js +13 -0
- package/dist/__tests__/crosscheck-commit.test.js.map +1 -0
- package/dist/__tests__/detector.test.d.ts +2 -0
- package/dist/__tests__/detector.test.d.ts.map +1 -0
- package/dist/__tests__/detector.test.js +112 -0
- package/dist/__tests__/detector.test.js.map +1 -0
- package/dist/__tests__/diagnose.test.d.ts +2 -0
- package/dist/__tests__/diagnose.test.d.ts.map +1 -0
- package/dist/__tests__/diagnose.test.js +164 -0
- package/dist/__tests__/diagnose.test.js.map +1 -0
- package/dist/__tests__/diff-hash.test.d.ts +2 -0
- package/dist/__tests__/diff-hash.test.d.ts.map +1 -0
- package/dist/__tests__/diff-hash.test.js +126 -0
- package/dist/__tests__/diff-hash.test.js.map +1 -0
- package/dist/__tests__/durations.test.d.ts +2 -0
- package/dist/__tests__/durations.test.d.ts.map +1 -0
- package/dist/__tests__/durations.test.js +26 -0
- package/dist/__tests__/durations.test.js.map +1 -0
- package/dist/__tests__/event-fields.test.d.ts +2 -0
- package/dist/__tests__/event-fields.test.d.ts.map +1 -0
- package/dist/__tests__/event-fields.test.js +50 -0
- package/dist/__tests__/event-fields.test.js.map +1 -0
- package/dist/__tests__/filter.test.d.ts +2 -0
- package/dist/__tests__/filter.test.d.ts.map +1 -0
- package/dist/__tests__/filter.test.js +21 -0
- package/dist/__tests__/filter.test.js.map +1 -0
- package/dist/__tests__/fix.test.d.ts +2 -0
- package/dist/__tests__/fix.test.d.ts.map +1 -0
- package/dist/__tests__/fix.test.js +124 -0
- package/dist/__tests__/fix.test.js.map +1 -0
- package/dist/__tests__/github-client.test.d.ts +2 -0
- package/dist/__tests__/github-client.test.d.ts.map +1 -0
- package/dist/__tests__/github-client.test.js +22 -0
- package/dist/__tests__/github-client.test.js.map +1 -0
- package/dist/__tests__/github-scan-client.test.d.ts +2 -0
- package/dist/__tests__/github-scan-client.test.d.ts.map +1 -0
- package/dist/__tests__/github-scan-client.test.js +100 -0
- package/dist/__tests__/github-scan-client.test.js.map +1 -0
- package/dist/__tests__/is-fresh-review-comment.test.d.ts +2 -0
- package/dist/__tests__/is-fresh-review-comment.test.d.ts.map +1 -0
- package/dist/__tests__/is-fresh-review-comment.test.js +86 -0
- package/dist/__tests__/is-fresh-review-comment.test.js.map +1 -0
- package/dist/__tests__/issue.test.d.ts +2 -0
- package/dist/__tests__/issue.test.d.ts.map +1 -0
- package/dist/__tests__/issue.test.js +259 -0
- package/dist/__tests__/issue.test.js.map +1 -0
- package/dist/__tests__/kickass.test.d.ts +2 -0
- package/dist/__tests__/kickass.test.d.ts.map +1 -0
- package/dist/__tests__/kickass.test.js +268 -0
- package/dist/__tests__/kickass.test.js.map +1 -0
- package/dist/__tests__/loader.test.d.ts +2 -0
- package/dist/__tests__/loader.test.d.ts.map +1 -0
- package/dist/__tests__/loader.test.js +180 -0
- package/dist/__tests__/loader.test.js.map +1 -0
- package/dist/__tests__/onboard-preservation.test.d.ts +2 -0
- package/dist/__tests__/onboard-preservation.test.d.ts.map +1 -0
- package/dist/__tests__/onboard-preservation.test.js +506 -0
- package/dist/__tests__/onboard-preservation.test.js.map +1 -0
- package/dist/__tests__/optimize.test.d.ts +2 -0
- package/dist/__tests__/optimize.test.d.ts.map +1 -0
- package/dist/__tests__/optimize.test.js +101 -0
- package/dist/__tests__/optimize.test.js.map +1 -0
- package/dist/__tests__/post-review-comment.test.d.ts +2 -0
- package/dist/__tests__/post-review-comment.test.d.ts.map +1 -0
- package/dist/__tests__/post-review-comment.test.js +44 -0
- package/dist/__tests__/post-review-comment.test.js.map +1 -0
- package/dist/__tests__/pr-lock.test.d.ts +2 -0
- package/dist/__tests__/pr-lock.test.d.ts.map +1 -0
- package/dist/__tests__/pr-lock.test.js +115 -0
- package/dist/__tests__/pr-lock.test.js.map +1 -0
- package/dist/__tests__/pr-picker.test.d.ts +2 -0
- package/dist/__tests__/pr-picker.test.d.ts.map +1 -0
- package/dist/__tests__/pr-picker.test.js +57 -0
- package/dist/__tests__/pr-picker.test.js.map +1 -0
- package/dist/__tests__/pr-status-scan.test.d.ts +2 -0
- package/dist/__tests__/pr-status-scan.test.d.ts.map +1 -0
- package/dist/__tests__/pr-status-scan.test.js +92 -0
- package/dist/__tests__/pr-status-scan.test.js.map +1 -0
- package/dist/__tests__/pr-status.test.d.ts +2 -0
- package/dist/__tests__/pr-status.test.d.ts.map +1 -0
- package/dist/__tests__/pr-status.test.js +346 -0
- package/dist/__tests__/pr-status.test.js.map +1 -0
- package/dist/__tests__/repo-picker.test.d.ts +2 -0
- package/dist/__tests__/repo-picker.test.d.ts.map +1 -0
- package/dist/__tests__/repo-picker.test.js +115 -0
- package/dist/__tests__/repo-picker.test.js.map +1 -0
- package/dist/__tests__/review-comment-body.test.d.ts +2 -0
- package/dist/__tests__/review-comment-body.test.d.ts.map +1 -0
- package/dist/__tests__/review-comment-body.test.js +54 -0
- package/dist/__tests__/review-comment-body.test.js.map +1 -0
- package/dist/__tests__/review-models.test.d.ts +2 -0
- package/dist/__tests__/review-models.test.d.ts.map +1 -0
- package/dist/__tests__/review-models.test.js +39 -0
- package/dist/__tests__/review-models.test.js.map +1 -0
- package/dist/__tests__/review-status.test.d.ts +2 -0
- package/dist/__tests__/review-status.test.d.ts.map +1 -0
- package/dist/__tests__/review-status.test.js +95 -0
- package/dist/__tests__/review-status.test.js.map +1 -0
- package/dist/__tests__/runner.test.d.ts +2 -0
- package/dist/__tests__/runner.test.d.ts.map +1 -0
- package/dist/__tests__/runner.test.js +204 -0
- package/dist/__tests__/runner.test.js.map +1 -0
- package/dist/__tests__/scan-cache.test.d.ts +2 -0
- package/dist/__tests__/scan-cache.test.d.ts.map +1 -0
- package/dist/__tests__/scan-cache.test.js +59 -0
- package/dist/__tests__/scan-cache.test.js.map +1 -0
- package/dist/__tests__/scan-client.test.d.ts +2 -0
- package/dist/__tests__/scan-client.test.d.ts.map +1 -0
- package/dist/__tests__/scan-client.test.js +30 -0
- package/dist/__tests__/scan-client.test.js.map +1 -0
- package/dist/__tests__/scan.test.d.ts +2 -0
- package/dist/__tests__/scan.test.d.ts.map +1 -0
- package/dist/__tests__/scan.test.js +115 -0
- package/dist/__tests__/scan.test.js.map +1 -0
- package/dist/__tests__/scopes.test.d.ts +2 -0
- package/dist/__tests__/scopes.test.d.ts.map +1 -0
- package/dist/__tests__/scopes.test.js +101 -0
- package/dist/__tests__/scopes.test.js.map +1 -0
- package/dist/__tests__/sha-cache.test.d.ts +2 -0
- package/dist/__tests__/sha-cache.test.d.ts.map +1 -0
- package/dist/__tests__/sha-cache.test.js +40 -0
- package/dist/__tests__/sha-cache.test.js.map +1 -0
- package/dist/__tests__/smart-switch.test.d.ts +2 -0
- package/dist/__tests__/smart-switch.test.d.ts.map +1 -0
- package/dist/__tests__/smart-switch.test.js +145 -0
- package/dist/__tests__/smart-switch.test.js.map +1 -0
- package/dist/ck.d.ts +3 -0
- package/dist/ck.d.ts.map +1 -0
- package/dist/ck.js +8 -0
- package/dist/ck.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +132 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/diagnose.d.ts +54 -0
- package/dist/commands/diagnose.d.ts.map +1 -0
- package/dist/commands/diagnose.js +294 -0
- package/dist/commands/diagnose.js.map +1 -0
- package/dist/commands/impact.d.ts +38 -0
- package/dist/commands/impact.d.ts.map +1 -0
- package/dist/commands/impact.js +210 -0
- package/dist/commands/impact.js.map +1 -0
- package/dist/commands/init.d.ts +12 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +183 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/issue.d.ts +25 -0
- package/dist/commands/issue.d.ts.map +1 -0
- package/dist/commands/issue.js +445 -0
- package/dist/commands/issue.js.map +1 -0
- package/dist/commands/kickass.d.ts +59 -0
- package/dist/commands/kickass.d.ts.map +1 -0
- package/dist/commands/kickass.js +288 -0
- package/dist/commands/kickass.js.map +1 -0
- package/dist/commands/onboard.d.ts +70 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +883 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/optimize.d.ts +16 -0
- package/dist/commands/optimize.d.ts.map +1 -0
- package/dist/commands/optimize.js +244 -0
- package/dist/commands/optimize.js.map +1 -0
- package/dist/commands/review.d.ts +2 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +118 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/run.d.ts +13 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +243 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/scan.d.ts +94 -0
- package/dist/commands/scan.d.ts.map +1 -0
- package/dist/commands/scan.js +276 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/commands/serve.d.ts +9 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +402 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +89 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/watch.d.ts +9 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +902 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/config/loader.d.ts +47 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +334 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +814 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +152 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/github/client.d.ts +139 -0
- package/dist/github/client.d.ts.map +1 -0
- package/dist/github/client.js +711 -0
- package/dist/github/client.js.map +1 -0
- package/dist/github/detector.d.ts +12 -0
- package/dist/github/detector.d.ts.map +1 -0
- package/dist/github/detector.js +120 -0
- package/dist/github/detector.js.map +1 -0
- package/dist/github/merge.d.ts +9 -0
- package/dist/github/merge.d.ts.map +1 -0
- package/dist/github/merge.js +33 -0
- package/dist/github/merge.js.map +1 -0
- package/dist/github/review-status.d.ts +6 -0
- package/dist/github/review-status.d.ts.map +1 -0
- package/dist/github/review-status.js +51 -0
- package/dist/github/review-status.js.map +1 -0
- package/dist/github/webhook.d.ts +41 -0
- package/dist/github/webhook.d.ts.map +1 -0
- package/dist/github/webhook.js +50 -0
- package/dist/github/webhook.js.map +1 -0
- package/dist/lib/annotation.d.ts +23 -0
- package/dist/lib/annotation.d.ts.map +1 -0
- package/dist/lib/annotation.js +103 -0
- package/dist/lib/annotation.js.map +1 -0
- package/dist/lib/backtrace.d.ts +40 -0
- package/dist/lib/backtrace.d.ts.map +1 -0
- package/dist/lib/backtrace.js +169 -0
- package/dist/lib/backtrace.js.map +1 -0
- package/dist/lib/board.d.ts +74 -0
- package/dist/lib/board.d.ts.map +1 -0
- package/dist/lib/board.js +640 -0
- package/dist/lib/board.js.map +1 -0
- package/dist/lib/clone.d.ts +12 -0
- package/dist/lib/clone.d.ts.map +1 -0
- package/dist/lib/clone.js +30 -0
- package/dist/lib/clone.js.map +1 -0
- package/dist/lib/comment-bodies.d.ts +17 -0
- package/dist/lib/comment-bodies.d.ts.map +1 -0
- package/dist/lib/comment-bodies.js +51 -0
- package/dist/lib/comment-bodies.js.map +1 -0
- package/dist/lib/crosscheck-commit.d.ts +2 -0
- package/dist/lib/crosscheck-commit.d.ts.map +1 -0
- package/dist/lib/crosscheck-commit.js +4 -0
- package/dist/lib/crosscheck-commit.js.map +1 -0
- package/dist/lib/diff-hash.d.ts +16 -0
- package/dist/lib/diff-hash.d.ts.map +1 -0
- package/dist/lib/diff-hash.js +71 -0
- package/dist/lib/diff-hash.js.map +1 -0
- package/dist/lib/durations.d.ts +5 -0
- package/dist/lib/durations.d.ts.map +1 -0
- package/dist/lib/durations.js +39 -0
- package/dist/lib/durations.js.map +1 -0
- package/dist/lib/event-fields.d.ts +6 -0
- package/dist/lib/event-fields.d.ts.map +1 -0
- package/dist/lib/event-fields.js +20 -0
- package/dist/lib/event-fields.js.map +1 -0
- package/dist/lib/filter.d.ts +2 -0
- package/dist/lib/filter.d.ts.map +1 -0
- package/dist/lib/filter.js +4 -0
- package/dist/lib/filter.js.map +1 -0
- package/dist/lib/fortune.d.ts +2 -0
- package/dist/lib/fortune.d.ts.map +1 -0
- package/dist/lib/fortune.js +26 -0
- package/dist/lib/fortune.js.map +1 -0
- package/dist/lib/languages.d.ts +3 -0
- package/dist/lib/languages.d.ts.map +1 -0
- package/dist/lib/languages.js +26 -0
- package/dist/lib/languages.js.map +1 -0
- package/dist/lib/log-analysis.d.ts +17 -0
- package/dist/lib/log-analysis.d.ts.map +1 -0
- package/dist/lib/log-analysis.js +72 -0
- package/dist/lib/log-analysis.js.map +1 -0
- package/dist/lib/logger.d.ts +14 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +84 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/port.d.ts +2 -0
- package/dist/lib/port.d.ts.map +1 -0
- package/dist/lib/port.js +21 -0
- package/dist/lib/port.js.map +1 -0
- package/dist/lib/pr-lock.d.ts +4 -0
- package/dist/lib/pr-lock.d.ts.map +1 -0
- package/dist/lib/pr-lock.js +91 -0
- package/dist/lib/pr-lock.js.map +1 -0
- package/dist/lib/pr-picker.d.ts +10 -0
- package/dist/lib/pr-picker.d.ts.map +1 -0
- package/dist/lib/pr-picker.js +80 -0
- package/dist/lib/pr-picker.js.map +1 -0
- package/dist/lib/pr-status.d.ts +206 -0
- package/dist/lib/pr-status.d.ts.map +1 -0
- package/dist/lib/pr-status.js +613 -0
- package/dist/lib/pr-status.js.map +1 -0
- package/dist/lib/repo-picker.d.ts +23 -0
- package/dist/lib/repo-picker.d.ts.map +1 -0
- package/dist/lib/repo-picker.js +411 -0
- package/dist/lib/repo-picker.js.map +1 -0
- package/dist/lib/review-models.d.ts +7 -0
- package/dist/lib/review-models.d.ts.map +1 -0
- package/dist/lib/review-models.js +32 -0
- package/dist/lib/review-models.js.map +1 -0
- package/dist/lib/runner.d.ts +65 -0
- package/dist/lib/runner.d.ts.map +1 -0
- package/dist/lib/runner.js +710 -0
- package/dist/lib/runner.js.map +1 -0
- package/dist/lib/scan-cache.d.ts +31 -0
- package/dist/lib/scan-cache.d.ts.map +1 -0
- package/dist/lib/scan-cache.js +112 -0
- package/dist/lib/scan-cache.js.map +1 -0
- package/dist/lib/scopes.d.ts +16 -0
- package/dist/lib/scopes.d.ts.map +1 -0
- package/dist/lib/scopes.js +37 -0
- package/dist/lib/scopes.js.map +1 -0
- package/dist/lib/sha-cache.d.ts +7 -0
- package/dist/lib/sha-cache.d.ts.map +1 -0
- package/dist/lib/sha-cache.js +44 -0
- package/dist/lib/sha-cache.js.map +1 -0
- package/dist/lib/smart-switch.d.ts +44 -0
- package/dist/lib/smart-switch.d.ts.map +1 -0
- package/dist/lib/smart-switch.js +145 -0
- package/dist/lib/smart-switch.js.map +1 -0
- package/dist/lib/verdict.d.ts +9 -0
- package/dist/lib/verdict.d.ts.map +1 -0
- package/dist/lib/verdict.js +52 -0
- package/dist/lib/verdict.js.map +1 -0
- package/dist/lib/workflow.d.ts +85 -0
- package/dist/lib/workflow.d.ts.map +1 -0
- package/dist/lib/workflow.js +116 -0
- package/dist/lib/workflow.js.map +1 -0
- package/dist/reviewers/address.d.ts +5 -0
- package/dist/reviewers/address.d.ts.map +1 -0
- package/dist/reviewers/address.js +87 -0
- package/dist/reviewers/address.js.map +1 -0
- package/dist/reviewers/claude.d.ts +12 -0
- package/dist/reviewers/claude.d.ts.map +1 -0
- package/dist/reviewers/claude.js +78 -0
- package/dist/reviewers/claude.js.map +1 -0
- package/dist/reviewers/codex.d.ts +9 -0
- package/dist/reviewers/codex.d.ts.map +1 -0
- package/dist/reviewers/codex.js +121 -0
- package/dist/reviewers/codex.js.map +1 -0
- package/dist/reviewers/conflict-resolve.d.ts +15 -0
- package/dist/reviewers/conflict-resolve.d.ts.map +1 -0
- package/dist/reviewers/conflict-resolve.js +219 -0
- package/dist/reviewers/conflict-resolve.js.map +1 -0
- package/dist/reviewers/fix.d.ts +7 -0
- package/dist/reviewers/fix.d.ts.map +1 -0
- package/dist/reviewers/fix.js +197 -0
- package/dist/reviewers/fix.js.map +1 -0
- package/get-started.md +1271 -0
- package/get-started.zh.md +1208 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type Config } from './schema.js';
|
|
2
|
+
export declare function resolveConfigPath(explicitPath?: string): string | null;
|
|
3
|
+
export declare function loadConfig(explicitPath?: string): Config;
|
|
4
|
+
export declare function getGithubTokenSource(): {
|
|
5
|
+
token: string;
|
|
6
|
+
source: 'gh-keyring' | 'env';
|
|
7
|
+
} | null;
|
|
8
|
+
export declare function getGithubToken(): string;
|
|
9
|
+
export declare function getWebhookSecret(): string;
|
|
10
|
+
export declare function getWebhookSecretPath(): string;
|
|
11
|
+
export declare function detectGitHubLogin(): string | null;
|
|
12
|
+
export declare function patchAllowedAuthors(configPath: string, login: string): boolean;
|
|
13
|
+
export declare function patchAuthorRoutes(configPath: string, login: string): boolean;
|
|
14
|
+
export declare function promptDeploymentMode(current?: 'personal' | 'team'): Promise<'personal' | 'team'>;
|
|
15
|
+
export declare function detectScopesForDeployment(deployment: 'personal' | 'team', token: string): Promise<{
|
|
16
|
+
login: string;
|
|
17
|
+
users: string[];
|
|
18
|
+
orgs: string[];
|
|
19
|
+
}>;
|
|
20
|
+
export declare function patchDeploymentConfig(configPath: string, deployment: 'personal' | 'team', login: string, orgs: string[], force?: boolean): boolean;
|
|
21
|
+
export interface OnboardAnswers {
|
|
22
|
+
deployment: 'personal' | 'team';
|
|
23
|
+
login: string;
|
|
24
|
+
orgs: string[];
|
|
25
|
+
users: string[];
|
|
26
|
+
repos: Array<{
|
|
27
|
+
owner: string;
|
|
28
|
+
name: string;
|
|
29
|
+
}>;
|
|
30
|
+
allowedAuthors: string[];
|
|
31
|
+
authorRoutes: Record<string, 'claude' | 'codex'>;
|
|
32
|
+
deliveryMode: 'pull_request' | 'commit' | 'comment';
|
|
33
|
+
brand: {
|
|
34
|
+
service_name: string;
|
|
35
|
+
comment_header: string;
|
|
36
|
+
comment_footer: string;
|
|
37
|
+
reviewer_attribution: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export declare function writeOnboardConfig(configPath: string, answers: OnboardAnswers): void;
|
|
41
|
+
export declare function patchBrandConfig(configPath: string, brand: Partial<{
|
|
42
|
+
service_name: string;
|
|
43
|
+
comment_header: string;
|
|
44
|
+
comment_footer: string;
|
|
45
|
+
reviewer_attribution: string;
|
|
46
|
+
}>): boolean;
|
|
47
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAiBvD,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEtE;AAED,wBAAgB,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAMxD;AAGD,wBAAgB,oBAAoB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,GAAG,KAAK,CAAA;CAAE,GAAG,IAAI,CAkB7F;AAED,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAID,wBAAgB,gBAAgB,IAAI,MAAM,CAczC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAYjD;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAuD9E;AAKD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAyC5E;AAID,wBAAsB,oBAAoB,CACxC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAC5B,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,CAe9B;AAED,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,UAAU,GAAG,MAAM,EAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAQ7D;AAKD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GAAG,MAAM,EAC/B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,UAAQ,GACZ,OAAO,CAgET;AAID,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7C,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAA;IAChD,YAAY,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAA;IACnD,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9G;AAGD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAyCpF;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,GACrH,OAAO,CAOT"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
import { createInterface } from 'readline';
|
|
4
|
+
import { resolve, join, dirname } from 'path';
|
|
5
|
+
import { homedir } from 'os';
|
|
6
|
+
import { randomBytes } from 'crypto';
|
|
7
|
+
import yaml from 'js-yaml';
|
|
8
|
+
import { ConfigSchema } from './schema.js';
|
|
9
|
+
import { listUserOrgs } from '../github/client.js';
|
|
10
|
+
const CONFIG_FILENAME = 'crosscheck.config.yml';
|
|
11
|
+
function findConfigFile() {
|
|
12
|
+
// Home is searched first: crosscheck is a user-level tool (it reviews PRs across
|
|
13
|
+
// all the user's repos/orgs), so ~/.crosscheck/config.yml is the natural source of
|
|
14
|
+
// truth. A cwd file is treated as a deliberate per-project override.
|
|
15
|
+
const candidates = [
|
|
16
|
+
join(homedir(), '.crosscheck', 'config.yml'),
|
|
17
|
+
resolve(process.cwd(), CONFIG_FILENAME),
|
|
18
|
+
resolve(process.cwd(), '.crosscheck.yml'),
|
|
19
|
+
];
|
|
20
|
+
return candidates.find(existsSync) ?? null;
|
|
21
|
+
}
|
|
22
|
+
export function resolveConfigPath(explicitPath) {
|
|
23
|
+
return explicitPath ?? findConfigFile();
|
|
24
|
+
}
|
|
25
|
+
export function loadConfig(explicitPath) {
|
|
26
|
+
const configPath = resolveConfigPath(explicitPath);
|
|
27
|
+
if (!configPath)
|
|
28
|
+
return ConfigSchema.parse({});
|
|
29
|
+
const raw = yaml.load(readFileSync(configPath, 'utf8'));
|
|
30
|
+
return ConfigSchema.parse(raw);
|
|
31
|
+
}
|
|
32
|
+
// Shared by getGithubToken() and status.ts so both resolve through identical logic.
|
|
33
|
+
export function getGithubTokenSource() {
|
|
34
|
+
// Strip GITHUB_TOKEN / GH_TOKEN from the subprocess env before calling
|
|
35
|
+
// `gh auth token`. When those vars are present (even invalid/expired), gh
|
|
36
|
+
// treats them as the active credential and echoes them back — bypassing the
|
|
37
|
+
// keyring entirely.
|
|
38
|
+
try {
|
|
39
|
+
const t = execSync('gh auth token 2>/dev/null', {
|
|
40
|
+
encoding: 'utf8',
|
|
41
|
+
env: { ...process.env, GITHUB_TOKEN: undefined, GH_TOKEN: undefined },
|
|
42
|
+
}).trim();
|
|
43
|
+
if (t)
|
|
44
|
+
return { token: t, source: 'gh-keyring' };
|
|
45
|
+
}
|
|
46
|
+
catch { /* gh not available or no keyring session */ }
|
|
47
|
+
// Fall back to env var — useful in CI where gh is not set up
|
|
48
|
+
const env = process.env.GITHUB_TOKEN ?? process.env.GH_TOKEN;
|
|
49
|
+
if (env)
|
|
50
|
+
return { token: env, source: 'env' };
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
export function getGithubToken() {
|
|
54
|
+
const result = getGithubTokenSource();
|
|
55
|
+
if (result)
|
|
56
|
+
return result.token;
|
|
57
|
+
throw new Error('No GitHub token found.\n' +
|
|
58
|
+
' Option 1: run: gh auth login\n' +
|
|
59
|
+
' Option 2: set GITHUB_TOKEN in your shell profile or .env file');
|
|
60
|
+
}
|
|
61
|
+
const SECRET_FILE = join(homedir(), '.crosscheck', 'webhook-secret');
|
|
62
|
+
export function getWebhookSecret() {
|
|
63
|
+
// Env var takes precedence
|
|
64
|
+
const fromEnv = process.env.CROSSCHECK_WEBHOOK_SECRET ?? process.env.GITHUB_WEBHOOK_SECRET;
|
|
65
|
+
if (fromEnv)
|
|
66
|
+
return fromEnv;
|
|
67
|
+
// Persist and reuse an auto-generated secret
|
|
68
|
+
if (existsSync(SECRET_FILE)) {
|
|
69
|
+
return readFileSync(SECRET_FILE, 'utf8').trim();
|
|
70
|
+
}
|
|
71
|
+
const generated = randomBytes(32).toString('hex');
|
|
72
|
+
mkdirSync(join(homedir(), '.crosscheck'), { recursive: true });
|
|
73
|
+
writeFileSync(SECRET_FILE, generated, { mode: 0o600 });
|
|
74
|
+
return generated;
|
|
75
|
+
}
|
|
76
|
+
export function getWebhookSecretPath() {
|
|
77
|
+
return SECRET_FILE;
|
|
78
|
+
}
|
|
79
|
+
export function detectGitHubLogin() {
|
|
80
|
+
const envVariants = [
|
|
81
|
+
{ ...process.env, GITHUB_TOKEN: undefined, GH_TOKEN: undefined }, // keyring first
|
|
82
|
+
process.env, // env token fallback
|
|
83
|
+
];
|
|
84
|
+
for (const env of envVariants) {
|
|
85
|
+
try {
|
|
86
|
+
const login = execSync("gh api user --jq '.login' 2>/dev/null", { encoding: 'utf8', env }).trim();
|
|
87
|
+
if (login && !login.includes('\n'))
|
|
88
|
+
return login;
|
|
89
|
+
}
|
|
90
|
+
catch { /* try next */ }
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
export function patchAllowedAuthors(configPath, login) {
|
|
95
|
+
let content = readFileSync(configPath, 'utf8');
|
|
96
|
+
// Guard: if allowed_authors already has real (non-comment) entries, nothing to do.
|
|
97
|
+
// Entries appear as ` - value` lines after the key, optionally preceded by comment lines.
|
|
98
|
+
if (/ allowed_authors:\s*\n(?: #[^\n]*\n)* - /.test(content))
|
|
99
|
+
return false;
|
|
100
|
+
// Case 1: commented-out placeholder block from the example config
|
|
101
|
+
const uncommented = content.replace(/ # allowed_authors:\n( #[^\n]*\n)+/, ` allowed_authors:\n - ${login} # auto-detected from gh auth\n`);
|
|
102
|
+
if (uncommented !== content) {
|
|
103
|
+
writeFileSync(configPath, uncommented);
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
// Case 2: key exists but list is empty (no entries under it, only optional comment lines)
|
|
107
|
+
const filledEmpty = content.replace(/( allowed_authors:\s*\n)((?: #[^\n]*\n)*)/, ` allowed_authors:\n - ${login} # auto-detected from gh auth\n`);
|
|
108
|
+
if (filledEmpty !== content) {
|
|
109
|
+
writeFileSync(configPath, filledEmpty);
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
// Case 3: key exists as inline empty array — `allowed_authors: []` or `allowed_authors: [ ]`
|
|
113
|
+
const filledInlineEmpty = content.replace(/( {2}allowed_authors:\s*\[\s*\]\s*\n)/, ` allowed_authors:\n - ${login} # auto-detected from gh auth\n`);
|
|
114
|
+
if (filledInlineEmpty !== content) {
|
|
115
|
+
writeFileSync(configPath, filledInlineEmpty);
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
// Case 4: routing: section exists but allowed_authors is absent — append after routing:
|
|
119
|
+
const appended = content.replace(/(routing:\s*\n)/, `$1 allowed_authors:\n - ${login} # auto-detected from gh auth\n`);
|
|
120
|
+
if (appended !== content) {
|
|
121
|
+
writeFileSync(configPath, appended);
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
// Case 5: no routing: section at all — append a new routing block
|
|
125
|
+
if (!/^routing:/m.test(content)) {
|
|
126
|
+
const block = `\nrouting:\n allowed_authors:\n - ${login} # auto-detected from gh auth\n`;
|
|
127
|
+
writeFileSync(configPath, content.trimEnd() + '\n' + block);
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
// Writes routing.author_routes: { [login]: 'claude' } to an existing config file
|
|
133
|
+
// using text-based patching to preserve comments and formatting.
|
|
134
|
+
// No-op if author_routes already has entries (never overwrites user-set routes).
|
|
135
|
+
export function patchAuthorRoutes(configPath, login) {
|
|
136
|
+
const content = readFileSync(configPath, 'utf8');
|
|
137
|
+
// Use yaml.load only to check current state — text patching does the write.
|
|
138
|
+
const raw = (yaml.load(content) ?? {});
|
|
139
|
+
const routing = typeof raw.routing === 'object' && raw.routing !== null
|
|
140
|
+
? raw.routing
|
|
141
|
+
: {};
|
|
142
|
+
const current = typeof routing.author_routes === 'object' && routing.author_routes !== null
|
|
143
|
+
? routing.author_routes
|
|
144
|
+
: {};
|
|
145
|
+
if (Object.keys(current).length > 0)
|
|
146
|
+
return false;
|
|
147
|
+
const entry = ` author_routes:\n ${login}: claude # auto-detected from gh auth\n`;
|
|
148
|
+
// Case 1: commented-out placeholder block from the example config
|
|
149
|
+
const uncommented = content.replace(/ # author_routes:\n( #[^\n]*\n)*/, entry);
|
|
150
|
+
if (uncommented !== content) {
|
|
151
|
+
writeFileSync(configPath, uncommented);
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
// Case 2: inline empty map — `author_routes: {}` or `author_routes: { }`
|
|
155
|
+
const filledInline = content.replace(/( {2}author_routes:\s*\{\s*\}\s*\n)/, entry);
|
|
156
|
+
if (filledInline !== content) {
|
|
157
|
+
writeFileSync(configPath, filledInline);
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
// Case 3: key exists but map is empty (no entries, only optional comment lines)
|
|
161
|
+
const filledEmpty = content.replace(/( author_routes:\s*\n)((?: #[^\n]*\n)*)/, entry);
|
|
162
|
+
if (filledEmpty !== content) {
|
|
163
|
+
writeFileSync(configPath, filledEmpty);
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
// Case 4: routing: section exists but author_routes is absent — insert after routing:
|
|
167
|
+
const appended = content.replace(/(routing:\s*\n)/, `$1${entry}`);
|
|
168
|
+
if (appended !== content) {
|
|
169
|
+
writeFileSync(configPath, appended);
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
// Case 5: no routing: section at all — append a new block
|
|
173
|
+
if (!/^routing:/m.test(content)) {
|
|
174
|
+
writeFileSync(configPath, content.trimEnd() + `\nrouting:\n${entry}`);
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
// ── Deployment mode ──────────────────────────────────────────────────────────
|
|
180
|
+
export async function promptDeploymentMode(current) {
|
|
181
|
+
if (!process.stdin.isTTY)
|
|
182
|
+
return 'personal';
|
|
183
|
+
return new Promise(resolve => {
|
|
184
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
185
|
+
console.log('\nHow are you using crosscheck?\n');
|
|
186
|
+
console.log(' [1] personal — monitor all your repos and orgs; review only PRs you author');
|
|
187
|
+
console.log(' [2] team — monitor org repos only; review all PRs from any author');
|
|
188
|
+
if (current)
|
|
189
|
+
console.log(`\n Current: ${current}`);
|
|
190
|
+
console.log();
|
|
191
|
+
rl.question(' Choice [1]: ', (answer) => {
|
|
192
|
+
rl.close();
|
|
193
|
+
resolve(answer.trim() === '2' ? 'team' : 'personal');
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
export async function detectScopesForDeployment(deployment, token) {
|
|
198
|
+
const login = detectGitHubLogin() ?? '';
|
|
199
|
+
const orgs = await listUserOrgs(token);
|
|
200
|
+
return {
|
|
201
|
+
login,
|
|
202
|
+
users: deployment === 'personal' && login ? [login] : [],
|
|
203
|
+
orgs,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
// Writes deployment, orgs, users, and allowed_authors to the config file.
|
|
207
|
+
// If force=false, skips silently when deployment is already set.
|
|
208
|
+
// Uses yaml.load/dump so all non-deployment values (quality, budget, etc.) are preserved.
|
|
209
|
+
export function patchDeploymentConfig(configPath, deployment, login, orgs, force = false) {
|
|
210
|
+
if (!existsSync(configPath)) {
|
|
211
|
+
const obj = { deployment, orgs };
|
|
212
|
+
if (deployment === 'personal' && login) {
|
|
213
|
+
obj.users = [login];
|
|
214
|
+
obj.routing = {
|
|
215
|
+
allowed_authors: [login],
|
|
216
|
+
author_routes: { [login]: 'claude' },
|
|
217
|
+
fallback_reviewer: 'auto',
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
obj.routing = { fallback_reviewer: 'auto' };
|
|
222
|
+
}
|
|
223
|
+
writeFileSync(configPath, yaml.dump(obj, { lineWidth: -1, noRefs: true }));
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
const raw = (yaml.load(readFileSync(configPath, 'utf8')) ?? {});
|
|
227
|
+
if (raw.deployment && !force)
|
|
228
|
+
return false;
|
|
229
|
+
raw.deployment = deployment;
|
|
230
|
+
// Update orgs unless user has already set non-example values
|
|
231
|
+
const EXAMPLE_ORGS = new Set(['humanbased-ai', 'codatta']);
|
|
232
|
+
const currentOrgs = Array.isArray(raw.orgs) ? raw.orgs : [];
|
|
233
|
+
const hasCustomOrgs = currentOrgs.length > 0 && currentOrgs.some(o => !EXAMPLE_ORGS.has(o));
|
|
234
|
+
if (force || !hasCustomOrgs)
|
|
235
|
+
raw.orgs = orgs;
|
|
236
|
+
// Update users
|
|
237
|
+
const currentUsers = Array.isArray(raw.users) ? raw.users : [];
|
|
238
|
+
if (deployment === 'personal' && login && (force || currentUsers.length === 0)) {
|
|
239
|
+
raw.users = [login];
|
|
240
|
+
}
|
|
241
|
+
else if (deployment === 'team' && force) {
|
|
242
|
+
delete raw.users;
|
|
243
|
+
}
|
|
244
|
+
// Update routing.allowed_authors, author_routes, fallback_reviewer
|
|
245
|
+
if (!raw.routing || typeof raw.routing !== 'object')
|
|
246
|
+
raw.routing = {};
|
|
247
|
+
const routing = raw.routing;
|
|
248
|
+
const currentAuthors = Array.isArray(routing.allowed_authors) ? routing.allowed_authors : [];
|
|
249
|
+
if (deployment === 'personal' && login && (force || currentAuthors.length === 0)) {
|
|
250
|
+
routing.allowed_authors = [login];
|
|
251
|
+
}
|
|
252
|
+
else if (deployment === 'team' && force) {
|
|
253
|
+
routing.allowed_authors = [];
|
|
254
|
+
}
|
|
255
|
+
// author_routes: in personal mode, map the owner's login → 'claude' as a fallback
|
|
256
|
+
// when no attribution footer or commit trailer is present on their PRs.
|
|
257
|
+
const currentRoutes = typeof routing.author_routes === 'object' && routing.author_routes !== null
|
|
258
|
+
? routing.author_routes
|
|
259
|
+
: {};
|
|
260
|
+
if (deployment === 'personal' && login && (force || Object.keys(currentRoutes).length === 0)) {
|
|
261
|
+
routing.author_routes = { [login]: 'claude' };
|
|
262
|
+
}
|
|
263
|
+
else if (deployment === 'team' && force) {
|
|
264
|
+
delete routing.author_routes;
|
|
265
|
+
}
|
|
266
|
+
// fallback_reviewer: default to 'auto' unless already set
|
|
267
|
+
if (routing.fallback_reviewer === undefined || force) {
|
|
268
|
+
routing.fallback_reviewer = 'auto';
|
|
269
|
+
}
|
|
270
|
+
writeFileSync(configPath, yaml.dump(raw, { lineWidth: -1, noRefs: true }));
|
|
271
|
+
return true;
|
|
272
|
+
}
|
|
273
|
+
// Applies all onboard answers to the config file, preserving unrelated fields.
|
|
274
|
+
export function writeOnboardConfig(configPath, answers) {
|
|
275
|
+
let raw = {};
|
|
276
|
+
if (existsSync(configPath)) {
|
|
277
|
+
try {
|
|
278
|
+
raw = (yaml.load(readFileSync(configPath, 'utf8')) ?? {});
|
|
279
|
+
}
|
|
280
|
+
catch { /* start fresh if file is unparseable */ }
|
|
281
|
+
}
|
|
282
|
+
raw.deployment = answers.deployment;
|
|
283
|
+
raw.orgs = answers.orgs;
|
|
284
|
+
if (answers.users.length > 0)
|
|
285
|
+
raw.users = answers.users;
|
|
286
|
+
else
|
|
287
|
+
delete raw.users;
|
|
288
|
+
if (answers.repos.length > 0)
|
|
289
|
+
raw.repos = answers.repos;
|
|
290
|
+
else
|
|
291
|
+
delete raw.repos;
|
|
292
|
+
if (typeof raw.routing !== 'object' || raw.routing === null)
|
|
293
|
+
raw.routing = {};
|
|
294
|
+
const routing = raw.routing;
|
|
295
|
+
routing.allowed_authors = answers.allowedAuthors;
|
|
296
|
+
if (Object.keys(answers.authorRoutes).length > 0)
|
|
297
|
+
routing.author_routes = answers.authorRoutes;
|
|
298
|
+
else
|
|
299
|
+
delete routing.author_routes;
|
|
300
|
+
if (!routing.fallback_reviewer)
|
|
301
|
+
routing.fallback_reviewer = 'auto';
|
|
302
|
+
if (typeof raw.post_review !== 'object' || raw.post_review === null)
|
|
303
|
+
raw.post_review = {};
|
|
304
|
+
const postReview = raw.post_review;
|
|
305
|
+
if (typeof postReview.auto_fix !== 'object' || postReview.auto_fix === null)
|
|
306
|
+
postReview.auto_fix = {};
|
|
307
|
+
const af = postReview.auto_fix;
|
|
308
|
+
// Remove stale fields from old schema — workflow.yml now controls step sequencing
|
|
309
|
+
delete af.enabled;
|
|
310
|
+
delete af.trigger;
|
|
311
|
+
delete af.fixer;
|
|
312
|
+
if (typeof af.delivery !== 'object' || af.delivery === null)
|
|
313
|
+
af.delivery = {};
|
|
314
|
+
af.delivery.mode = answers.deliveryMode;
|
|
315
|
+
const { service_name, comment_header, comment_footer, reviewer_attribution } = answers.brand;
|
|
316
|
+
const hasBrand = service_name !== 'crosscheck' || comment_header !== '' || comment_footer !== '' || reviewer_attribution !== '';
|
|
317
|
+
if (hasBrand)
|
|
318
|
+
raw.brand = answers.brand;
|
|
319
|
+
else
|
|
320
|
+
delete raw.brand;
|
|
321
|
+
mkdirSync(dirname(configPath), { recursive: true });
|
|
322
|
+
writeFileSync(configPath, yaml.dump(raw, { lineWidth: -1, noRefs: true }));
|
|
323
|
+
}
|
|
324
|
+
export function patchBrandConfig(configPath, brand) {
|
|
325
|
+
if (!existsSync(configPath))
|
|
326
|
+
return false;
|
|
327
|
+
const raw = (yaml.load(readFileSync(configPath, 'utf8')) ?? {});
|
|
328
|
+
if (typeof raw.brand !== 'object' || raw.brand === null)
|
|
329
|
+
raw.brand = {};
|
|
330
|
+
Object.assign(raw.brand, brand);
|
|
331
|
+
writeFileSync(configPath, yaml.dump(raw, { lineWidth: -1, noRefs: true }));
|
|
332
|
+
return true;
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|