opencode-pilot 0.18.1 → 0.18.2

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/README.md CHANGED
@@ -65,11 +65,10 @@ Three ways to configure sources, from simplest to most flexible:
65
65
 
66
66
  - `github/my-issues` - Issues assigned to me
67
67
  - `github/review-requests` - PRs needing my review
68
- - `github/my-prs-feedback` - My PRs with comments/feedback (simple trigger)
69
- - `github/my-prs-attention` - My PRs needing attention (conflicts OR feedback, with dynamic labeling)
68
+ - `github/my-prs-attention` - My PRs needing attention (conflicts OR human feedback)
70
69
  - `linear/my-issues` - Linear tickets (requires `teamId`, `assigneeId`)
71
70
 
72
- **Tip:** Use `my-prs-attention` instead of `my-prs-feedback` if you also want to detect merge conflicts. The session name will indicate which condition(s) triggered it: "Conflicts: {title}", "Feedback: {title}", or "Conflicts+Feedback: {title}".
71
+ Session names for `my-prs-attention` indicate the condition: "Conflicts: {title}", "Feedback: {title}", or "Conflicts+Feedback: {title}".
73
72
 
74
73
  ### Prompt Templates
75
74
 
@@ -27,16 +27,13 @@ sources:
27
27
 
28
28
  - preset: github/review-requests
29
29
 
30
- # PRs needing attention (conflicts OR feedback) - recommended over my-prs-feedback
30
+ # PRs needing attention (conflicts OR human feedback)
31
31
  # Session names dynamically indicate the condition: "Conflicts: ...", "Feedback: ...", or "Conflicts+Feedback: ..."
32
32
  - preset: github/my-prs-attention
33
33
  repos:
34
34
  - myorg/backend
35
35
  - myorg/frontend
36
36
 
37
- # Alternative: Simple feedback-only trigger (use my-prs-attention for conflicts too)
38
- # - preset: github/my-prs-feedback
39
-
40
37
  # Linear (requires teamId and assigneeId)
41
38
  - preset: linear/my-issues
42
39
  args:
@@ -92,4 +89,4 @@ sources:
92
89
  # ttl_days: 30
93
90
 
94
91
  # Available presets: github/my-issues, github/review-requests,
95
- # github/my-prs-feedback, github/my-prs-attention, linear/my-issues
92
+ # github/my-prs-attention, linear/my-issues
@@ -1,7 +1,7 @@
1
- Address the review feedback on this PR:
1
+ Address the review feedback or merge conflicts on this PR:
2
2
 
3
3
  {title}
4
4
 
5
5
  {html_url}
6
6
 
7
- Focus only on unresolved review comments. Read each comment, make the requested changes, and respond to the reviewer. Skip any conversations that are already resolved.
7
+ Focus on unresolved review comments and merge conflicts. Make the requested changes and respond to reviewers. Skip any conversations that are already resolved.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-pilot",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "type": "module",
5
5
  "main": "plugin/index.js",
6
6
  "description": "Automation daemon for OpenCode - polls for work and spawns sessions",
@@ -37,23 +37,6 @@ review-requests:
37
37
  session:
38
38
  name: "Review: {title}"
39
39
 
40
- my-prs-feedback:
41
- name: my-prs-feedback
42
- tool:
43
- # comments:>0 filter ensures only PRs with feedback are returned
44
- command: ["gh", "search", "prs", "--author=@me", "--state=open", "comments:>0", "--json", "number,title,url,repository,state,body,updatedAt,commentsCount"]
45
- item:
46
- id: "{url}"
47
- repo: "{repository.nameWithOwner}"
48
- prompt: review-feedback
49
- session:
50
- name: "Feedback: {title}"
51
- # Reprocess when PR is updated (new commits pushed, new comments, etc.)
52
- # This ensures we re-trigger after addressing review feedback
53
- reprocess_on:
54
- - state
55
- - updatedAt
56
-
57
40
  my-prs-attention:
58
41
  name: my-prs-attention
59
42
  tool:
@@ -679,24 +679,6 @@ sources:
679
679
  assert.ok(sources[0].tool.command.includes('--review-requested=@me'), 'command should include review-requested filter');
680
680
  });
681
681
 
682
- test('expands github/my-prs-feedback preset', async () => {
683
- writeFileSync(configPath, `
684
- sources:
685
- - preset: github/my-prs-feedback
686
- `);
687
-
688
- const { loadRepoConfig, getSources } = await import('../../service/repo-config.js');
689
- loadRepoConfig(configPath);
690
- const sources = getSources();
691
-
692
- assert.strictEqual(sources[0].name, 'my-prs-feedback');
693
- // GitHub presets now use gh CLI instead of MCP
694
- assert.ok(sources[0].tool.command.includes('--author=@me'), 'command should include author filter');
695
- assert.ok(sources[0].tool.command.includes('comments:>0'), 'command should filter for PRs with comments');
696
- // This preset includes updatedAt in reprocess_on to catch new commits
697
- assert.deepStrictEqual(sources[0].reprocess_on, ['state', 'updatedAt']);
698
- });
699
-
700
682
  test('expands github/my-prs-attention preset', async () => {
701
683
  writeFileSync(configPath, `
702
684
  sources:
@@ -774,7 +756,6 @@ sources:
774
756
  sources:
775
757
  - preset: github/my-issues
776
758
  - preset: github/review-requests
777
- - preset: github/my-prs-feedback
778
759
  - preset: github/my-prs-attention
779
760
  `);
780
761
 
@@ -860,7 +841,6 @@ sources:
860
841
  sources:
861
842
  - preset: github/my-issues
862
843
  - preset: github/review-requests
863
- - preset: github/my-prs-feedback
864
844
  - preset: github/my-prs-attention
865
845
  `);
866
846
 
@@ -874,11 +854,8 @@ sources:
874
854
  // review-requests: "Review: {title}"
875
855
  assert.strictEqual(sources[1].session.name, 'Review: {title}', 'review-requests should prefix with Review:');
876
856
 
877
- // my-prs-feedback: "Feedback: {title}"
878
- assert.strictEqual(sources[2].session.name, 'Feedback: {title}', 'my-prs-feedback should prefix with Feedback:');
879
-
880
857
  // my-prs-attention: "{_attention_label}: {title}" (dynamic based on detected conditions)
881
- assert.ok(sources[3].session.name.includes('_attention_label'), 'my-prs-attention should use dynamic label');
858
+ assert.ok(sources[2].session.name.includes('_attention_label'), 'my-prs-attention should use dynamic label');
882
859
  });
883
860
 
884
861
  test('linear preset includes session name', async () => {