@vscode/chat-lib 0.0.1 → 0.0.2
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/xtab/common/promptCrafting.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js +6 -5
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +1 -0
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +1 -0
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/env/common/envService.d.ts +5 -0
- package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
- package/dist/src/_internal/platform/env/common/envService.js +2 -1
- package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +3 -0
- package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.js +8 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts +7 -0
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js +1 -0
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +8 -0
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js +19 -1
- 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 +8 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
- package/dist/src/_internal/vscodeTypes.d.ts +4 -0
- package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
- package/dist/src/_internal/vscodeTypes.js +5 -1
- package/dist/src/_internal/vscodeTypes.js.map +1 -1
- package/dist/src/main.d.ts +5 -0
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +12 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/package.json +46 -19
- package/package.json +3 -6
- package/src/_internal/extension/byok/node/openAIEndpoint.ts +0 -171
- package/src/_internal/extension/common/constants.ts +0 -90
- package/src/_internal/extension/inlineEdits/common/delayer.ts +0 -108
- package/src/_internal/extension/inlineEdits/common/editRebase.ts +0 -268
- package/src/_internal/extension/inlineEdits/common/ghNearbyNesProvider.tsx +0 -163
- package/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts +0 -225
- package/src/_internal/extension/inlineEdits/common/rejectionCollector.ts +0 -164
- package/src/_internal/extension/inlineEdits/node/debugRecorder.ts +0 -205
- package/src/_internal/extension/inlineEdits/node/importFiltering.ts +0 -25
- package/src/_internal/extension/inlineEdits/node/nesConfigs.ts +0 -12
- package/src/_internal/extension/inlineEdits/node/nextEditCache.ts +0 -278
- package/src/_internal/extension/inlineEdits/node/nextEditProvider.ts +0 -778
- package/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.ts +0 -983
- package/src/_internal/extension/inlineEdits/node/nextEditResult.ts +0 -40
- package/src/_internal/extension/prompt/common/importStatement.ts +0 -25
- package/src/_internal/extension/prompt/node/chatMLFetcher.ts +0 -706
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.ts +0 -146
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.ts +0 -527
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.ts +0 -76
- package/src/_internal/extension/prompts/node/inline/visualization.ts +0 -65
- package/src/_internal/extension/vscode.proposed.activeComment.d.ts +0 -23
- package/src/_internal/extension/vscode.proposed.aiRelatedInformation.d.ts +0 -49
- package/src/_internal/extension/vscode.proposed.aiSettingsSearch.d.ts +0 -31
- package/src/_internal/extension/vscode.proposed.aiTextSearchProvider.d.ts +0 -41
- package/src/_internal/extension/vscode.proposed.authLearnMore.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.chatBinaryReferenceData.d.ts +0 -41
- package/src/_internal/extension/vscode.proposed.chatEditing.d.ts +0 -29
- package/src/_internal/extension/vscode.proposed.chatParticipantAdditions.d.ts +0 -636
- package/src/_internal/extension/vscode.proposed.chatParticipantPrivate.d.ts +0 -276
- package/src/_internal/extension/vscode.proposed.chatProvider.d.ts +0 -62
- package/src/_internal/extension/vscode.proposed.chatReadonlyPromptReference.d.ts +0 -17
- package/src/_internal/extension/vscode.proposed.chatReferenceDiagnostic.d.ts +0 -23
- package/src/_internal/extension/vscode.proposed.chatSessionsProvider.d.ts +0 -218
- package/src/_internal/extension/vscode.proposed.chatStatusItem.d.ts +0 -61
- package/src/_internal/extension/vscode.proposed.codeActionAI.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.commentReveal.d.ts +0 -32
- package/src/_internal/extension/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts +0 -8
- package/src/_internal/extension/vscode.proposed.contribCommentsViewThreadMenus.d.ts +0 -6
- package/src/_internal/extension/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +0 -7
- package/src/_internal/extension/vscode.proposed.dataChannels.d.ts +0 -19
- package/src/_internal/extension/vscode.proposed.defaultChatParticipant.d.ts +0 -52
- package/src/_internal/extension/vscode.proposed.documentFiltersExclusive.d.ts +0 -13
- package/src/_internal/extension/vscode.proposed.embeddings.d.ts +0 -33
- package/src/_internal/extension/vscode.proposed.extensionsAny.d.ts +0 -40
- package/src/_internal/extension/vscode.proposed.findFiles2.d.ts +0 -125
- package/src/_internal/extension/vscode.proposed.findTextInFiles.d.ts +0 -104
- package/src/_internal/extension/vscode.proposed.findTextInFiles2.d.ts +0 -144
- package/src/_internal/extension/vscode.proposed.inlineCompletionsAdditions.d.ts +0 -202
- package/src/_internal/extension/vscode.proposed.interactive.d.ts +0 -11
- package/src/_internal/extension/vscode.proposed.languageModelCapabilities.d.ts +0 -25
- package/src/_internal/extension/vscode.proposed.languageModelDataPart.d.ts +0 -163
- package/src/_internal/extension/vscode.proposed.languageModelSystem.d.ts +0 -17
- package/src/_internal/extension/vscode.proposed.languageModelThinkingPart.d.ts +0 -49
- package/src/_internal/extension/vscode.proposed.languageModelToolResultAudience.d.ts +0 -36
- package/src/_internal/extension/vscode.proposed.mappedEditsProvider.d.ts +0 -110
- package/src/_internal/extension/vscode.proposed.newSymbolNamesProvider.d.ts +0 -47
- package/src/_internal/extension/vscode.proposed.readonlyMessage.d.ts +0 -14
- package/src/_internal/extension/vscode.proposed.resolvers.d.ts +0 -475
- package/src/_internal/extension/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
- package/src/_internal/extension/vscode.proposed.taskProblemMatcherStatus.d.ts +0 -42
- package/src/_internal/extension/vscode.proposed.terminalDataWriteEvent.d.ts +0 -32
- package/src/_internal/extension/vscode.proposed.terminalExecuteCommandEvent.d.ts +0 -48
- package/src/_internal/extension/vscode.proposed.terminalQuickFixProvider.d.ts +0 -87
- package/src/_internal/extension/vscode.proposed.terminalSelection.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.testObserver.d.ts +0 -199
- package/src/_internal/extension/vscode.proposed.textDocumentChangeReason.d.ts +0 -30
- package/src/_internal/extension/vscode.proposed.textSearchProvider.d.ts +0 -281
- package/src/_internal/extension/vscode.proposed.textSearchProvider2.d.ts +0 -297
- package/src/_internal/extension/xtab/common/promptCrafting.ts +0 -670
- package/src/_internal/extension/xtab/node/xtabEndpoint.ts +0 -102
- package/src/_internal/extension/xtab/node/xtabProvider.ts +0 -976
- package/src/_internal/extension/xtab/node/xtabUtils.ts +0 -62
- package/src/_internal/platform/authentication/common/authentication.ts +0 -309
- package/src/_internal/platform/authentication/common/copilotToken.ts +0 -300
- package/src/_internal/platform/authentication/common/copilotTokenManager.ts +0 -59
- package/src/_internal/platform/authentication/common/copilotTokenStore.ts +0 -40
- package/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.ts +0 -96
- package/src/_internal/platform/authentication/node/copilotTokenManager.ts +0 -303
- package/src/_internal/platform/chat/common/chatMLFetcher.ts +0 -124
- package/src/_internal/platform/chat/common/chatQuotaService.ts +0 -63
- package/src/_internal/platform/chat/common/chatQuotaServiceImpl.ts +0 -96
- package/src/_internal/platform/chat/common/commonTypes.ts +0 -353
- package/src/_internal/platform/chat/common/conversationOptions.ts +0 -16
- package/src/_internal/platform/chat/common/globalStringUtils.ts +0 -54
- package/src/_internal/platform/chat/common/interactionService.ts +0 -35
- package/src/_internal/platform/configuration/common/configurationService.ts +0 -803
- package/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.ts +0 -39
- package/src/_internal/platform/configuration/common/jsonSchema.ts +0 -139
- package/src/_internal/platform/configuration/common/validator.ts +0 -242
- package/src/_internal/platform/diff/common/diffService.ts +0 -41
- package/src/_internal/platform/diff/common/diffWorker.ts +0 -83
- package/src/_internal/platform/diff/node/diffServiceImpl.ts +0 -85
- package/src/_internal/platform/editing/common/abstractText.ts +0 -177
- package/src/_internal/platform/editing/common/notebookDocumentSnapshot.ts +0 -122
- package/src/_internal/platform/editing/common/positionOffsetTransformer.ts +0 -202
- package/src/_internal/platform/editing/common/textDocumentSnapshot.ts +0 -274
- package/src/_internal/platform/endpoint/common/capiClient.ts +0 -37
- package/src/_internal/platform/endpoint/common/chatModelCapabilities.ts +0 -115
- package/src/_internal/platform/endpoint/common/domainService.ts +0 -27
- package/src/_internal/platform/endpoint/common/endpointProvider.ts +0 -104
- package/src/_internal/platform/endpoint/common/endpointTypes.ts +0 -12
- package/src/_internal/platform/endpoint/common/licenseAgreement.ts +0 -11
- package/src/_internal/platform/endpoint/common/statefulMarkerContainer.tsx +0 -85
- package/src/_internal/platform/endpoint/common/thinkingDataContainer.tsx +0 -44
- package/src/_internal/platform/endpoint/node/capiClientImpl.ts +0 -18
- package/src/_internal/platform/endpoint/node/chatEndpoint.ts +0 -435
- package/src/_internal/platform/endpoint/node/domainServiceImpl.ts +0 -80
- package/src/_internal/platform/endpoint/node/proxyXtabEndpoint.ts +0 -43
- package/src/_internal/platform/endpoint/node/responsesApi.ts +0 -326
- package/src/_internal/platform/env/common/envService.ts +0 -134
- package/src/_internal/platform/env/common/nullEnvService.ts +0 -68
- package/src/_internal/platform/env/common/packagejson.ts +0 -49
- package/src/_internal/platform/git/common/gitExtensionService.ts +0 -21
- package/src/_internal/platform/git/common/nullGitExtensionService.ts +0 -20
- package/src/_internal/platform/git/vscode/git.d.ts +0 -414
- package/src/_internal/platform/github/common/githubAPI.ts +0 -44
- package/src/_internal/platform/github/common/githubService.ts +0 -87
- package/src/_internal/platform/github/common/nullOctokitServiceImpl.ts +0 -21
- package/src/_internal/platform/ignore/common/ignoreService.ts +0 -72
- package/src/_internal/platform/inlineCompletions/common/api.ts +0 -198
- package/src/_internal/platform/inlineEdits/common/dataTypes/diagnosticData.ts +0 -32
- package/src/_internal/platform/inlineEdits/common/dataTypes/documentId.ts +0 -52
- package/src/_internal/platform/inlineEdits/common/dataTypes/edit.ts +0 -165
- package/src/_internal/platform/inlineEdits/common/dataTypes/editUtils.ts +0 -74
- package/src/_internal/platform/inlineEdits/common/dataTypes/fetchCancellationError.ts +0 -14
- package/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.ts +0 -107
- package/src/_internal/platform/inlineEdits/common/dataTypes/languageId.ts +0 -14
- package/src/_internal/platform/inlineEdits/common/dataTypes/permutation.ts +0 -69
- package/src/_internal/platform/inlineEdits/common/dataTypes/rootedLineEdit.ts +0 -49
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLength.ts +0 -74
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/combineTextEditInfos.ts +0 -132
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.ts +0 -184
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/textEditInfo.ts +0 -32
- package/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts +0 -89
- package/src/_internal/platform/inlineEdits/common/debugRecorderBookmark.ts +0 -10
- package/src/_internal/platform/inlineEdits/common/editReason.ts +0 -134
- package/src/_internal/platform/inlineEdits/common/inlineEditLogContext.ts +0 -490
- package/src/_internal/platform/inlineEdits/common/observableGit.ts +0 -49
- package/src/_internal/platform/inlineEdits/common/observableWorkspace.ts +0 -239
- package/src/_internal/platform/inlineEdits/common/responseProcessor.ts +0 -249
- package/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.ts +0 -468
- package/src/_internal/platform/inlineEdits/common/statelessNextEditProviders.ts +0 -59
- package/src/_internal/platform/inlineEdits/common/utils/observable.ts +0 -54
- package/src/_internal/platform/inlineEdits/common/utils/stringifyChatMessages.ts +0 -29
- package/src/_internal/platform/inlineEdits/common/utils/utils.ts +0 -56
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/historyContextProvider.ts +0 -60
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesHistoryContextProvider.ts +0 -353
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker.ts +0 -176
- package/src/_internal/platform/languageContextProvider/common/languageContextProviderService.ts +0 -25
- package/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.ts +0 -38
- package/src/_internal/platform/languageServer/common/languageContextService.ts +0 -186
- package/src/_internal/platform/languages/common/languageDiagnosticsService.ts +0 -67
- package/src/_internal/platform/languages/common/testLanguageDiagnosticsService.ts +0 -28
- package/src/_internal/platform/log/common/logService.ts +0 -232
- package/src/_internal/platform/nesFetch/common/completionsAPI.ts +0 -78
- package/src/_internal/platform/nesFetch/common/completionsFetchService.ts +0 -118
- package/src/_internal/platform/nesFetch/common/responseStream.ts +0 -151
- package/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.ts +0 -236
- package/src/_internal/platform/nesFetch/node/streamTransformer.ts +0 -95
- package/src/_internal/platform/networking/common/fetch.ts +0 -349
- package/src/_internal/platform/networking/common/fetcherService.ts +0 -84
- package/src/_internal/platform/networking/common/networking.ts +0 -442
- package/src/_internal/platform/networking/common/openai.ts +0 -273
- package/src/_internal/platform/networking/node/chatStream.ts +0 -137
- package/src/_internal/platform/networking/node/stream.ts +0 -749
- package/src/_internal/platform/notebook/common/alternativeContent.ts +0 -89
- package/src/_internal/platform/notebook/common/alternativeContentFormat.ts +0 -10
- package/src/_internal/platform/notebook/common/alternativeContentProvider.json.ts +0 -262
- package/src/_internal/platform/notebook/common/alternativeContentProvider.text.ts +0 -243
- package/src/_internal/platform/notebook/common/alternativeContentProvider.ts +0 -41
- package/src/_internal/platform/notebook/common/alternativeContentProvider.xml.ts +0 -205
- package/src/_internal/platform/notebook/common/alternativeNotebookDocument.ts +0 -155
- package/src/_internal/platform/notebook/common/helpers.ts +0 -212
- package/src/_internal/platform/notebook/common/notebookService.ts +0 -43
- package/src/_internal/platform/openai/node/fetch.ts +0 -596
- package/src/_internal/platform/parser/node/nodes.ts +0 -190
- package/src/_internal/platform/requestLogger/node/nullRequestLogger.ts +0 -26
- package/src/_internal/platform/requestLogger/node/requestLogger.ts +0 -383
- package/src/_internal/platform/simulationTestContext/common/simulationTestContext.ts +0 -29
- package/src/_internal/platform/snippy/common/snippyService.ts +0 -25
- package/src/_internal/platform/telemetry/common/nullExperimentationService.ts +0 -64
- package/src/_internal/platform/telemetry/common/nullTelemetryService.ts +0 -53
- package/src/_internal/platform/telemetry/common/telemetry.ts +0 -215
- package/src/_internal/platform/telemetry/common/telemetryData.ts +0 -205
- package/src/_internal/platform/thinking/common/thinking.ts +0 -61
- package/src/_internal/platform/thinking/common/thinkingUtils.ts +0 -57
- package/src/_internal/platform/tokenizer/node/parseTikTokens.ts +0 -23
- package/src/_internal/platform/tokenizer/node/tikTokenizerImpl.ts +0 -74
- package/src/_internal/platform/tokenizer/node/tikTokenizerWorker.ts +0 -24
- package/src/_internal/platform/tokenizer/node/tokenizer.ts +0 -357
- package/src/_internal/platform/workspace/common/workspaceService.ts +0 -226
- package/src/_internal/platform/workspaceRecorder/common/workspaceLog.ts +0 -118
- package/src/_internal/util/common/anomalyDetection.ts +0 -112
- package/src/_internal/util/common/arrays.ts +0 -81
- package/src/_internal/util/common/async.ts +0 -155
- package/src/_internal/util/common/cache.ts +0 -183
- package/src/_internal/util/common/crypto.ts +0 -41
- package/src/_internal/util/common/errors.ts +0 -22
- package/src/_internal/util/common/globals.d.ts +0 -12
- package/src/_internal/util/common/imageUtils.ts +0 -154
- package/src/_internal/util/common/languages.ts +0 -940
- package/src/_internal/util/common/notebooks.ts +0 -286
- package/src/_internal/util/common/result.ts +0 -71
- package/src/_internal/util/common/services.ts +0 -43
- package/src/_internal/util/common/test/shims/chatTypes.ts +0 -448
- package/src/_internal/util/common/test/shims/editing.ts +0 -233
- package/src/_internal/util/common/test/shims/enums.ts +0 -61
- package/src/_internal/util/common/test/shims/l10n.ts +0 -37
- package/src/_internal/util/common/test/shims/newSymbolName.ts +0 -23
- package/src/_internal/util/common/test/shims/terminal.ts +0 -33
- package/src/_internal/util/common/test/shims/vscodeTypesShim.ts +0 -115
- package/src/_internal/util/common/time.ts +0 -31
- package/src/_internal/util/common/tokenizer.ts +0 -30
- package/src/_internal/util/common/tracing.ts +0 -52
- package/src/_internal/util/common/types.ts +0 -33
- package/src/_internal/util/common/variableLengthQuantity.ts +0 -40
- package/src/_internal/util/node/worker.ts +0 -130
- package/src/_internal/util/vs/base/common/arrays.ts +0 -926
- package/src/_internal/util/vs/base/common/arraysFind.ts +0 -206
- package/src/_internal/util/vs/base/common/assert.ts +0 -89
- package/src/_internal/util/vs/base/common/async.ts +0 -2582
- package/src/_internal/util/vs/base/common/buffer.ts +0 -501
- package/src/_internal/util/vs/base/common/cache.ts +0 -122
- package/src/_internal/util/vs/base/common/cancellation.ts +0 -150
- package/src/_internal/util/vs/base/common/charCode.ts +0 -452
- package/src/_internal/util/vs/base/common/codicons.ts +0 -66
- package/src/_internal/util/vs/base/common/codiconsLibrary.ts +0 -618
- package/src/_internal/util/vs/base/common/codiconsUtil.ts +0 -30
- package/src/_internal/util/vs/base/common/collections.ts +0 -156
- package/src/_internal/util/vs/base/common/diff/diff.ts +0 -1317
- package/src/_internal/util/vs/base/common/diff/diffChange.ts +0 -62
- package/src/_internal/util/vs/base/common/equals.ts +0 -148
- package/src/_internal/util/vs/base/common/errors.ts +0 -342
- package/src/_internal/util/vs/base/common/event.ts +0 -1782
- package/src/_internal/util/vs/base/common/extpath.ts +0 -425
- package/src/_internal/util/vs/base/common/filters.ts +0 -928
- package/src/_internal/util/vs/base/common/functional.ts +0 -34
- package/src/_internal/util/vs/base/common/glob.ts +0 -839
- package/src/_internal/util/vs/base/common/hash.ts +0 -326
- package/src/_internal/util/vs/base/common/htmlContent.ts +0 -212
- package/src/_internal/util/vs/base/common/iconLabels.ts +0 -118
- package/src/_internal/util/vs/base/common/iterator.ts +0 -196
- package/src/_internal/util/vs/base/common/lazy.ts +0 -59
- package/src/_internal/util/vs/base/common/lifecycle.ts +0 -845
- package/src/_internal/util/vs/base/common/linkedList.ts +0 -144
- package/src/_internal/util/vs/base/common/map.ts +0 -954
- package/src/_internal/util/vs/base/common/marshallingIds.ts +0 -35
- package/src/_internal/util/vs/base/common/mime.ts +0 -136
- package/src/_internal/util/vs/base/common/naturalLanguage/korean.ts +0 -425
- package/src/_internal/util/vs/base/common/network.ts +0 -429
- package/src/_internal/util/vs/base/common/numbers.ts +0 -166
- package/src/_internal/util/vs/base/common/objects.ts +0 -242
- package/src/_internal/util/vs/base/common/observable.ts +0 -10
- package/src/_internal/util/vs/base/common/observableInternal/base.ts +0 -208
- package/src/_internal/util/vs/base/common/observableInternal/changeTracker.ts +0 -96
- package/src/_internal/util/vs/base/common/observableInternal/commonFacade/cancellation.ts +0 -9
- package/src/_internal/util/vs/base/common/observableInternal/commonFacade/deps.ts +0 -12
- package/src/_internal/util/vs/base/common/observableInternal/debugLocation.ts +0 -88
- package/src/_internal/util/vs/base/common/observableInternal/debugName.ts +0 -150
- package/src/_internal/util/vs/base/common/observableInternal/experimental/utils.ts +0 -62
- package/src/_internal/util/vs/base/common/observableInternal/index.ts +0 -61
- package/src/_internal/util/vs/base/common/observableInternal/logging/consoleObservableLogger.ts +0 -388
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerApi.d.ts +0 -154
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerRpc.ts +0 -80
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/devToolsLogger.ts +0 -485
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/rpc.ts +0 -103
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/utils.ts +0 -69
- package/src/_internal/util/vs/base/common/observableInternal/logging/logging.ts +0 -133
- package/src/_internal/util/vs/base/common/observableInternal/map.ts +0 -81
- package/src/_internal/util/vs/base/common/observableInternal/observables/baseObservable.ts +0 -172
- package/src/_internal/util/vs/base/common/observableInternal/observables/constObservable.ts +0 -44
- package/src/_internal/util/vs/base/common/observableInternal/observables/derived.ts +0 -190
- package/src/_internal/util/vs/base/common/observableInternal/observables/derivedImpl.ts +0 -445
- package/src/_internal/util/vs/base/common/observableInternal/observables/lazyObservableValue.ts +0 -154
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableFromEvent.ts +0 -174
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignal.ts +0 -67
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignalFromEvent.ts +0 -62
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableValue.ts +0 -131
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableValueOpts.ts +0 -37
- package/src/_internal/util/vs/base/common/observableInternal/reactions/autorun.ts +0 -188
- package/src/_internal/util/vs/base/common/observableInternal/reactions/autorunImpl.ts +0 -256
- package/src/_internal/util/vs/base/common/observableInternal/set.ts +0 -78
- package/src/_internal/util/vs/base/common/observableInternal/transaction.ts +0 -115
- package/src/_internal/util/vs/base/common/observableInternal/utils/promise.ts +0 -129
- package/src/_internal/util/vs/base/common/observableInternal/utils/runOnChange.ts +0 -65
- package/src/_internal/util/vs/base/common/observableInternal/utils/utils.ts +0 -281
- package/src/_internal/util/vs/base/common/observableInternal/utils/utilsCancellation.ts +0 -101
- package/src/_internal/util/vs/base/common/observableInternal/utils/valueWithChangeEvent.ts +0 -31
- package/src/_internal/util/vs/base/common/path.ts +0 -1591
- package/src/_internal/util/vs/base/common/platform.ts +0 -282
- package/src/_internal/util/vs/base/common/process.ts +0 -78
- package/src/_internal/util/vs/base/common/resources.ts +0 -446
- package/src/_internal/util/vs/base/common/sequence.ts +0 -36
- package/src/_internal/util/vs/base/common/sseParser.ts +0 -247
- package/src/_internal/util/vs/base/common/stopwatch.ts +0 -43
- package/src/_internal/util/vs/base/common/stream.ts +0 -792
- package/src/_internal/util/vs/base/common/strings.ts +0 -1364
- package/src/_internal/util/vs/base/common/symbols.ts +0 -11
- package/src/_internal/util/vs/base/common/themables.ts +0 -106
- package/src/_internal/util/vs/base/common/types.ts +0 -345
- package/src/_internal/util/vs/base/common/uint.ts +0 -61
- package/src/_internal/util/vs/base/common/uri.ts +0 -752
- package/src/_internal/util/vs/base/common/uuid.ts +0 -72
- package/src/_internal/util/vs/base-common.d.ts +0 -42
- package/src/_internal/util/vs/editor/common/core/editOperation.ts +0 -62
- package/src/_internal/util/vs/editor/common/core/edits/edit.ts +0 -399
- package/src/_internal/util/vs/editor/common/core/edits/lineEdit.ts +0 -414
- package/src/_internal/util/vs/editor/common/core/edits/stringEdit.ts +0 -568
- package/src/_internal/util/vs/editor/common/core/edits/textEdit.ts +0 -411
- package/src/_internal/util/vs/editor/common/core/position.ts +0 -186
- package/src/_internal/util/vs/editor/common/core/range.ts +0 -519
- package/src/_internal/util/vs/editor/common/core/ranges/lineRange.ts +0 -416
- package/src/_internal/util/vs/editor/common/core/ranges/offsetRange.ts +0 -275
- package/src/_internal/util/vs/editor/common/core/text/abstractText.ts +0 -127
- package/src/_internal/util/vs/editor/common/core/text/positionToOffset.ts +0 -26
- package/src/_internal/util/vs/editor/common/core/text/positionToOffsetImpl.ts +0 -144
- package/src/_internal/util/vs/editor/common/core/text/textLength.ts +0 -150
- package/src/_internal/util/vs/editor/common/core/wordHelper.ts +0 -177
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.ts +0 -210
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.ts +0 -109
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.ts +0 -178
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.ts +0 -331
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.ts +0 -273
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.ts +0 -475
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.ts +0 -47
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.ts +0 -248
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/utils.ts +0 -76
- package/src/_internal/util/vs/editor/common/diff/legacyLinesDiffComputer.ts +0 -693
- package/src/_internal/util/vs/editor/common/diff/linesDiffComputer.ts +0 -61
- package/src/_internal/util/vs/editor/common/diff/rangeMapping.ts +0 -418
- package/src/_internal/util/vs/editor/common/model/prefixSumComputer.ts +0 -304
- package/src/_internal/util/vs/nls.messages.ts +0 -21
- package/src/_internal/util/vs/nls.ts +0 -243
- package/src/_internal/util/vs/platform/instantiation/common/descriptors.ts +0 -23
- package/src/_internal/util/vs/platform/instantiation/common/graph.ts +0 -113
- package/src/_internal/util/vs/platform/instantiation/common/instantiation.ts +0 -127
- package/src/_internal/util/vs/platform/instantiation/common/instantiationService.ts +0 -483
- package/src/_internal/util/vs/platform/instantiation/common/serviceCollection.ts +0 -34
- package/src/_internal/util/vs/vscode-globals-nls.d.ts +0 -42
- package/src/_internal/util/vs/vscode-globals-product.d.ts +0 -35
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/diagnostic.ts +0 -109
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/es5ClassCompat.ts +0 -34
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/location.ts +0 -51
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/markdownString.ts +0 -83
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/notebooks.ts +0 -296
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/position.ts +0 -195
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/range.ts +0 -167
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/selection.ts +0 -94
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetString.ts +0 -103
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetTextEdit.ts +0 -44
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/symbolInformation.ts +0 -89
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/textEdit.ts +0 -99
- package/src/_internal/vscodeTypes.ts +0 -100
- package/src/main.ts +0 -207
- package/src/package.json +0 -4063
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
|
|
6
|
-
import { Disposable } from '../../../util/vs/base/common/lifecycle';
|
|
7
|
-
import { IAuthenticationService } from '../../authentication/common/authentication';
|
|
8
|
-
import { IHeaders } from '../../networking/common/fetcherService';
|
|
9
|
-
import { CopilotUserQuotaInfo, IChatQuota, IChatQuotaService } from './chatQuotaService';
|
|
10
|
-
|
|
11
|
-
export class ChatQuotaService extends Disposable implements IChatQuotaService {
|
|
12
|
-
declare readonly _serviceBrand: undefined;
|
|
13
|
-
private _quotaInfo: IChatQuota | undefined;
|
|
14
|
-
|
|
15
|
-
constructor(@IAuthenticationService private readonly _authService: IAuthenticationService) {
|
|
16
|
-
super();
|
|
17
|
-
this._register(this._authService.onDidAuthenticationChange(() => {
|
|
18
|
-
this.processUserInfoQuotaSnapshot(this._authService.copilotToken?.quotaInfo);
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
get quotaExhausted(): boolean {
|
|
23
|
-
if (!this._quotaInfo) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
return this._quotaInfo.used >= this._quotaInfo.quota && !this._quotaInfo.overageEnabled && !this._quotaInfo.unlimited;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
get overagesEnabled(): boolean {
|
|
30
|
-
if (!this._quotaInfo) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
return this._quotaInfo.overageEnabled;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
clearQuota(): void {
|
|
37
|
-
this._quotaInfo = undefined;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
processQuotaHeaders(headers: IHeaders): void {
|
|
41
|
-
const quotaHeader = this._authService.copilotToken?.isFreeUser ? headers.get('x-quota-snapshot-chat') : headers.get('x-quota-snapshot-premium_models') || headers.get('x-quota-snapshot-premium_interactions');
|
|
42
|
-
if (!quotaHeader) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
try {
|
|
47
|
-
// Parse URL encoded string into key-value pairs
|
|
48
|
-
const params = new URLSearchParams(quotaHeader);
|
|
49
|
-
|
|
50
|
-
// Extract values with fallbacks to ensure type safety
|
|
51
|
-
const entitlement = parseInt(params.get('ent') || '0', 10);
|
|
52
|
-
const overageUsed = parseFloat(params.get('ov') || '0.0');
|
|
53
|
-
const overageEnabled = params.get('ovPerm') === 'true';
|
|
54
|
-
const percentRemaining = parseFloat(params.get('rem') || '0.0');
|
|
55
|
-
const resetDateString = params.get('rst');
|
|
56
|
-
|
|
57
|
-
let resetDate: Date;
|
|
58
|
-
if (resetDateString) {
|
|
59
|
-
resetDate = new Date(resetDateString);
|
|
60
|
-
} else {
|
|
61
|
-
// Default to one month from now if not provided
|
|
62
|
-
resetDate = new Date();
|
|
63
|
-
resetDate.setMonth(resetDate.getMonth() + 1);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Calculate used based on entitlement and remaining
|
|
67
|
-
const used = Math.max(0, entitlement * (1 - percentRemaining / 100));
|
|
68
|
-
|
|
69
|
-
// Update quota info
|
|
70
|
-
this._quotaInfo = {
|
|
71
|
-
quota: entitlement,
|
|
72
|
-
unlimited: entitlement === -1,
|
|
73
|
-
used,
|
|
74
|
-
overageUsed,
|
|
75
|
-
overageEnabled,
|
|
76
|
-
resetDate
|
|
77
|
-
};
|
|
78
|
-
} catch (error) {
|
|
79
|
-
console.error('Failed to parse quota header', error);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
private processUserInfoQuotaSnapshot(quotaInfo: CopilotUserQuotaInfo | undefined) {
|
|
84
|
-
if (!quotaInfo || !quotaInfo.quota_snapshots || !quotaInfo.quota_reset_date) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
this._quotaInfo = {
|
|
88
|
-
unlimited: quotaInfo.quota_snapshots.premium_interactions.unlimited,
|
|
89
|
-
overageEnabled: quotaInfo.quota_snapshots.premium_interactions.overage_permitted,
|
|
90
|
-
overageUsed: quotaInfo.quota_snapshots.premium_interactions.overage_count,
|
|
91
|
-
quota: quotaInfo.quota_snapshots.premium_interactions.entitlement,
|
|
92
|
-
resetDate: new Date(quotaInfo.quota_reset_date),
|
|
93
|
-
used: Math.max(0, quotaInfo.quota_snapshots.premium_interactions.entitlement * (1 - quotaInfo.quota_snapshots.premium_interactions.percent_remaining / 100)),
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
}
|
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
|
|
6
|
-
import * as l10n from '@vscode/l10n';
|
|
7
|
-
import type { ChatErrorDetails, ChatResult } from 'vscode';
|
|
8
|
-
import { secondsToHumanReadableTime } from '../../../util/common/time';
|
|
9
|
-
import { ChatErrorLevel } from '../../../util/common/test/shims/vscodeTypesShim';
|
|
10
|
-
import { APIErrorResponse, APIUsage, FilterReason } from '../../networking/common/openai';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* The location of a chat request.
|
|
14
|
-
*/
|
|
15
|
-
export enum ChatLocation {
|
|
16
|
-
/**
|
|
17
|
-
* The chat panel
|
|
18
|
-
*/
|
|
19
|
-
Panel = 1,
|
|
20
|
-
/**
|
|
21
|
-
* Terminal inline chat
|
|
22
|
-
*/
|
|
23
|
-
Terminal = 2,
|
|
24
|
-
/**
|
|
25
|
-
* Notebook inline chat
|
|
26
|
-
*/
|
|
27
|
-
Notebook = 3,
|
|
28
|
-
/**
|
|
29
|
-
* Code editor inline chat
|
|
30
|
-
*/
|
|
31
|
-
Editor = 4,
|
|
32
|
-
/**
|
|
33
|
-
* Chat is happening in an editing session.
|
|
34
|
-
* This location doesn't exist in vscode API, but is still used to compute the location sent for some intents.
|
|
35
|
-
*/
|
|
36
|
-
EditingSession = 5,
|
|
37
|
-
/**
|
|
38
|
-
* The chat request does not correspond directly to a user chat request.
|
|
39
|
-
*/
|
|
40
|
-
Other = 6,
|
|
41
|
-
/**
|
|
42
|
-
* The chat is an agent mode edit session.
|
|
43
|
-
*/
|
|
44
|
-
Agent = 7
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export namespace ChatLocation {
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Use this for passing uiKind to github telemetry, which we don't want to impact.
|
|
51
|
-
* Also known as UIKind in the telemetry data.
|
|
52
|
-
*/
|
|
53
|
-
export function toString(chatLocation: ChatLocation): string {
|
|
54
|
-
switch (chatLocation) {
|
|
55
|
-
case ChatLocation.Editor:
|
|
56
|
-
return 'conversationInline';
|
|
57
|
-
case ChatLocation.Panel:
|
|
58
|
-
return 'conversationPanel';
|
|
59
|
-
case ChatLocation.EditingSession:
|
|
60
|
-
return 'editingSession';
|
|
61
|
-
case ChatLocation.Agent:
|
|
62
|
-
return 'editingSessionAgent';
|
|
63
|
-
default:
|
|
64
|
-
return 'none';
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* This goes to logs and msft telemetry and is ok to change
|
|
70
|
-
*/
|
|
71
|
-
export function toStringShorter(chatLocation: ChatLocation): string {
|
|
72
|
-
switch (chatLocation) {
|
|
73
|
-
case ChatLocation.Editor:
|
|
74
|
-
case ChatLocation.Notebook:
|
|
75
|
-
return 'inline';
|
|
76
|
-
case ChatLocation.Panel:
|
|
77
|
-
return 'panel';
|
|
78
|
-
case ChatLocation.EditingSession:
|
|
79
|
-
return 'editingSession';
|
|
80
|
-
default:
|
|
81
|
-
return 'none';
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export enum ChatFetchResponseType {
|
|
87
|
-
OffTopic = 'offTopic',
|
|
88
|
-
Canceled = 'canceled',
|
|
89
|
-
Filtered = 'filtered',
|
|
90
|
-
FilteredRetry = 'filteredRetry',
|
|
91
|
-
PromptFiltered = 'promptFiltered',
|
|
92
|
-
Length = 'length',
|
|
93
|
-
RateLimited = 'rateLimited',
|
|
94
|
-
QuotaExceeded = 'quotaExceeded',
|
|
95
|
-
ExtensionBlocked = 'extensionBlocked',
|
|
96
|
-
BadRequest = 'badRequest',
|
|
97
|
-
NotFound = 'notFound',
|
|
98
|
-
Failed = 'failed',
|
|
99
|
-
Unknown = 'unknown',
|
|
100
|
-
NetworkError = 'networkError',
|
|
101
|
-
AgentUnauthorized = 'agent_unauthorized',
|
|
102
|
-
AgentFailedDependency = 'agent_failed_dependency',
|
|
103
|
-
InvalidStatefulMarker = 'invalid_stateful_marker',
|
|
104
|
-
Success = 'success'
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export type ChatFetchError =
|
|
108
|
-
/**
|
|
109
|
-
* We requested conversation, but the message was deemed off topic by the intent classifier.
|
|
110
|
-
*/
|
|
111
|
-
{ type: ChatFetchResponseType.OffTopic; reason: string; requestId: string; serverRequestId: string | undefined }
|
|
112
|
-
/**
|
|
113
|
-
* Communication with a third party agent failed.
|
|
114
|
-
* The error message provides further details, usually indicating either an invocation timeout or an improper response.
|
|
115
|
-
*/
|
|
116
|
-
| { type: ChatFetchResponseType.AgentFailedDependency; reason: string; requestId: string; serverRequestId: string | undefined }
|
|
117
|
-
/**
|
|
118
|
-
* User authorization is required to proceed.
|
|
119
|
-
*/
|
|
120
|
-
| { type: ChatFetchResponseType.AgentUnauthorized; reason: string; authorizationUrl: string; requestId: string; serverRequestId: string | undefined }
|
|
121
|
-
/**
|
|
122
|
-
* We requested conversation, but we decided to cancel mid-way, for example because the
|
|
123
|
-
* user requested cancelation.
|
|
124
|
-
*/
|
|
125
|
-
| { type: ChatFetchResponseType.Canceled; reason: string; requestId: string; serverRequestId: string | undefined }
|
|
126
|
-
/**
|
|
127
|
-
* We requested conversation, but the response was filtered by RAI.
|
|
128
|
-
*/
|
|
129
|
-
| { type: ChatFetchResponseType.Filtered; reason: string; category: FilterReason; requestId: string; serverRequestId: string | undefined }
|
|
130
|
-
/**
|
|
131
|
-
* We requested conversation, but the prompt was filtered by RAI.
|
|
132
|
-
*/
|
|
133
|
-
| { type: ChatFetchResponseType.PromptFiltered; reason: string; category: FilterReason; requestId: string; serverRequestId: string | undefined }
|
|
134
|
-
/**
|
|
135
|
-
* We requested conversation, but the response was too long.
|
|
136
|
-
*/
|
|
137
|
-
| { type: ChatFetchResponseType.Length; reason: string; requestId: string; serverRequestId: string | undefined; truncatedValue: string }
|
|
138
|
-
/**
|
|
139
|
-
* We requested conversation, but didn't come up with any results because the rate limit was exceeded.
|
|
140
|
-
*/
|
|
141
|
-
| { type: ChatFetchResponseType.RateLimited; reason: string; requestId: string; serverRequestId: string | undefined; retryAfter: number | undefined; rateLimitKey: string; capiError?: { code?: string; message?: string } }
|
|
142
|
-
/**
|
|
143
|
-
* We requested conversation, but didn't come up with any results because the free tier quota was exceeded.
|
|
144
|
-
*/
|
|
145
|
-
| { type: ChatFetchResponseType.QuotaExceeded; reason: string; requestId: string; serverRequestId: string | undefined; retryAfter: Date; capiError?: { code?: string; message?: string } }
|
|
146
|
-
/**
|
|
147
|
-
* We requested conversation, but the extension is blocked
|
|
148
|
-
*/
|
|
149
|
-
| { type: ChatFetchResponseType.ExtensionBlocked; reason: string; requestId: string; serverRequestId: string | undefined; retryAfter: number; learnMoreLink: string }
|
|
150
|
-
/**
|
|
151
|
-
* We requested conversation, but didn't come up with any results because of a bad request
|
|
152
|
-
*/
|
|
153
|
-
| { type: ChatFetchResponseType.BadRequest; reason: string; requestId: string; serverRequestId: string | undefined }
|
|
154
|
-
| { type: ChatFetchResponseType.NotFound; reason: string; requestId: string; serverRequestId: string | undefined }
|
|
155
|
-
/**
|
|
156
|
-
* We requested conversation, but didn't come up with any results because something
|
|
157
|
-
* unexpected went wrong.
|
|
158
|
-
*/
|
|
159
|
-
| { type: ChatFetchResponseType.Failed; reason: string; requestId: string; serverRequestId: string | undefined; streamError?: APIErrorResponse }
|
|
160
|
-
/**
|
|
161
|
-
* We requested conversation, but didn't come up with any results because of a network error
|
|
162
|
-
*/
|
|
163
|
-
| { type: ChatFetchResponseType.NetworkError; reason: string; requestId: string; serverRequestId: string | undefined; streamError?: APIErrorResponse }
|
|
164
|
-
/**
|
|
165
|
-
* We requested conversation, but didn't come up with any results for some "unknown"
|
|
166
|
-
* reason, such as slur redaction or snippy.
|
|
167
|
-
*/
|
|
168
|
-
| { type: ChatFetchResponseType.Unknown; reason: string; requestId: string; serverRequestId: string | undefined }
|
|
169
|
-
/**
|
|
170
|
-
* The `statefulMarker` present in the request was invalid or expired. The
|
|
171
|
-
* request may be retried without that marker to resubmit it anew.
|
|
172
|
-
*/
|
|
173
|
-
| { type: ChatFetchResponseType.InvalidStatefulMarker; reason: string; requestId: string; serverRequestId: string | undefined };
|
|
174
|
-
|
|
175
|
-
export type ChatFetchRetriableError<T> =
|
|
176
|
-
/**
|
|
177
|
-
* We requested conversation, the response was filtered by RAI, but we want to retry.
|
|
178
|
-
*/
|
|
179
|
-
{ type: ChatFetchResponseType.FilteredRetry; reason: string; category: FilterReason; value: T; requestId: string; serverRequestId: string | undefined }
|
|
180
|
-
|
|
181
|
-
export type FetchSuccess<T> =
|
|
182
|
-
{ type: ChatFetchResponseType.Success; value: T; requestId: string; serverRequestId: string | undefined; usage: APIUsage | undefined };
|
|
183
|
-
|
|
184
|
-
export type FetchResponse<T> = FetchSuccess<T> | ChatFetchError;
|
|
185
|
-
|
|
186
|
-
export type ChatResponse = FetchResponse<string>;
|
|
187
|
-
|
|
188
|
-
export type ChatResponses = FetchResponse<string[]>;
|
|
189
|
-
|
|
190
|
-
function getRateLimitMessage(fetchResult: ChatFetchError, hideRateLimitTimeEstimate?: boolean): string {
|
|
191
|
-
if (fetchResult.type !== ChatFetchResponseType.RateLimited) {
|
|
192
|
-
throw new Error('Expected RateLimited error');
|
|
193
|
-
}
|
|
194
|
-
if (fetchResult.capiError?.code === 'agent_mode_limit_exceeded') { // Rate limited in agent mode
|
|
195
|
-
return l10n.t('Sorry, you have exceeded the agent mode rate limit. Please switch to ask mode and try again later.');
|
|
196
|
-
}
|
|
197
|
-
if (fetchResult.capiError?.code === 'upstream_provider_rate_limit') {
|
|
198
|
-
return l10n.t('Sorry, the upstream model provider is currently experiencing high demand. Please try again later or consider switching models.');
|
|
199
|
-
}
|
|
200
|
-
// Split rate limit key on comma as multiple headers can come in at once
|
|
201
|
-
const rateLimitKeyParts = fetchResult.rateLimitKey.split(',').map(part => part.trim());
|
|
202
|
-
const globalTPSRateLimit = rateLimitKeyParts.some(part => /^global-user(-[^-]+)?-tps-\d{4}-\d{2}-\d{2}$/.test(part));
|
|
203
|
-
const retryAfterString = (!hideRateLimitTimeEstimate && fetchResult.retryAfter) ? secondsToHumanReadableTime(fetchResult.retryAfter) : 'a moment';
|
|
204
|
-
|
|
205
|
-
if (fetchResult?.capiError?.code && fetchResult?.capiError?.message) {
|
|
206
|
-
return l10n.t({
|
|
207
|
-
message: 'Sorry, you have been rate-limited. Please wait {0} before trying again. [Learn More]({1})\n\nServer Error: {2}\nError Code: {3}',
|
|
208
|
-
args: [retryAfterString, 'https://aka.ms/github-copilot-rate-limit-error', fetchResult.capiError.message, fetchResult.capiError.code],
|
|
209
|
-
comment: ["{Locked=']({'}"]
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
if (!globalTPSRateLimit) {
|
|
214
|
-
return l10n.t({
|
|
215
|
-
message: 'Sorry, you have exhausted this model\'s rate limit. Please wait {0} before trying again, or switch to a different model. [Learn More]({1})',
|
|
216
|
-
args: [retryAfterString, 'https://aka.ms/github-copilot-rate-limit-error'],
|
|
217
|
-
comment: ["{Locked=']({'}"]
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
return l10n.t({
|
|
222
|
-
message: 'Sorry, your request was rate-limited. Please wait {0} before trying again. [Learn More]({1})',
|
|
223
|
-
args: [retryAfterString, 'https://aka.ms/github-copilot-rate-limit-error'],
|
|
224
|
-
comment: ["{Locked=']({'}"]
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
function getQuotaHitMessage(fetchResult: ChatFetchError, copilotPlan: string | undefined): string {
|
|
229
|
-
if (fetchResult.type !== ChatFetchResponseType.QuotaExceeded) {
|
|
230
|
-
throw new Error('Expected QuotaExceeded error');
|
|
231
|
-
}
|
|
232
|
-
if (fetchResult.capiError?.code === 'free_quota_exceeded') {
|
|
233
|
-
fetchResult.capiError.code = 'quota_exceeded'; // Remap this to the generic quota code so we get per plan handling
|
|
234
|
-
}
|
|
235
|
-
if (fetchResult.capiError?.code === 'quota_exceeded') {
|
|
236
|
-
switch (copilotPlan) {
|
|
237
|
-
case 'free':
|
|
238
|
-
return l10n.t(`You've reached your monthly chat messages quota. Upgrade to Copilot Pro (30-day free trial) or wait for your allowance to renew.`);
|
|
239
|
-
case 'individual':
|
|
240
|
-
return l10n.t(`You've exhausted your premium model quota. Please enable additional paid premium requests, upgrade to Copilot Pro+, or wait for your allowance to renew.`);
|
|
241
|
-
case 'individual_pro':
|
|
242
|
-
return l10n.t(`You've exhausted your premium model quota. Please enable additional paid premium requests or wait for your allowance to renew.`);
|
|
243
|
-
default:
|
|
244
|
-
return l10n.t(`You've exhausted your premium model quota. Please reach out to your organization's Copilot admin to enable additional paid premium requests or wait for your allowance to renew.`);
|
|
245
|
-
}
|
|
246
|
-
} else if (fetchResult.capiError?.code === 'overage_limit_reached') {
|
|
247
|
-
return l10n.t({
|
|
248
|
-
message: 'You cannot accrue additional premium requests at this time. Please contact [GitHub Support]({0}) to continue using Copilot.',
|
|
249
|
-
args: ['https://support.github.com/contact'],
|
|
250
|
-
comment: ["{Locked=']({'}"]
|
|
251
|
-
});
|
|
252
|
-
} else if (fetchResult.capiError?.code && fetchResult.capiError?.message) {
|
|
253
|
-
return l10n.t({
|
|
254
|
-
message: 'Quota Exceeded\n\nServer Error: {0}\nError Code: {1}',
|
|
255
|
-
args: [fetchResult.capiError.message, fetchResult.capiError.code],
|
|
256
|
-
comment: ''
|
|
257
|
-
});
|
|
258
|
-
} else {
|
|
259
|
-
return l10n.t('Quota Exceeded');
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
export function getErrorDetailsFromChatFetchError(fetchResult: ChatFetchError, copilotPlan: string, hideRateLimitTimeEstimate?: boolean): ChatErrorDetails {
|
|
264
|
-
return { code: fetchResult.type, ...getErrorDetailsFromChatFetchErrorInner(fetchResult, copilotPlan, hideRateLimitTimeEstimate) };
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
function getErrorDetailsFromChatFetchErrorInner(fetchResult: ChatFetchError, copilotPlan: string, hideRateLimitTimeEstimate?: boolean): ChatErrorDetails {
|
|
268
|
-
switch (fetchResult.type) {
|
|
269
|
-
case ChatFetchResponseType.OffTopic:
|
|
270
|
-
return { message: l10n.t('Sorry, but I can only assist with programming related questions.') };
|
|
271
|
-
case ChatFetchResponseType.Canceled:
|
|
272
|
-
return CanceledMessage;
|
|
273
|
-
case ChatFetchResponseType.RateLimited:
|
|
274
|
-
return {
|
|
275
|
-
message: getRateLimitMessage(fetchResult, hideRateLimitTimeEstimate),
|
|
276
|
-
level: ChatErrorLevel.Info
|
|
277
|
-
};
|
|
278
|
-
case ChatFetchResponseType.QuotaExceeded:
|
|
279
|
-
return {
|
|
280
|
-
message: getQuotaHitMessage(fetchResult, copilotPlan),
|
|
281
|
-
isQuotaExceeded: true
|
|
282
|
-
};
|
|
283
|
-
case ChatFetchResponseType.BadRequest:
|
|
284
|
-
case ChatFetchResponseType.Failed:
|
|
285
|
-
return { message: l10n.t(`Sorry, your request failed. Please try again. Request id: {0}\n\nReason: {1}`, fetchResult.requestId, fetchResult.reason) };
|
|
286
|
-
case ChatFetchResponseType.NetworkError:
|
|
287
|
-
return { message: l10n.t(`Sorry, there was a network error. Please try again later. Request id: {0}\n\nReason: {1}`, fetchResult.requestId, fetchResult.reason) };
|
|
288
|
-
case ChatFetchResponseType.Filtered:
|
|
289
|
-
case ChatFetchResponseType.PromptFiltered:
|
|
290
|
-
return {
|
|
291
|
-
message: getFilteredMessage(fetchResult.category),
|
|
292
|
-
responseIsFiltered: true,
|
|
293
|
-
level: ChatErrorLevel.Info,
|
|
294
|
-
};
|
|
295
|
-
case ChatFetchResponseType.AgentUnauthorized:
|
|
296
|
-
return { message: l10n.t(`Sorry, something went wrong.`) };
|
|
297
|
-
case ChatFetchResponseType.AgentFailedDependency:
|
|
298
|
-
return { message: fetchResult.reason };
|
|
299
|
-
case ChatFetchResponseType.Length:
|
|
300
|
-
return { message: l10n.t(`Sorry, the response hit the length limit. Please rephrase your prompt.`) };
|
|
301
|
-
case ChatFetchResponseType.NotFound:
|
|
302
|
-
return { message: l10n.t('Sorry, the resource was not found.') };
|
|
303
|
-
case ChatFetchResponseType.Unknown:
|
|
304
|
-
return { message: l10n.t(`Sorry, no response was returned.`) };
|
|
305
|
-
case ChatFetchResponseType.ExtensionBlocked:
|
|
306
|
-
return { message: l10n.t(`Sorry, something went wrong.`) };
|
|
307
|
-
case ChatFetchResponseType.InvalidStatefulMarker:
|
|
308
|
-
// should be unreachable, retried within the endpoint
|
|
309
|
-
return { message: l10n.t(`Your chat session state is invalid, please start a new chat.`) };
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
export function getFilteredMessage(category: FilterReason, supportsMarkdown: boolean = true): string {
|
|
314
|
-
switch (category) {
|
|
315
|
-
case FilterReason.Copyright:
|
|
316
|
-
if (supportsMarkdown) {
|
|
317
|
-
return l10n.t({
|
|
318
|
-
message:
|
|
319
|
-
`Sorry, the response matched public code so it was blocked. Please rephrase your prompt. [Learn more](https://aka.ms/copilot-chat-filtered-docs).`,
|
|
320
|
-
comment: ["{Locked='](https://aka.ms/copilot-chat-filtered-docs)'}"]
|
|
321
|
-
});
|
|
322
|
-
} else {
|
|
323
|
-
return l10n.t(`Sorry, the response matched public code so it was blocked. Please rephrase your prompt.`);
|
|
324
|
-
}
|
|
325
|
-
case FilterReason.Prompt:
|
|
326
|
-
if (supportsMarkdown) {
|
|
327
|
-
return l10n.t({
|
|
328
|
-
message:
|
|
329
|
-
`Sorry, your prompt was filtered by the Responsible AI Service. Please rephrase your prompt and try again. [Learn more](https://aka.ms/copilot-chat-filtered-docs).`,
|
|
330
|
-
comment: ["{Locked='](https://aka.ms/copilot-chat-filtered-docs)'}"]
|
|
331
|
-
});
|
|
332
|
-
} else {
|
|
333
|
-
return l10n.t(`Sorry, your prompt was filtered by the Responsible AI Service. Please rephrase your prompt and try again.`);
|
|
334
|
-
}
|
|
335
|
-
default:
|
|
336
|
-
if (supportsMarkdown) {
|
|
337
|
-
return l10n.t({
|
|
338
|
-
message:
|
|
339
|
-
`Sorry, the response was filtered by the Responsible AI Service. Please rephrase your prompt and try again. [Learn more](https://aka.ms/copilot-chat-filtered-docs).`,
|
|
340
|
-
comment: ["{Locked='](https://aka.ms/copilot-chat-filtered-docs)'}"]
|
|
341
|
-
});
|
|
342
|
-
} else {
|
|
343
|
-
return l10n.t(`Sorry, the response was filtered by the Responsible AI Service. Please rephrase your prompt and try again.`);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
/**
|
|
349
|
-
* Not localized because it's used in the same way that the CancellationError name is used.
|
|
350
|
-
*/
|
|
351
|
-
export const CanceledMessage = { message: 'Canceled' };
|
|
352
|
-
|
|
353
|
-
export const CanceledResult: ChatResult = { errorDetails: CanceledMessage, };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
|
|
6
|
-
import { createServiceIdentifier } from '../../../util/common/services';
|
|
7
|
-
|
|
8
|
-
export const IConversationOptions = createServiceIdentifier<IConversationOptions>('ConversationOptions');
|
|
9
|
-
|
|
10
|
-
export interface IConversationOptions {
|
|
11
|
-
readonly _serviceBrand: undefined;
|
|
12
|
-
maxResponseTokens: number | undefined;
|
|
13
|
-
temperature: number;
|
|
14
|
-
topP: number;
|
|
15
|
-
rejectionMessage: string;
|
|
16
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
|
|
6
|
-
import { OpenAI, Raw } from '@vscode/prompt-tsx';
|
|
7
|
-
import { assertNever } from '../../../util/vs/base/common/assert';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Gets the text content part out of the message.
|
|
11
|
-
* In the event it is an `ChatCompletionContentPart`, it will extract out the `ChatCompletionContentPartText`.
|
|
12
|
-
**/
|
|
13
|
-
export function getTextPart(message: string | Raw.ChatCompletionContentPart[] | Raw.ChatCompletionContentPart | OpenAI.ChatCompletionContentPart[] | OpenAI.ChatCompletionContentPart): string {
|
|
14
|
-
if (!message) {
|
|
15
|
-
return '';
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (typeof message === 'string') {
|
|
19
|
-
return message;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
if (!Array.isArray(message)) {
|
|
23
|
-
return message.type === Raw.ChatCompletionContentPartKind.Text ? message.text : '';
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return message.map(c => (c.type === Raw.ChatCompletionContentPartKind.Text || c.type === 'text') ? c.text : '').join('');
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export function toTextPart(message: string): Raw.ChatCompletionContentPartText {
|
|
31
|
-
return {
|
|
32
|
-
type: Raw.ChatCompletionContentPartKind.Text,
|
|
33
|
-
text: message
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export function toTextParts(message: string): Raw.ChatCompletionContentPartText[] {
|
|
38
|
-
return [toTextPart(message)];
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export function roleToString(role: Raw.ChatRole): 'system' | 'user' | 'assistant' | 'tool' {
|
|
42
|
-
switch (role) {
|
|
43
|
-
case Raw.ChatRole.System:
|
|
44
|
-
return 'system';
|
|
45
|
-
case Raw.ChatRole.User:
|
|
46
|
-
return 'user';
|
|
47
|
-
case Raw.ChatRole.Assistant:
|
|
48
|
-
return 'assistant';
|
|
49
|
-
case Raw.ChatRole.Tool:
|
|
50
|
-
return 'tool';
|
|
51
|
-
default:
|
|
52
|
-
assertNever(role, `unknown role (${role})`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
|
|
6
|
-
import { createServiceIdentifier } from '../../../util/common/services';
|
|
7
|
-
import { generateUuid } from '../../../util/vs/base/common/uuid';
|
|
8
|
-
|
|
9
|
-
export const IInteractionService = createServiceIdentifier<IInteractionService>('IInteractionService');
|
|
10
|
-
|
|
11
|
-
export interface IInteractionService {
|
|
12
|
-
readonly _serviceBrand: undefined;
|
|
13
|
-
|
|
14
|
-
readonly interactionId: string;
|
|
15
|
-
|
|
16
|
-
startInteraction(): void;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Simple service that tracks an interaction with a chat service
|
|
21
|
-
* This is used for grouping requests to a logical interaction with the UI
|
|
22
|
-
* It is just used for telemetry collection so is not 100% accurate, especially in the case of parallel interactions
|
|
23
|
-
*/
|
|
24
|
-
export class InteractionService implements IInteractionService {
|
|
25
|
-
_serviceBrand: undefined;
|
|
26
|
-
private _interactionId: string = generateUuid();
|
|
27
|
-
|
|
28
|
-
startInteraction(): void {
|
|
29
|
-
this._interactionId = generateUuid();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
public get interactionId(): string {
|
|
33
|
-
return this._interactionId;
|
|
34
|
-
}
|
|
35
|
-
}
|