bellwether 0.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.
Files changed (77) hide show
  1. package/.claude-plugin/plugin.json +13 -0
  2. package/LICENSE +21 -0
  3. package/README.md +120 -0
  4. package/SKILL.md +92 -0
  5. package/dist/bin.d.ts +3 -0
  6. package/dist/bin.d.ts.map +1 -0
  7. package/dist/bin.js +17 -0
  8. package/dist/bin.js.map +1 -0
  9. package/dist/cli.d.ts +13 -0
  10. package/dist/cli.d.ts.map +1 -0
  11. package/dist/cli.js +36 -0
  12. package/dist/cli.js.map +1 -0
  13. package/dist/commands/check.d.ts +191 -0
  14. package/dist/commands/check.d.ts.map +1 -0
  15. package/dist/commands/check.js +186 -0
  16. package/dist/commands/check.js.map +1 -0
  17. package/dist/commands/ci.d.ts +8 -0
  18. package/dist/commands/ci.d.ts.map +1 -0
  19. package/dist/commands/ci.js +28 -0
  20. package/dist/commands/ci.js.map +1 -0
  21. package/dist/commands/hook-add.d.ts +2 -0
  22. package/dist/commands/hook-add.d.ts.map +1 -0
  23. package/dist/commands/hook-add.js +97 -0
  24. package/dist/commands/hook-add.js.map +1 -0
  25. package/dist/commands/hook-check.d.ts +2 -0
  26. package/dist/commands/hook-check.d.ts.map +1 -0
  27. package/dist/commands/hook-check.js +29 -0
  28. package/dist/commands/hook-check.js.map +1 -0
  29. package/dist/commands/reviews.d.ts +74 -0
  30. package/dist/commands/reviews.d.ts.map +1 -0
  31. package/dist/commands/reviews.js +133 -0
  32. package/dist/commands/reviews.js.map +1 -0
  33. package/dist/context.d.ts +13 -0
  34. package/dist/context.d.ts.map +1 -0
  35. package/dist/context.js +53 -0
  36. package/dist/context.js.map +1 -0
  37. package/dist/github/auth.d.ts +9 -0
  38. package/dist/github/auth.d.ts.map +1 -0
  39. package/dist/github/auth.js +49 -0
  40. package/dist/github/auth.js.map +1 -0
  41. package/dist/github/checks.d.ts +19 -0
  42. package/dist/github/checks.d.ts.map +1 -0
  43. package/dist/github/checks.js +112 -0
  44. package/dist/github/checks.js.map +1 -0
  45. package/dist/github/comments.d.ts +86 -0
  46. package/dist/github/comments.d.ts.map +1 -0
  47. package/dist/github/comments.js +309 -0
  48. package/dist/github/comments.js.map +1 -0
  49. package/dist/github/fetch.d.ts +21 -0
  50. package/dist/github/fetch.d.ts.map +1 -0
  51. package/dist/github/fetch.js +177 -0
  52. package/dist/github/fetch.js.map +1 -0
  53. package/dist/github/index.d.ts +6 -0
  54. package/dist/github/index.d.ts.map +1 -0
  55. package/dist/github/index.js +6 -0
  56. package/dist/github/index.js.map +1 -0
  57. package/dist/github/repo.d.ts +27 -0
  58. package/dist/github/repo.d.ts.map +1 -0
  59. package/dist/github/repo.js +72 -0
  60. package/dist/github/repo.js.map +1 -0
  61. package/hooks/hooks.json +29 -0
  62. package/package.json +65 -0
  63. package/skills/bellwether/SKILL.md +92 -0
  64. package/src/bin.ts +15 -0
  65. package/src/cli.ts +39 -0
  66. package/src/commands/check.ts +251 -0
  67. package/src/commands/ci.ts +44 -0
  68. package/src/commands/hook-add.ts +139 -0
  69. package/src/commands/hook-check.ts +35 -0
  70. package/src/commands/reviews.ts +225 -0
  71. package/src/context.ts +86 -0
  72. package/src/github/auth.ts +40 -0
  73. package/src/github/checks.ts +187 -0
  74. package/src/github/comments.ts +522 -0
  75. package/src/github/fetch.ts +233 -0
  76. package/src/github/index.ts +35 -0
  77. package/src/github/repo.ts +146 -0
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "bellwether",
3
+ "version": "0.0.1",
4
+ "description": "Drive PRs to merge-ready: watch CI, fix failures, resolve review comments. Self-contained watch loop that keeps going until pr.ready=true.",
5
+ "author": {
6
+ "name": "Roderik van der Veer",
7
+ "url": "https://github.com/roderik"
8
+ },
9
+ "repository": "https://github.com/roderik/bellwether",
10
+ "license": "MIT",
11
+ "keywords": ["ci", "pr", "review", "merge", "github", "watch"],
12
+ "skills": "./skills/"
13
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Roderik van der Veer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,120 @@
1
+ # bellwether
2
+
3
+ Drive GitHub PRs to merge-ready: watch CI, fix failures, resolve review comments. Self-contained watch loop that keeps going until `pr.ready=true`.
4
+
5
+ Built with [incur](https://github.com/wevm/incur). Inspired by [RTK](https://github.com/rtk-ai/rtk) (token-efficient CLI output filtering) and [agent-reviews](https://github.com/pbakaus/agent-reviews) (automated PR review resolution).
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npx -y bellwether@latest skills add
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ # CI status + review comments + merge state
17
+ npx -y bellwether@latest check
18
+
19
+ # Watch until CI completes
20
+ npx -y bellwether@latest check --watch
21
+
22
+ # Show only unresolved reviews
23
+ npx -y bellwether@latest check --unresolved
24
+
25
+ # Reply to a review comment and resolve
26
+ npx -y bellwether@latest check --reply "456:Fixed in abc1234" --resolve
27
+
28
+ # Full detail for a specific comment
29
+ npx -y bellwether@latest check --detail 456
30
+
31
+ # Full help
32
+ npx -y bellwether@latest check --help
33
+ ```
34
+
35
+ ## Output
36
+
37
+ ```
38
+ pr:
39
+ state: open
40
+ mergeable: clean
41
+ ready: true
42
+ ci:
43
+ sha: abc1234
44
+ checks: "3 total, 3 passing, 0 failing, 0 pending"
45
+ passed: "build, lint, test"
46
+ reviews:
47
+ total: "0 unresolved, 0 unanswered"
48
+ ```
49
+
50
+ When CI fails, the output includes the actual error log (filtered, not raw GitHub metadata):
51
+
52
+ ```
53
+ ci:
54
+ FAIL check: "TypeError: Cannot find name 'fetch'..."
55
+ ```
56
+
57
+ ## Development
58
+
59
+ ### Prerequisites
60
+
61
+ - [Bun](https://bun.sh) (package manager and dev runtime)
62
+ - Node.js >= 22 (the published package runs on Node)
63
+
64
+ ### Setup
65
+
66
+ ```bash
67
+ bun install
68
+ ```
69
+
70
+ ### Commands
71
+
72
+ ```bash
73
+ bun run dev # zile dev — symlinks dist/ to src/
74
+ bun src/bin.ts check # run directly from source
75
+ bun run build # compile to dist/
76
+ bun check # oxlint with type-aware rules
77
+ bun run test # vitest
78
+ bun run test:coverage # vitest with v8 coverage
79
+ bun run format # oxfmt
80
+ ```
81
+
82
+ ### Publishing
83
+
84
+ Automated via GitHub Actions on tag push:
85
+
86
+ ```bash
87
+ git tag v0.1.0
88
+ git push --tags
89
+ ```
90
+
91
+ The workflow sets the version in `package.json` and `.claude-plugin/plugin.json`, builds, publishes to npm with provenance, and commits the version bump back to main.
92
+
93
+ ## Project structure
94
+
95
+ ```
96
+ src/
97
+ bin.ts # CLI entry point
98
+ cli.ts # incur CLI definition
99
+ context.ts # Bootstrap + PR resolution
100
+ commands/
101
+ check.ts # unified check command (CI + reviews + merge state)
102
+ ci.ts # CI data helpers (flatten, getCISection)
103
+ reviews.ts # Review data helpers (list, detail, reply, watch)
104
+ github/
105
+ auth.ts # GitHub token resolution
106
+ fetch.ts # Proxy-aware fetch + pagination
107
+ repo.ts # Git/repo helpers + merge state
108
+ checks.ts # Check Runs API + job log filtering
109
+ comments.ts # PR comments + review threads + GraphQL resolve
110
+ index.ts # Re-exports
111
+ skills/
112
+ bellwether/
113
+ SKILL.md # Agent skill (shared across all install channels)
114
+ .claude-plugin/
115
+ plugin.json # Claude Code plugin manifest
116
+ ```
117
+
118
+ ## License
119
+
120
+ [MIT](LICENSE)
package/SKILL.md ADDED
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: bellwether
3
+ description: >-
4
+ Bring the current PR to a mergeable state: CI green, all review comments resolved,
5
+ no merge conflicts. Self-contained — watches CI, fixes issues, watches again until
6
+ merge-ready. Use when the user wants to keep a PR green, auto-fix CI, resolve
7
+ review comments, or says "get this merged".
8
+ user-invocable: true
9
+ ---
10
+
11
+ # Bellwether — Drive PR to Merge-Ready
12
+
13
+ Self-contained cycle: watch CI → fix failures → address reviews → watch again → until merge-ready.
14
+
15
+ ## The Loop
16
+
17
+ ```
18
+ 1. npx -y bellwether@latest check --watch (blocks until CI completes)
19
+ 2. If pr.ready=true → done, report "merge-ready"
20
+ 3. If pr.state=merged|closed → done, report status
21
+ 4. If CI failures → fix them (Step 2), push, go to 1
22
+ 5. If unresolved reviews → address them (Step 3), push, go to 1
23
+ 6. If pr.mergeable=dirty|behind → /sync, push, go to 1
24
+ 7. If timed out → go to 1 (restart watch)
25
+ ```
26
+
27
+ ## What `npx -y bellwether@latest check --watch` returns
28
+
29
+ Three sections:
30
+
31
+ - **pr** — `state` (open/closed/merged), `mergeable` (clean/dirty/behind/blocked/unstable), `ready` (true when all conditions met)
32
+ - **ci** — SHA, check summary, and for each failing check: the filtered error log with file paths and line numbers
33
+ - **reviews** — unresolved review comments with full body, file path, and line number
34
+
35
+ ## Step 2: Fix CI failures
36
+
37
+ For each `FAIL` key in the CI section:
38
+
39
+ 1. **Read the error log** — it contains actual compiler/test output with file paths and line numbers.
40
+ 2. **Fix the code** — minimal change that resolves the root cause.
41
+ 3. **Verify locally** — run the same check that failed.
42
+ 4. **Stage, commit, push** — stage files by name (never `git add -A`).
43
+ 5. **Go to step 1** — restart the watch. New CI runs, new bot comments may arrive.
44
+
45
+ ## Step 3: Address review comments
46
+
47
+ For each `REVIEW` key in the reviews section:
48
+
49
+ ### Classify
50
+
51
+ **Bot comments** (CodeRabbit, Copilot, Cursor Bugbot):
52
+ - **True positive** — real bug → fix the code
53
+ - **False positive** — bot doesn't understand the pattern → won't fix
54
+ - **Uncertain** — ask the user
55
+
56
+ **Human comments**:
57
+ - **Actionable** — fix the code
58
+ - **Discussion** — ask the user
59
+ - **Already addressed** — reply only
60
+
61
+ ### Fix and commit
62
+
63
+ Fix all true positives and actionable items in a single commit. Verify locally, push.
64
+
65
+ ### Reply
66
+
67
+ For inline code review comments (with file path), reply individually with `--resolve`:
68
+
69
+ ```bash
70
+ npx -y bellwether@latest check --reply "<id>:Fixed in <hash>. <description>" --resolve
71
+ ```
72
+
73
+ For top-level bot comments (no file path), post a single summary reply:
74
+
75
+ ```
76
+ Addressed review findings in <hash>:
77
+ - REVIEW 456: Fixed null check in src/foo.ts
78
+ - REVIEW 789: Won't fix — pattern is intentional
79
+ ```
80
+
81
+ Every comment gets a response. Use `--resolve` on every reply.
82
+
83
+ After all replies, go to step 1 — restart the watch.
84
+
85
+ ## Principles
86
+
87
+ - **One fix per watch cycle** — fix CI OR reviews, not both. Push and restart watch.
88
+ - **Minimal changes** — don't refactor unrelated code.
89
+ - **Every comment gets a response** — no silent ignores.
90
+ - **Ask when uncertain** — don't guess on architectural questions.
91
+ - **Verify before pushing** — always run the failing check locally first.
92
+ - **Never stop until terminal** — if `pr.ready` is false, keep going.
package/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ const cmd = process.argv[2];
3
+ // Fast path for hook commands — bypass incur entirely for speed
4
+ if (cmd === "hook-check") {
5
+ const { run } = await import("./commands/hook-check.js");
6
+ await run();
7
+ }
8
+ else if (cmd === "hook-add") {
9
+ const { run } = await import("./commands/hook-add.js");
10
+ await run();
11
+ }
12
+ else {
13
+ const { cli } = await import("./cli.js");
14
+ void cli.serve();
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE5B,gEAAgE;AAChE,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACzD,MAAM,GAAG,EAAE,CAAC;AACd,CAAC;KAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACvD,MAAM,GAAG,EAAE,CAAC;AACd,CAAC;KAAM,CAAC;IACN,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { Cli, z } from "incur";
2
+ import { type Context } from "./context.js";
3
+ declare const cli: Cli.Cli<{}, z.ZodObject<{
4
+ ctx: z.ZodCustom<Context, Context>;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ GITHUB_TOKEN: z.ZodOptional<z.ZodString>;
7
+ GH_TOKEN: z.ZodOptional<z.ZodString>;
8
+ GH_REPO: z.ZodOptional<z.ZodString>;
9
+ HTTPS_PROXY: z.ZodOptional<z.ZodString>;
10
+ }, z.core.$strip>>;
11
+ export { cli };
12
+ export default cli;
13
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvD,QAAA,MAAM,GAAG;;;;;;;kBAwBP,CAAC;AASH,OAAO,EAAE,GAAG,EAAE,CAAC;AACf,eAAe,GAAG,CAAC"}
package/dist/cli.js ADDED
@@ -0,0 +1,36 @@
1
+ import { Cli, z } from "incur";
2
+ import { bootstrap } from "./context.js";
3
+ import { checkCommand } from "./commands/check.js";
4
+ const cli = Cli.create("bellwether", {
5
+ version: "0.0.1",
6
+ description: "Monitor GitHub PRs — review comments and CI status",
7
+ vars: z.object({
8
+ ctx: z.custom(),
9
+ }),
10
+ env: z.object({
11
+ GITHUB_TOKEN: z
12
+ .string()
13
+ .optional()
14
+ .describe("GitHub personal access token (also reads GH_TOKEN, .env.local, gh CLI)"),
15
+ GH_TOKEN: z.string().optional().describe("Alternative GitHub token env var"),
16
+ GH_REPO: z.string().optional().describe("Override repository in owner/repo format"),
17
+ HTTPS_PROXY: z.string().optional().describe("HTTPS proxy URL for corporate/cloud environments"),
18
+ }),
19
+ sync: {
20
+ include: ["_root"],
21
+ suggestions: [
22
+ "check CI and reviews for this PR",
23
+ "check CI and reviews for PR 123",
24
+ "watch CI until complete",
25
+ "reply to review comment 12345",
26
+ ],
27
+ },
28
+ });
29
+ cli.use(async (c, next) => {
30
+ c.set("ctx", await bootstrap());
31
+ await next();
32
+ });
33
+ cli.command("check", checkCommand);
34
+ export { cli };
35
+ export default cli;
36
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAgB,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE;IACnC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,GAAG,EAAE,CAAC,CAAC,MAAM,EAAW;KACzB,CAAC;IACF,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wEAAwE,CAAC;QACrF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACnF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;KAChG,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,CAAC,OAAO,CAAC;QAClB,WAAW,EAAE;YACX,kCAAkC;YAClC,iCAAiC;YACjC,yBAAyB;YACzB,+BAA+B;SAChC;KACF;CACF,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;IACxB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,SAAS,EAAE,CAAC,CAAC;IAChC,MAAM,IAAI,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,YAA4D,CAAC,CAAC;AAEnF,OAAO,EAAE,GAAG,EAAE,CAAC;AACf,eAAe,GAAG,CAAC"}
@@ -0,0 +1,191 @@
1
+ import { z } from "incur";
2
+ import { type Context } from "../context.js";
3
+ interface CheckCommandContext {
4
+ var: {
5
+ ctx: Context;
6
+ };
7
+ args: {
8
+ pr?: number;
9
+ };
10
+ options: {
11
+ watch: boolean;
12
+ interval: number;
13
+ timeout: number;
14
+ unresolved: boolean;
15
+ unanswered: boolean;
16
+ botsOnly: boolean;
17
+ humansOnly: boolean;
18
+ reply?: string;
19
+ resolve: boolean;
20
+ detail?: number;
21
+ };
22
+ ok: (data: Record<string, unknown>, meta?: Record<string, unknown>) => unknown;
23
+ error: (data: {
24
+ message: string;
25
+ }) => unknown;
26
+ }
27
+ export declare const checkCommand: {
28
+ description: string;
29
+ hint: string;
30
+ args: z.ZodObject<{
31
+ pr: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
32
+ }, z.core.$strip>;
33
+ options: z.ZodObject<{
34
+ watch: z.ZodDefault<z.ZodBoolean>;
35
+ interval: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
36
+ timeout: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
37
+ unresolved: z.ZodDefault<z.ZodBoolean>;
38
+ unanswered: z.ZodDefault<z.ZodBoolean>;
39
+ botsOnly: z.ZodDefault<z.ZodBoolean>;
40
+ humansOnly: z.ZodDefault<z.ZodBoolean>;
41
+ reply: z.ZodOptional<z.ZodString>;
42
+ resolve: z.ZodDefault<z.ZodBoolean>;
43
+ detail: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
44
+ }, z.core.$strip>;
45
+ alias: {
46
+ watch: string;
47
+ interval: string;
48
+ unresolved: string;
49
+ unanswered: string;
50
+ botsOnly: string;
51
+ humansOnly: string;
52
+ reply: string;
53
+ detail: string;
54
+ };
55
+ usage: ({
56
+ args?: undefined;
57
+ options?: undefined;
58
+ } | {
59
+ args: {
60
+ pr: boolean;
61
+ };
62
+ options?: undefined;
63
+ } | {
64
+ options: {
65
+ watch: boolean;
66
+ detail?: undefined;
67
+ reply?: undefined;
68
+ resolve?: undefined;
69
+ };
70
+ args?: undefined;
71
+ } | {
72
+ options: {
73
+ detail: boolean;
74
+ watch?: undefined;
75
+ reply?: undefined;
76
+ resolve?: undefined;
77
+ };
78
+ args?: undefined;
79
+ } | {
80
+ options: {
81
+ reply: boolean;
82
+ watch?: undefined;
83
+ detail?: undefined;
84
+ resolve?: undefined;
85
+ };
86
+ args?: undefined;
87
+ } | {
88
+ options: {
89
+ reply: boolean;
90
+ resolve: boolean;
91
+ watch?: undefined;
92
+ detail?: undefined;
93
+ };
94
+ args?: undefined;
95
+ })[];
96
+ output: z.ZodObject<{
97
+ pr: z.ZodOptional<z.ZodObject<{
98
+ state: z.ZodString;
99
+ mergeable: z.ZodString;
100
+ ready: z.ZodBoolean;
101
+ }, z.core.$strip>>;
102
+ ci: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
103
+ reviews: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
104
+ comment: z.ZodOptional<z.ZodObject<{
105
+ id: z.ZodNumber;
106
+ type: z.ZodEnum<{
107
+ review_comment: "review_comment";
108
+ issue_comment: "issue_comment";
109
+ review: "review";
110
+ }>;
111
+ user: z.ZodString;
112
+ isBot: z.ZodBoolean;
113
+ path: z.ZodNullable<z.ZodString>;
114
+ line: z.ZodNullable<z.ZodNumber>;
115
+ diffHunk: z.ZodNullable<z.ZodString>;
116
+ body: z.ZodString;
117
+ createdAt: z.ZodString;
118
+ updatedAt: z.ZodString;
119
+ url: z.ZodString;
120
+ replies: z.ZodArray<z.ZodObject<{
121
+ id: z.ZodNumber;
122
+ user: z.ZodString;
123
+ body: z.ZodString;
124
+ createdAt: z.ZodString;
125
+ isBot: z.ZodBoolean;
126
+ }, z.core.$strip>>;
127
+ hasHumanReply: z.ZodBoolean;
128
+ hasAnyReply: z.ZodBoolean;
129
+ isResolved: z.ZodBoolean;
130
+ }, z.core.$strip>>;
131
+ replied: z.ZodOptional<z.ZodBoolean>;
132
+ commentId: z.ZodOptional<z.ZodNumber>;
133
+ message: z.ZodOptional<z.ZodString>;
134
+ url: z.ZodOptional<z.ZodString>;
135
+ resolved: z.ZodOptional<z.ZodBoolean>;
136
+ allPassing: z.ZodOptional<z.ZodBoolean>;
137
+ timedOut: z.ZodOptional<z.ZodBoolean>;
138
+ }, z.core.$strip>;
139
+ examples: ({
140
+ description: string;
141
+ options?: undefined;
142
+ } | {
143
+ options: {
144
+ watch: boolean;
145
+ unresolved?: undefined;
146
+ detail?: undefined;
147
+ reply?: undefined;
148
+ resolve?: undefined;
149
+ };
150
+ description: string;
151
+ } | {
152
+ options: {
153
+ unresolved: boolean;
154
+ watch?: undefined;
155
+ detail?: undefined;
156
+ reply?: undefined;
157
+ resolve?: undefined;
158
+ };
159
+ description: string;
160
+ } | {
161
+ options: {
162
+ detail: number;
163
+ watch?: undefined;
164
+ unresolved?: undefined;
165
+ reply?: undefined;
166
+ resolve?: undefined;
167
+ };
168
+ description: string;
169
+ } | {
170
+ options: {
171
+ reply: string;
172
+ watch?: undefined;
173
+ unresolved?: undefined;
174
+ detail?: undefined;
175
+ resolve?: undefined;
176
+ };
177
+ description: string;
178
+ } | {
179
+ options: {
180
+ reply: string;
181
+ resolve: boolean;
182
+ watch?: undefined;
183
+ unresolved?: undefined;
184
+ detail?: undefined;
185
+ };
186
+ description: string;
187
+ })[];
188
+ run(c: CheckCommandContext): Promise<unknown>;
189
+ };
190
+ export {};
191
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AA4BxD,UAAU,mBAAmB;IAC3B,GAAG,EAAE;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;IACtB,IAAI,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtB,OAAO,EAAE;QACP,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAC/E,KAAK,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;CAC/C;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAqEV,mBAAmB;CAqIjC,CAAC"}