@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,44 +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
|
-
import { BasePromptElementProps, PromptElement, Raw } from '@vscode/prompt-tsx';
|
|
6
|
-
import { ThinkingData } from '../../thinking/common/thinking';
|
|
7
|
-
import { CustomDataPartMimeTypes } from './endpointTypes';
|
|
8
|
-
|
|
9
|
-
interface IThinkingDataOpaque {
|
|
10
|
-
type: typeof CustomDataPartMimeTypes.ThinkingData;
|
|
11
|
-
thinking: ThinkingData;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface IThinkingDataContainerProps extends BasePromptElementProps {
|
|
15
|
-
thinking: ThinkingData;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Helper element to embed thinking data into assistant messages
|
|
20
|
-
* as an opaque content part.
|
|
21
|
-
*/
|
|
22
|
-
export class ThinkingDataContainer extends PromptElement<IThinkingDataContainerProps> {
|
|
23
|
-
render() {
|
|
24
|
-
const { thinking } = this.props;
|
|
25
|
-
const container: IThinkingDataOpaque = { type: CustomDataPartMimeTypes.ThinkingData, thinking };
|
|
26
|
-
return <opaque value={container} tokenUsage={thinking.tokens} />;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Attempts to parse a Raw opaque content part into ThinkingData, if the type matches.
|
|
32
|
-
*/
|
|
33
|
-
export function rawPartAsThinkingData(part: Raw.ChatCompletionContentPartOpaque): ThinkingData | undefined {
|
|
34
|
-
const value = part.value as unknown;
|
|
35
|
-
if (!value || typeof value !== 'object') {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const data = value as IThinkingDataOpaque;
|
|
40
|
-
if (data.type === CustomDataPartMimeTypes.ThinkingData && data.thinking && typeof data.thinking === 'object') {
|
|
41
|
-
return data.thinking;
|
|
42
|
-
}
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
@@ -1,18 +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 { IEnvService } from '../../env/common/envService';
|
|
7
|
-
import { IFetcherService } from '../../networking/common/fetcherService';
|
|
8
|
-
import { BaseCAPIClientService } from '../common/capiClient';
|
|
9
|
-
|
|
10
|
-
export class CAPIClientImpl extends BaseCAPIClientService {
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
@IFetcherService fetcherService: IFetcherService,
|
|
14
|
-
@IEnvService envService: IEnvService
|
|
15
|
-
) {
|
|
16
|
-
super(process.env.HMAC_SECRET, fetcherService, envService);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,435 +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
|
-
import { RequestMetadata, RequestType } from '@vscode/copilot-api';
|
|
6
|
-
import { OpenAI, Raw } from '@vscode/prompt-tsx';
|
|
7
|
-
import type { CancellationToken } from 'vscode';
|
|
8
|
-
import { createRequestHMAC } from '../../../util/common/crypto';
|
|
9
|
-
import { ITokenizer, TokenizerType } from '../../../util/common/tokenizer';
|
|
10
|
-
import { AsyncIterableObject } from '../../../util/vs/base/common/async';
|
|
11
|
-
import { deepClone, mixin } from '../../../util/vs/base/common/objects';
|
|
12
|
-
import { generateUuid } from '../../../util/vs/base/common/uuid';
|
|
13
|
-
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
|
|
14
|
-
import { IAuthenticationService } from '../../authentication/common/authentication';
|
|
15
|
-
import { IChatMLFetcher, Source } from '../../chat/common/chatMLFetcher';
|
|
16
|
-
import { ChatLocation, ChatResponse } from '../../chat/common/commonTypes';
|
|
17
|
-
import { getTextPart } from '../../chat/common/globalStringUtils';
|
|
18
|
-
import { CHAT_MODEL, ConfigKey, IConfigurationService } from '../../configuration/common/configurationService';
|
|
19
|
-
import { IEnvService } from '../../env/common/envService';
|
|
20
|
-
import { ILogService } from '../../log/common/logService';
|
|
21
|
-
import { FinishedCallback, ICopilotToolCall, OptionalChatRequestParams } from '../../networking/common/fetch';
|
|
22
|
-
import { IFetcherService, Response } from '../../networking/common/fetcherService';
|
|
23
|
-
import { createCapiRequestBody, IChatEndpoint, ICreateEndpointBodyOptions, IEndpointBody, IMakeChatRequestOptions, postRequest } from '../../networking/common/networking';
|
|
24
|
-
import { CAPIChatMessage, ChatCompletion, FinishedCompletionReason, RawMessageConversionCallback } from '../../networking/common/openai';
|
|
25
|
-
import { prepareChatCompletionForReturn } from '../../networking/node/chatStream';
|
|
26
|
-
import { SSEProcessor } from '../../networking/node/stream';
|
|
27
|
-
import { IExperimentationService } from '../../telemetry/common/nullExperimentationService';
|
|
28
|
-
import { ITelemetryService, TelemetryProperties } from '../../telemetry/common/telemetry';
|
|
29
|
-
import { TelemetryData } from '../../telemetry/common/telemetryData';
|
|
30
|
-
import { ITokenizerProvider } from '../../tokenizer/node/tokenizer';
|
|
31
|
-
import { ICAPIClientService } from '../common/capiClient';
|
|
32
|
-
import { IDomainService } from '../common/domainService';
|
|
33
|
-
import { IChatModelInformation, ModelPolicy, ModelSupportedEndpoint } from '../common/endpointProvider';
|
|
34
|
-
import { createResponsesRequestBody, processResponseFromChatEndpoint } from './responsesApi';
|
|
35
|
-
|
|
36
|
-
// get ChatMaxNumTokens from config for experimentation
|
|
37
|
-
export function getMaxPromptTokens(configService: IConfigurationService, expService: IExperimentationService, chatModelInfo: IChatModelInformation): number {
|
|
38
|
-
// check debug override ChatMaxTokenNum
|
|
39
|
-
const chatMaxTokenNumOverride = configService.getConfig(ConfigKey.Internal.DebugOverrideChatMaxTokenNum); // can only be set by internal users
|
|
40
|
-
// Base 3 tokens for each OpenAI completion
|
|
41
|
-
let modelLimit = -3;
|
|
42
|
-
// if option is set, takes precedence over any other logic
|
|
43
|
-
if (chatMaxTokenNumOverride > 0) {
|
|
44
|
-
modelLimit += chatMaxTokenNumOverride;
|
|
45
|
-
return modelLimit;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
let experimentalOverrides: Record<string, number> = {};
|
|
49
|
-
try {
|
|
50
|
-
const expValue = expService.getTreatmentVariable<string>('copilotchat.contextWindows');
|
|
51
|
-
experimentalOverrides = JSON.parse(expValue ?? '{}');
|
|
52
|
-
} catch {
|
|
53
|
-
// If the experiment service either is not available or returns a bad value we ignore the overrides
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// If there's an experiment that takes precedence over what comes back from CAPI
|
|
57
|
-
if (experimentalOverrides[chatModelInfo.id]) {
|
|
58
|
-
modelLimit += experimentalOverrides[chatModelInfo.id];
|
|
59
|
-
return modelLimit;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Check if CAPI has promot token limits and return those
|
|
63
|
-
if (chatModelInfo.capabilities?.limits?.max_prompt_tokens) {
|
|
64
|
-
modelLimit += chatModelInfo.capabilities.limits.max_prompt_tokens;
|
|
65
|
-
return modelLimit;
|
|
66
|
-
} else if (chatModelInfo.capabilities.limits?.max_context_window_tokens) {
|
|
67
|
-
// Otherwise return the context window as the prompt tokens for cases where CAPI doesn't configure the prompt tokens
|
|
68
|
-
modelLimit += chatModelInfo.capabilities.limits.max_context_window_tokens;
|
|
69
|
-
return modelLimit;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return modelLimit;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* The default processor for the stream format from CAPI
|
|
77
|
-
*/
|
|
78
|
-
export async function defaultChatResponseProcessor(
|
|
79
|
-
telemetryService: ITelemetryService,
|
|
80
|
-
logService: ILogService,
|
|
81
|
-
response: Response,
|
|
82
|
-
expectedNumChoices: number,
|
|
83
|
-
finishCallback: FinishedCallback,
|
|
84
|
-
telemetryData: TelemetryData,
|
|
85
|
-
cancellationToken?: CancellationToken | undefined
|
|
86
|
-
) {
|
|
87
|
-
const processor = await SSEProcessor.create(logService, telemetryService, expectedNumChoices, response, cancellationToken);
|
|
88
|
-
const finishedCompletions = processor.processSSE(finishCallback);
|
|
89
|
-
const chatCompletions = AsyncIterableObject.map(finishedCompletions, (solution) => {
|
|
90
|
-
const loggedReason = solution.reason ?? 'client-trimmed';
|
|
91
|
-
const dataToSendToTelemetry = telemetryData.extendedBy({
|
|
92
|
-
completionChoiceFinishReason: loggedReason,
|
|
93
|
-
headerRequestId: solution.requestId.headerRequestId
|
|
94
|
-
});
|
|
95
|
-
telemetryService.sendGHTelemetryEvent('completion.finishReason', dataToSendToTelemetry.properties, dataToSendToTelemetry.measurements);
|
|
96
|
-
return prepareChatCompletionForReturn(telemetryService, logService, solution, telemetryData);
|
|
97
|
-
});
|
|
98
|
-
return chatCompletions;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export async function defaultNonStreamChatResponseProcessor(response: Response, finishCallback: FinishedCallback, telemetryData: TelemetryData) {
|
|
102
|
-
const textResponse = await response.text();
|
|
103
|
-
const jsonResponse = JSON.parse(textResponse);
|
|
104
|
-
const completions: ChatCompletion[] = [];
|
|
105
|
-
for (let i = 0; i < (jsonResponse?.choices?.length || 0); i++) {
|
|
106
|
-
const choice = jsonResponse.choices[i];
|
|
107
|
-
const message: Raw.AssistantChatMessage = choice.message;
|
|
108
|
-
const messageText = getTextPart(message.content);
|
|
109
|
-
const requestId = response.headers.get('X-Request-ID') ?? generateUuid();
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const completion: ChatCompletion = {
|
|
113
|
-
blockFinished: false,
|
|
114
|
-
choiceIndex: i,
|
|
115
|
-
filterReason: undefined,
|
|
116
|
-
finishReason: choice.finish_reason as FinishedCompletionReason,
|
|
117
|
-
message: message,
|
|
118
|
-
usage: jsonResponse.usage,
|
|
119
|
-
tokens: [], // This is used for repetition detection so not super important to be accurate
|
|
120
|
-
requestId: { headerRequestId: requestId, completionId: jsonResponse.id, created: jsonResponse.created, deploymentId: '', serverExperiments: '' },
|
|
121
|
-
telemetryData: telemetryData
|
|
122
|
-
};
|
|
123
|
-
const functionCall: ICopilotToolCall[] = [];
|
|
124
|
-
for (const tool of message.toolCalls ?? []) {
|
|
125
|
-
functionCall.push({
|
|
126
|
-
name: tool.function?.name ?? '',
|
|
127
|
-
arguments: tool.function?.arguments ?? '',
|
|
128
|
-
id: tool.id ?? '',
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
await finishCallback(messageText, i, {
|
|
132
|
-
text: messageText,
|
|
133
|
-
copilotToolCalls: functionCall,
|
|
134
|
-
});
|
|
135
|
-
completions.push(completion);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return AsyncIterableObject.fromArray(completions);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
export class ChatEndpoint implements IChatEndpoint {
|
|
142
|
-
private readonly _urlOrRequestMetadata: string | RequestMetadata;
|
|
143
|
-
private readonly _maxTokens: number;
|
|
144
|
-
private readonly _maxOutputTokens: number;
|
|
145
|
-
public readonly model: string;
|
|
146
|
-
public readonly name: string;
|
|
147
|
-
public readonly version: string;
|
|
148
|
-
public readonly family: string;
|
|
149
|
-
public readonly tokenizer: TokenizerType;
|
|
150
|
-
public readonly showInModelPicker: boolean;
|
|
151
|
-
public readonly isDefault: boolean;
|
|
152
|
-
public readonly isFallback: boolean;
|
|
153
|
-
public readonly supportsToolCalls: boolean;
|
|
154
|
-
public readonly supportsVision: boolean;
|
|
155
|
-
public readonly supportsPrediction: boolean;
|
|
156
|
-
public readonly isPremium?: boolean | undefined;
|
|
157
|
-
public readonly multiplier?: number | undefined;
|
|
158
|
-
public readonly restrictedToSkus?: string[] | undefined;
|
|
159
|
-
|
|
160
|
-
private readonly _supportsStreaming: boolean;
|
|
161
|
-
private _policyDetails: ModelPolicy | undefined;
|
|
162
|
-
|
|
163
|
-
constructor(
|
|
164
|
-
private readonly _modelMetadata: IChatModelInformation,
|
|
165
|
-
@IDomainService protected readonly _domainService: IDomainService,
|
|
166
|
-
@ICAPIClientService private readonly _capiClientService: ICAPIClientService,
|
|
167
|
-
@IFetcherService private readonly _fetcherService: IFetcherService,
|
|
168
|
-
@IEnvService private readonly _envService: IEnvService,
|
|
169
|
-
@ITelemetryService private readonly _telemetryService: ITelemetryService,
|
|
170
|
-
@IAuthenticationService private readonly _authService: IAuthenticationService,
|
|
171
|
-
@IChatMLFetcher private readonly _chatMLFetcher: IChatMLFetcher,
|
|
172
|
-
@ITokenizerProvider private readonly _tokenizerProvider: ITokenizerProvider,
|
|
173
|
-
@IInstantiationService protected readonly _instantiationService: IInstantiationService,
|
|
174
|
-
@IConfigurationService protected readonly _configurationService: IConfigurationService,
|
|
175
|
-
@IExperimentationService private readonly _expService: IExperimentationService,
|
|
176
|
-
@ILogService _logService: ILogService,
|
|
177
|
-
) {
|
|
178
|
-
this._urlOrRequestMetadata = _modelMetadata.urlOrRequestMetadata ?? (this.useResponsesApi ? { type: RequestType.ChatResponses } : { type: RequestType.ChatCompletions });
|
|
179
|
-
// This metadata should always be present, but if not we will default to 8192 tokens
|
|
180
|
-
this._maxTokens = _modelMetadata.capabilities.limits?.max_prompt_tokens ?? 8192;
|
|
181
|
-
// This metadata should always be present, but if not we will default to 4096 tokens
|
|
182
|
-
this._maxOutputTokens = _modelMetadata.capabilities.limits?.max_output_tokens ?? 4096;
|
|
183
|
-
this.model = _modelMetadata.id;
|
|
184
|
-
this.name = _modelMetadata.name;
|
|
185
|
-
this.version = _modelMetadata.version;
|
|
186
|
-
this.family = _modelMetadata.capabilities.family;
|
|
187
|
-
this.tokenizer = _modelMetadata.capabilities.tokenizer;
|
|
188
|
-
this.showInModelPicker = _modelMetadata.model_picker_enabled;
|
|
189
|
-
this.isPremium = _modelMetadata.billing?.is_premium;
|
|
190
|
-
this.multiplier = _modelMetadata.billing?.multiplier;
|
|
191
|
-
this.restrictedToSkus = _modelMetadata.billing?.restricted_to;
|
|
192
|
-
this.isDefault = _modelMetadata.is_chat_default;
|
|
193
|
-
this.isFallback = _modelMetadata.is_chat_fallback;
|
|
194
|
-
this.supportsToolCalls = !!_modelMetadata.capabilities.supports.tool_calls;
|
|
195
|
-
this.supportsVision = !!_modelMetadata.capabilities.supports.vision;
|
|
196
|
-
this.supportsPrediction = !!_modelMetadata.capabilities.supports.prediction;
|
|
197
|
-
this._supportsStreaming = !!_modelMetadata.capabilities.supports.streaming;
|
|
198
|
-
this._policyDetails = _modelMetadata.policy;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
public get modelMaxPromptTokens(): number {
|
|
202
|
-
return this._maxTokens;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
public get maxOutputTokens(): number {
|
|
206
|
-
return this._maxOutputTokens;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
public get urlOrRequestMetadata(): string | RequestMetadata {
|
|
210
|
-
return this._urlOrRequestMetadata;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
protected get useResponsesApi(): boolean {
|
|
214
|
-
const enableResponsesApi = this._configurationService.getExperimentBasedConfig(ConfigKey.Internal.UseResponsesApi, this._expService);
|
|
215
|
-
return !!(enableResponsesApi && this._modelMetadata.supported_endpoints?.includes(ModelSupportedEndpoint.Responses));
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
public get policy(): 'enabled' | { terms: string } {
|
|
219
|
-
if (!this._policyDetails) {
|
|
220
|
-
return 'enabled';
|
|
221
|
-
}
|
|
222
|
-
if (this._policyDetails.state === 'enabled') {
|
|
223
|
-
return 'enabled';
|
|
224
|
-
}
|
|
225
|
-
return { terms: this._policyDetails.terms ?? 'Unknown policy terms' };
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
public get apiType(): string {
|
|
229
|
-
return this.useResponsesApi ? 'responses' : 'chatCompletions';
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
interceptBody(body: IEndpointBody | undefined): void {
|
|
233
|
-
// Remove tool calls from requests that don't support them
|
|
234
|
-
// We really shouldn't make requests to models that don't support tool calls with tools though
|
|
235
|
-
if (body && !this.supportsToolCalls) {
|
|
236
|
-
delete body['tools'];
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
// If the model doesn't support streaming, don't ask for a streamed request
|
|
240
|
-
if (body && !this._supportsStreaming) {
|
|
241
|
-
body.stream = false;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
// If it's o1 we must modify the body significantly as the request is very different
|
|
245
|
-
if (body?.messages && (this.family.startsWith('o1') || this.model === CHAT_MODEL.O1 || this.model === CHAT_MODEL.O1MINI)) {
|
|
246
|
-
const newMessages: CAPIChatMessage[] = body.messages.map((message: CAPIChatMessage): CAPIChatMessage => {
|
|
247
|
-
if (message.role === OpenAI.ChatRole.System) {
|
|
248
|
-
return {
|
|
249
|
-
role: OpenAI.ChatRole.User,
|
|
250
|
-
content: message.content,
|
|
251
|
-
};
|
|
252
|
-
} else {
|
|
253
|
-
return message;
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
// Add the messages & model back
|
|
257
|
-
body['messages'] = newMessages;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
createRequestBody(options: ICreateEndpointBodyOptions): IEndpointBody {
|
|
262
|
-
if (this.useResponsesApi) {
|
|
263
|
-
const body = this._instantiationService.invokeFunction(createResponsesRequestBody, options, this.model, this._modelMetadata);
|
|
264
|
-
return this.customizeResponsesBody(body);
|
|
265
|
-
} else {
|
|
266
|
-
const body = createCapiRequestBody(options, this.model, this.getCompletionsCallback());
|
|
267
|
-
return this.customizeCapiBody(body);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
protected getCompletionsCallback(): RawMessageConversionCallback | undefined {
|
|
272
|
-
return undefined;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
protected customizeResponsesBody(body: IEndpointBody): IEndpointBody {
|
|
276
|
-
return body;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
protected customizeCapiBody(body: IEndpointBody): IEndpointBody {
|
|
280
|
-
return body;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
public async processResponseFromChatEndpoint(
|
|
284
|
-
telemetryService: ITelemetryService,
|
|
285
|
-
logService: ILogService,
|
|
286
|
-
response: Response,
|
|
287
|
-
expectedNumChoices: number,
|
|
288
|
-
finishCallback: FinishedCallback,
|
|
289
|
-
telemetryData: TelemetryData,
|
|
290
|
-
cancellationToken?: CancellationToken | undefined
|
|
291
|
-
): Promise<AsyncIterableObject<ChatCompletion>> {
|
|
292
|
-
if (this.useResponsesApi) {
|
|
293
|
-
return processResponseFromChatEndpoint(this._instantiationService, telemetryService, logService, response, expectedNumChoices, finishCallback, telemetryData);
|
|
294
|
-
} else if (!this._supportsStreaming) {
|
|
295
|
-
return defaultNonStreamChatResponseProcessor(response, finishCallback, telemetryData);
|
|
296
|
-
} else {
|
|
297
|
-
return defaultChatResponseProcessor(telemetryService, logService, response, expectedNumChoices, finishCallback, telemetryData, cancellationToken);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
public async acceptChatPolicy(): Promise<boolean> {
|
|
302
|
-
if (this.policy === 'enabled') {
|
|
303
|
-
return true;
|
|
304
|
-
}
|
|
305
|
-
try {
|
|
306
|
-
const response = await postRequest(
|
|
307
|
-
this._fetcherService,
|
|
308
|
-
this._envService,
|
|
309
|
-
this._telemetryService,
|
|
310
|
-
this._domainService,
|
|
311
|
-
this._capiClientService,
|
|
312
|
-
{ type: RequestType.ModelPolicy, modelId: this.model },
|
|
313
|
-
(await this._authService.getCopilotToken()).token,
|
|
314
|
-
await createRequestHMAC(process.env.HMAC_SECRET),
|
|
315
|
-
'chat-policy',
|
|
316
|
-
generateUuid(),
|
|
317
|
-
{
|
|
318
|
-
state: 'enabled'
|
|
319
|
-
},
|
|
320
|
-
);
|
|
321
|
-
// Mark it enabled locally. It will be refreshed on the next fetch
|
|
322
|
-
if (response.ok && this._policyDetails) {
|
|
323
|
-
this._policyDetails.state = 'enabled';
|
|
324
|
-
}
|
|
325
|
-
return response.ok;
|
|
326
|
-
} catch {
|
|
327
|
-
return false;
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
public acquireTokenizer(): ITokenizer {
|
|
332
|
-
return this._tokenizerProvider.acquireTokenizer(this);
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
public async makeChatRequest2(options: IMakeChatRequestOptions, token: CancellationToken): Promise<ChatResponse> {
|
|
336
|
-
return this._makeChatRequest2({ ...options, ignoreStatefulMarker: options.ignoreStatefulMarker ?? true }, token);
|
|
337
|
-
|
|
338
|
-
// Stateful responses API not supported for now
|
|
339
|
-
// const response = await this._makeChatRequest2(options, token);
|
|
340
|
-
// if (response.type === ChatFetchResponseType.InvalidStatefulMarker) {
|
|
341
|
-
// return this._makeChatRequest2({ ...options, ignoreStatefulMarker: true }, token);
|
|
342
|
-
// }
|
|
343
|
-
// return response;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
public async _makeChatRequest2(options: IMakeChatRequestOptions, token: CancellationToken) {
|
|
347
|
-
return this._chatMLFetcher.fetchOne({
|
|
348
|
-
requestOptions: {},
|
|
349
|
-
...options,
|
|
350
|
-
endpoint: this,
|
|
351
|
-
}, token);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
public async makeChatRequest(
|
|
355
|
-
debugName: string,
|
|
356
|
-
messages: Raw.ChatMessage[],
|
|
357
|
-
finishedCb: FinishedCallback | undefined,
|
|
358
|
-
token: CancellationToken,
|
|
359
|
-
location: ChatLocation,
|
|
360
|
-
source?: Source,
|
|
361
|
-
requestOptions?: Omit<OptionalChatRequestParams, 'n'>,
|
|
362
|
-
userInitiatedRequest?: boolean,
|
|
363
|
-
telemetryProperties?: TelemetryProperties,
|
|
364
|
-
): Promise<ChatResponse> {
|
|
365
|
-
return this.makeChatRequest2({
|
|
366
|
-
debugName,
|
|
367
|
-
messages,
|
|
368
|
-
finishedCb,
|
|
369
|
-
location,
|
|
370
|
-
source,
|
|
371
|
-
requestOptions,
|
|
372
|
-
userInitiatedRequest,
|
|
373
|
-
telemetryProperties,
|
|
374
|
-
}, token);
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
public cloneWithTokenOverride(modelMaxPromptTokens: number): IChatEndpoint {
|
|
378
|
-
return this._instantiationService.createInstance(
|
|
379
|
-
ChatEndpoint,
|
|
380
|
-
mixin(deepClone(this._modelMetadata), { capabilities: { limits: { max_prompt_tokens: modelMaxPromptTokens } } }));
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
export class RemoteAgentChatEndpoint extends ChatEndpoint {
|
|
385
|
-
constructor(
|
|
386
|
-
modelMetadata: IChatModelInformation,
|
|
387
|
-
private readonly _requestMetadata: RequestMetadata,
|
|
388
|
-
@IDomainService domainService: IDomainService,
|
|
389
|
-
@ICAPIClientService capiClientService: ICAPIClientService,
|
|
390
|
-
@IFetcherService fetcherService: IFetcherService,
|
|
391
|
-
@IEnvService envService: IEnvService,
|
|
392
|
-
@ITelemetryService telemetryService: ITelemetryService,
|
|
393
|
-
@IAuthenticationService authService: IAuthenticationService,
|
|
394
|
-
@IChatMLFetcher chatMLFetcher: IChatMLFetcher,
|
|
395
|
-
@ITokenizerProvider tokenizerProvider: ITokenizerProvider,
|
|
396
|
-
@IInstantiationService instantiationService: IInstantiationService,
|
|
397
|
-
@IConfigurationService configService: IConfigurationService,
|
|
398
|
-
@IExperimentationService experimentService: IExperimentationService,
|
|
399
|
-
@ILogService logService: ILogService
|
|
400
|
-
) {
|
|
401
|
-
super(
|
|
402
|
-
modelMetadata,
|
|
403
|
-
domainService,
|
|
404
|
-
capiClientService,
|
|
405
|
-
fetcherService,
|
|
406
|
-
envService,
|
|
407
|
-
telemetryService,
|
|
408
|
-
authService,
|
|
409
|
-
chatMLFetcher,
|
|
410
|
-
tokenizerProvider,
|
|
411
|
-
instantiationService,
|
|
412
|
-
configService,
|
|
413
|
-
experimentService,
|
|
414
|
-
logService
|
|
415
|
-
);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
override processResponseFromChatEndpoint(
|
|
419
|
-
telemetryService: ITelemetryService,
|
|
420
|
-
logService: ILogService,
|
|
421
|
-
response: Response,
|
|
422
|
-
expectedNumChoices: number,
|
|
423
|
-
finishCallback: FinishedCallback,
|
|
424
|
-
telemetryData: TelemetryData,
|
|
425
|
-
cancellationToken?: CancellationToken | undefined
|
|
426
|
-
): Promise<AsyncIterableObject<ChatCompletion>> {
|
|
427
|
-
// We must override this to a num choices > 1 because remote agents can do internal function calls which emit multiple completions even when N > 1
|
|
428
|
-
// It's awful that they do this, but we have to support it
|
|
429
|
-
return defaultChatResponseProcessor(telemetryService, logService, response, 2, finishCallback, telemetryData, cancellationToken);
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
public override get urlOrRequestMetadata() {
|
|
433
|
-
return this._requestMetadata;
|
|
434
|
-
}
|
|
435
|
-
}
|
|
@@ -1,80 +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 type { ConfigurationChangeEvent } from 'vscode';
|
|
7
|
-
import { Emitter, Event } from '../../../util/vs/base/common/event';
|
|
8
|
-
import { Disposable } from '../../../util/vs/base/common/lifecycle';
|
|
9
|
-
import { CopilotToken } from '../../authentication/common/copilotToken';
|
|
10
|
-
import { ICopilotTokenStore } from '../../authentication/common/copilotTokenStore';
|
|
11
|
-
import { AuthProviderId, ConfigKey, CopilotConfigPrefix, IConfigurationService } from '../../configuration/common/configurationService';
|
|
12
|
-
import { ICAPIClientService } from '../common/capiClient';
|
|
13
|
-
import { IDomainChangeEvent, IDomainService } from '../common/domainService';
|
|
14
|
-
|
|
15
|
-
const EnterpriseURLConfig = 'github-enterprise.uri';
|
|
16
|
-
|
|
17
|
-
export class DomainService extends Disposable implements IDomainService {
|
|
18
|
-
declare readonly _serviceBrand: undefined;
|
|
19
|
-
|
|
20
|
-
private readonly _onDidChangeDomains = this._register(new Emitter<IDomainChangeEvent>());
|
|
21
|
-
onDidChangeDomains: Event<IDomainChangeEvent> = this._onDidChangeDomains.event;
|
|
22
|
-
|
|
23
|
-
constructor(
|
|
24
|
-
@IConfigurationService private readonly _configurationService: IConfigurationService,
|
|
25
|
-
@ICopilotTokenStore private readonly _tokenStore: ICopilotTokenStore,
|
|
26
|
-
@ICAPIClientService private readonly _capiClientService: ICAPIClientService
|
|
27
|
-
) {
|
|
28
|
-
super();
|
|
29
|
-
this._register(this._configurationService.onDidChangeConfiguration(e => this._onDidConfigChangeHandler(e)));
|
|
30
|
-
this._processCopilotToken(this._tokenStore.copilotToken);
|
|
31
|
-
this._register(this._tokenStore.onDidStoreUpdate(() => this._processCopilotToken(this._tokenStore.copilotToken)));
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
private _onDidConfigChangeHandler(event: ConfigurationChangeEvent) {
|
|
36
|
-
// Updated configs that have to do with GHE Domains
|
|
37
|
-
if (
|
|
38
|
-
event.affectsConfiguration(`${CopilotConfigPrefix}.advanced`) ||
|
|
39
|
-
event.affectsConfiguration(EnterpriseURLConfig)
|
|
40
|
-
) {
|
|
41
|
-
this._processCAPIModuleChange(this._tokenStore.copilotToken);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
private _processCAPIModuleChange(token: CopilotToken | undefined): void {
|
|
46
|
-
let capiConfigUrl = this._configurationService.getConfig(ConfigKey.Shared.DebugOverrideCAPIUrl);
|
|
47
|
-
if (capiConfigUrl && capiConfigUrl.endsWith('/')) {
|
|
48
|
-
capiConfigUrl = capiConfigUrl.slice(0, -1);
|
|
49
|
-
}
|
|
50
|
-
let proxyConfigUrl = this._configurationService.getConfig(ConfigKey.Shared.DebugOverrideProxyUrl);
|
|
51
|
-
if (proxyConfigUrl) {
|
|
52
|
-
proxyConfigUrl = proxyConfigUrl.replace(/\/$/, '');
|
|
53
|
-
}
|
|
54
|
-
const enterpriseValue = this._configurationService.getConfig(ConfigKey.Shared.AuthProvider) === AuthProviderId.GitHubEnterprise ? this._configurationService.getNonExtensionConfig<string>(EnterpriseURLConfig) : undefined;
|
|
55
|
-
const moduleToken = {
|
|
56
|
-
endpoints: {
|
|
57
|
-
api: capiConfigUrl || token?.endpoints?.api,
|
|
58
|
-
proxy: proxyConfigUrl || token?.endpoints?.proxy,
|
|
59
|
-
telemetry: token?.endpoints?.telemetry,
|
|
60
|
-
'origin-tracker': token?.endpoints?.['origin-tracker']
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const domainsChanged = this._capiClientService.updateDomains(moduleToken, enterpriseValue);
|
|
64
|
-
if (domainsChanged.capiUrlChanged || domainsChanged.proxyUrlChanged || domainsChanged.telemetryUrlChanged || domainsChanged.dotcomUrlChanged) {
|
|
65
|
-
this._onDidChangeDomains.fire({
|
|
66
|
-
capiUrlChanged: domainsChanged.capiUrlChanged,
|
|
67
|
-
telemetryUrlChanged: domainsChanged.telemetryUrlChanged,
|
|
68
|
-
proxyUrlChanged: domainsChanged.proxyUrlChanged,
|
|
69
|
-
dotcomUrlChanged: domainsChanged.dotcomUrlChanged
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
private _processCopilotToken(token: CopilotToken | undefined): void {
|
|
77
|
-
this._processCAPIModuleChange(token);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
}
|
|
@@ -1,43 +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 { RequestType } from '@vscode/copilot-api';
|
|
7
|
-
import { TokenizerType } from '../../../util/common/tokenizer';
|
|
8
|
-
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
|
|
9
|
-
import { CHAT_MODEL } from '../../configuration/common/configurationService';
|
|
10
|
-
import { IChatModelInformation } from '../common/endpointProvider';
|
|
11
|
-
import { ChatEndpoint } from './chatEndpoint';
|
|
12
|
-
|
|
13
|
-
export function createProxyXtabEndpoint(
|
|
14
|
-
instaService: IInstantiationService,
|
|
15
|
-
overriddenModelName: string | undefined,
|
|
16
|
-
) {
|
|
17
|
-
const defaultInfo: IChatModelInformation = {
|
|
18
|
-
id: overriddenModelName ?? CHAT_MODEL.NES_XTAB,
|
|
19
|
-
urlOrRequestMetadata: { type: RequestType.ProxyChatCompletions },
|
|
20
|
-
name: 'xtab-proxy',
|
|
21
|
-
model_picker_enabled: false,
|
|
22
|
-
is_chat_default: false,
|
|
23
|
-
is_chat_fallback: false,
|
|
24
|
-
version: 'unknown',
|
|
25
|
-
capabilities: {
|
|
26
|
-
type: 'chat',
|
|
27
|
-
family: 'xtab-proxy',
|
|
28
|
-
tokenizer: TokenizerType.O200K,
|
|
29
|
-
limits: {
|
|
30
|
-
max_prompt_tokens: 12285,
|
|
31
|
-
max_output_tokens: 4096,
|
|
32
|
-
},
|
|
33
|
-
supports: {
|
|
34
|
-
streaming: true,
|
|
35
|
-
parallel_tool_calls: false,
|
|
36
|
-
tool_calls: false,
|
|
37
|
-
vision: false,
|
|
38
|
-
prediction: true,
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
return instaService.createInstance(ChatEndpoint, defaultInfo);
|
|
43
|
-
}
|