diff options
| author | Vladimir Glafirov <[email protected]> | 2026-03-24 18:33:18 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-24 12:33:18 -0500 |
| commit | 9330bc5339b3ca82975f768200450d4c9aabcd35 (patch) | |
| tree | ad1c277cba38f357c262a030950a905fe51bd50e /packages | |
| parent | 1238d1f61acccf05330ff8fb59f3e355239b5f82 (diff) | |
| download | opencode-9330bc5339b3ca82975f768200450d4c9aabcd35.tar.gz opencode-9330bc5339b3ca82975f768200450d4c9aabcd35.zip | |
fix: route GitLab Duo Workflow system prompt via flowConfig (#18928)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/package.json | 2 | ||||
| -rw-r--r-- | packages/opencode/src/session/llm.ts | 22 |
2 files changed, 14 insertions, 10 deletions
diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 39b4e6232..97a6457cf 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -121,7 +121,7 @@ "drizzle-orm": "catalog:", "effect": "catalog:", "fuzzysort": "3.1.0", - "gitlab-ai-provider": "5.3.1", + "gitlab-ai-provider": "5.3.2", "glob": "13.0.5", "google-auth-library": "10.5.0", "gray-matter": "4.0.3", diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index a22c6d856..075f070e4 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -113,17 +113,20 @@ export namespace LLM { options.instructions = system.join("\n") } + const isWorkflow = language instanceof GitLabWorkflowLanguageModel const messages = isOpenaiOauth ? input.messages - : [ - ...system.map( - (x): ModelMessage => ({ - role: "system", - content: x, - }), - ), - ...input.messages, - ] + : isWorkflow + ? input.messages + : [ + ...system.map( + (x): ModelMessage => ({ + role: "system", + content: x, + }), + ), + ...input.messages, + ] const params = await Plugin.trigger( "chat.params", @@ -190,6 +193,7 @@ export namespace LLM { // and results sent back over the WebSocket. if (language instanceof GitLabWorkflowLanguageModel) { const workflowModel = language + workflowModel.systemPrompt = system.join("\n") workflowModel.toolExecutor = async (toolName, argsJson, _requestID) => { const t = tools[toolName] if (!t || !t.execute) { |
