@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
|
@@ -22,6 +22,7 @@ import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/asyn
|
|
|
22
22
|
import { ITerminalChatService, ITerminalService, ITerminalConfigurationService, ITerminalEditorService, ITerminalGroupService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
23
23
|
import { Disposable, MutableDisposable, toDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
24
24
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
25
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
25
26
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
26
27
|
import { getTerminalCommandDecorationTooltip, getTerminalCommandDecorationState, DecorationSelector } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/xterm/decorationStyles';
|
|
27
28
|
import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
|
|
@@ -33,7 +34,7 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
|
33
34
|
import { stripIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iconLabels';
|
|
34
35
|
import { IAccessibleViewService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView.service';
|
|
35
36
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
36
|
-
import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
37
|
+
import { AccessibilityWorkbenchSettingId, AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
37
38
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
38
39
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
39
40
|
import { DetachedTerminalCommandMirror, DetachedTerminalSnapshotMirror } from '../../../../../terminal/browser/chatTerminalCommandMirror.js';
|
|
@@ -56,10 +57,15 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
|
|
|
56
57
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
57
58
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
58
59
|
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
60
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
59
61
|
|
|
60
62
|
registerCss(chatTerminalToolProgressPart);
|
|
61
63
|
const MIN_OUTPUT_ROWS = 1;
|
|
62
64
|
const MAX_OUTPUT_ROWS = 10;
|
|
65
|
+
const MAX_COMMAND_TITLE_LENGTH = 50;
|
|
66
|
+
const MAX_OUTPUT_POLL_RETRIES = 10;
|
|
67
|
+
const OUTPUT_POLL_DELAY_MS = 100;
|
|
68
|
+
const MIN_DATA_EVENTS_FOR_REAL_OUTPUT = 2;
|
|
63
69
|
const expandedStateByInvocation = ( new WeakMap());
|
|
64
70
|
let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposable {
|
|
65
71
|
constructor(_options, _hoverService) {
|
|
@@ -194,6 +200,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
194
200
|
this._continueInBackgroundAction = this._register(( new MutableDisposable()));
|
|
195
201
|
this._userToggledOutput = false;
|
|
196
202
|
this._isInThinkingContainer = false;
|
|
203
|
+
this._usesCollapsibleWrapper = false;
|
|
197
204
|
this._elementIndex = context.elementIndex;
|
|
198
205
|
this._contentIndex = context.contentIndex;
|
|
199
206
|
this._sessionResource = context.element.sessionResource;
|
|
@@ -274,7 +281,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
274
281
|
const markdownOptions = {
|
|
275
282
|
codeBlockRenderOptions,
|
|
276
283
|
accessibilityOptions: pastTenseMessage ? {
|
|
277
|
-
statusMessage: ( localize(
|
|
284
|
+
statusMessage: ( localize(6681, "{0}", stripIcons(pastTenseMessage)))
|
|
278
285
|
} : undefined
|
|
279
286
|
};
|
|
280
287
|
this.markdownPart = this._register(_instantiationService.createInstance(
|
|
@@ -299,12 +306,24 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
299
306
|
));
|
|
300
307
|
this._decoration.update();
|
|
301
308
|
const terminalToolsInThinking = this._configurationService.getValue(ChatConfiguration.TerminalToolsInThinking);
|
|
309
|
+
const isSimpleTerminal = this._configurationService.getValue(ChatConfiguration.SimpleTerminalCollapsible);
|
|
302
310
|
const requiresConfirmation = toolInvocation.kind === "toolInvocation" && IChatToolInvocation.getConfirmationMessages(toolInvocation);
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
311
|
+
this._isInThinkingContainer = terminalToolsInThinking && !requiresConfirmation;
|
|
312
|
+
this._usesCollapsibleWrapper = this._isInThinkingContainer || isSimpleTerminal;
|
|
313
|
+
if (this._usesCollapsibleWrapper) {
|
|
314
|
+
this.domNode = this._createCollapsibleWrapper(progressPart.domNode, displayCommand, toolInvocation, context);
|
|
306
315
|
} else {
|
|
307
316
|
this.domNode = progressPart.domNode;
|
|
317
|
+
const updateCheckmarks = () => this.domNode.classList.toggle(
|
|
318
|
+
"show-checkmarks",
|
|
319
|
+
!!this._configurationService.getValue(AccessibilityWorkbenchSettingId.ShowChatCheckmarks)
|
|
320
|
+
);
|
|
321
|
+
updateCheckmarks();
|
|
322
|
+
this._register(this._configurationService.onDidChangeConfiguration(e => {
|
|
323
|
+
if (e.affectsConfiguration(AccessibilityWorkbenchSettingId.ShowChatCheckmarks)) {
|
|
324
|
+
updateCheckmarks();
|
|
325
|
+
}
|
|
326
|
+
}));
|
|
308
327
|
}
|
|
309
328
|
const hasStoredOutput = !!terminalData.terminalCommandOutput;
|
|
310
329
|
if (expandedStateByInvocation.get(toolInvocation) || (this._isInThinkingContainer && IChatToolInvocation.isComplete(toolInvocation) && hasStoredOutput)) {
|
|
@@ -313,8 +332,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
313
332
|
this._register(this._terminalChatService.registerProgressPart(this));
|
|
314
333
|
}
|
|
315
334
|
_createCollapsibleWrapper(contentElement, commandText, toolInvocation, context) {
|
|
316
|
-
const
|
|
317
|
-
const truncatedCommand = commandText.length > maxCommandLength ? commandText.substring(0, maxCommandLength) + "..." : commandText;
|
|
335
|
+
const truncatedCommand = commandText.length > MAX_COMMAND_TITLE_LENGTH ? commandText.substring(0, MAX_COMMAND_TITLE_LENGTH) + "..." : commandText;
|
|
318
336
|
const isComplete = IChatToolInvocation.isComplete(toolInvocation);
|
|
319
337
|
const autoExpandFailures = this._configurationService.getValue(ChatConfiguration.AutoExpandToolFailures);
|
|
320
338
|
const hasError = autoExpandFailures && this._terminalData.terminalCommandState?.exitCode !== undefined && this._terminalData.terminalCommandState.exitCode !== 0;
|
|
@@ -328,6 +346,15 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
328
346
|
isComplete
|
|
329
347
|
));
|
|
330
348
|
this._thinkingCollapsibleWrapper = wrapper;
|
|
349
|
+
let isFirstRun = true;
|
|
350
|
+
this._register(autorun(r => {
|
|
351
|
+
const expanded = wrapper.expanded.read(r);
|
|
352
|
+
if (isFirstRun) {
|
|
353
|
+
isFirstRun = false;
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
this._toggleOutput(expanded);
|
|
357
|
+
}));
|
|
331
358
|
return wrapper.domNode;
|
|
332
359
|
}
|
|
333
360
|
expandCollapsibleWrapper() {
|
|
@@ -441,7 +468,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
441
468
|
if (this._store.isDisposed) {
|
|
442
469
|
return;
|
|
443
470
|
}
|
|
444
|
-
if (this.
|
|
471
|
+
if (this._usesCollapsibleWrapper) {
|
|
445
472
|
return;
|
|
446
473
|
}
|
|
447
474
|
const resolvedCommand = command ?? this._getResolvedCommand();
|
|
@@ -492,6 +519,9 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
492
519
|
}
|
|
493
520
|
this._decoration.update();
|
|
494
521
|
}
|
|
522
|
+
_shouldAutoExpand() {
|
|
523
|
+
return !this._outputView.isExpanded && !this._userToggledOutput && !this._store.isDisposed && !expandedStateByInvocation.get(this.toolInvocation);
|
|
524
|
+
}
|
|
495
525
|
_registerInstanceListener(terminalInstance) {
|
|
496
526
|
const commandDetectionListener = this._register(( new MutableDisposable()));
|
|
497
527
|
const tryResolveCommand = async () => {
|
|
@@ -523,16 +553,16 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
523
553
|
if (cursorLine > command.executedMarker.line) {
|
|
524
554
|
return true;
|
|
525
555
|
}
|
|
526
|
-
return receivedDataCount >
|
|
556
|
+
return receivedDataCount > MIN_DATA_EVENTS_FOR_REAL_OUTPUT;
|
|
527
557
|
};
|
|
528
558
|
const autoExpand = store.add(( new TerminalToolAutoExpand({
|
|
529
559
|
commandDetection,
|
|
530
560
|
onWillData: terminalInstance.onWillData,
|
|
531
|
-
shouldAutoExpand: () =>
|
|
561
|
+
shouldAutoExpand: () => this._shouldAutoExpand(),
|
|
532
562
|
hasRealOutput
|
|
533
563
|
})));
|
|
534
564
|
store.add(autoExpand.onDidRequestExpand(() => {
|
|
535
|
-
if (this.
|
|
565
|
+
if (this._usesCollapsibleWrapper) {
|
|
536
566
|
this.expandCollapsibleWrapper();
|
|
537
567
|
}
|
|
538
568
|
this._toggleOutput(true);
|
|
@@ -546,14 +576,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
546
576
|
store.add(commandDetection.onCommandFinished(() => {
|
|
547
577
|
this._addActions(terminalInstance, this._terminalData.terminalToolSessionId);
|
|
548
578
|
const resolvedCommand = this._getResolvedCommand(terminalInstance);
|
|
549
|
-
this.
|
|
550
|
-
if (resolvedCommand?.exitCode === 0 && this._outputView.isExpanded && !this._userToggledOutput) {
|
|
551
|
-
this._toggleOutput(false);
|
|
552
|
-
}
|
|
553
|
-
const autoExpandFailures = this._configurationService.getValue(ChatConfiguration.AutoExpandToolFailures);
|
|
554
|
-
if (autoExpandFailures && resolvedCommand?.exitCode !== undefined && resolvedCommand.exitCode !== 0 && this._thinkingCollapsibleWrapper) {
|
|
555
|
-
this.expandCollapsibleWrapper();
|
|
556
|
-
}
|
|
579
|
+
this._handleCommandCompletion(resolvedCommand);
|
|
557
580
|
if (resolvedCommand?.endMarker) {
|
|
558
581
|
commandDetectionListener.clear();
|
|
559
582
|
}
|
|
@@ -562,14 +585,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
562
585
|
const resolvedImmediately = await tryResolveCommand();
|
|
563
586
|
if (resolvedImmediately?.endMarker) {
|
|
564
587
|
commandDetectionListener.clear();
|
|
565
|
-
this.
|
|
566
|
-
if (resolvedImmediately.exitCode === 0 && this._outputView.isExpanded && !this._userToggledOutput) {
|
|
567
|
-
this._toggleOutput(false);
|
|
568
|
-
}
|
|
569
|
-
const autoExpandFailures = this._configurationService.getValue(ChatConfiguration.AutoExpandToolFailures);
|
|
570
|
-
if (autoExpandFailures && resolvedImmediately.exitCode !== undefined && resolvedImmediately.exitCode !== 0 && this._thinkingCollapsibleWrapper) {
|
|
571
|
-
this.expandCollapsibleWrapper();
|
|
572
|
-
}
|
|
588
|
+
this._handleCommandCompletion(resolvedImmediately);
|
|
573
589
|
return;
|
|
574
590
|
}
|
|
575
591
|
};
|
|
@@ -623,6 +639,16 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
|
|
|
623
639
|
}
|
|
624
640
|
this._continueInBackgroundAction.clear();
|
|
625
641
|
}
|
|
642
|
+
_handleCommandCompletion(resolvedCommand) {
|
|
643
|
+
this.markCollapsibleWrapperComplete();
|
|
644
|
+
if (resolvedCommand?.exitCode === 0 && this._outputView.isExpanded && !this._userToggledOutput) {
|
|
645
|
+
this._toggleOutput(false);
|
|
646
|
+
}
|
|
647
|
+
const autoExpandFailures = this._configurationService.getValue(ChatConfiguration.AutoExpandToolFailures);
|
|
648
|
+
if (autoExpandFailures && resolvedCommand?.exitCode !== undefined && resolvedCommand.exitCode !== 0 && this._thinkingCollapsibleWrapper) {
|
|
649
|
+
this.expandCollapsibleWrapper();
|
|
650
|
+
}
|
|
651
|
+
}
|
|
626
652
|
async _toggleOutput(expanded) {
|
|
627
653
|
const didChange = await this._outputView.toggle(expanded);
|
|
628
654
|
const isExpanded = this._outputView.isExpanded;
|
|
@@ -835,7 +861,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
835
861
|
if (!commandText) {
|
|
836
862
|
return;
|
|
837
863
|
}
|
|
838
|
-
const ariaLabel = ( localize(
|
|
864
|
+
const ariaLabel = ( localize(6682, "Terminal output for {0}", commandText));
|
|
839
865
|
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
840
866
|
scrollableDomNode.setAttribute("role", "region");
|
|
841
867
|
const accessibleViewHint = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.TerminalChatOutput);
|
|
@@ -848,26 +874,26 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
848
874
|
if (!commandText) {
|
|
849
875
|
return undefined;
|
|
850
876
|
}
|
|
851
|
-
const commandHeader = ( localize(
|
|
877
|
+
const commandHeader = ( localize(6683, "Command: {0}", commandText));
|
|
852
878
|
if (command) {
|
|
853
879
|
const rawOutput = command.getOutput();
|
|
854
880
|
if (!rawOutput || rawOutput.trim().length === 0) {
|
|
855
|
-
return `${commandHeader}\n${( localize(
|
|
881
|
+
return `${commandHeader}\n${( localize(6684, "No output was produced by the command."))}`;
|
|
856
882
|
}
|
|
857
883
|
const lines = rawOutput.split("\n");
|
|
858
884
|
return `${commandHeader}\n${lines.join("\n").trimEnd()}`;
|
|
859
885
|
}
|
|
860
886
|
const snapshot = this._getTerminalCommandOutput();
|
|
861
887
|
if (!snapshot) {
|
|
862
|
-
return `${commandHeader}\n${( localize(
|
|
888
|
+
return `${commandHeader}\n${( localize(6685, "Command output is no longer available."))}`;
|
|
863
889
|
}
|
|
864
890
|
const plain = removeAnsiEscapeCodes((snapshot.text ?? ""));
|
|
865
891
|
if (!plain.trim().length) {
|
|
866
|
-
return `${commandHeader}\n${( localize(
|
|
892
|
+
return `${commandHeader}\n${( localize(6684, "No output was produced by the command."))}`;
|
|
867
893
|
}
|
|
868
894
|
let outputText = plain.trimEnd();
|
|
869
895
|
if (snapshot.truncated) {
|
|
870
|
-
outputText += `\n${( localize(
|
|
896
|
+
outputText += `\n${( localize(6686, "Output truncated."))}`;
|
|
871
897
|
}
|
|
872
898
|
return `${commandHeader}\n${outputText}`;
|
|
873
899
|
}
|
|
@@ -946,7 +972,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
946
972
|
if (result.lineCount && result.lineCount > 0) {
|
|
947
973
|
this._hideEmptyMessage();
|
|
948
974
|
}
|
|
949
|
-
this._layoutOutput(result.lineCount
|
|
975
|
+
this._layoutOutput(result.lineCount);
|
|
950
976
|
if (this._isAtBottom) {
|
|
951
977
|
this._scrollOutputToBottom();
|
|
952
978
|
}
|
|
@@ -961,9 +987,8 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
961
987
|
let commandFinished = !!command.endMarker;
|
|
962
988
|
let hasOutput = result && result.lineCount && result.lineCount > 0;
|
|
963
989
|
if (!hasOutput) {
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
await timeout(100);
|
|
990
|
+
for (let retry = 0; retry < MAX_OUTPUT_POLL_RETRIES && !hasOutput; retry++) {
|
|
991
|
+
await timeout(OUTPUT_POLL_DELAY_MS);
|
|
967
992
|
if (this._store.isDisposed) {
|
|
968
993
|
return true;
|
|
969
994
|
}
|
|
@@ -977,17 +1002,17 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
977
1002
|
}
|
|
978
1003
|
if (!hasOutput) {
|
|
979
1004
|
if (commandFinished) {
|
|
980
|
-
this._showEmptyMessage(( localize(
|
|
1005
|
+
this._showEmptyMessage(( localize(6684, "No output was produced by the command.")));
|
|
981
1006
|
}
|
|
982
1007
|
} else {
|
|
983
1008
|
this._hideEmptyMessage();
|
|
984
1009
|
}
|
|
985
|
-
this._layoutOutput(result?.lineCount ?? 0
|
|
1010
|
+
this._layoutOutput(result?.lineCount ?? 0);
|
|
986
1011
|
return true;
|
|
987
1012
|
}
|
|
988
1013
|
async _renderSnapshotOutput(snapshot) {
|
|
989
1014
|
if (this._snapshotMirror) {
|
|
990
|
-
this._layoutOutput(snapshot.lineCount ?? 0
|
|
1015
|
+
this._layoutOutput(snapshot.lineCount ?? 0);
|
|
991
1016
|
return;
|
|
992
1017
|
}
|
|
993
1018
|
if (this._store.isDisposed) {
|
|
@@ -1004,18 +1029,18 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1004
1029
|
if (hasText) {
|
|
1005
1030
|
this._hideEmptyMessage();
|
|
1006
1031
|
} else {
|
|
1007
|
-
this._showEmptyMessage(( localize(
|
|
1032
|
+
this._showEmptyMessage(( localize(6684, "No output was produced by the command.")));
|
|
1008
1033
|
}
|
|
1009
1034
|
const lineCount = result?.lineCount ?? snapshot.lineCount ?? 0;
|
|
1010
|
-
this._layoutOutput(lineCount
|
|
1035
|
+
this._layoutOutput(lineCount);
|
|
1011
1036
|
}
|
|
1012
1037
|
_renderUnavailableMessage(liveTerminalInstance) {
|
|
1013
1038
|
clearNode(this._terminalContainer);
|
|
1014
1039
|
this._lastRenderedLineCount = undefined;
|
|
1015
1040
|
if (!liveTerminalInstance) {
|
|
1016
|
-
this._showEmptyMessage(( localize(
|
|
1041
|
+
this._showEmptyMessage(( localize(6687, "Terminal is no longer available.")));
|
|
1017
1042
|
} else {
|
|
1018
|
-
this._showEmptyMessage(( localize(
|
|
1043
|
+
this._showEmptyMessage(( localize(6688, "Command information is not available.")));
|
|
1019
1044
|
}
|
|
1020
1045
|
}
|
|
1021
1046
|
async _resolveLiveTerminal() {
|
|
@@ -1055,7 +1080,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1055
1080
|
this._scrollableContainer.scanDomNode();
|
|
1056
1081
|
}
|
|
1057
1082
|
}
|
|
1058
|
-
_layoutOutput(lineCount
|
|
1083
|
+
_layoutOutput(lineCount) {
|
|
1059
1084
|
if (!this._scrollableContainer) {
|
|
1060
1085
|
return;
|
|
1061
1086
|
}
|
|
@@ -1064,17 +1089,11 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1064
1089
|
} else {
|
|
1065
1090
|
lineCount = this._lastRenderedLineCount;
|
|
1066
1091
|
}
|
|
1067
|
-
if (maxColumnWidth !== undefined) {
|
|
1068
|
-
this._lastRenderedMaxColumnWidth = maxColumnWidth;
|
|
1069
|
-
} else {
|
|
1070
|
-
maxColumnWidth = this._lastRenderedMaxColumnWidth;
|
|
1071
|
-
}
|
|
1072
1092
|
this._scrollableContainer.scanDomNode();
|
|
1073
1093
|
if (!this.isExpanded || lineCount === undefined) {
|
|
1074
1094
|
return;
|
|
1075
1095
|
}
|
|
1076
1096
|
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
1077
|
-
this._applyContentWidth(maxColumnWidth);
|
|
1078
1097
|
const rowHeight = this._computeRowHeightPx();
|
|
1079
1098
|
const padding = this._getOutputPadding();
|
|
1080
1099
|
const minHeight = rowHeight * MIN_OUTPUT_ROWS + padding;
|
|
@@ -1117,34 +1136,6 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1117
1136
|
const paddingBottom = Number.parseFloat(style.paddingBottom || "0");
|
|
1118
1137
|
return paddingTop + paddingBottom;
|
|
1119
1138
|
}
|
|
1120
|
-
_applyContentWidth(maxColumnWidth) {
|
|
1121
|
-
if (!this._scrollableContainer) {
|
|
1122
|
-
return;
|
|
1123
|
-
}
|
|
1124
|
-
const window = getActiveWindow();
|
|
1125
|
-
const font = this._terminalConfigurationService.getFont(window);
|
|
1126
|
-
const charWidth = font.charWidth;
|
|
1127
|
-
if (!charWidth || !maxColumnWidth || maxColumnWidth <= 0) {
|
|
1128
|
-
return;
|
|
1129
|
-
}
|
|
1130
|
-
const horizontalPadding = 24;
|
|
1131
|
-
const cursorWidth = charWidth;
|
|
1132
|
-
const contentWidth = Math.ceil(maxColumnWidth * charWidth) + horizontalPadding + cursorWidth;
|
|
1133
|
-
const parentWidth = this.domNode.parentElement?.clientWidth ?? 0;
|
|
1134
|
-
const scrollableDomNode = this._scrollableContainer.getDomNode();
|
|
1135
|
-
if (parentWidth > 0 && contentWidth < parentWidth) {
|
|
1136
|
-
scrollableDomNode.style.width = `${contentWidth}px`;
|
|
1137
|
-
this._outputBody.style.width = `${contentWidth}px`;
|
|
1138
|
-
this._terminalContainer.style.width = `${contentWidth}px`;
|
|
1139
|
-
this._terminalContainer.classList.add("chat-terminal-output-terminal-clipped");
|
|
1140
|
-
} else {
|
|
1141
|
-
scrollableDomNode.style.width = "";
|
|
1142
|
-
this._outputBody.style.width = "";
|
|
1143
|
-
this._terminalContainer.style.width = "";
|
|
1144
|
-
this._terminalContainer.classList.remove("chat-terminal-output-terminal-clipped");
|
|
1145
|
-
}
|
|
1146
|
-
this._scrollableContainer.scanDomNode();
|
|
1147
|
-
}
|
|
1148
1139
|
_computeRowHeightPx() {
|
|
1149
1140
|
const window = getActiveWindow();
|
|
1150
1141
|
const font = this._terminalConfigurationService.getFont(window);
|
|
@@ -1168,7 +1159,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
|
|
|
1168
1159
|
ChatTerminalToolOutputSection = ( __decorate([( __param(5, IAccessibleViewService)), ( __param(6, IInstantiationService)), ( __param(7, ITerminalConfigurationService)), ( __param(8, IThemeService)), ( __param(9, IContextKeyService))], ChatTerminalToolOutputSection));
|
|
1169
1160
|
let ToggleChatTerminalOutputAction = class ToggleChatTerminalOutputAction extends Action {
|
|
1170
1161
|
constructor(_toggle, _keybindingService, _telemetryService) {
|
|
1171
|
-
super(TerminalContribCommandId.ToggleChatTerminalOutput, ( localize(
|
|
1162
|
+
super(TerminalContribCommandId.ToggleChatTerminalOutput, ( localize(6689, "Show Output")), ThemeIcon.asClassName(Codicon.chevronRight), true);
|
|
1172
1163
|
this._toggle = _toggle;
|
|
1173
1164
|
this._keybindingService = _keybindingService;
|
|
1174
1165
|
this._telemetryService = _telemetryService;
|
|
@@ -1191,10 +1182,10 @@ let ToggleChatTerminalOutputAction = class ToggleChatTerminalOutputAction extend
|
|
|
1191
1182
|
}
|
|
1192
1183
|
_updatePresentation() {
|
|
1193
1184
|
if (this._expanded) {
|
|
1194
|
-
this.label = ( localize(
|
|
1185
|
+
this.label = ( localize(6690, "Hide Output"));
|
|
1195
1186
|
this.class = ThemeIcon.asClassName(Codicon.chevronDown);
|
|
1196
1187
|
} else {
|
|
1197
|
-
this.label = ( localize(
|
|
1188
|
+
this.label = ( localize(6689, "Show Output"));
|
|
1198
1189
|
this.class = ThemeIcon.asClassName(Codicon.chevronRight);
|
|
1199
1190
|
}
|
|
1200
1191
|
}
|
|
@@ -1218,7 +1209,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
|
|
|
1218
1209
|
) {
|
|
1219
1210
|
super(
|
|
1220
1211
|
TerminalContribCommandId.FocusChatInstanceAction,
|
|
1221
|
-
isTerminalHidden ? ( localize(
|
|
1212
|
+
isTerminalHidden ? ( localize(6691, "Show and Focus Terminal")) : ( localize(6692, "Focus Terminal")),
|
|
1222
1213
|
ThemeIcon.asClassName(Codicon.openInProduct),
|
|
1223
1214
|
true
|
|
1224
1215
|
);
|
|
@@ -1234,7 +1225,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
|
|
|
1234
1225
|
this._updateTooltip();
|
|
1235
1226
|
}
|
|
1236
1227
|
async run() {
|
|
1237
|
-
this.label = this._instance?.shellLaunchConfig.hideFromUser ? ( localize(
|
|
1228
|
+
this.label = this._instance?.shellLaunchConfig.hideFromUser ? ( localize(6693, "Show and Focus Terminal")) : ( localize(6692, "Focus Terminal"));
|
|
1238
1229
|
this._updateTooltip();
|
|
1239
1230
|
let target = "none";
|
|
1240
1231
|
let location = "panel";
|
|
@@ -1291,7 +1282,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
|
|
|
1291
1282
|
FocusChatInstanceAction = ( __decorate([( __param(5, ITerminalService)), ( __param(6, ITerminalEditorService)), ( __param(7, ITerminalGroupService)), ( __param(8, IKeybindingService)), ( __param(9, ITelemetryService))], FocusChatInstanceAction));
|
|
1292
1283
|
let ContinueInBackgroundAction = class ContinueInBackgroundAction extends Action {
|
|
1293
1284
|
constructor(_terminalToolSessionId, _terminalChatService) {
|
|
1294
|
-
super(TerminalContribCommandId.ContinueInBackground, ( localize(
|
|
1285
|
+
super(TerminalContribCommandId.ContinueInBackground, ( localize(6694, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true);
|
|
1295
1286
|
this._terminalToolSessionId = _terminalToolSessionId;
|
|
1296
1287
|
this._terminalChatService = _terminalChatService;
|
|
1297
1288
|
}
|
|
@@ -1307,14 +1298,18 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1307
1298
|
context,
|
|
1308
1299
|
initialExpanded,
|
|
1309
1300
|
isComplete,
|
|
1310
|
-
hoverService
|
|
1301
|
+
hoverService,
|
|
1302
|
+
configurationService
|
|
1311
1303
|
) {
|
|
1312
1304
|
const title = isComplete ? `Ran \`${commandText}\`` : `Running \`${commandText}\``;
|
|
1313
|
-
super(title, context, undefined, hoverService);
|
|
1305
|
+
super(title, context, undefined, hoverService, configurationService);
|
|
1314
1306
|
this._terminalContentElement = contentElement;
|
|
1315
1307
|
this._commandText = commandText;
|
|
1316
1308
|
this._isComplete = isComplete;
|
|
1317
1309
|
this.domNode.classList.add("chat-terminal-thinking-collapsible");
|
|
1310
|
+
if (isComplete) {
|
|
1311
|
+
this.icon = Codicon.check;
|
|
1312
|
+
}
|
|
1318
1313
|
this._setCodeFormattedTitle();
|
|
1319
1314
|
this.setExpanded(initialExpanded);
|
|
1320
1315
|
}
|
|
@@ -1324,7 +1319,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1324
1319
|
}
|
|
1325
1320
|
const labelElement = this._collapseButton.labelElement;
|
|
1326
1321
|
labelElement.textContent = "";
|
|
1327
|
-
const prefixText = this._isComplete ? ( localize(
|
|
1322
|
+
const prefixText = this._isComplete ? ( localize(6695, "Ran ")) : ( localize(6696, "Running "));
|
|
1328
1323
|
const ranText = createTextNode(prefixText);
|
|
1329
1324
|
const codeElement = createElement("code");
|
|
1330
1325
|
codeElement.textContent = this._commandText;
|
|
@@ -1336,6 +1331,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1336
1331
|
return;
|
|
1337
1332
|
}
|
|
1338
1333
|
this._isComplete = true;
|
|
1334
|
+
this.icon = Codicon.check;
|
|
1339
1335
|
this._setCodeFormattedTitle();
|
|
1340
1336
|
}
|
|
1341
1337
|
initContent() {
|
|
@@ -1350,6 +1346,6 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
|
|
|
1350
1346
|
return false;
|
|
1351
1347
|
}
|
|
1352
1348
|
};
|
|
1353
|
-
ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(5, IHoverService))], ChatTerminalThinkingCollapsibleWrapper));
|
|
1349
|
+
ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(5, IHoverService)), ( __param(6, IConfigurationService))], ChatTerminalThinkingCollapsibleWrapper));
|
|
1354
1350
|
|
|
1355
1351
|
export { ChatTerminalToolProgressPart, ContinueInBackgroundAction, FocusChatInstanceAction, ToggleChatTerminalOutputAction };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Separator } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
|
|
2
2
|
import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
|
|
3
|
-
import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
|
|
4
3
|
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
5
4
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
6
5
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
@@ -13,7 +12,7 @@ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/
|
|
|
13
12
|
import { ILanguageModelToolsConfirmationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service";
|
|
14
13
|
import { IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
15
14
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
16
|
-
import { IChatContentPartRenderContext } from "
|
|
15
|
+
import { IChatContentPartRenderContext } from "../chatContentParts.js";
|
|
17
16
|
import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service";
|
|
18
17
|
import { AbstractToolConfirmationSubPart } from "./abstractToolConfirmationSubPart.js";
|
|
19
18
|
import { EditorPool } from "../chatContentCodePools.js";
|
|
@@ -23,7 +22,6 @@ export declare class ToolConfirmationSubPart extends AbstractToolConfirmationSub
|
|
|
23
22
|
private readonly currentWidthDelegate;
|
|
24
23
|
private readonly codeBlockModelCollection;
|
|
25
24
|
private readonly codeBlockStartIndex;
|
|
26
|
-
private readonly modelService;
|
|
27
25
|
private readonly languageService;
|
|
28
26
|
private readonly commandService;
|
|
29
27
|
private readonly markerService;
|
|
@@ -31,8 +29,8 @@ export declare class ToolConfirmationSubPart extends AbstractToolConfirmationSub
|
|
|
31
29
|
private readonly confirmationService;
|
|
32
30
|
private markdownParts;
|
|
33
31
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
34
|
-
constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockModelCollection: CodeBlockModelCollection, codeBlockStartIndex: number, instantiationService: IInstantiationService, keybindingService: IKeybindingService,
|
|
35
|
-
protected additionalPrimaryActions(): (Separator | import("
|
|
32
|
+
constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockModelCollection: CodeBlockModelCollection, codeBlockStartIndex: number, instantiationService: IInstantiationService, keybindingService: IKeybindingService, languageService: ILanguageService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, commandService: ICommandService, markerService: IMarkerService, languageModelToolsService: ILanguageModelToolsService, chatMarkdownAnchorService: IChatMarkdownAnchorService, confirmationService: ILanguageModelToolsConfirmationService);
|
|
33
|
+
protected additionalPrimaryActions(): (Separator | import("./abstractToolConfirmationSubPart.js").IAbstractToolPrimaryAction)[];
|
|
36
34
|
protected createContentElement(): HTMLElement | string;
|
|
37
35
|
protected getTitle(): string;
|
|
38
36
|
private _makeMarkdownPart;
|
|
@@ -10,7 +10,6 @@ import { isEmptyObject } from '@codingame/monaco-vscode-api/vscode/vs/base/commo
|
|
|
10
10
|
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
11
11
|
import { ElementSizeObserver } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/config/elementSizeObserver';
|
|
12
12
|
import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
|
|
13
|
-
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
14
13
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
15
14
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
16
15
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
@@ -44,7 +43,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
44
43
|
codeBlockStartIndex,
|
|
45
44
|
instantiationService,
|
|
46
45
|
keybindingService,
|
|
47
|
-
modelService,
|
|
48
46
|
languageService,
|
|
49
47
|
contextKeyService,
|
|
50
48
|
chatWidgetService,
|
|
@@ -72,7 +70,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
72
70
|
this.currentWidthDelegate = currentWidthDelegate;
|
|
73
71
|
this.codeBlockModelCollection = codeBlockModelCollection;
|
|
74
72
|
this.codeBlockStartIndex = codeBlockStartIndex;
|
|
75
|
-
this.modelService = modelService;
|
|
76
73
|
this.languageService = languageService;
|
|
77
74
|
this.commandService = commandService;
|
|
78
75
|
this.markerService = markerService;
|
|
@@ -82,8 +79,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
82
79
|
this.render({
|
|
83
80
|
allowActionId: AcceptToolConfirmationActionId,
|
|
84
81
|
skipActionId: SkipToolConfirmationActionId,
|
|
85
|
-
allowLabel: state.confirmationMessages.confirmResults ? ( localize(
|
|
86
|
-
skipLabel: ( localize(
|
|
82
|
+
allowLabel: state.confirmationMessages.confirmResults ? ( localize(6697, "Allow and Review Once")) : ( localize(6698, "Allow Once")),
|
|
83
|
+
skipLabel: ( localize(6699, "Proceed without running this tool")),
|
|
87
84
|
partType: "chatToolConfirmation",
|
|
88
85
|
subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value
|
|
89
86
|
});
|
|
@@ -108,6 +105,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
108
105
|
actions.push({
|
|
109
106
|
label: action.label,
|
|
110
107
|
tooltip: action.detail,
|
|
108
|
+
scope: action.scope,
|
|
111
109
|
data: async () => {
|
|
112
110
|
const shouldConfirm = await action.select();
|
|
113
111
|
if (shouldConfirm) {
|
|
@@ -121,7 +119,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
121
119
|
}
|
|
122
120
|
if (state.confirmationMessages?.confirmResults) {
|
|
123
121
|
actions.unshift({
|
|
124
|
-
label: ( localize(
|
|
122
|
+
label: ( localize(6700, "Allow and Skip Reviewing Result")),
|
|
125
123
|
data: () => {
|
|
126
124
|
state.confirmationMessages.confirmResults = undefined;
|
|
127
125
|
this.confirmWith(this.toolInvocation, {
|
|
@@ -156,11 +154,11 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
156
154
|
};
|
|
157
155
|
const elements = h("div", [h(".message@messageContainer", [
|
|
158
156
|
h(".message-wrapper@message"),
|
|
159
|
-
h(".see-more@showMore", [h("a", [( localize(
|
|
157
|
+
h(".see-more@showMore", [h("a", [( localize(6701, "Show More"))])])
|
|
160
158
|
]), h(".editor@editor"), h(".disclaimer@disclaimer")]);
|
|
161
159
|
if (toolInvocation.toolSpecificData?.kind === "input" && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) {
|
|
162
160
|
const titleEl = createElement("h3");
|
|
163
|
-
titleEl.textContent = ( localize(
|
|
161
|
+
titleEl.textContent = ( localize(6702, "Input"));
|
|
164
162
|
elements.editor.appendChild(titleEl);
|
|
165
163
|
const inputData = toolInvocation.toolSpecificData;
|
|
166
164
|
const codeBlockRenderOptions = {
|
|
@@ -177,10 +175,13 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
177
175
|
const langId = this.languageService.getLanguageIdByLanguageName("json");
|
|
178
176
|
const rawJsonInput = JSON.stringify(inputData.rawInput ?? {}, null, 1);
|
|
179
177
|
const canSeeMore = count(rawJsonInput, "\n") > 2;
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
rawJsonInput.replace(/\n */g, " "),
|
|
183
|
-
|
|
178
|
+
const modelRef = this._register(this.context.inlineTextModels.acquire(
|
|
179
|
+
createToolInputUri(toolInvocation.toolCallId),
|
|
180
|
+
rawJsonInput.replace(/\n */g, " "),
|
|
181
|
+
this.languageService.createById(langId),
|
|
182
|
+
true
|
|
183
|
+
));
|
|
184
|
+
const model = modelRef.object;
|
|
184
185
|
const markerOwner = generateUuid();
|
|
185
186
|
const schemaUri = createToolSchemaUri(toolInvocation.toolId);
|
|
186
187
|
const validator = ( new RunOnceScheduler(async () => {
|
|
@@ -225,9 +226,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
225
226
|
uriPromise: Promise.resolve(model.uri),
|
|
226
227
|
chatSessionResource: this.context.element.sessionResource
|
|
227
228
|
});
|
|
228
|
-
this._register(editor.object.onDidChangeContentHeight(() => {
|
|
229
|
-
editor.object.layout(this.currentWidthDelegate());
|
|
230
|
-
}));
|
|
231
229
|
this._register(model.onDidChangeContent(e => {
|
|
232
230
|
try {
|
|
233
231
|
inputData.rawInput = JSON.parse(model.getValue());
|
|
@@ -236,7 +234,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
236
234
|
elements.editor.append(editor.object.element);
|
|
237
235
|
if (canSeeMore) {
|
|
238
236
|
const seeMore = h("div.see-more", [h("a@link")]);
|
|
239
|
-
seeMore.link.textContent = ( localize(
|
|
237
|
+
seeMore.link.textContent = ( localize(6703, "See more"));
|
|
240
238
|
this._register(addDisposableGenericMouseDownListener(seeMore.link, () => {
|
|
241
239
|
try {
|
|
242
240
|
const parsed = JSON.parse(model.getValue());
|
|
@@ -303,6 +301,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
|
|
|
303
301
|
return part;
|
|
304
302
|
}
|
|
305
303
|
};
|
|
306
|
-
ToolConfirmationSubPart = ( __decorate([( __param(7, IInstantiationService)), ( __param(8, IKeybindingService)), ( __param(9,
|
|
304
|
+
ToolConfirmationSubPart = ( __decorate([( __param(7, IInstantiationService)), ( __param(8, IKeybindingService)), ( __param(9, ILanguageService)), ( __param(10, IContextKeyService)), ( __param(11, IChatWidgetService)), ( __param(12, ICommandService)), ( __param(13, IMarkerService)), ( __param(14, ILanguageModelToolsService)), ( __param(15, IChatMarkdownAnchorService)), ( __param(16, ILanguageModelToolsConfirmationService))], ToolConfirmationSubPart));
|
|
307
305
|
|
|
308
306
|
export { ToolConfirmationSubPart };
|
|
@@ -3,10 +3,11 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
3
3
|
import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
|
|
4
4
|
import { IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
5
5
|
import { IChatRendererContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel";
|
|
6
|
+
import { IChatTodoListService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/chatTodoListService.service";
|
|
6
7
|
import { CodeBlockModelCollection } from "../../../../common/widget/codeBlockModelCollection.js";
|
|
7
8
|
import { ChatTreeItem, IChatCodeBlockInfo } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat";
|
|
8
9
|
import { EditorPool } from "../chatContentCodePools.js";
|
|
9
|
-
import { IChatContentPart, IChatContentPartRenderContext } from "
|
|
10
|
+
import { IChatContentPart, IChatContentPartRenderContext } from "../chatContentParts.js";
|
|
10
11
|
import { CollapsibleListPool } from "../chatReferencesContentPart.js";
|
|
11
12
|
export declare class ChatToolInvocationPart extends Disposable implements IChatContentPart {
|
|
12
13
|
private readonly toolInvocation;
|
|
@@ -19,13 +20,14 @@ export declare class ChatToolInvocationPart extends Disposable implements IChatC
|
|
|
19
20
|
private readonly announcedToolProgressKeys;
|
|
20
21
|
private readonly codeBlockStartIndex;
|
|
21
22
|
private readonly instantiationService;
|
|
23
|
+
private readonly chatTodoListService;
|
|
22
24
|
readonly domNode: HTMLElement;
|
|
23
25
|
get codeblocks(): IChatCodeBlockInfo[];
|
|
24
26
|
get codeblocksPartId(): string | undefined;
|
|
25
27
|
private subPart;
|
|
26
28
|
private mcpAppPart;
|
|
27
29
|
private readonly _onDidRemount;
|
|
28
|
-
constructor(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockModelCollection: CodeBlockModelCollection, announcedToolProgressKeys: Set<string> | undefined, codeBlockStartIndex: number, instantiationService: IInstantiationService);
|
|
30
|
+
constructor(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, listPool: CollapsibleListPool, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockModelCollection: CodeBlockModelCollection, announcedToolProgressKeys: Set<string> | undefined, codeBlockStartIndex: number, instantiationService: IInstantiationService, chatTodoListService: IChatTodoListService);
|
|
29
31
|
private createToolInvocationSubPart;
|
|
30
32
|
/**
|
|
31
33
|
* Gets MCP App render data if this tool invocation has MCP App UI.
|