@codingame/monaco-vscode-katex-common 28.4.1 → 29.1.0
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/package.json +2 -2
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +158 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +22 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +16 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +121 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +29 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +349 -109
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +47 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +104 -62
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +13 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +21 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +29 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +261 -282
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +184 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +42 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +14 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +11 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +25 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +332 -114
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +10 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +66 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +28 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +272 -107
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingExternalResourcesWidget.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingExternalResourcesWidget.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +151 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +96 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +86 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +273 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +28 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +22 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +81 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +20 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +21 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +2 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +112 -163
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +137 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +108 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +385 -247
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +23 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +124 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +24 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +30 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +84 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +170 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.js +95 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +4 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +4 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +38 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +31 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +12 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +130 -23
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +41 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +55 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +50 -39
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +0 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +0 -440
|
@@ -108,6 +108,7 @@ import { IChatContextService } from '@codingame/monaco-vscode-api/vscode/vs/work
|
|
|
108
108
|
import { ChatQuestionCarouselPart } from '../chatContentParts/chatQuestionCarouselPart.js';
|
|
109
109
|
import { CollapsibleListPool } from '../chatContentParts/chatReferencesContentPart.js';
|
|
110
110
|
import { ChatTodoListWidget } from '../chatContentParts/chatTodoListWidget.js';
|
|
111
|
+
import { ChatArtifactsWidget } from '../chatArtifactsWidget.js';
|
|
111
112
|
import { ChatDragAndDrop } from '../chatDragAndDrop.js';
|
|
112
113
|
import { ChatFollowups } from './chatFollowups.js';
|
|
113
114
|
import { ChatInputPartWidgetController } from './chatInputPartWidgets.js';
|
|
@@ -328,6 +329,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
328
329
|
this._workingSetCollapsed = observableValue("chatInputPart.workingSetCollapsed", true);
|
|
329
330
|
this._stableInputPartWidth = observableValue("chatInputPart.stableInputPartWidth", 0);
|
|
330
331
|
this._chatInputTodoListWidget = this._register(( new MutableDisposable()));
|
|
332
|
+
this._chatArtifactsWidget = this._register(( new MutableDisposable()));
|
|
331
333
|
this._chatQuestionCarouselWidgets = this._register(( new DisposableMap()));
|
|
332
334
|
this._questionCarouselResponseIds = ( new Map());
|
|
333
335
|
this._questionCarouselSessionResources = ( new Map());
|
|
@@ -359,6 +361,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
359
361
|
this._widgetController = this._register(( new MutableDisposable()));
|
|
360
362
|
this._contextUsageDisposables = this._register(( new MutableDisposable()));
|
|
361
363
|
this.height = observableValue(this, 0);
|
|
364
|
+
this._forceVisibleScrollbarUntilAccept = false;
|
|
362
365
|
this._modelSyncDisposables = this._register(( new DisposableStore()));
|
|
363
366
|
this._isSyncingToOrFromInputModel = false;
|
|
364
367
|
this.chatSessionPickerWidgets = ( new Map());
|
|
@@ -393,7 +396,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
393
396
|
}));
|
|
394
397
|
this._register(this.chatSessionsService.onDidChangeSessionOptions(e => {
|
|
395
398
|
const sessionResource = this._widget?.viewModel?.model.sessionResource;
|
|
396
|
-
if (sessionResource && isEqual(sessionResource, e)) {
|
|
399
|
+
if (sessionResource && isEqual(sessionResource, e.sessionResource)) {
|
|
397
400
|
this.refreshChatSessionPickers();
|
|
398
401
|
}
|
|
399
402
|
}));
|
|
@@ -402,7 +405,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
402
405
|
if (sessionResource) {
|
|
403
406
|
const ctx = this.chatService.getChatSessionFromInternalUri(sessionResource);
|
|
404
407
|
const delegateSessionType = this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.();
|
|
405
|
-
if (ctx
|
|
408
|
+
if (ctx && (getChatSessionType(ctx.chatSessionResource) === chatSessionType) || delegateSessionType === chatSessionType) {
|
|
406
409
|
this.refreshChatSessionPickers();
|
|
407
410
|
}
|
|
408
411
|
}
|
|
@@ -412,6 +415,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
412
415
|
this.options.sessionTypePickerDelegate.onDidChangeActiveSessionProvider(async newSessionType => {
|
|
413
416
|
this.computeVisibleOptionGroups();
|
|
414
417
|
this.agentSessionTypeKey.set(newSessionType);
|
|
418
|
+
this.chatSessionSupportsDelegationKey.set(this.chatSessionsService.supportsDelegationForSessionType(newSessionType));
|
|
415
419
|
this.updateWidgetLockStateFromSessionType(newSessionType);
|
|
416
420
|
this.refreshChatSessionPickers();
|
|
417
421
|
})
|
|
@@ -441,10 +445,14 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
441
445
|
this.chatSessionHasOptions = ChatContextKeys.chatSessionHasModels.bindTo(contextKeyService);
|
|
442
446
|
this.chatSessionOptionsValid = ChatContextKeys.chatSessionOptionsValid.bindTo(contextKeyService);
|
|
443
447
|
this.agentSessionTypeKey = ChatContextKeys.agentSessionType.bindTo(contextKeyService);
|
|
448
|
+
this.chatSessionSupportsDelegationKey = ChatContextKeys.chatSessionSupportsDelegation.bindTo(contextKeyService);
|
|
444
449
|
if (this.options.sessionTypePickerDelegate?.getActiveSessionProvider) {
|
|
445
450
|
const initialSessionType = this.options.sessionTypePickerDelegate.getActiveSessionProvider();
|
|
446
451
|
if (initialSessionType) {
|
|
447
452
|
this.agentSessionTypeKey.set(initialSessionType);
|
|
453
|
+
this.chatSessionSupportsDelegationKey.set(
|
|
454
|
+
this.chatSessionsService.supportsDelegationForSessionType(initialSessionType)
|
|
455
|
+
);
|
|
448
456
|
}
|
|
449
457
|
}
|
|
450
458
|
this.chatSessionHasCustomAgentTarget = ChatContextKeys.chatSessionHasCustomAgentTarget.bindTo(contextKeyService);
|
|
@@ -532,12 +540,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
532
540
|
needsUpdate = isDefaultAgent ? mode.id !== ChatMode.Agent.id : mode.label.read(undefined) !== agentId;
|
|
533
541
|
}
|
|
534
542
|
if (needsUpdate) {
|
|
535
|
-
this.chatSessionsService.
|
|
536
|
-
optionId: agentOptionId,
|
|
537
|
-
value: mode.isBuiltin ? "" : modeName
|
|
538
|
-
}]).catch(
|
|
539
|
-
err => this.logService.error("Failed to notify extension of agent change:", err)
|
|
540
|
-
);
|
|
543
|
+
this.chatSessionsService.updateSessionOptions(ctx.chatSessionResource, ( new Map([[agentOptionId, mode.isBuiltin ? "" : modeName]])));
|
|
541
544
|
}
|
|
542
545
|
}
|
|
543
546
|
}
|
|
@@ -659,8 +662,9 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
659
662
|
const firstWidget = this.chatSessionPickerWidgets?.values()?.next().value;
|
|
660
663
|
firstWidget?.show();
|
|
661
664
|
}
|
|
662
|
-
createChatSessionPickerWidgets(action) {
|
|
665
|
+
createChatSessionPickerWidgets(action, pickerOptions) {
|
|
663
666
|
this._lastSessionPickerAction = action;
|
|
667
|
+
this._lastSessionPickerOptions = pickerOptions;
|
|
664
668
|
const result = this.computeVisibleOptionGroups();
|
|
665
669
|
if (!result) {
|
|
666
670
|
return [];
|
|
@@ -690,12 +694,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
690
694
|
const sessionResource = this._widget?.viewModel?.model.sessionResource;
|
|
691
695
|
const currentCtx = sessionResource ? this.chatService.getChatSessionFromInternalUri(sessionResource) : undefined;
|
|
692
696
|
if (currentCtx) {
|
|
693
|
-
this.chatSessionsService.
|
|
694
|
-
optionId: optionGroup.id,
|
|
695
|
-
value: option
|
|
696
|
-
}]).catch(
|
|
697
|
-
err => this.logService.error(`Failed to notify extension of ${optionGroup.id} change:`, err)
|
|
698
|
-
);
|
|
697
|
+
this.chatSessionsService.setSessionOption(currentCtx.chatSessionResource, optionGroup.id, option);
|
|
699
698
|
}
|
|
700
699
|
this.refreshChatSessionPickers();
|
|
701
700
|
},
|
|
@@ -711,7 +710,8 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
711
710
|
optionGroup.searchable ? SearchableOptionPickerActionItem : ChatSessionPickerActionItem,
|
|
712
711
|
action,
|
|
713
712
|
initialState,
|
|
714
|
-
itemDelegate
|
|
713
|
+
itemDelegate,
|
|
714
|
+
pickerOptions
|
|
715
715
|
);
|
|
716
716
|
this.chatSessionPickerWidgets.set(optionGroup.id, widget);
|
|
717
717
|
widgets.push(widget);
|
|
@@ -908,7 +908,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
908
908
|
}
|
|
909
909
|
const sessionResource = this._widget?.viewModel?.model.sessionResource;
|
|
910
910
|
const ctx = sessionResource ? this.chatService.getChatSessionFromInternalUri(sessionResource) : undefined;
|
|
911
|
-
return ctx
|
|
911
|
+
return ctx ? getChatSessionType(ctx.chatSessionResource) : undefined;
|
|
912
912
|
}
|
|
913
913
|
hasModelsTargetingSessionType() {
|
|
914
914
|
return hasModelsTargetingSession(this.getAllMergedModels(), this.getCurrentSessionType());
|
|
@@ -925,7 +925,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
925
925
|
preselectModelFromSessionHistory() {
|
|
926
926
|
const sessionResource = this._widget?.viewModel?.model.sessionResource;
|
|
927
927
|
const ctx = sessionResource ? this.chatService.getChatSessionFromInternalUri(sessionResource) : undefined;
|
|
928
|
-
const requiresCustomModels = ctx && this.chatSessionsService.requiresCustomModelsForSessionType(ctx.
|
|
928
|
+
const requiresCustomModels = ctx && this.chatSessionsService.requiresCustomModelsForSessionType(getChatSessionType(ctx.chatSessionResource));
|
|
929
929
|
if (!requiresCustomModels) {
|
|
930
930
|
return;
|
|
931
931
|
}
|
|
@@ -997,40 +997,40 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
997
997
|
}
|
|
998
998
|
const mode = this._currentModeObservable.get();
|
|
999
999
|
const modelName = this._currentLanguageModel.get()?.metadata.name;
|
|
1000
|
-
const modelInfo = modelName ? ( localize(
|
|
1000
|
+
const modelInfo = modelName ? ( localize(6978, ", {0}. ", modelName)) : "";
|
|
1001
1001
|
let modeLabel = "";
|
|
1002
1002
|
if (!mode.isBuiltin) {
|
|
1003
1003
|
const mode = this.currentModeObs.get();
|
|
1004
|
-
modeLabel = ( localize(
|
|
1004
|
+
modeLabel = ( localize(6979, "({0}), {1}", mode.label.get(), mode.description.get()));
|
|
1005
1005
|
} else {
|
|
1006
1006
|
switch (this.currentModeKind) {
|
|
1007
1007
|
case ChatModeKind.Agent:
|
|
1008
|
-
modeLabel = ( localize(
|
|
1008
|
+
modeLabel = ( localize(6980, "(Agent), edit files in your workspace."));
|
|
1009
1009
|
break;
|
|
1010
1010
|
case ChatModeKind.Edit:
|
|
1011
|
-
modeLabel = ( localize(
|
|
1011
|
+
modeLabel = ( localize(6981, "(Edit), edit files in your workspace."));
|
|
1012
1012
|
break;
|
|
1013
1013
|
case ChatModeKind.Ask:
|
|
1014
1014
|
default:
|
|
1015
|
-
modeLabel = ( localize(
|
|
1015
|
+
modeLabel = ( localize(6982, "(Ask), ask questions or type / for topics."));
|
|
1016
1016
|
break;
|
|
1017
1017
|
}
|
|
1018
1018
|
}
|
|
1019
1019
|
if (verbose) {
|
|
1020
1020
|
return kbLabel ? ( localize(
|
|
1021
|
-
|
|
1021
|
+
6983,
|
|
1022
1022
|
"Chat Input {0}{1} Press Enter to send out the request. Use {2} for Chat Accessibility Help.",
|
|
1023
1023
|
modeLabel,
|
|
1024
1024
|
modelInfo,
|
|
1025
1025
|
kbLabel
|
|
1026
1026
|
)) : ( localize(
|
|
1027
|
-
|
|
1027
|
+
6984,
|
|
1028
1028
|
"Chat Input {0}{1} Press Enter to send out the request. Use the Chat Accessibility Help command for more information.",
|
|
1029
1029
|
modeLabel,
|
|
1030
1030
|
modelInfo
|
|
1031
1031
|
));
|
|
1032
1032
|
} else {
|
|
1033
|
-
return localize(
|
|
1033
|
+
return localize(6985, "Chat Input {0}{1}.", modeLabel, modelInfo);
|
|
1034
1034
|
}
|
|
1035
1035
|
}
|
|
1036
1036
|
validateCurrentChatMode() {
|
|
@@ -1175,6 +1175,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1175
1175
|
const userQuery = this.getCurrentInputState();
|
|
1176
1176
|
this.history.append(this._getFilteredEntry(userQuery));
|
|
1177
1177
|
}
|
|
1178
|
+
this.resetScrollbarVisibilityAfterAccept();
|
|
1178
1179
|
if (this._chatSessionIsEmpty) {
|
|
1179
1180
|
this._chatSessionIsEmpty = false;
|
|
1180
1181
|
this._emptyInputState.set(undefined, undefined);
|
|
@@ -1270,9 +1271,9 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1270
1271
|
};
|
|
1271
1272
|
const sessionResource = this._widget?.viewModel?.model.sessionResource;
|
|
1272
1273
|
const ctx = sessionResource ? this.chatService.getChatSessionFromInternalUri(sessionResource) : undefined;
|
|
1273
|
-
const customAgentTarget = ctx && this.chatSessionsService.getCustomAgentTargetForSessionType(ctx.
|
|
1274
|
+
const customAgentTarget = ctx && this.chatSessionsService.getCustomAgentTargetForSessionType(getChatSessionType(ctx.chatSessionResource));
|
|
1274
1275
|
this.chatSessionHasCustomAgentTarget.set(customAgentTarget !== Target.Undefined);
|
|
1275
|
-
const requiresCustomModels = ctx && this.chatSessionsService.requiresCustomModelsForSessionType(ctx.
|
|
1276
|
+
const requiresCustomModels = ctx && this.chatSessionsService.requiresCustomModelsForSessionType(getChatSessionType(ctx.chatSessionResource));
|
|
1276
1277
|
this.chatSessionHasTargetedModels.set(!!requiresCustomModels);
|
|
1277
1278
|
if (customAgentTarget) {
|
|
1278
1279
|
const agentOption = this.chatSessionsService.getSessionOption(ctx.chatSessionResource, agentOptionId);
|
|
@@ -1287,7 +1288,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1287
1288
|
}
|
|
1288
1289
|
}
|
|
1289
1290
|
const delegateSessionType = this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.();
|
|
1290
|
-
const effectiveSessionType = delegateSessionType ?? ctx
|
|
1291
|
+
const effectiveSessionType = delegateSessionType ?? (ctx ? getChatSessionType(ctx.chatSessionResource) : undefined);
|
|
1291
1292
|
if (!effectiveSessionType) {
|
|
1292
1293
|
setNoOptions();
|
|
1293
1294
|
return undefined;
|
|
@@ -1356,7 +1357,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1356
1357
|
const currentWidgetGroupIds = ( new Set(( this.chatSessionPickerWidgets.keys())));
|
|
1357
1358
|
const needsRecreation = currentWidgetGroupIds.size !== visibleGroupIds.size || !Array.from(visibleGroupIds).every(id => ( currentWidgetGroupIds.has(id)));
|
|
1358
1359
|
if (needsRecreation && this._lastSessionPickerAction && this.chatSessionPickerContainer) {
|
|
1359
|
-
const widgets = this.createChatSessionPickerWidgets(this._lastSessionPickerAction);
|
|
1360
|
+
const widgets = this.createChatSessionPickerWidgets(this._lastSessionPickerAction, this._lastSessionPickerOptions);
|
|
1360
1361
|
clearNode(this.chatSessionPickerContainer);
|
|
1361
1362
|
for (const widget of widgets) {
|
|
1362
1363
|
const container = $$1(".action-item.chat-sessionPicker-item");
|
|
@@ -1427,7 +1428,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1427
1428
|
}
|
|
1428
1429
|
}
|
|
1429
1430
|
getEffectiveSessionType(ctx, delegate) {
|
|
1430
|
-
return this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.() || ctx
|
|
1431
|
+
return this.options.sessionTypePickerDelegate?.getActiveSessionProvider?.() || (ctx && getChatSessionType(ctx.chatSessionResource)) || "";
|
|
1431
1432
|
}
|
|
1432
1433
|
updateAgentSessionTypeContextKey() {
|
|
1433
1434
|
const sessionResource = this._widget?.viewModel?.model.sessionResource;
|
|
@@ -1435,6 +1436,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1435
1436
|
const delegateSessionType = delegate?.setActiveSessionProvider && delegate?.getActiveSessionProvider?.();
|
|
1436
1437
|
const sessionType = delegateSessionType || (sessionResource ? getChatSessionType(sessionResource) : "");
|
|
1437
1438
|
this.agentSessionTypeKey.set(sessionType);
|
|
1439
|
+
this.chatSessionSupportsDelegationKey.set(this.chatSessionsService.supportsDelegationForSessionType(sessionType));
|
|
1438
1440
|
}
|
|
1439
1441
|
updateWidgetLockStateFromSessionType(sessionType) {
|
|
1440
1442
|
if (sessionType === localChatSessionType) {
|
|
@@ -1525,6 +1527,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1525
1527
|
h(".chat-question-carousel-widget-container@chatQuestionCarouselContainer"),
|
|
1526
1528
|
h(".chat-input-widgets-container@chatInputWidgetsContainer"),
|
|
1527
1529
|
h(".chat-todo-list-widget-container@chatInputTodoListWidgetContainer"),
|
|
1530
|
+
h(".chat-artifacts-widget-container@chatArtifactsWidgetContainer"),
|
|
1528
1531
|
h(".chat-editing-session@chatEditingSessionWidgetContainer"),
|
|
1529
1532
|
h(".chat-getting-started-tip-container@chatGettingStartedTipContainer"),
|
|
1530
1533
|
h(
|
|
@@ -1550,6 +1553,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1550
1553
|
h(".interactive-input-followups@followupsContainer"),
|
|
1551
1554
|
h(".chat-input-widgets-container@chatInputWidgetsContainer"),
|
|
1552
1555
|
h(".chat-todo-list-widget-container@chatInputTodoListWidgetContainer"),
|
|
1556
|
+
h(".chat-artifacts-widget-container@chatArtifactsWidgetContainer"),
|
|
1553
1557
|
h(".chat-editing-session@chatEditingSessionWidgetContainer"),
|
|
1554
1558
|
h(".chat-getting-started-tip-container@chatGettingStartedTipContainer"),
|
|
1555
1559
|
h(
|
|
@@ -1580,11 +1584,12 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1580
1584
|
this.attachedContextContainer = elements.attachedContextContainer;
|
|
1581
1585
|
const toolbarsContainer = elements.inputToolbars;
|
|
1582
1586
|
this.secondaryToolbarContainer = elements.secondaryToolbar;
|
|
1583
|
-
if (this.options.
|
|
1587
|
+
if (this.options.renderStyle === "compact") {
|
|
1584
1588
|
this.secondaryToolbarContainer.style.display = "none";
|
|
1585
1589
|
}
|
|
1586
1590
|
this.chatEditingSessionWidgetContainer = elements.chatEditingSessionWidgetContainer;
|
|
1587
1591
|
this.chatInputTodoListWidgetContainer = elements.chatInputTodoListWidgetContainer;
|
|
1592
|
+
this.chatArtifactsWidgetContainer = elements.chatArtifactsWidgetContainer;
|
|
1588
1593
|
this.chatGettingStartedTipContainer = elements.chatGettingStartedTipContainer;
|
|
1589
1594
|
this.chatGettingStartedTipContainer.style.display = "none";
|
|
1590
1595
|
this.chatQuestionCarouselContainer = elements.chatQuestionCarouselContainer;
|
|
@@ -1784,7 +1789,19 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1784
1789
|
this.renderAttachedContext();
|
|
1785
1790
|
},
|
|
1786
1791
|
getModels: () => this.getModels(),
|
|
1787
|
-
|
|
1792
|
+
useGroupedModelPicker: () => {
|
|
1793
|
+
const sessionType = this.getCurrentSessionType();
|
|
1794
|
+
return !sessionType || sessionType === localChatSessionType;
|
|
1795
|
+
},
|
|
1796
|
+
showManageModelsAction: () => {
|
|
1797
|
+
const sessionType = this.getCurrentSessionType();
|
|
1798
|
+
return !sessionType || sessionType === localChatSessionType;
|
|
1799
|
+
},
|
|
1800
|
+
showUnavailableFeatured: () => {
|
|
1801
|
+
const sessionType = this.getCurrentSessionType();
|
|
1802
|
+
return !sessionType || sessionType === localChatSessionType;
|
|
1803
|
+
},
|
|
1804
|
+
showFeatured: () => {
|
|
1788
1805
|
const sessionType = this.getCurrentSessionType();
|
|
1789
1806
|
return !sessionType || sessionType === localChatSessionType;
|
|
1790
1807
|
}
|
|
@@ -1797,7 +1814,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1797
1814
|
customAgentTarget: () => {
|
|
1798
1815
|
const sessionResource = this._widget?.viewModel?.model.sessionResource;
|
|
1799
1816
|
const ctx = sessionResource && this.chatService.getChatSessionFromInternalUri(sessionResource);
|
|
1800
|
-
return (ctx && this.chatSessionsService.getCustomAgentTargetForSessionType(ctx.
|
|
1817
|
+
return (ctx && this.chatSessionsService.getCustomAgentTargetForSessionType(getChatSessionType(ctx.chatSessionResource))) ?? Target.Undefined;
|
|
1801
1818
|
}
|
|
1802
1819
|
};
|
|
1803
1820
|
return this.modeWidget = this.instantiationService.createInstance(ModePickerActionItem, action, delegate, pickerOptions);
|
|
@@ -1842,7 +1859,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
1842
1859
|
return ( new HiddenActionViewItem(action));
|
|
1843
1860
|
}
|
|
1844
1861
|
} else if (action.id === ChatSessionPrimaryPickerAction.ID && action instanceof MenuItemAction) {
|
|
1845
|
-
const widgets = this.createChatSessionPickerWidgets(action);
|
|
1862
|
+
const widgets = this.createChatSessionPickerWidgets(action, pickerOptions);
|
|
1846
1863
|
if (widgets.length === 0) {
|
|
1847
1864
|
return ( new HiddenActionViewItem(action));
|
|
1848
1865
|
}
|
|
@@ -2331,6 +2348,21 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
2331
2348
|
clearTodoListWidget(sessionResource, force) {
|
|
2332
2349
|
this._chatInputTodoListWidget.value?.clear(sessionResource, force);
|
|
2333
2350
|
}
|
|
2351
|
+
renderArtifactsWidget(chatSessionResource) {
|
|
2352
|
+
if (!this.configurationService.getValue(ChatConfiguration.ArtifactsEnabled)) {
|
|
2353
|
+
return;
|
|
2354
|
+
}
|
|
2355
|
+
if (!this._chatArtifactsWidget.value) {
|
|
2356
|
+
const widget = this._register(this.instantiationService.createInstance(ChatArtifactsWidget));
|
|
2357
|
+
this._chatArtifactsWidget.value = widget;
|
|
2358
|
+
clearNode(this.chatArtifactsWidgetContainer);
|
|
2359
|
+
append(this.chatArtifactsWidgetContainer, widget.domNode);
|
|
2360
|
+
}
|
|
2361
|
+
this._chatArtifactsWidget.value.render(chatSessionResource);
|
|
2362
|
+
}
|
|
2363
|
+
clearArtifactsWidget() {
|
|
2364
|
+
this._chatArtifactsWidget.value?.hide();
|
|
2365
|
+
}
|
|
2334
2366
|
renderQuestionCarousel(carousel, context, options) {
|
|
2335
2367
|
const carouselKey = carousel.resolveId ?? `${isResponseVM(context.element) ? context.element.requestId : ""}_${context.contentIndex}`;
|
|
2336
2368
|
const existing = this._chatQuestionCarouselWidgets.get(carouselKey);
|
|
@@ -2525,7 +2557,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
2525
2557
|
const button = this._chatEditsActionsDisposables.add(( new ButtonWithIcon(overviewTitle, {
|
|
2526
2558
|
supportIcons: true,
|
|
2527
2559
|
secondary: true,
|
|
2528
|
-
ariaLabel: ( localize(
|
|
2560
|
+
ariaLabel: ( localize(6986, "Toggle changed files."))
|
|
2529
2561
|
})));
|
|
2530
2562
|
const topLevelStats = derived(reader => {
|
|
2531
2563
|
const entries = editSessionEntriesObs.read(reader);
|
|
@@ -2599,10 +2631,10 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
2599
2631
|
removed,
|
|
2600
2632
|
shouldShowEditingSession
|
|
2601
2633
|
} = topLevelStats.read(reader);
|
|
2602
|
-
const buttonLabel = files === 1 ? ( localize(
|
|
2634
|
+
const buttonLabel = files === 1 ? ( localize(6987, "1 file changed")) : ( localize(6988, "{0} files changed", files));
|
|
2603
2635
|
button.label = buttonLabel;
|
|
2604
2636
|
button.element.setAttribute("aria-label", ( localize(
|
|
2605
|
-
|
|
2637
|
+
6989,
|
|
2606
2638
|
"{0}, {1} lines added, {2} lines removed",
|
|
2607
2639
|
buttonLabel,
|
|
2608
2640
|
added,
|
|
@@ -2797,6 +2829,44 @@ let ChatInputPart = class ChatInputPart extends Disposable {
|
|
|
2797
2829
|
isMaximized: false
|
|
2798
2830
|
};
|
|
2799
2831
|
}
|
|
2832
|
+
getDefaultScrollbarOptions() {
|
|
2833
|
+
const scrollbar = this._inputEditor.getRawOptions().scrollbar ?? {};
|
|
2834
|
+
return this.options.renderStyle === "compact" ? {
|
|
2835
|
+
...scrollbar,
|
|
2836
|
+
vertical: "hidden"
|
|
2837
|
+
} : {
|
|
2838
|
+
...scrollbar,
|
|
2839
|
+
vertical: "auto",
|
|
2840
|
+
verticalScrollbarSize: 7
|
|
2841
|
+
};
|
|
2842
|
+
}
|
|
2843
|
+
getVisibleScrollbarOptions() {
|
|
2844
|
+
const scrollbar = this._inputEditor.getRawOptions().scrollbar ?? {};
|
|
2845
|
+
return this.options.renderStyle === "compact" ? {
|
|
2846
|
+
...scrollbar,
|
|
2847
|
+
vertical: "hidden"
|
|
2848
|
+
} : {
|
|
2849
|
+
...scrollbar,
|
|
2850
|
+
vertical: "visible",
|
|
2851
|
+
verticalScrollbarSize: 7
|
|
2852
|
+
};
|
|
2853
|
+
}
|
|
2854
|
+
updateInputEditorScrollbarOptions() {
|
|
2855
|
+
this._inputEditor.updateOptions({
|
|
2856
|
+
scrollbar: this._forceVisibleScrollbarUntilAccept ? this.getVisibleScrollbarOptions() : this.getDefaultScrollbarOptions()
|
|
2857
|
+
});
|
|
2858
|
+
}
|
|
2859
|
+
showScrollbarUntilAccept() {
|
|
2860
|
+
this._forceVisibleScrollbarUntilAccept = true;
|
|
2861
|
+
this.updateInputEditorScrollbarOptions();
|
|
2862
|
+
}
|
|
2863
|
+
resetScrollbarVisibilityAfterAccept() {
|
|
2864
|
+
if (!this._forceVisibleScrollbarUntilAccept) {
|
|
2865
|
+
return;
|
|
2866
|
+
}
|
|
2867
|
+
this._forceVisibleScrollbarUntilAccept = false;
|
|
2868
|
+
this.updateInputEditorScrollbarOptions();
|
|
2869
|
+
}
|
|
2800
2870
|
};
|
|
2801
2871
|
ChatInputPart = ChatInputPart_1 = ( __decorate([( __param(4, IModelService)), ( __param(5, IInstantiationService)), ( __param(6, IContextKeyService)), ( __param(7, IConfigurationService)), ( __param(8, IKeybindingService)), ( __param(9, IAccessibilityService)), ( __param(10, ILanguageModelsService)), ( __param(11, ILogService)), ( __param(12, IFileService)), ( __param(13, IEditorService)), ( __param(14, IThemeService)), ( __param(15, ITextModelService)), ( __param(16, IStorageService)), ( __param(17, IChatAgentService)), ( __param(18, ISharedWebContentExtractorService)), ( __param(19, IWorkbenchAssignmentService)), ( __param(20, IChatEntitlementService)), ( __param(21, IChatModeService)), ( __param(22, ILanguageModelToolsService)), ( __param(23, IChatService)), ( __param(24, IChatSessionsService)), ( __param(25, IChatContextService)), ( __param(26, IAgentSessionsService)), ( __param(27, IWorkspaceContextService)), ( __param(28, IWorkbenchLayoutService)), ( __param(29, IViewDescriptorService)), ( __param(30, IChatAttachmentWidgetRegistry))], ChatInputPart));
|
|
2802
2872
|
function getLastPosition(model) {
|
|
@@ -3,15 +3,18 @@ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"
|
|
|
3
3
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
4
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
5
5
|
import { IActionListItem } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionList";
|
|
6
|
+
import { IHoverPositionOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover";
|
|
6
7
|
import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
|
|
7
8
|
import { IActionWidgetDropdownAction } from "../../../../../../platform/actionWidget/browser/actionWidgetDropdown.js";
|
|
8
9
|
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
10
|
+
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
9
11
|
import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
|
|
10
12
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
11
13
|
import { IModelControlEntry, ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
|
|
12
14
|
import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
|
|
13
15
|
import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
|
|
14
16
|
import { IModelPickerDelegate } from "./modelPickerActionItem.js";
|
|
17
|
+
import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
15
18
|
import { StateType } from "@codingame/monaco-vscode-api/vscode/vs/platform/update/common/update";
|
|
16
19
|
import { IUpdateService } from "@codingame/monaco-vscode-api/vscode/vs/platform/update/common/update.service";
|
|
17
20
|
/**
|
|
@@ -23,9 +26,9 @@ import { IUpdateService } from "@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
23
26
|
* - Available models sorted alphabetically, followed by unavailable models
|
|
24
27
|
* - Unavailable models show upgrade/update/admin status
|
|
25
28
|
* 3. Other Models (collapsible toggle, available first, then sorted by vendor then name)
|
|
26
|
-
*
|
|
29
|
+
* 4. Optional "Manage Models..." action shown in Other Models after a separator
|
|
27
30
|
*/
|
|
28
|
-
export declare function buildModelPickerItems(models: ILanguageModelChatMetadataAndIdentifier[], selectedModelId: string | undefined, recentModelIds: string[], controlModels: IStringDictionary<IModelControlEntry>, currentVSCodeVersion: string, updateStateType: StateType, onSelect: (model: ILanguageModelChatMetadataAndIdentifier) => void, manageSettingsUrl: string | undefined,
|
|
31
|
+
export declare function buildModelPickerItems(models: ILanguageModelChatMetadataAndIdentifier[], selectedModelId: string | undefined, recentModelIds: string[], controlModels: IStringDictionary<IModelControlEntry>, currentVSCodeVersion: string, updateStateType: StateType, onSelect: (model: ILanguageModelChatMetadataAndIdentifier) => void, manageSettingsUrl: string | undefined, useGroupedModelPicker: boolean, manageModelsAction: IActionWidgetDropdownAction | undefined, chatEntitlementService: IChatEntitlementService, showUnavailableFeatured: boolean, showFeatured: boolean, hoverPosition?: IHoverPositionOptions, languageModelsService?: ILanguageModelsService): IActionListItem<IActionWidgetDropdownAction>[];
|
|
29
32
|
export declare function getModelPickerAccessibilityProvider(): {
|
|
30
33
|
readonly isChecked: (element: IActionListItem<IActionWidgetDropdownAction>) => boolean | undefined;
|
|
31
34
|
readonly getRole: (element: IActionListItem<IActionWidgetDropdownAction>) => "separator" | "menuitemradio";
|
|
@@ -44,13 +47,16 @@ export type ModelPickerBadge = "info" | "warning";
|
|
|
44
47
|
*/
|
|
45
48
|
export declare class ModelPickerWidget extends Disposable {
|
|
46
49
|
private readonly _delegate;
|
|
50
|
+
private readonly _hoverPosition;
|
|
47
51
|
private readonly _actionWidgetService;
|
|
48
52
|
private readonly _commandService;
|
|
53
|
+
private readonly _openerService;
|
|
49
54
|
private readonly _telemetryService;
|
|
50
55
|
private readonly _languageModelsService;
|
|
51
56
|
private readonly _productService;
|
|
52
57
|
private readonly _entitlementService;
|
|
53
58
|
private readonly _updateService;
|
|
59
|
+
private readonly _uriIdentityService;
|
|
54
60
|
private readonly _onDidChangeSelection;
|
|
55
61
|
readonly onDidChangeSelection: Event<ILanguageModelChatMetadataAndIdentifier>;
|
|
56
62
|
private _selectedModel;
|
|
@@ -60,7 +66,7 @@ export declare class ModelPickerWidget extends Disposable {
|
|
|
60
66
|
private _badgeIcon;
|
|
61
67
|
get selectedModel(): ILanguageModelChatMetadataAndIdentifier | undefined;
|
|
62
68
|
get domNode(): HTMLElement | undefined;
|
|
63
|
-
constructor(_delegate: IModelPickerDelegate, _actionWidgetService: IActionWidgetService, _commandService: ICommandService, _telemetryService: ITelemetryService, _languageModelsService: ILanguageModelsService, _productService: IProductService, _entitlementService: IChatEntitlementService, _updateService: IUpdateService);
|
|
69
|
+
constructor(_delegate: IModelPickerDelegate, _hoverPosition: IHoverPositionOptions | undefined, _actionWidgetService: IActionWidgetService, _commandService: ICommandService, _openerService: IOpenerService, _telemetryService: ITelemetryService, _languageModelsService: ILanguageModelsService, _productService: IProductService, _entitlementService: IChatEntitlementService, _updateService: IUpdateService, _uriIdentityService: IUriIdentityService);
|
|
64
70
|
setHideChevrons(hideChevrons: IObservable<boolean>): void;
|
|
65
71
|
setSelectedModel(model: ILanguageModelChatMetadataAndIdentifier | undefined): void;
|
|
66
72
|
setBadge(badge: ModelPickerBadge | undefined): void;
|