@theia/ai-copilot 1.70.0-next.56 → 1.70.0-next.61
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-command-contribution.d.ts +1 -0
- package/lib/browser/copilot-command-contribution.d.ts.map +1 -1
- package/lib/browser/copilot-command-contribution.js +5 -2
- package/lib/browser/copilot-command-contribution.js.map +1 -1
- package/lib/browser/copilot-frontend-application-contribution.d.ts +12 -2
- package/lib/browser/copilot-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/copilot-frontend-application-contribution.js +110 -11
- package/lib/browser/copilot-frontend-application-contribution.js.map +1 -1
- package/lib/browser/copilot-status-bar-contribution.d.ts +2 -1
- package/lib/browser/copilot-status-bar-contribution.d.ts.map +1 -1
- package/lib/browser/copilot-status-bar-contribution.js +11 -1
- package/lib/browser/copilot-status-bar-contribution.js.map +1 -1
- package/lib/common/copilot-auth-service.d.ts +2 -0
- package/lib/common/copilot-auth-service.d.ts.map +1 -1
- package/lib/common/copilot-language-models-manager.d.ts +16 -0
- package/lib/common/copilot-language-models-manager.d.ts.map +1 -1
- package/lib/common/copilot-language-models-manager.js +14 -1
- package/lib/common/copilot-language-models-manager.js.map +1 -1
- package/lib/common/copilot-preferences.d.ts +2 -1
- package/lib/common/copilot-preferences.d.ts.map +1 -1
- package/lib/common/copilot-preferences.js +15 -15
- package/lib/common/copilot-preferences.js.map +1 -1
- package/lib/node/copilot-auth-service-impl.d.ts.map +1 -1
- package/lib/node/copilot-auth-service-impl.js +12 -5
- package/lib/node/copilot-auth-service-impl.js.map +1 -1
- package/lib/node/copilot-auth-service-impl.spec.d.ts +2 -0
- package/lib/node/copilot-auth-service-impl.spec.d.ts.map +1 -0
- package/lib/node/copilot-auth-service-impl.spec.js +148 -0
- package/lib/node/copilot-auth-service-impl.spec.js.map +1 -0
- package/lib/node/copilot-language-model.d.ts.map +1 -1
- package/lib/node/copilot-language-model.js +2 -7
- package/lib/node/copilot-language-model.js.map +1 -1
- package/lib/node/copilot-language-models-manager-impl.d.ts +14 -0
- package/lib/node/copilot-language-models-manager-impl.d.ts.map +1 -1
- package/lib/node/copilot-language-models-manager-impl.js +61 -0
- package/lib/node/copilot-language-models-manager-impl.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/copilot-command-contribution.ts +7 -3
- package/src/browser/copilot-frontend-application-contribution.ts +123 -14
- package/src/browser/copilot-status-bar-contribution.ts +11 -2
- package/src/common/copilot-auth-service.ts +2 -0
- package/src/common/copilot-language-models-manager.ts +23 -0
- package/src/common/copilot-preferences.ts +16 -15
- package/src/node/copilot-auth-service-impl.spec.ts +185 -0
- package/src/node/copilot-auth-service-impl.ts +12 -5
- package/src/node/copilot-language-model.ts +3 -9
- package/src/node/copilot-language-models-manager-impl.ts +69 -1
|
@@ -20,5 +20,6 @@ export declare class CopilotCommandContribution implements CommandContribution,
|
|
|
20
20
|
protected init(): void;
|
|
21
21
|
dispose(): void;
|
|
22
22
|
registerCommands(registry: CommandRegistry): void;
|
|
23
|
+
protected isCopilotEnabled(): boolean;
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=copilot-command-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-command-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/copilot-command-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAO,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtI,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGlF,yBAAiB,eAAe,CAAC;IACtB,MAAM,OAAO,EAAE,OAIrB,CAAC;IAEK,MAAM,QAAQ,EAAE,OAItB,CAAC;CACL;AAED;;GAEG;AACH,qBACa,0BAA2B,YAAW,mBAAmB,EAAE,UAAU;IAG9E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAGnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAEjD,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAA8B;IACnE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAG1D,SAAS,CAAC,IAAI,IAAI,IAAI;IAUtB,OAAO,IAAI,IAAI;IAIf,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"copilot-command-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/copilot-command-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAO,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtI,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGlF,yBAAiB,eAAe,CAAC;IACtB,MAAM,OAAO,EAAE,OAIrB,CAAC;IAEK,MAAM,QAAQ,EAAE,OAItB,CAAC;CACL;AAED;;GAEG;AACH,qBACa,0BAA2B,YAAW,mBAAmB,EAAE,UAAU;IAG9E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAGnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAEjD,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAA8B;IACnE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAG1D,SAAS,CAAC,IAAI,IAAI,IAAI;IAUtB,OAAO,IAAI,IAAI;IAIf,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IA+BjD,SAAS,CAAC,gBAAgB,IAAI,OAAO;CAGxC"}
|
|
@@ -59,7 +59,7 @@ let CopilotCommandContribution = class CopilotCommandContribution {
|
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
isEnabled: () => !this.authState.isAuthenticated,
|
|
62
|
-
isVisible: () => this.activationService.isActive
|
|
62
|
+
isVisible: () => this.activationService.isActive && this.isCopilotEnabled()
|
|
63
63
|
});
|
|
64
64
|
registry.registerCommand(CopilotCommands.SIGN_OUT, {
|
|
65
65
|
execute: async () => {
|
|
@@ -74,9 +74,12 @@ let CopilotCommandContribution = class CopilotCommandContribution {
|
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
isEnabled: () => this.authState.isAuthenticated,
|
|
77
|
-
isVisible: () => this.activationService.isActive
|
|
77
|
+
isVisible: () => this.activationService.isActive && this.isCopilotEnabled()
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
+
isCopilotEnabled() {
|
|
81
|
+
return this.preferenceService.get(copilot_preferences_1.COPILOT_ENABLED_PREF, true);
|
|
82
|
+
}
|
|
80
83
|
};
|
|
81
84
|
exports.CopilotCommandContribution = CopilotCommandContribution;
|
|
82
85
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-command-contribution.js","sourceRoot":"","sources":["../../src/browser/copilot-command-contribution.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,4DAAiF;AACjF,sCAAsI;AACtI,qDAAgE;AAChE,wDAAiE;AACjE,yEAAsF;AACtF,+DAAkF;AAClF,
|
|
1
|
+
{"version":3,"file":"copilot-command-contribution.js","sourceRoot":"","sources":["../../src/browser/copilot-command-contribution.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,4DAAiF;AACjF,sCAAsI;AACtI,qDAAgE;AAChE,wDAAiE;AACjE,yEAAsF;AACtF,+DAAkF;AAClF,uEAAkG;AAElG,IAAiB,eAAe,CAY/B;AAZD,WAAiB,eAAe;IACf,uBAAO,GAAY,cAAO,CAAC,kBAAkB,CACtD,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,SAAS,EAAE,EACjF,kCAAkC,EAClC,2BAA2B,CAC9B,CAAC;IAEW,wBAAQ,GAAY,cAAO,CAAC,kBAAkB,CACvD,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,SAAS,EAAE,EACnF,mCAAmC,EACnC,2BAA2B,CAC9B,CAAC;AACN,CAAC,EAZgB,eAAe,+BAAf,eAAe,QAY/B;AAED;;GAEG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;QAiBO,cAAS,GAAqB,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAChD,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IAmD9D,CAAC;IAhDa,IAAI;QACV,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAC5D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,EAAE;YAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAS,iDAA2B,CAAC,CAAC;gBACtF,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,aAAa,IAAI,SAAS,CAAC;gBAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC3D,CAAC;YACL,CAAC;YACD,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe;YAChD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;SAC9E,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE;YAC/C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,IAAI,uBAAa,CAAC;oBACtC,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,mCAAmC,EAAE,4BAA4B,CAAC;oBACtF,GAAG,EAAE,UAAG,CAAC,QAAQ,CAAC,yCAAyC,EAAE,sDAAsD,CAAC;oBACpH,EAAE,EAAE,gBAAM,CAAC,GAAG;oBACd,MAAM,EAAE,gBAAM,CAAC,EAAE;iBACpB,CAAC,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACrC,CAAC;YACL,CAAC;YACD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe;YAC/C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;SAC9E,CAAC,CAAC;IACP,CAAC;IAES,gBAAgB;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAU,0CAAoB,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;CACJ,CAAA;AArEY,gEAA0B;AAGhB;IADlB,IAAA,kBAAM,EAAC,yCAAkB,CAAC;;+DACwB;AAGhC;IADlB,IAAA,kBAAM,EAAC,wBAAiB,CAAC;;qEAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,6BAAmB,CAAC;;qEAC8B;AAGvC;IADlB,IAAA,kBAAM,EAAC,4CAAsB,CAAC;sCACC,4CAAsB;+DAAC;AAGpC;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;sCACK,uCAAiB;8DAAC;AAMvC;IADT,IAAA,yBAAa,GAAE;;;;sDASf;qCA7BQ,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAqEtC"}
|
|
@@ -1,15 +1,25 @@
|
|
|
1
|
-
import { PreferenceService } from '@theia/core';
|
|
1
|
+
import { CommandService, PreferenceService } from '@theia/core';
|
|
2
2
|
import { FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
3
|
-
import {
|
|
3
|
+
import { MessageService } from '@theia/core/lib/common/message-service';
|
|
4
|
+
import { CopilotAuthService, CopilotLanguageModelsManager, CopilotModelDescription } from '../common';
|
|
4
5
|
import { AICorePreferences } from '@theia/ai-core/lib/common/ai-core-preferences';
|
|
5
6
|
export declare class CopilotFrontendApplicationContribution implements FrontendApplicationContribution {
|
|
6
7
|
protected readonly preferenceService: PreferenceService;
|
|
7
8
|
protected readonly manager: CopilotLanguageModelsManager;
|
|
8
9
|
protected readonly aiCorePreferences: AICorePreferences;
|
|
10
|
+
protected readonly authService: CopilotAuthService;
|
|
11
|
+
protected readonly messageService: MessageService;
|
|
12
|
+
protected readonly commandService: CommandService;
|
|
9
13
|
protected prevModels: string[];
|
|
14
|
+
protected useAutoDiscovery: boolean;
|
|
10
15
|
onStart(): void;
|
|
16
|
+
protected isCopilotEnabled(): boolean;
|
|
17
|
+
protected initializeModels(): Promise<void>;
|
|
18
|
+
protected discoverAndRegisterModels(): Promise<void>;
|
|
19
|
+
protected removeAllCopilotModels(): void;
|
|
11
20
|
protected handleModelChanges(newModels: string[]): void;
|
|
12
21
|
protected updateAllModels(): void;
|
|
22
|
+
protected notifyTokenMigration(): Promise<void>;
|
|
13
23
|
protected createCopilotModelDescription(modelId: string): CopilotModelDescription;
|
|
14
24
|
}
|
|
15
25
|
//# sourceMappingURL=copilot-frontend-application-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/copilot-frontend-application-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"copilot-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/copilot-frontend-application-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAO,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,uBAAuB,EAAuB,MAAM,WAAW,CAAC;AAE3H,OAAO,EAAE,iBAAiB,EAA+B,MAAM,+CAA+C,CAAC;AAG/G,qBACa,sCAAuC,YAAW,+BAA+B;IAG1F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;IAGzD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAGnD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IACpC,SAAS,CAAC,gBAAgB,UAAS;IAEnC,OAAO,IAAI,IAAI;IA4Df,SAAS,CAAC,gBAAgB,IAAI,OAAO;cAIrB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;cAcjC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB1D,SAAS,CAAC,sBAAsB,IAAI,IAAI;IASxC,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,eAAe,IAAI,IAAI;cASjB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrD,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB;CAYpF"}
|
|
@@ -19,33 +19,109 @@ exports.CopilotFrontendApplicationContribution = void 0;
|
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
21
|
const core_1 = require("@theia/core");
|
|
22
|
+
const message_service_1 = require("@theia/core/lib/common/message-service");
|
|
22
23
|
const common_1 = require("../common");
|
|
23
24
|
const copilot_preferences_1 = require("../common/copilot-preferences");
|
|
24
25
|
const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
|
|
26
|
+
const copilot_command_contribution_1 = require("./copilot-command-contribution");
|
|
25
27
|
let CopilotFrontendApplicationContribution = class CopilotFrontendApplicationContribution {
|
|
26
28
|
constructor() {
|
|
27
29
|
this.prevModels = [];
|
|
30
|
+
this.useAutoDiscovery = false;
|
|
28
31
|
}
|
|
29
32
|
onStart() {
|
|
30
|
-
this.preferenceService.ready.then(() => {
|
|
31
|
-
const
|
|
32
|
-
this.manager.
|
|
33
|
-
this.
|
|
33
|
+
this.preferenceService.ready.then(async () => {
|
|
34
|
+
const enterpriseUrl = this.preferenceService.get(copilot_preferences_1.COPILOT_ENTERPRISE_URL_PREF);
|
|
35
|
+
this.manager.setEnterpriseUrl(enterpriseUrl || undefined);
|
|
36
|
+
if (this.isCopilotEnabled()) {
|
|
37
|
+
const authState = await this.authService.getAuthState();
|
|
38
|
+
if (authState.migrationRequired) {
|
|
39
|
+
this.notifyTokenMigration();
|
|
40
|
+
}
|
|
41
|
+
await this.initializeModels();
|
|
42
|
+
}
|
|
34
43
|
this.preferenceService.onPreferenceChanged(event => {
|
|
35
|
-
if (event.preferenceName === copilot_preferences_1.
|
|
36
|
-
|
|
44
|
+
if (event.preferenceName === copilot_preferences_1.COPILOT_ENABLED_PREF) {
|
|
45
|
+
if (this.isCopilotEnabled()) {
|
|
46
|
+
this.initializeModels();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.removeAllCopilotModels();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else if (event.preferenceName === copilot_preferences_1.COPILOT_MODEL_OVERRIDES_PREF && this.isCopilotEnabled()) {
|
|
53
|
+
const newModels = this.preferenceService.get(copilot_preferences_1.COPILOT_MODEL_OVERRIDES_PREF, []);
|
|
54
|
+
if (newModels.length > 0) {
|
|
55
|
+
this.useAutoDiscovery = false;
|
|
56
|
+
this.handleModelChanges(newModels);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.useAutoDiscovery = true;
|
|
60
|
+
this.removeAllCopilotModels();
|
|
61
|
+
this.discoverAndRegisterModels();
|
|
62
|
+
}
|
|
37
63
|
}
|
|
38
|
-
else if (event.preferenceName === copilot_preferences_1.COPILOT_ENTERPRISE_URL_PREF) {
|
|
39
|
-
this.
|
|
64
|
+
else if (event.preferenceName === copilot_preferences_1.COPILOT_ENTERPRISE_URL_PREF && this.isCopilotEnabled()) {
|
|
65
|
+
const url = this.preferenceService.get(copilot_preferences_1.COPILOT_ENTERPRISE_URL_PREF);
|
|
66
|
+
this.manager.setEnterpriseUrl(url || undefined);
|
|
67
|
+
if (this.useAutoDiscovery) {
|
|
68
|
+
this.removeAllCopilotModels();
|
|
69
|
+
this.discoverAndRegisterModels();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.manager.refreshModelsStatus();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
this.authService.onAuthStateChanged(async (state) => {
|
|
77
|
+
if (this.isCopilotEnabled() && this.useAutoDiscovery) {
|
|
78
|
+
if (state.isAuthenticated) {
|
|
79
|
+
await this.discoverAndRegisterModels();
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.removeAllCopilotModels();
|
|
83
|
+
}
|
|
40
84
|
}
|
|
41
85
|
});
|
|
42
86
|
this.aiCorePreferences.onPreferenceChanged(event => {
|
|
43
|
-
if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) {
|
|
87
|
+
if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES && this.isCopilotEnabled()) {
|
|
44
88
|
this.updateAllModels();
|
|
45
89
|
}
|
|
46
90
|
});
|
|
47
91
|
});
|
|
48
92
|
}
|
|
93
|
+
isCopilotEnabled() {
|
|
94
|
+
return this.preferenceService.get(copilot_preferences_1.COPILOT_ENABLED_PREF, true);
|
|
95
|
+
}
|
|
96
|
+
async initializeModels() {
|
|
97
|
+
const configuredModels = this.preferenceService.get(copilot_preferences_1.COPILOT_MODEL_OVERRIDES_PREF, []);
|
|
98
|
+
if (configuredModels.length > 0) {
|
|
99
|
+
this.useAutoDiscovery = false;
|
|
100
|
+
this.manager.createOrUpdateLanguageModels(...configuredModels.map((modelId) => this.createCopilotModelDescription(modelId)));
|
|
101
|
+
this.prevModels = [...configuredModels];
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.useAutoDiscovery = true;
|
|
105
|
+
await this.discoverAndRegisterModels();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
async discoverAndRegisterModels() {
|
|
109
|
+
const modelIds = await this.manager.fetchAvailableModelIds();
|
|
110
|
+
if (modelIds.length > 0) {
|
|
111
|
+
const modelsToRemove = this.prevModels.filter(m => !modelIds.includes(m));
|
|
112
|
+
if (modelsToRemove.length > 0) {
|
|
113
|
+
this.manager.removeLanguageModels(...modelsToRemove.map(model => `${common_1.COPILOT_PROVIDER_ID}/${model}`));
|
|
114
|
+
}
|
|
115
|
+
this.manager.createOrUpdateLanguageModels(...modelIds.map((modelId) => this.createCopilotModelDescription(modelId)));
|
|
116
|
+
this.prevModels = [...modelIds];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
removeAllCopilotModels() {
|
|
120
|
+
if (this.prevModels.length > 0) {
|
|
121
|
+
this.manager.removeLanguageModels(...this.prevModels.map(model => `${common_1.COPILOT_PROVIDER_ID}/${model}`));
|
|
122
|
+
this.prevModels = [];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
49
125
|
handleModelChanges(newModels) {
|
|
50
126
|
const oldModels = new Set(this.prevModels);
|
|
51
127
|
const updatedModels = new Set(newModels);
|
|
@@ -53,12 +129,23 @@ let CopilotFrontendApplicationContribution = class CopilotFrontendApplicationCon
|
|
|
53
129
|
const modelsToAdd = [...updatedModels].filter(model => !oldModels.has(model));
|
|
54
130
|
this.manager.removeLanguageModels(...modelsToRemove.map(model => `${common_1.COPILOT_PROVIDER_ID}/${model}`));
|
|
55
131
|
this.manager.createOrUpdateLanguageModels(...modelsToAdd.map((modelId) => this.createCopilotModelDescription(modelId)));
|
|
56
|
-
this.prevModels = newModels;
|
|
132
|
+
this.prevModels = [...newModels];
|
|
57
133
|
}
|
|
58
134
|
updateAllModels() {
|
|
59
|
-
|
|
135
|
+
if (this.useAutoDiscovery) {
|
|
136
|
+
this.discoverAndRegisterModels();
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const models = this.preferenceService.get(copilot_preferences_1.COPILOT_MODEL_OVERRIDES_PREF, []);
|
|
60
140
|
this.manager.createOrUpdateLanguageModels(...models.map((modelId) => this.createCopilotModelDescription(modelId)));
|
|
61
141
|
}
|
|
142
|
+
async notifyTokenMigration() {
|
|
143
|
+
const signIn = core_1.nls.localize('theia/ai/copilot/commands/signIn', 'Sign in to GitHub Copilot');
|
|
144
|
+
const action = await this.messageService.info(core_1.nls.localize('theia/ai/copilot/tokenMigration', 'Your GitHub Copilot session used an outdated authentication method and has been cleared. Please sign in again to access all available models.'), signIn);
|
|
145
|
+
if (action === signIn) {
|
|
146
|
+
this.commandService.executeCommand(copilot_command_contribution_1.CopilotCommands.SIGN_IN.id);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
62
149
|
createCopilotModelDescription(modelId) {
|
|
63
150
|
const id = `${common_1.COPILOT_PROVIDER_ID}/${modelId}`;
|
|
64
151
|
const maxRetries = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) ?? 3;
|
|
@@ -84,6 +171,18 @@ tslib_1.__decorate([
|
|
|
84
171
|
(0, inversify_1.inject)(ai_core_preferences_1.AICorePreferences),
|
|
85
172
|
tslib_1.__metadata("design:type", Object)
|
|
86
173
|
], CopilotFrontendApplicationContribution.prototype, "aiCorePreferences", void 0);
|
|
174
|
+
tslib_1.__decorate([
|
|
175
|
+
(0, inversify_1.inject)(common_1.CopilotAuthService),
|
|
176
|
+
tslib_1.__metadata("design:type", Object)
|
|
177
|
+
], CopilotFrontendApplicationContribution.prototype, "authService", void 0);
|
|
178
|
+
tslib_1.__decorate([
|
|
179
|
+
(0, inversify_1.inject)(message_service_1.MessageService),
|
|
180
|
+
tslib_1.__metadata("design:type", message_service_1.MessageService)
|
|
181
|
+
], CopilotFrontendApplicationContribution.prototype, "messageService", void 0);
|
|
182
|
+
tslib_1.__decorate([
|
|
183
|
+
(0, inversify_1.inject)(core_1.CommandService),
|
|
184
|
+
tslib_1.__metadata("design:type", Object)
|
|
185
|
+
], CopilotFrontendApplicationContribution.prototype, "commandService", void 0);
|
|
87
186
|
exports.CopilotFrontendApplicationContribution = CopilotFrontendApplicationContribution = tslib_1.__decorate([
|
|
88
187
|
(0, inversify_1.injectable)()
|
|
89
188
|
], CopilotFrontendApplicationContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/copilot-frontend-application-contribution.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,4DAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"copilot-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/copilot-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
2
2
|
import { StatusBar } from '@theia/core/lib/browser/status-bar/status-bar-types';
|
|
3
|
-
import { Disposable, DisposableCollection } from '@theia/core';
|
|
3
|
+
import { Disposable, DisposableCollection, PreferenceService } from '@theia/core';
|
|
4
4
|
import { AIActivationService } from '@theia/ai-core/lib/browser';
|
|
5
5
|
import { CopilotAuthService, CopilotAuthState } from '../common/copilot-auth-service';
|
|
6
6
|
/**
|
|
@@ -10,6 +10,7 @@ export declare class CopilotStatusBarContribution implements FrontendApplication
|
|
|
10
10
|
protected readonly statusBar: StatusBar;
|
|
11
11
|
protected readonly authService: CopilotAuthService;
|
|
12
12
|
protected readonly activationService: AIActivationService;
|
|
13
|
+
protected readonly preferenceService: PreferenceService;
|
|
13
14
|
protected authState: CopilotAuthState;
|
|
14
15
|
protected readonly toDispose: DisposableCollection;
|
|
15
16
|
protected init(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-status-bar-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/copilot-status-bar-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAsB,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAO,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"copilot-status-bar-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/copilot-status-bar-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAsB,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAO,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAMtF;;GAEG;AACH,qBACa,4BAA6B,YAAW,+BAA+B,EAAE,UAAU;IAG5F,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAGnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAA8B;IACnE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAG1D,SAAS,CAAC,IAAI,IAAI,IAAI;IAetB,OAAO,IAAI,IAAI;IAIf,OAAO,IAAI,IAAI;IAOf,SAAS,CAAC,eAAe,IAAI,IAAI;CAiCpC"}
|
|
@@ -23,6 +23,7 @@ const core_1 = require("@theia/core");
|
|
|
23
23
|
const browser_1 = require("@theia/ai-core/lib/browser");
|
|
24
24
|
const copilot_auth_service_1 = require("../common/copilot-auth-service");
|
|
25
25
|
const copilot_command_contribution_1 = require("./copilot-command-contribution");
|
|
26
|
+
const copilot_preferences_1 = require("../common/copilot-preferences");
|
|
26
27
|
const COPILOT_STATUS_BAR_ID = 'copilot-auth-status';
|
|
27
28
|
/**
|
|
28
29
|
* Frontend contribution that displays GitHub Copilot authentication status in the status bar.
|
|
@@ -40,6 +41,11 @@ let CopilotStatusBarContribution = class CopilotStatusBarContribution {
|
|
|
40
41
|
this.toDispose.push(this.activationService.onDidChangeActiveStatus(() => {
|
|
41
42
|
this.updateStatusBar();
|
|
42
43
|
}));
|
|
44
|
+
this.toDispose.push(this.preferenceService.onPreferenceChanged(event => {
|
|
45
|
+
if (event.preferenceName === copilot_preferences_1.COPILOT_ENABLED_PREF) {
|
|
46
|
+
this.updateStatusBar();
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
43
49
|
}
|
|
44
50
|
dispose() {
|
|
45
51
|
this.toDispose.dispose();
|
|
@@ -51,7 +57,7 @@ let CopilotStatusBarContribution = class CopilotStatusBarContribution {
|
|
|
51
57
|
});
|
|
52
58
|
}
|
|
53
59
|
updateStatusBar() {
|
|
54
|
-
if (!this.activationService.isActive) {
|
|
60
|
+
if (!this.activationService.isActive || !this.preferenceService.get(copilot_preferences_1.COPILOT_ENABLED_PREF, true)) {
|
|
55
61
|
this.statusBar.removeElement(COPILOT_STATUS_BAR_ID);
|
|
56
62
|
return;
|
|
57
63
|
}
|
|
@@ -92,6 +98,10 @@ tslib_1.__decorate([
|
|
|
92
98
|
(0, inversify_1.inject)(browser_1.AIActivationService),
|
|
93
99
|
tslib_1.__metadata("design:type", Object)
|
|
94
100
|
], CopilotStatusBarContribution.prototype, "activationService", void 0);
|
|
101
|
+
tslib_1.__decorate([
|
|
102
|
+
(0, inversify_1.inject)(core_1.PreferenceService),
|
|
103
|
+
tslib_1.__metadata("design:type", Object)
|
|
104
|
+
], CopilotStatusBarContribution.prototype, "preferenceService", void 0);
|
|
95
105
|
tslib_1.__decorate([
|
|
96
106
|
(0, inversify_1.postConstruct)(),
|
|
97
107
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-status-bar-contribution.js","sourceRoot":"","sources":["../../src/browser/copilot-status-bar-contribution.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,4DAAiF;AAEjF,0FAAoG;AACpG,
|
|
1
|
+
{"version":3,"file":"copilot-status-bar-contribution.js","sourceRoot":"","sources":["../../src/browser/copilot-status-bar-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,8 @@ export interface CopilotAuthState {
|
|
|
27
27
|
accountLabel?: string;
|
|
28
28
|
/** GitHub Enterprise URL if using enterprise */
|
|
29
29
|
enterpriseUrl?: string;
|
|
30
|
+
/** True when credentials were cleared due to a client ID migration */
|
|
31
|
+
migrationRequired?: boolean;
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
34
|
* Client interface for receiving auth state change notifications.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-auth-service.d.ts","sourceRoot":"","sources":["../../src/common/copilot-auth-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,mFAAmF;IACnF,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"copilot-auth-service.d.ts","sourceRoot":"","sources":["../../src/common/copilot-auth-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,mFAAmF;IACnF,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAExE;;;;;;OAMG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7F;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE1C;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACxD"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export declare const COPILOT_LANGUAGE_MODELS_MANAGER_PATH = "/services/copilot/language-model-manager";
|
|
2
2
|
export declare const CopilotLanguageModelsManager: unique symbol;
|
|
3
3
|
export declare const COPILOT_PROVIDER_ID = "copilot";
|
|
4
|
+
export declare const COPILOT_API_BASE_URL = "https://api.githubcopilot.com";
|
|
5
|
+
export declare const COPILOT_USER_AGENT = "Theia-Copilot/1.0.0";
|
|
6
|
+
/**
|
|
7
|
+
* Returns the Copilot API base URL, taking an optional GitHub Enterprise domain into account.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getCopilotApiBaseUrl(enterpriseUrl?: string): string;
|
|
4
10
|
export interface CopilotModelDescription {
|
|
5
11
|
/**
|
|
6
12
|
* The identifier of the model which will be shown in the UI.
|
|
@@ -33,9 +39,19 @@ export interface CopilotLanguageModelsManager {
|
|
|
33
39
|
* Remove language models from the registry.
|
|
34
40
|
*/
|
|
35
41
|
removeLanguageModels(...modelIds: string[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Set the GitHub Enterprise URL for Copilot API requests.
|
|
44
|
+
*/
|
|
45
|
+
setEnterpriseUrl(url: string | undefined): void;
|
|
36
46
|
/**
|
|
37
47
|
* Refresh the status of all Copilot models (e.g., after authentication state changes).
|
|
38
48
|
*/
|
|
39
49
|
refreshModelsStatus(): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Fetches the list of available model IDs from the Copilot API.
|
|
52
|
+
* Requires authentication. Returns an empty array if not authenticated
|
|
53
|
+
* or if the API call fails.
|
|
54
|
+
*/
|
|
55
|
+
fetchAvailableModelIds(): Promise<string[]>;
|
|
40
56
|
}
|
|
41
57
|
//# sourceMappingURL=copilot-language-models-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/copilot-language-models-manager.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,oCAAoC,6CAA6C,CAAC;AAC/F,eAAO,MAAM,4BAA4B,eAAyC,CAAC;AAEnF,eAAO,MAAM,mBAAmB,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"copilot-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/copilot-language-models-manager.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,oCAAoC,6CAA6C,CAAC;AAC/F,eAAO,MAAM,4BAA4B,eAAyC,CAAC;AAEnF,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,oBAAoB,kCAAkC,CAAC;AACpE,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAExD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED,MAAM,WAAW,uBAAuB;IACpC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,4BAA4B,CAAC,GAAG,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF;;OAEG;IACH,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC;;;;OAIG;IACH,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/C"}
|
|
@@ -15,8 +15,21 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.COPILOT_PROVIDER_ID = exports.CopilotLanguageModelsManager = exports.COPILOT_LANGUAGE_MODELS_MANAGER_PATH = void 0;
|
|
18
|
+
exports.COPILOT_USER_AGENT = exports.COPILOT_API_BASE_URL = exports.COPILOT_PROVIDER_ID = exports.CopilotLanguageModelsManager = exports.COPILOT_LANGUAGE_MODELS_MANAGER_PATH = void 0;
|
|
19
|
+
exports.getCopilotApiBaseUrl = getCopilotApiBaseUrl;
|
|
19
20
|
exports.COPILOT_LANGUAGE_MODELS_MANAGER_PATH = '/services/copilot/language-model-manager';
|
|
20
21
|
exports.CopilotLanguageModelsManager = Symbol('CopilotLanguageModelsManager');
|
|
21
22
|
exports.COPILOT_PROVIDER_ID = 'copilot';
|
|
23
|
+
exports.COPILOT_API_BASE_URL = 'https://api.githubcopilot.com';
|
|
24
|
+
exports.COPILOT_USER_AGENT = 'Theia-Copilot/1.0.0';
|
|
25
|
+
/**
|
|
26
|
+
* Returns the Copilot API base URL, taking an optional GitHub Enterprise domain into account.
|
|
27
|
+
*/
|
|
28
|
+
function getCopilotApiBaseUrl(enterpriseUrl) {
|
|
29
|
+
if (enterpriseUrl) {
|
|
30
|
+
const domain = enterpriseUrl.replace(/^https?:\/\//, '').replace(/\/$/, '');
|
|
31
|
+
return `https://copilot-api.${domain}`;
|
|
32
|
+
}
|
|
33
|
+
return exports.COPILOT_API_BASE_URL;
|
|
34
|
+
}
|
|
22
35
|
//# sourceMappingURL=copilot-language-models-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-language-models-manager.js","sourceRoot":"","sources":["../../src/common/copilot-language-models-manager.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;;;
|
|
1
|
+
{"version":3,"file":"copilot-language-models-manager.js","sourceRoot":"","sources":["../../src/common/copilot-language-models-manager.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;;;AAYhF,oDAMC;AAhBY,QAAA,oCAAoC,GAAG,0CAA0C,CAAC;AAClF,QAAA,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAEtE,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,oBAAoB,GAAG,+BAA+B,CAAC;AACvD,QAAA,kBAAkB,GAAG,qBAAqB,CAAC;AAExD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,aAAsB;IACvD,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,uBAAuB,MAAM,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,4BAAoB,CAAC;AAChC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PreferenceSchema } from '@theia/core';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const COPILOT_ENABLED_PREF = "ai-features.copilot.enabled";
|
|
3
|
+
export declare const COPILOT_MODEL_OVERRIDES_PREF = "ai-features.copilot.modelOverrides";
|
|
3
4
|
export declare const COPILOT_ENTERPRISE_URL_PREF = "ai-features.copilot.enterpriseUrl";
|
|
4
5
|
export declare const CopilotPreferencesSchema: PreferenceSchema;
|
|
5
6
|
//# sourceMappingURL=copilot-preferences.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-preferences.d.ts","sourceRoot":"","sources":["../../src/common/copilot-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"copilot-preferences.d.ts","sourceRoot":"","sources":["../../src/common/copilot-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,4BAA4B,uCAAuC,CAAC;AACjF,eAAO,MAAM,2BAA2B,sCAAsC,CAAC;AAE/E,eAAO,MAAM,wBAAwB,EAAE,gBA8BtC,CAAC"}
|
|
@@ -15,28 +15,28 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.CopilotPreferencesSchema = exports.COPILOT_ENTERPRISE_URL_PREF = exports.
|
|
18
|
+
exports.CopilotPreferencesSchema = exports.COPILOT_ENTERPRISE_URL_PREF = exports.COPILOT_MODEL_OVERRIDES_PREF = exports.COPILOT_ENABLED_PREF = void 0;
|
|
19
19
|
const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
|
|
20
20
|
const core_1 = require("@theia/core");
|
|
21
|
-
exports.
|
|
21
|
+
exports.COPILOT_ENABLED_PREF = 'ai-features.copilot.enabled';
|
|
22
|
+
exports.COPILOT_MODEL_OVERRIDES_PREF = 'ai-features.copilot.modelOverrides';
|
|
22
23
|
exports.COPILOT_ENTERPRISE_URL_PREF = 'ai-features.copilot.enterpriseUrl';
|
|
23
24
|
exports.CopilotPreferencesSchema = {
|
|
24
25
|
properties: {
|
|
25
|
-
[exports.
|
|
26
|
+
[exports.COPILOT_ENABLED_PREF]: {
|
|
27
|
+
type: 'boolean',
|
|
28
|
+
markdownDescription: core_1.nls.localize('theia/ai/copilot/enabled/mdDescription', 'Enable the GitHub Copilot provider. When enabled, a status bar entry '
|
|
29
|
+
+ 'appears for authentication and available models are discovered from your Copilot subscription.'),
|
|
30
|
+
title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
|
|
31
|
+
default: true
|
|
32
|
+
},
|
|
33
|
+
[exports.COPILOT_MODEL_OVERRIDES_PREF]: {
|
|
26
34
|
type: 'array',
|
|
27
|
-
|
|
35
|
+
markdownDescription: core_1.nls.localize('theia/ai/copilot/modelOverrides/mdDescription', 'Override the automatically discovered GitHub Copilot models. '
|
|
36
|
+
+ 'When empty (default), available models are discovered from your Copilot subscription. '
|
|
37
|
+
+ 'Set explicit model IDs to override auto-discovery.'),
|
|
28
38
|
title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
|
|
29
|
-
|
|
30
|
-
default: [
|
|
31
|
-
'claude-haiku-4.5',
|
|
32
|
-
'claude-sonnet-4.5',
|
|
33
|
-
'claude-opus-4.5',
|
|
34
|
-
'gemini-2.5-pro',
|
|
35
|
-
'gpt-4.1',
|
|
36
|
-
'gpt-4o',
|
|
37
|
-
'gpt-5-mini',
|
|
38
|
-
'gpt-5.2',
|
|
39
|
-
],
|
|
39
|
+
default: [],
|
|
40
40
|
items: {
|
|
41
41
|
type: 'string'
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-preferences.js","sourceRoot":"","sources":["../../src/common/copilot-preferences.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,uFAA0F;AAC1F,sCAAoD;AAEvC,QAAA,
|
|
1
|
+
{"version":3,"file":"copilot-preferences.js","sourceRoot":"","sources":["../../src/common/copilot-preferences.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,uFAA0F;AAC1F,sCAAoD;AAEvC,QAAA,oBAAoB,GAAG,6BAA6B,CAAC;AACrD,QAAA,4BAA4B,GAAG,oCAAoC,CAAC;AACpE,QAAA,2BAA2B,GAAG,mCAAmC,CAAC;AAElE,QAAA,wBAAwB,GAAqB;IACtD,UAAU,EAAE;QACR,CAAC,4BAAoB,CAAC,EAAE;YACpB,IAAI,EAAE,SAAS;YACf,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,wCAAwC,EACtE,uEAAuE;kBACrE,gGAAgG,CAAC;YACvG,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,IAAI;SAChB;QACD,CAAC,oCAA4B,CAAC,EAAE;YAC5B,IAAI,EAAE,OAAO;YACb,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAC7E,+DAA+D;kBAC7D,wFAAwF;kBACxF,oDAAoD,CAAC;YAC3D,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,mCAA2B,CAAC,EAAE;YAC3B,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAC5E,sGAAsG,CAAC;YAC3G,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,EAAE;SACd;KACJ;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-auth-service-impl.d.ts","sourceRoot":"","sources":["../../src/node/copilot-auth-service-impl.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EACH,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,gCAAgC,CAAC;AAqBxC;;;GAGG;AACH,qBACa,sBAAuB,YAAW,kBAAkB;IAG7D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD,SAAS,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,4BAAmC;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAwC;IAE5F,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI;IAI7D,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;IAgBhG,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBvE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAsFlF,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwBrG,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"copilot-auth-service-impl.d.ts","sourceRoot":"","sources":["../../src/node/copilot-auth-service-impl.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EACH,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,gCAAgC,CAAC;AAqBxC;;;GAGG;AACH,qBACa,sBAAuB,YAAW,kBAAkB;IAG7D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD,SAAS,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,4BAAmC;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAwC;IAE5F,SAAS,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAAG,IAAI;IAI7D,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;IAgBhG,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBvE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAsFlF,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwBrG,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA+BzC,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAa7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAMxD,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7C"}
|
|
@@ -20,12 +20,12 @@ const tslib_1 = require("tslib");
|
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
21
|
const core_1 = require("@theia/core");
|
|
22
22
|
const key_store_1 = require("@theia/core/lib/common/key-store");
|
|
23
|
-
const
|
|
23
|
+
const common_1 = require("../common");
|
|
24
|
+
const COPILOT_CLIENT_ID = 'Ov23liS2vINy9VOAweyv'; // 'Theia Copilot OAuth Access' Client ID
|
|
24
25
|
const COPILOT_SCOPE = 'read:user';
|
|
25
26
|
const COPILOT_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:device_code';
|
|
26
27
|
const KEYSTORE_SERVICE = 'theia-copilot-auth';
|
|
27
28
|
const KEYSTORE_ACCOUNT = 'github-copilot';
|
|
28
|
-
const USER_AGENT = 'Theia-Copilot/1.0.0';
|
|
29
29
|
/**
|
|
30
30
|
* Maximum number of polling attempts for token retrieval.
|
|
31
31
|
* With a default 5-second interval, this allows approximately 5 minutes of polling.
|
|
@@ -65,7 +65,7 @@ let CopilotAuthServiceImpl = class CopilotAuthServiceImpl {
|
|
|
65
65
|
headers: {
|
|
66
66
|
'Accept': 'application/json',
|
|
67
67
|
'Content-Type': 'application/json',
|
|
68
|
-
'User-Agent':
|
|
68
|
+
'User-Agent': common_1.COPILOT_USER_AGENT
|
|
69
69
|
},
|
|
70
70
|
body: JSON.stringify({
|
|
71
71
|
client_id: COPILOT_CLIENT_ID,
|
|
@@ -90,7 +90,7 @@ let CopilotAuthServiceImpl = class CopilotAuthServiceImpl {
|
|
|
90
90
|
headers: {
|
|
91
91
|
'Accept': 'application/json',
|
|
92
92
|
'Content-Type': 'application/json',
|
|
93
|
-
'User-Agent':
|
|
93
|
+
'User-Agent': common_1.COPILOT_USER_AGENT
|
|
94
94
|
},
|
|
95
95
|
body: JSON.stringify({
|
|
96
96
|
client_id: COPILOT_CLIENT_ID,
|
|
@@ -150,7 +150,7 @@ let CopilotAuthServiceImpl = class CopilotAuthServiceImpl {
|
|
|
150
150
|
const response = await fetch(`${apiBaseUrl}/user`, {
|
|
151
151
|
headers: {
|
|
152
152
|
'Authorization': `Bearer ${accessToken}`,
|
|
153
|
-
'User-Agent':
|
|
153
|
+
'User-Agent': common_1.COPILOT_USER_AGENT,
|
|
154
154
|
'Accept': 'application/vnd.github.v3+json'
|
|
155
155
|
}
|
|
156
156
|
});
|
|
@@ -172,6 +172,13 @@ let CopilotAuthServiceImpl = class CopilotAuthServiceImpl {
|
|
|
172
172
|
const stored = await this.keyStoreService.getPassword(KEYSTORE_SERVICE, KEYSTORE_ACCOUNT);
|
|
173
173
|
if (stored) {
|
|
174
174
|
const credentials = JSON.parse(stored);
|
|
175
|
+
// Tokens from the current OAuth App start with 'gho_'; other prefixes (e.g. 'ghu_') indicate a token from the previous GitHub App (Iv-prefixed client ID).
|
|
176
|
+
if (!credentials.accessToken.startsWith('gho_')) {
|
|
177
|
+
console.info('Copilot: clearing outdated GitHub App token. Please sign in again.');
|
|
178
|
+
await this.keyStoreService.deletePassword(KEYSTORE_SERVICE, KEYSTORE_ACCOUNT);
|
|
179
|
+
this.cachedState = { isAuthenticated: false, migrationRequired: true };
|
|
180
|
+
return this.cachedState;
|
|
181
|
+
}
|
|
175
182
|
this.cachedState = {
|
|
176
183
|
isAuthenticated: true,
|
|
177
184
|
accountLabel: credentials.accountLabel,
|