@vscode/chat-lib 0.1.3-3 → 0.1.3-5
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/dist/src/_internal/extension/byok/node/openAIEndpoint.js +2 -2
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.d.ts +2 -2
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.d.ts +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.d.ts +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.js +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.d.ts +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.d.ts +2 -2
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.js +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.js.map +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.d.ts +11 -2
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.d.ts.map +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.js +73 -54
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.js.map +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.js +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.js +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.d.ts +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.js +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.js +7 -7
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.js +4 -4
- package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts +11 -0
- package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts.map +1 -0
- package/dist/src/_internal/extension/inlineEdits/common/delay.js +37 -0
- package/dist/src/_internal/extension/inlineEdits/common/delay.js.map +1 -0
- package/dist/src/_internal/extension/inlineEdits/common/{delayer.d.ts → userInteractionMonitor.d.ts} +12 -13
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts.map +1 -0
- package/dist/src/_internal/extension/inlineEdits/common/{delayer.js → userInteractionMonitor.js} +63 -42
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js.map +1 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +5 -2
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +6 -2
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +49 -15
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +3 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +13 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +3 -2
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js +37 -8
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.js +7 -7
- package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js +9 -4
- package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +5 -6
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +42 -66
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/authentication/common/authentication.d.ts +47 -27
- package/dist/src/_internal/platform/authentication/common/authentication.d.ts.map +1 -1
- package/dist/src/_internal/platform/authentication/common/authentication.js +2 -2
- package/dist/src/_internal/platform/authentication/common/authentication.js.map +1 -1
- package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.d.ts +8 -3
- package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.js +11 -9
- package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.js.map +1 -1
- package/dist/src/_internal/platform/chat/common/commonTypes.js +7 -7
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +45 -18
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +52 -49
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.d.ts +1 -0
- package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.js +18 -0
- package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/jsonSchema.d.ts +1 -1
- package/dist/src/_internal/platform/configuration/common/jsonSchema.js +22 -22
- package/dist/src/_internal/platform/configuration/common/validator.js +14 -14
- package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts +4 -1
- package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/capiClient.js +10 -0
- package/dist/src/_internal/platform/endpoint/common/capiClient.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +15 -11
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +70 -29
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.d.ts +4 -3
- package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.js +14 -11
- package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +9 -6
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.d.ts +20 -0
- package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.d.ts.map +1 -0
- package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.js +58 -0
- package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.js.map +1 -0
- package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/messagesApi.js +5 -2
- package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js +1 -1
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
- package/dist/src/_internal/platform/extContext/common/extensionContext.d.ts +6 -0
- package/dist/src/_internal/platform/extContext/common/extensionContext.d.ts.map +1 -0
- package/dist/src/_internal/platform/extContext/common/extensionContext.js +10 -0
- package/dist/src/_internal/platform/extContext/common/extensionContext.js.map +1 -0
- package/dist/src/_internal/platform/git/common/gitService.d.ts +1 -1
- package/dist/src/_internal/platform/git/common/gitService.d.ts.map +1 -1
- package/dist/src/_internal/platform/github/common/githubService.d.ts +17 -2
- package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
- package/dist/src/_internal/platform/github/common/githubService.js +14 -0
- package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/inlineEditsModelsTypes.d.ts +28 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/inlineEditsModelsTypes.d.ts.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/inlineEditsModelsTypes.js +50 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/inlineEditsModelsTypes.js.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/jointCompletionsProviderOptions.d.ts +10 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/jointCompletionsProviderOptions.d.ts.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/jointCompletionsProviderOptions.js +19 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/jointCompletionsProviderOptions.js.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +12 -6
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +16 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +46 -41
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditsModelService.d.ts +26 -0
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditsModelService.d.ts.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditsModelService.js +23 -0
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditsModelService.js.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/utils/utils.d.ts +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/utils/utils.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/utils/utils.js +6 -0
- package/dist/src/_internal/platform/inlineEdits/common/utils/utils.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.d.ts +59 -0
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.d.ts.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js +404 -0
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js.map +1 -0
- package/dist/src/_internal/platform/log/common/logService.d.ts +1 -1
- package/dist/src/_internal/platform/log/common/logService.d.ts.map +1 -1
- package/dist/src/_internal/platform/log/common/logService.js +62 -1
- package/dist/src/_internal/platform/log/common/logService.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.d.ts +4 -0
- package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
- package/dist/src/_internal/platform/proxyModels/common/proxyModelsService.d.ts +18 -0
- package/dist/src/_internal/platform/proxyModels/common/proxyModelsService.d.ts.map +1 -0
- package/dist/src/_internal/platform/proxyModels/common/proxyModelsService.js +26 -0
- package/dist/src/_internal/platform/proxyModels/common/proxyModelsService.js.map +1 -0
- package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.d.ts +23 -0
- package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.d.ts.map +1 -0
- package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.js +154 -0
- package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.js.map +1 -0
- package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +1 -1
- package/dist/src/_internal/platform/workspaceRecorder/common/workspaceLog.d.ts +6 -6
- package/dist/src/_internal/util/common/arrays.d.ts +18 -0
- package/dist/src/_internal/util/common/arrays.d.ts.map +1 -0
- package/dist/src/_internal/util/common/arrays.js +80 -0
- package/dist/src/_internal/util/common/arrays.js.map +1 -0
- package/dist/src/_internal/util/common/crypto.d.ts +1 -1
- package/dist/src/_internal/util/common/crypto.d.ts.map +1 -1
- package/dist/src/_internal/util/common/crypto.js +252 -4
- package/dist/src/_internal/util/common/crypto.js.map +1 -1
- package/dist/src/_internal/util/common/imageUtils.js +9 -9
- package/dist/src/_internal/util/common/languages.js +4 -4
- package/dist/src/_internal/util/common/tracing.d.ts.map +1 -1
- package/dist/src/_internal/util/common/tracing.js +24 -11
- package/dist/src/_internal/util/common/tracing.js.map +1 -1
- package/dist/src/_internal/util/vs/base/common/types.d.ts +27 -0
- package/dist/src/_internal/util/vs/base/common/types.d.ts.map +1 -1
- package/dist/src/_internal/util/vs/base/common/types.js +28 -0
- package/dist/src/_internal/util/vs/base/common/types.js.map +1 -1
- package/dist/src/main.d.ts +7 -2
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +28 -7
- package/dist/src/main.js.map +1 -1
- package/dist/src/package.json +135 -218
- package/package.json +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/delayer.d.ts.map +0 -1
- package/dist/src/_internal/extension/inlineEdits/common/delayer.js.map +0 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type * as vscode from 'vscode';
|
|
2
|
+
import { Event } from '../../../util/vs/base/common/event';
|
|
3
|
+
import { Disposable } from '../../../util/vs/base/common/lifecycle';
|
|
4
|
+
import { ICopilotTokenStore } from '../../authentication/common/copilotTokenStore';
|
|
5
|
+
import { IConfigurationService } from '../../configuration/common/configurationService';
|
|
6
|
+
import { IVSCodeExtensionContext } from '../../extContext/common/extensionContext';
|
|
7
|
+
import { ILogService } from '../../log/common/logService';
|
|
8
|
+
import { IProxyModelsService } from '../../proxyModels/common/proxyModelsService';
|
|
9
|
+
import { IExperimentationService } from '../../telemetry/common/nullExperimentationService';
|
|
10
|
+
import { ITelemetryService } from '../../telemetry/common/telemetry';
|
|
11
|
+
import { ModelConfiguration } from '../common/dataTypes/xtabPromptOptions';
|
|
12
|
+
import { IInlineEditsModelService, IUndesiredModelsManager } from '../common/inlineEditsModelService';
|
|
13
|
+
export declare class InlineEditsModelService extends Disposable implements IInlineEditsModelService {
|
|
14
|
+
private readonly _tokenStore;
|
|
15
|
+
private readonly _proxyModelsService;
|
|
16
|
+
private readonly _undesiredModelsManager;
|
|
17
|
+
private readonly _configService;
|
|
18
|
+
private readonly _expService;
|
|
19
|
+
private readonly _telemetryService;
|
|
20
|
+
private readonly _logService;
|
|
21
|
+
_serviceBrand: undefined;
|
|
22
|
+
private static readonly COPILOT_NES_XTAB_MODEL;
|
|
23
|
+
private static readonly COPILOT_NES_OCT;
|
|
24
|
+
private static readonly COPILOT_NES_CALLISTO;
|
|
25
|
+
private _copilotTokenObs;
|
|
26
|
+
private _fetchedModelsObs;
|
|
27
|
+
private _preferredModelNameObs;
|
|
28
|
+
private _localModelConfigObs;
|
|
29
|
+
private _expBasedModelConfigObs;
|
|
30
|
+
private _defaultModelConfigObs;
|
|
31
|
+
private _modelsObs;
|
|
32
|
+
private _currentModelObs;
|
|
33
|
+
private _modelInfoObs;
|
|
34
|
+
readonly onModelListUpdated: Event<void>;
|
|
35
|
+
private _tracer;
|
|
36
|
+
constructor(_tokenStore: ICopilotTokenStore, _proxyModelsService: IProxyModelsService, _undesiredModelsManager: IUndesiredModelsManager, _configService: IConfigurationService, _expService: IExperimentationService, _telemetryService: ITelemetryService, _logService: ILogService);
|
|
37
|
+
get modelInfo(): vscode.InlineCompletionModelInfo | undefined;
|
|
38
|
+
setCurrentModelId(newPreferredModelId: string): Promise<void>;
|
|
39
|
+
private aggregateModels;
|
|
40
|
+
selectedModelConfiguration(): ModelConfiguration;
|
|
41
|
+
defaultModelConfiguration(): ModelConfiguration;
|
|
42
|
+
private isConfiguredModel;
|
|
43
|
+
private determineDefaultModel;
|
|
44
|
+
private _pickModel;
|
|
45
|
+
private parseModelConfigStringSetting;
|
|
46
|
+
}
|
|
47
|
+
export declare namespace UndesiredModels {
|
|
48
|
+
class Manager implements IUndesiredModelsManager {
|
|
49
|
+
private readonly _vscodeExtensionContext;
|
|
50
|
+
_serviceBrand: undefined;
|
|
51
|
+
constructor(_vscodeExtensionContext: IVSCodeExtensionContext);
|
|
52
|
+
isUndesiredModelId(modelId: string): boolean;
|
|
53
|
+
addUndesiredModelId(modelId: string): Promise<void>;
|
|
54
|
+
removeUndesiredModelId(modelId: string): Promise<void>;
|
|
55
|
+
private _getModels;
|
|
56
|
+
private _setModels;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=inlineEditsModelService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inlineEditsModelService.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/inlineEdits/node/inlineEditsModelService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
23
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
25
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
26
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
27
|
+
};
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
45
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
46
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
47
|
+
};
|
|
48
|
+
var InlineEditsModelService_1;
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.UndesiredModels = exports.InlineEditsModelService = void 0;
|
|
51
|
+
const arrays_1 = require("../../../util/common/arrays");
|
|
52
|
+
const errors = __importStar(require("../../../util/common/errors"));
|
|
53
|
+
const tracing_1 = require("../../../util/common/tracing");
|
|
54
|
+
const arrays_2 = require("../../../util/vs/base/common/arrays");
|
|
55
|
+
const assert_1 = require("../../../util/vs/base/common/assert");
|
|
56
|
+
const event_1 = require("../../../util/vs/base/common/event");
|
|
57
|
+
const lifecycle_1 = require("../../../util/vs/base/common/lifecycle");
|
|
58
|
+
const observable_1 = require("../../../util/vs/base/common/observable");
|
|
59
|
+
const copilotTokenStore_1 = require("../../authentication/common/copilotTokenStore");
|
|
60
|
+
const configurationService_1 = require("../../configuration/common/configurationService");
|
|
61
|
+
const extensionContext_1 = require("../../extContext/common/extensionContext");
|
|
62
|
+
const logService_1 = require("../../log/common/logService");
|
|
63
|
+
const proxyModelsService_1 = require("../../proxyModels/common/proxyModelsService");
|
|
64
|
+
const nullExperimentationService_1 = require("../../telemetry/common/nullExperimentationService");
|
|
65
|
+
const telemetry_1 = require("../../telemetry/common/telemetry");
|
|
66
|
+
const xtabPromptOptions_1 = require("../common/dataTypes/xtabPromptOptions");
|
|
67
|
+
const inlineEditsModelService_1 = require("../common/inlineEditsModelService");
|
|
68
|
+
let InlineEditsModelService = class InlineEditsModelService extends lifecycle_1.Disposable {
|
|
69
|
+
static { InlineEditsModelService_1 = this; }
|
|
70
|
+
static { this.COPILOT_NES_XTAB_MODEL = {
|
|
71
|
+
modelName: 'copilot-nes-xtab',
|
|
72
|
+
promptingStrategy: xtabPromptOptions_1.PromptingStrategy.CopilotNesXtab,
|
|
73
|
+
includeTagsInCurrentFile: true,
|
|
74
|
+
source: "hardCodedDefault" /* ModelSource.HardCodedDefault */,
|
|
75
|
+
}; }
|
|
76
|
+
static { this.COPILOT_NES_OCT = {
|
|
77
|
+
modelName: 'copilot-nes-oct',
|
|
78
|
+
promptingStrategy: xtabPromptOptions_1.PromptingStrategy.Xtab275,
|
|
79
|
+
includeTagsInCurrentFile: false,
|
|
80
|
+
source: "hardCodedDefault" /* ModelSource.HardCodedDefault */,
|
|
81
|
+
}; }
|
|
82
|
+
static { this.COPILOT_NES_CALLISTO = {
|
|
83
|
+
modelName: 'nes-callisto',
|
|
84
|
+
promptingStrategy: xtabPromptOptions_1.PromptingStrategy.Xtab275,
|
|
85
|
+
includeTagsInCurrentFile: false,
|
|
86
|
+
source: "hardCodedDefault" /* ModelSource.HardCodedDefault */,
|
|
87
|
+
}; }
|
|
88
|
+
constructor(_tokenStore, _proxyModelsService, _undesiredModelsManager, _configService, _expService, _telemetryService, _logService) {
|
|
89
|
+
super();
|
|
90
|
+
this._tokenStore = _tokenStore;
|
|
91
|
+
this._proxyModelsService = _proxyModelsService;
|
|
92
|
+
this._undesiredModelsManager = _undesiredModelsManager;
|
|
93
|
+
this._configService = _configService;
|
|
94
|
+
this._expService = _expService;
|
|
95
|
+
this._telemetryService = _telemetryService;
|
|
96
|
+
this._logService = _logService;
|
|
97
|
+
this._copilotTokenObs = (0, observable_1.observableFromEvent)(this, this._tokenStore.onDidStoreUpdate, () => this._tokenStore.copilotToken);
|
|
98
|
+
// TODO@ulugbekna: use a derived observable such that it fires only when nesModels change
|
|
99
|
+
this._fetchedModelsObs = (0, observable_1.observableFromEvent)(this, this._proxyModelsService.onModelListUpdated, () => this._proxyModelsService.nesModels);
|
|
100
|
+
this._preferredModelNameObs = this._configService.getExperimentBasedConfigObservable(configurationService_1.ConfigKey.Advanced.InlineEditsPreferredModel, this._expService);
|
|
101
|
+
this._localModelConfigObs = this._configService.getConfigObservable(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderModelConfiguration);
|
|
102
|
+
this._expBasedModelConfigObs = this._configService.getExperimentBasedConfigObservable(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderModelConfigurationString, this._expService);
|
|
103
|
+
this._defaultModelConfigObs = this._configService.getExperimentBasedConfigObservable(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderDefaultModelConfigurationString, this._expService);
|
|
104
|
+
this._tracer = (0, tracing_1.createTracer)(['NES', 'ModelsService'], (msg) => this._logService.trace(msg));
|
|
105
|
+
const tracer = this._tracer.sub('constructor');
|
|
106
|
+
this._modelsObs = (0, observable_1.derived)((reader) => {
|
|
107
|
+
tracer.trace('computing models');
|
|
108
|
+
return this.aggregateModels({
|
|
109
|
+
copilotToken: this._copilotTokenObs.read(reader),
|
|
110
|
+
fetchedNesModels: this._fetchedModelsObs.read(reader),
|
|
111
|
+
localModelConfig: this._localModelConfigObs.read(reader),
|
|
112
|
+
modelConfigString: this._expBasedModelConfigObs.read(reader),
|
|
113
|
+
defaultModelConfigString: this._defaultModelConfigObs.read(reader),
|
|
114
|
+
});
|
|
115
|
+
}).recomputeInitiallyAndOnChange(this._store);
|
|
116
|
+
this._currentModelObs = (0, observable_1.derived)((reader) => {
|
|
117
|
+
tracer.trace('computing current model');
|
|
118
|
+
return this._pickModel({
|
|
119
|
+
preferredModelName: this._preferredModelNameObs.read(reader),
|
|
120
|
+
models: this._modelsObs.read(reader),
|
|
121
|
+
});
|
|
122
|
+
}).recomputeInitiallyAndOnChange(this._store);
|
|
123
|
+
this._modelInfoObs = (0, observable_1.derived)((reader) => {
|
|
124
|
+
tracer.trace('computing model info');
|
|
125
|
+
return {
|
|
126
|
+
models: this._modelsObs.read(reader),
|
|
127
|
+
currentModelId: this._currentModelObs.read(reader).modelName,
|
|
128
|
+
};
|
|
129
|
+
}).recomputeInitiallyAndOnChange(this._store);
|
|
130
|
+
this.onModelListUpdated = event_1.Event.fromObservableLight(this._modelInfoObs);
|
|
131
|
+
}
|
|
132
|
+
get modelInfo() {
|
|
133
|
+
const models = this._modelsObs.get().map(m => ({
|
|
134
|
+
id: m.modelName,
|
|
135
|
+
name: m.modelName,
|
|
136
|
+
}));
|
|
137
|
+
const currentModel = this._currentModelObs.get();
|
|
138
|
+
return {
|
|
139
|
+
models,
|
|
140
|
+
currentModelId: currentModel.modelName,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
// FIXME@ulugbekna: don't do async risking race condition; use a TaskQueue to serialize updates?
|
|
144
|
+
async setCurrentModelId(newPreferredModelId) {
|
|
145
|
+
const currentPreferredModelId = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.Advanced.InlineEditsPreferredModel, this._expService);
|
|
146
|
+
const isSameModel = currentPreferredModelId === newPreferredModelId;
|
|
147
|
+
if (isSameModel) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
// snapshot before async calls
|
|
151
|
+
const currentPreferredModel = this._currentModelObs.get();
|
|
152
|
+
const models = this._modelsObs.get();
|
|
153
|
+
const newPreferredModel = models.find(m => m.modelName === newPreferredModelId);
|
|
154
|
+
if (newPreferredModel === undefined) {
|
|
155
|
+
this._logService.error(`New preferred model id ${newPreferredModelId} not found in model list.`);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
// if currently selected model is from exp config, then mark that model as undesired
|
|
159
|
+
if (currentPreferredModel.source === "expConfig" /* ModelSource.ExpConfig */) {
|
|
160
|
+
await this._undesiredModelsManager.addUndesiredModelId(currentPreferredModel.modelName);
|
|
161
|
+
}
|
|
162
|
+
if (this._undesiredModelsManager.isUndesiredModelId(newPreferredModelId)) {
|
|
163
|
+
await this._undesiredModelsManager.removeUndesiredModelId(newPreferredModelId);
|
|
164
|
+
}
|
|
165
|
+
// if user picks same as the default model, we should reset the user setting
|
|
166
|
+
// otherwise, update the model
|
|
167
|
+
const expectedDefaultModel = this._pickModel({ preferredModelName: 'none', models });
|
|
168
|
+
if (newPreferredModel.source === "expConfig" /* ModelSource.ExpConfig */ || // because exp-configured model already takes highest priority
|
|
169
|
+
(newPreferredModelId === expectedDefaultModel.modelName && !models.some(m => m.source === "expConfig" /* ModelSource.ExpConfig */))) {
|
|
170
|
+
this._tracer.trace(`New preferred model id ${newPreferredModelId} is the same as the default model, resetting user setting.`);
|
|
171
|
+
await this._configService.setConfig(configurationService_1.ConfigKey.Advanced.InlineEditsPreferredModel, 'none');
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
this._tracer.trace(`New preferred model id ${newPreferredModelId} is different from the default model, updating user setting to ${newPreferredModelId}.`);
|
|
175
|
+
await this._configService.setConfig(configurationService_1.ConfigKey.Advanced.InlineEditsPreferredModel, newPreferredModelId);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
aggregateModels({ copilotToken, fetchedNesModels, localModelConfig, modelConfigString, defaultModelConfigString, }) {
|
|
179
|
+
const tracer = this._tracer.sub('aggregateModels');
|
|
180
|
+
const models = [];
|
|
181
|
+
// priority of adding models to the list:
|
|
182
|
+
// 0. model from user local setting
|
|
183
|
+
// 1. model from modelConfigurationString setting (set through ExP)
|
|
184
|
+
// 2. fetched models from /models endpoint (if useSlashModels is true)
|
|
185
|
+
if (localModelConfig) {
|
|
186
|
+
if (models.some(m => m.modelName === localModelConfig.modelName)) {
|
|
187
|
+
tracer.trace('Local model configuration already exists in the model list, skipping.');
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
tracer.trace(`Adding local model configuration: ${localModelConfig.modelName}`);
|
|
191
|
+
models.push({ ...localModelConfig, source: "localConfig" /* ModelSource.LocalConfig */ });
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (modelConfigString) {
|
|
195
|
+
tracer.trace('Parsing modelConfigurationString...');
|
|
196
|
+
const parsedConfig = this.parseModelConfigStringSetting(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderModelConfigurationString);
|
|
197
|
+
if (parsedConfig && !models.some(m => m.modelName === parsedConfig.modelName)) {
|
|
198
|
+
tracer.trace(`Adding model from modelConfigurationString: ${parsedConfig.modelName}`);
|
|
199
|
+
models.push({ ...parsedConfig, source: "expConfig" /* ModelSource.ExpConfig */ });
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
tracer.trace('No valid model found in modelConfigurationString.');
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
const useSlashModels = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsUseSlashModels, this._expService);
|
|
206
|
+
if (useSlashModels && fetchedNesModels && fetchedNesModels.length > 0) {
|
|
207
|
+
tracer.trace(`Processing ${fetchedNesModels.length} fetched models...`);
|
|
208
|
+
const filteredFetchedModels = (0, arrays_1.filterMap)(fetchedNesModels, (m) => {
|
|
209
|
+
if (!(0, xtabPromptOptions_1.isPromptingStrategy)(m.capabilities.promptStrategy)) {
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
if (models.some(knownModel => knownModel.modelName === m.name)) {
|
|
213
|
+
tracer.trace(`Fetched model ${m.name} already exists in the model list, skipping.`);
|
|
214
|
+
return undefined;
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
modelName: m.name,
|
|
218
|
+
promptingStrategy: m.capabilities.promptStrategy,
|
|
219
|
+
includeTagsInCurrentFile: false, // FIXME@ulugbekna: determine this based on model capabilities and config
|
|
220
|
+
source: "fetched" /* ModelSource.Fetched */,
|
|
221
|
+
};
|
|
222
|
+
});
|
|
223
|
+
tracer.trace(`Adding ${filteredFetchedModels.length} fetched models after filtering.`);
|
|
224
|
+
(0, arrays_2.pushMany)(models, filteredFetchedModels);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
// push default model if /models doesn't give us any models
|
|
228
|
+
tracer.trace(`adding built-in default model: useSlashModels ${useSlashModels}, fetchedNesModels ${fetchedNesModels}`);
|
|
229
|
+
const defaultModel = this.determineDefaultModel(copilotToken, defaultModelConfigString);
|
|
230
|
+
if (defaultModel) {
|
|
231
|
+
if (models.some(m => m.modelName === defaultModel.modelName)) {
|
|
232
|
+
tracer.trace('Default model configuration already exists in the model list, skipping.');
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
tracer.trace(`Adding default model configuration: ${defaultModel.modelName}`);
|
|
236
|
+
models.push(defaultModel);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
return models;
|
|
241
|
+
}
|
|
242
|
+
selectedModelConfiguration() {
|
|
243
|
+
const tracer = this._tracer.sub('selectedModelConfiguration');
|
|
244
|
+
const model = this._currentModelObs.get();
|
|
245
|
+
if (model) {
|
|
246
|
+
tracer.trace(`Selected model found: ${model.modelName}`);
|
|
247
|
+
return {
|
|
248
|
+
modelName: model.modelName,
|
|
249
|
+
promptingStrategy: model.promptingStrategy,
|
|
250
|
+
includeTagsInCurrentFile: model.includeTagsInCurrentFile,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
tracer.trace('No selected model found, using default model.');
|
|
254
|
+
return this.determineDefaultModel(this._copilotTokenObs.get(), this._defaultModelConfigObs.get());
|
|
255
|
+
}
|
|
256
|
+
defaultModelConfiguration() {
|
|
257
|
+
const models = this._modelsObs.get();
|
|
258
|
+
if (models && models.length > 0) {
|
|
259
|
+
const defaultModels = models.filter(m => !this.isConfiguredModel(m));
|
|
260
|
+
if (defaultModels.length > 0) {
|
|
261
|
+
return defaultModels[0];
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return this.determineDefaultModel(this._copilotTokenObs.get(), this._defaultModelConfigObs.get());
|
|
265
|
+
}
|
|
266
|
+
isConfiguredModel(model) {
|
|
267
|
+
switch (model.source) {
|
|
268
|
+
case "localConfig" /* ModelSource.LocalConfig */:
|
|
269
|
+
case "expConfig" /* ModelSource.ExpConfig */:
|
|
270
|
+
case "expDefaultConfig" /* ModelSource.ExpDefaultConfig */:
|
|
271
|
+
return true;
|
|
272
|
+
case "fetched" /* ModelSource.Fetched */:
|
|
273
|
+
case "hardCodedDefault" /* ModelSource.HardCodedDefault */:
|
|
274
|
+
return false;
|
|
275
|
+
default:
|
|
276
|
+
(0, assert_1.assertNever)(model.source);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
determineDefaultModel(copilotToken, defaultModelConfigString) {
|
|
280
|
+
// if a default model config string is specified, use that
|
|
281
|
+
if (defaultModelConfigString) {
|
|
282
|
+
const parsedConfig = this.parseModelConfigStringSetting(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderDefaultModelConfigurationString);
|
|
283
|
+
if (parsedConfig) {
|
|
284
|
+
return { ...parsedConfig, source: "expDefaultConfig" /* ModelSource.ExpDefaultConfig */ };
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// otherwise, use built-in defaults
|
|
288
|
+
if (copilotToken?.isFcv1()) {
|
|
289
|
+
return InlineEditsModelService_1.COPILOT_NES_XTAB_MODEL;
|
|
290
|
+
}
|
|
291
|
+
else if (copilotToken?.isFreeUser || copilotToken?.isNoAuthUser) {
|
|
292
|
+
return InlineEditsModelService_1.COPILOT_NES_CALLISTO;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
return InlineEditsModelService_1.COPILOT_NES_OCT;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
_pickModel({ preferredModelName, models }) {
|
|
299
|
+
// priority of picking a model:
|
|
300
|
+
// 0. model from modelConfigurationString setting from ExP, unless marked as undesired
|
|
301
|
+
// 1. user preferred model
|
|
302
|
+
// 2. first model in the list
|
|
303
|
+
const expConfiguredModel = models.find(m => m.source === "expConfig" /* ModelSource.ExpConfig */);
|
|
304
|
+
if (expConfiguredModel) {
|
|
305
|
+
const isUndesiredModelId = this._undesiredModelsManager.isUndesiredModelId(expConfiguredModel.modelName);
|
|
306
|
+
if (isUndesiredModelId) {
|
|
307
|
+
this._tracer.trace(`Exp-configured model ${expConfiguredModel.modelName} is marked as undesired by the user. Skipping.`);
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
return expConfiguredModel;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
const userHasPreferredModel = preferredModelName !== 'none';
|
|
314
|
+
if (userHasPreferredModel) {
|
|
315
|
+
const preferredModel = models.find(m => m.modelName === preferredModelName);
|
|
316
|
+
if (preferredModel) {
|
|
317
|
+
return preferredModel;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
(0, assert_1.softAssert)(models.length > 0, 'InlineEdits model list should have at least one model');
|
|
321
|
+
const model = models.at(0);
|
|
322
|
+
if (model) {
|
|
323
|
+
return model;
|
|
324
|
+
}
|
|
325
|
+
return this.determineDefaultModel(this._copilotTokenObs.get(), this._defaultModelConfigObs.get());
|
|
326
|
+
}
|
|
327
|
+
parseModelConfigStringSetting(configKey) {
|
|
328
|
+
const configString = this._configService.getExperimentBasedConfig(configKey, this._expService);
|
|
329
|
+
if (configString === undefined) {
|
|
330
|
+
return undefined;
|
|
331
|
+
}
|
|
332
|
+
let parsedConfig;
|
|
333
|
+
try {
|
|
334
|
+
parsedConfig = JSON.parse(configString);
|
|
335
|
+
// FIXME@ulugbekna: validate parsedConfig structure
|
|
336
|
+
}
|
|
337
|
+
catch (e) {
|
|
338
|
+
/* __GDPR__
|
|
339
|
+
"incorrectNesModelConfig" : {
|
|
340
|
+
"owner": "ulugbekna",
|
|
341
|
+
"comment": "Capture if model configuration string is invalid JSON.",
|
|
342
|
+
"configName": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Name of the configuration that failed to parse." },
|
|
343
|
+
"errorMessage": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Error message from JSON.parse." },
|
|
344
|
+
"configValue": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "The invalid JSON string." }
|
|
345
|
+
}
|
|
346
|
+
*/
|
|
347
|
+
this._telemetryService.sendMSFTTelemetryEvent('incorrectNesModelConfig', { configName: configKey.id, errorMessage: errors.toString(errors.fromUnknown(e)), configValue: configString });
|
|
348
|
+
}
|
|
349
|
+
return parsedConfig;
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
exports.InlineEditsModelService = InlineEditsModelService;
|
|
353
|
+
exports.InlineEditsModelService = InlineEditsModelService = InlineEditsModelService_1 = __decorate([
|
|
354
|
+
__param(0, copilotTokenStore_1.ICopilotTokenStore),
|
|
355
|
+
__param(1, proxyModelsService_1.IProxyModelsService),
|
|
356
|
+
__param(2, inlineEditsModelService_1.IUndesiredModelsManager),
|
|
357
|
+
__param(3, configurationService_1.IConfigurationService),
|
|
358
|
+
__param(4, nullExperimentationService_1.IExperimentationService),
|
|
359
|
+
__param(5, telemetry_1.ITelemetryService),
|
|
360
|
+
__param(6, logService_1.ILogService)
|
|
361
|
+
], InlineEditsModelService);
|
|
362
|
+
var UndesiredModels;
|
|
363
|
+
(function (UndesiredModels) {
|
|
364
|
+
const UNDESIRED_MODELS_KEY = 'copilot.chat.nextEdits.undesiredModelIds';
|
|
365
|
+
let Manager = class Manager {
|
|
366
|
+
constructor(_vscodeExtensionContext) {
|
|
367
|
+
this._vscodeExtensionContext = _vscodeExtensionContext;
|
|
368
|
+
}
|
|
369
|
+
isUndesiredModelId(modelId) {
|
|
370
|
+
const models = this._getModels();
|
|
371
|
+
return models.includes(modelId);
|
|
372
|
+
}
|
|
373
|
+
addUndesiredModelId(modelId) {
|
|
374
|
+
const models = this._getModels();
|
|
375
|
+
if (!models.includes(modelId)) {
|
|
376
|
+
models.push(modelId);
|
|
377
|
+
return this._setModels(models);
|
|
378
|
+
}
|
|
379
|
+
return Promise.resolve();
|
|
380
|
+
}
|
|
381
|
+
removeUndesiredModelId(modelId) {
|
|
382
|
+
const models = this._getModels();
|
|
383
|
+
const index = models.indexOf(modelId);
|
|
384
|
+
if (index !== -1) {
|
|
385
|
+
models.splice(index, 1);
|
|
386
|
+
return this._setModels(models);
|
|
387
|
+
}
|
|
388
|
+
return Promise.resolve();
|
|
389
|
+
}
|
|
390
|
+
_getModels() {
|
|
391
|
+
return this._vscodeExtensionContext.globalState.get(UNDESIRED_MODELS_KEY) ?? [];
|
|
392
|
+
}
|
|
393
|
+
_setModels(models) {
|
|
394
|
+
return new Promise((resolve, reject) => {
|
|
395
|
+
this._vscodeExtensionContext.globalState.update(UNDESIRED_MODELS_KEY, models).then(resolve, reject);
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
Manager = __decorate([
|
|
400
|
+
__param(0, extensionContext_1.IVSCodeExtensionContext)
|
|
401
|
+
], Manager);
|
|
402
|
+
UndesiredModels.Manager = Manager;
|
|
403
|
+
})(UndesiredModels || (exports.UndesiredModels = UndesiredModels = {}));
|
|
404
|
+
//# sourceMappingURL=inlineEditsModelService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inlineEditsModelService.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/inlineEdits/node/inlineEditsModelService.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,7 +83,7 @@ declare class LoggerImpl implements ILogger {
|
|
|
83
83
|
show(preserveFocus?: boolean): void;
|
|
84
84
|
}
|
|
85
85
|
export declare function collectErrorMessages(e: any): string;
|
|
86
|
-
export declare function collectSingleLineErrorMessage(e: any): string;
|
|
86
|
+
export declare function collectSingleLineErrorMessage(e: any, includeDetails?: boolean): string;
|
|
87
87
|
export declare class LogMemory {
|
|
88
88
|
private static _logs;
|
|
89
89
|
private static _requestIds;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logService.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/log/common/logService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAEpE,eAAO,MAAM,WAAW,wEAAsD,CAAC;AAE/E;;GAEG;AACH,oBAAY,QAAQ;IAEnB;;OAEG;IACH,GAAG,IAAI;IAEP;;OAEG;IACH,KAAK,IAAI;IAET;;OAEG;IACH,KAAK,IAAI;IAET;;OAEG;IACH,IAAI,IAAI;IAER;;OAEG;IACH,OAAO,IAAI;IAEX;;OAEG;IACH,KAAK,IAAI;CACT;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnE,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACrC;AAGD,qBAAa,UAAW,YAAW,UAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAAU,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAA7C,MAAM,CAAC,EAAE,MAAM,YAAA,EAAmB,WAAW,GAAE,QAA2B;IAEvG,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE;CAe3D;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC3C,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACvB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;MAKE;IACF,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACpC;AAED,qBAAa,cAAe,SAAQ,UAAW,YAAW,WAAW;IAC5D,aAAa,EAAE,SAAS,CAAC;IAEjC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAG3B,UAAU,EAAE,UAAU,EAAE;IAOzB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIpD,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;CAGnC;AAED,cAAM,UAAW,YAAW,OAAO;IAEjC,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,UAAU,EAAE;IAG3C,OAAO,CAAC,MAAM;IAKd,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIpD,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI;CAGnC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"logService.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/log/common/logService.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,6 +129,7 @@ function collectErrorMessages(e) {
|
|
|
129
129
|
const messageStr = message.toString?.() || '';
|
|
130
130
|
return [
|
|
131
131
|
messageStr ? `${messageStr.split('\n').map(line => `${indent}${line}`).join('\n')}\n` : '',
|
|
132
|
+
e.chromiumDetails ? `${indent}${JSON.stringify(extractChromiumDetails(e.chromiumDetails))}\n` : '',
|
|
132
133
|
collect(e.cause, indent + ' '),
|
|
133
134
|
...(Array.isArray(e.errors) ? e.errors.map((e) => collect(e, indent + ' ')) : []),
|
|
134
135
|
].join('');
|
|
@@ -136,7 +137,7 @@ function collectErrorMessages(e) {
|
|
|
136
137
|
return collect(e, '')
|
|
137
138
|
.trim();
|
|
138
139
|
}
|
|
139
|
-
function collectSingleLineErrorMessage(e) {
|
|
140
|
+
function collectSingleLineErrorMessage(e, includeDetails = false) {
|
|
140
141
|
// Collect error messages from nested errors as seen with Node's `fetch`.
|
|
141
142
|
const seen = new Set();
|
|
142
143
|
function collect(e) {
|
|
@@ -148,6 +149,7 @@ function collectSingleLineErrorMessage(e) {
|
|
|
148
149
|
const messageStr = message.toString?.() || '';
|
|
149
150
|
const messageLine = messageStr.trim().split('\n').join(' ');
|
|
150
151
|
const details = [
|
|
152
|
+
...(includeDetails && e.chromiumDetails ? [JSON.stringify(extractChromiumDetails(e.chromiumDetails))] : []),
|
|
151
153
|
...(e.cause ? [collect(e.cause)] : []),
|
|
152
154
|
...(Array.isArray(e.errors) ? e.errors.map((e) => collect(e)) : []),
|
|
153
155
|
].join(', ');
|
|
@@ -155,6 +157,65 @@ function collectSingleLineErrorMessage(e) {
|
|
|
155
157
|
}
|
|
156
158
|
return collect(e);
|
|
157
159
|
}
|
|
160
|
+
function extractChromiumDetails(details) {
|
|
161
|
+
if (!details || typeof details !== 'object') {
|
|
162
|
+
return {};
|
|
163
|
+
}
|
|
164
|
+
const extracted = {
|
|
165
|
+
// source_id: details.source_id,
|
|
166
|
+
// host_port_pair: details.host_port_pair,
|
|
167
|
+
// network_anonymization_key: details.network_anonymization_key,
|
|
168
|
+
active_streams: details.active_streams,
|
|
169
|
+
created_streams: details.created_streams,
|
|
170
|
+
pending_create_stream_request_count: details.pending_create_stream_request_count,
|
|
171
|
+
negotiated_protocol: details.negotiated_protocol,
|
|
172
|
+
error: details.error,
|
|
173
|
+
error_on_unavailable: details.error_on_unavailable,
|
|
174
|
+
max_concurrent_streams: details.max_concurrent_streams,
|
|
175
|
+
streams_initiated_count: details.streams_initiated_count,
|
|
176
|
+
streams_abandoned_count: details.streams_abandoned_count,
|
|
177
|
+
stream_hi_water_mark: details.stream_hi_water_mark,
|
|
178
|
+
frames_received: details.frames_received,
|
|
179
|
+
send_window_size: details.send_window_size,
|
|
180
|
+
recv_window_size: details.recv_window_size,
|
|
181
|
+
unacked_recv_window_bytes: details.unacked_recv_window_bytes,
|
|
182
|
+
// support_websocket: details.support_websocket,
|
|
183
|
+
availability_state: details.availability_state,
|
|
184
|
+
last_good_stream_id: details.last_good_stream_id,
|
|
185
|
+
reused: details.reused,
|
|
186
|
+
drain_error: details.drain_error,
|
|
187
|
+
drain_description: details.drain_description,
|
|
188
|
+
go_away_error: details.go_away_error,
|
|
189
|
+
go_away_debug_data: details.go_away_debug_data,
|
|
190
|
+
rst_stream_error: details.rst_stream_error,
|
|
191
|
+
rst_stream_description: details.rst_stream_description,
|
|
192
|
+
aliases_length: Array.isArray(details.aliases) ? details.aliases.length : undefined,
|
|
193
|
+
};
|
|
194
|
+
// Extract proxy schemes
|
|
195
|
+
if (details.proxy) {
|
|
196
|
+
const proxyString = Array.isArray(details.proxy) ? details.proxy.join(' ') : String(details.proxy);
|
|
197
|
+
const proxySchemes = [...proxyString.matchAll(/([a-z][a-z0-9+.-]*):\/\//gi)].map(match => match[1]);
|
|
198
|
+
if (proxySchemes.length > 0) {
|
|
199
|
+
extracted.proxy_schemes = proxySchemes;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (details.spdy_session_key && typeof details.spdy_session_key === 'object') {
|
|
203
|
+
extracted.spdy_session = {
|
|
204
|
+
privacy_mode: details.spdy_session_key.privacy_mode,
|
|
205
|
+
secure_dns_policy: details.spdy_session_key.secure_dns_policy,
|
|
206
|
+
disable_cert_verification_network_fetches: details.spdy_session_key.disable_cert_verification_network_fetches,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
if (Array.isArray(details.active_stream_details)) {
|
|
210
|
+
extracted.active_stream_details = details.active_stream_details.map((stream) => ({
|
|
211
|
+
stream_id: stream.stream_id,
|
|
212
|
+
io_state: stream.io_state,
|
|
213
|
+
send_stalled_by_flow_control: stream.send_stalled_by_flow_control,
|
|
214
|
+
pending_send_status: stream.pending_send_status,
|
|
215
|
+
}));
|
|
216
|
+
}
|
|
217
|
+
return extracted;
|
|
218
|
+
}
|
|
158
219
|
class LogMemory {
|
|
159
220
|
static { this._logs = []; }
|
|
160
221
|
static { this._requestIds = []; }
|