bugpatrol 0.4.3 → 0.4.4

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 (4) hide show
  1. package/README.md +12 -0
  2. package/dist/bin.js +24346 -8899
  3. package/package.json +4 -4
  4. package/src/ui/app.js +8 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bugpatrol",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
4
4
  "description": "AI agents that explore your app, find bugs, and fix them.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -27,13 +27,13 @@
27
27
  "build": "node build.mjs"
28
28
  },
29
29
  "dependencies": {
30
- "@modelcontextprotocol/sdk": "^1.20.0",
30
+ "@modelcontextprotocol/sdk": "^1.30.1",
31
31
  "odiff-bin": "^3.2.1",
32
32
  "pixelmatch": "^6.0.0",
33
- "playwright": "1.48.2",
33
+ "playwright": "^1.64.1",
34
34
  "pngjs": "^7.0.0",
35
35
  "yaml": "^2.5.1",
36
- "zod": "^3.23.8"
36
+ "zod": "^4.6.7"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@bugpatrol/cli": "workspace:*",
package/src/ui/app.js CHANGED
@@ -1772,6 +1772,7 @@ const CANDIDATE_STATES = {
1772
1772
  waiting: ['', 'Waits for the judge'],
1773
1773
  filed: ['fail', 'Filed as an issue'],
1774
1774
  dismissed: ['info', 'Dismissed'],
1775
+ unverified: ['warn', 'Not compared by a review'],
1775
1776
  ignored: ['info', 'Not sent to the judge'],
1776
1777
  };
1777
1778
 
@@ -2571,6 +2572,7 @@ function renderReviewDetail() {
2571
2572
  review.costUsd ? el('span', { text: `$${review.costUsd.toFixed(3)}` }) : null,
2572
2573
  ]),
2573
2574
  review.error ? el('p', { class: 'review-error', text: review.error }) : null,
2575
+ review.baseError ? el('p', { class: 'review-error', text: review.baseError }) : null,
2574
2576
  review.claims
2575
2577
  ? el('section', {}, [
2576
2578
  title('Claims', `${review.claims.length}`),
@@ -2589,7 +2591,12 @@ function renderReviewDetail() {
2589
2591
  title('Introduced problems', `${introduced.length}`),
2590
2592
  introduced.length
2591
2593
  ? null
2592
- : el('p', { class: 'muted', text: 'Bugpatrol found no problem that this pull request introduced.' }),
2594
+ : el('p', {
2595
+ class: 'muted',
2596
+ text: review.findings.some((finding) => finding.verdict === 'unclear')
2597
+ ? 'The comparison is incomplete: some findings could not be compared with the base build.'
2598
+ : 'Bugpatrol found no problem that this pull request introduced.',
2599
+ }),
2593
2600
  ...introduced.map(findingBlock),
2594
2601
  ]),
2595
2602
  ...others.map(([verdict, findings]) =>