{"_id":"@gitlab/opencode-gitlab-plugin","_rev":"27-39f7ba4d3d36ba028ca878aeec6b0870","name":"@gitlab/opencode-gitlab-plugin","dist-tags":{"latest":"1.9.0"},"versions":{"1.0.1":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.0.1","keywords":["opencode","plugin","gitlab","duo"],"author":{"name":"Vladimir Glafirov"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.0.1","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"64cfd908a3484cfc63a69277aa79908cbd8c806f","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.0.1.tgz","fileCount":6,"integrity":"sha512-OS2onyf7rz3Cp8p9KWdTb5+Vfrz6OUlwyJNhEJyFhqATQJxUsiAcsfWbchoBPbjRMheXjMDc3hNkFIrPenkm4w==","signatures":[{"sig":"MEYCIQC/rhybvT5G+pRiRYQGtWmb9FMEG0topQ75farNNUysHwIhAKt+0y3tzfoWrIuQSPWVGxevE793Vyo9zjk+wIFNPaSs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220381},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"abb6c04f3565191040cbd356a8b8f2e058d0301f","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.0.1_1767798401510_0.6342552523975757","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.0.4","keywords":["opencode","plugin","gitlab","duo"],"author":{"name":"Vladimir Glafirov"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.0.4","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"9bf1ebf9b9a80914b0f790bbf89ed84621426a2d","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.0.4.tgz","fileCount":7,"integrity":"sha512-vyAb5rNsT5/XImerxpZZSq6AVeHhfxSs8o59fJxSWxa1NvGiQtknlenICOeCySyJRvBD5Bjkng0omBTFOUROlw==","signatures":[{"sig":"MEUCIHy92cRGZzpSy35y2xywESzU/aVJ+yvbFsPHoFHxKk2bAiEA+zMS5g1COit1GuQP6DSRUftbGjen6QCqXI0fwu9SZtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262437},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2ed68ef6080be5d2955b93bff9d43c3b74589bb2","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.0.4_1767800908103_0.5422427944395698","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.0.5","keywords":["opencode","plugin","gitlab","duo"],"author":{"name":"Vladimir Glafirov"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.0.5","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"de5a55991cc94235b670d09bac60c62db6728ee9","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.0.5.tgz","fileCount":8,"integrity":"sha512-qhqOzltdduRJ9yJdTmrGUT+L1w9MMkomkZbTNUnSOlCUK9SZ253c1eKnjBodzJzwh/uIcbn58MW4OqDBAjOejA==","signatures":[{"sig":"MEYCIQDBGQiFHr8Elw7sy4fpufojyvqTsgRyfFdOSmUieaEOsQIhAIroGkLRaPba5Up4Wm0nAGcGCAw49xbA+sW5opTNm9Ak","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263935},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"46a2a5302330b24e5b7506bdfc70fe0141ce16ed","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.0.5_1767801832542_0.609588213667382","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.0.6","keywords":["opencode","plugin","gitlab","duo"],"author":{"name":"Vladimir Glafirov"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.0.6","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"f6ee0ebf7baa2a2016d6c6d75be740345f179487","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.0.6.tgz","fileCount":8,"integrity":"sha512-M3gcGUryCG3sbhge8EJXsNxSO/AMEOt0TnoAu33QzaCIVlu+lojWn8T8X6UVzEVizoGRv/OwN66mOU7NAgT1sw==","signatures":[{"sig":"MEYCIQDjzoBQ2AROlMjNB+JBviaosx2diafb01FD4FVHLrrE6gIhAN35kRhkruiY7stzoKMixmpXVIq9vixp6r+kO6LZheel","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273955},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b1dd47c07c91cbac9a0ec6df7dba8ba63e39f359","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.0.6_1767802988205_0.8063790006759821","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.1.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.1.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"e4c925dd78add51a2175747fb125033c34ab1cb4","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.1.0.tgz","fileCount":8,"integrity":"sha512-seEAtmE3xLhXgb+6+EPk2Jn4e4BWWXAMUD1EIXlJhSVXXXkibxmEG0hBbq1W97WZAis0PUJl5D2X912xXaBTdg==","signatures":[{"sig":"MEYCIQCyuAd4ReO6wwYVOb/FeLExaAsu0GWMUNHFSdkoRu86eAIhAOsbx26RHxBVaYzRmq+LAVRmJOr4Q93TrQWFAUqNAW6E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274833},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9d0b635b3bcd99f884e28985c72cdb9f0a796d75","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.1.0_1768296058155_0.592281274622519","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.2.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.2.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"968156c61ee1ecd224f3bbf63bc3f719f3ecdc94","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.2.0.tgz","fileCount":8,"integrity":"sha512-gNt+GnPqW3/zo51qDgH2zSYWQTO0pdNaR8NENP8PW502fJmD+O3/5KJ0a1hLYLV1b4VWVjPha2riUd+b4oyrqw==","signatures":[{"sig":"MEUCIQDiYpyjjp06FZJG2dFpggzAdnyljrPRDQaVigH6w0WbfgIgG+AekCiZJ8WL46yARq3V3B3d2BSa11b7xd9DvjW+ZNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278472},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cd94d5e892a1d552efcfcacfade74a28840414de","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.2.0_1769693037912_0.5867067180507288","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.3.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.3.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"f75a582fd5bb1e585128a75d3ea0f0e7f9a48ef6","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.3.0.tgz","fileCount":8,"integrity":"sha512-64Ck3eVDJIMcoITOHfCQIZ9mzo5/t+CJ+AjctIxOHPte5nChBnUPz8CZ9XuMqfqzf97X/A48mwfKGzbuT5hXhw==","signatures":[{"sig":"MEQCIHd8qPL1lYHjbMfLs/DEHKbYF7j05unn1tDeTtXOONuUAiB+NpWdHyK/vvsHOFM11UOKEKyEPfS6WVP0/Xh6/c2lSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"db8fcc144dda1c74fbb5d7c0507b98d0cd0508d9","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.3.0_1769781549527_0.1351007131186448","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.4.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.4.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"1988d5ffbaa7c02f7987ce3a70758e4025827fe2","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.4.0.tgz","fileCount":8,"integrity":"sha512-NzPrmakzTKzaZI/ADTqBaxapeyNP1sBTgMAAQaSaVfg1WsNPDFSUIJMoVXXEXe6/R65kXYGu7At/UUF6nTbk9A==","signatures":[{"sig":"MEQCID/vubMeRwEQAECvR59OdIDmOW5CR+Kg/sw3aIY0IwnUAiATHn20ExacwRwTZgRaqNfo86Tk0EOW7UjyqEEM2J2HwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294640},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"410053020d061bdd03d720a7f2bcdac4cfd387b8","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.4.0_1770042232075_0.884378974525958","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"6207ebeec0ab6fd6e7dfc1a80e5acf57c4ae47b4","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.0.tgz","fileCount":8,"integrity":"sha512-UJxp/5h1pC/eE1bmwDCckfDFaBbsTKUi8ZyZpWgmtwe8C5Teba6tWOD2bRNNL4kBWeVWUKacrQsYluSlcChcAg==","signatures":[{"sig":"MEUCIDvgVywDNHLJPrx6PyMN2Y2oreEgVXcTL+HFbXCrxs8wAiEA16+EixRzGNrQpv35htJRilLDyqs0OGuadKLxxu6H2O8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302553},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1fa027e838c7f4e64ea2181b92a4dce554136872","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.0_1770043837311_0.964094133082104","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.1","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.1","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"a35911be26ddc36e04e5dd6090b9eabdd2902610","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.1.tgz","fileCount":8,"integrity":"sha512-Q2//Aap57iimeziQ/VuNGnZa7Gfg/lq3ciA1xZWFY9oQTcYS/6Jwgeh/ZuQdQB/W8UTpYgHQlocZ8MFEs0qggQ==","signatures":[{"sig":"MEQCICt0K1nOw0qDqBwr1Jg2pxd1cna4DxcuDbmS2jkFZCm0AiA5jfhcQ2jHlkJqX5JTarmJXAAloDoxUxKiY7WOnPx/RA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301543},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8e2ab2ab7cd75200dad212f0f9f29cc1c0b41c3f","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.1_1770051044776_0.19708527698302647","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.2","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.2","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"275207df230dbb43e36e5381dce114e239057c1c","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.2.tgz","fileCount":8,"integrity":"sha512-BH/qoY1+QZWueGHv7a1ALV2XnSo7270yemFL9g6D8KlLpNSSXk2VhwNPa0FADHYwfNgFGoEzOIwUS4YMsN6gvA==","signatures":[{"sig":"MEQCIGoQESC3V9qcJd8DQUhlAZNquJjjtkBrD/VWi3MOLHK0AiA5j8wjnjAEk5Fa2nHHbBBb7YGjxy7EHsjLMrdMIgq1BA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301289},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"41d6ffa3a68247df7510887136c607c7e5825f2e","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.2_1770053178411_0.6250205828666158","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.3","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.3","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"bd72b7d082f109e97ee37f58d15742df113d5671","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.3.tgz","fileCount":8,"integrity":"sha512-ZYonsQFAxH8pk3lZM4wI7k7vhZIYJWAx+ZfU8Uo9eruUqnPw8J2ARR4egNoG87bfAoDKyWSjLwI0FteCAiMAvg==","signatures":[{"sig":"MEUCIQDP2VutAg6NZiwkungpFbLsMYsUlxFolhBK7j6HDUqoIAIgK74o1Ryu0sceuTwN/9dKwMzPgad9IUfQDjY9Oml40Yk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285760},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6eb8be8a16a0d286c37f262c21d10a82912d3527","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.3_1770119954866_0.8773478683693701","host":"s3://npm-registry-packages-npm-production"}},"1.5.4":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.4","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.4","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"f915875745d25c57888aa836cb0e338dfe808e79","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.4.tgz","fileCount":8,"integrity":"sha512-EA3pOskkO2Xej0u8tQH3bi3haIStBx/V03wUfIfQ+GGPhiLySnhDIx5qnDH9jKcSPuH075lisJtlqkrNAJveKw==","signatures":[{"sig":"MEQCIDw8EqQ0JkjBgmU1Io5dzYmVawzw8ZLoW25PaBPTts+1AiBd+4iUyMWe/P1SAk+hujrNHOCNvZta4m1s4IKgpUqbDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283631},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8b6855f1ffb32aaa67b1108067bdcd288c481252","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.4_1770129361817_0.4427007548514119","host":"s3://npm-registry-packages-npm-production"}},"1.5.5":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.5","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.5","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"30b6a36a8581f643288a11eaf9b8e6b46b79d30c","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.5.tgz","fileCount":8,"integrity":"sha512-IUQa2gEjrWI4LWFDFXvAefr9/emQc/QT7zCp+uU7YV01RCwJ/+8gxJtf6JLvYY16MY9O86HeEmRNbnOUPRocCA==","signatures":[{"sig":"MEQCIBk2rs0FAdUKOvMkk7HTGQkXQWDjNtb8wRWCVK+KegNnAiAGYfI3Z0kjh4g9UjM3K62Ca7W8rWzrPfsSj61tnUEn9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286144},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"01f09581406e9eea75bae8c3355d2d0a6b68eaaa","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.5_1770133146362_0.2723407218821512","host":"s3://npm-registry-packages-npm-production"}},"1.5.6":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.6","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.6","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"77fae0853ec1ad892e7164b990a74b5e22e803c5","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.6.tgz","fileCount":8,"integrity":"sha512-SsOjaV1sM9iu+Gmzd943w0ugGleSycnD+qELmk41lPQOnPY/3Bcu+hsIRBDG2x1zXDtCW0AIRBgljILJXxe4jg==","signatures":[{"sig":"MEUCIEHvQqva9FOmD+KjwSoC2imSwZjOm9hfEXuC/BMo+f2VAiEAk60fJSiYuzo1uyFIdvGFOR8rMbLLhBLtaZ1nz6BlE5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281318},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"17f55662785c2bc61b27a9ec1d7608f5739f43dd","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.6_1770141299214_0.4523137501089629","host":"s3://npm-registry-packages-npm-production"}},"1.5.7":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.7","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.7","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"1821ca1e98f1d5ddcb21727ed7e46b076e80ada2","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.7.tgz","fileCount":8,"integrity":"sha512-FrtyfcLEs1QM3mZmlWw58T7ZsXxys1po4/qjkgjlGXmzyptcUF1hcddXtAe1W8pW8wiZjYpcV0GA9UyyDt9qgw==","signatures":[{"sig":"MEQCID7lSuKFPpv9uI2NpDcfa88a+2sponu5othbRx1+xT+LAiB2qIbk9MQv20calWcYolhxrD+ggfCzTjqC533cLuneCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":282168},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"44d1dda59989234c76e5e2a3fa05f890ab7fd1a5","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.7_1770147986451_0.9231870518670486","host":"s3://npm-registry-packages-npm-production"}},"1.5.8":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.8","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.8","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"ff28b800fa787008d1fc484c0fec69ce284b4d23","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.8.tgz","fileCount":8,"integrity":"sha512-+tX17iCNLq7Nm5U2DjFzu6p9y5swSG5AaT0uhGIyLcO8nOk2XYAHIsACaESITPHkD8p3g9mCx1EXGIkPdxdpOA==","signatures":[{"sig":"MEYCIQCbNDgXNrE3Bds7TA/EPJawedhOHA6oomeQXMjuVeLuoQIhAJOyDO71hmTYVPQFcmNTxe273IBAz/EiP6MJYl8QpkHM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":282414},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f5d7f264ad8702623926995d90dd8ba9a24d0cde","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.8_1770148718318_0.4034217816306871","host":"s3://npm-registry-packages-npm-production"}},"1.5.9":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.5.9","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.5.9","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"fb29485316a7f4710f52119b85f41d6d6d7ebd88","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.5.9.tgz","fileCount":8,"integrity":"sha512-+r4JGg+zKfEZHMN+i7XEepc1Dwqo+7mT1KvzD7517XTD83l4j3kQrmYovk5f+zIjksN4VzVwkV4mvcAkzGrZCg==","signatures":[{"sig":"MEYCIQDyJRW5xMc7CA0JyteJ/GqD7ksR4rYFwURUNQCavA2PEwIhALw5JIELZ+CPIx96AkinL1p+7pQVy1605lCe0o4aClZq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":282803},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ea65540794ea6cdf39afceb184e61b4d4052f1e3","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.5.9_1770149515594_0.03057883512822901","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.6.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.6.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"aeca1765c718d4bf1b6838751c06fe1ac30c98cb","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.6.0.tgz","fileCount":8,"integrity":"sha512-po2ReegLAWrzVUG1619gIO9Ehz8DgHcWat8sWqRMkU2geWe1c/XcUPffaY2k30u6a+UFnL88MaBtHHwOarcEmg==","signatures":[{"sig":"MEYCIQCXbL8V9XzKTkCGnDzZ6DkYc9bdXJesyvRfJS6Pjm9SMQIhAKk6hLO8ALO/gPhQo1igEQPt7+Ucl39w4cFJdB8N6J86","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284271},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"32bee6d61547da402da5d9cc97e54b5776fa782c","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.6.0_1770206302736_0.1927190349786707","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.6.1","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.6.1","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"cf852fa8009c751c5a4f6e14011375aa5322aea0","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.6.1.tgz","fileCount":8,"integrity":"sha512-GI3m0/d+wO5VYwcgBsjtre0hK4oXnyAKVSqPV82tkNI4nI1cx8RU3g6enUwTLTL1M4w07YyTVuKY8q0MlyMtjA==","signatures":[{"sig":"MEUCIGfSfQOkNnEanQs8DHMZQ0Y97xg4UtxtjuvdJXRhTASRAiEAl2ycziEFds/4b2Gm05UIerYDlq1fzq0i2s8xbjpZ+5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284720},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7db6bf2e222a28edf576e823575c7799d17fae9b","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.6.1_1770208253944_0.9689126935186394","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.6.2","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.6.2","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"8c24356e3ea54e678198b732ba4032d4fe92e234","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.6.2.tgz","fileCount":8,"integrity":"sha512-UQMF4Hb90pYvO7bojesg5Zd7DC1gQ46+hpiUANmRZ6MEDMkNM353xK85XgZ0ovH02fQQlnBNlL70OvGD1uyOVQ==","signatures":[{"sig":"MEQCIB5vBjN9u008i4jt6/iTi1KUKtl+UiO0F65KY2yy8m8AAiBZcUIhyGRYUACWNDh6nUH0I9/WYaOVigjgRXf9rXbo+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285935},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"59defec6c1c1d1536ea659a536b2bde3e89c95c5","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.6.2_1770209346184_0.25989630005889564","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.7.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.7.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"af6784f71be4550c3499174ddc47c91bc2e4121b","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.7.0.tgz","fileCount":8,"integrity":"sha512-WTCwgDqLtfeQOLqlIcwH3zuoLgkOFd1gkuxKEDClEOwEiF0GvyS4HG6I5WYqIks+vG+XDTMmYce1yox4T76gEw==","signatures":[{"sig":"MEQCIHaKgWrVxGqC+31qVXB/XDG7W0u+BgKeigeHR61qgEOtAiAs2JWUkZ57IQbTfN6XlSRxrDfOIaLv2Sv2IEpncjyuZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299420},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"35eebc727cbe2c2c08e326efa7d5c8a50ba7627c","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.7.0_1771918336179_0.9700503341652176","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.7.1","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.7.1","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"50c698f7539d7fcd6e896a5c60b5362555aaf1e4","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.7.1.tgz","fileCount":8,"integrity":"sha512-ZauEVLdhOUuq3Qx4LpbkGfrcY5VJ9FP/B2WUroZ1YQKcU1aJ90gULttbVNRq7GYUN52bsuh6X0r+V3gH5KnOaA==","signatures":[{"sig":"MEQCIC5YENv9VYiF821h7uXC2FeShMYMtHA2iaNuQUpB4d3vAiBu5xCmPTJk+QplkPFYklCdbqaiSnGS6mCVoToan8EprA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300169},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4e94c2f84cc2a4ad92cb94ec8113dc6de97b2c63","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.7.1_1771918708722_0.9550183399949506","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.8.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.8.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"714d4d04beafc3fb47a261d81b64410e9676f460","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.8.0.tgz","fileCount":8,"integrity":"sha512-TdoJNahHzNpNBk6ZEslmTA7WsATW20Vo5HNApubKD49xZoi9O9FX+ZBrXTMR4DQyMjdrTcDktEtujRcgzZMKqQ==","signatures":[{"sig":"MEYCIQCsXUva9VvWLeRaJ6Xj/ybcS6mv0SQBV3WbRgkbeYhfjgIhAM9Iro1hcsrgq25ymZZu6lovaTlCAMCr/kz/jkHrAlh3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303697},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dfb255ad792ccebb731266269c7af0d12850378a","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.8.0_1772059985298_0.5115661065253074","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@gitlab/opencode-gitlab-plugin","version":"1.9.0","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","_id":"@gitlab/opencode-gitlab-plugin@1.9.0","maintainers":[{"name":"rob.hunt-gitlab","email":"rhunt@gitlab.com"},{"name":"gitlab-administration","email":"frontend-administration@gitlab.com"},{"name":"tzallmann","email":"tzallmann@gitlab.com"},{"name":"gitlab-bot","email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com"},{"name":"apanchal-gitlab","email":"apanchal@gitlab.com"},{"name":"jhope-gitlab","email":"jhope@gitlab.com"}],"homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"dist":{"shasum":"01734084806fd8cb9548ac28c0a3a75d1975000d","tarball":"https://registry.npmjs.org/@gitlab/opencode-gitlab-plugin/-/opencode-gitlab-plugin-1.9.0.tgz","fileCount":8,"integrity":"sha512-kXApkrsnP2rMvi2wk4BqV10DGH6QDB0iCn1DP2yJ5tJ249gdtJT9m5vaMLrRJM81RdUDSQJUAY9Eq4VxCjc4CQ==","signatures":[{"sig":"MEYCIQCwn3Ihma0xQuqEe/BIdR5tF1mhovoxalWxMKXdp+5+qQIhAJ1aoA+Mauf0OwvixSa6qntqu5UOweIFJKvQkWSktt7B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306634},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"04ae1d3ff8e46d0c2bb4031b88b80022ac1e5a63","scripts":{"dev":"tsup src/index.ts --format esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","format":"prettier --write \"src/**/*.ts\"","prepare":"husky install","test:ui":"vitest --ui","lint:fix":"eslint src --ext .ts --fix","test:watch":"vitest","type-check":"tsc --noEmit","lint-staged":"lint-staged","postinstall":"node scripts/postinstall.mjs","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:8bc1e99d-a8f8-4e9b-aeaa-f10bae4d6b15"}},"deprecated":"This package has moved to 'opencode-gitlab-plugin'. Please run: npm install opencode-gitlab-plugin","repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"4.1.8","@opencode-ai/plugin":"^1.0.127"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","husky":"^8.0.3","eslint":"^8.56.0","vitest":"^4.0.15","prettier":"^3.1.1","@vitest/ui":"^4.0.15","typescript":"^5.0.0","@types/node":"^25.0.0","lint-staged":"^15.2.0","@commitlint/cli":"^18.4.3","semantic-release":"^22.0.12","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.2","eslint-config-prettier":"^9.1.0","@semantic-release/gitlab":"^13.0.3","@typescript-eslint/parser":"^6.15.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^18.4.3","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-gitlab-plugin_1.9.0_1772460380348_0.8291463100342851","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-07T15:06:41.383Z","modified":"2026-03-23T17:32:07.140Z","1.0.1":"2026-01-07T15:06:41.656Z","1.0.4":"2026-01-07T15:48:28.264Z","1.0.5":"2026-01-07T16:03:52.725Z","1.0.6":"2026-01-07T16:23:08.405Z","1.1.0":"2026-01-13T09:20:58.326Z","1.2.0":"2026-01-29T13:23:58.059Z","1.3.0":"2026-01-30T13:59:09.672Z","1.4.0":"2026-02-02T14:23:52.219Z","1.5.0":"2026-02-02T14:50:37.490Z","1.5.1":"2026-02-02T16:50:44.934Z","1.5.2":"2026-02-02T17:26:18.578Z","1.5.3":"2026-02-03T11:59:15.017Z","1.5.4":"2026-02-03T14:36:01.965Z","1.5.5":"2026-02-03T15:39:06.517Z","1.5.6":"2026-02-03T17:54:59.396Z","1.5.7":"2026-02-03T19:46:26.599Z","1.5.8":"2026-02-03T19:58:38.482Z","1.5.9":"2026-02-03T20:11:55.727Z","1.6.0":"2026-02-04T11:58:22.927Z","1.6.1":"2026-02-04T12:30:54.085Z","1.6.2":"2026-02-04T12:49:06.344Z","1.7.0":"2026-02-24T07:32:16.391Z","1.7.1":"2026-02-24T07:38:28.888Z","1.8.0":"2026-02-25T22:53:05.477Z","1.9.0":"2026-03-02T14:06:20.511Z"},"bugs":{"url":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues"},"author":{"url":"https://gitlab.com/vglafirov","name":"Vladimir Glafirov","email":"vglafirov@gitlab.com"},"license":"MIT","homepage":"https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin#readme","keywords":["opencode","opencode-plugin","gitlab","gitlab-api","gitlab-duo","ai","ai-assistant","developer-tools","devops","ci-cd","merge-requests","issues","pipelines","code-review","rest-api","graphql","typescript","automation","workflow"],"repository":{"url":"git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git","type":"git"},"description":"GitLab tools plugin for OpenCode - provides GitLab API access for merge requests, issues, pipelines, and more","maintainers":[{"email":"rhunt@gitlab.com","name":"rob.hunt-gitlab"},{"email":"frontend-administration@gitlab.com","name":"gitlab-administration"},{"email":"tzallmann@gitlab.com","name":"tzallmann"},{"email":"incoming+gitlab-com/npm-bot@incoming.gitlab.com","name":"gitlab-bot"},{"email":"apanchal@gitlab.com","name":"apanchal-gitlab"},{"email":"jhope@gitlab.com","name":"jhope-gitlab"},{"email":"drossetti@gitlab.com","name":"drosse-gitlab"}],"readme":"# OpenCode GitLab Plugin\n\n[![GitLab CI](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/badges/main/pipeline.svg)](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/pipelines)\n[![npm version](https://img.shields.io/npm/v/@gitlab/opencode-gitlab-plugin.svg)](https://www.npmjs.com/package/@gitlab/opencode-gitlab-plugin)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA comprehensive GitLab API plugin for OpenCode that provides AI-powered access to GitLab's REST and GraphQL APIs. This plugin enables seamless interaction with merge requests, issues, pipelines, repositories, epics, snippets, audit events, and more through natural language commands.\n\n## 📋 Table of Contents\n\n- [Features](#-features)\n- [Architecture](#-architecture)\n- [Installation](#-installation)\n- [Configuration](#-configuration)\n- [Available Tools](#-available-tools)\n- [Usage Examples](#-usage-examples)\n- [Development](#-development)\n- [CI/CD Pipeline](#-cicd-pipeline)\n- [API Reference](#-api-reference)\n- [Contributing](#-contributing)\n- [License](#-license)\n\n## ✨ Features\n\n### Core Capabilities\n\n- **🔀 Merge Requests**: Full CRUD operations, discussions, notes, changes, commits, and pipelines\n- **📝 Issues**: Create, read, update, and comment on issues with advanced filtering\n- **🎯 Work Items**: Unified interface for issues, epics, tasks, and other work tracking items\n- **🚀 CI/CD Pipelines**: Monitor, analyze, retry pipeline jobs, and validate CI/CD configurations\n- **📦 Repository Operations**: File management, commits, branches, tree navigation, and commit discussions\n- **🔍 Advanced Search**: Multi-scope search across projects, code, issues, merge requests, commits, users, milestones, and documentation\n- **📊 Epics**: Enterprise-level epic management with issue associations\n- **💬 Snippets**: Snippet discussions, notes, and comments management\n- **🔗 Universal Discussions**: Unified interface for discussions across all GitLab resources\n- **✅ TODOs**: Personal task management and notifications\n- **🔒 Security**: Vulnerability scanning and security report access\n- **📚 Wiki**: Wiki page content retrieval\n- **🔍 Audit Events**: Track project, group, and instance-level security events\n- **🔧 Git Commands**: Execute safe, read-only git operations\n- **👥 Project Management**: Member management and project details\n\n### Technical Features\n\n- **TypeScript**: Full type safety with comprehensive type definitions\n- **ESM Support**: Modern ES modules for optimal tree-shaking\n- **Zod Validation**: Runtime schema validation for all API inputs\n- **GraphQL Support**: Native GraphQL API support with type-safe mutations and queries for TODOs, Notes, Discussions, Auto-merge, and Security tools\n- **Cursor-Based Pagination**: GraphQL-powered pagination with `first`/`after` and `last`/`before` cursors for efficient data fetching\n- **GID Validation**: Automatic validation of GitLab Global IDs with descriptive error messages\n- **Error Handling**: Robust error handling with detailed error messages\n- **Authentication**: Multiple authentication methods (OAuth, API tokens)\n- **Rate Limiting**: Built-in handling for GitLab API rate limits\n- **Caching**: Efficient API response handling\n- **Modular Architecture**: Clean separation of concerns with client and tool modules\n- **Comprehensive Testing**: 180 tests with full coverage of all features\n\n### GraphQL-Powered Tools\n\nThe following tools use GitLab's GraphQL API for enhanced functionality:\n\n| Category        | Tools                                                                                                       | Benefits                                                                                 |\n| --------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |\n| **TODOs**       | `gitlab_list_todos`, `gitlab_get_todo_count`                                                                | Cursor-based pagination, rich filtering                                                  |\n| **Notes**       | `gitlab_list_notes`, `gitlab_get_note`, `gitlab_create_note`                                                | Unified interface for all resource types, efficient pagination                           |\n| **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 |\n| **Auto-merge**  | `gitlab_set_mr_auto_merge`                                                                                  | MWPS (Merge When Pipeline Succeeds), merge train support                                 |\n| **Security**    | All vulnerability management tools                                                                          | Type-safe GID validation, mutation support                                               |\n\n## 🏗️ Architecture\n\n### System Architecture\n\n```mermaid\ngraph TB\n    subgraph \"OpenCode Environment\"\n        AI[AI Assistant]\n        Plugin[GitLab Plugin]\n    end\n\n    subgraph \"Plugin Components\"\n        Tools[Tool Definitions]\n        Client[GitLab API Client]\n        Auth[Authentication Manager]\n        Validator[Zod Schema Validator]\n    end\n\n    subgraph \"GitLab API\"\n        REST[REST API v4]\n        GraphQL[GraphQL API]\n        MR[Merge Requests]\n        Issues[Issues]\n        Pipelines[Pipelines]\n        Repos[Repositories]\n        Epics[Epics]\n        Security[Security]\n    end\n\n    AI -->|Natural Language| Plugin\n    Plugin --> Tools\n    Tools --> Validator\n    Validator --> Client\n    Client --> Auth\n    Auth --> REST\n    Auth --> GraphQL\n    REST --> MR\n    REST --> Issues\n    REST --> Pipelines\n    REST --> Repos\n    REST --> Epics\n    GraphQL --> Security\n    GraphQL --> MR\n```\n\n### Plugin Structure\n\n```mermaid\ngraph LR\n    subgraph \"src/index.ts\"\n        A[GitLabApiClient Class]\n        B[Authentication Functions]\n        C[Tool Definitions]\n        D[Plugin Export]\n    end\n\n    A --> A1[HTTP Methods]\n    A --> A2[Merge Request APIs]\n    A --> A3[Issue APIs]\n    A --> A4[Pipeline APIs]\n    A --> A5[Repository APIs]\n    A --> A6[Epic APIs]\n    A --> A7[Search APIs]\n\n    B --> B1[readTokenFromAuthStorage]\n    B --> B2[getGitLabClient]\n\n    C --> C1[69 Tool Definitions]\n\n    D --> A\n    D --> B\n    D --> C\n```\n\n### Authentication Flow\n\n```mermaid\nsequenceDiagram\n    participant User\n    participant Plugin\n    participant AuthManager\n    participant Storage\n    participant GitLab\n\n    User->>Plugin: Initialize Plugin\n    Plugin->>AuthManager: getGitLabClient()\n    AuthManager->>AuthManager: Check GITLAB_TOKEN env\n    alt Token in Environment\n        AuthManager->>GitLab: Use env token\n    else No env token\n        AuthManager->>Storage: Read ~/.local/share/opencode/auth.json\n        Storage->>AuthManager: Return token\n        AuthManager->>GitLab: Use stored token\n    end\n    GitLab->>Plugin: API Response\n    Plugin->>User: Tool Result\n```\n\n## 📦 Installation\n\n### Prerequisites\n\n- Node.js >= 18.0.0\n- npm >= 9.0.0 or Bun\n- GitLab account with API access\n- GitLab Personal Access Token or OAuth token\n\n### Install from npm\n\n```bash\n# Install the package\nnpm install @gitlab/opencode-gitlab-plugin\n\n# Or with Bun\nbun add @gitlab/opencode-gitlab-plugin\n\n# Or with yarn\nyarn add @gitlab/opencode-gitlab-plugin\n```\n\n### Install from GitLab Repository (Development)\n\n```bash\n# Using npm\nnpm install git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git\n\n# Using Bun\nbun add git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git\n```\n\n### Install Specific Version\n\n```bash\n# Install specific version from npm\nnpm install @gitlab/opencode-gitlab-plugin@1.0.0\n\n# Install from specific git tag\nnpm install git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git#v1.0.0\n\n# Install from specific branch\nnpm install git+https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git#main\n```\n\n### Using package.json\n\nAdd to your `package.json`:\n\n```json\n{\n  \"dependencies\": {\n    \"@gitlab/opencode-gitlab-plugin\": \"^1.0.0\"\n  }\n}\n```\n\nThen run:\n\n```bash\nnpm install\n```\n\n## ⚙️ Configuration\n\n### Environment Variables\n\n```bash\n# Required: GitLab API Token\nexport GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx\n\n# Optional: Custom GitLab Instance (defaults to https://gitlab.com)\nexport GITLAB_INSTANCE_URL=https://gitlab.example.com\n```\n\n### OpenCode Configuration\n\nAdd the following plugin to your opencode configuration `~/.config/opencode/opencode.json`:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugin\": [\"@gitlab/opencode-gitlab-plugin\"]\n}\n```\n\n### Authentication Storage\n\nThe plugin supports reading tokens from OpenCode's auth storage:\n\n**Location**: `~/.local/share/opencode/auth.json`\n\n**Format**:\n\n```json\n{\n  \"gitlab\": {\n    \"type\": \"oauth\",\n    \"access\": \"your-oauth-token\"\n  }\n}\n```\n\nOr for API tokens:\n\n```json\n{\n  \"gitlab\": {\n    \"type\": \"api\",\n    \"key\": \"glpat-xxxxxxxxxxxxxxxxxxxx\"\n  }\n}\n```\n\n### Token Priority\n\n1. `GITLAB_TOKEN` environment variable (highest priority)\n2. OpenCode auth storage (`~/.local/share/opencode/auth.json`)\n3. Error if no token found\n\n## 🛠️ Available Tools\n\nThe plugin provides **64 tools** organized into the following categories:\n\n### Merge Request Tools (8 tools)\n\n| Tool                              | Description                                                                                                                  |\n| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| `gitlab_get_merge_request`        | Get details of a specific merge request with title, description, state, author, assignees, reviewers, labels, and diff stats |\n| `gitlab_list_merge_requests`      | List merge requests with filtering by state, scope, and labels                                                               |\n| `gitlab_create_merge_request`     | Create a new merge request                                                                                                   |\n| `gitlab_update_merge_request`     | Update merge request title, description, state, assignees, reviewers, and labels                                             |\n| `gitlab_get_mr_changes`           | Get file changes/diffs for a merge request                                                                                   |\n| `gitlab_get_mr_details`           | Get additional MR details (commits or pipelines) with detail_type parameter                                                  |\n| `gitlab_list_merge_request_diffs` | List file diffs with pagination support for large changesets                                                                 |\n| `gitlab_set_mr_auto_merge`        | Enable auto-merge (MWPS) using GraphQL API when pipeline succeeds                                                            |\n\n### Issue Tools (3 tools)\n\n| Tool                  | Description                                                                  |\n| --------------------- | ---------------------------------------------------------------------------- |\n| `gitlab_create_issue` | Create a new issue with title, description, labels, assignees, and milestone |\n| `gitlab_get_issue`    | Get issue details including state, author, assignees, labels, and comments   |\n| `gitlab_list_issues`  | List issues with filtering by state, labels, assignee, and milestone         |\n\n### Epic Tools (5 tools)\n\n| Tool                        | Description                                                                   |\n| --------------------------- | ----------------------------------------------------------------------------- |\n| `gitlab_get_epic`           | Get epic details with title, description, state, dates, and associated issues |\n| `gitlab_list_epics`         | List epics with filtering by state, author, and labels                        |\n| `gitlab_create_epic`        | Create a new epic in a group                                                  |\n| `gitlab_update_epic`        | Update epic title, description, labels, dates, and state                      |\n| `gitlab_manage_epic_issues` | Manage issues linked to an epic (list, add, remove) with action parameter     |\n\n### Pipeline Tools (7 tools)\n\n| Tool                               | Description                                                                     |\n| ---------------------------------- | ------------------------------------------------------------------------------- |\n| `gitlab_list_pipelines`            | List pipelines with filtering by status, ref, and username                      |\n| `gitlab_get_pipeline`              | Get pipeline details with jobs and status                                       |\n| `gitlab_list_pipeline_jobs`        | List all jobs in a pipeline with optional scope filtering                       |\n| `gitlab_get_job_log`               | Get the log output of a specific CI job                                         |\n| `gitlab_retry_job`                 | Retry a failed or canceled job                                                  |\n| `gitlab_get_pipeline_failing_jobs` | Get only failed jobs for easier debugging                                       |\n| `gitlab_lint_ci_config`            | Validate CI/CD YAML config with mode parameter (content or existing repository) |\n\n### Repository Tools (7 tools)\n\n| Tool                          | Description                                            |\n| ----------------------------- | ------------------------------------------------------ |\n| `gitlab_get_file`             | Get file contents from any branch, tag, or commit      |\n| `gitlab_get_commit`           | Get commit details with metadata, author, and stats    |\n| `gitlab_list_commits`         | List commits with filtering by branch, path, and dates |\n| `gitlab_get_commit_diff`      | Get diff for a specific commit                         |\n| `gitlab_list_repository_tree` | List files and directories at a given path             |\n| `gitlab_list_branches`        | List all branches in a repository                      |\n| `gitlab_get_commit_comments`  | Get all commit comments in flat structure              |\n\n### Search Tools (2 tools)\n\n| Tool                          | Description                                                                                                                                                                     |\n| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `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) |\n| `gitlab_documentation_search` | Search GitLab official documentation at docs.gitlab.com                                                                                                                         |\n\n### Work Item Tools (6 tools)\n\n| Tool                           | Description                                              |\n| ------------------------------ | -------------------------------------------------------- |\n| `gitlab_get_work_item`         | Get a work item (unified model for issues, epics, tasks) |\n| `gitlab_list_work_items`       | List work items in a project or group                    |\n| `gitlab_get_work_item_notes`   | Get all comments for a work item                         |\n| `gitlab_create_work_item`      | Create a new work item                                   |\n| `gitlab_update_work_item`      | Update work item title, description, state, and labels   |\n| `gitlab_create_work_item_note` | Add a comment to a work item                             |\n\n### Security Tools (8 tools)\n\n| Tool                                      | Description                                                               |\n| ----------------------------------------- | ------------------------------------------------------------------------- |\n| `gitlab_list_vulnerabilities`             | List security vulnerabilities with filtering by state, severity, and type |\n| `gitlab_get_vulnerability_details`        | Get detailed vulnerability information with remediation                   |\n| `gitlab_create_vulnerability_issue`       | Create an issue linked to vulnerabilities (GraphQL)                       |\n| `gitlab_dismiss_vulnerability`            | Dismiss vulnerability with reason (GraphQL)                               |\n| `gitlab_confirm_vulnerability`            | Confirm a vulnerability as valid (GraphQL)                                |\n| `gitlab_revert_vulnerability_to_detected` | Revert vulnerability state (GraphQL)                                      |\n| `gitlab_update_vulnerability_severity`    | Update vulnerability severity level (GraphQL)                             |\n| `gitlab_link_vulnerability_to_issue`      | Link vulnerabilities to existing issue (GraphQL)                          |\n\n**Note**: All GraphQL-based security tools include automatic GID (Global ID) format validation.\n\n### TODO Tools (3 tools)\n\n| Tool                    | Description                                            |\n| ----------------------- | ------------------------------------------------------ |\n| `gitlab_list_todos`     | List TODO items with cursor-based pagination (GraphQL) |\n| `gitlab_mark_todo_done` | Mark TODOs as done with action parameter (one or all)  |\n| `gitlab_get_todo_count` | Get count of pending TODOs (GraphQL)                   |\n\n### Project & User Tools (3 tools)\n\n| Tool                          | Description                        |\n| ----------------------------- | ---------------------------------- |\n| `gitlab_get_project`          | Get project details and metadata   |\n| `gitlab_list_project_members` | List all members of a project      |\n| `gitlab_get_current_user`     | Get authenticated user information |\n\n### Discussion Tools (4 tools)\n\n| Tool                        | Description                                                                                                              |\n| --------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| `gitlab_list_discussions`   | List discussions (comment threads) on any GitLab resource (MRs, issues, epics, commits, snippets) with cursor pagination |\n| `gitlab_get_discussion`     | Get a specific discussion thread with all replies from any resource type                                                 |\n| `gitlab_create_discussion`  | Create a new discussion thread OR reply to an existing one (supports code-position comments for MRs and commits)         |\n| `gitlab_resolve_discussion` | Mark a discussion thread as resolved or unresolve it (MRs and issues only)                                               |\n\n### Notes Tools (3 tools)\n\n| Tool                 | Description                                                                                         |\n| -------------------- | --------------------------------------------------------------------------------------------------- |\n| `gitlab_list_notes`  | List all notes/comments on any resource (MRs, issues, epics, snippets) with cursor-based pagination |\n| `gitlab_get_note`    | Get a single note by ID (issues and epics only)                                                     |\n| `gitlab_create_note` | Add a simple comment to any resource (for thread replies, use `gitlab_create_discussion`)           |\n\n### Audit Event Tools (3 tools)\n\n| Tool                                | Description                                              |\n| ----------------------------------- | -------------------------------------------------------- |\n| `gitlab_list_project_audit_events`  | List audit events for a project (requires owner role)    |\n| `gitlab_list_group_audit_events`    | List audit events for a group (requires owner role)      |\n| `gitlab_list_instance_audit_events` | List instance-level audit events (requires admin access) |\n\n### Git Command Tool (1 tool)\n\n| Tool              | Description                                                                                            |\n| ----------------- | ------------------------------------------------------------------------------------------------------ |\n| `run_git_command` | Execute safe, read-only git commands (status, log, show, diff, blame, etc.) with security restrictions |\n\n### Wiki Tools (1 tool)\n\n| Tool                   | Description                        |\n| ---------------------- | ---------------------------------- |\n| `gitlab_get_wiki_page` | Get wiki page content and metadata |\n\n## 💡 Usage Examples\n\n### Example 1: Create and Manage Issues\n\n```javascript\nimport gitlabPlugin from '@gitlab/opencode-gitlab-plugin';\n\nconst plugin = await gitlabPlugin({});\n\n// Create a new issue\nconst issue = await plugin.tool.gitlab_create_issue.execute({\n  project_id: 'my-group/my-project',\n  title: 'Fix authentication bug',\n  description:\n    '## Problem\\n\\nUsers cannot login with OAuth.\\n\\n## Steps to Reproduce\\n1. Go to login page\\n2. Click OAuth button\\n3. Error occurs',\n  labels: 'bug,authentication,priority::high',\n  assignee_ids: [42],\n  milestone_id: 10,\n  due_date: '2025-12-31',\n});\n\nconsole.log(`Issue created: ${issue.web_url}`);\n\n// Add a comment to the issue (using unified notes tool)\nawait plugin.tool.gitlab_create_note.execute({\n  resource_type: 'issue',\n  project_id: 'my-group/my-project',\n  iid: issue.iid,\n  body: 'I will start working on this today.',\n});\n\n// List all issues with specific labels\nconst issues = await plugin.tool.gitlab_list_issues.execute({\n  project_id: 'my-group/my-project',\n  labels: 'bug',\n  state: 'opened',\n});\n```\n\n### Example 2: Review Merge Request\n\n```javascript\n// Get merge request details\nconst mr = await plugin.tool.gitlab_get_merge_request.execute({\n  project_id: 'gitlab-org/gitlab',\n  mr_iid: 12345,\n  include_changes: true,\n});\n\n// Get discussions (unified tool supports all resource types)\nconst discussions = await plugin.tool.gitlab_list_discussions.execute({\n  resource_type: 'merge_request',\n  project_id: 'gitlab-org/gitlab',\n  iid: 12345,\n});\n\n// Add a review comment (creates a new discussion)\nawait plugin.tool.gitlab_create_discussion.execute({\n  resource_type: 'merge_request',\n  project_id: 'gitlab-org/gitlab',\n  iid: 12345,\n  body: 'LGTM! Great work on this feature.',\n});\n\n// Reply to an existing discussion thread\nawait plugin.tool.gitlab_create_discussion.execute({\n  resource_type: 'merge_request',\n  project_id: 'gitlab-org/gitlab',\n  iid: 12345,\n  discussion_id: discussions.discussions.nodes[0].id,\n  body: 'Thanks for addressing the feedback!',\n});\n```\n\n### Example 3: Debug Failed Pipeline\n\n```javascript\n// List recent pipelines\nconst pipelines = await plugin.tool.gitlab_list_pipelines.execute({\n  project_id: 'my-group/my-project',\n  status: 'failed',\n  limit: 5,\n});\n\n// Get failed jobs\nconst failedJobs = await plugin.tool.gitlab_get_pipeline_failing_jobs.execute({\n  project_id: 'my-group/my-project',\n  pipeline_id: pipelines[0].id,\n});\n\n// Get job logs\nfor (const job of failedJobs) {\n  const log = await plugin.tool.gitlab_get_job_log.execute({\n    project_id: 'my-group/my-project',\n    job_id: job.id,\n  });\n  console.log(`Job ${job.name} failed with:\\n${log}`);\n}\n\n// Retry failed jobs\nawait plugin.tool.gitlab_retry_job.execute({\n  project_id: 'my-group/my-project',\n  job_id: failedJobs[0].id,\n});\n```\n\n### Example 4: Create and Manage Epic\n\n```javascript\n// Create an epic\nconst epic = await plugin.tool.gitlab_create_epic.execute({\n  group_id: 'my-group',\n  title: 'Q1 2025 Features',\n  description: 'All features planned for Q1 2025',\n  start_date: '2025-01-01',\n  end_date: '2025-03-31',\n  labels: 'Q1,planning',\n});\n\n// Add issues to epic\nawait plugin.tool.gitlab_add_issue_to_epic.execute({\n  group_id: 'my-group',\n  epic_iid: epic.iid,\n  issue_id: 123,\n});\n\n// List all issues in epic\nconst epicIssues = await plugin.tool.gitlab_list_epic_issues.execute({\n  group_id: 'my-group',\n  epic_iid: epic.iid,\n});\n\n// Add a comment (creates a new discussion)\nawait plugin.tool.gitlab_create_discussion.execute({\n  resource_type: 'epic',\n  group_id: 'my-group',\n  iid: epic.iid,\n  body: 'Epic created and issues linked successfully!',\n});\n```\n\n### Example 5: Search and Analyze Code\n\n```javascript\n// Search for code containing specific patterns\nconst codeResults = await plugin.tool.gitlab_blob_search.execute({\n  search: 'async function processPayment',\n  project_id: 'my-group/my-project',\n  limit: 10,\n});\n\n// Search for related issues\nconst issues = await plugin.tool.gitlab_issue_search.execute({\n  search: 'payment processing bug',\n  project_id: 'my-group/my-project',\n  state: 'opened',\n});\n\n// Get file content\nconst fileContent = await plugin.tool.gitlab_get_file.execute({\n  project_id: 'my-group/my-project',\n  file_path: 'src/payment/processor.ts',\n  ref: 'main',\n});\n```\n\n### Example 6: Manage TODOs (GraphQL with Pagination)\n\n```javascript\n// Get TODO count (uses GraphQL)\nconst todoCount = await plugin.tool.gitlab_get_todo_count.execute({});\n\n// List pending TODOs with cursor-based pagination\nconst firstPage = await plugin.tool.gitlab_list_todos.execute({\n  state: 'pending',\n  type: 'MergeRequest',\n  first: 20,\n});\n\n// Get next page using cursor\nif (firstPage.todos.pageInfo.hasNextPage) {\n  const nextPage = await plugin.tool.gitlab_list_todos.execute({\n    state: 'pending',\n    type: 'MergeRequest',\n    first: 20,\n    after: firstPage.todos.pageInfo.endCursor,\n  });\n}\n\n// Mark specific TODO as done\nawait plugin.tool.gitlab_mark_todo_done.execute({\n  todo_id: firstPage.todos.nodes[0].id,\n});\n\n// Mark all TODOs as done\nawait plugin.tool.gitlab_mark_all_todos_done.execute({});\n```\n\n### Example 7: Create Commit with Multiple Files\n\n```javascript\n// Create a commit with multiple file operations\nconst commit = await plugin.tool.gitlab_create_commit.execute({\n  project_id: 'my-group/my-project',\n  branch: 'feature/new-api',\n  commit_message: 'feat: add new API endpoints',\n  actions: [\n    {\n      action: 'create',\n      file_path: 'src/api/v2/users.ts',\n      content: 'export const getUsers = async () => { ... }',\n    },\n    {\n      action: 'update',\n      file_path: 'src/api/index.ts',\n      content: 'export * from \"./v2/users\";',\n    },\n    {\n      action: 'delete',\n      file_path: 'src/api/deprecated.ts',\n    },\n  ],\n  author_name: 'John Doe',\n  author_email: 'john@example.com',\n});\n```\n\n### Example 8: Enable Auto-Merge (MWPS)\n\n```javascript\n// Get merge request to retrieve current HEAD SHA\nconst mr = await plugin.tool.gitlab_get_merge_request.execute({\n  project_id: 'my-group/my-project',\n  mr_iid: 123,\n});\n\n// Enable auto-merge when pipeline succeeds (GraphQL)\nconst result = await plugin.tool.gitlab_set_mr_auto_merge.execute({\n  project_id: 'my-group/my-project',\n  mr_iid: 123,\n  sha: mr.sha, // Required to prevent race conditions\n  strategy: 'MERGE_WHEN_CHECKS_PASS', // or 'ADD_TO_MERGE_TRAIN_WHEN_CHECKS_PASS'\n});\n\nconsole.log(`Auto-merge enabled: ${result.mergeRequest.autoMergeEnabled}`);\n```\n\n### Example 9: Manage Security Vulnerabilities\n\n```javascript\n// List vulnerabilities in a project\nconst vulnerabilities = await plugin.tool.gitlab_list_vulnerabilities.execute({\n  project_id: 'my-group/my-project',\n  state: 'detected',\n  severity: 'high',\n  report_type: 'sast',\n});\n\n// Create an issue for critical vulnerabilities\nconst issue = await plugin.tool.gitlab_create_vulnerability_issue.execute({\n  project_path: 'my-group/my-project',\n  vulnerability_ids: ['gid://gitlab/Vulnerability/123', 'gid://gitlab/Vulnerability/124'],\n});\n\n// Dismiss a false positive\nawait plugin.tool.gitlab_dismiss_vulnerability.execute({\n  vulnerability_id: 'gid://gitlab/Vulnerability/125',\n  reason: 'FALSE_POSITIVE',\n  comment: 'This is a test file and not part of production code',\n});\n\n// Confirm a real vulnerability\nawait plugin.tool.gitlab_confirm_vulnerability.execute({\n  vulnerability_id: 'gid://gitlab/Vulnerability/126',\n  comment: 'Confirmed - needs immediate attention',\n});\n\n// Update severity based on assessment\nawait plugin.tool.gitlab_update_vulnerability_severity.execute({\n  vulnerability_ids: ['gid://gitlab/Vulnerability/127'],\n  severity: 'CRITICAL',\n  comment: 'Upgrading to critical - affects production authentication',\n});\n\n// Link vulnerabilities to existing issue\nawait plugin.tool.gitlab_link_vulnerability_to_issue.execute({\n  issue_id: 'gid://gitlab/Issue/42',\n  vulnerability_ids: ['gid://gitlab/Vulnerability/128', 'gid://gitlab/Vulnerability/129'],\n});\n```\n\n## 🔧 Development\n\n### Project Structure\n\n```\nopencode-gitlab-plugin/\n├── src/\n│   ├── client/              # API client modules\n│   │   ├── base.ts         # Base client with HTTP & GraphQL methods\n│   │   ├── security.ts     # Security/vulnerability management\n│   │   ├── issues.ts       # Issue management\n│   │   ├── merge-requests.ts # Merge request operations\n│   │   ├── pipelines.ts    # CI/CD pipeline operations\n│   │   ├── repository.ts   # Repository operations\n│   │   ├── epics.ts        # Epic management\n│   │   ├── search.ts       # Search operations\n│   │   ├── todos.ts        # TODO management\n│   │   ├── wikis.ts        # Wiki operations\n│   │   ├── work-items.ts   # Work item operations\n│   │   ├── audit.ts        # Audit events\n│   │   ├── git.ts          # Git operations\n│   │   └── index.ts        # Client exports\n│   ├── tools/              # Tool definitions\n│   │   ├── security.ts     # Security tool definitions\n│   │   ├── issues.ts       # Issue tool definitions\n│   │   ├── merge-requests.ts # MR tool definitions\n│   │   ├── pipelines.ts    # Pipeline tool definitions\n│   │   ├── repository.ts   # Repository tool definitions\n│   │   ├── discussions-unified.ts # Unified discussion tools (4 tools)\n│   │   ├── notes-unified.ts # Unified notes tools (3 tools)\n│   │   └── ...             # Other tool definitions\n│   ├── index.ts            # Main plugin entry point\n│   ├── utils.ts            # Utility functions\n│   └── validation.ts       # GID validation utilities\n├── tests/                  # Test suite (180 tests)\n│   ├── client/             # Client tests\n│   ├── tools/              # Tool tests\n│   ├── validation.test.ts  # Validation tests\n│   └── utils.test.ts       # Utility tests\n├── dist/                   # Compiled output (generated)\n│   ├── index.js           # ESM bundle\n│   └── index.d.ts         # TypeScript definitions\n├── .husky/                 # Git hooks\n│   ├── commit-msg         # Commitlint hook\n│   └── pre-commit         # Lint-staged hook\n├── .gitlab-ci.yml         # CI/CD pipeline configuration\n├── package.json           # Package metadata\n├── tsconfig.json          # TypeScript configuration\n├── vitest.config.ts       # Vitest test configuration\n├── .eslintrc.json         # ESLint configuration\n├── .prettierrc.json       # Prettier configuration\n├── .commitlintrc.json     # Commitlint configuration\n├── .releaserc.json        # Semantic-release configuration\n├── CHANGELOG.md           # Auto-generated changelog\n├── INSTALLATION.md        # Installation guide\n└── README.md              # This file\n```\n\n### Setup Development Environment\n\n```bash\n# Clone the repository\ngit clone https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin.git\ncd opencode-gitlab-plugin\n\n# Install dependencies\nnpm install\n\n# Build the plugin\nnpm run build\n\n# Watch mode for development\nnpm run dev\n\n# Run linting\nnpm run lint\n\n# Fix linting issues\nnpm run lint:fix\n\n# Format code\nnpm run format\n\n# Check formatting\nnpm run format:check\n```\n\n### Git Hooks\n\nThe project uses Husky for Git hooks:\n\n- **pre-commit**: Runs lint-staged to lint and format staged files\n- **commit-msg**: Validates commit messages using commitlint\n\n### Commit Message Convention\n\nThis project follows [Conventional Commits](https://www.conventionalcommits.org/):\n\n```\n<type>(<scope>): <subject>\n\n<body>\n\n<footer>\n```\n\n**Types:**\n\n- `feat`: New feature\n- `fix`: Bug fix\n- `docs`: Documentation changes\n- `style`: Code style changes (formatting, etc.)\n- `refactor`: Code refactoring\n- `perf`: Performance improvements\n- `test`: Adding or updating tests\n- `build`: Build system changes\n- `ci`: CI/CD changes\n- `chore`: Other changes (dependencies, etc.)\n- `revert`: Revert a previous commit\n\n**Examples:**\n\n```bash\ngit commit -m \"feat: add support for GitLab wiki pages\"\ngit commit -m \"fix: handle empty API responses correctly\"\ngit commit -m \"docs: update installation instructions\"\ngit commit -m \"ci: add automated release workflow\"\n```\n\n### Building\n\n```bash\n# Build for production\nnpm run build\n\n# The build process:\n# 1. Compiles TypeScript to ESM\n# 2. Generates type definitions\n# 3. Outputs to dist/ directory\n```\n\n### Testing\n\n```bash\n# Run tests\nnpm test\n\n# Run tests in watch mode\nnpm run test:watch\n\n# Run tests with coverage\nnpm run test:coverage\n```\n\n**Test Coverage:**\n\n- **180 tests** across 21 test files\n- Client tests for all API methods (REST and GraphQL)\n- Tool tests for all tool definitions\n- Validation tests for GID utilities\n- GraphQL method tests for Notes, Discussions, TODOs\n- All tests passing ✅\n\n## 🚀 CI/CD Pipeline\n\n### Pipeline Stages\n\n```mermaid\ngraph LR\n    A[Test] --> B[Build]\n    B --> C[Release]\n\n    A --> A1[Lint]\n    A --> A2[Format Check]\n    A --> A3[Unit Tests]\n\n    B --> B1[TypeScript Build]\n    B --> B2[Generate Types]\n\n    C --> C1[Semantic Release]\n    C --> C2[Publish to Registry]\n    C --> C3[Create Git Tag]\n    C --> C4[Update Changelog]\n```\n\n### Pipeline Configuration\n\nThe `.gitlab-ci.yml` defines the following stages:\n\n#### 1. Test Stage\n\n- **test:lint**: Runs ESLint on source code\n- **test:format**: Checks code formatting with Prettier\n- **test:unit**: Runs unit tests (placeholder)\n\n#### 2. Build Stage\n\n- **build**: Compiles TypeScript and generates artifacts\n  - Uses tsup for bundling\n  - Generates ESM output\n  - Creates TypeScript definitions\n  - Artifacts expire in 1 week\n\n#### 3. Release Stage\n\n- **release**: Automated versioning and publishing\n  - Only runs on main branch\n  - Uses semantic-release\n  - Publishes to GitLab Package Registry\n  - Creates Git tags\n  - Updates CHANGELOG.md\n  - Artifacts never expire\n\n### Semantic Release Workflow\n\n```mermaid\nsequenceDiagram\n    participant Dev as Developer\n    participant Git as Git Repository\n    participant CI as GitLab CI\n    participant SR as Semantic Release\n    participant Reg as Package Registry\n\n    Dev->>Git: Push to main branch\n    Git->>CI: Trigger pipeline\n    CI->>CI: Run tests\n    CI->>CI: Build package\n    CI->>SR: Run semantic-release\n    SR->>SR: Analyze commits\n    SR->>SR: Determine version\n    SR->>SR: Generate changelog\n    SR->>Git: Create tag & commit\n    SR->>Reg: Publish package\n    SR->>Git: Create GitLab release\n```\n\n### Release Process\n\nThe release process is fully automated using semantic-release:\n\n1. **Commit Analysis**: Analyzes commit messages since last release\n2. **Version Calculation**: Determines next version based on commit types\n   - `fix:` → Patch version (1.0.x)\n   - `feat:` → Minor version (1.x.0)\n   - `BREAKING CHANGE:` → Major version (x.0.0)\n3. **Changelog Generation**: Updates CHANGELOG.md\n4. **Package Publishing**: Publishes to GitLab Package Registry\n5. **Git Tagging**: Creates and pushes version tag\n6. **GitLab Release**: Creates release notes on GitLab\n\n### Environment Variables\n\nThe CI/CD pipeline uses the following variables:\n\n- `CI_JOB_TOKEN`: GitLab CI token (automatic)\n- `CI_PROJECT_ID`: Project ID (automatic)\n- `CI_API_V4_URL`: GitLab API URL (automatic)\n- `HUSKY`: Set to `0` to disable hooks in CI\n\n## 📚 API Reference\n\n### GitLabApiClient Class\n\nThe core API client that handles all GitLab REST API interactions.\n\n#### Constructor\n\n```typescript\nconstructor(instanceUrl: string, token: string)\n```\n\n#### HTTP Methods\n\n```typescript\nasync fetch<T>(method: string, path: string, body?: unknown): Promise<T>\nasync fetchText(method: string, path: string): Promise<string>\n```\n\n#### GraphQL Methods\n\n```typescript\n/**\n * Execute a GraphQL query or mutation\n * @template T - The expected type of the data field in the GraphQL response\n * @param query - The GraphQL query or mutation string\n * @param variables - Optional variables for the query\n * @returns The data from the GraphQL response\n */\nasync fetchGraphQL<T>(query: string, variables?: Record<string, unknown>): Promise<T>\n```\n\n**Features:**\n\n- Full TypeScript type safety with generic return types\n- Automatic error handling for both HTTP and GraphQL errors\n- Support for query variables\n- Cursor-based pagination support for large result sets\n- Used by TODOs, Notes, Discussions, Auto-merge, and Security tools\n\n**Example:**\n\n```typescript\nconst result = await client.fetchGraphQL<{ vulnerability: { id: string } }>(\n  `mutation($id: VulnerabilityID!) {\n    vulnerabilityConfirm(input: { id: $id }) {\n      vulnerability { id state }\n      errors\n    }\n  }`,\n  { id: 'gid://gitlab/Vulnerability/123' }\n);\n```\n\n**Pagination Example:**\n\n```typescript\n// First page\nconst page1 = await plugin.tool.gitlab_list_todos.execute({ first: 20 });\n// Navigate with cursor\nconst page2 = await plugin.tool.gitlab_list_todos.execute({\n  first: 20,\n  after: page1.todos.pageInfo.endCursor,\n});\n```\n\n#### Project ID Encoding\n\n```typescript\nprivate encodeProjectId(projectId: string): string\n```\n\nHandles URL encoding for project paths (e.g., `gitlab-org/gitlab` → `gitlab-org%2Fgitlab`)\n\n### Authentication Functions\n\n#### readTokenFromAuthStorage\n\n```typescript\nfunction readTokenFromAuthStorage(): string | undefined;\n```\n\nReads GitLab token from OpenCode auth storage (`~/.local/share/opencode/auth.json`).\n\nSupports:\n\n- OAuth tokens: `{ type: \"oauth\", access: \"token\" }`\n- API tokens: `{ type: \"api\", key: \"token\" }`\n\n#### getGitLabClient\n\n```typescript\nfunction getGitLabClient(): GitLabApiClient;\n```\n\nCreates and returns a configured GitLab API client.\n\nPriority:\n\n1. `GITLAB_TOKEN` environment variable\n2. OpenCode auth storage\n3. Throws error if no token found\n\n### Validation Functions\n\n#### isValidGid\n\n```typescript\nfunction isValidGid(gid: string, expectedType?: string): boolean;\n```\n\nValidates GitLab Global ID (GID) format.\n\n**Parameters:**\n\n- `gid` - The GID to validate (e.g., `gid://gitlab/Vulnerability/123`)\n- `expectedType` - Optional expected resource type (e.g., `'Vulnerability'`, `'Issue'`)\n\n**Returns:** `true` if valid, `false` otherwise\n\n**Example:**\n\n```typescript\nisValidGid('gid://gitlab/Vulnerability/123'); // true\nisValidGid('gid://gitlab/Issue/456', 'Issue'); // true\nisValidGid('gid://gitlab/Vulnerability/123', 'Issue'); // false (wrong type)\nisValidGid('invalid-gid'); // false\n```\n\n#### validateGid\n\n```typescript\nfunction validateGid(gid: string, expectedType?: string): void;\n```\n\nValidates GID format and throws descriptive error if invalid.\n\n**Parameters:**\n\n- `gid` - The GID to validate\n- `expectedType` - Optional expected resource type\n\n**Throws:** `Error` with descriptive message if GID format is invalid\n\n**Example:**\n\n```typescript\nvalidateGid('gid://gitlab/Vulnerability/123'); // No error\nvalidateGid('invalid-gid'); // Throws: \"Invalid GitLab Global ID: 'invalid-gid'. Expected format: gid://gitlab/ResourceType/{id}\"\nvalidateGid('gid://gitlab/Issue/123', 'Vulnerability'); // Throws: \"Invalid GitLab Global ID of type 'Vulnerability'...\"\n```\n\n**Usage in Security Tools:**\n\nAll GraphQL-based security tools automatically validate GID parameters:\n\n- `createVulnerabilityIssue()` - validates vulnerability IDs\n- `dismissVulnerability()` - validates vulnerability ID\n- `confirmVulnerability()` - validates vulnerability ID\n- `revertVulnerability()` - validates vulnerability ID\n- `updateVulnerabilitySeverity()` - validates vulnerability IDs\n- `linkVulnerabilityToIssue()` - validates both issue ID and vulnerability IDs\n\n### Tool Schema Validation\n\nAll tools use Zod for runtime validation:\n\n```typescript\nimport { tool } from '@opencode-ai/plugin';\nconst z = tool.schema; // Zod v4 compatible\n\n// Example tool definition\ngitlab_get_merge_request: tool({\n  description: 'Get details of a specific merge request',\n  args: {\n    project_id: z.string().describe('The project ID or URL-encoded path'),\n    mr_iid: z.number().describe('The internal ID of the merge request'),\n    include_changes: z.boolean().optional().describe('Include file changes'),\n  },\n  execute: async (args, ctx) => {\n    // Implementation\n  },\n});\n```\n\n### Error Handling\n\nAll API calls include comprehensive error handling:\n\n```typescript\nif (!response.ok) {\n  const errorText = await response.text();\n  throw new Error(`GitLab API error ${response.status}: ${errorText}`);\n}\n```\n\n### Response Formatting\n\nAll tool responses are JSON-formatted:\n\n```typescript\nreturn JSON.stringify(result, null, 2);\n```\n\n## 🔐 Security Considerations\n\n### Token Storage\n\n- **Environment Variables**: Recommended for CI/CD and production\n- **Auth Storage**: Convenient for local development\n- **Never commit tokens**: Use `.gitignore` for sensitive files\n\n### API Permissions\n\nThe plugin requires a GitLab token with appropriate scopes:\n\n- `api`: Full API access (recommended)\n- `read_api`: Read-only access (limited functionality)\n- `read_repository`: Repository read access\n- `write_repository`: Repository write access (for commits)\n\n### Rate Limiting\n\nGitLab API has rate limits:\n\n- **Authenticated requests**: 2,000 requests per minute\n- **Unauthenticated requests**: 10 requests per minute\n\nThe plugin does not implement rate limiting logic. Consider implementing retry logic in your application.\n\n### HTTPS Only\n\nThe plugin enforces HTTPS for all API calls. HTTP URLs are not supported.\n\n## 🤝 Contributing\n\nContributions are welcome! Please see our [Contributing Guide](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/blob/main/CONTRIBUTING.md) for detailed guidelines on:\n\n- Code style and conventions\n- Development workflow\n- Testing requirements\n- Submitting merge requests\n- Developer Certificate of Origin and License\n\n**Quick Start for Contributors**:\n\n1. **Commit Messages**: Use conventional commits format\n\n   ```\n   feat(scope): add new feature\n   fix(scope): fix bug\n   docs(scope): update documentation\n   ```\n\n2. **Code Quality**: Ensure all checks pass\n\n   ```bash\n   npm run lint\n   npm test\n   ```\n\n3. **Testing**: Add tests for new features\n\n## 🔗 Links\n\n- [GitLab Repository](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin)\n- [npm Package](https://www.npmjs.com/package/@gitlab/opencode-gitlab-plugin)\n- [Issue Tracker](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues)\n- [Merge Requests](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/merge_requests)\n- [Contributing Guide](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/blob/main/CONTRIBUTING.md)\n- [Changelog](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/blob/main/CHANGELOG.md)\n- [CI/CD Pipelines](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/pipelines)\n- [GitLab API Documentation](https://docs.gitlab.com/ee/api/)\n- [OpenCode Plugin SDK](https://github.com/opencode-ai/plugin)\n\n## 🙏 Acknowledgments\n\n- **OpenCode Team**: For the plugin SDK and framework\n- **GitLab**: For the comprehensive REST API\n- **Contributors**: All contributors to this project\n\n## 📞 Support\n\nFor questions, issues, or feature requests:\n\n1. **Check existing issues**: <https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/issues>\n2. **Create new issue**: Use issue templates for bugs or features\n3. **Discussions**: Use GitLab discussions for questions\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://gitlab.com/gitlab-org/editor-extensions/opencode-gitlab-plugin/-/blob/main/LICENSE) file for details.\n\n---\n\n**Made with ❤️ for the OpenCode community**\n\n---\n","readmeFilename":"README.md"}