gitlab-ai-provider 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,438 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
4
+
5
+ ## 5.0.0 (2026-03-02)
6
+
7
+ - feat: move package to gitlab-ai-provider under vglafirov namespace ([3b5060f](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/3b5060f))
8
+
9
+ ### BREAKING CHANGE
10
+
11
+ - package name changed from @gitlab/gitlab-ai-provider to gitlab-ai-provider
12
+
13
+ ## 4.1.0 (2026-03-01)
14
+
15
+ - Merge branch 'duo-edit-20260227-221915' into 'main' ([654643a](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/654643a))
16
+ - feat(models): add GPT-5.3 Codex model support ([b34ebd6](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b34ebd6))
17
+
18
+ ## 4.0.0 (2026-02-27)
19
+
20
+ - feat!: add Duo Workflow Service integration via WebSocket ([b293f73](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b293f73))
21
+ - feat!: bump major version ([196b058](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/196b058))
22
+ - feat!: trigger major release ([2cb0f9c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/2cb0f9c))
23
+ - Merge branch 'feat/duo-workflow-integration' into 'main' ([bfface1](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/bfface1))
24
+
25
+ ### BREAKING CHANGE
26
+
27
+ - detectProject() now throws GitLabError instead of returning null on API failures. loadOpenCodeAuth() throws on malformed auth.json instead of returning undefined. Callers that relied on silent failure must add error handling.
28
+
29
+ ## 4.0.0 (2026-02-27)
30
+
31
+ ### โœจ Features
32
+
33
+ - **feat: add Duo Workflow Service integration via WebSocket** ([!9](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/-/merge_requests/9))
34
+ - Add `workflowChat()` factory method for server-side agentic workflows
35
+ - Implement WebSocket client for bidirectional DWS communication
36
+ - Add dynamic model discovery via GraphQL (`aiChatAvailableModels`)
37
+ - Support MCP tool integration and built-in tool mapping
38
+ - Add file-based model cache with workspace/instance scoping
39
+ - Implement per-stream state isolation for concurrent requests
40
+ - Add dual heartbeat (WebSocket ping + JSON heartbeat)
41
+ - Support `GITLAB_INSTANCE_URL` environment variable
42
+ - Pass `aiGatewayUrl` through to workflow config
43
+
44
+ ### ๐Ÿ”ง New Modules
45
+
46
+ - `gitlab-workflow-client.ts` - WebSocket client for DWS communication
47
+ - `gitlab-workflow-language-model.ts` - LanguageModelV2 adapter for DWS
48
+ - `gitlab-workflow-token-client.ts` - Token exchange and workflow creation
49
+ - `gitlab-model-discovery.ts` - Runtime model discovery via GraphQL
50
+ - `gitlab-model-cache.ts` - File-based cache for model discovery and selection
51
+ - `gitlab-workflow-builtins.ts` - Built-in tool mapping and security utilities
52
+ - `gitlab-workflow-types.ts` - Comprehensive DWS protocol type definitions
53
+
54
+ ### ๐Ÿงช Test Coverage
55
+
56
+ - Added 89 new tests (300 total)
57
+ - `gitlab-model-discovery.test.ts` - 21 tests
58
+ - `gitlab-workflow-client.test.ts` - 33 tests
59
+ - `gitlab-workflow-language-model.test.ts` - 20 tests
60
+ - `gitlab-workflow-token-client.test.ts` - 25 tests
61
+ - `gitlab-provider.test.ts` - 15 new tests for workflow routing
62
+
63
+ ### ๐Ÿ”’ Security
64
+
65
+ - Shell metacharacter validation before escaping
66
+ - URL scheme validation (http/https only)
67
+ - Credential redaction in error messages
68
+ - Command length limits
69
+ - Defense-in-depth approach for all tool executions
70
+
71
+ ### ๐Ÿ“ Documentation
72
+
73
+ - Updated README with Duo Workflow Service documentation
74
+ - Added workflow model mappings and usage examples
75
+ - Documented model selection priority and caching behavior
76
+ - Added architecture documentation for new components
77
+
78
+ ### โš ๏ธ BREAKING CHANGES
79
+
80
+ - Added `workflowChat()` method to `GitLabProvider` interface
81
+ - `GITLAB_INSTANCE_URL` environment variable now supported (precedence: explicit > env > default)
82
+
83
+ ## 3.6.0 (2026-02-18)
84
+
85
+ - Merge branch 'feat/add-sonnet-4-6' into 'main' ([68d9e4f](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/68d9e4f))
86
+ - feat: add Claude Sonnet 4.6 model mapping ([c4fd7b1](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/c4fd7b1))
87
+
88
+ ## <small>3.5.1 (2026-02-16)</small>
89
+
90
+ - Merge branch 'vg/token-refresh' into 'main' ([38295cf](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/38295cf))
91
+ - fix: resolve mid-session OAuth token refresh failures ([b495153](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b495153))
92
+
93
+ ## 3.5.0 (2026-02-06)
94
+
95
+ - Merge branch 'feat/add-opus-4-6' into 'main' ([b776bd7](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b776bd7))
96
+ - feat(models): add Claude Opus 4.6 model support ([e221e45](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e221e45))
97
+
98
+ ## <small>3.4.1 (2026-02-06)</small>
99
+
100
+ - Merge branch 'vg/token_refresh_fix' into 'main' ([8c1f2c4](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/8c1f2c4))
101
+ - fix: detect context overflow errors before token refresh ([ce272cd](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/ce272cd))
102
+
103
+ ## 3.4.0 (2026-02-02)
104
+
105
+ - Merge branch 'feat/ai-gateway-headers' into 'main' ([f2d4c79](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/f2d4c79))
106
+ - feat: add custom AI Gateway headers support ([2ef662d](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/2ef662d))
107
+ - chore: added models testing script ([85dd9ba](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/85dd9ba))
108
+ - chore: bump version to 3.3.1 to fix package-lock.json sync ([6e6e9e2](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/6e6e9e2))
109
+
110
+ ## 3.3.0 (2026-01-23)
111
+
112
+ - feat: add GPT-5.2 model support (duo-chat-gpt-5-2) ([fba8c4c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/fba8c4c))
113
+
114
+ ## 3.2.0 (2026-01-22)
115
+
116
+ - feat: add OpenAI models support with Responses API ([c715505](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/c715505))
117
+
118
+ ## <small>3.1.3 (2026-01-21)</small>
119
+
120
+ - Merge branch 'fix/streaming-tool-call-handling' into 'main' ([22279b1](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/22279b1))
121
+ - fix: refactor streaming to handle tool calls properly ([88fb513](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/88fb513))
122
+
123
+ ## <small>3.1.2 (2026-01-18)</small>
124
+
125
+ - fix: removed API tools and added new env variable ([a64ef6d](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/a64ef6d))
126
+
127
+ ## <small>3.1.1 (2026-01-14)</small>
128
+
129
+ - fix: use models mapping for Anthropic ([7b876ec](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/7b876ec))
130
+
131
+ ## 3.1.0 (2026-01-13)
132
+
133
+ - feat: improve npm metadata for better discoverability ([fc3795c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/fc3795c))
134
+
135
+ ## <small>3.0.9 (2026-01-07)</small>
136
+
137
+ - docs: removed unused documentation ([a5f3bdd](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/a5f3bdd))
138
+
139
+ ## <small>3.0.8 (2025-12-19)</small>
140
+
141
+ - Merge branch 'main' of gitlab.com:gitlab-org/editor-extensions/gitlab-ai-provider ([0c24b31](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/0c24b31))
142
+ - fix: specified CODEOWNERS ([0e92bbd](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/0e92bbd))
143
+
144
+ ## <small>3.0.7 (2025-12-19)</small>
145
+
146
+ - fix: convert relative links to absolute GitLab URLs in README ([accde31](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/accde31))
147
+
148
+ ## <small>3.0.6 (2025-12-19)</small>
149
+
150
+ - fix: use NPM_ID_TOKEN with correct audience for OIDC ([03fb549](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/03fb549))
151
+
152
+ ## <small>3.0.5 (2025-12-19)</small>
153
+
154
+ - fix: use NPM_TOKEN for authentication (OIDC not supported for GitLab) ([4d595cf](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/4d595cf))
155
+
156
+ ## <small>3.0.4 (2025-12-19)</small>
157
+
158
+ - refactor: use artifacts for version propagation ([03d4935](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/03d4935))
159
+ - fix: use OIDC for npmjs.org and sync version ([e5ff429](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e5ff429))
160
+
161
+ ## <small>3.0.3 (2025-12-19)</small>
162
+
163
+ - fix: update package-lock.json with MIT license ([d724d20](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/d724d20))
164
+ - fix: use NPM_TOKEN for npmjs.org authentication ([e96d9de](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e96d9de))
165
+
166
+ ## <small>3.0.2 (2025-12-19)</small>
167
+
168
+ - fix: correct license to MIT in package.json ([6df4154](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/6df4154))
169
+
170
+ ## <small>3.0.1 (2025-12-19)</small>
171
+
172
+ - fix: use SIGSTORE_ID_TOKEN for npm provenance ([e5c8c7f](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e5c8c7f))
173
+
174
+ ## 3.0.0 (2025-12-19)
175
+
176
+ - feat: automate publishing workflow ([f8c384d](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/f8c384d))
177
+
178
+ ### BREAKING CHANGE
179
+
180
+ - Publishing now happens automatically on every main branch commit
181
+
182
+ ## 2.0.0 (2025-12-18)
183
+
184
+ - fix: bump the version ([02df4b2](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/02df4b2))
185
+ - fix: remove GitLab registry config and add test dependencies ([81cc14e](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/81cc14e))
186
+ - feat: configure publishing to npmjs.org with OIDC ([bb62d90](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/bb62d90))
187
+
188
+ ### BREAKING CHANGE
189
+
190
+ - Package now only published to npmjs.org as @gitlab/gitlab-ai-provider
191
+
192
+ ## <small>1.0.5 (2025-12-18)</small>
193
+
194
+ - Merge branch 'main' of gitlab.com:gitlab-org/editor-extensions/gitlab-ai-provider ([f93aa47](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/f93aa47))
195
+ - fix: publish to both registries ([1ef9dd2](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/1ef9dd2))
196
+
197
+ ## <small>1.0.4 (2025-12-18)</small>
198
+
199
+ - fix: fix .npmrc ([fc55fa0](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/fc55fa0))
200
+ - fix: moved to @gitlab scope ([1213f5d](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/1213f5d))
201
+ - fix: npmjs fix ([461e87c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/461e87c))
202
+ - fix: publish to @gitlab ([c55252c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/c55252c))
203
+ - Merge branch 'main' of gitlab.com:gitlab-org/editor-extensions/gitlab-ai-provider ([30d1307](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/30d1307))
204
+
205
+ ## <small>1.0.3 (2025-12-18)</small>
206
+
207
+ - Merge branch 'main' of gitlab.com:gitlab-org/editor-extensions/gitlab-ai-provider ([aa5ed2a](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/aa5ed2a))
208
+ - fix: added .chat() alias ([e8d8ab8](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e8d8ab8))
209
+
210
+ ## <small>1.0.2 (2025-12-18)</small>
211
+
212
+ - Merge branch 'main' of gitlab.com:gitlab-org/editor-extensions/gitlab-ai-provider ([327e561](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/327e561))
213
+ - fix: fixed publishing ([1f65b41](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/1f65b41))
214
+
215
+ ## <small>1.0.1 (2025-12-18)</small>
216
+
217
+ - fix: added MIT LICENSE ([4484571](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/4484571))
218
+ - fix: contributing documentation ([7f90de8](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/7f90de8))
219
+ - Merge branch 'main' of gitlab.com:gitlab-org/editor-extensions/gitlab-ai-provider ([854ece3](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/854ece3))
220
+
221
+ ## 1.0.0 (2025-12-18)
222
+
223
+ - fix: add missing peer marker for vite in package-lock.json ([03f0091](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/03f0091))
224
+ - fix: add text-start and text-end events for V2 stream format ([a4fec61](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/a4fec61))
225
+ - fix: added npmrc ([75725d5](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/75725d5))
226
+ - fix: buffer and reorder chunks by numeric chunkId sequence number ([83e0593](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/83e0593))
227
+ - fix: create release ([8f38ca1](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/8f38ca1))
228
+ - fix: disable body-max-line-length rule for semantic-release compatibility ([300b6cf](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/300b6cf))
229
+ - fix: handle out-of-order chunks with cumulative content ([3fe12e8](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/3fe12e8))
230
+ - fix: load auth token ([b2f3b5b](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b2f3b5b))
231
+ - fix: package-lock ([e478397](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e478397))
232
+ - fix: resolve ESLint errors in CI pipeline ([12d391e](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/12d391e))
233
+ - fix: simplify streaming - cumulative content with length-based delta extraction ([34b9b9a](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/34b9b9a))
234
+ - fix: simplify streaming - remove buffering, handle both cumulative and incremental content ([722d1fc](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/722d1fc))
235
+ - fix: skip final cumulative message and treat chunks as incremental ([b078ef4](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b078ef4))
236
+ - fix: sync package-lock and fix formatting ([1583fb1](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/1583fb1))
237
+ - fix: Token refresh on 401 ([2a7bfec](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/2a7bfec))
238
+ - fix: update specificationVersion to v2 for AI SDK 5 compatibility ([ddc75cd](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/ddc75cd))
239
+ - fix: updated package-lock ([25332df](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/25332df))
240
+ - fix: use AI SDK V2 stream format with delta field ([e8eb3b4](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e8eb3b4))
241
+ - fix: use Bearer token authentication for GitLab API project detection ([c32b926](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/c32b926))
242
+ - chore: update CI to node 25.2.1 and regenerate package-lock ([04889be](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/04889be))
243
+ - chore: update CI to use node 22.14.0 LTS ([1ce4a4e](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/1ce4a4e))
244
+ - chore(deps): Updated README.md ([47cb8ed](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/47cb8ed))
245
+ - chore(release): 0.0.3 [skip ci] ([d1ba2ed](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/d1ba2ed))
246
+ - chore(release): 0.0.4 [skip ci] ([6459942](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/6459942))
247
+ - chore(release): 1.0.0 [skip ci] ([80b423d](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/80b423d))
248
+ - chore(release): 1.0.1 [skip ci] ([a77ce6b](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/a77ce6b))
249
+ - chore(release): 1.0.2 [skip ci] ([c683fc7](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/c683fc7))
250
+ - chore(release): 1.1.0 [skip ci] ([46542c4](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/46542c4))
251
+ - chore(release): 1.2.0 [skip ci] ([bd79e4e](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/bd79e4e))
252
+ - chore(release): 1.2.1 [skip ci] ([d05d7f8](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/d05d7f8))
253
+ - chore(release): 1.2.2 [skip ci] ([2c2a160](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/2c2a160))
254
+ - feat: Added package build for npmjs ([d32e97e](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/d32e97e))
255
+ - feat: added package-lock.json ([7b320b5](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/7b320b5))
256
+ - feat: remove agentic workflow model and fix lint warnings ([843c422](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/843c422))
257
+ - feat: Renamed package to @gitlab-org/gitlab-ai-provider ([6d41fc0](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/6d41fc0))
258
+ - feat: rolled back npm namespace ([a10987b](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/a10987b))
259
+ - feat: Updated npm repo namespace ([b74de74](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b74de74))
260
+ - feat(workflow): Added Gitlab Duo Workflow functionality ([624900f](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/624900f))
261
+ - Add comprehensive logging to debug empty workflow sessions ([9c1cd6d](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/9c1cd6d))
262
+ - Add error handling for missing project context in agentic workflow ([1595caf](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/1595caf))
263
+ - Add feature flags support for agentic chat models ([792581c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/792581c))
264
+ - Add prepare script to auto-build on install ([013a033](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/013a033))
265
+ - Add WebSocket headers logging for debugging ([bbb4c16](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/bbb4c16))
266
+ - Add workflow status polling to debug why workflow doesn't start ([520afa6](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/520afa6))
267
+ - Add X-Gitlab-Workflow-Id header to WebSocket connection ([2fd3097](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/2fd3097))
268
+ - Added Gitlab OAuth support ([59c095c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/59c095c))
269
+ - added gitlab project detector ([127687c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/127687c))
270
+ - agentic workflow ([6263c61](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/6263c61))
271
+ - Configure package for remote git installation ([80740a5](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/80740a5))
272
+ - feat!: rename model classes to reflect agentic capabilities ([05e6b35](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/05e6b35))
273
+ - Fix streaming to use AI SDK V1 format with textDelta field ([17c059f](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/17c059f))
274
+ - Fix workflow creation payload to match GitLab API expectations ([5c2cd52](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/5c2cd52))
275
+ - Fix workflow initialization by sending initial message via REST API instead of WebSocket ([c8fc84f](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/c8fc84f))
276
+ - Fixing chunk ordering ([962ea8c](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/962ea8c))
277
+ - Include built dist folder for npm install ([b31d7dd](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b31d7dd))
278
+ - Initial commit ([3f23827](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/3f23827))
279
+ - Merge branch 'main' of gitlab.com:vglafirov/gitlab-ai-provider ([1f0c73f](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/1f0c73f))
280
+ - Merge branch 'main' of gitlab.com:vglafirov/gitlab-ai-provider ([0f915c9](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/0f915c9))
281
+ - Merge branch 'main' of gitlab.com:vglafirov/gitlab-ai-provider ([376e770](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/376e770))
282
+ - Merge branch 'main' of gitlab.com:vglafirov/gitlab-ai-provider ([801bfcc](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/801bfcc))
283
+ - Merge branch 'main' of gitlab.com:vglafirov/gitlab-ai-provider ([18324c3](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/18324c3))
284
+ - Merge branch 'main' of gitlab.com:vglafirov/gitlab-ai-provider into main ([e7a003f](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e7a003f))
285
+ - Merge branch 'vg/duo-workflow' into 'main' ([b15c322](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/b15c322))
286
+ - Merge branch 'vg/models_selection' into 'main' ([f5d2ab7](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/f5d2ab7))
287
+ - Remove unnecessary sendEvent call - workflow starts automatically with goal ([3cea85b](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/3cea85b))
288
+ - Remove workflow status update - workflow starts automatically ([f6bd7d4](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/f6bd7d4))
289
+ - removed API based agentic model ([d6a1037](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/d6a1037))
290
+ - removed legacy chat model ([0f1e795](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/0f1e795))
291
+ - Renamed GITLAB_API_TOKEN to GITLAB_TOKEN ([4bdcfbb](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/4bdcfbb))
292
+ - Send initial MESSAGE event to start workflow execution ([9b8df12](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/9b8df12))
293
+ - Set workflow status to RUNNING before sending initial message ([e826e55](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/e826e55))
294
+ - Updated README.md ([752871e](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/752871e))
295
+ - Use Agentic proxy ([a9a9827](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/a9a9827))
296
+ - Use OpenCode standard log directory for workflow debug logs ([28d1cc2](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/28d1cc2))
297
+ - Write debug logs to file instead of console ([093ad08](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/093ad08))
298
+ - ci: add GitLab CI/CD pipeline with semantic release automation ([53283e6](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/53283e6))
299
+ - ci: Updated publish namespace ([29864d7](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/29864d7))
300
+ - docs: add AGENTS.md with build, test, and code style guidelines ([31f9554](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/31f9554))
301
+ - docs: Updated README.md ([047b6e5](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/047b6e5))
302
+ - Fix: Add project_id and namespace_id as WebSocket headers ([5c2d142](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/5c2d142))
303
+ - Fix: Send initial user message to workflow after WebSocket connection ([12f4cfc](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/12f4cfc))
304
+ - Fix: Use project PATH for project_id, not numeric ID ([5709dd4](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/5709dd4))
305
+ - Fix: Use SOFTWARE_DEVELOPMENT workflow type instead of AGENTIC_CHAT ([c347013](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/c347013))
306
+ - Fix: Use status_event instead of status in workflow update API ([946333f](https://gitlab.com/gitlab-org/editor-extensions/gitlab-ai-provider/commit/946333f))
307
+
308
+ ### BREAKING CHANGE
309
+
310
+ - Renamed GitLabAnthropicLanguageModel to
311
+ GitLabAgenticLanguageModel and GitLabLSPAgenticLanguageModel to
312
+ GitLabAgenticWorkflowLanguageModel. Updated all related types,
313
+ configs, and provider methods:
314
+
315
+ * GitLabAnthropicOptions -> GitLabAgenticOptions
316
+ * GitLabLSPAgenticOptions -> GitLabAgenticWorkflowOptions
317
+ * provider.anthropicChat() -> provider.agenticChat()
318
+ * provider.lspAgenticChat() -> provider.agenticWorkflow()
319
+ * Provider names: .anthropic -> .agentic
320
+ * Provider names: .lsp-agentic -> .agentic-workflow
321
+
322
+ This change better reflects the agentic nature of these models
323
+ and provides clearer naming for workflow-based interactions.
324
+
325
+ ## [1.2.2](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v1.2.1...v1.2.2) (2025-12-07)
326
+
327
+ ### ๐Ÿ› Bug Fixes
328
+
329
+ - load auth token ([b2f3b5b](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/b2f3b5b01abfdfa36c12b4c045029a2b8186b886))
330
+
331
+ ## [1.2.1](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v1.2.0...v1.2.1) (2025-12-07)
332
+
333
+ ### ๐Ÿ› Bug Fixes
334
+
335
+ - Token refresh on 401 ([2a7bfec](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/2a7bfecbb1d32463150b2e5f67e6deae8a9b6641))
336
+
337
+ ## [1.2.0](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v1.1.0...v1.2.0) (2025-12-06)
338
+
339
+ ### โœจ Features
340
+
341
+ - rolled back npm namespace ([a10987b](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/a10987bb17ba02fcbdac60e918424f1852f61589))
342
+
343
+ ## [1.1.0](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v1.0.2...v1.1.0) (2025-12-06)
344
+
345
+ ### โœจ Features
346
+
347
+ - added package-lock.json ([7b320b5](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/7b320b58c771eb4615ab7d0b28a612065ec01bbb))
348
+ - Renamed package to @gitlab-org/gitlab-ai-provider ([6d41fc0](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/6d41fc08ab2b3a3603a9f095df097e0e0c260898))
349
+ - Updated npm repo namespace ([b74de74](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/b74de74100e854cef35e98a7f6334fd59179aeeb))
350
+
351
+ ## [1.0.2](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v1.0.1...v1.0.2) (2025-12-04)
352
+
353
+ ### ๐Ÿ“š Documentation
354
+
355
+ - Updated README.md ([047b6e5](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/047b6e55ba0c7faaa9a149b06d92392c808d080d))
356
+
357
+ ## [1.0.1](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v1.0.0...v1.0.1) (2025-12-04)
358
+
359
+ ### ๐Ÿ› Bug Fixes
360
+
361
+ - use Bearer token authentication for GitLab API project detection ([c32b926](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/c32b9266f2c01d714bd54762c00676994ad74810))
362
+
363
+ ## [1.0.0](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v0.0.4...v1.0.0) (2025-12-04)
364
+
365
+ ### โš  BREAKING CHANGES
366
+
367
+ - Renamed GitLabAnthropicLanguageModel to
368
+ GitLabAgenticLanguageModel and GitLabLSPAgenticLanguageModel to
369
+ GitLabAgenticWorkflowLanguageModel. Updated all related types,
370
+ configs, and provider methods:
371
+
372
+ * GitLabAnthropicOptions -> GitLabAgenticOptions
373
+ * GitLabLSPAgenticOptions -> GitLabAgenticWorkflowOptions
374
+ * provider.anthropicChat() -> provider.agenticChat()
375
+ * provider.lspAgenticChat() -> provider.agenticWorkflow()
376
+ * Provider names: .anthropic -> .agentic
377
+ * Provider names: .lsp-agentic -> .agentic-workflow
378
+
379
+ This change better reflects the agentic nature of these models
380
+ and provides clearer naming for workflow-based interactions.
381
+
382
+ ### โœจ Features
383
+
384
+ - rename model classes to reflect agentic capabilities ([05e6b35](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/05e6b35269433df85ab1d4138cf7fbca61dd95d3))
385
+
386
+ ## [0.0.4](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v0.0.3...v0.0.4) (2025-12-03)
387
+
388
+ ### ๐Ÿ“š Documentation
389
+
390
+ - add AGENTS.md with build, test, and code style guidelines ([31f9554](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/31f95547cb8a12295b86c2926b11f7885a8aa959))
391
+
392
+ ## [0.0.3](https://gitlab.com/vglafirov/gitlab-ai-provider/compare/v0.0.2...v0.0.3) (2025-12-03)
393
+
394
+ ### ๐Ÿ› Bug Fixes
395
+
396
+ - disable body-max-line-length rule for semantic-release compatibility ([300b6cf](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/300b6cfea4f8f71dcbabc5cad7b7d30c53c4348f))
397
+ - resolve ESLint errors in CI pipeline ([12d391e](https://gitlab.com/vglafirov/gitlab-ai-provider/commit/12d391eda8405a8abd85cc33118ea259c171493c))
398
+
399
+ # Changelog
400
+
401
+ All notable changes to this project will be documented in this file.
402
+
403
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
404
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
405
+
406
+ ## [Unreleased]
407
+
408
+ ### Added
409
+
410
+ - Initial implementation of GitLab Duo provider
411
+ - GraphQL API client for GitLab Duo Chat
412
+ - ActionCable WebSocket streaming support
413
+ - Personal Access Token authentication
414
+ - Support for GitLab.com and self-hosted instances
415
+ - Context-aware chat with file support
416
+ - Multi-turn conversations with thread support
417
+ - Comprehensive error handling with GitLabError class
418
+ - TypeScript type definitions
419
+ - Documentation and examples
420
+
421
+ ### Features
422
+
423
+ - โœ… Streaming chat responses
424
+ - โœ… GraphQL API integration
425
+ - โœ… PAT authentication
426
+ - โœ… Self-hosted GitLab support
427
+ - โœ… Context-aware assistance
428
+
429
+ ### Known Limitations
430
+
431
+ - Token counting uses estimation
432
+ - Limited tool/function calling support
433
+ - No embedding support
434
+ - No image generation support
435
+
436
+ ## [0.0.1] - 2025-01-XX
437
+
438
+ Initial release (in development)
package/LICENSE ADDED
@@ -0,0 +1,28 @@
1
+ Copyright (c) 2011-present GitLab Inc.
2
+
3
+ Portions of this software are licensed as follows:
4
+
5
+ * All content residing under the "doc/" directory of this repository is licensed under "Creative Commons: CC BY-SA 4.0 license".
6
+ * All content that resides under the "ee/" directory of this repository, if that directory exists, is licensed under the license defined in "ee/LICENSE".
7
+ * All content that resides under the "jh/" directory of this repository, if that directory exists, is licensed under the license defined in "jh/LICENSE".
8
+ * All client-side JavaScript (when served directly or after being compiled, arranged, augmented, or combined), is licensed under the "MIT Expat" license.
9
+ * All third party components incorporated into the GitLab Software are licensed under the original license provided by the owner of the applicable component.
10
+ * Content outside of the above mentioned directories or restrictions above is available under the "MIT Expat" license as defined below.
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.