@theia/ai-copilot 1.72.0-next.5 → 1.72.0-next.52

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.
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-auth-dialog-messages.d.ts","sourceRoot":"","sources":["../../src/browser/copilot-auth-dialog-messages.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC,oBAAoB;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,eAAO,MAAM,oCAAoC,EAAE,yBAiBlD,CAAC"}
1
+ {"version":3,"file":"copilot-auth-dialog-messages.d.ts","sourceRoot":"","sources":["../../src/browser/copilot-auth-dialog-messages.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC,oBAAoB;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,eAAO,MAAM,oCAAoC,EAAE,yBAkBlD,CAAC"}
@@ -17,6 +17,7 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.DEFAULT_COPILOT_AUTH_DIALOG_MESSAGES = exports.CopilotAuthDialogMessages = void 0;
19
19
  const core_1 = require("@theia/core");
20
+ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
20
21
  exports.CopilotAuthDialogMessages = Symbol('CopilotAuthDialogMessages');
21
22
  /**
22
23
  * Default messages for the built-in Theia Copilot integration.
@@ -26,7 +27,7 @@ exports.DEFAULT_COPILOT_AUTH_DIALOG_MESSAGES = {
26
27
  return core_1.nls.localize('theia/ai/copilot/commands/signIn', 'Sign in to GitHub Copilot');
27
28
  },
28
29
  get instructions() {
29
- return core_1.nls.localize('theia/ai/copilot/auth/instructions', 'To authorize Theia to use GitHub Copilot, visit the URL below and enter the code:');
30
+ return core_1.nls.localize('theia/ai/copilot/auth/instructions', 'To authorize {0} to use GitHub Copilot, visit the URL below and enter the code:', frontend_application_config_provider_1.FrontendApplicationConfigProvider.get().applicationName);
30
31
  },
31
32
  get privacyNotice() {
32
33
  return core_1.nls.localize('theia/ai/copilot/auth/privacy', 'Theia is an open-source project. We only request access to your GitHub username ' +
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-auth-dialog-messages.js","sourceRoot":"","sources":["../../src/browser/copilot-auth-dialog-messages.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,sCAAkC;AAErB,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAgB7E;;GAEG;AACU,QAAA,oCAAoC,GAA8B;IAC3E,IAAI,KAAK;QACL,OAAO,UAAG,CAAC,QAAQ,CAAC,kCAAkC,EAAE,2BAA2B,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,YAAY;QACZ,OAAO,UAAG,CAAC,QAAQ,CACf,oCAAoC,EACpC,mFAAmF,CACtF,CAAC;IACN,CAAC;IACD,IAAI,aAAa;QACb,OAAO,UAAG,CAAC,QAAQ,CACf,+BAA+B,EAC/B,kFAAkF;YAClF,8EAA8E,CACjF,CAAC;IACN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"copilot-auth-dialog-messages.js","sourceRoot":"","sources":["../../src/browser/copilot-auth-dialog-messages.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,sCAAkC;AAClC,uHAAiH;AAEpG,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAgB7E;;GAEG;AACU,QAAA,oCAAoC,GAA8B;IAC3E,IAAI,KAAK;QACL,OAAO,UAAG,CAAC,QAAQ,CAAC,kCAAkC,EAAE,2BAA2B,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,YAAY;QACZ,OAAO,UAAG,CAAC,QAAQ,CACf,oCAAoC,EACpC,iFAAiF,EACjF,wEAAiC,CAAC,GAAG,EAAE,CAAC,eAAe,CAC1D,CAAC;IACN,CAAC;IACD,IAAI,aAAa;QACb,OAAO,UAAG,CAAC,QAAQ,CACf,+BAA+B,EAC/B,kFAAkF;YAClF,8EAA8E,CACjF,CAAC;IACN,CAAC;CACJ,CAAC"}
@@ -27,6 +27,7 @@ export declare class CopilotLanguageModel implements LanguageModel {
27
27
  protected createTools(request: LanguageModelRequest): RunnableToolFunctionWithoutParse[] | undefined;
28
28
  protected initializeCopilotClient(): Promise<OpenAI>;
29
29
  protected processMessages(messages: LanguageModelMessage[]): ChatCompletionMessageParam[];
30
+ protected mergeConsecutiveAssistantMessages(messages: ChatCompletionMessageParam[]): ChatCompletionMessageParam[];
30
31
  protected toOpenAIMessage(message: LanguageModelMessage): ChatCompletionMessageParam;
31
32
  protected toOpenAiRole(message: LanguageModelMessage): 'developer' | 'user' | 'assistant' | 'system';
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-language-model.d.ts","sourceRoot":"","sources":["../../src/node/copilot-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEH,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAG7E;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,aAAa;aAOlC,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,mBAAmB;IAC3B,eAAe,EAAE,OAAO;IACxB,wBAAwB,EAAE,OAAO;IACjC,UAAU,EAAE,MAAM;IACzB,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IACzE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,MAAM,GAAG,SAAS;IAClE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM;IAbtD,SAAS,CAAC,aAAa,EAAE,aAAa,CAEpC;gBAGkB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,OAAO,EACxB,wBAAwB,EAAE,OAAO,EACjC,UAAU,EAAE,MAAM,EACN,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EACtD,qBAAqB,EAAE,MAAM,MAAM,GAAG,SAAS,EAC/C,iBAAiB,EAAE,MAAM,MAAM;IAGtD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;cAiD1F,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,yBAAyB,CAAC;cAmBnG,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAwBzH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,gCAAgC,EAAE,GAAG,SAAS;cAYpF,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmB1D,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,0BAA0B,EAAE;IAIzF,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,0BAA0B;IA2CpF,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ;CAQvG"}
1
+ {"version":3,"file":"copilot-language-model.d.ts","sourceRoot":"","sources":["../../src/node/copilot-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEH,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAuC,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAGnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAG7E;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,aAAa;aAOlC,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,mBAAmB;IAC3B,eAAe,EAAE,OAAO;IACxB,wBAAwB,EAAE,OAAO;IACjC,UAAU,EAAE,MAAM;IACzB,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IACzE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,MAAM,GAAG,SAAS;IAClE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM;IAbtD,SAAS,CAAC,aAAa,EAAE,aAAa,CAEpC;gBAGkB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,OAAO,EACxB,wBAAwB,EAAE,OAAO,EACjC,UAAU,EAAE,MAAM,EACN,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EACtD,qBAAqB,EAAE,MAAM,MAAM,GAAG,SAAS,EAC/C,iBAAiB,EAAE,MAAM,MAAM;IAGtD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;cAiD1F,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,yBAAyB,CAAC;cAmBnG,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAwBzH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,gCAAgC,EAAE,GAAG,SAAS;cAYpF,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmB1D,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,0BAA0B,EAAE;IAKzF,SAAS,CAAC,iCAAiC,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,EAAE;IA8BjH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,0BAA0B;IA2CpF,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ;CAQvG"}
@@ -148,7 +148,37 @@ class CopilotLanguageModel {
148
148
  });
149
149
  }
150
150
  processMessages(messages) {
151
- return messages.filter(m => m.type !== 'thinking').map(m => this.toOpenAIMessage(m));
151
+ const converted = messages.filter(m => m.type !== 'thinking').map(m => this.toOpenAIMessage(m));
152
+ return this.mergeConsecutiveAssistantMessages(converted);
153
+ }
154
+ mergeConsecutiveAssistantMessages(messages) {
155
+ const result = [];
156
+ for (const message of messages) {
157
+ const previous = result[result.length - 1];
158
+ if (previous?.role === 'assistant' && message.role === 'assistant') {
159
+ const merged = { ...previous, role: 'assistant' };
160
+ const previousContent = typeof previous.content === 'string' ? previous.content : undefined;
161
+ const nextContent = typeof message.content === 'string' ? message.content : undefined;
162
+ if (previousContent !== undefined && nextContent !== undefined) {
163
+ merged.content = `${previousContent}\n${nextContent}`;
164
+ }
165
+ else if (nextContent !== undefined) {
166
+ merged.content = nextContent;
167
+ }
168
+ else if (previousContent !== undefined) {
169
+ merged.content = previousContent;
170
+ }
171
+ const toolCalls = [...(previous.tool_calls ?? []), ...(message.tool_calls ?? [])];
172
+ if (toolCalls.length > 0) {
173
+ merged.tool_calls = toolCalls;
174
+ }
175
+ result[result.length - 1] = merged;
176
+ }
177
+ else {
178
+ result.push(message);
179
+ }
180
+ }
181
+ return result;
152
182
  }
153
183
  toOpenAIMessage(message) {
154
184
  if (ai_core_1.LanguageModelMessage.isTextMessage(message)) {
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-language-model.js","sourceRoot":"","sources":["../../src/node/copilot-language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot-language-model.js","sourceRoot":"","sources":["../../src/node/copilot-language-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=copilot-language-model.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-language-model.spec.d.ts","sourceRoot":"","sources":["../../src/node/copilot-language-model.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const chai_1 = require("chai");
19
+ const copilot_language_model_1 = require("./copilot-language-model");
20
+ class TestableCopilotLanguageModel extends copilot_language_model_1.CopilotLanguageModel {
21
+ constructor() {
22
+ super('test-id', 'test-model', { status: 'ready' }, true, false, 3, async () => 'test-token', () => undefined, () => 'test-user-agent');
23
+ }
24
+ callProcessMessages(messages) {
25
+ return this.processMessages(messages);
26
+ }
27
+ }
28
+ describe('CopilotLanguageModel - processMessages', () => {
29
+ const model = new TestableCopilotLanguageModel();
30
+ it('should merge an assistant text message followed by an assistant tool_use into a single message', () => {
31
+ const messages = [
32
+ { actor: 'user', type: 'text', text: 'do something' },
33
+ { actor: 'ai', type: 'text', text: 'let me call a tool' },
34
+ { actor: 'ai', type: 'tool_use', id: 'call_1', name: 'foo', input: { x: 1 } }
35
+ ];
36
+ const result = model.callProcessMessages(messages);
37
+ (0, chai_1.expect)(result).to.deep.equal([
38
+ { role: 'user', content: 'do something' },
39
+ {
40
+ role: 'assistant',
41
+ content: 'let me call a tool',
42
+ tool_calls: [{ id: 'call_1', function: { name: 'foo', arguments: JSON.stringify({ x: 1 }) }, type: 'function' }]
43
+ }
44
+ ]);
45
+ });
46
+ it('should merge multiple parallel assistant tool_use messages', () => {
47
+ const messages = [
48
+ { actor: 'user', type: 'text', text: 'do parallel work' },
49
+ { actor: 'ai', type: 'tool_use', id: 'call_1', name: 'foo', input: { x: 1 } },
50
+ { actor: 'ai', type: 'tool_use', id: 'call_2', name: 'bar', input: { y: 2 } }
51
+ ];
52
+ const result = model.callProcessMessages(messages);
53
+ (0, chai_1.expect)(result).to.deep.equal([
54
+ { role: 'user', content: 'do parallel work' },
55
+ {
56
+ role: 'assistant',
57
+ tool_calls: [
58
+ { id: 'call_1', function: { name: 'foo', arguments: JSON.stringify({ x: 1 }) }, type: 'function' },
59
+ { id: 'call_2', function: { name: 'bar', arguments: JSON.stringify({ y: 2 }) }, type: 'function' }
60
+ ]
61
+ }
62
+ ]);
63
+ });
64
+ it('should reproduce the bug scenario from issue #17104', () => {
65
+ const messages = [
66
+ { actor: 'user', type: 'text', text: 'first request' },
67
+ { actor: 'ai', type: 'tool_use', id: 'call_1', name: 'foo', input: {} },
68
+ { actor: 'user', type: 'tool_result', tool_use_id: 'call_1', name: 'foo', content: 'result_1' },
69
+ { actor: 'ai', type: 'text', text: 'follow-up reasoning' },
70
+ { actor: 'ai', type: 'tool_use', id: 'call_2', name: 'bar', input: {} }
71
+ ];
72
+ const result = model.callProcessMessages(messages);
73
+ for (let i = 1; i < result.length; i++) {
74
+ (0, chai_1.expect)(result[i - 1].role === 'assistant' && result[i].role === 'assistant').to.equal(false);
75
+ }
76
+ (0, chai_1.expect)(result).to.have.lengthOf(4);
77
+ });
78
+ it('should leave non-adjacent assistant messages separate', () => {
79
+ const messages = [
80
+ { actor: 'ai', type: 'tool_use', id: 'call_1', name: 'foo', input: {} },
81
+ { actor: 'user', type: 'tool_result', tool_use_id: 'call_1', name: 'foo', content: 'r' },
82
+ { actor: 'ai', type: 'text', text: 'final answer' }
83
+ ];
84
+ const result = model.callProcessMessages(messages);
85
+ (0, chai_1.expect)(result).to.have.lengthOf(3);
86
+ (0, chai_1.expect)(result[2]).to.deep.equal({ role: 'assistant', content: 'final answer' });
87
+ });
88
+ });
89
+ //# sourceMappingURL=copilot-language-model.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-language-model.spec.js","sourceRoot":"","sources":["../../src/node/copilot-language-model.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@theia/ai-copilot",
3
- "version": "1.72.0-next.5+b7e4c26e2",
3
+ "version": "1.72.0-next.52+726081b2a",
4
4
  "description": "Theia - GitHub Copilot Integration",
5
5
  "dependencies": {
6
- "@theia/ai-core": "1.72.0-next.5+b7e4c26e2",
7
- "@theia/ai-openai": "1.72.0-next.5+b7e4c26e2",
8
- "@theia/core": "1.72.0-next.5+b7e4c26e2",
9
- "openai": "^6.33.0",
10
- "tslib": "^2.6.2"
6
+ "@theia/ai-core": "1.72.0-next.52+726081b2a",
7
+ "@theia/ai-openai": "1.72.0-next.52+726081b2a",
8
+ "@theia/core": "1.72.0-next.52+726081b2a",
9
+ "openai": "^6.35.0",
10
+ "tslib": "^2.8.1"
11
11
  },
12
12
  "publishConfig": {
13
13
  "access": "public"
@@ -48,5 +48,5 @@
48
48
  "nyc": {
49
49
  "extends": "../../configs/nyc.json"
50
50
  },
51
- "gitHead": "b7e4c26e21017756fe8bc06e8e77998477da3443"
51
+ "gitHead": "726081b2aa03827611ba4a323da1a6aaf0e9a9b9"
52
52
  }
@@ -15,6 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { nls } from '@theia/core';
18
+ import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider';
18
19
 
19
20
  export const CopilotAuthDialogMessages = Symbol('CopilotAuthDialogMessages');
20
21
 
@@ -42,7 +43,8 @@ export const DEFAULT_COPILOT_AUTH_DIALOG_MESSAGES: CopilotAuthDialogMessages = {
42
43
  get instructions(): string {
43
44
  return nls.localize(
44
45
  'theia/ai/copilot/auth/instructions',
45
- 'To authorize Theia to use GitHub Copilot, visit the URL below and enter the code:'
46
+ 'To authorize {0} to use GitHub Copilot, visit the URL below and enter the code:',
47
+ FrontendApplicationConfigProvider.get().applicationName
46
48
  );
47
49
  },
48
50
  get privacyNotice(): string {
@@ -0,0 +1,106 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { expect } from 'chai';
18
+ import { LanguageModelMessage } from '@theia/ai-core';
19
+ import { ChatCompletionMessageParam } from 'openai/resources';
20
+ import { CopilotLanguageModel } from './copilot-language-model';
21
+
22
+ class TestableCopilotLanguageModel extends CopilotLanguageModel {
23
+ constructor() {
24
+ super(
25
+ 'test-id',
26
+ 'test-model',
27
+ { status: 'ready' },
28
+ true,
29
+ false,
30
+ 3,
31
+ async () => 'test-token',
32
+ () => undefined,
33
+ () => 'test-user-agent'
34
+ );
35
+ }
36
+
37
+ public callProcessMessages(messages: LanguageModelMessage[]): ChatCompletionMessageParam[] {
38
+ return this.processMessages(messages);
39
+ }
40
+ }
41
+
42
+ describe('CopilotLanguageModel - processMessages', () => {
43
+ const model = new TestableCopilotLanguageModel();
44
+
45
+ it('should merge an assistant text message followed by an assistant tool_use into a single message', () => {
46
+ const messages: LanguageModelMessage[] = [
47
+ { actor: 'user', type: 'text', text: 'do something' },
48
+ { actor: 'ai', type: 'text', text: 'let me call a tool' },
49
+ { actor: 'ai', type: 'tool_use', id: 'call_1', name: 'foo', input: { x: 1 } }
50
+ ];
51
+ const result = model.callProcessMessages(messages);
52
+ expect(result).to.deep.equal([
53
+ { role: 'user', content: 'do something' },
54
+ {
55
+ role: 'assistant',
56
+ content: 'let me call a tool',
57
+ tool_calls: [{ id: 'call_1', function: { name: 'foo', arguments: JSON.stringify({ x: 1 }) }, type: 'function' }]
58
+ }
59
+ ]);
60
+ });
61
+
62
+ it('should merge multiple parallel assistant tool_use messages', () => {
63
+ const messages: LanguageModelMessage[] = [
64
+ { actor: 'user', type: 'text', text: 'do parallel work' },
65
+ { actor: 'ai', type: 'tool_use', id: 'call_1', name: 'foo', input: { x: 1 } },
66
+ { actor: 'ai', type: 'tool_use', id: 'call_2', name: 'bar', input: { y: 2 } }
67
+ ];
68
+ const result = model.callProcessMessages(messages);
69
+ expect(result).to.deep.equal([
70
+ { role: 'user', content: 'do parallel work' },
71
+ {
72
+ role: 'assistant',
73
+ tool_calls: [
74
+ { id: 'call_1', function: { name: 'foo', arguments: JSON.stringify({ x: 1 }) }, type: 'function' },
75
+ { id: 'call_2', function: { name: 'bar', arguments: JSON.stringify({ y: 2 }) }, type: 'function' }
76
+ ]
77
+ }
78
+ ]);
79
+ });
80
+
81
+ it('should reproduce the bug scenario from issue #17104', () => {
82
+ const messages: LanguageModelMessage[] = [
83
+ { actor: 'user', type: 'text', text: 'first request' },
84
+ { actor: 'ai', type: 'tool_use', id: 'call_1', name: 'foo', input: {} },
85
+ { actor: 'user', type: 'tool_result', tool_use_id: 'call_1', name: 'foo', content: 'result_1' },
86
+ { actor: 'ai', type: 'text', text: 'follow-up reasoning' },
87
+ { actor: 'ai', type: 'tool_use', id: 'call_2', name: 'bar', input: {} }
88
+ ];
89
+ const result = model.callProcessMessages(messages);
90
+ for (let i = 1; i < result.length; i++) {
91
+ expect(result[i - 1].role === 'assistant' && result[i].role === 'assistant').to.equal(false);
92
+ }
93
+ expect(result).to.have.lengthOf(4);
94
+ });
95
+
96
+ it('should leave non-adjacent assistant messages separate', () => {
97
+ const messages: LanguageModelMessage[] = [
98
+ { actor: 'ai', type: 'tool_use', id: 'call_1', name: 'foo', input: {} },
99
+ { actor: 'user', type: 'tool_result', tool_use_id: 'call_1', name: 'foo', content: 'r' },
100
+ { actor: 'ai', type: 'text', text: 'final answer' }
101
+ ];
102
+ const result = model.callProcessMessages(messages);
103
+ expect(result).to.have.lengthOf(3);
104
+ expect(result[2]).to.deep.equal({ role: 'assistant', content: 'final answer' });
105
+ });
106
+ });
@@ -28,7 +28,7 @@ import {
28
28
  import { CancellationToken } from '@theia/core';
29
29
  import OpenAI from 'openai';
30
30
  import { RunnableToolFunctionWithoutParse } from 'openai/lib/RunnableFunction';
31
- import { ChatCompletionMessageParam } from 'openai/resources';
31
+ import { ChatCompletionAssistantMessageParam, ChatCompletionMessageParam } from 'openai/resources';
32
32
  import { StreamingAsyncIterator } from '@theia/ai-openai/lib/node/openai-streaming-iterator';
33
33
  import { COPILOT_PROVIDER_ID, getCopilotApiBaseUrl } from '../common';
34
34
  import type { RunnerOptions } from 'openai/lib/AbstractChatCompletionRunner';
@@ -184,7 +184,38 @@ export class CopilotLanguageModel implements LanguageModel {
184
184
  }
185
185
 
186
186
  protected processMessages(messages: LanguageModelMessage[]): ChatCompletionMessageParam[] {
187
- return messages.filter(m => m.type !== 'thinking').map(m => this.toOpenAIMessage(m));
187
+ const converted = messages.filter(m => m.type !== 'thinking').map(m => this.toOpenAIMessage(m));
188
+ return this.mergeConsecutiveAssistantMessages(converted);
189
+ }
190
+
191
+ protected mergeConsecutiveAssistantMessages(messages: ChatCompletionMessageParam[]): ChatCompletionMessageParam[] {
192
+ const result: ChatCompletionMessageParam[] = [];
193
+ for (const message of messages) {
194
+ const previous = result[result.length - 1];
195
+ if (previous?.role === 'assistant' && message.role === 'assistant') {
196
+ const merged: ChatCompletionAssistantMessageParam = { ...previous, role: 'assistant' };
197
+
198
+ const previousContent = typeof previous.content === 'string' ? previous.content : undefined;
199
+ const nextContent = typeof message.content === 'string' ? message.content : undefined;
200
+ if (previousContent !== undefined && nextContent !== undefined) {
201
+ merged.content = `${previousContent}\n${nextContent}`;
202
+ } else if (nextContent !== undefined) {
203
+ merged.content = nextContent;
204
+ } else if (previousContent !== undefined) {
205
+ merged.content = previousContent;
206
+ }
207
+
208
+ const toolCalls = [...(previous.tool_calls ?? []), ...(message.tool_calls ?? [])];
209
+ if (toolCalls.length > 0) {
210
+ merged.tool_calls = toolCalls;
211
+ }
212
+
213
+ result[result.length - 1] = merged;
214
+ } else {
215
+ result.push(message);
216
+ }
217
+ }
218
+ return result;
188
219
  }
189
220
 
190
221
  protected toOpenAIMessage(message: LanguageModelMessage): ChatCompletionMessageParam {