@codingame/monaco-vscode-katex-common 26.2.2 → 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.d.ts +10 -4
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +37 -11
- package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
- package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +576 -0
- package/vscode/src/vs/{workbench/contrib → 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.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +176 -17
- 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 +127 -64
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
- 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 +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +105 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +69 -43
- 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 +35 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +187 -78
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +138 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +394 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +113 -116
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
- 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 +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +30 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +250 -132
- 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/chatAttachmentsContentPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
- 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 +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
- 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/chatDiffBlockPart.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
- 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 +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
- 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 +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +53 -20
- 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 +8 -7
- 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 +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +24 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +62 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +414 -129
- 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 +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +19 -12
- 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 +14 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
- 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/chatTaskContentPart.js +1 -0
- 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 +11 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +252 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +246 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
- 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.d.ts +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +65 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +356 -415
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +68 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
- 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 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
- 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 +57 -4
- 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 +24 -8
- 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 +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
- 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 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +44 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +85 -89
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +15 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -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/chatToolProgressPart.js +13 -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/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -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 +21 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +341 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +440 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +437 -241
- 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 +77 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +521 -284
- 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 +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +664 -0
- 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.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +4 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +89 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +87 -0
- 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 +15 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +563 -140
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +35 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +26 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +26 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +145 -79
- 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 +35 -15
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +127 -30
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +6 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +96 -34
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
- 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 -44
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +28 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +84 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -41
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
- 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/widget/input/modelPickerActionItem.js +0 -187
|
@@ -6,7 +6,7 @@ import { h } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
|
6
6
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
7
7
|
import { NotSelectableGroupId } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/list/list';
|
|
8
8
|
import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
|
-
import { hasValidDiff, getAgentChangesSummary, isAgentSessionSection, isAgentSessionsModel, AgentSessionSection
|
|
9
|
+
import { hasValidDiff, getAgentChangesSummary, isAgentSessionSection, isAgentSession, isAgentSessionsModel, AgentSessionSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
|
|
10
10
|
import { IconLabel } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabel';
|
|
11
11
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
12
12
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
@@ -19,6 +19,7 @@ import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arr
|
|
|
19
19
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
20
20
|
import { fillEditorsDragData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/dnd';
|
|
21
21
|
import { HoverStyle } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover';
|
|
22
|
+
import { HoverPosition } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverWidget';
|
|
22
23
|
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
23
24
|
import { IntervalTimer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
24
25
|
import { MenuWorkbenchToolBar } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar';
|
|
@@ -26,12 +27,18 @@ import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/
|
|
|
26
27
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
27
28
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
28
29
|
import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
|
|
30
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
29
31
|
import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
|
|
30
32
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
31
33
|
import { AgentSessionHoverWidget } from './agentSessionHoverWidget.js';
|
|
32
|
-
import { AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
34
|
+
import { AgentSessionProviders, getAgentSessionTime } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
33
35
|
import { AgentSessionsGrouping } from './agentSessionsFilter.js';
|
|
36
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
37
|
+
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
38
|
+
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
39
|
+
import { BugIndicatingError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
34
40
|
import { isSessionInProgressStatus, ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
41
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
35
42
|
|
|
36
43
|
var AgentSessionRenderer_1, AgentSessionSectionRenderer_1;
|
|
37
44
|
registerCss(agentsessionsviewer);
|
|
@@ -42,8 +49,22 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
42
49
|
static {
|
|
43
50
|
this.TEMPLATE_ID = "agent-session";
|
|
44
51
|
}
|
|
52
|
+
static {
|
|
53
|
+
this.APPROVAL_ROW_MAX_LINES = 3;
|
|
54
|
+
}
|
|
55
|
+
static {
|
|
56
|
+
this._APPROVAL_ROW_LINE_HEIGHT = 18;
|
|
57
|
+
}
|
|
58
|
+
static {
|
|
59
|
+
this._APPROVAL_ROW_OVERHEAD = 14;
|
|
60
|
+
}
|
|
61
|
+
static getApprovalRowHeight(label) {
|
|
62
|
+
const lineCount = Math.min(label.split(/\r?\n/).length, AgentSessionRenderer_1.APPROVAL_ROW_MAX_LINES);
|
|
63
|
+
return lineCount * AgentSessionRenderer_1._APPROVAL_ROW_LINE_HEIGHT + AgentSessionRenderer_1._APPROVAL_ROW_OVERHEAD;
|
|
64
|
+
}
|
|
45
65
|
constructor(
|
|
46
66
|
options,
|
|
67
|
+
_approvalModel,
|
|
47
68
|
markdownRendererService,
|
|
48
69
|
productService,
|
|
49
70
|
hoverService,
|
|
@@ -52,6 +73,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
52
73
|
) {
|
|
53
74
|
super();
|
|
54
75
|
this.options = options;
|
|
76
|
+
this._approvalModel = _approvalModel;
|
|
55
77
|
this.markdownRendererService = markdownRendererService;
|
|
56
78
|
this.productService = productService;
|
|
57
79
|
this.hoverService = hoverService;
|
|
@@ -59,6 +81,8 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
59
81
|
this.contextKeyService = contextKeyService;
|
|
60
82
|
this.templateId = AgentSessionRenderer_1.TEMPLATE_ID;
|
|
61
83
|
this.sessionHover = this._register(( new MutableDisposable()));
|
|
84
|
+
this._onDidChangeItemHeight = this._register(( new Emitter()));
|
|
85
|
+
this.onDidChangeItemHeight = this._onDidChangeItemHeight.event;
|
|
62
86
|
}
|
|
63
87
|
renderTemplate(container) {
|
|
64
88
|
const disposables = ( new DisposableStore());
|
|
@@ -73,11 +97,18 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
73
97
|
[h("div.agent-session-diff-container@diffContainer", [
|
|
74
98
|
h("span.agent-session-diff-added@addedSpan"),
|
|
75
99
|
h("span.agent-session-diff-removed@removedSpan")
|
|
76
|
-
]), h("div.agent-session-
|
|
77
|
-
h("
|
|
78
|
-
h("span.agent-session-
|
|
100
|
+
]), h("div.agent-session-description@description"), h("div.agent-session-details-right", [
|
|
101
|
+
h("div.agent-session-badge@badge"),
|
|
102
|
+
h("span.agent-session-separator@separator"),
|
|
103
|
+
h("div.agent-session-status@statusContainer", [
|
|
104
|
+
h("span.agent-session-status-provider-icon@statusProviderIcon"),
|
|
105
|
+
h("span.agent-session-status-time@statusTime")
|
|
106
|
+
])
|
|
79
107
|
])]
|
|
80
|
-
)
|
|
108
|
+
), h("div.agent-session-approval-row@approvalRow", [
|
|
109
|
+
h("span.agent-session-approval-label@approvalLabel"),
|
|
110
|
+
h("div.agent-session-approval-button@approvalButtonContainer")
|
|
111
|
+
])])
|
|
81
112
|
]);
|
|
82
113
|
const contextKeyService = disposables.add(this.contextKeyService.createScoped(elements.item));
|
|
83
114
|
const scopedInstantiationService = disposables.add(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, contextKeyService]))));
|
|
@@ -104,10 +135,14 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
104
135
|
diffAddedSpan: elements.addedSpan,
|
|
105
136
|
diffRemovedSpan: elements.removedSpan,
|
|
106
137
|
badge: elements.badge,
|
|
138
|
+
separator: elements.separator,
|
|
107
139
|
description: elements.description,
|
|
108
140
|
statusContainer: elements.statusContainer,
|
|
109
141
|
statusProviderIcon: elements.statusProviderIcon,
|
|
110
142
|
statusTime: elements.statusTime,
|
|
143
|
+
approvalRow: elements.approvalRow,
|
|
144
|
+
approvalLabel: elements.approvalLabel,
|
|
145
|
+
approvalButtonContainer: elements.approvalButtonContainer,
|
|
111
146
|
contextKeyService,
|
|
112
147
|
elementDisposable,
|
|
113
148
|
disposables
|
|
@@ -146,16 +181,17 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
146
181
|
hasAgentSessionChanges = hasDiff;
|
|
147
182
|
}
|
|
148
183
|
ChatContextKeys.hasAgentSessionChanges.bindTo(template.contextKeyService).set(hasAgentSessionChanges);
|
|
149
|
-
|
|
150
|
-
if (!isSessionInProgressStatus(session.element.status)) {
|
|
151
|
-
hasBadge = this.renderBadge(session, template);
|
|
152
|
-
}
|
|
184
|
+
const hasBadge = this.renderBadge(session, template);
|
|
153
185
|
template.badge.classList.toggle("has-badge", hasBadge);
|
|
154
186
|
if (!hasDiff) {
|
|
155
|
-
this.renderDescription(session, template
|
|
187
|
+
this.renderDescription(session, template);
|
|
156
188
|
}
|
|
189
|
+
template.separator.classList.toggle("has-separator", hasBadge);
|
|
157
190
|
this.renderStatus(session, template);
|
|
158
191
|
this.renderHover(session, template);
|
|
192
|
+
if (this._approvalModel) {
|
|
193
|
+
this.renderApprovalRow(session, template);
|
|
194
|
+
}
|
|
159
195
|
}
|
|
160
196
|
renderBadge(session, template) {
|
|
161
197
|
const badge = session.element.badge;
|
|
@@ -209,35 +245,32 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
209
245
|
}
|
|
210
246
|
return Codicon.circleSmallFilled;
|
|
211
247
|
}
|
|
212
|
-
renderDescription(session, template
|
|
248
|
+
renderDescription(session, template) {
|
|
213
249
|
const description = session.element.description;
|
|
214
250
|
if (description) {
|
|
215
251
|
this.renderMarkdownOrText(description, template.description, template.elementDisposable);
|
|
252
|
+
return;
|
|
216
253
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(4992, "Failed after {0}.", duration)) : ( localize(4993, "Completed in {0}.", duration));
|
|
232
|
-
} else {
|
|
233
|
-
template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(4994, "Failed")) : ( localize(4995, "Completed"));
|
|
234
|
-
}
|
|
254
|
+
if (session.element.status === ChatSessionStatus.InProgress) {
|
|
255
|
+
template.description.textContent = ( localize(5126, "Working..."));
|
|
256
|
+
} else if (session.element.status === ChatSessionStatus.NeedsInput) {
|
|
257
|
+
template.description.textContent = ( localize(5127, "Input needed."));
|
|
258
|
+
} else if (session.element.timing.lastRequestEnded && session.element.timing.lastRequestStarted && session.element.timing.lastRequestEnded > session.element.timing.lastRequestStarted) {
|
|
259
|
+
const duration = this.toDuration(
|
|
260
|
+
session.element.timing.lastRequestStarted,
|
|
261
|
+
session.element.timing.lastRequestEnded,
|
|
262
|
+
false,
|
|
263
|
+
true
|
|
264
|
+
);
|
|
265
|
+
template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(5128, "Failed after {0}", duration)) : ( localize(5129, "Completed in {0}", duration));
|
|
266
|
+
} else {
|
|
267
|
+
template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(5130, "Failed")) : ( localize(5131, "Completed"));
|
|
235
268
|
}
|
|
236
269
|
}
|
|
237
270
|
toDuration(startTime, endTime, useFullTimeWords, disallowNow) {
|
|
238
271
|
const elapsed = Math.max(Math.round((endTime - startTime) / 1000) * 1000, 1000 );
|
|
239
272
|
if (!disallowNow && elapsed < 60000) {
|
|
240
|
-
return localize(
|
|
273
|
+
return localize(5132, "now");
|
|
241
274
|
}
|
|
242
275
|
return getDurationString(elapsed, useFullTimeWords);
|
|
243
276
|
}
|
|
@@ -248,17 +281,26 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
248
281
|
timeLabel = this.toDuration(session.timing.lastRequestStarted, Date.now(), false, false);
|
|
249
282
|
}
|
|
250
283
|
if (!timeLabel) {
|
|
251
|
-
const date = session.timing
|
|
284
|
+
const date = getAgentSessionTime(session.timing);
|
|
252
285
|
const seconds = Math.round((( new Date()).getTime() - date) / 1000);
|
|
253
286
|
if (seconds < 60) {
|
|
254
|
-
timeLabel = ( localize(
|
|
287
|
+
timeLabel = ( localize(5132, "now"));
|
|
255
288
|
} else {
|
|
256
|
-
timeLabel =
|
|
289
|
+
timeLabel = sessionDateFromNow(date);
|
|
257
290
|
}
|
|
258
291
|
}
|
|
259
292
|
return timeLabel;
|
|
260
293
|
};
|
|
261
|
-
|
|
294
|
+
const isLocal = session.element.providerType === AgentSessionProviders.Local;
|
|
295
|
+
if (isLocal) {
|
|
296
|
+
template.statusProviderIcon.className = "";
|
|
297
|
+
} else if (this.options.showIsolationIcon && session.element.providerType === AgentSessionProviders.Background) {
|
|
298
|
+
const hasWorktree = typeof session.element.metadata?.worktreePath === "string";
|
|
299
|
+
const isolationIcon = hasWorktree ? Codicon.worktree : Codicon.folder;
|
|
300
|
+
template.statusProviderIcon.className = `agent-session-status-provider-icon ${ThemeIcon.asClassName(isolationIcon)}`;
|
|
301
|
+
} else {
|
|
302
|
+
template.statusProviderIcon.className = `agent-session-status-provider-icon ${ThemeIcon.asClassName(session.element.icon)}`;
|
|
303
|
+
}
|
|
262
304
|
template.statusTime.textContent = getTimeLabel(session.element);
|
|
263
305
|
const timer = template.elementDisposable.add(( new IntervalTimer()));
|
|
264
306
|
timer.cancelAndSet(
|
|
@@ -267,6 +309,9 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
267
309
|
);
|
|
268
310
|
}
|
|
269
311
|
renderHover(session, template) {
|
|
312
|
+
if (this.options.disableHover) {
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
270
315
|
if (!isSessionInProgressStatus(session.element.status) && session.element.isRead()) {
|
|
271
316
|
return;
|
|
272
317
|
}
|
|
@@ -293,6 +338,55 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
293
338
|
}
|
|
294
339
|
};
|
|
295
340
|
}
|
|
341
|
+
renderApprovalRow(session, template) {
|
|
342
|
+
if (this._approvalModel === undefined) {
|
|
343
|
+
throw ( new BugIndicatingError("Approval model is required to render approval row"));
|
|
344
|
+
}
|
|
345
|
+
const approvalModel = this._approvalModel;
|
|
346
|
+
const initialInfo = approvalModel.getApproval(session.element.resource).get();
|
|
347
|
+
let wasVisible = !!initialInfo;
|
|
348
|
+
template.approvalRow.classList.toggle("visible", wasVisible);
|
|
349
|
+
const buttonStore = template.elementDisposable.add(( new DisposableStore()));
|
|
350
|
+
template.elementDisposable.add(autorun(reader => {
|
|
351
|
+
buttonStore.clear();
|
|
352
|
+
const info = approvalModel.getApproval(session.element.resource).read(reader);
|
|
353
|
+
const visible = !!info;
|
|
354
|
+
template.approvalRow.classList.toggle("visible", visible);
|
|
355
|
+
if (info) {
|
|
356
|
+
const lines = info.label.split("\n");
|
|
357
|
+
const maxLines = AgentSessionRenderer_1.APPROVAL_ROW_MAX_LINES;
|
|
358
|
+
const visibleLines = lines.slice(0, maxLines);
|
|
359
|
+
if (lines.length > maxLines) {
|
|
360
|
+
visibleLines[maxLines - 1] = `${visibleLines[maxLines - 1]} \u2026`;
|
|
361
|
+
}
|
|
362
|
+
const langId = info.languageId ?? "json";
|
|
363
|
+
const labelContent = ( new MarkdownString());
|
|
364
|
+
for (const line of visibleLines) {
|
|
365
|
+
labelContent.appendCodeblock(langId, line);
|
|
366
|
+
}
|
|
367
|
+
this.renderMarkdownOrText(labelContent, template.approvalLabel, buttonStore);
|
|
368
|
+
const fullContent = ( new MarkdownString()).appendCodeblock(info.languageId ?? "json", info.label);
|
|
369
|
+
buttonStore.add(this.hoverService.setupDelayedHover(template.approvalLabel, {
|
|
370
|
+
content: fullContent,
|
|
371
|
+
style: HoverStyle.Pointer,
|
|
372
|
+
position: {
|
|
373
|
+
hoverPosition: HoverPosition.BELOW
|
|
374
|
+
}
|
|
375
|
+
}));
|
|
376
|
+
template.approvalButtonContainer.textContent = "";
|
|
377
|
+
const button = buttonStore.add(( new Button(template.approvalButtonContainer, {
|
|
378
|
+
title: ( localize(5133, "Allow once")),
|
|
379
|
+
...defaultButtonStyles
|
|
380
|
+
})));
|
|
381
|
+
button.label = ( localize(5134, "Allow"));
|
|
382
|
+
buttonStore.add(button.onDidClick(() => info.confirm()));
|
|
383
|
+
}
|
|
384
|
+
if (wasVisible !== visible) {
|
|
385
|
+
wasVisible = visible;
|
|
386
|
+
this._onDidChangeItemHeight.fire(session.element);
|
|
387
|
+
}
|
|
388
|
+
}));
|
|
389
|
+
}
|
|
296
390
|
renderCompressedElements(node, index, templateData, details) {
|
|
297
391
|
throw ( new Error("Should never happen since session is incompressible"));
|
|
298
392
|
}
|
|
@@ -303,21 +397,21 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
303
397
|
templateData.disposables.dispose();
|
|
304
398
|
}
|
|
305
399
|
};
|
|
306
|
-
AgentSessionRenderer = AgentSessionRenderer_1 = ( __decorate([( __param(
|
|
400
|
+
AgentSessionRenderer = AgentSessionRenderer_1 = ( __decorate([( __param(2, IMarkdownRendererService)), ( __param(3, IProductService)), ( __param(4, IHoverService)), ( __param(5, IInstantiationService)), ( __param(6, IContextKeyService))], AgentSessionRenderer));
|
|
307
401
|
function toStatusLabel(status) {
|
|
308
402
|
let statusLabel;
|
|
309
403
|
switch (status) {
|
|
310
404
|
case ChatSessionStatus.NeedsInput:
|
|
311
|
-
statusLabel = ( localize(
|
|
405
|
+
statusLabel = ( localize(5135, "Needs Input"));
|
|
312
406
|
break;
|
|
313
407
|
case ChatSessionStatus.InProgress:
|
|
314
|
-
statusLabel = ( localize(
|
|
408
|
+
statusLabel = ( localize(5136, "In Progress"));
|
|
315
409
|
break;
|
|
316
410
|
case ChatSessionStatus.Failed:
|
|
317
|
-
statusLabel = ( localize(
|
|
411
|
+
statusLabel = ( localize(5137, "Failed"));
|
|
318
412
|
break;
|
|
319
413
|
default:
|
|
320
|
-
statusLabel = ( localize(
|
|
414
|
+
statusLabel = ( localize(5138, "Completed"));
|
|
321
415
|
}
|
|
322
416
|
return statusLabel;
|
|
323
417
|
}
|
|
@@ -376,16 +470,27 @@ let AgentSessionSectionRenderer = class AgentSessionSectionRenderer {
|
|
|
376
470
|
AgentSessionSectionRenderer = AgentSessionSectionRenderer_1 = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IContextKeyService))], AgentSessionSectionRenderer));
|
|
377
471
|
class AgentSessionsListDelegate {
|
|
378
472
|
static {
|
|
379
|
-
this.ITEM_HEIGHT =
|
|
473
|
+
this.ITEM_HEIGHT = 54;
|
|
380
474
|
}
|
|
381
475
|
static {
|
|
382
476
|
this.SECTION_HEIGHT = 26;
|
|
383
477
|
}
|
|
478
|
+
constructor(_approvalModel) {
|
|
479
|
+
this._approvalModel = _approvalModel;
|
|
480
|
+
}
|
|
384
481
|
getHeight(element) {
|
|
385
482
|
if (isAgentSessionSection(element)) {
|
|
386
483
|
return AgentSessionsListDelegate.SECTION_HEIGHT;
|
|
387
484
|
}
|
|
388
|
-
|
|
485
|
+
let height = AgentSessionsListDelegate.ITEM_HEIGHT;
|
|
486
|
+
const approval = this._approvalModel?.getApproval(element.resource).get();
|
|
487
|
+
if (approval) {
|
|
488
|
+
height += AgentSessionRenderer.getApprovalRowHeight(approval.label);
|
|
489
|
+
}
|
|
490
|
+
return height;
|
|
491
|
+
}
|
|
492
|
+
hasDynamicHeight(element) {
|
|
493
|
+
return !!this._approvalModel && isAgentSession(element);
|
|
389
494
|
}
|
|
390
495
|
getTemplateId(element) {
|
|
391
496
|
if (isAgentSessionSection(element)) {
|
|
@@ -402,14 +507,14 @@ class AgentSessionsAccessibilityProvider {
|
|
|
402
507
|
return "listitem";
|
|
403
508
|
}
|
|
404
509
|
getWidgetAriaLabel() {
|
|
405
|
-
return localize(
|
|
510
|
+
return localize(5139, "Agent Sessions");
|
|
406
511
|
}
|
|
407
512
|
getAriaLabel(element) {
|
|
408
513
|
if (isAgentSessionSection(element)) {
|
|
409
|
-
return localize(
|
|
514
|
+
return localize(5140, "{0} sessions section", element.label);
|
|
410
515
|
}
|
|
411
516
|
return localize(
|
|
412
|
-
|
|
517
|
+
5141,
|
|
413
518
|
"{0} session {1} ({2}), created {3}",
|
|
414
519
|
element.providerLabel,
|
|
415
520
|
element.label,
|
|
@@ -418,13 +523,16 @@ class AgentSessionsAccessibilityProvider {
|
|
|
418
523
|
);
|
|
419
524
|
}
|
|
420
525
|
}
|
|
421
|
-
class AgentSessionsDataSource {
|
|
526
|
+
class AgentSessionsDataSource extends Disposable {
|
|
422
527
|
static {
|
|
423
528
|
this.CAPPED_SESSIONS_LIMIT = 3;
|
|
424
529
|
}
|
|
425
530
|
constructor(filter, sorter) {
|
|
531
|
+
super();
|
|
426
532
|
this.filter = filter;
|
|
427
533
|
this.sorter = sorter;
|
|
534
|
+
this._onDidGetChildren = this._register(( new Emitter()));
|
|
535
|
+
this.onDidGetChildren = this._onDidGetChildren.event;
|
|
428
536
|
}
|
|
429
537
|
hasChildren(element) {
|
|
430
538
|
if (isAgentSessionsModel(element)) {
|
|
@@ -448,6 +556,7 @@ class AgentSessionsDataSource {
|
|
|
448
556
|
filteredSessions = filteredSessions.slice(0, limitResultsCount);
|
|
449
557
|
}
|
|
450
558
|
this.filter?.notifyResults?.(filteredSessions.length);
|
|
559
|
+
this._onDidGetChildren.fire(filteredSessions.length);
|
|
451
560
|
if (this.filter?.groupResults?.()) {
|
|
452
561
|
return this.groupSessionsIntoSections(filteredSessions);
|
|
453
562
|
}
|
|
@@ -463,6 +572,9 @@ class AgentSessionsDataSource {
|
|
|
463
572
|
groupSessionsIntoSections(sessions) {
|
|
464
573
|
const sortedSessions = sessions.sort(this.sorter.compare.bind(this.sorter));
|
|
465
574
|
if (this.filter?.groupResults?.() === AgentSessionsGrouping.Capped) {
|
|
575
|
+
if (this.filter?.getExcludes().read) {
|
|
576
|
+
return sortedSessions;
|
|
577
|
+
}
|
|
466
578
|
return this.groupSessionsCapped(sortedSessions);
|
|
467
579
|
} else {
|
|
468
580
|
return this.groupSessionsByDate(sortedSessions);
|
|
@@ -481,7 +593,7 @@ class AgentSessionsDataSource {
|
|
|
481
593
|
if (othersSessions.length > 0) {
|
|
482
594
|
result.push({
|
|
483
595
|
section: AgentSessionSection.More,
|
|
484
|
-
label:
|
|
596
|
+
label: AgentSessionSectionLabels[AgentSessionSection.More],
|
|
485
597
|
sessions: othersSessions
|
|
486
598
|
});
|
|
487
599
|
}
|
|
@@ -507,23 +619,21 @@ class AgentSessionsDataSource {
|
|
|
507
619
|
return result;
|
|
508
620
|
}
|
|
509
621
|
}
|
|
510
|
-
const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
|
|
511
|
-
const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
|
|
512
622
|
const AgentSessionSectionLabels = {
|
|
513
|
-
[AgentSessionSection.
|
|
514
|
-
[AgentSessionSection.
|
|
515
|
-
[AgentSessionSection.
|
|
516
|
-
[AgentSessionSection.
|
|
517
|
-
[AgentSessionSection.
|
|
518
|
-
[AgentSessionSection.
|
|
519
|
-
[AgentSessionSection.More]: ( localize(5011, "More"))
|
|
623
|
+
[AgentSessionSection.Today]: ( localize(5142, "Today")),
|
|
624
|
+
[AgentSessionSection.Yesterday]: ( localize(5143, "Yesterday")),
|
|
625
|
+
[AgentSessionSection.Week]: ( localize(5144, "Last 7 days")),
|
|
626
|
+
[AgentSessionSection.Older]: ( localize(5145, "Older")),
|
|
627
|
+
[AgentSessionSection.Archived]: ( localize(5146, "Archived")),
|
|
628
|
+
[AgentSessionSection.More]: ( localize(5147, "More"))
|
|
520
629
|
};
|
|
630
|
+
const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
|
|
631
|
+
const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
|
|
521
632
|
function groupAgentSessionsByDate(sessions) {
|
|
522
633
|
const now = Date.now();
|
|
523
634
|
const startOfToday = ( new Date(now)).setHours(0, 0, 0, 0);
|
|
524
635
|
const startOfYesterday = startOfToday - DAY_THRESHOLD;
|
|
525
636
|
const weekThreshold = now - WEEK_THRESHOLD;
|
|
526
|
-
const inProgressSessions = [];
|
|
527
637
|
const todaySessions = [];
|
|
528
638
|
const yesterdaySessions = [];
|
|
529
639
|
const weekSessions = [];
|
|
@@ -532,10 +642,8 @@ function groupAgentSessionsByDate(sessions) {
|
|
|
532
642
|
for (const session of sessions) {
|
|
533
643
|
if (session.isArchived()) {
|
|
534
644
|
archivedSessions.push(session);
|
|
535
|
-
} else if (isSessionInProgressStatus(session.status)) {
|
|
536
|
-
inProgressSessions.push(session);
|
|
537
645
|
} else {
|
|
538
|
-
const sessionTime = session.timing
|
|
646
|
+
const sessionTime = getAgentSessionTime(session.timing);
|
|
539
647
|
if (sessionTime >= startOfToday) {
|
|
540
648
|
todaySessions.push(session);
|
|
541
649
|
} else if (sessionTime >= startOfYesterday) {
|
|
@@ -547,11 +655,7 @@ function groupAgentSessionsByDate(sessions) {
|
|
|
547
655
|
}
|
|
548
656
|
}
|
|
549
657
|
}
|
|
550
|
-
return (new Map([[AgentSessionSection.
|
|
551
|
-
section: AgentSessionSection.InProgress,
|
|
552
|
-
label: AgentSessionSectionLabels[AgentSessionSection.InProgress],
|
|
553
|
-
sessions: inProgressSessions
|
|
554
|
-
}], [AgentSessionSection.Today, {
|
|
658
|
+
return ( new Map([[AgentSessionSection.Today, {
|
|
555
659
|
section: AgentSessionSection.Today,
|
|
556
660
|
label: AgentSessionSectionLabels[AgentSessionSection.Today],
|
|
557
661
|
sessions: todaySessions
|
|
@@ -569,10 +673,23 @@ function groupAgentSessionsByDate(sessions) {
|
|
|
569
673
|
sessions: olderSessions
|
|
570
674
|
}], [AgentSessionSection.Archived, {
|
|
571
675
|
section: AgentSessionSection.Archived,
|
|
572
|
-
label:
|
|
676
|
+
label: AgentSessionSectionLabels[AgentSessionSection.Archived],
|
|
573
677
|
sessions: archivedSessions
|
|
574
678
|
}]]));
|
|
575
679
|
}
|
|
680
|
+
function sessionDateFromNow(sessionTime) {
|
|
681
|
+
const now = Date.now();
|
|
682
|
+
const startOfToday = ( new Date(now)).setHours(0, 0, 0, 0);
|
|
683
|
+
const startOfYesterday = startOfToday - DAY_THRESHOLD;
|
|
684
|
+
const startOfTwoDaysAgo = startOfYesterday - DAY_THRESHOLD;
|
|
685
|
+
if (sessionTime < startOfToday && sessionTime >= startOfYesterday) {
|
|
686
|
+
return localize(5148, "1 day");
|
|
687
|
+
}
|
|
688
|
+
if (sessionTime < startOfYesterday && sessionTime >= startOfTwoDaysAgo) {
|
|
689
|
+
return localize(5149, "2 days");
|
|
690
|
+
}
|
|
691
|
+
return fromNow(sessionTime, false);
|
|
692
|
+
}
|
|
576
693
|
class AgentSessionsIdentityProvider {
|
|
577
694
|
getId(element) {
|
|
578
695
|
if (isAgentSessionSection(element)) {
|
|
@@ -608,14 +725,6 @@ class AgentSessionsSorter {
|
|
|
608
725
|
if (!aNeedsInput && bNeedsInput) {
|
|
609
726
|
return 1;
|
|
610
727
|
}
|
|
611
|
-
const aInProgress = sessionA.status === ChatSessionStatus.InProgress;
|
|
612
|
-
const bInProgress = sessionB.status === ChatSessionStatus.InProgress;
|
|
613
|
-
if (aInProgress && !bInProgress) {
|
|
614
|
-
return -1;
|
|
615
|
-
}
|
|
616
|
-
if (!aInProgress && bInProgress) {
|
|
617
|
-
return 1;
|
|
618
|
-
}
|
|
619
728
|
const aArchived = sessionA.isArchived();
|
|
620
729
|
const bArchived = sessionB.isArchived();
|
|
621
730
|
if (!aArchived && bArchived) {
|
|
@@ -628,8 +737,8 @@ class AgentSessionsSorter {
|
|
|
628
737
|
if (typeof override === "number") {
|
|
629
738
|
return override;
|
|
630
739
|
}
|
|
631
|
-
const timeA = sessionA.timing
|
|
632
|
-
const timeB = sessionB.timing
|
|
740
|
+
const timeA = getAgentSessionTime(sessionA.timing);
|
|
741
|
+
const timeB = getAgentSessionTime(sessionB.timing);
|
|
633
742
|
return timeB - timeA;
|
|
634
743
|
}
|
|
635
744
|
}
|
|
@@ -665,7 +774,7 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
|
|
|
665
774
|
if (sessions.length === 1) {
|
|
666
775
|
return sessions[0].label;
|
|
667
776
|
}
|
|
668
|
-
return localize(
|
|
777
|
+
return localize(5150, "{0} agent sessions", sessions.length);
|
|
669
778
|
}
|
|
670
779
|
onDragOver(data, targetElement, targetIndex, targetSector, originalEvent) {
|
|
671
780
|
return false;
|
|
@@ -674,4 +783,4 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
|
|
|
674
783
|
};
|
|
675
784
|
AgentSessionsDragAndDrop = ( __decorate([( __param(0, IInstantiationService))], AgentSessionsDragAndDrop));
|
|
676
785
|
|
|
677
|
-
export { AgentSessionRenderer, AgentSessionSectionLabels, AgentSessionSectionRenderer, AgentSessionsAccessibilityProvider, AgentSessionsCompressionDelegate, AgentSessionsDataSource, AgentSessionsDragAndDrop, AgentSessionsIdentityProvider, AgentSessionsKeyboardNavigationLabelProvider, AgentSessionsListDelegate, AgentSessionsSorter, groupAgentSessionsByDate, toStatusLabel };
|
|
786
|
+
export { AgentSessionRenderer, AgentSessionSectionLabels, AgentSessionSectionRenderer, AgentSessionsAccessibilityProvider, AgentSessionsCompressionDelegate, AgentSessionsDataSource, AgentSessionsDragAndDrop, AgentSessionsIdentityProvider, AgentSessionsKeyboardNavigationLabelProvider, AgentSessionsListDelegate, AgentSessionsSorter, groupAgentSessionsByDate, sessionDateFromNow, toStatusLabel };
|