@theia/ai-copilot 1.71.0-next.8 → 1.71.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/lib/browser/copilot-auth-dialog-messages.d.ts +19 -0
- package/lib/browser/copilot-auth-dialog-messages.d.ts.map +1 -0
- package/lib/browser/copilot-auth-dialog-messages.js +36 -0
- package/lib/browser/copilot-auth-dialog-messages.js.map +1 -0
- package/lib/browser/copilot-auth-dialog.d.ts +2 -0
- package/lib/browser/copilot-auth-dialog.d.ts.map +1 -1
- package/lib/browser/copilot-auth-dialog.js +7 -3
- package/lib/browser/copilot-auth-dialog.js.map +1 -1
- package/lib/browser/copilot-frontend-module.d.ts.map +1 -1
- package/lib/browser/copilot-frontend-module.js +6 -3
- package/lib/browser/copilot-frontend-module.js.map +1 -1
- package/lib/browser/index.d.ts +1 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +1 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/common/copilot-language-models-manager.d.ts +0 -1
- package/lib/common/copilot-language-models-manager.d.ts.map +1 -1
- package/lib/common/copilot-language-models-manager.js +1 -2
- package/lib/common/copilot-language-models-manager.js.map +1 -1
- package/lib/common/copilot-oauth-config.d.ts +33 -0
- package/lib/common/copilot-oauth-config.d.ts.map +1 -0
- package/lib/common/copilot-oauth-config.js +29 -0
- package/lib/common/copilot-oauth-config.js.map +1 -0
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -0
- package/lib/common/index.js.map +1 -1
- package/lib/node/copilot-auth-service-impl.d.ts +2 -0
- package/lib/node/copilot-auth-service-impl.d.ts.map +1 -1
- package/lib/node/copilot-auth-service-impl.js +15 -14
- package/lib/node/copilot-auth-service-impl.js.map +1 -1
- package/lib/node/copilot-auth-service-impl.spec.js +46 -0
- package/lib/node/copilot-auth-service-impl.spec.js.map +1 -1
- package/lib/node/copilot-backend-module.d.ts.map +1 -1
- package/lib/node/copilot-backend-module.js +2 -0
- package/lib/node/copilot-backend-module.js.map +1 -1
- package/lib/node/copilot-language-model.d.ts +3 -3
- package/lib/node/copilot-language-model.d.ts.map +1 -1
- package/lib/node/copilot-language-model.js +14 -20
- package/lib/node/copilot-language-model.js.map +1 -1
- package/lib/node/copilot-language-models-manager-impl.d.ts +3 -2
- package/lib/node/copilot-language-models-manager-impl.d.ts.map +1 -1
- package/lib/node/copilot-language-models-manager-impl.js +7 -6
- package/lib/node/copilot-language-models-manager-impl.js.map +1 -1
- package/package.json +7 -7
- package/src/browser/copilot-auth-dialog-messages.ts +55 -0
- package/src/browser/copilot-auth-dialog.tsx +6 -5
- package/src/browser/copilot-frontend-module.ts +7 -4
- package/src/browser/index.ts +1 -0
- package/src/common/copilot-language-models-manager.ts +0 -1
- package/src/common/copilot-oauth-config.ts +55 -0
- package/src/common/index.ts +1 -0
- package/src/node/copilot-auth-service-impl.spec.ts +59 -0
- package/src/node/copilot-auth-service-impl.ts +15 -15
- package/src/node/copilot-backend-module.ts +2 -0
- package/src/node/copilot-language-model.ts +14 -29
- package/src/node/copilot-language-models-manager-impl.ts +8 -7
|
@@ -19,6 +19,7 @@ const chai_1 = require("chai");
|
|
|
19
19
|
const sinon = require("sinon");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
21
|
const key_store_1 = require("@theia/core/lib/common/key-store");
|
|
22
|
+
const copilot_oauth_config_1 = require("../common/copilot-oauth-config");
|
|
22
23
|
const copilot_auth_service_impl_1 = require("./copilot-auth-service-impl");
|
|
23
24
|
describe('CopilotAuthServiceImpl', () => {
|
|
24
25
|
let authService;
|
|
@@ -36,6 +37,7 @@ describe('CopilotAuthServiceImpl', () => {
|
|
|
36
37
|
keys: sinon.stub().resolves([])
|
|
37
38
|
};
|
|
38
39
|
container.bind(key_store_1.KeyStoreService).toConstantValue(keyStoreService);
|
|
40
|
+
container.bind(copilot_oauth_config_1.CopilotOAuthConfig).toConstantValue(copilot_oauth_config_1.DEFAULT_COPILOT_OAUTH_CONFIG);
|
|
39
41
|
container.bind(copilot_auth_service_impl_1.CopilotAuthServiceImpl).toSelf().inSingletonScope();
|
|
40
42
|
authService = container.get(copilot_auth_service_impl_1.CopilotAuthServiceImpl);
|
|
41
43
|
});
|
|
@@ -145,4 +147,48 @@ describe('CopilotAuthServiceImpl', () => {
|
|
|
145
147
|
});
|
|
146
148
|
});
|
|
147
149
|
});
|
|
150
|
+
describe('CopilotAuthServiceImpl with custom CopilotOAuthConfig', () => {
|
|
151
|
+
const customConfig = {
|
|
152
|
+
clientId: 'CustomClientId',
|
|
153
|
+
userAgent: 'MyApp/1.0.0',
|
|
154
|
+
keystoreService: 'myapp-copilot',
|
|
155
|
+
keystoreAccount: 'myapp-github'
|
|
156
|
+
};
|
|
157
|
+
let authService;
|
|
158
|
+
let getPasswordStub;
|
|
159
|
+
let deletePasswordStub;
|
|
160
|
+
beforeEach(() => {
|
|
161
|
+
const container = new inversify_1.Container();
|
|
162
|
+
getPasswordStub = sinon.stub().resolves(undefined);
|
|
163
|
+
deletePasswordStub = sinon.stub().resolves(true);
|
|
164
|
+
const keyStoreService = {
|
|
165
|
+
setPassword: sinon.stub().resolves(),
|
|
166
|
+
getPassword: getPasswordStub,
|
|
167
|
+
deletePassword: deletePasswordStub,
|
|
168
|
+
findPassword: sinon.stub().resolves(undefined),
|
|
169
|
+
findCredentials: sinon.stub().resolves([]),
|
|
170
|
+
keys: sinon.stub().resolves([])
|
|
171
|
+
};
|
|
172
|
+
container.bind(key_store_1.KeyStoreService).toConstantValue(keyStoreService);
|
|
173
|
+
container.bind(copilot_oauth_config_1.CopilotOAuthConfig).toConstantValue(customConfig);
|
|
174
|
+
container.bind(copilot_auth_service_impl_1.CopilotAuthServiceImpl).toSelf().inSingletonScope();
|
|
175
|
+
authService = container.get(copilot_auth_service_impl_1.CopilotAuthServiceImpl);
|
|
176
|
+
});
|
|
177
|
+
afterEach(() => {
|
|
178
|
+
sinon.restore();
|
|
179
|
+
});
|
|
180
|
+
it('should read credentials from the custom keystore service and account', async () => {
|
|
181
|
+
getPasswordStub.resolves(JSON.stringify({
|
|
182
|
+
accessToken: 'gho_custom_token',
|
|
183
|
+
accountLabel: 'customuser'
|
|
184
|
+
}));
|
|
185
|
+
const token = await authService.getAccessToken();
|
|
186
|
+
(0, chai_1.expect)(token).to.equal('gho_custom_token');
|
|
187
|
+
(0, chai_1.expect)(getPasswordStub.calledOnceWith(customConfig.keystoreService, customConfig.keystoreAccount)).to.be.true;
|
|
188
|
+
});
|
|
189
|
+
it('should delete credentials from the custom keystore service and account on sign out', async () => {
|
|
190
|
+
await authService.signOut();
|
|
191
|
+
(0, chai_1.expect)(deletePasswordStub.calledOnceWith(customConfig.keystoreService, customConfig.keystoreAccount)).to.be.true;
|
|
192
|
+
});
|
|
193
|
+
});
|
|
148
194
|
//# sourceMappingURL=copilot-auth-service-impl.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-auth-service-impl.spec.js","sourceRoot":"","sources":["../../src/node/copilot-auth-service-impl.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"copilot-auth-service-impl.spec.js","sourceRoot":"","sources":["../../src/node/copilot-auth-service-impl.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/copilot-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"copilot-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/copilot-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAwC/D,wBAGG"}
|
|
@@ -19,6 +19,7 @@ const inversify_1 = require("@theia/core/shared/inversify");
|
|
|
19
19
|
const core_1 = require("@theia/core");
|
|
20
20
|
const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
|
|
21
21
|
const common_1 = require("../common");
|
|
22
|
+
const copilot_oauth_config_1 = require("../common/copilot-oauth-config");
|
|
22
23
|
const copilot_language_models_manager_impl_1 = require("./copilot-language-models-manager-impl");
|
|
23
24
|
const copilot_auth_service_impl_1 = require("./copilot-auth-service-impl");
|
|
24
25
|
const copilotConnectionModule = connection_container_module_1.ConnectionContainerModule.create(({ bind }) => {
|
|
@@ -34,6 +35,7 @@ const copilotConnectionModule = connection_container_module_1.ConnectionContaine
|
|
|
34
35
|
bind(core_1.ConnectionHandler).toDynamicValue(ctx => new core_1.RpcConnectionHandler(common_1.COPILOT_LANGUAGE_MODELS_MANAGER_PATH, () => ctx.container.get(common_1.CopilotLanguageModelsManager))).inSingletonScope();
|
|
35
36
|
});
|
|
36
37
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
38
|
+
bind(copilot_oauth_config_1.CopilotOAuthConfig).toConstantValue(copilot_oauth_config_1.DEFAULT_COPILOT_OAUTH_CONFIG);
|
|
37
39
|
bind(connection_container_module_1.ConnectionContainerModule).toConstantValue(copilotConnectionModule);
|
|
38
40
|
});
|
|
39
41
|
//# sourceMappingURL=copilot-backend-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-backend-module.js","sourceRoot":"","sources":["../../src/node/copilot-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,4DAA+D;AAC/D,sCAAsE;AACtE,4GAAuG;AACvG,sCAMmB;AACnB,iGAA0F;AAC1F,2EAAqE;AAErE,MAAM,uBAAuB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC1E,IAAI,CAAC,kDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,2BAAkB,CAAC,CAAC,SAAS,CAAC,kDAAsB,CAAC,CAAC;IAE3D,IAAI,CAAC,uEAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,qCAA4B,CAAC,CAAC,SAAS,CAAC,uEAAgC,CAAC,CAAC;IAE/E,IAAI,CAAC,wBAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,2BAAoB,CACpB,kCAAyB,EACzB,MAAM,CAAC,EAAE;QACL,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAyB,2BAAkB,CAAC,CAAC;QAClF,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,WAAW,CAAC;IACvB,CAAC,CACJ,CACJ,CAAC,gBAAgB,EAAE,CAAC;IAErB,IAAI,CAAC,wBAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,2BAAoB,CACpB,6CAAoC,EACpC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,qCAA4B,CAAC,CACxD,CACJ,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"copilot-backend-module.js","sourceRoot":"","sources":["../../src/node/copilot-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,4DAA+D;AAC/D,sCAAsE;AACtE,4GAAuG;AACvG,sCAMmB;AACnB,yEAAkG;AAClG,iGAA0F;AAC1F,2EAAqE;AAErE,MAAM,uBAAuB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC1E,IAAI,CAAC,kDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,2BAAkB,CAAC,CAAC,SAAS,CAAC,kDAAsB,CAAC,CAAC;IAE3D,IAAI,CAAC,uEAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,qCAA4B,CAAC,CAAC,SAAS,CAAC,uEAAgC,CAAC,CAAC;IAE/E,IAAI,CAAC,wBAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,2BAAoB,CACpB,kCAAyB,EACzB,MAAM,CAAC,EAAE;QACL,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAyB,2BAAkB,CAAC,CAAC;QAClF,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,WAAW,CAAC;IACvB,CAAC,CACJ,CACJ,CAAC,gBAAgB,EAAE,CAAC;IAErB,IAAI,CAAC,wBAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,2BAAoB,CACpB,6CAAoC,EACpC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,qCAA4B,CAAC,CACxD,CACJ,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,yCAAkB,CAAC,CAAC,eAAe,CAAC,mDAA4B,CAAC,CAAC;IACvE,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LanguageModel, LanguageModelMessage, LanguageModelParsedResponse, LanguageModelRequest, LanguageModelResponse, LanguageModelStatus, LanguageModelTextResponse,
|
|
1
|
+
import { LanguageModel, LanguageModelMessage, LanguageModelParsedResponse, LanguageModelRequest, LanguageModelResponse, LanguageModelStatus, LanguageModelTextResponse, UserRequest } from '@theia/ai-core';
|
|
2
2
|
import { CancellationToken } from '@theia/core';
|
|
3
3
|
import OpenAI from 'openai';
|
|
4
4
|
import { RunnableToolFunctionWithoutParse } from 'openai/lib/RunnableFunction';
|
|
@@ -17,9 +17,9 @@ export declare class CopilotLanguageModel implements LanguageModel {
|
|
|
17
17
|
maxRetries: number;
|
|
18
18
|
protected readonly accessTokenProvider: () => Promise<string | undefined>;
|
|
19
19
|
protected readonly enterpriseUrlProvider: () => string | undefined;
|
|
20
|
-
protected readonly
|
|
20
|
+
protected readonly userAgentProvider: () => string;
|
|
21
21
|
protected runnerOptions: RunnerOptions;
|
|
22
|
-
constructor(id: string, model: string, status: LanguageModelStatus, enableStreaming: boolean, supportsStructuredOutput: boolean, maxRetries: number, accessTokenProvider: () => Promise<string | undefined>, enterpriseUrlProvider: () => string | undefined,
|
|
22
|
+
constructor(id: string, model: string, status: LanguageModelStatus, enableStreaming: boolean, supportsStructuredOutput: boolean, maxRetries: number, accessTokenProvider: () => Promise<string | undefined>, enterpriseUrlProvider: () => string | undefined, userAgentProvider: () => string);
|
|
23
23
|
protected getSettings(request: LanguageModelRequest): Record<string, unknown>;
|
|
24
24
|
request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
|
|
25
25
|
protected handleNonStreamingRequest(openai: OpenAI, request: UserRequest): Promise<LanguageModelTextResponse>;
|
|
@@ -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,
|
|
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"}
|
|
@@ -25,7 +25,7 @@ const common_1 = require("../common");
|
|
|
25
25
|
* Uses the OpenAI SDK to communicate with the Copilot API.
|
|
26
26
|
*/
|
|
27
27
|
class CopilotLanguageModel {
|
|
28
|
-
constructor(id, model, status, enableStreaming, supportsStructuredOutput, maxRetries, accessTokenProvider, enterpriseUrlProvider,
|
|
28
|
+
constructor(id, model, status, enableStreaming, supportsStructuredOutput, maxRetries, accessTokenProvider, enterpriseUrlProvider, userAgentProvider) {
|
|
29
29
|
this.id = id;
|
|
30
30
|
this.model = model;
|
|
31
31
|
this.status = status;
|
|
@@ -34,7 +34,7 @@ class CopilotLanguageModel {
|
|
|
34
34
|
this.maxRetries = maxRetries;
|
|
35
35
|
this.accessTokenProvider = accessTokenProvider;
|
|
36
36
|
this.enterpriseUrlProvider = enterpriseUrlProvider;
|
|
37
|
-
this.
|
|
37
|
+
this.userAgentProvider = userAgentProvider;
|
|
38
38
|
this.runnerOptions = {
|
|
39
39
|
maxChatCompletions: 100
|
|
40
40
|
};
|
|
@@ -81,7 +81,7 @@ class CopilotLanguageModel {
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
84
|
-
return { stream: new openai_streaming_iterator_1.StreamingAsyncIterator(runner,
|
|
84
|
+
return { stream: new openai_streaming_iterator_1.StreamingAsyncIterator(runner, cancellationToken) };
|
|
85
85
|
}
|
|
86
86
|
async handleNonStreamingRequest(openai, request) {
|
|
87
87
|
const settings = this.getSettings(request);
|
|
@@ -91,15 +91,12 @@ class CopilotLanguageModel {
|
|
|
91
91
|
...settings
|
|
92
92
|
});
|
|
93
93
|
const message = response.choices[0].message;
|
|
94
|
-
if (this.tokenUsageService && response.usage) {
|
|
95
|
-
await this.tokenUsageService.recordTokenUsage(this.id, {
|
|
96
|
-
inputTokens: response.usage.prompt_tokens,
|
|
97
|
-
outputTokens: response.usage.completion_tokens,
|
|
98
|
-
requestId: request.requestId
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
94
|
return {
|
|
102
|
-
text: message.content ?? ''
|
|
95
|
+
text: message.content ?? '',
|
|
96
|
+
usage: response.usage ? {
|
|
97
|
+
input_tokens: response.usage.prompt_tokens,
|
|
98
|
+
output_tokens: response.usage.completion_tokens,
|
|
99
|
+
} : undefined
|
|
103
100
|
};
|
|
104
101
|
}
|
|
105
102
|
async handleStructuredOutputRequest(openai, request) {
|
|
@@ -114,16 +111,13 @@ class CopilotLanguageModel {
|
|
|
114
111
|
if (message.refusal || message.parsed === undefined) {
|
|
115
112
|
console.error('Error in Copilot chat completion:', JSON.stringify(message));
|
|
116
113
|
}
|
|
117
|
-
if (this.tokenUsageService && result.usage) {
|
|
118
|
-
await this.tokenUsageService.recordTokenUsage(this.id, {
|
|
119
|
-
inputTokens: result.usage.prompt_tokens,
|
|
120
|
-
outputTokens: result.usage.completion_tokens,
|
|
121
|
-
requestId: request.requestId
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
114
|
return {
|
|
125
115
|
content: message.content ?? '',
|
|
126
|
-
parsed: message.parsed
|
|
116
|
+
parsed: message.parsed,
|
|
117
|
+
usage: result.usage ? {
|
|
118
|
+
input_tokens: result.usage.prompt_tokens,
|
|
119
|
+
output_tokens: result.usage.completion_tokens,
|
|
120
|
+
} : undefined
|
|
127
121
|
};
|
|
128
122
|
}
|
|
129
123
|
createTools(request) {
|
|
@@ -147,7 +141,7 @@ class CopilotLanguageModel {
|
|
|
147
141
|
apiKey: accessToken,
|
|
148
142
|
baseURL,
|
|
149
143
|
defaultHeaders: {
|
|
150
|
-
'User-Agent':
|
|
144
|
+
'User-Agent': this.userAgentProvider(),
|
|
151
145
|
'Openai-Intent': 'conversation-edits',
|
|
152
146
|
'X-Initiator': 'user'
|
|
153
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-language-model.js","sourceRoot":"","sources":["../../src/node/copilot-language-model.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,
|
|
1
|
+
{"version":3,"file":"copilot-language-model.js","sourceRoot":"","sources":["../../src/node/copilot-language-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { LanguageModelRegistry, LanguageModelStatus
|
|
1
|
+
import { LanguageModelRegistry, LanguageModelStatus } from '@theia/ai-core';
|
|
2
2
|
import { Disposable, DisposableCollection } from '@theia/core';
|
|
3
3
|
import { CopilotLanguageModelsManager, CopilotModelDescription } from '../common';
|
|
4
|
+
import { CopilotOAuthConfig } from '../common/copilot-oauth-config';
|
|
4
5
|
import { CopilotAuthServiceImpl } from './copilot-auth-service-impl';
|
|
5
6
|
/**
|
|
6
7
|
* Backend implementation of the Copilot language models manager.
|
|
@@ -8,8 +9,8 @@ import { CopilotAuthServiceImpl } from './copilot-auth-service-impl';
|
|
|
8
9
|
*/
|
|
9
10
|
export declare class CopilotLanguageModelsManagerImpl implements CopilotLanguageModelsManager, Disposable {
|
|
10
11
|
protected readonly languageModelRegistry: LanguageModelRegistry;
|
|
11
|
-
protected readonly tokenUsageService: TokenUsageService;
|
|
12
12
|
protected readonly authService: CopilotAuthServiceImpl;
|
|
13
|
+
protected readonly oauthConfig: CopilotOAuthConfig;
|
|
13
14
|
protected enterpriseUrl: string | undefined;
|
|
14
15
|
protected readonly toDispose: DisposableCollection;
|
|
15
16
|
protected init(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/copilot-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"copilot-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/copilot-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAA6C,MAAM,WAAW,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;GAGG;AACH,qBACa,gCAAiC,YAAW,4BAA4B,EAAE,UAAU;IAG7F,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAEnD,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAG1D,SAAS,CAAC,IAAI,IAAI,IAAI;IAMtB,OAAO,IAAI,IAAI;IAIf,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;cAI/B,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAQzD,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoClG,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAI3C,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAapC,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmCjD;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,GAAG,MAAM,EAAE;CAyB3G"}
|
|
@@ -21,6 +21,7 @@ const ai_core_1 = require("@theia/ai-core");
|
|
|
21
21
|
const core_1 = require("@theia/core");
|
|
22
22
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
23
|
const common_1 = require("../common");
|
|
24
|
+
const copilot_oauth_config_1 = require("../common/copilot-oauth-config");
|
|
24
25
|
const copilot_language_model_1 = require("./copilot-language-model");
|
|
25
26
|
const copilot_auth_service_impl_1 = require("./copilot-auth-service-impl");
|
|
26
27
|
/**
|
|
@@ -68,7 +69,7 @@ let CopilotLanguageModelsManagerImpl = class CopilotLanguageModelsManagerImpl {
|
|
|
68
69
|
}
|
|
69
70
|
else {
|
|
70
71
|
this.languageModelRegistry.addLanguageModels([
|
|
71
|
-
new copilot_language_model_1.CopilotLanguageModel(modelDescription.id, modelDescription.model, status, modelDescription.enableStreaming, modelDescription.supportsStructuredOutput, modelDescription.maxRetries, () => this.authService.getAccessToken(), () => this.enterpriseUrl, this.
|
|
72
|
+
new copilot_language_model_1.CopilotLanguageModel(modelDescription.id, modelDescription.model, status, modelDescription.enableStreaming, modelDescription.supportsStructuredOutput, modelDescription.maxRetries, () => this.authService.getAccessToken(), () => this.enterpriseUrl, () => this.oauthConfig.userAgent)
|
|
72
73
|
]);
|
|
73
74
|
}
|
|
74
75
|
}
|
|
@@ -97,7 +98,7 @@ let CopilotLanguageModelsManagerImpl = class CopilotLanguageModelsManagerImpl {
|
|
|
97
98
|
const response = await fetch(`${baseURL}/models`, {
|
|
98
99
|
headers: {
|
|
99
100
|
'Authorization': `Bearer ${accessToken}`,
|
|
100
|
-
'User-Agent':
|
|
101
|
+
'User-Agent': this.oauthConfig.userAgent,
|
|
101
102
|
'Accept': 'application/json'
|
|
102
103
|
}
|
|
103
104
|
});
|
|
@@ -154,14 +155,14 @@ tslib_1.__decorate([
|
|
|
154
155
|
(0, inversify_1.inject)(ai_core_1.LanguageModelRegistry),
|
|
155
156
|
tslib_1.__metadata("design:type", Object)
|
|
156
157
|
], CopilotLanguageModelsManagerImpl.prototype, "languageModelRegistry", void 0);
|
|
157
|
-
tslib_1.__decorate([
|
|
158
|
-
(0, inversify_1.inject)(ai_core_1.TokenUsageService),
|
|
159
|
-
tslib_1.__metadata("design:type", Object)
|
|
160
|
-
], CopilotLanguageModelsManagerImpl.prototype, "tokenUsageService", void 0);
|
|
161
158
|
tslib_1.__decorate([
|
|
162
159
|
(0, inversify_1.inject)(copilot_auth_service_impl_1.CopilotAuthServiceImpl),
|
|
163
160
|
tslib_1.__metadata("design:type", copilot_auth_service_impl_1.CopilotAuthServiceImpl)
|
|
164
161
|
], CopilotLanguageModelsManagerImpl.prototype, "authService", void 0);
|
|
162
|
+
tslib_1.__decorate([
|
|
163
|
+
(0, inversify_1.inject)(copilot_oauth_config_1.CopilotOAuthConfig),
|
|
164
|
+
tslib_1.__metadata("design:type", Object)
|
|
165
|
+
], CopilotLanguageModelsManagerImpl.prototype, "oauthConfig", void 0);
|
|
165
166
|
tslib_1.__decorate([
|
|
166
167
|
(0, inversify_1.postConstruct)(),
|
|
167
168
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-language-models-manager-impl.js","sourceRoot":"","sources":["../../src/node/copilot-language-models-manager-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,
|
|
1
|
+
{"version":3,"file":"copilot-language-models-manager-impl.js","sourceRoot":"","sources":["../../src/node/copilot-language-models-manager-impl.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-copilot",
|
|
3
|
-
"version": "1.71.0
|
|
3
|
+
"version": "1.71.0",
|
|
4
4
|
"description": "Theia - GitHub Copilot Integration",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-core": "1.71.0
|
|
7
|
-
"@theia/ai-openai": "1.71.0
|
|
8
|
-
"@theia/core": "1.71.0
|
|
9
|
-
"openai": "^6.
|
|
6
|
+
"@theia/ai-core": "1.71.0",
|
|
7
|
+
"@theia/ai-openai": "1.71.0",
|
|
8
|
+
"@theia/core": "1.71.0",
|
|
9
|
+
"openai": "^6.33.0",
|
|
10
10
|
"tslib": "^2.6.2"
|
|
11
11
|
},
|
|
12
12
|
"publishConfig": {
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"watch": "theiaext watch"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@theia/ext-scripts": "1.
|
|
46
|
+
"@theia/ext-scripts": "1.71.0"
|
|
47
47
|
},
|
|
48
48
|
"nyc": {
|
|
49
49
|
"extends": "../../configs/nyc.json"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "d8a596fc99f0a8e68b466828ed162569d79e3a71"
|
|
52
52
|
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 EclipseSource GmbH and others.
|
|
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 { nls } from '@theia/core';
|
|
18
|
+
|
|
19
|
+
export const CopilotAuthDialogMessages = Symbol('CopilotAuthDialogMessages');
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Localizable messages displayed in the {@link CopilotAuthDialog}.
|
|
23
|
+
* Bind this symbol to a custom value in your frontend container module to replace
|
|
24
|
+
* any message that references "Theia" with your own application name.
|
|
25
|
+
*/
|
|
26
|
+
export interface CopilotAuthDialogMessages {
|
|
27
|
+
/** Dialog title. */
|
|
28
|
+
readonly title: string;
|
|
29
|
+
/** Instructions shown while waiting for the user to enter the code on GitHub. */
|
|
30
|
+
readonly instructions: string;
|
|
31
|
+
/** Privacy notice shown below the authorization code. */
|
|
32
|
+
readonly privacyNotice: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Default messages for the built-in Theia Copilot integration.
|
|
37
|
+
*/
|
|
38
|
+
export const DEFAULT_COPILOT_AUTH_DIALOG_MESSAGES: CopilotAuthDialogMessages = {
|
|
39
|
+
get title(): string {
|
|
40
|
+
return nls.localize('theia/ai/copilot/commands/signIn', 'Sign in to GitHub Copilot');
|
|
41
|
+
},
|
|
42
|
+
get instructions(): string {
|
|
43
|
+
return nls.localize(
|
|
44
|
+
'theia/ai/copilot/auth/instructions',
|
|
45
|
+
'To authorize Theia to use GitHub Copilot, visit the URL below and enter the code:'
|
|
46
|
+
);
|
|
47
|
+
},
|
|
48
|
+
get privacyNotice(): string {
|
|
49
|
+
return nls.localize(
|
|
50
|
+
'theia/ai/copilot/auth/privacy',
|
|
51
|
+
'Theia is an open-source project. We only request access to your GitHub username ' +
|
|
52
|
+
'to connect to GitHub Copilot services — no other data is accessed or stored.'
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
@@ -22,6 +22,7 @@ import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
|
|
|
22
22
|
import { WindowService } from '@theia/core/lib/browser/window/window-service';
|
|
23
23
|
import { CommandService, nls } from '@theia/core';
|
|
24
24
|
import { CopilotAuthService, DeviceCodeResponse } from '../common/copilot-auth-service';
|
|
25
|
+
import { CopilotAuthDialogMessages } from './copilot-auth-dialog-messages';
|
|
25
26
|
|
|
26
27
|
const OPEN_AI_CONFIG_VIEW_COMMAND = 'aiConfiguration:open';
|
|
27
28
|
|
|
@@ -47,6 +48,9 @@ export class CopilotAuthDialog extends ReactDialog<boolean> {
|
|
|
47
48
|
@inject(CommandService)
|
|
48
49
|
protected readonly commandService: CommandService;
|
|
49
50
|
|
|
51
|
+
@inject(CopilotAuthDialogMessages)
|
|
52
|
+
protected readonly messages: CopilotAuthDialogMessages;
|
|
53
|
+
|
|
50
54
|
protected state: AuthDialogState = 'loading';
|
|
51
55
|
protected deviceCodeResponse?: DeviceCodeResponse;
|
|
52
56
|
protected errorMessage?: string;
|
|
@@ -209,8 +213,7 @@ export class CopilotAuthDialog extends ReactDialog<boolean> {
|
|
|
209
213
|
return (
|
|
210
214
|
<div className="theia-copilot-auth-waiting">
|
|
211
215
|
<p className="theia-copilot-auth-instructions">
|
|
212
|
-
{
|
|
213
|
-
'To authorize Theia to use GitHub Copilot, visit the URL below and enter the code:')}
|
|
216
|
+
{this.messages.instructions}
|
|
214
217
|
</p>
|
|
215
218
|
|
|
216
219
|
<div className="theia-copilot-auth-code-section">
|
|
@@ -247,9 +250,7 @@ export class CopilotAuthDialog extends ReactDialog<boolean> {
|
|
|
247
250
|
|
|
248
251
|
<div className="theia-copilot-auth-privacy">
|
|
249
252
|
<p className="theia-copilot-auth-privacy-text">
|
|
250
|
-
{
|
|
251
|
-
'Theia is an open-source project. We only request access to your GitHub username ' +
|
|
252
|
-
'to connect to GitHub Copilot services — no other data is accessed or stored.')}
|
|
253
|
+
{this.messages.privacyNotice}
|
|
253
254
|
</p>
|
|
254
255
|
<p className="theia-copilot-auth-tos-text">
|
|
255
256
|
{nls.localize('theia/ai/copilot/auth/tos',
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import '../../src/browser/style/index.css';
|
|
18
18
|
|
|
19
19
|
import { ContainerModule } from '@theia/core/shared/inversify';
|
|
20
|
-
import { CommandContribution, Emitter, Event,
|
|
20
|
+
import { CommandContribution, Emitter, Event, PreferenceContribution } from '@theia/core';
|
|
21
21
|
import {
|
|
22
22
|
FrontendApplicationContribution,
|
|
23
23
|
RemoteConnectionProvider,
|
|
@@ -36,6 +36,7 @@ import { CopilotFrontendApplicationContribution } from './copilot-frontend-appli
|
|
|
36
36
|
import { CopilotCommandContribution } from './copilot-command-contribution';
|
|
37
37
|
import { CopilotStatusBarContribution } from './copilot-status-bar-contribution';
|
|
38
38
|
import { CopilotAuthDialog, CopilotAuthDialogProps } from './copilot-auth-dialog';
|
|
39
|
+
import { CopilotAuthDialogMessages, DEFAULT_COPILOT_AUTH_DIALOG_MESSAGES } from './copilot-auth-dialog-messages';
|
|
39
40
|
|
|
40
41
|
class CopilotAuthServiceClientImpl implements CopilotAuthServiceClient {
|
|
41
42
|
protected readonly onAuthStateChangedEmitter = new Emitter<CopilotAuthState>();
|
|
@@ -54,9 +55,11 @@ export default new ContainerModule(bind => {
|
|
|
54
55
|
bind(CopilotStatusBarContribution).toSelf().inSingletonScope();
|
|
55
56
|
bind(FrontendApplicationContribution).toService(CopilotStatusBarContribution);
|
|
56
57
|
|
|
57
|
-
bind(
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
bind(CopilotAuthDialogMessages).toConstantValue(DEFAULT_COPILOT_AUTH_DIALOG_MESSAGES);
|
|
59
|
+
bind(CopilotAuthDialogProps).toDynamicValue(ctx => {
|
|
60
|
+
const messages = ctx.container.get<CopilotAuthDialogMessages>(CopilotAuthDialogMessages);
|
|
61
|
+
return { title: messages.title };
|
|
62
|
+
}).inSingletonScope();
|
|
60
63
|
bind(CopilotAuthDialog).toSelf().inSingletonScope();
|
|
61
64
|
|
|
62
65
|
bind(CopilotFrontendApplicationContribution).toSelf().inSingletonScope();
|
package/src/browser/index.ts
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
export * from './copilot-auth-dialog';
|
|
18
|
+
export * from './copilot-auth-dialog-messages';
|
|
18
19
|
export * from './copilot-command-contribution';
|
|
19
20
|
export * from './copilot-status-bar-contribution';
|
|
20
21
|
export * from './copilot-frontend-application-contribution';
|
|
@@ -19,7 +19,6 @@ export const CopilotLanguageModelsManager = Symbol('CopilotLanguageModelsManager
|
|
|
19
19
|
|
|
20
20
|
export const COPILOT_PROVIDER_ID = 'copilot';
|
|
21
21
|
export const COPILOT_API_BASE_URL = 'https://api.githubcopilot.com';
|
|
22
|
-
export const COPILOT_USER_AGENT = 'Theia-Copilot/1.0.0';
|
|
23
22
|
|
|
24
23
|
/**
|
|
25
24
|
* Returns the Copilot API base URL, taking an optional GitHub Enterprise domain into account.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 Lonti.com Pty Ltd.
|
|
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
|
+
export const CopilotOAuthConfig = Symbol('CopilotOAuthConfig');
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Configuration for the GitHub Copilot OAuth Device Flow.
|
|
21
|
+
* Bind this symbol to a custom value in your container module to override the defaults
|
|
22
|
+
* and use your own GitHub OAuth application.
|
|
23
|
+
*/
|
|
24
|
+
export interface CopilotOAuthConfig {
|
|
25
|
+
/**
|
|
26
|
+
* The GitHub OAuth App client ID used to initiate the device flow.
|
|
27
|
+
* Defaults to the built-in Theia Copilot OAuth App client ID.
|
|
28
|
+
*/
|
|
29
|
+
readonly clientId: string;
|
|
30
|
+
/**
|
|
31
|
+
* The User-Agent header sent with GitHub API requests.
|
|
32
|
+
* Defaults to `'Theia-Copilot/1.0.0'`.
|
|
33
|
+
*/
|
|
34
|
+
readonly userAgent: string;
|
|
35
|
+
/**
|
|
36
|
+
* The service name used to store credentials in the system keystore.
|
|
37
|
+
* Defaults to `'theia-copilot-auth'`.
|
|
38
|
+
*/
|
|
39
|
+
readonly keystoreService: string;
|
|
40
|
+
/**
|
|
41
|
+
* The account name used to store credentials in the system keystore.
|
|
42
|
+
* Defaults to `'github-copilot'`.
|
|
43
|
+
*/
|
|
44
|
+
readonly keystoreAccount: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Default OAuth configuration for the built-in Theia Copilot integration.
|
|
49
|
+
*/
|
|
50
|
+
export const DEFAULT_COPILOT_OAUTH_CONFIG: CopilotOAuthConfig = {
|
|
51
|
+
clientId: 'Ov23liS2vINy9VOAweyv',
|
|
52
|
+
userAgent: 'Theia-Copilot/1.0.0',
|
|
53
|
+
keystoreService: 'theia-copilot-auth',
|
|
54
|
+
keystoreAccount: 'github-copilot'
|
|
55
|
+
};
|