@vscode/chat-lib 0.1.1-8 → 0.1.1
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/common/constants.d.ts +2 -1
- package/dist/src/_internal/extension/common/constants.d.ts.map +1 -1
- package/dist/src/_internal/extension/common/constants.js +3 -0
- package/dist/src/_internal/extension/common/constants.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/delayer.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/delayer.js +5 -6
- package/dist/src/_internal/extension/inlineEdits/common/delayer.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +10 -9
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +2 -2
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts +1 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.js.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +7 -27
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +198 -498
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.d.ts +0 -13
- package/dist/src/_internal/extension/xtab/common/tags.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.js +1 -15
- package/dist/src/_internal/extension/xtab/common/tags.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js +2 -2
- package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +70 -66
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/authentication/common/authentication.d.ts +1 -2
- package/dist/src/_internal/platform/authentication/common/authentication.d.ts.map +1 -1
- package/dist/src/_internal/platform/authentication/common/authentication.js +0 -6
- package/dist/src/_internal/platform/authentication/common/authentication.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +102 -123
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +274 -297
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts +1 -1
- package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/capiClient.js +2 -2
- package/dist/src/_internal/platform/endpoint/common/capiClient.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +1 -15
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +32 -71
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +1 -2
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.js +0 -1
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js +1 -1
- package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +0 -2
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +2 -19
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js +1 -1
- package/dist/src/_internal/platform/env/common/envService.d.ts +0 -2
- package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
- package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +0 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.js +0 -3
- package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
- package/dist/src/_internal/platform/github/common/githubAPI.d.ts +6 -5
- package/dist/src/_internal/platform/github/common/githubAPI.d.ts.map +1 -1
- package/dist/src/_internal/platform/github/common/githubAPI.js +1 -10
- package/dist/src/_internal/platform/github/common/githubAPI.js.map +1 -1
- package/dist/src/_internal/platform/github/common/githubService.d.ts +20 -21
- package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
- package/dist/src/_internal/platform/github/common/githubService.js +30 -27
- package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.js +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +14 -27
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +21 -58
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetch.d.ts +2 -10
- package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetch.js +8 -0
- package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +0 -7
- package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.d.ts +3 -9
- 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/notebook/common/alternativeContent.js +1 -1
- package/dist/src/_internal/platform/openai/node/fetch.d.ts +33 -2
- package/dist/src/_internal/platform/openai/node/fetch.d.ts.map +1 -1
- package/dist/src/_internal/platform/openai/node/fetch.js +401 -0
- package/dist/src/_internal/platform/openai/node/fetch.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +2 -14
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js +2 -21
- package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +1 -6
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
- package/dist/src/_internal/vscodeTypes.d.ts +0 -5
- package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
- package/dist/src/_internal/vscodeTypes.js +1 -6
- package/dist/src/_internal/vscodeTypes.js.map +1 -1
- package/dist/src/main.d.ts +0 -101
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +8 -261
- package/dist/src/main.js.map +1 -1
- package/dist/src/package.json +102 -796
- package/package.json +3 -13
- package/dist/src/_internal/extension/completions/common/config.d.ts +0 -29
- package/dist/src/_internal/extension/completions/common/config.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions/common/config.js +0 -43
- package/dist/src/_internal/extension/completions/common/config.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/bridge/src/completionsTelemetryServiceBridge.d.ts +0 -28
- package/dist/src/_internal/extension/completions-core/vscode-node/bridge/src/completionsTelemetryServiceBridge.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/bridge/src/completionsTelemetryServiceBridge.js +0 -67
- package/dist/src/_internal/extension/completions-core/vscode-node/bridge/src/completionsTelemetryServiceBridge.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/extensionStatus.d.ts +0 -18
- package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/extensionStatus.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/extensionStatus.js +0 -19
- package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/extensionStatus.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.d.ts +0 -31
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.js +0 -66
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.d.ts +0 -4
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.js +0 -16
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.d.ts +0 -3
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.js +0 -27
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/changeTracker.d.ts +0 -15
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/changeTracker.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/changeTracker.js +0 -56
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/changeTracker.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/citationManager.d.ts +0 -27
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/citationManager.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/citationManager.js +0 -18
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/citationManager.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionNotifier.d.ts +0 -29
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionNotifier.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionNotifier.js +0 -54
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionNotifier.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionState.d.ts +0 -20
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionState.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionState.js +0 -93
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionState.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionsObservableWorkspace.d.ts +0 -16
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionsObservableWorkspace.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionsObservableWorkspace.js +0 -6
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionsObservableWorkspace.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.d.ts +0 -192
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.js +0 -329
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/constants.d.ts +0 -2
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/constants.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/constants.js +0 -9
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/constants.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/documentTracker.d.ts +0 -18
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/documentTracker.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/documentTracker.js +0 -32
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/documentTracker.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/error/userErrorNotifier.d.ts +0 -20
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/error/userErrorNotifier.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/error/userErrorNotifier.js +0 -64
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/error/userErrorNotifier.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.d.ts +0 -7
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.js +0 -60
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/expConfig.d.ts +0 -102
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/expConfig.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/expConfig.js +0 -126
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/expConfig.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/features.d.ts +0 -103
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/features.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/features.js +0 -302
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/features.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/featuresService.d.ts +0 -60
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/featuresService.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/featuresService.js +0 -10
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/featuresService.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/filters.d.ts +0 -62
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/filters.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/filters.js +0 -100
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/filters.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProvider.d.ts +0 -7
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProvider.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProvider.js +0 -42
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProvider.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProviderCpp.d.ts +0 -6
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProviderCpp.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProviderCpp.js +0 -20
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProviderCpp.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/telemetryNames.d.ts +0 -4
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/telemetryNames.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/telemetryNames.js +0 -14
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/telemetryNames.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileReader.d.ts +0 -28
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileReader.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileReader.js +0 -82
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileReader.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileSystem.d.ts +0 -57
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileSystem.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileSystem.js +0 -25
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileSystem.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.d.ts +0 -69
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.js +0 -249
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/blockTrimmer.d.ts +0 -70
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/blockTrimmer.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/blockTrimmer.js +0 -279
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/blockTrimmer.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsCache.d.ts +0 -21
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsCache.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsCache.js +0 -46
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsCache.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.d.ts +0 -17
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.js +0 -79
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.d.ts +0 -4
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.js +0 -105
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.d.ts +0 -21
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.js +0 -56
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.d.ts +0 -45
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.js +0 -100
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.d.ts +0 -58
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js +0 -1118
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.d.ts +0 -48
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.js +0 -187
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModel.d.ts +0 -32
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModel.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModel.js +0 -143
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModel.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModelWeights.d.ts +0 -2
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModelWeights.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModelWeights.js +0 -15318
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModelWeights.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/normalizeIndent.d.ts +0 -7
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/normalizeIndent.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/normalizeIndent.js +0 -58
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/normalizeIndent.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/speculativeRequestCache.d.ts +0 -15
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/speculativeRequestCache.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/speculativeRequestCache.js +0 -28
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/speculativeRequestCache.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/statementTree.d.ts +0 -75
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/statementTree.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/statementTree.js +0 -785
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/statementTree.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.d.ts +0 -22
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.js +0 -205
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.d.ts +0 -120
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.js +0 -110
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/cache.d.ts +0 -28
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/cache.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/cache.js +0 -86
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/cache.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/iterableHelpers.d.ts +0 -10
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/iterableHelpers.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/iterableHelpers.js +0 -73
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/iterableHelpers.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/radix.d.ts +0 -59
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/radix.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/radix.js +0 -228
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/radix.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.d.ts +0 -12
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.js +0 -87
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/generatedLanguages.d.ts +0 -7
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/generatedLanguages.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/generatedLanguages.js +0 -752
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/generatedLanguages.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languageDetection.d.ts +0 -28
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languageDetection.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languageDetection.js +0 -156
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languageDetection.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languages.d.ts +0 -10
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languages.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languages.js +0 -29
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languages.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/localFileSystem.d.ts +0 -10
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/localFileSystem.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/localFileSystem.js +0 -64
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/localFileSystem.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/logger.d.ts +0 -37
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/logger.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/logger.js +0 -75
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/logger.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.d.ts +0 -19
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.js +0 -65
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts +0 -68
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js +0 -166
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkingTypes.d.ts +0 -24
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkingTypes.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkingTypes.js +0 -33
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkingTypes.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/notificationSender.d.ts +0 -17
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/notificationSender.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/notificationSender.js +0 -36
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/notificationSender.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/config.d.ts +0 -13
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/config.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/config.js +0 -20
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/config.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts +0 -227
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js +0 -331
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.d.ts +0 -58
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.js +0 -131
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.d.ts +0 -47
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.js +0 -124
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts +0 -206
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js +0 -603
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.d.ts +0 -11
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.js +0 -294
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/progress.d.ts +0 -36
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/progress.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/progress.js +0 -80
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/progress.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/asyncUtils.d.ts +0 -38
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/asyncUtils.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/asyncUtils.js +0 -148
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/asyncUtils.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/completionsPromptFactory.d.ts +0 -40
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/completionsPromptFactory.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/completionsPromptFactory.js +0 -95
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/completionsPromptFactory.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.d.ts +0 -69
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.js +0 -305
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/codeSnippets.d.ts +0 -10
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/codeSnippets.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/codeSnippets.js +0 -74
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/codeSnippets.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsContext.d.ts +0 -18
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsContext.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsContext.js +0 -38
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsContext.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsPromptRenderer.d.ts +0 -45
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsPromptRenderer.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsPromptRenderer.js +0 -223
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsPromptRenderer.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/contextProviderBridge.d.ts +0 -23
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/contextProviderBridge.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/contextProviderBridge.js +0 -51
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/contextProviderBridge.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/currentFile.d.ts +0 -27
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/currentFile.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/currentFile.js +0 -151
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/currentFile.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/elision.d.ts +0 -76
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/elision.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/elision.js +0 -264
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/elision.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/marker.d.ts +0 -10
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/marker.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/marker.js +0 -43
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/marker.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/recentEdits.d.ts +0 -20
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/recentEdits.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/recentEdits.js +0 -99
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/recentEdits.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/similarFiles.d.ts +0 -12
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/similarFiles.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/similarFiles.js +0 -58
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/similarFiles.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.d.ts +0 -9
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.js +0 -31
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPromptRenderer.d.ts +0 -15
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPromptRenderer.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPromptRenderer.js +0 -113
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPromptRenderer.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/traits.d.ts +0 -5
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/traits.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/traits.js +0 -33
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/traits.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.d.ts +0 -90
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.js +0 -381
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCSharp.d.ts +0 -5
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCSharp.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCSharp.js +0 -36
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCSharp.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCpp.d.ts +0 -5
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCpp.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCpp.js +0 -52
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCpp.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryMultiLanguage.d.ts +0 -30
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryMultiLanguage.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryMultiLanguage.js +0 -63
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryMultiLanguage.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryTs.d.ts +0 -6
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryTs.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryTs.js +0 -42
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryTs.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderStatistics.d.ts +0 -39
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderStatistics.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderStatistics.js +0 -159
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderStatistics.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/codeSnippets.d.ts +0 -11
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/codeSnippets.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/codeSnippets.js +0 -57
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/codeSnippets.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.d.ts +0 -34
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.js +0 -107
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/traits.d.ts +0 -8
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/traits.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/traits.js +0 -50
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/traits.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/parseBlock.d.ts +0 -41
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/parseBlock.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/parseBlock.js +0 -231
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/parseBlock.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.d.ts +0 -64
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.js +0 -101
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsProvider.d.ts +0 -43
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsProvider.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsProvider.js +0 -115
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsProvider.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsReducer.d.ts +0 -88
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsReducer.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsReducer.js +0 -362
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsReducer.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/repository.d.ts +0 -55
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/repository.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/repository.js +0 -239
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/repository.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/compositeRelatedFilesProvider.d.ts +0 -37
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/compositeRelatedFilesProvider.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/compositeRelatedFilesProvider.js +0 -149
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/compositeRelatedFilesProvider.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/neighborFiles.d.ts +0 -66
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/neighborFiles.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/neighborFiles.js +0 -142
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/neighborFiles.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.d.ts +0 -21
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.js +0 -72
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/relatedFiles.d.ts +0 -90
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/relatedFiles.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/relatedFiles.js +0 -287
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/relatedFiles.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/compute.d.ts +0 -6
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/compute.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/compute.js +0 -56
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/compute.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/connectionState.d.ts +0 -19
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/connectionState.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/connectionState.js +0 -156
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/connectionState.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/constants.d.ts +0 -3
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/constants.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/constants.js +0 -10
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/constants.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.d.ts +0 -32
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.js +0 -63
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/handlePostInsertion.d.ts +0 -3
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/handlePostInsertion.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/handlePostInsertion.js +0 -159
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/handlePostInsertion.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/index.d.ts +0 -43
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/index.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/index.js +0 -58
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/index.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/logger.d.ts +0 -3
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/logger.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/logger.js +0 -11
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/logger.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/network.d.ts +0 -15
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/network.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/network.js +0 -108
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/network.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/snippy.proto.d.ts +0 -60
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/snippy.proto.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/snippy.proto.js +0 -61
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/snippy.proto.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/telemetryHandlers.d.ts +0 -49
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/telemetryHandlers.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/telemetryHandlers.js +0 -95
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/telemetryHandlers.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.d.ts +0 -9
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.js +0 -72
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/editDistance.d.ts +0 -88
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/editDistance.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/editDistance.js +0 -245
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/editDistance.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/partialSuggestions.d.ts +0 -17
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/partialSuggestions.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/partialSuggestions.js +0 -35
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/partialSuggestions.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.d.ts +0 -15
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.js +0 -180
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.d.ts +0 -29
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.js +0 -76
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.d.ts +0 -196
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.js +0 -504
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocument.d.ts +0 -206
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocument.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocument.js +0 -81
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocument.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocumentManager.d.ts +0 -165
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocumentManager.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocumentManager.js +0 -141
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocumentManager.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/async.d.ts +0 -16
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/async.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/async.js +0 -27
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/async.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/documentEvaluation.d.ts +0 -12
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/documentEvaluation.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/documentEvaluation.js +0 -23
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/documentEvaluation.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/event.d.ts +0 -28
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/event.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/event.js +0 -71
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/event.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/promiseQueue.d.ts +0 -13
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/promiseQueue.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/promiseQueue.js +0 -23
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/promiseQueue.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/runtimeMode.d.ts +0 -24
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/runtimeMode.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/runtimeMode.js +0 -60
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/runtimeMode.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/shortCircuit.d.ts +0 -4
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/shortCircuit.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/shortCircuit.js +0 -19
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/shortCircuit.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/subject.d.ts +0 -24
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/subject.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/subject.js +0 -49
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/subject.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/typebox.d.ts +0 -14
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/typebox.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/typebox.js +0 -30
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/typebox.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/unknown.d.ts +0 -6
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/unknown.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/unknown.js +0 -19
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/unknown.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/uri.d.ts +0 -43
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/uri.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/uri.js +0 -181
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/uri.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/jsx-runtime/jsx-runtime.d.ts +0 -36
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/jsx-runtime/jsx-runtime.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/jsx-runtime/jsx-runtime.js +0 -38
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/jsx-runtime/jsx-runtime.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/components.d.ts +0 -134
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/components.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/components.js +0 -27
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/components.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/hooks.d.ts +0 -21
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/hooks.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/hooks.js +0 -57
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/hooks.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.d.ts +0 -53
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.js +0 -203
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/virtualPrompt.d.ts +0 -23
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/virtualPrompt.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/virtualPrompt.js +0 -68
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/virtualPrompt.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/walker.d.ts +0 -48
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/walker.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/walker.js +0 -81
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/walker.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/error.d.ts +0 -5
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/error.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/error.js +0 -15
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/error.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/fileLoader.d.ts +0 -3
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/fileLoader.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/fileLoader.js +0 -65
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/fileLoader.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/classes.d.ts +0 -69
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/classes.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/classes.js +0 -84
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/classes.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/manipulation.d.ts +0 -51
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/manipulation.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/manipulation.js +0 -159
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/manipulation.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/parsing.d.ts +0 -67
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/parsing.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/parsing.js +0 -300
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/parsing.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.d.ts +0 -105
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.js +0 -442
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parse.d.ts +0 -21
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parse.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parse.js +0 -168
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parse.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.d.ts +0 -23
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.js +0 -851
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/prompt.d.ts +0 -68
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/prompt.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/prompt.js +0 -47
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/prompt.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/cursorContext.d.ts +0 -41
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/cursorContext.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/cursorContext.js +0 -55
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/cursorContext.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/jaccardMatching.d.ts +0 -20
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/jaccardMatching.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/jaccardMatching.js +0 -51
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/jaccardMatching.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/selectRelevance.d.ts +0 -87
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/selectRelevance.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/selectRelevance.js +0 -326
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/selectRelevance.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/similarFiles.d.ts +0 -20
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/similarFiles.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/similarFiles.js +0 -87
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/similarFiles.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/snippets.d.ts +0 -46
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/snippets.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/snippets.js +0 -67
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/snippets.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/subsetMatching.d.ts +0 -29
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/subsetMatching.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/subsetMatching.js +0 -135
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/subsetMatching.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/windowDelineations.d.ts +0 -23
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/windowDelineations.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/windowDelineations.js +0 -132
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/windowDelineations.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/suffixMatchCriteria.d.ts +0 -6
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/suffixMatchCriteria.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/suffixMatchCriteria.js +0 -22
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/suffixMatchCriteria.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/index.d.ts +0 -2
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/index.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/index.js +0 -22
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/index.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/tokenizer.d.ts +0 -116
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/tokenizer.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/tokenizer.js +0 -302
- package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/tokenizer.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/auth.d.ts +0 -25
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/auth.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/auth.js +0 -57
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/auth.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/codeCitation.d.ts +0 -20
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/codeCitation.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/codeCitation.js +0 -47
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/codeCitation.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.d.ts +0 -161
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.js +0 -7
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/core.d.ts +0 -12
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/core.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/core.js +0 -29
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/core.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/index.d.ts +0 -7
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/index.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/index.js +0 -34
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/index.js.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/status.d.ts +0 -15
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/status.d.ts.map +0 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/status.js +0 -7
- package/dist/src/_internal/extension/completions-core/vscode-node/types/src/status.js.map +0 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +0 -42
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +0 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +0 -171
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +0 -1
- package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts +0 -65
- package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +0 -1
- package/dist/src/_internal/platform/endpoint/node/messagesApi.js +0 -397
- package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +0 -1
- package/dist/src/_internal/platform/git/common/gitService.d.ts +0 -119
- package/dist/src/_internal/platform/git/common/gitService.d.ts.map +0 -1
- package/dist/src/_internal/platform/git/common/gitService.js +0 -251
- package/dist/src/_internal/platform/git/common/gitService.js.map +0 -1
- package/dist/src/_internal/platform/notification/common/notificationService.d.ts +0 -49
- package/dist/src/_internal/platform/notification/common/notificationService.d.ts.map +0 -1
- package/dist/src/_internal/platform/notification/common/notificationService.js +0 -32
- package/dist/src/_internal/platform/notification/common/notificationService.js.map +0 -1
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts +0 -18
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts.map +0 -1
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js +0 -150
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js.map +0 -1
- package/script/postinstall.ts +0 -74
package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js
DELETED
|
@@ -1,1118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ForceMultiLine = exports.ResultType = void 0;
|
|
4
|
-
exports.getGhostText = getGhostText;
|
|
5
|
-
/*---------------------------------------------------------------------------------------------
|
|
6
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
8
|
-
*--------------------------------------------------------------------------------------------*/
|
|
9
|
-
const telemetry_1 = require("../../../../../../platform/telemetry/common/telemetry");
|
|
10
|
-
const crypto_1 = require("../../../../../../util/common/crypto");
|
|
11
|
-
const uuid_1 = require("../../../../../../util/vs/base/common/uuid");
|
|
12
|
-
const instantiation_1 = require("../../../../../../util/vs/platform/instantiation/common/instantiation");
|
|
13
|
-
const parse_1 = require("../../../prompt/src/parse");
|
|
14
|
-
const tokenization_1 = require("../../../prompt/src/tokenization");
|
|
15
|
-
const src_1 = require("../../../types/src");
|
|
16
|
-
const completionNotifier_1 = require("../completionNotifier");
|
|
17
|
-
const config_1 = require("../config");
|
|
18
|
-
const userErrorNotifier_1 = require("../error/userErrorNotifier");
|
|
19
|
-
const featuresService_1 = require("../experiments/featuresService");
|
|
20
|
-
const logger_1 = require("../logger");
|
|
21
|
-
const networking_1 = require("../networking");
|
|
22
|
-
const config_2 = require("../openai/config");
|
|
23
|
-
const fetch_1 = require("../openai/fetch");
|
|
24
|
-
const openai_1 = require("../openai/openai");
|
|
25
|
-
const progress_1 = require("../progress");
|
|
26
|
-
const contextProviderBridge_1 = require("../prompt/components/contextProviderBridge");
|
|
27
|
-
const contextProviderStatistics_1 = require("../prompt/contextProviderStatistics");
|
|
28
|
-
const parseBlock_1 = require("../prompt/parseBlock");
|
|
29
|
-
const prompt_1 = require("../prompt/prompt");
|
|
30
|
-
const repository_1 = require("../prompt/repository");
|
|
31
|
-
const suggestions_1 = require("../suggestions/suggestions");
|
|
32
|
-
const telemetry_2 = require("../telemetry");
|
|
33
|
-
const textDocument_1 = require("../textDocument");
|
|
34
|
-
const async_1 = require("../util/async");
|
|
35
|
-
const runtimeMode_1 = require("../util/runtimeMode");
|
|
36
|
-
const asyncCompletions_1 = require("./asyncCompletions");
|
|
37
|
-
const blockTrimmer_1 = require("./blockTrimmer");
|
|
38
|
-
const completionsCache_1 = require("./completionsCache");
|
|
39
|
-
const configBlockMode_1 = require("./configBlockMode");
|
|
40
|
-
const current_1 = require("./current");
|
|
41
|
-
const multilineModel_1 = require("./multilineModel");
|
|
42
|
-
const streamedCompletionSplitter_1 = require("./streamedCompletionSplitter");
|
|
43
|
-
const telemetry_3 = require("./telemetry");
|
|
44
|
-
const ghostTextLogger = new logger_1.Logger('ghostText');
|
|
45
|
-
var ResultType;
|
|
46
|
-
(function (ResultType) {
|
|
47
|
-
ResultType[ResultType["Network"] = 0] = "Network";
|
|
48
|
-
ResultType[ResultType["Cache"] = 1] = "Cache";
|
|
49
|
-
ResultType[ResultType["TypingAsSuggested"] = 2] = "TypingAsSuggested";
|
|
50
|
-
ResultType[ResultType["Cycling"] = 3] = "Cycling";
|
|
51
|
-
ResultType[ResultType["Async"] = 4] = "Async";
|
|
52
|
-
})(ResultType || (exports.ResultType = ResultType = {}));
|
|
53
|
-
// p50 line length is 19 characters (p95 is 73)
|
|
54
|
-
// average token length is around 4 characters
|
|
55
|
-
// the below values have quite a bit of buffer while bringing the limit in significantly from 500
|
|
56
|
-
const maxSinglelineTokens = 20;
|
|
57
|
-
async function genericGetCompletionsFromNetwork(accessor, requestContext, baseTelemetryData, cancellationToken, finishedCb, what, processChoices) {
|
|
58
|
-
const featuresService = accessor.get(featuresService_1.ICompletionsFeaturesService);
|
|
59
|
-
const fetcherService = accessor.get(fetch_1.ICompletionsOpenAIFetcherService);
|
|
60
|
-
const runtimeMode = accessor.get(runtimeMode_1.ICompletionsRuntimeModeService);
|
|
61
|
-
const instantiationService = accessor.get(instantiation_1.IInstantiationService);
|
|
62
|
-
const logTarget = accessor.get(logger_1.ICompletionsLogTargetService);
|
|
63
|
-
const userErrorNotifier = accessor.get(userErrorNotifier_1.ICompletionsUserErrorNotifierService);
|
|
64
|
-
ghostTextLogger.debug(logTarget, `Getting ${what} from network`);
|
|
65
|
-
// copy the base telemetry data
|
|
66
|
-
baseTelemetryData = baseTelemetryData.extendedBy();
|
|
67
|
-
// Request one choice for automatic requests, three for invoked (cycling) requests.
|
|
68
|
-
const n = requestContext.isCycling ? 3 : 1;
|
|
69
|
-
const temperature = (0, openai_1.getTemperatureForSamples)(runtimeMode, n);
|
|
70
|
-
const extra = {
|
|
71
|
-
language: requestContext.languageId,
|
|
72
|
-
next_indent: requestContext.indentation.next ?? 0,
|
|
73
|
-
trim_by_indentation: (0, config_1.shouldDoServerTrimming)(requestContext.blockMode),
|
|
74
|
-
prompt_tokens: requestContext.prompt.prefixTokens ?? 0,
|
|
75
|
-
suffix_tokens: requestContext.prompt.suffixTokens ?? 0,
|
|
76
|
-
};
|
|
77
|
-
const postOptions = { n, temperature, code_annotations: false };
|
|
78
|
-
const modelTerminatesSingleline = featuresService.modelAlwaysTerminatesSingleline(baseTelemetryData);
|
|
79
|
-
const simulateSingleline = requestContext.blockMode === config_1.BlockMode.MoreMultiline &&
|
|
80
|
-
blockTrimmer_1.BlockTrimmer.isSupported(requestContext.languageId) &&
|
|
81
|
-
!modelTerminatesSingleline;
|
|
82
|
-
if (!requestContext.multiline && !simulateSingleline) {
|
|
83
|
-
// If we are not in multiline mode, we get the server to truncate the results. This does mean that we
|
|
84
|
-
// also cache a single line result which will be reused even if we are later in multiline mode. This is
|
|
85
|
-
// an acceptable trade-off as the transition should be relatively rare and truncating on the server is
|
|
86
|
-
// more efficient.
|
|
87
|
-
// Note that this also means we don't need to truncate when creating the GhostAPIChoice object below.
|
|
88
|
-
postOptions['stop'] = ['\n'];
|
|
89
|
-
}
|
|
90
|
-
else if (requestContext.stop) {
|
|
91
|
-
postOptions['stop'] = requestContext.stop;
|
|
92
|
-
}
|
|
93
|
-
if (requestContext.maxTokens !== undefined) {
|
|
94
|
-
postOptions['max_tokens'] = requestContext.maxTokens;
|
|
95
|
-
}
|
|
96
|
-
const requestStart = Date.now();
|
|
97
|
-
// extend telemetry data
|
|
98
|
-
const newProperties = {
|
|
99
|
-
endpoint: 'completions',
|
|
100
|
-
uiKind: fetch_1.CopilotUiKind.GhostText,
|
|
101
|
-
temperature: JSON.stringify(temperature),
|
|
102
|
-
n: JSON.stringify(n),
|
|
103
|
-
stop: JSON.stringify(postOptions['stop']) ?? 'unset',
|
|
104
|
-
logit_bias: JSON.stringify(null),
|
|
105
|
-
};
|
|
106
|
-
Object.assign(baseTelemetryData.properties, newProperties);
|
|
107
|
-
try {
|
|
108
|
-
const completionParams = {
|
|
109
|
-
prompt: requestContext.prompt,
|
|
110
|
-
languageId: requestContext.languageId,
|
|
111
|
-
repoInfo: requestContext.repoInfo,
|
|
112
|
-
ourRequestId: requestContext.ourRequestId,
|
|
113
|
-
engineModelId: requestContext.engineModelId,
|
|
114
|
-
count: n,
|
|
115
|
-
uiKind: fetch_1.CopilotUiKind.GhostText,
|
|
116
|
-
postOptions,
|
|
117
|
-
headers: requestContext.headers,
|
|
118
|
-
extra,
|
|
119
|
-
};
|
|
120
|
-
const res = await fetcherService.fetchAndStreamCompletions(completionParams, baseTelemetryData, finishedCb, cancellationToken);
|
|
121
|
-
if (res.type === 'failed') {
|
|
122
|
-
return {
|
|
123
|
-
type: 'failed',
|
|
124
|
-
reason: res.reason,
|
|
125
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(baseTelemetryData),
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
if (res.type === 'canceled') {
|
|
129
|
-
ghostTextLogger.debug(logTarget, 'Cancelled after awaiting fetchCompletions');
|
|
130
|
-
return {
|
|
131
|
-
type: 'canceled',
|
|
132
|
-
reason: res.reason,
|
|
133
|
-
telemetryData: (0, telemetry_3.mkCanceledResultTelemetry)(baseTelemetryData),
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
return processChoices(requestStart, res.getProcessingTime(), res.choices);
|
|
137
|
-
}
|
|
138
|
-
catch (err) {
|
|
139
|
-
// If we cancelled a network request, we don't want to log an error
|
|
140
|
-
if ((0, networking_1.isAbortError)(err)) {
|
|
141
|
-
return {
|
|
142
|
-
type: 'canceled',
|
|
143
|
-
reason: 'network request aborted',
|
|
144
|
-
telemetryData: (0, telemetry_3.mkCanceledResultTelemetry)(baseTelemetryData, {
|
|
145
|
-
cancelledNetworkRequest: true,
|
|
146
|
-
}),
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
instantiationService.invokeFunction(acc => ghostTextLogger.exception(acc, err, `Error on ghost text request`));
|
|
151
|
-
userErrorNotifier.notifyUser(err);
|
|
152
|
-
if (runtimeMode.shouldFailForDebugPurposes()) {
|
|
153
|
-
throw err;
|
|
154
|
-
}
|
|
155
|
-
// not including err in this result because it'll end up in standard telemetry
|
|
156
|
-
return {
|
|
157
|
-
type: 'failed',
|
|
158
|
-
reason: 'non-abort error on ghost text request',
|
|
159
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(baseTelemetryData),
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Post-proceses a completion choice based on the current request context and existing choices.
|
|
166
|
-
*/
|
|
167
|
-
function postProcessChoices(newChoice, requestContext, currentChoices) {
|
|
168
|
-
if (!currentChoices) {
|
|
169
|
-
currentChoices = [];
|
|
170
|
-
}
|
|
171
|
-
newChoice.completionText = newChoice.completionText.trimEnd();
|
|
172
|
-
if (!newChoice.completionText) {
|
|
173
|
-
return undefined;
|
|
174
|
-
}
|
|
175
|
-
// Collect only unique displayTexts
|
|
176
|
-
if (currentChoices.findIndex(v => v.completionText.trim() === newChoice.completionText.trim()) !== -1) {
|
|
177
|
-
return undefined;
|
|
178
|
-
}
|
|
179
|
-
return newChoice;
|
|
180
|
-
}
|
|
181
|
-
/** Requests new completion from OpenAI, should be called if and only if the completions for given prompt were not cached before.
|
|
182
|
-
* It returns only first completion, additional completions are added to the caches in the background.
|
|
183
|
-
* Copies from the base telemetry data are used as the basis for each choice's telemetry.
|
|
184
|
-
*/
|
|
185
|
-
async function getCompletionsFromNetwork(accessor, requestContext, baseTelemetryData, cancellationToken, finishedCb) {
|
|
186
|
-
const instantiationService = accessor.get(instantiation_1.IInstantiationService);
|
|
187
|
-
const logTarget = accessor.get(logger_1.ICompletionsLogTargetService);
|
|
188
|
-
const runtimeMode = accessor.get(runtimeMode_1.ICompletionsRuntimeModeService);
|
|
189
|
-
return genericGetCompletionsFromNetwork(accessor, requestContext, baseTelemetryData, cancellationToken, finishedCb, 'completions', async (requestStart, processingTime, choicesStream) => {
|
|
190
|
-
const choicesIterator = choicesStream[Symbol.asyncIterator]();
|
|
191
|
-
const firstRes = await choicesIterator.next();
|
|
192
|
-
if (firstRes.done) {
|
|
193
|
-
ghostTextLogger.debug(logTarget, 'All choices redacted');
|
|
194
|
-
return {
|
|
195
|
-
type: 'empty',
|
|
196
|
-
reason: 'all choices redacted',
|
|
197
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(baseTelemetryData),
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
if (cancellationToken?.isCancellationRequested) {
|
|
201
|
-
ghostTextLogger.debug(logTarget, 'Cancelled after awaiting redactedChoices iterator');
|
|
202
|
-
return {
|
|
203
|
-
type: 'canceled',
|
|
204
|
-
reason: 'after awaiting redactedChoices iterator',
|
|
205
|
-
telemetryData: (0, telemetry_3.mkCanceledResultTelemetry)(baseTelemetryData),
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
const firstChoice = firstRes.value;
|
|
209
|
-
if (firstChoice === undefined) {
|
|
210
|
-
// This is probably unreachable given the firstRes.done check above
|
|
211
|
-
ghostTextLogger.debug(logTarget, 'Got undefined choice from redactedChoices iterator');
|
|
212
|
-
return {
|
|
213
|
-
type: 'empty',
|
|
214
|
-
reason: 'got undefined choice from redactedChoices iterator',
|
|
215
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(baseTelemetryData),
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
instantiationService.invokeFunction(telemetryPerformance, 'performance', firstChoice, requestStart, processingTime);
|
|
219
|
-
ghostTextLogger.debug(logTarget, `Awaited first result, id: ${firstChoice.choiceIndex}`);
|
|
220
|
-
// Adds first result to cache
|
|
221
|
-
const processedFirstChoice = postProcessChoices(firstChoice, requestContext);
|
|
222
|
-
if (processedFirstChoice) {
|
|
223
|
-
instantiationService.invokeFunction(appendToCache, requestContext, processedFirstChoice);
|
|
224
|
-
ghostTextLogger.debug(logTarget, `GhostText first completion (index ${processedFirstChoice?.choiceIndex}): ${JSON.stringify(processedFirstChoice?.completionText)}`);
|
|
225
|
-
}
|
|
226
|
-
//Create promise for each result, don't `await` it (unless in test mode) but handle asynchronously with `.then()`
|
|
227
|
-
const cacheDone = (async () => {
|
|
228
|
-
const apiChoices = processedFirstChoice !== undefined ? [processedFirstChoice] : [];
|
|
229
|
-
for await (const choice of choicesStream) {
|
|
230
|
-
if (choice === undefined) {
|
|
231
|
-
continue;
|
|
232
|
-
}
|
|
233
|
-
ghostTextLogger.debug(logTarget, `GhostText later completion (index ${choice?.choiceIndex}): ${JSON.stringify(choice.completionText)}`);
|
|
234
|
-
const processedChoice = postProcessChoices(choice, requestContext, apiChoices);
|
|
235
|
-
if (!processedChoice) {
|
|
236
|
-
continue;
|
|
237
|
-
}
|
|
238
|
-
apiChoices.push(processedChoice);
|
|
239
|
-
instantiationService.invokeFunction(appendToCache, requestContext, processedChoice);
|
|
240
|
-
}
|
|
241
|
-
})();
|
|
242
|
-
if (runtimeMode.isRunningInTest()) {
|
|
243
|
-
await cacheDone;
|
|
244
|
-
}
|
|
245
|
-
if (processedFirstChoice) {
|
|
246
|
-
// Because we ask the server to stop at \n above, we don't need to force single line here
|
|
247
|
-
return {
|
|
248
|
-
type: 'success',
|
|
249
|
-
value: [makeGhostAPIChoice(processedFirstChoice, { forceSingleLine: false }), cacheDone],
|
|
250
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(baseTelemetryData),
|
|
251
|
-
telemetryBlob: baseTelemetryData,
|
|
252
|
-
resultType: ResultType.Network,
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
return {
|
|
257
|
-
type: 'empty',
|
|
258
|
-
reason: 'got undefined processedFirstChoice',
|
|
259
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(baseTelemetryData),
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
/** Requests new completion from OpenAI, should be called if and only if we are in the servers-side termination mode, and it's follow-up cycling request
|
|
265
|
-
* It returns all requested completions
|
|
266
|
-
* Copies from the base telemetry data are used as the basis for each choice's telemetry.
|
|
267
|
-
*/
|
|
268
|
-
async function getAllCompletionsFromNetwork(accessor, requestContext, baseTelemetryData, cancellationToken, finishedCb) {
|
|
269
|
-
const logTarget = accessor.get(logger_1.ICompletionsLogTargetService);
|
|
270
|
-
const instantiationService = accessor.get(instantiation_1.IInstantiationService);
|
|
271
|
-
return genericGetCompletionsFromNetwork(accessor, requestContext, baseTelemetryData, cancellationToken, finishedCb, 'all completions', async (requestStart, processingTime, choicesStream) => {
|
|
272
|
-
const apiChoices = [];
|
|
273
|
-
for await (const choice of choicesStream) {
|
|
274
|
-
if (cancellationToken?.isCancellationRequested) {
|
|
275
|
-
ghostTextLogger.debug(logTarget, 'Cancelled after awaiting choices iterator');
|
|
276
|
-
return {
|
|
277
|
-
type: 'canceled',
|
|
278
|
-
reason: 'after awaiting choices iterator',
|
|
279
|
-
telemetryData: (0, telemetry_3.mkCanceledResultTelemetry)(baseTelemetryData),
|
|
280
|
-
};
|
|
281
|
-
}
|
|
282
|
-
const processedChoice = postProcessChoices(choice, requestContext, apiChoices);
|
|
283
|
-
if (!processedChoice) {
|
|
284
|
-
continue;
|
|
285
|
-
}
|
|
286
|
-
apiChoices.push(processedChoice);
|
|
287
|
-
}
|
|
288
|
-
//Append results to current completions cache, and network cache
|
|
289
|
-
if (apiChoices.length > 0) {
|
|
290
|
-
for (const choice of apiChoices) {
|
|
291
|
-
instantiationService.invokeFunction(appendToCache, requestContext, choice);
|
|
292
|
-
}
|
|
293
|
-
instantiationService.invokeFunction(telemetryPerformance, 'cyclingPerformance', apiChoices[0], requestStart, processingTime);
|
|
294
|
-
}
|
|
295
|
-
return {
|
|
296
|
-
type: 'success',
|
|
297
|
-
value: [apiChoices, Promise.resolve()],
|
|
298
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(baseTelemetryData),
|
|
299
|
-
telemetryBlob: baseTelemetryData,
|
|
300
|
-
resultType: ResultType.Cycling,
|
|
301
|
-
};
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
function makeGhostAPIChoice(choice, options) {
|
|
305
|
-
const ghostChoice = { ...choice };
|
|
306
|
-
if (options.forceSingleLine) {
|
|
307
|
-
const { completionText } = ghostChoice;
|
|
308
|
-
// Special case for when completion starts with a newline, don't count that as its own line
|
|
309
|
-
const initialLineBreak = completionText.match(/^\r?\n/);
|
|
310
|
-
if (initialLineBreak) {
|
|
311
|
-
ghostChoice.completionText = initialLineBreak[0] + completionText.split('\n')[1];
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
ghostChoice.completionText = completionText.split('\n')[0];
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
return ghostChoice;
|
|
318
|
-
}
|
|
319
|
-
function takeNLines(n) {
|
|
320
|
-
return (text) => {
|
|
321
|
-
// If the text is longer than n lines, return the offset.
|
|
322
|
-
// Checks for n+1 lines because of the leading newline.
|
|
323
|
-
const lines = text?.split('\n') ?? [];
|
|
324
|
-
if (lines.length > n + 1) {
|
|
325
|
-
return lines.slice(0, n + 1).join('\n').length;
|
|
326
|
-
}
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
async function getGhostTextStrategy(accessor, completionState, prefix, prompt, isCycling, inlineSuggestion, hasAcceptedCurrentCompletion, preIssuedTelemetryData) {
|
|
330
|
-
const instantiationService = accessor.get(instantiation_1.IInstantiationService);
|
|
331
|
-
const featuresService = accessor.get(featuresService_1.ICompletionsFeaturesService);
|
|
332
|
-
const blockModeConfig = accessor.get(configBlockMode_1.ICompletionsBlockModeConfig);
|
|
333
|
-
const multilineAfterAcceptLines = featuresService.multilineAfterAcceptLines(preIssuedTelemetryData);
|
|
334
|
-
const blockMode = blockModeConfig.forLanguage(completionState.textDocument.detectedLanguageId, preIssuedTelemetryData);
|
|
335
|
-
switch (blockMode) {
|
|
336
|
-
case config_1.BlockMode.Server:
|
|
337
|
-
// Override the server-side trimming after accepting a completion
|
|
338
|
-
if (hasAcceptedCurrentCompletion) {
|
|
339
|
-
return {
|
|
340
|
-
blockMode: config_1.BlockMode.Parsing,
|
|
341
|
-
requestMultiline: true,
|
|
342
|
-
finishedCb: takeNLines(multilineAfterAcceptLines),
|
|
343
|
-
stop: ['\n\n'],
|
|
344
|
-
maxTokens: maxSinglelineTokens * multilineAfterAcceptLines,
|
|
345
|
-
};
|
|
346
|
-
}
|
|
347
|
-
return {
|
|
348
|
-
blockMode: config_1.BlockMode.Server,
|
|
349
|
-
requestMultiline: true,
|
|
350
|
-
finishedCb: _ => undefined,
|
|
351
|
-
};
|
|
352
|
-
case config_1.BlockMode.Parsing:
|
|
353
|
-
case config_1.BlockMode.ParsingAndServer:
|
|
354
|
-
case config_1.BlockMode.MoreMultiline:
|
|
355
|
-
default: {
|
|
356
|
-
// we shouldn't drop through to here, but in case we do, be explicit about the behaviour
|
|
357
|
-
let requestMultiline;
|
|
358
|
-
try {
|
|
359
|
-
requestMultiline = await instantiationService.invokeFunction(shouldRequestMultiline, blockMode, completionState.textDocument, completionState.position, inlineSuggestion, hasAcceptedCurrentCompletion, prompt);
|
|
360
|
-
}
|
|
361
|
-
catch (err) {
|
|
362
|
-
// Fallback to non-multiline
|
|
363
|
-
requestMultiline = { requestMultiline: false };
|
|
364
|
-
}
|
|
365
|
-
if (!hasAcceptedCurrentCompletion &&
|
|
366
|
-
requestMultiline.requestMultiline &&
|
|
367
|
-
featuresService.singleLineUnlessAccepted(preIssuedTelemetryData)) {
|
|
368
|
-
requestMultiline.requestMultiline = false;
|
|
369
|
-
}
|
|
370
|
-
if (requestMultiline.requestMultiline) {
|
|
371
|
-
// Note that `trailingWs` contains *any* trailing whitespace from the prompt, but the prompt itself
|
|
372
|
-
// is only trimmed if the entire last line is whitespace. We have to account for that here when we
|
|
373
|
-
// check whether the block body is finished.
|
|
374
|
-
let adjustedPosition;
|
|
375
|
-
if (prompt.trailingWs.length > 0 && !prompt.prompt.prefix.endsWith(prompt.trailingWs)) {
|
|
376
|
-
// Prompt was adjusted, so adjust the position to match
|
|
377
|
-
adjustedPosition = textDocument_1.LocationFactory.position(completionState.position.line, Math.max(completionState.position.character - prompt.trailingWs.length, 0));
|
|
378
|
-
}
|
|
379
|
-
else {
|
|
380
|
-
// Otherwise, just use the original position
|
|
381
|
-
adjustedPosition = completionState.position;
|
|
382
|
-
}
|
|
383
|
-
return {
|
|
384
|
-
blockMode: blockMode,
|
|
385
|
-
requestMultiline: true,
|
|
386
|
-
...instantiationService.invokeFunction(buildFinishedCallback, blockMode, completionState.textDocument, adjustedPosition, requestMultiline.blockPosition, prefix, true, prompt.prompt, preIssuedTelemetryData),
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
// Override single-line to multiline after accepting a completion
|
|
390
|
-
if (hasAcceptedCurrentCompletion) {
|
|
391
|
-
const result = {
|
|
392
|
-
blockMode: config_1.BlockMode.Parsing,
|
|
393
|
-
requestMultiline: true,
|
|
394
|
-
finishedCb: takeNLines(multilineAfterAcceptLines),
|
|
395
|
-
stop: ['\n\n'],
|
|
396
|
-
maxTokens: maxSinglelineTokens * multilineAfterAcceptLines,
|
|
397
|
-
};
|
|
398
|
-
if (blockMode === config_1.BlockMode.MoreMultiline) {
|
|
399
|
-
result.blockMode = config_1.BlockMode.MoreMultiline;
|
|
400
|
-
}
|
|
401
|
-
return result;
|
|
402
|
-
}
|
|
403
|
-
// not multiline
|
|
404
|
-
return {
|
|
405
|
-
blockMode: blockMode,
|
|
406
|
-
requestMultiline: false,
|
|
407
|
-
...instantiationService.invokeFunction(buildFinishedCallback, blockMode, completionState.textDocument, completionState.position, requestMultiline.blockPosition, prefix, false, prompt.prompt, preIssuedTelemetryData),
|
|
408
|
-
};
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
function buildFinishedCallback(accessor, blockMode, document, position, positionType, prefix, multiline, prompt, telemetryData) {
|
|
413
|
-
const featuresService = accessor.get(featuresService_1.ICompletionsFeaturesService);
|
|
414
|
-
const instantiationService = accessor.get(instantiation_1.IInstantiationService);
|
|
415
|
-
if (multiline && blockMode === config_1.BlockMode.MoreMultiline && blockTrimmer_1.BlockTrimmer.isSupported(document.detectedLanguageId)) {
|
|
416
|
-
const lookAhead = positionType === blockTrimmer_1.BlockPositionType.EmptyBlock || positionType === blockTrimmer_1.BlockPositionType.BlockEnd
|
|
417
|
-
? featuresService.longLookaheadSize(telemetryData)
|
|
418
|
-
: featuresService.shortLookaheadSize(telemetryData);
|
|
419
|
-
const finishedCb = instantiationService.createInstance(streamedCompletionSplitter_1.StreamedCompletionSplitter, prefix, document.detectedLanguageId, false, lookAhead, (extraPrefix, item) => {
|
|
420
|
-
const cacheContext = {
|
|
421
|
-
prefix: prefix + extraPrefix,
|
|
422
|
-
prompt: { ...prompt, prefix: prompt.prefix + extraPrefix },
|
|
423
|
-
};
|
|
424
|
-
instantiationService.invokeFunction(appendToCache, cacheContext, item);
|
|
425
|
-
}).getFinishedCallback();
|
|
426
|
-
return {
|
|
427
|
-
finishedCb,
|
|
428
|
-
maxTokens: featuresService.maxMultilineTokens(telemetryData),
|
|
429
|
-
};
|
|
430
|
-
}
|
|
431
|
-
return { finishedCb: multiline ? (0, parseBlock_1.parsingBlockFinished)(document, position) : _ => undefined };
|
|
432
|
-
}
|
|
433
|
-
const defaultOptions = {
|
|
434
|
-
isCycling: false,
|
|
435
|
-
promptOnly: false,
|
|
436
|
-
isSpeculative: false,
|
|
437
|
-
};
|
|
438
|
-
function getRemainingDebounceMs(accessor, opts, telemetry) {
|
|
439
|
-
const featuresService = accessor.get(featuresService_1.ICompletionsFeaturesService);
|
|
440
|
-
const debounce = (0, config_1.getConfig)(accessor, config_1.ConfigKey.CompletionsDebounce) ??
|
|
441
|
-
featuresService.completionsDebounce(telemetry) ??
|
|
442
|
-
opts.debounceMs;
|
|
443
|
-
if (debounce === undefined) {
|
|
444
|
-
return 0;
|
|
445
|
-
}
|
|
446
|
-
const elapsed = (0, telemetry_2.now)() - telemetry.issuedTime;
|
|
447
|
-
return Math.max(0, debounce - elapsed);
|
|
448
|
-
}
|
|
449
|
-
function inlineCompletionRequestCancelled(currentGhostText, requestId, cancellationToken) {
|
|
450
|
-
return cancellationToken?.isCancellationRequested || requestId !== currentGhostText.currentRequestId;
|
|
451
|
-
}
|
|
452
|
-
async function getGhostTextWithoutAbortHandling(accessor, completionState, ourRequestId, preIssuedTelemetryDataWithExp, cancellationToken, options) {
|
|
453
|
-
let start = preIssuedTelemetryDataWithExp.issuedTime; // Start before getting exp assignments
|
|
454
|
-
const performanceMetrics = [];
|
|
455
|
-
/** Internal helper to record performance measurements. Mutates performanceMetrics and start. */
|
|
456
|
-
function recordPerformance(name) {
|
|
457
|
-
const next = (0, telemetry_2.now)();
|
|
458
|
-
performanceMetrics.push([name, next - start]);
|
|
459
|
-
start = next;
|
|
460
|
-
}
|
|
461
|
-
recordPerformance('telemetry');
|
|
462
|
-
const instantiationService = accessor.get(instantiation_1.IInstantiationService);
|
|
463
|
-
const featuresService = accessor.get(featuresService_1.ICompletionsFeaturesService);
|
|
464
|
-
const asyncCompletionManager = accessor.get(asyncCompletions_1.ICompletionsAsyncManagerService);
|
|
465
|
-
const logTarget = accessor.get(logger_1.ICompletionsLogTargetService);
|
|
466
|
-
const currentGhostText = accessor.get(current_1.ICompletionsCurrentGhostText);
|
|
467
|
-
const statusReporter = accessor.get(progress_1.ICompletionsStatusReporter);
|
|
468
|
-
if (inlineCompletionRequestCancelled(currentGhostText, ourRequestId, cancellationToken)) {
|
|
469
|
-
return {
|
|
470
|
-
type: 'abortedBeforeIssued',
|
|
471
|
-
reason: 'cancelled before extractPrompt',
|
|
472
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
473
|
-
};
|
|
474
|
-
}
|
|
475
|
-
const inlineSuggestion = isInlineSuggestion(completionState.textDocument, completionState.position);
|
|
476
|
-
if (inlineSuggestion === undefined) {
|
|
477
|
-
ghostTextLogger.debug(logTarget, 'Breaking, invalid middle of the line');
|
|
478
|
-
return {
|
|
479
|
-
type: 'abortedBeforeIssued',
|
|
480
|
-
reason: 'Invalid middle of the line',
|
|
481
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
482
|
-
};
|
|
483
|
-
}
|
|
484
|
-
const engineInfo = instantiationService.invokeFunction(config_2.getEngineRequestInfo, preIssuedTelemetryDataWithExp);
|
|
485
|
-
const ghostTextOptions = { ...defaultOptions, ...options, tokenizer: engineInfo.tokenizer };
|
|
486
|
-
const prompt = await instantiationService.invokeFunction(prompt_1.extractPrompt, ourRequestId, completionState, preIssuedTelemetryDataWithExp, undefined, ghostTextOptions);
|
|
487
|
-
recordPerformance('prompt');
|
|
488
|
-
if (prompt.type === 'copilotContentExclusion') {
|
|
489
|
-
ghostTextLogger.debug(logTarget, 'Copilot not available, due to content exclusion');
|
|
490
|
-
return {
|
|
491
|
-
type: 'abortedBeforeIssued',
|
|
492
|
-
reason: 'Copilot not available due to content exclusion',
|
|
493
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
494
|
-
};
|
|
495
|
-
}
|
|
496
|
-
if (prompt.type === 'contextTooShort') {
|
|
497
|
-
ghostTextLogger.debug(logTarget, 'Breaking, not enough context');
|
|
498
|
-
return {
|
|
499
|
-
type: 'abortedBeforeIssued',
|
|
500
|
-
reason: 'Not enough context',
|
|
501
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
502
|
-
};
|
|
503
|
-
}
|
|
504
|
-
if (prompt.type === 'promptError') {
|
|
505
|
-
ghostTextLogger.debug(logTarget, 'Error while building the prompt');
|
|
506
|
-
return {
|
|
507
|
-
type: 'abortedBeforeIssued',
|
|
508
|
-
reason: 'Error while building the prompt',
|
|
509
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
510
|
-
};
|
|
511
|
-
}
|
|
512
|
-
if (ghostTextOptions.promptOnly) {
|
|
513
|
-
return { type: 'promptOnly', reason: 'Breaking, promptOnly set to true', prompt: prompt };
|
|
514
|
-
}
|
|
515
|
-
if (prompt.type === 'promptCancelled') {
|
|
516
|
-
ghostTextLogger.debug(logTarget, 'Cancelled during extractPrompt');
|
|
517
|
-
return {
|
|
518
|
-
type: 'abortedBeforeIssued',
|
|
519
|
-
reason: 'Cancelled during extractPrompt',
|
|
520
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
521
|
-
};
|
|
522
|
-
}
|
|
523
|
-
if (prompt.type === 'promptTimeout') {
|
|
524
|
-
ghostTextLogger.debug(logTarget, 'Timeout during extractPrompt');
|
|
525
|
-
return {
|
|
526
|
-
type: 'abortedBeforeIssued',
|
|
527
|
-
reason: 'Timeout',
|
|
528
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
529
|
-
};
|
|
530
|
-
}
|
|
531
|
-
if (prompt.prompt.prefix.length === 0 && prompt.prompt.suffix.length === 0) {
|
|
532
|
-
ghostTextLogger.debug(logTarget, 'Error empty prompt');
|
|
533
|
-
return {
|
|
534
|
-
type: 'abortedBeforeIssued',
|
|
535
|
-
reason: 'Empty prompt',
|
|
536
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
537
|
-
};
|
|
538
|
-
}
|
|
539
|
-
const debounce = instantiationService.invokeFunction(getRemainingDebounceMs, ghostTextOptions, preIssuedTelemetryDataWithExp);
|
|
540
|
-
if (debounce > 0) {
|
|
541
|
-
ghostTextLogger.debug(logTarget, `Debouncing ghost text request for ${debounce}ms`);
|
|
542
|
-
await (0, async_1.delay)(debounce);
|
|
543
|
-
if (inlineCompletionRequestCancelled(currentGhostText, ourRequestId, cancellationToken)) {
|
|
544
|
-
return {
|
|
545
|
-
type: 'abortedBeforeIssued',
|
|
546
|
-
reason: 'cancelled after debounce',
|
|
547
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(preIssuedTelemetryDataWithExp),
|
|
548
|
-
};
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
return statusReporter.withProgress(async () => {
|
|
552
|
-
const [prefix] = (0, prompt_1.trimLastLine)(completionState.textDocument.getText(textDocument_1.LocationFactory.range(textDocument_1.LocationFactory.position(0, 0), completionState.position)));
|
|
553
|
-
const hasAcceptedCurrentCompletion = currentGhostText.hasAcceptedCurrentCompletion(prefix, prompt.prompt.suffix);
|
|
554
|
-
const originalPrompt = prompt.prompt;
|
|
555
|
-
const ghostTextStrategy = await instantiationService.invokeFunction(getGhostTextStrategy, completionState, prefix, prompt, ghostTextOptions.isCycling, inlineSuggestion, hasAcceptedCurrentCompletion, preIssuedTelemetryDataWithExp);
|
|
556
|
-
recordPerformance('strategy');
|
|
557
|
-
let choices = instantiationService.invokeFunction(getLocalInlineSuggestion, prefix, originalPrompt, ghostTextStrategy.requestMultiline);
|
|
558
|
-
recordPerformance('cache');
|
|
559
|
-
const repoInfo = instantiationService.invokeFunction(repository_1.extractRepoInfoInBackground, completionState.textDocument.uri);
|
|
560
|
-
const requestContext = {
|
|
561
|
-
blockMode: ghostTextStrategy.blockMode,
|
|
562
|
-
languageId: completionState.textDocument.detectedLanguageId,
|
|
563
|
-
repoInfo: repoInfo,
|
|
564
|
-
engineModelId: engineInfo.modelId,
|
|
565
|
-
ourRequestId,
|
|
566
|
-
prefix,
|
|
567
|
-
prompt: prompt.prompt,
|
|
568
|
-
multiline: ghostTextStrategy.requestMultiline,
|
|
569
|
-
indentation: (0, parseBlock_1.contextIndentation)(completionState.textDocument, completionState.position),
|
|
570
|
-
isCycling: ghostTextOptions.isCycling,
|
|
571
|
-
headers: engineInfo.headers,
|
|
572
|
-
stop: ghostTextStrategy.stop,
|
|
573
|
-
maxTokens: ghostTextStrategy.maxTokens,
|
|
574
|
-
afterAccept: hasAcceptedCurrentCompletion,
|
|
575
|
-
};
|
|
576
|
-
// Add headers to identify async completions and speculative requests
|
|
577
|
-
requestContext.headers = {
|
|
578
|
-
...requestContext.headers,
|
|
579
|
-
'X-Copilot-Async': 'true',
|
|
580
|
-
'X-Copilot-Speculative': ghostTextOptions.isSpeculative ? 'true' : 'false',
|
|
581
|
-
};
|
|
582
|
-
// this will be used as basis for the choice telemetry data
|
|
583
|
-
const telemetryData = instantiationService.invokeFunction(telemetryIssued, completionState.textDocument, requestContext, completionState.position, prompt, preIssuedTelemetryDataWithExp, engineInfo, ghostTextOptions);
|
|
584
|
-
// Wait before requesting more completions if there is a candidate
|
|
585
|
-
// completion request in flight. Does not wait for cycling requests or
|
|
586
|
-
// if there is a cached completion.
|
|
587
|
-
if (choices === undefined &&
|
|
588
|
-
!ghostTextOptions.isCycling &&
|
|
589
|
-
asyncCompletionManager.shouldWaitForAsyncCompletions(prefix, prompt.prompt)) {
|
|
590
|
-
const choice = await asyncCompletionManager.getFirstMatchingRequestWithTimeout(ourRequestId, prefix, prompt.prompt, ghostTextOptions.isSpeculative, telemetryData);
|
|
591
|
-
recordPerformance('asyncWait');
|
|
592
|
-
if (choice) {
|
|
593
|
-
const forceSingleLine = !ghostTextStrategy.requestMultiline;
|
|
594
|
-
const trimmedChoice = makeGhostAPIChoice(choice[0], { forceSingleLine });
|
|
595
|
-
choices = [[trimmedChoice], ResultType.Async];
|
|
596
|
-
}
|
|
597
|
-
if (inlineCompletionRequestCancelled(currentGhostText, ourRequestId, cancellationToken)) {
|
|
598
|
-
ghostTextLogger.debug(logTarget, 'Cancelled before requesting a new completion');
|
|
599
|
-
return {
|
|
600
|
-
type: 'abortedBeforeIssued',
|
|
601
|
-
reason: 'Cancelled after waiting for async completion',
|
|
602
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(telemetryData),
|
|
603
|
-
};
|
|
604
|
-
}
|
|
605
|
-
}
|
|
606
|
-
const isMoreMultiline = ghostTextStrategy.blockMode === config_1.BlockMode.MoreMultiline &&
|
|
607
|
-
blockTrimmer_1.BlockTrimmer.isSupported(completionState.textDocument.detectedLanguageId);
|
|
608
|
-
if (choices !== undefined) {
|
|
609
|
-
// Post-process any cached choices before deciding whether to issue a network request
|
|
610
|
-
choices[0] = choices[0]
|
|
611
|
-
.map(c => instantiationService.invokeFunction(suggestions_1.postProcessChoiceInContext, completionState.textDocument, completionState.position, c, isMoreMultiline, ghostTextLogger))
|
|
612
|
-
.filter(c => c !== undefined);
|
|
613
|
-
}
|
|
614
|
-
if (choices !== undefined && choices[0].length === 0) {
|
|
615
|
-
ghostTextLogger.debug(logTarget, `Found empty inline suggestions locally via ${(0, telemetry_3.resultTypeToString)(choices[1])}`);
|
|
616
|
-
return {
|
|
617
|
-
type: 'empty',
|
|
618
|
-
reason: 'cached results empty after post-processing',
|
|
619
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(telemetryData),
|
|
620
|
-
};
|
|
621
|
-
}
|
|
622
|
-
if (choices !== undefined &&
|
|
623
|
-
choices[0].length > 0 &&
|
|
624
|
-
// If it's a cycling request, need to show multiple choices
|
|
625
|
-
(!ghostTextOptions.isCycling || choices[0].length > 1)) {
|
|
626
|
-
ghostTextLogger.debug(logTarget, `Found inline suggestions locally via ${(0, telemetry_3.resultTypeToString)(choices[1])}`);
|
|
627
|
-
}
|
|
628
|
-
else {
|
|
629
|
-
// No local choices, go to network
|
|
630
|
-
if (ghostTextOptions.isCycling) {
|
|
631
|
-
const networkChoices = await instantiationService.invokeFunction(getAllCompletionsFromNetwork, requestContext, telemetryData, cancellationToken, ghostTextStrategy.finishedCb);
|
|
632
|
-
// TODO: if we already had some choices cached from the initial non-cycling request,
|
|
633
|
-
// and then the cycling request returns no results for some reason, we need to still
|
|
634
|
-
// return the original choices to the editor to avoid the ghost text disappearing completely.
|
|
635
|
-
// However this should be telemetrised according to the result of the cycling request itself,
|
|
636
|
-
// i.e. failure/empty (or maybe canceled).
|
|
637
|
-
//
|
|
638
|
-
// Right now this is awkward to orchestrate in the code and we don't handle it, incorrectly
|
|
639
|
-
// returning `ghostText.produced` instead. Cycling is a manual action and hence uncommon,
|
|
640
|
-
// so this shouldn't cause much inaccuracy, but we still should fix this.
|
|
641
|
-
if (networkChoices.type === 'success') {
|
|
642
|
-
const resultChoices = choices?.[0] ?? [];
|
|
643
|
-
networkChoices.value[0].forEach(c => {
|
|
644
|
-
// Collect only unique displayTexts
|
|
645
|
-
if (resultChoices.findIndex(v => v.completionText.trim() === c.completionText.trim()) !== -1) {
|
|
646
|
-
return;
|
|
647
|
-
}
|
|
648
|
-
resultChoices.push(c);
|
|
649
|
-
});
|
|
650
|
-
choices = [resultChoices, ResultType.Cycling];
|
|
651
|
-
}
|
|
652
|
-
else {
|
|
653
|
-
if (choices === undefined) {
|
|
654
|
-
return networkChoices;
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
else {
|
|
659
|
-
// Wrap an observer around the finished callback to update the
|
|
660
|
-
// async manager as the request streams in.
|
|
661
|
-
const finishedCb = (text, delta) => {
|
|
662
|
-
asyncCompletionManager.updateCompletion(ourRequestId, text);
|
|
663
|
-
return ghostTextStrategy.finishedCb(text, delta);
|
|
664
|
-
};
|
|
665
|
-
const asyncCancellationTokenSource = new src_1.CancellationTokenSource();
|
|
666
|
-
const requestPromise = instantiationService.invokeFunction(getCompletionsFromNetwork, requestContext, telemetryData, asyncCancellationTokenSource.token, finishedCb);
|
|
667
|
-
void asyncCompletionManager.queueCompletionRequest(ourRequestId, prefix, prompt.prompt, asyncCancellationTokenSource, requestPromise);
|
|
668
|
-
const c = await asyncCompletionManager.getFirstMatchingRequest(ourRequestId, prefix, prompt.prompt, ghostTextOptions.isSpeculative);
|
|
669
|
-
if (c === undefined) {
|
|
670
|
-
return {
|
|
671
|
-
type: 'empty',
|
|
672
|
-
reason: 'received no results from async completions',
|
|
673
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(telemetryData),
|
|
674
|
-
};
|
|
675
|
-
}
|
|
676
|
-
choices = [[c[0]], ResultType.Async];
|
|
677
|
-
}
|
|
678
|
-
recordPerformance('network');
|
|
679
|
-
}
|
|
680
|
-
if (choices === undefined) {
|
|
681
|
-
return {
|
|
682
|
-
type: 'failed',
|
|
683
|
-
reason: 'internal error: choices should be defined after network call',
|
|
684
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(telemetryData),
|
|
685
|
-
};
|
|
686
|
-
}
|
|
687
|
-
const [choicesArray, resultType] = choices;
|
|
688
|
-
const postProcessedChoicesArray = choicesArray
|
|
689
|
-
.map(c => instantiationService.invokeFunction(suggestions_1.postProcessChoiceInContext, completionState.textDocument, completionState.position, c, isMoreMultiline, ghostTextLogger))
|
|
690
|
-
.filter(c => c !== undefined);
|
|
691
|
-
// Delay response if needed. Note, this must come before the
|
|
692
|
-
// telemetryWithAddData call since the time_to_produce_ms is computed
|
|
693
|
-
// there
|
|
694
|
-
const completionsDelay = instantiationService.invokeFunction((config_1.getConfig), config_1.ConfigKey.CompletionsDelay) ??
|
|
695
|
-
featuresService.completionsDelay(preIssuedTelemetryDataWithExp);
|
|
696
|
-
const elapsed = (0, telemetry_2.now)() - preIssuedTelemetryDataWithExp.issuedTime;
|
|
697
|
-
const remainingDelay = Math.max(completionsDelay - elapsed, 0);
|
|
698
|
-
if (resultType !== ResultType.TypingAsSuggested && !ghostTextOptions.isCycling && remainingDelay > 0) {
|
|
699
|
-
ghostTextLogger.debug(logTarget, `Waiting ${remainingDelay}ms before returning completion`);
|
|
700
|
-
await (0, async_1.delay)(remainingDelay);
|
|
701
|
-
if (inlineCompletionRequestCancelled(currentGhostText, ourRequestId, cancellationToken)) {
|
|
702
|
-
ghostTextLogger.debug(logTarget, 'Cancelled after completions delay');
|
|
703
|
-
return {
|
|
704
|
-
type: 'canceled',
|
|
705
|
-
reason: 'after completions delay',
|
|
706
|
-
telemetryData: (0, telemetry_3.mkCanceledResultTelemetry)(telemetryData),
|
|
707
|
-
};
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
const results = [];
|
|
711
|
-
for (const choice of postProcessedChoicesArray) {
|
|
712
|
-
// Do this to get a new object for each choice
|
|
713
|
-
const choiceTelemetryData = telemetryWithAddData(completionState.textDocument, requestContext, choice, telemetryData);
|
|
714
|
-
const suffixCoverage = inlineSuggestion
|
|
715
|
-
? (0, suggestions_1.checkSuffix)(completionState.textDocument, completionState.position, choice)
|
|
716
|
-
: 0;
|
|
717
|
-
// We want to use `newTrailingWs` as the trailing whitespace
|
|
718
|
-
const ghostCompletion = adjustLeadingWhitespace(choice.choiceIndex, choice.completionText, prompt.trailingWs);
|
|
719
|
-
const res = {
|
|
720
|
-
completion: ghostCompletion,
|
|
721
|
-
telemetry: choiceTelemetryData,
|
|
722
|
-
isMiddleOfTheLine: inlineSuggestion,
|
|
723
|
-
suffixCoverage,
|
|
724
|
-
copilotAnnotations: choice.copilotAnnotations,
|
|
725
|
-
clientCompletionId: choice.clientCompletionId,
|
|
726
|
-
};
|
|
727
|
-
results.push(res);
|
|
728
|
-
}
|
|
729
|
-
// Lift clientCompletionId out of the result in order to include it in the telemetry payload computed by mkBasicResultTelemetry.
|
|
730
|
-
telemetryData.properties.clientCompletionId = results[0]?.clientCompletionId;
|
|
731
|
-
// If reading from the cache or async, capture the look back offset used
|
|
732
|
-
telemetryData.measurements.foundOffset = results?.[0]?.telemetry?.measurements?.foundOffset ?? -1;
|
|
733
|
-
ghostTextLogger.debug(logTarget, `Produced ${results.length} results from ${(0, telemetry_3.resultTypeToString)(resultType)} at ${telemetryData.measurements.foundOffset} offset`);
|
|
734
|
-
if (inlineCompletionRequestCancelled(currentGhostText, ourRequestId, cancellationToken)) {
|
|
735
|
-
return {
|
|
736
|
-
type: 'canceled',
|
|
737
|
-
reason: 'after post processing completions',
|
|
738
|
-
telemetryData: (0, telemetry_3.mkCanceledResultTelemetry)(telemetryData),
|
|
739
|
-
};
|
|
740
|
-
}
|
|
741
|
-
if (!ghostTextOptions.isSpeculative) {
|
|
742
|
-
// Update the current ghost text with the new response before returning for the "typing as suggested" UX
|
|
743
|
-
currentGhostText.setGhostText(prefix, prompt.prompt.suffix, postProcessedChoicesArray, resultType);
|
|
744
|
-
}
|
|
745
|
-
recordPerformance('complete');
|
|
746
|
-
return {
|
|
747
|
-
type: 'success',
|
|
748
|
-
value: [results, resultType],
|
|
749
|
-
telemetryData: (0, telemetry_3.mkBasicResultTelemetry)(telemetryData),
|
|
750
|
-
telemetryBlob: telemetryData,
|
|
751
|
-
resultType,
|
|
752
|
-
performanceMetrics,
|
|
753
|
-
};
|
|
754
|
-
});
|
|
755
|
-
}
|
|
756
|
-
async function getGhostText(accessor, completionState, token, options) {
|
|
757
|
-
const id = (0, uuid_1.generateUuid)();
|
|
758
|
-
const instantiationService = accessor.get(instantiation_1.IInstantiationService);
|
|
759
|
-
const telemetryService = accessor.get(telemetry_1.ITelemetryService);
|
|
760
|
-
const notifierService = accessor.get(completionNotifier_1.ICompletionsNotifierService);
|
|
761
|
-
const contextProviderBridge = accessor.get(contextProviderBridge_1.ICompletionsContextProviderBridgeService);
|
|
762
|
-
const currentGhostText = accessor.get(current_1.ICompletionsCurrentGhostText);
|
|
763
|
-
const contextproviderStatistics = accessor.get(contextProviderStatistics_1.ICompletionsContextProviderService);
|
|
764
|
-
currentGhostText.currentRequestId = id;
|
|
765
|
-
const telemetryData = await createTelemetryWithExp(accessor, completionState.textDocument, id, options);
|
|
766
|
-
// A CLS consumer has an LSP bug where it erroneously makes method requests before `initialize` has returned, which
|
|
767
|
-
// means we can't use `initialize` to actually initialize anything expensive. This the primary user of the
|
|
768
|
-
// tokenizer, so settle for initializing here instead. We don't use waitForTokenizers() because in the event of a
|
|
769
|
-
// tokenizer load failure, that would spam handleException() on every request.
|
|
770
|
-
await tokenization_1.initializeTokenizers.catch(() => { });
|
|
771
|
-
try {
|
|
772
|
-
contextProviderBridge.schedule(completionState, id, options?.opportunityId ?? '', telemetryData, token, options);
|
|
773
|
-
notifierService.notifyRequest(completionState, id, telemetryData, token, options);
|
|
774
|
-
const result = await instantiationService.invokeFunction(getGhostTextWithoutAbortHandling, completionState, id, telemetryData, token, options);
|
|
775
|
-
const statistics = contextproviderStatistics.getStatisticsForCompletion(id);
|
|
776
|
-
const opportunityId = options?.opportunityId ?? 'unknown';
|
|
777
|
-
for (const [providerId, statistic] of statistics.getAllUsageStatistics()) {
|
|
778
|
-
/* __GDPR__
|
|
779
|
-
"context-provider.completion-stats" : {
|
|
780
|
-
"owner": "dirkb",
|
|
781
|
-
"comment": "Telemetry for copilot inline completion context",
|
|
782
|
-
"requestId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "The request correlation id" },
|
|
783
|
-
"opportunityId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "The opportunity id" },
|
|
784
|
-
"providerId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "The context provider id" },
|
|
785
|
-
"resolution": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "The resolution of the context" },
|
|
786
|
-
"usage": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "How the context was used" },
|
|
787
|
-
"usageDetails": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Additional details about the usage as a JSON string" }
|
|
788
|
-
}
|
|
789
|
-
*/
|
|
790
|
-
telemetryService.sendMSFTTelemetryEvent('context-provider.completion-stats', {
|
|
791
|
-
requestId: id,
|
|
792
|
-
opportunityId,
|
|
793
|
-
providerId,
|
|
794
|
-
resolution: statistic.resolution,
|
|
795
|
-
usage: statistic.usage,
|
|
796
|
-
usageDetails: JSON.stringify(statistic.usageDetails),
|
|
797
|
-
}, {});
|
|
798
|
-
}
|
|
799
|
-
return result;
|
|
800
|
-
}
|
|
801
|
-
catch (e) {
|
|
802
|
-
// The cancellation token may be called after the request is done but while we still process data.
|
|
803
|
-
// The underlying implementation catches abort errors for specific scenarios but we still have uncovered paths.
|
|
804
|
-
// To avoid returning an error to the editor, this acts as an fault barrier here.
|
|
805
|
-
if ((0, networking_1.isAbortError)(e)) {
|
|
806
|
-
return {
|
|
807
|
-
type: 'canceled',
|
|
808
|
-
reason: 'aborted at unknown location',
|
|
809
|
-
telemetryData: (0, telemetry_3.mkCanceledResultTelemetry)(telemetryData, {
|
|
810
|
-
cancelledNetworkRequest: true,
|
|
811
|
-
}),
|
|
812
|
-
};
|
|
813
|
-
}
|
|
814
|
-
throw e;
|
|
815
|
-
}
|
|
816
|
-
}
|
|
817
|
-
/**
|
|
818
|
-
* Attempt to get InlineSuggestion locally, in one of two ways:
|
|
819
|
-
* 1. If the user is typing the letters already displayed as inline suggestion.
|
|
820
|
-
* 2. If we have a previously cached inline suggestion for this prompt and requestMultiline.
|
|
821
|
-
*/
|
|
822
|
-
function getLocalInlineSuggestion(accessor, prefix, prompt, requestMultiline) {
|
|
823
|
-
const currentGhostText = accessor.get(current_1.ICompletionsCurrentGhostText);
|
|
824
|
-
const choicesTyping = currentGhostText.getCompletionsForUserTyping(prefix, prompt.suffix);
|
|
825
|
-
const choicesCache = getCompletionsFromCache(accessor, prefix, prompt.suffix, requestMultiline);
|
|
826
|
-
if (choicesTyping && choicesTyping.length > 0) {
|
|
827
|
-
// Append cached choices to choicesTyping, if any. Ensure typing choices
|
|
828
|
-
// are first so that the shown completion doesn't disappear.
|
|
829
|
-
// Filter duplicates by completionText
|
|
830
|
-
const choicesCacheDeduped = (choicesCache ?? []).filter(c => !choicesTyping.some(t => t.completionText === c.completionText));
|
|
831
|
-
return [choicesTyping.concat(choicesCacheDeduped), ResultType.TypingAsSuggested];
|
|
832
|
-
}
|
|
833
|
-
if (choicesCache && choicesCache.length > 0) {
|
|
834
|
-
return [choicesCache, ResultType.Cache];
|
|
835
|
-
}
|
|
836
|
-
}
|
|
837
|
-
/** Checks if the position is valid inline suggestion position. Returns `undefined` if it's position where ghost text shouldn't be displayed */
|
|
838
|
-
function isInlineSuggestion(document, position) {
|
|
839
|
-
//Checks if we're in the position for the middle of the line suggestion
|
|
840
|
-
const isMiddleOfLine = isMiddleOfTheLine(position, document);
|
|
841
|
-
const isValidMiddleOfLine = isValidMiddleOfTheLinePosition(position, document);
|
|
842
|
-
if (isMiddleOfLine && !isValidMiddleOfLine) {
|
|
843
|
-
return;
|
|
844
|
-
}
|
|
845
|
-
const isInlineSuggestion = isMiddleOfLine && isValidMiddleOfLine;
|
|
846
|
-
return isInlineSuggestion;
|
|
847
|
-
}
|
|
848
|
-
/** Checks if position is NOT at the end of the line */
|
|
849
|
-
function isMiddleOfTheLine(selectionPosition, doc) {
|
|
850
|
-
// must be end of line or trailing whitespace
|
|
851
|
-
const line = doc.lineAt(selectionPosition);
|
|
852
|
-
if (line.text.substr(selectionPosition.character).trim().length !== 0) {
|
|
853
|
-
return true;
|
|
854
|
-
}
|
|
855
|
-
return false;
|
|
856
|
-
}
|
|
857
|
-
/** Checks if position is valid for the middle of the line suggestion */
|
|
858
|
-
function isValidMiddleOfTheLinePosition(selectionPosition, doc) {
|
|
859
|
-
const line = doc.lineAt(selectionPosition);
|
|
860
|
-
const endOfLine = line.text.substr(selectionPosition.character).trim();
|
|
861
|
-
return /^\s*[)>}\]"'`]*\s*[:{;,]?\s*$/.test(endOfLine);
|
|
862
|
-
}
|
|
863
|
-
/** Checks if position is the beginning of an empty line (including indentation) */
|
|
864
|
-
function isNewLine(selectionPosition, doc) {
|
|
865
|
-
const line = doc.lineAt(selectionPosition);
|
|
866
|
-
const lineTrimmed = line.text.trim();
|
|
867
|
-
return lineTrimmed.length === 0;
|
|
868
|
-
}
|
|
869
|
-
// This enables tests to control multi line behavior
|
|
870
|
-
class ForceMultiLine {
|
|
871
|
-
static { this.default = new ForceMultiLine(); }
|
|
872
|
-
constructor(requestMultilineOverride = false) {
|
|
873
|
-
this.requestMultilineOverride = requestMultilineOverride;
|
|
874
|
-
}
|
|
875
|
-
}
|
|
876
|
-
exports.ForceMultiLine = ForceMultiLine;
|
|
877
|
-
async function shouldRequestMultiline(accessor, blockMode, document, position, inlineSuggestion, afterAccept, prompt) {
|
|
878
|
-
// Parsing long files for multiline completions is slow, so we only do
|
|
879
|
-
// it for files with less than 8000 lines
|
|
880
|
-
if (document.lineCount >= 8000) {
|
|
881
|
-
(0, telemetry_2.telemetry)(accessor, 'ghostText.longFileMultilineSkip', telemetry_2.TelemetryData.createAndMarkAsIssued({
|
|
882
|
-
languageId: document.detectedLanguageId,
|
|
883
|
-
lineCount: String(document.lineCount),
|
|
884
|
-
currentLine: String(position.line),
|
|
885
|
-
}));
|
|
886
|
-
}
|
|
887
|
-
else {
|
|
888
|
-
if (blockMode === config_1.BlockMode.MoreMultiline && blockTrimmer_1.BlockTrimmer.isSupported(document.detectedLanguageId)) {
|
|
889
|
-
if (!afterAccept) {
|
|
890
|
-
return { requestMultiline: false };
|
|
891
|
-
}
|
|
892
|
-
const blockPosition = await (0, blockTrimmer_1.getBlockPositionType)(document, position);
|
|
893
|
-
return { requestMultiline: true, blockPosition };
|
|
894
|
-
}
|
|
895
|
-
const targetLanguagesNewLine = ['typescript', 'typescriptreact'];
|
|
896
|
-
if (targetLanguagesNewLine.includes(document.detectedLanguageId)) {
|
|
897
|
-
const newLine = isNewLine(position, document);
|
|
898
|
-
if (newLine) {
|
|
899
|
-
return { requestMultiline: true };
|
|
900
|
-
}
|
|
901
|
-
}
|
|
902
|
-
let requestMultiline = false;
|
|
903
|
-
if (!inlineSuggestion && (0, parse_1.isSupportedLanguageId)(document.detectedLanguageId)) {
|
|
904
|
-
// Can only check block-level nodes of languages we support
|
|
905
|
-
requestMultiline = await (0, parseBlock_1.isEmptyBlockStartUtil)(document, position);
|
|
906
|
-
}
|
|
907
|
-
else if (inlineSuggestion && (0, parse_1.isSupportedLanguageId)(document.detectedLanguageId)) {
|
|
908
|
-
//If we are inline, check if we would suggest multiline for current position or if we would suggest a multiline completion if we were at the end of the line
|
|
909
|
-
requestMultiline =
|
|
910
|
-
(await (0, parseBlock_1.isEmptyBlockStartUtil)(document, position)) ||
|
|
911
|
-
(await (0, parseBlock_1.isEmptyBlockStartUtil)(document, document.lineAt(position).range.end));
|
|
912
|
-
}
|
|
913
|
-
// If requestMultiline is false, for specific languages check multiline score
|
|
914
|
-
if (!requestMultiline) {
|
|
915
|
-
const requestMultiModelThreshold = 0.5;
|
|
916
|
-
const targetLanguagesModel = ['javascript', 'javascriptreact', 'python'];
|
|
917
|
-
if (targetLanguagesModel.includes(document.detectedLanguageId)) {
|
|
918
|
-
// Call multiline model if not multiline and EXP flag is set.
|
|
919
|
-
const multiModelScore = (0, multilineModel_1.requestMultilineScore)(prompt.prompt, document.detectedLanguageId);
|
|
920
|
-
requestMultiline = multiModelScore > requestMultiModelThreshold;
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
return { requestMultiline };
|
|
924
|
-
}
|
|
925
|
-
return { requestMultiline: false };
|
|
926
|
-
}
|
|
927
|
-
/** Appends completions to existing entry in cache or creates new entry. */
|
|
928
|
-
function appendToCache(accessor, requestContext, choice) {
|
|
929
|
-
accessor.get(completionsCache_1.ICompletionsCacheService).append(requestContext.prefix, requestContext.prompt.suffix, choice);
|
|
930
|
-
}
|
|
931
|
-
function adjustLeadingWhitespace(index, text, ws) {
|
|
932
|
-
if (ws.length > 0) {
|
|
933
|
-
if (text.startsWith(ws)) {
|
|
934
|
-
// Remove common prefix so that it can display in the correct position
|
|
935
|
-
return {
|
|
936
|
-
completionIndex: index,
|
|
937
|
-
completionText: text,
|
|
938
|
-
displayText: text.substring(ws.length),
|
|
939
|
-
displayNeedsWsOffset: false,
|
|
940
|
-
};
|
|
941
|
-
}
|
|
942
|
-
else {
|
|
943
|
-
// The idea here is that we do want the display to be as close to the final position as possible
|
|
944
|
-
const textLeftWs = text.substring(0, text.length - text.trimStart().length);
|
|
945
|
-
if (ws.startsWith(textLeftWs)) {
|
|
946
|
-
// NOTE: It's possible that `ws` is a bit too over-indented. Example:
|
|
947
|
-
// def foo(n):
|
|
948
|
-
// if n > 0:
|
|
949
|
-
// print(f"n is positive: {n}")
|
|
950
|
-
// [cursor is here after new line]
|
|
951
|
-
//
|
|
952
|
-
// completion: " else:"
|
|
953
|
-
return {
|
|
954
|
-
completionIndex: index,
|
|
955
|
-
completionText: text,
|
|
956
|
-
displayText: text.trimStart(),
|
|
957
|
-
displayNeedsWsOffset: true,
|
|
958
|
-
};
|
|
959
|
-
}
|
|
960
|
-
else {
|
|
961
|
-
// We don't know any better so just send `text` back
|
|
962
|
-
return { completionIndex: index, completionText: text, displayText: text, displayNeedsWsOffset: false };
|
|
963
|
-
}
|
|
964
|
-
}
|
|
965
|
-
}
|
|
966
|
-
else {
|
|
967
|
-
// If we do not know leading whitespace or if it is an empty string, just return input text
|
|
968
|
-
return { completionIndex: index, completionText: text, displayText: text, displayNeedsWsOffset: false };
|
|
969
|
-
}
|
|
970
|
-
}
|
|
971
|
-
/**
|
|
972
|
-
* Returns all completions from the cache for given document prefix. Walks back
|
|
973
|
-
* from the current prefix to search for completions with a prefix that
|
|
974
|
-
* partially matches the current prefix and completion text that matches the
|
|
975
|
-
* remaining current prefix.
|
|
976
|
-
*/
|
|
977
|
-
function getCompletionsFromCache(accessor, prefix, suffix, multiline) {
|
|
978
|
-
const logTarget = accessor.get(logger_1.ICompletionsLogTargetService);
|
|
979
|
-
const choices = accessor.get(completionsCache_1.ICompletionsCacheService).findAll(prefix, suffix);
|
|
980
|
-
if (choices.length === 0) {
|
|
981
|
-
ghostTextLogger.debug(logTarget, `Found no completions in cache`);
|
|
982
|
-
return [];
|
|
983
|
-
}
|
|
984
|
-
ghostTextLogger.debug(logTarget, `Found ${choices.length} completions in cache`);
|
|
985
|
-
return choices.map(choice => makeGhostAPIChoice(choice, { forceSingleLine: !multiline }));
|
|
986
|
-
}
|
|
987
|
-
/** Create a TelemetryWithExp instance for a ghost text request. */
|
|
988
|
-
async function createTelemetryWithExp(accessor, document, headerRequestId, options) {
|
|
989
|
-
const featuresService = accessor.get(featuresService_1.ICompletionsFeaturesService);
|
|
990
|
-
const properties = { headerRequestId };
|
|
991
|
-
if (options?.opportunityId) {
|
|
992
|
-
properties.opportunityId = options.opportunityId;
|
|
993
|
-
}
|
|
994
|
-
if (options?.selectedCompletionInfo?.text) {
|
|
995
|
-
properties.completionsActive = 'true';
|
|
996
|
-
}
|
|
997
|
-
if (options?.isSpeculative) {
|
|
998
|
-
properties.reason = 'speculative';
|
|
999
|
-
}
|
|
1000
|
-
const telemetryData = telemetry_2.TelemetryData.createAndMarkAsIssued(properties);
|
|
1001
|
-
const telemetryWithExp = await featuresService.updateExPValuesAndAssignments({ uri: document.uri, languageId: document.detectedLanguageId }, telemetryData);
|
|
1002
|
-
return telemetryWithExp;
|
|
1003
|
-
}
|
|
1004
|
-
/** Return a copy of the choice's telemetry data with extra information added */
|
|
1005
|
-
function telemetryWithAddData(document, requestContext, choice, issuedTelemetryData) {
|
|
1006
|
-
const requestId = choice.requestId;
|
|
1007
|
-
const properties = {
|
|
1008
|
-
choiceIndex: choice.choiceIndex.toString(),
|
|
1009
|
-
clientCompletionId: choice.clientCompletionId,
|
|
1010
|
-
};
|
|
1011
|
-
if (choice.generatedChoiceIndex !== undefined) {
|
|
1012
|
-
properties.originalChoiceIndex = properties.choiceIndex;
|
|
1013
|
-
properties.choiceIndex = (10_000 * (choice.generatedChoiceIndex + 1) + choice.choiceIndex).toString();
|
|
1014
|
-
}
|
|
1015
|
-
const measurements = {
|
|
1016
|
-
compCharLen: choice.completionText.length,
|
|
1017
|
-
numLines: choice.completionText.trim().split('\n').length,
|
|
1018
|
-
};
|
|
1019
|
-
// Add assessments
|
|
1020
|
-
if (choice.meanLogProb) {
|
|
1021
|
-
measurements.meanLogProb = choice.meanLogProb;
|
|
1022
|
-
}
|
|
1023
|
-
if (choice.meanAlternativeLogProb) {
|
|
1024
|
-
measurements.meanAlternativeLogProb = choice.meanAlternativeLogProb;
|
|
1025
|
-
}
|
|
1026
|
-
const extendedTelemetry = choice.telemetryData.extendedBy(properties, measurements);
|
|
1027
|
-
extendedTelemetry.issuedTime = issuedTelemetryData.issuedTime;
|
|
1028
|
-
extendedTelemetry.measurements.timeToProduceMs = performance.now() - issuedTelemetryData.issuedTime;
|
|
1029
|
-
addDocumentTelemetry(extendedTelemetry, document);
|
|
1030
|
-
extendedTelemetry.extendWithRequestId(requestId);
|
|
1031
|
-
return extendedTelemetry;
|
|
1032
|
-
}
|
|
1033
|
-
/** Create new telemetry data based on baseTelemetryData and send `ghostText.issued` event */
|
|
1034
|
-
function telemetryIssued(accessor, document, requestContext, position, prompt, baseTelemetryData, requestInfo, ghostTextOptions) {
|
|
1035
|
-
// base ghostText telemetry data
|
|
1036
|
-
const properties = {
|
|
1037
|
-
languageId: document.detectedLanguageId,
|
|
1038
|
-
};
|
|
1039
|
-
properties.afterAccept = requestContext.afterAccept.toString();
|
|
1040
|
-
properties.isSpeculative = ghostTextOptions.isSpeculative.toString();
|
|
1041
|
-
const telemetryData = baseTelemetryData.extendedBy(properties);
|
|
1042
|
-
addDocumentTelemetry(telemetryData, document);
|
|
1043
|
-
// Add repository information
|
|
1044
|
-
const repoInfo = requestContext.repoInfo;
|
|
1045
|
-
telemetryData.properties.gitRepoInformation =
|
|
1046
|
-
repoInfo === undefined ? 'unavailable' : repoInfo === repository_1.ComputationStatus.PENDING ? 'pending' : 'available';
|
|
1047
|
-
if (repoInfo !== undefined && repoInfo !== repository_1.ComputationStatus.PENDING) {
|
|
1048
|
-
telemetryData.properties.gitRepoUrl = repoInfo.url;
|
|
1049
|
-
telemetryData.properties.gitRepoHost = repoInfo.hostname;
|
|
1050
|
-
if (repoInfo.repoId?.type === 'github') {
|
|
1051
|
-
telemetryData.properties.gitRepoOwner = repoInfo.repoId.org;
|
|
1052
|
-
telemetryData.properties.gitRepoName = repoInfo.repoId.repo;
|
|
1053
|
-
}
|
|
1054
|
-
else if (repoInfo.repoId?.type === 'ado') {
|
|
1055
|
-
telemetryData.properties.gitRepoOwner = repoInfo.repoId.project;
|
|
1056
|
-
telemetryData.properties.gitRepoName = repoInfo.repoId.repo;
|
|
1057
|
-
}
|
|
1058
|
-
else {
|
|
1059
|
-
// TODO: We don't have generic owner and repo for other providers
|
|
1060
|
-
}
|
|
1061
|
-
telemetryData.properties.gitRepoPath = repoInfo.pathname;
|
|
1062
|
-
}
|
|
1063
|
-
telemetryData.properties.engineName = requestInfo.modelId;
|
|
1064
|
-
telemetryData.properties.engineChoiceSource = requestInfo.engineChoiceSource;
|
|
1065
|
-
// Add requestMultiline information
|
|
1066
|
-
telemetryData.properties.isMultiline = JSON.stringify(requestContext.multiline);
|
|
1067
|
-
telemetryData.properties.isCycling = JSON.stringify(requestContext.isCycling);
|
|
1068
|
-
// calculated values for the issued event
|
|
1069
|
-
const currentLine = document.lineAt(position.line);
|
|
1070
|
-
const lineBeforeCursor = document.getText(textDocument_1.LocationFactory.range(currentLine.range.start, position));
|
|
1071
|
-
const restOfLine = document.getText(textDocument_1.LocationFactory.range(position, currentLine.range.end));
|
|
1072
|
-
const typeFileHashCode = Array.from(prompt.neighborSource.entries()).map(typeFiles => [
|
|
1073
|
-
typeFiles[0],
|
|
1074
|
-
typeFiles[1].map(f => (0, crypto_1.createSha256Hash)(f).toString()), // file name is sensitive. We just keep SHA256 of the file name.
|
|
1075
|
-
]);
|
|
1076
|
-
// Properties that we only want to include in the issued event
|
|
1077
|
-
const extendedProperties = {
|
|
1078
|
-
beforeCursorWhitespace: JSON.stringify(lineBeforeCursor.trim() === ''),
|
|
1079
|
-
afterCursorWhitespace: JSON.stringify(restOfLine.trim() === ''),
|
|
1080
|
-
neighborSource: JSON.stringify(typeFileHashCode),
|
|
1081
|
-
blockMode: requestContext.blockMode,
|
|
1082
|
-
};
|
|
1083
|
-
const extendedMeasurements = {
|
|
1084
|
-
...(0, telemetry_2.telemetrizePromptLength)(prompt.prompt),
|
|
1085
|
-
promptEndPos: document.offsetAt(position),
|
|
1086
|
-
promptComputeTimeMs: prompt.computeTimeMs,
|
|
1087
|
-
};
|
|
1088
|
-
if (prompt.metadata) {
|
|
1089
|
-
extendedProperties.promptMetadata = JSON.stringify(prompt.metadata);
|
|
1090
|
-
}
|
|
1091
|
-
if (prompt.contextProvidersTelemetry) {
|
|
1092
|
-
extendedProperties.contextProviders = JSON.stringify(prompt.contextProvidersTelemetry);
|
|
1093
|
-
}
|
|
1094
|
-
const telemetryDataToSend = telemetryData.extendedBy(extendedProperties, extendedMeasurements);
|
|
1095
|
-
// telemetrize the issued event
|
|
1096
|
-
(0, telemetry_2.telemetry)(accessor, 'ghostText.issued', telemetryDataToSend);
|
|
1097
|
-
return telemetryData;
|
|
1098
|
-
}
|
|
1099
|
-
function addDocumentTelemetry(telemetry, document) {
|
|
1100
|
-
telemetry.measurements.documentLength = document.getText().length;
|
|
1101
|
-
telemetry.measurements.documentLineCount = document.lineCount;
|
|
1102
|
-
}
|
|
1103
|
-
function telemetryPerformance(accessor, performanceKind, choice, requestStart, processingTimeMs) {
|
|
1104
|
-
const requestTimeMs = Date.now() - requestStart;
|
|
1105
|
-
const deltaMs = requestTimeMs - processingTimeMs;
|
|
1106
|
-
const telemetryData = choice.telemetryData.extendedBy({}, {
|
|
1107
|
-
completionCharLen: choice.completionText.length,
|
|
1108
|
-
requestTimeMs: requestTimeMs,
|
|
1109
|
-
processingTimeMs: processingTimeMs,
|
|
1110
|
-
deltaMs: deltaMs,
|
|
1111
|
-
// Choice properties
|
|
1112
|
-
meanLogProb: choice.meanLogProb || NaN,
|
|
1113
|
-
meanAlternativeLogProb: choice.meanAlternativeLogProb || NaN,
|
|
1114
|
-
});
|
|
1115
|
-
telemetryData.extendWithRequestId(choice.requestId);
|
|
1116
|
-
(0, telemetry_2.telemetry)(accessor, `ghostText.${performanceKind}`, telemetryData);
|
|
1117
|
-
}
|
|
1118
|
-
//# sourceMappingURL=ghostText.js.map
|