@gitlab/opencode-gitlab-plugin 1.5.4 → 1.5.6

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/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
4
4
 
5
+ ## [1.5.6](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/compare/v1.5.5...v1.5.6) (2026-02-03)
6
+
7
+
8
+ ### ♻️ Code Refactoring
9
+
10
+ * consolidate search tools into unified interface ([bb75def](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/commit/bb75def68290ea740a04d09afc5d7efa9da02020))
11
+ * implement GitLab Duo review suggestions ([8fa6738](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/commit/8fa67382436d8edb9bce1868c3330d8853255606))
12
+
13
+ ## [1.5.5](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/compare/v1.5.4...v1.5.5) (2026-02-03)
14
+
15
+
16
+ ### ♻️ Code Refactoring
17
+
18
+ * consolidate notes tools into unified interface ([2e407ad](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/commit/2e407ad9bce03b7c6b2220ab39d6dac9bc82ebd4))
19
+ * improve validation error messages in notes tools ([3c95ca6](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/commit/3c95ca66281378f480250ed549611e352319b001))
20
+
5
21
  ## [1.5.4](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/compare/v1.5.3...v1.5.4) (2026-02-03)
6
22
 
7
23
 
package/README.md CHANGED
@@ -62,7 +62,7 @@ The following tools use GitLab's GraphQL API for enhanced functionality:
62
62
  | Category | Tools | Benefits |
63
63
  | --------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
64
64
  | **TODOs** | `gitlab_list_todos`, `gitlab_get_todo_count` | Cursor-based pagination, rich filtering |
65
- | **Notes** | `gitlab_list_mr_notes`, `gitlab_list_issue_notes`, `gitlab_list_epic_notes`, `gitlab_list_snippet_notes` | Efficient pagination, consistent response format |
65
+ | **Notes** | `gitlab_list_notes`, `gitlab_get_note`, `gitlab_create_note` | Unified interface for all resource types, efficient pagination |
66
66
  | **Discussions** | `gitlab_list_discussions`, `gitlab_get_discussion`, `gitlab_create_discussion`, `gitlab_resolve_discussion` | Unified interface for all resource types, cursor-based pagination, code position support |
67
67
  | **Auto-merge** | `gitlab_set_mr_auto_merge` | MWPS (Merge When Pipeline Succeeds), merge train support |
68
68
  | **Security** | All vulnerability management tools | Type-safe GID validation, mutation support |
@@ -134,7 +134,7 @@ graph LR
134
134
  B --> B1[readTokenFromAuthStorage]
135
135
  B --> B2[getGitLabClient]
136
136
 
137
- C --> C1[81 Tool Definitions]
137
+ C --> C1[69 Tool Definitions]
138
138
 
139
139
  D --> A
140
140
  D --> B
@@ -287,9 +287,9 @@ Or for API tokens:
287
287
 
288
288
  ## 🛠️ Available Tools
289
289
 
290
- The plugin provides **81 tools** organized into the following categories:
290
+ The plugin provides **69 tools** organized into the following categories:
291
291
 
292
- ### Merge Request Tools (10 tools)
292
+ ### Merge Request Tools (9 tools)
293
293
 
294
294
  | Tool | Description |
295
295
  | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
@@ -298,23 +298,20 @@ The plugin provides **81 tools** organized into the following categories:
298
298
  | `gitlab_create_merge_request` | Create a new merge request |
299
299
  | `gitlab_update_merge_request` | Update merge request title, description, state, assignees, reviewers, and labels |
300
300
  | `gitlab_get_mr_changes` | Get file changes/diffs for a merge request |
301
- | `gitlab_list_mr_notes` | List all comments with cursor-based pagination (GraphQL) |
302
301
  | `gitlab_get_mr_commits` | Get all commits in a merge request |
303
302
  | `gitlab_get_mr_pipelines` | Get all pipelines for a merge request |
304
303
  | `gitlab_list_merge_request_diffs` | List file diffs with pagination support for large changesets |
305
304
  | `gitlab_set_mr_auto_merge` | Enable auto-merge (MWPS) using GraphQL API when pipeline succeeds |
306
305
 
307
- ### Issue Tools (5 tools)
306
+ ### Issue Tools (3 tools)
308
307
 
309
- | Tool | Description |
310
- | ------------------------- | ---------------------------------------------------------------------------- |
311
- | `gitlab_create_issue` | Create a new issue with title, description, labels, assignees, and milestone |
312
- | `gitlab_get_issue` | Get issue details including state, author, assignees, labels, and comments |
313
- | `gitlab_list_issues` | List issues with filtering by state, labels, assignee, and milestone |
314
- | `gitlab_list_issue_notes` | List all comments with cursor-based pagination (GraphQL) |
315
- | `gitlab_get_issue_note` | Get a specific note by ID with full details |
308
+ | Tool | Description |
309
+ | --------------------- | ---------------------------------------------------------------------------- |
310
+ | `gitlab_create_issue` | Create a new issue with title, description, labels, assignees, and milestone |
311
+ | `gitlab_get_issue` | Get issue details including state, author, assignees, labels, and comments |
312
+ | `gitlab_list_issues` | List issues with filtering by state, labels, assignee, and milestone |
316
313
 
317
- ### Epic Tools (9 tools)
314
+ ### Epic Tools (7 tools)
318
315
 
319
316
  | Tool | Description |
320
317
  | ------------------------------- | ----------------------------------------------------------------------------- |
@@ -325,8 +322,6 @@ The plugin provides **81 tools** organized into the following categories:
325
322
  | `gitlab_list_epic_issues` | Get all issues linked to an epic |
326
323
  | `gitlab_add_issue_to_epic` | Link an issue to an epic |
327
324
  | `gitlab_remove_issue_from_epic` | Unlink an issue from an epic |
328
- | `gitlab_list_epic_notes` | List all comments with cursor-based pagination (GraphQL) |
329
- | `gitlab_get_epic_note` | Get a specific epic note by ID |
330
325
 
331
326
  ### Pipeline Tools (8 tools)
332
327
 
@@ -353,21 +348,12 @@ The plugin provides **81 tools** organized into the following categories:
353
348
  | `gitlab_list_branches` | List all branches in a repository |
354
349
  | `gitlab_get_commit_comments` | Get all commit comments in flat structure |
355
350
 
356
- ### Search Tools (11 tools)
357
-
358
- | Tool | Description |
359
- | ----------------------------- | ------------------------------------------------------------------------------ |
360
- | `gitlab_search` | Universal search across projects, issues, MRs, code, commits, users, and wikis |
361
- | `gitlab_issue_search` | Specialized issue search with better filtering |
362
- | `gitlab_merge_request_search` | Specialized merge request search with better filtering |
363
- | `gitlab_blob_search` | Search code/text within repository files |
364
- | `gitlab_commit_search` | Search commits by message, author, or SHA |
365
- | `gitlab_group_project_search` | Search projects within a specific group |
366
- | `gitlab_milestone_search` | Search milestones by title or description |
367
- | `gitlab_note_search` | Search comments across issues, MRs, and commits (Premium/Ultimate) |
368
- | `gitlab_user_search` | Search users by name or email |
369
- | `gitlab_wiki_blob_search` | Search wiki content with advanced filters |
370
- | `gitlab_documentation_search` | Search GitLab official documentation |
351
+ ### Search Tools (2 tools)
352
+
353
+ | Tool | Description |
354
+ | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
355
+ | `gitlab_search` | Unified search across all GitLab resources with scope-specific options (projects, issues, merge_requests, milestones, users, blobs, commits, notes, wiki_blobs, group_projects) |
356
+ | `gitlab_documentation_search` | Search GitLab official documentation at docs.gitlab.com |
371
357
 
372
358
  ### Work Item Tools (6 tools)
373
359
 
@@ -412,12 +398,6 @@ The plugin provides **81 tools** organized into the following categories:
412
398
  | `gitlab_list_project_members` | List all members of a project |
413
399
  | `gitlab_get_current_user` | Get authenticated user information |
414
400
 
415
- ### Snippet Tools (1 tool)
416
-
417
- | Tool | Description |
418
- | --------------------------- | -------------------------------------------------------- |
419
- | `gitlab_list_snippet_notes` | List all comments with cursor-based pagination (GraphQL) |
420
-
421
401
  ### Discussion Tools (4 tools)
422
402
 
423
403
  | Tool | Description |
@@ -427,6 +407,14 @@ The plugin provides **81 tools** organized into the following categories:
427
407
  | `gitlab_create_discussion` | Create a new discussion thread OR reply to an existing one (supports code-position comments for MRs and commits) |
428
408
  | `gitlab_resolve_discussion` | Mark a discussion thread as resolved or unresolve it (MRs and issues only) |
429
409
 
410
+ ### Notes Tools (3 tools)
411
+
412
+ | Tool | Description |
413
+ | -------------------- | --------------------------------------------------------------------------------------------------- |
414
+ | `gitlab_list_notes` | List all notes/comments on any resource (MRs, issues, epics, snippets) with cursor-based pagination |
415
+ | `gitlab_get_note` | Get a single note by ID (issues and epics only) |
416
+ | `gitlab_create_note` | Add a simple comment to any resource (for thread replies, use `gitlab_create_discussion`) |
417
+
430
418
  ### Audit Event Tools (3 tools)
431
419
 
432
420
  | Tool | Description |
@@ -470,10 +458,11 @@ const issue = await plugin.tool.gitlab_create_issue.execute({
470
458
 
471
459
  console.log(`Issue created: ${issue.web_url}`);
472
460
 
473
- // Add a comment to the issue
474
- await plugin.tool.gitlab_create_issue_note.execute({
461
+ // Add a comment to the issue (using unified notes tool)
462
+ await plugin.tool.gitlab_create_note.execute({
463
+ resource_type: 'issue',
475
464
  project_id: 'my-group/my-project',
476
- issue_iid: issue.iid,
465
+ iid: issue.iid,
477
466
  body: 'I will start working on this today.',
478
467
  });
479
468
 
@@ -766,6 +755,7 @@ opencode-gitlab-plugin/
766
755
  │ │ ├── pipelines.ts # Pipeline tool definitions
767
756
  │ │ ├── repository.ts # Repository tool definitions
768
757
  │ │ ├── discussions-unified.ts # Unified discussion tools (4 tools)
758
+ │ │ ├── notes-unified.ts # Unified notes tools (3 tools)
769
759
  │ │ └── ... # Other tool definitions
770
760
  │ ├── index.ts # Main plugin entry point
771
761
  │ ├── utils.ts # Utility functions