@codingame/monaco-vscode-katex-common 27.0.0 → 28.0.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/actionWidget/browser/actionWidgetDropdown.js +2 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +30 -2
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +17 -11
- 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 +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +90 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +106 -0
- 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 +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +63 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +13 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +133 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +55 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +38 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +72 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +1 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.d.ts +1 -1
- 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.d.ts +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.d.ts +1 -1
- 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.d.ts +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/chatCollapsibleContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +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.d.ts +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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +1 -1
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +1 -1
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +26 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +290 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -1
- 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 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +263 -0
- 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 +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +1 -1
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +22 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +12 -18
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +3 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +6 -260
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +1 -1
- 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.d.ts +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 +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +129 -117
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +1 -1
- 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/chatMcpAppModel.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +56 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +20 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +43 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +42 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +1 -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.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +61 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +7 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +81 -191
- 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 +31 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +334 -181
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +51 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +104 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +16 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +213 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +10 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +174 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +2 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +12 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +36 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +19 -4
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +22 -6
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +24 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
- 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/inlineChat.css +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +38 -46
- 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/terminal/browser/chatTerminalCommandMirror.js +6 -10
package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export interface IAgentSessionsControlOptions extends IAgentSessionsSorterOption
|
|
|
24
24
|
readonly filter: IAgentSessionsFilter;
|
|
25
25
|
readonly source: string;
|
|
26
26
|
readonly disableHover?: boolean;
|
|
27
|
+
readonly showIsolationIcon?: boolean;
|
|
28
|
+
readonly enableApprovalRow?: boolean;
|
|
27
29
|
getHoverPosition(): HoverPosition;
|
|
28
30
|
trackActiveEditorSession(): boolean;
|
|
29
31
|
collapseOlderSections?(): boolean;
|
|
@@ -45,6 +47,7 @@ export declare class AgentSessionsControl extends Disposable implements IAgentSe
|
|
|
45
47
|
private readonly editorService;
|
|
46
48
|
private sessionsContainer;
|
|
47
49
|
get element(): HTMLElement | undefined;
|
|
50
|
+
private emptyFilterMessage;
|
|
48
51
|
private sessionsList;
|
|
49
52
|
private sessionsListFindIsOpen;
|
|
50
53
|
private readonly updateSessionsListThrottler;
|
|
@@ -58,7 +61,10 @@ export declare class AgentSessionsControl extends Disposable implements IAgentSe
|
|
|
58
61
|
constructor(container: HTMLElement, options: IAgentSessionsControlOptions, contextMenuService: IContextMenuService, contextKeyService: IContextKeyService, instantiationService: IInstantiationService, chatSessionsService: IChatSessionsService, commandService: ICommandService, menuService: IMenuService, agentSessionsService: IAgentSessionsService, telemetryService: ITelemetryService, editorService: IEditorService);
|
|
59
62
|
private registerListeners;
|
|
60
63
|
private revealAndFocusActiveEditorSession;
|
|
64
|
+
private create;
|
|
65
|
+
private createEmptyFilterMessage;
|
|
61
66
|
private createList;
|
|
67
|
+
private updateEmpty;
|
|
62
68
|
private hasTodaySessions;
|
|
63
69
|
private openAgentSession;
|
|
64
70
|
private showContextMenu;
|
|
@@ -5,9 +5,13 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
|
|
|
5
5
|
import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
|
|
6
6
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
7
7
|
import { WorkbenchCompressibleAsyncDataTree } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
|
|
8
|
-
import { append, $, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
8
|
+
import { append, $, hide, addDisposableListener, EventType, EventHelper, setVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
9
|
+
import { StandardKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
|
|
10
|
+
import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
11
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
9
12
|
import { isAgentSessionSection, AgentSessionSection, isAgentSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
|
|
10
|
-
import { AgentSessionsSorter,
|
|
13
|
+
import { AgentSessionsSorter, AgentSessionRenderer, AgentSessionsDataSource, AgentSessionsListDelegate, AgentSessionsCompressionDelegate, AgentSessionSectionRenderer, AgentSessionsKeyboardNavigationLabelProvider, AgentSessionsIdentityProvider, AgentSessionsDragAndDrop, AgentSessionsAccessibilityProvider } from './agentSessionsViewer.js';
|
|
14
|
+
import { AgentSessionApprovalModel } from './agentSessionApprovalModel.js';
|
|
11
15
|
import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
12
16
|
import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
|
|
13
17
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
@@ -64,7 +68,7 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
|
|
|
64
68
|
this.focusedAgentSessionReadContextKey = ChatContextKeys.isReadAgentSession.bindTo(this.contextKeyService);
|
|
65
69
|
this.focusedAgentSessionTypeContextKey = ChatContextKeys.agentSessionType.bindTo(this.contextKeyService);
|
|
66
70
|
this.hasMultipleAgentSessionsSelectedContextKey = ChatContextKeys.hasMultipleAgentSessionsSelected.bindTo(this.contextKeyService);
|
|
67
|
-
this.
|
|
71
|
+
this.create(this.container);
|
|
68
72
|
this.registerListeners();
|
|
69
73
|
}
|
|
70
74
|
registerListeners() {
|
|
@@ -90,8 +94,32 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
|
|
|
90
94
|
this.sessionsList.setSelection([matchingSession]);
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
|
-
|
|
97
|
+
create(container) {
|
|
94
98
|
this.sessionsContainer = append(container, $(".agent-sessions-viewer"));
|
|
99
|
+
this.createEmptyFilterMessage(this.sessionsContainer);
|
|
100
|
+
this.createList(this.sessionsContainer);
|
|
101
|
+
}
|
|
102
|
+
createEmptyFilterMessage(container) {
|
|
103
|
+
this.emptyFilterMessage = append(container, $(".agent-sessions-empty-filter-message"));
|
|
104
|
+
hide(this.emptyFilterMessage);
|
|
105
|
+
const span = append(this.emptyFilterMessage, $("span"));
|
|
106
|
+
span.textContent = `${( localize(5109, "No matching sessions"))} - `;
|
|
107
|
+
const link = append(this.emptyFilterMessage, $("span.reset-filter-link"));
|
|
108
|
+
link.textContent = ( localize(5110, "Reset Filter"));
|
|
109
|
+
link.tabIndex = 0;
|
|
110
|
+
link.setAttribute("role", "button");
|
|
111
|
+
this._register(
|
|
112
|
+
addDisposableListener(link, EventType.CLICK, () => this.options.filter.reset())
|
|
113
|
+
);
|
|
114
|
+
this._register(addDisposableListener(link, EventType.KEY_DOWN, e => {
|
|
115
|
+
const event = ( new StandardKeyboardEvent(e));
|
|
116
|
+
if (event.keyCode === KeyCode.Enter || event.keyCode === KeyCode.Space) {
|
|
117
|
+
EventHelper.stop(e, true);
|
|
118
|
+
this.options.filter.reset();
|
|
119
|
+
}
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
createList(container) {
|
|
95
123
|
const collapseByDefault = element => {
|
|
96
124
|
if (isAgentSessionSection(element)) {
|
|
97
125
|
if (element.section === AgentSessionSection.More && !this.options.filter.getExcludes().read) {
|
|
@@ -117,16 +145,22 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
|
|
|
117
145
|
return false;
|
|
118
146
|
};
|
|
119
147
|
const sorter = ( new AgentSessionsSorter(this.options));
|
|
148
|
+
const approvalModel = this.options.enableApprovalRow ? this._register(this.instantiationService.createInstance(AgentSessionApprovalModel)) : undefined;
|
|
149
|
+
const sessionRenderer = this._register(
|
|
150
|
+
this.instantiationService.createInstance(AgentSessionRenderer, this.options, approvalModel)
|
|
151
|
+
);
|
|
152
|
+
const sessionFilter = this._register(( new AgentSessionsDataSource(this.options.filter, sorter)));
|
|
120
153
|
const list = this.sessionsList = this._register(this.instantiationService.createInstance(
|
|
121
154
|
WorkbenchCompressibleAsyncDataTree,
|
|
122
155
|
"AgentSessionsView",
|
|
123
|
-
|
|
124
|
-
( new AgentSessionsListDelegate()),
|
|
156
|
+
container,
|
|
157
|
+
( new AgentSessionsListDelegate(approvalModel)),
|
|
125
158
|
( new AgentSessionsCompressionDelegate()),
|
|
126
|
-
[
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
159
|
+
[
|
|
160
|
+
sessionRenderer,
|
|
161
|
+
this.instantiationService.createInstance(AgentSessionSectionRenderer)
|
|
162
|
+
],
|
|
163
|
+
sessionFilter,
|
|
130
164
|
{
|
|
131
165
|
accessibilityProvider: ( new AgentSessionsAccessibilityProvider()),
|
|
132
166
|
dnd: this.instantiationService.createInstance(AgentSessionsDragAndDrop),
|
|
@@ -143,6 +177,14 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
|
|
|
143
177
|
}
|
|
144
178
|
));
|
|
145
179
|
ChatContextKeys.agentSessionsViewerFocused.bindTo(list.contextKeyService);
|
|
180
|
+
this._register(sessionRenderer.onDidChangeItemHeight(session => {
|
|
181
|
+
if (list.hasNode(session)) {
|
|
182
|
+
list.updateElementHeight(session, undefined);
|
|
183
|
+
}
|
|
184
|
+
}));
|
|
185
|
+
this._register(sessionFilter.onDidGetChildren(count => {
|
|
186
|
+
this.updateEmpty(count === 0);
|
|
187
|
+
}));
|
|
146
188
|
const model = this.agentSessionsService.model;
|
|
147
189
|
this._register(this.options.filter.onDidChange(async () => {
|
|
148
190
|
if (this.visible) {
|
|
@@ -190,6 +232,17 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
|
|
|
190
232
|
this.updateSectionCollapseStates();
|
|
191
233
|
}));
|
|
192
234
|
}
|
|
235
|
+
updateEmpty(isEmpty) {
|
|
236
|
+
if (!this.emptyFilterMessage || !this.sessionsList) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
const model = this.agentSessionsService.model;
|
|
240
|
+
const hasSessionsInModel = model.sessions.length > 0;
|
|
241
|
+
const isFilterActive = !this.options.filter.isDefault();
|
|
242
|
+
const showEmpty = hasSessionsInModel && isEmpty && isFilterActive;
|
|
243
|
+
setVisibility(showEmpty, this.emptyFilterMessage);
|
|
244
|
+
setVisibility(!showEmpty, this.sessionsList.getHTMLElement());
|
|
245
|
+
}
|
|
193
246
|
hasTodaySessions() {
|
|
194
247
|
const startOfToday = ( new Date()).setHours(0, 0, 0, 0);
|
|
195
248
|
return ( this.agentSessionsService.model.sessions.some(
|
|
@@ -166,16 +166,16 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
166
166
|
registerStateActions(disposables, menuId) {
|
|
167
167
|
const states = [{
|
|
168
168
|
id: ChatSessionStatus.Completed,
|
|
169
|
-
label: ( localize(
|
|
169
|
+
label: ( localize(5111, "Completed"))
|
|
170
170
|
}, {
|
|
171
171
|
id: ChatSessionStatus.InProgress,
|
|
172
|
-
label: ( localize(
|
|
172
|
+
label: ( localize(5112, "In Progress"))
|
|
173
173
|
}, {
|
|
174
174
|
id: ChatSessionStatus.NeedsInput,
|
|
175
|
-
label: ( localize(
|
|
175
|
+
label: ( localize(5113, "Input Needed"))
|
|
176
176
|
}, {
|
|
177
177
|
id: ChatSessionStatus.Failed,
|
|
178
|
-
label: ( localize(
|
|
178
|
+
label: ( localize(5114, "Failed"))
|
|
179
179
|
}];
|
|
180
180
|
const that = this;
|
|
181
181
|
let counter = 0;
|
|
@@ -212,7 +212,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
212
212
|
constructor() {
|
|
213
213
|
super({
|
|
214
214
|
id: `agentSessions.filter.toggleExcludeArchived.${menuId.id.toLowerCase()}`,
|
|
215
|
-
title: ( localize(
|
|
215
|
+
title: ( localize(5115, "Archived")),
|
|
216
216
|
menu: {
|
|
217
217
|
id: menuId,
|
|
218
218
|
group: "3_props",
|
|
@@ -235,7 +235,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
235
235
|
constructor() {
|
|
236
236
|
super({
|
|
237
237
|
id: `agentSessions.filter.toggleExcludeRead.${menuId.id.toLowerCase()}`,
|
|
238
|
-
title: ( localize(
|
|
238
|
+
title: ( localize(5116, "Read")),
|
|
239
239
|
menu: {
|
|
240
240
|
id: menuId,
|
|
241
241
|
group: "3_props",
|
|
@@ -258,7 +258,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
258
258
|
constructor() {
|
|
259
259
|
super({
|
|
260
260
|
id: `agentSessions.filter.resetExcludes.${menuId.id.toLowerCase()}`,
|
|
261
|
-
title: ( localize(
|
|
261
|
+
title: ( localize(5117, "Reset")),
|
|
262
262
|
menu: {
|
|
263
263
|
id: menuId,
|
|
264
264
|
group: "4_reset",
|
|
@@ -267,9 +267,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
267
267
|
});
|
|
268
268
|
}
|
|
269
269
|
run() {
|
|
270
|
-
that.
|
|
271
|
-
...DEFAULT_EXCLUDES
|
|
272
|
-
});
|
|
270
|
+
that.reset();
|
|
273
271
|
}
|
|
274
272
|
}));
|
|
275
273
|
}
|
|
@@ -304,6 +302,11 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
304
302
|
notifyResults(count) {
|
|
305
303
|
this.options.notifyResults?.(count);
|
|
306
304
|
}
|
|
305
|
+
reset() {
|
|
306
|
+
this.storeExcludes({
|
|
307
|
+
...DEFAULT_EXCLUDES
|
|
308
|
+
});
|
|
309
|
+
}
|
|
307
310
|
};
|
|
308
311
|
AgentSessionsFilter = ( __decorate([( __param(1, IChatSessionsService)), ( __param(2, IStorageService))], AgentSessionsFilter));
|
|
309
312
|
|
|
@@ -72,7 +72,7 @@ async function openSessionDefault(accessor, session, openOptions) {
|
|
|
72
72
|
target = ChatViewPaneTarget;
|
|
73
73
|
}
|
|
74
74
|
const isLocalChatSession = session.resource.scheme === Schemas.vscodeChatEditor || session.resource.scheme === Schemas.vscodeLocalChatSession;
|
|
75
|
-
if (!isLocalChatSession && !(await chatSessionsService.canResolveChatSession(session.resource))) {
|
|
75
|
+
if (!isLocalChatSession && !(await chatSessionsService.canResolveChatSession(session.resource.scheme))) {
|
|
76
76
|
target = openOptions?.sideBySide ? SIDE_GROUP : ACTIVE_GROUP;
|
|
77
77
|
options = {
|
|
78
78
|
...options,
|
|
@@ -81,7 +81,7 @@ async function openSessionDefault(accessor, session, openOptions) {
|
|
|
81
81
|
}
|
|
82
82
|
return await chatWidgetService.openSession(session.resource, target, options);
|
|
83
83
|
} catch (error) {
|
|
84
|
-
notificationService.error(( localize(
|
|
84
|
+
notificationService.error(( localize(5119, "Failed to open chat session: {0}", toErrorMessage(error))));
|
|
85
85
|
return undefined;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -20,6 +20,7 @@ import { MenuWorkbenchToolBar } from "@codingame/monaco-vscode-api/vscode/vs/pla
|
|
|
20
20
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
21
21
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
22
22
|
import { AgentSessionsGrouping } from "./agentSessionsFilter.js";
|
|
23
|
+
import { AgentSessionApprovalModel } from "./agentSessionApprovalModel.js";
|
|
23
24
|
export type AgentSessionListItem = IAgentSession | IAgentSessionSection;
|
|
24
25
|
interface IAgentSessionItemTemplate {
|
|
25
26
|
readonly element: HTMLElement;
|
|
@@ -35,25 +36,36 @@ interface IAgentSessionItemTemplate {
|
|
|
35
36
|
readonly badge: HTMLElement;
|
|
36
37
|
readonly separator: HTMLElement;
|
|
37
38
|
readonly description: HTMLElement;
|
|
39
|
+
readonly approvalRow: HTMLElement;
|
|
40
|
+
readonly approvalLabel: HTMLElement;
|
|
41
|
+
readonly approvalButtonContainer: HTMLElement;
|
|
38
42
|
readonly contextKeyService: IContextKeyService;
|
|
39
43
|
readonly elementDisposable: DisposableStore;
|
|
40
44
|
readonly disposables: IDisposable;
|
|
41
45
|
}
|
|
42
46
|
export interface IAgentSessionRendererOptions {
|
|
43
47
|
readonly disableHover?: boolean;
|
|
48
|
+
readonly showIsolationIcon?: boolean;
|
|
44
49
|
getHoverPosition(): HoverPosition;
|
|
45
50
|
}
|
|
46
51
|
export declare class AgentSessionRenderer extends Disposable implements ICompressibleTreeRenderer<IAgentSession, FuzzyScore, IAgentSessionItemTemplate> {
|
|
47
52
|
private readonly options;
|
|
53
|
+
private readonly _approvalModel;
|
|
48
54
|
private readonly markdownRendererService;
|
|
49
55
|
private readonly productService;
|
|
50
56
|
private readonly hoverService;
|
|
51
57
|
private readonly instantiationService;
|
|
52
58
|
private readonly contextKeyService;
|
|
53
59
|
static readonly TEMPLATE_ID = "agent-session";
|
|
60
|
+
static readonly APPROVAL_ROW_MAX_LINES = 3;
|
|
61
|
+
private static readonly _APPROVAL_ROW_LINE_HEIGHT;
|
|
62
|
+
private static readonly _APPROVAL_ROW_OVERHEAD;
|
|
63
|
+
static getApprovalRowHeight(label: string): number;
|
|
54
64
|
readonly templateId = "agent-session";
|
|
55
65
|
private readonly sessionHover;
|
|
56
|
-
|
|
66
|
+
private readonly _onDidChangeItemHeight;
|
|
67
|
+
readonly onDidChangeItemHeight: Event<IAgentSession>;
|
|
68
|
+
constructor(options: IAgentSessionRendererOptions, _approvalModel: AgentSessionApprovalModel | undefined, markdownRendererService: IMarkdownRendererService, productService: IProductService, hoverService: IHoverService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService);
|
|
57
69
|
renderTemplate(container: HTMLElement): IAgentSessionItemTemplate;
|
|
58
70
|
renderElement(session: ITreeNode<IAgentSession, FuzzyScore>, index: number, template: IAgentSessionItemTemplate, details?: ITreeElementRenderDetails): void;
|
|
59
71
|
private renderBadge;
|
|
@@ -65,6 +77,7 @@ export declare class AgentSessionRenderer extends Disposable implements ICompres
|
|
|
65
77
|
private renderStatus;
|
|
66
78
|
private renderHover;
|
|
67
79
|
private buildHoverContent;
|
|
80
|
+
private renderApprovalRow;
|
|
68
81
|
renderCompressedElements(node: ITreeNode<ICompressedTreeNode<IAgentSession>, FuzzyScore>, index: number, templateData: IAgentSessionItemTemplate, details?: ITreeElementRenderDetails): void;
|
|
69
82
|
disposeElement(element: ITreeNode<IAgentSession, FuzzyScore>, index: number, template: IAgentSessionItemTemplate, details?: ITreeElementRenderDetails): void;
|
|
70
83
|
disposeTemplate(templateData: IAgentSessionItemTemplate): void;
|
|
@@ -90,9 +103,12 @@ export declare class AgentSessionSectionRenderer implements ICompressibleTreeRen
|
|
|
90
103
|
disposeTemplate(templateData: IAgentSessionSectionTemplate): void;
|
|
91
104
|
}
|
|
92
105
|
export declare class AgentSessionsListDelegate implements IListVirtualDelegate<AgentSessionListItem> {
|
|
106
|
+
private readonly _approvalModel?;
|
|
93
107
|
static readonly ITEM_HEIGHT = 54;
|
|
94
108
|
static readonly SECTION_HEIGHT = 26;
|
|
109
|
+
constructor(_approvalModel?: AgentSessionApprovalModel | undefined);
|
|
95
110
|
getHeight(element: AgentSessionListItem): number;
|
|
111
|
+
hasDynamicHeight(element: AgentSessionListItem): boolean;
|
|
96
112
|
getTemplateId(element: AgentSessionListItem): string;
|
|
97
113
|
}
|
|
98
114
|
export declare class AgentSessionsAccessibilityProvider implements IListAccessibilityProvider<AgentSessionListItem> {
|
|
@@ -135,11 +151,21 @@ export interface IAgentSessionsFilter {
|
|
|
135
151
|
* Get the current filter excludes for display in the UI.
|
|
136
152
|
*/
|
|
137
153
|
getExcludes(): IAgentSessionsFilterExcludes;
|
|
154
|
+
/**
|
|
155
|
+
* Whether the filter is at its default state (no custom filters applied).
|
|
156
|
+
*/
|
|
157
|
+
isDefault(): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Reset the filter to its default state.
|
|
160
|
+
*/
|
|
161
|
+
reset(): void;
|
|
138
162
|
}
|
|
139
|
-
export declare class AgentSessionsDataSource implements IAsyncDataSource<IAgentSessionsModel, AgentSessionListItem> {
|
|
163
|
+
export declare class AgentSessionsDataSource extends Disposable implements IAsyncDataSource<IAgentSessionsModel, AgentSessionListItem> {
|
|
140
164
|
private readonly filter;
|
|
141
165
|
private readonly sorter;
|
|
142
166
|
private static readonly CAPPED_SESSIONS_LIMIT;
|
|
167
|
+
private readonly _onDidGetChildren;
|
|
168
|
+
readonly onDidGetChildren: Event<number>;
|
|
143
169
|
constructor(filter: IAgentSessionsFilter | undefined, sorter: ITreeSorter<IAgentSession>);
|
|
144
170
|
hasChildren(element: IAgentSessionsModel | AgentSessionListItem): boolean;
|
|
145
171
|
getChildren(element: IAgentSessionsModel | AgentSessionListItem): Iterable<AgentSessionListItem>;
|