@codingame/monaco-vscode-katex-common 31.0.1 → 32.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 +15 -3
- package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +6 -5
- package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +5 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +45 -14
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +15 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +51 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +45 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +13 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +46 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +155 -46
- 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 +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +37 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +250 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +14 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +7 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +51 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +56 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +68 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +653 -75
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +28 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +91 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +53 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
- 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 +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +42 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +93 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +169 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +13 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +60 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +13 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +125 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +29 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +119 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +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 +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/media/toolRiskBadge.css +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +125 -0
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +132 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +16 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +156 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +93 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +133 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +53 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +288 -125
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +23 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +699 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +12 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +12 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +191 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatPhoneInputPresenter.css +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +9 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +89 -108
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +521 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +19 -19
- package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionStorageKeys.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +44 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +3 -46
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.d.ts → inlineChatAffordanceWidget.d.ts} +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/{inlineChatEditorAffordance.js → inlineChatAffordanceWidget.js} +6 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -18
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +19 -400
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -9
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +5 -19
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +47 -133
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +103 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +29 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +3 -32
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -92
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
- 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/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +99 -32
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +13 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +76 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +89 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +11 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +7 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +11 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +59 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +24 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +111 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +60 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +455 -171
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +49 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +302 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +118 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +34 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +233 -48
- package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +0 -16
- package/vscode/src/vs/platform/actions/browser/actionbar.js +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -539
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -386
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +0 -101
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +0 -509
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -130
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +0 -276
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +0 -93
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +0 -39
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +0 -617
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +0 -231
package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
3
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
|
-
import { $, append } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { $, append, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
5
|
import { renderIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
6
6
|
import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
7
7
|
import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
@@ -9,6 +9,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
|
|
|
9
9
|
import { fromNow, getDurationString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
|
|
10
10
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
11
11
|
import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
12
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
12
13
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
13
14
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
14
15
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
@@ -18,8 +19,10 @@ import { ChatViewModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/
|
|
|
18
19
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
19
20
|
import { ChatListWidget } from '../widget/chatListWidget.js';
|
|
20
21
|
import { getAgentSessionProvider, AgentSessionProviders, getAgentSessionProviderIcon, getAgentSessionProviderName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
22
|
+
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
21
23
|
import { getAgentChangesSummary, hasValidDiff } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
|
|
22
24
|
import * as agentSessionHoverWidget from './media/agentSessionHoverWidget.css';
|
|
25
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
23
26
|
import { ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
24
27
|
|
|
25
28
|
registerCss(agentSessionHoverWidget);
|
|
@@ -27,12 +30,19 @@ const HEADER_HEIGHT = 60;
|
|
|
27
30
|
const CHAT_LIST_HEIGHT = 240;
|
|
28
31
|
const CHAT_HOVER_WIDTH = 500;
|
|
29
32
|
let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
|
|
30
|
-
constructor(
|
|
33
|
+
constructor(
|
|
34
|
+
session,
|
|
35
|
+
chatService,
|
|
36
|
+
instantiationService,
|
|
37
|
+
chatWidgetService,
|
|
38
|
+
agentSessionsService
|
|
39
|
+
) {
|
|
31
40
|
super();
|
|
32
41
|
this.session = session;
|
|
33
42
|
this.chatService = chatService;
|
|
34
43
|
this.instantiationService = instantiationService;
|
|
35
44
|
this.chatWidgetService = chatWidgetService;
|
|
45
|
+
this.agentSessionsService = agentSessionsService;
|
|
36
46
|
this.hasRendered = false;
|
|
37
47
|
this.domNode = $(".agent-session-hover.interactive-session");
|
|
38
48
|
this.domNode.style.width = `${CHAT_HOVER_WIDTH}px`;
|
|
@@ -135,20 +145,32 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
|
|
|
135
145
|
const startTime = session.timing.lastRequestStarted ?? session.timing.created;
|
|
136
146
|
append(detailsRow, $("span", undefined, fromNow(startTime, true, true)));
|
|
137
147
|
}
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
const diffSeparator = append(detailsRow, $("span.separator", undefined, "•"));
|
|
149
|
+
const diffContainer = append(detailsRow, $(".agent-session-hover-diff"));
|
|
150
|
+
diffSeparator.style.display = "none";
|
|
151
|
+
diffContainer.style.display = "none";
|
|
152
|
+
const observed = this.agentSessionsService.model.observeSession(session.resource);
|
|
153
|
+
this._register(autorun(reader => {
|
|
154
|
+
const latest = observed.read(reader) ?? session;
|
|
155
|
+
const diff = getAgentChangesSummary(latest.changes);
|
|
156
|
+
clearNode(diffContainer);
|
|
157
|
+
if (diff && hasValidDiff(latest.changes)) {
|
|
158
|
+
diffSeparator.style.display = "";
|
|
159
|
+
diffContainer.style.display = "";
|
|
160
|
+
if (diff.files > 0) {
|
|
161
|
+
append(diffContainer, $("span", undefined, diff.files === 1 ? ( localize(5165, "1 file")) : ( localize(5166, "{0} files", diff.files))));
|
|
162
|
+
}
|
|
163
|
+
if (diff.insertions > 0) {
|
|
164
|
+
append(diffContainer, $("span.insertions", undefined, `+${diff.insertions}`));
|
|
165
|
+
}
|
|
166
|
+
if (diff.deletions > 0) {
|
|
167
|
+
append(diffContainer, $("span.deletions", undefined, `-${diff.deletions}`));
|
|
168
|
+
}
|
|
169
|
+
} else {
|
|
170
|
+
diffSeparator.style.display = "none";
|
|
171
|
+
diffContainer.style.display = "none";
|
|
150
172
|
}
|
|
151
|
-
}
|
|
173
|
+
}));
|
|
152
174
|
if (session.status !== ChatSessionStatus.Completed) {
|
|
153
175
|
append(detailsRow, $("span.separator", undefined, "•"));
|
|
154
176
|
append(detailsRow, $("span", undefined, this.toStatusLabel(session.status)));
|
|
@@ -156,7 +178,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
|
|
|
156
178
|
if (session.isArchived()) {
|
|
157
179
|
append(detailsRow, $("span.separator", undefined, "•"));
|
|
158
180
|
append(detailsRow, renderIcon(Codicon.archive));
|
|
159
|
-
append(detailsRow, $("span", undefined, ( localize(
|
|
181
|
+
append(detailsRow, $("span", undefined, ( localize(5167, "Archived"))));
|
|
160
182
|
}
|
|
161
183
|
}
|
|
162
184
|
buildFallbackTooltip(session) {
|
|
@@ -193,7 +215,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
|
|
|
193
215
|
if (diff && hasValidDiff(session.changes)) {
|
|
194
216
|
const diffParts = [];
|
|
195
217
|
if (diff.files > 0) {
|
|
196
|
-
diffParts.push(diff.files === 1 ? ( localize(
|
|
218
|
+
diffParts.push(diff.files === 1 ? ( localize(5165, "1 file")) : ( localize(5166, "{0} files", diff.files)));
|
|
197
219
|
}
|
|
198
220
|
if (diff.insertions > 0) {
|
|
199
221
|
diffParts.push(`+${diff.insertions}`);
|
|
@@ -210,7 +232,7 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
|
|
|
210
232
|
}
|
|
211
233
|
lines.push(details.join(" • "));
|
|
212
234
|
if (session.isArchived()) {
|
|
213
|
-
lines.push(`$(archive) ${( localize(
|
|
235
|
+
lines.push(`$(archive) ${( localize(5167, "Archived"))}`);
|
|
214
236
|
}
|
|
215
237
|
return ( new MarkdownString(lines.join("\n\n"), {
|
|
216
238
|
supportThemeIcons: true
|
|
@@ -227,20 +249,20 @@ let AgentSessionHoverWidget = class AgentSessionHoverWidget extends Disposable {
|
|
|
227
249
|
let statusLabel;
|
|
228
250
|
switch (status) {
|
|
229
251
|
case ChatSessionStatus.NeedsInput:
|
|
230
|
-
statusLabel = ( localize(
|
|
252
|
+
statusLabel = ( localize(5168, "Needs Input"));
|
|
231
253
|
break;
|
|
232
254
|
case ChatSessionStatus.InProgress:
|
|
233
|
-
statusLabel = ( localize(
|
|
255
|
+
statusLabel = ( localize(5169, "In Progress"));
|
|
234
256
|
break;
|
|
235
257
|
case ChatSessionStatus.Failed:
|
|
236
|
-
statusLabel = ( localize(
|
|
258
|
+
statusLabel = ( localize(5170, "Failed"));
|
|
237
259
|
break;
|
|
238
260
|
default:
|
|
239
|
-
statusLabel = ( localize(
|
|
261
|
+
statusLabel = ( localize(5171, "Completed"));
|
|
240
262
|
}
|
|
241
263
|
return statusLabel;
|
|
242
264
|
}
|
|
243
265
|
};
|
|
244
|
-
AgentSessionHoverWidget = ( __decorate([( __param(1, IChatService)), ( __param(2, IInstantiationService)), ( __param(3, IChatWidgetService))], AgentSessionHoverWidget));
|
|
266
|
+
AgentSessionHoverWidget = ( __decorate([( __param(1, IChatService)), ( __param(2, IInstantiationService)), ( __param(3, IChatWidgetService)), ( __param(4, IAgentSessionsService))], AgentSessionHoverWidget));
|
|
245
267
|
|
|
246
268
|
export { AgentSessionHoverWidget };
|
|
@@ -122,9 +122,9 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
|
|
|
122
122
|
this.emptyFilterMessage = append(container, $(".agent-sessions-empty-filter-message"));
|
|
123
123
|
hide(this.emptyFilterMessage);
|
|
124
124
|
const span = append(this.emptyFilterMessage, $("span"));
|
|
125
|
-
span.textContent = `${( localize(
|
|
125
|
+
span.textContent = `${( localize(5240, "No matching sessions"))} - `;
|
|
126
126
|
const link = append(this.emptyFilterMessage, $("span.reset-filter-link"));
|
|
127
|
-
link.textContent = ( localize(
|
|
127
|
+
link.textContent = ( localize(5241, "Reset Filter"));
|
|
128
128
|
link.tabIndex = 0;
|
|
129
129
|
link.setAttribute("role", "button");
|
|
130
130
|
this._register(
|
|
@@ -681,9 +681,11 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
|
|
|
681
681
|
}
|
|
682
682
|
focus() {
|
|
683
683
|
this.sessionsList?.domFocus();
|
|
684
|
-
|
|
685
|
-
this.sessionsList?.
|
|
686
|
-
|
|
684
|
+
try {
|
|
685
|
+
if ((this.sessionsList?.getFocus().length ?? 0) === 0) {
|
|
686
|
+
this.sessionsList?.focusFirst();
|
|
687
|
+
}
|
|
688
|
+
} catch {}
|
|
687
689
|
}
|
|
688
690
|
clearFocus() {
|
|
689
691
|
this.sessionsList?.setFocus([]);
|
|
@@ -709,8 +711,12 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
|
|
|
709
711
|
if (!session || !this.sessionsList.hasNode(session)) {
|
|
710
712
|
return false;
|
|
711
713
|
}
|
|
712
|
-
|
|
713
|
-
this.sessionsList.
|
|
714
|
+
try {
|
|
715
|
+
if (this.sessionsList.getRelativeTop(session) === null) {
|
|
716
|
+
this.sessionsList.reveal(session, 0.5);
|
|
717
|
+
}
|
|
718
|
+
} catch {
|
|
719
|
+
return false;
|
|
714
720
|
}
|
|
715
721
|
this.sessionsList.setFocus([session]);
|
|
716
722
|
this.sessionsList.setSelection([session]);
|
|
@@ -142,7 +142,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
142
142
|
constructor() {
|
|
143
143
|
super({
|
|
144
144
|
id: `agentSessions.filter.sortByCreated.${menuId.id.toLowerCase()}`,
|
|
145
|
-
title: ( localize(
|
|
145
|
+
title: ( localize(5242, "Sort by Created")),
|
|
146
146
|
menu: {
|
|
147
147
|
id: menuId,
|
|
148
148
|
group: "0_sort",
|
|
@@ -159,7 +159,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
159
159
|
constructor() {
|
|
160
160
|
super({
|
|
161
161
|
id: `agentSessions.filter.sortByUpdated.${menuId.id.toLowerCase()}`,
|
|
162
|
-
title: ( localize(
|
|
162
|
+
title: ( localize(5243, "Sort by Updated")),
|
|
163
163
|
menu: {
|
|
164
164
|
id: menuId,
|
|
165
165
|
group: "0_sort",
|
|
@@ -235,16 +235,16 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
235
235
|
registerStateActions(disposables, menuId) {
|
|
236
236
|
const states = [{
|
|
237
237
|
id: ChatSessionStatus.Completed,
|
|
238
|
-
label: ( localize(
|
|
238
|
+
label: ( localize(5244, "Completed"))
|
|
239
239
|
}, {
|
|
240
240
|
id: ChatSessionStatus.InProgress,
|
|
241
|
-
label: ( localize(
|
|
241
|
+
label: ( localize(5245, "In Progress"))
|
|
242
242
|
}, {
|
|
243
243
|
id: ChatSessionStatus.NeedsInput,
|
|
244
|
-
label: ( localize(
|
|
244
|
+
label: ( localize(5246, "Input Needed"))
|
|
245
245
|
}, {
|
|
246
246
|
id: ChatSessionStatus.Failed,
|
|
247
|
-
label: ( localize(
|
|
247
|
+
label: ( localize(5247, "Failed"))
|
|
248
248
|
}];
|
|
249
249
|
const that = this;
|
|
250
250
|
let counter = 0;
|
|
@@ -281,7 +281,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
281
281
|
constructor() {
|
|
282
282
|
super({
|
|
283
283
|
id: `agentSessions.filter.toggleExcludeArchived.${menuId.id.toLowerCase()}`,
|
|
284
|
-
title: ( localize(
|
|
284
|
+
title: ( localize(5248, "Archived")),
|
|
285
285
|
menu: {
|
|
286
286
|
id: menuId,
|
|
287
287
|
group: "3_props",
|
|
@@ -304,7 +304,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
304
304
|
constructor() {
|
|
305
305
|
super({
|
|
306
306
|
id: `agentSessions.filter.toggleExcludeRead.${menuId.id.toLowerCase()}`,
|
|
307
|
-
title: ( localize(
|
|
307
|
+
title: ( localize(5249, "Read")),
|
|
308
308
|
menu: {
|
|
309
309
|
id: menuId,
|
|
310
310
|
group: "3_props",
|
|
@@ -335,7 +335,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
|
|
|
335
335
|
constructor() {
|
|
336
336
|
super({
|
|
337
337
|
id: `agentSessions.filter.resetExcludes.${menuId.id.toLowerCase()}`,
|
|
338
|
-
title: ( localize(
|
|
338
|
+
title: ( localize(5250, "Reset")),
|
|
339
339
|
menu: {
|
|
340
340
|
id: menuId,
|
|
341
341
|
group: "4_reset",
|
|
@@ -3,8 +3,10 @@ import { isLocalAgentSessionItem } from '@codingame/monaco-vscode-api/vscode/vs/
|
|
|
3
3
|
import { ChatViewPaneTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
4
4
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
5
5
|
import { ACTIVE_GROUP, SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
|
|
6
|
+
import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
6
7
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
7
8
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
9
|
+
import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
8
10
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
9
11
|
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
10
12
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
@@ -71,8 +73,8 @@ async function openSessionDefault(accessor, session, openOptions) {
|
|
|
71
73
|
} else {
|
|
72
74
|
target = ChatViewPaneTarget;
|
|
73
75
|
}
|
|
74
|
-
const isLocalChatSession = session.resource.scheme === Schemas.vscodeChatEditor || session.resource
|
|
75
|
-
if (!isLocalChatSession && !(await chatSessionsService.canResolveChatSession(session.resource
|
|
76
|
+
const isLocalChatSession = session.resource.scheme === Schemas.vscodeChatEditor || getChatSessionType(session.resource) === localChatSessionType;
|
|
77
|
+
if (!isLocalChatSession && !(await chatSessionsService.canResolveChatSession(getChatSessionType(session.resource)))) {
|
|
76
78
|
target = openOptions?.sideBySide ? SIDE_GROUP : ACTIVE_GROUP;
|
|
77
79
|
options = {
|
|
78
80
|
...options,
|
|
@@ -81,7 +83,7 @@ async function openSessionDefault(accessor, session, openOptions) {
|
|
|
81
83
|
}
|
|
82
84
|
return await chatWidgetService.openSession(session.resource, target, options);
|
|
83
85
|
} catch (error) {
|
|
84
|
-
notificationService.error(( localize(
|
|
86
|
+
notificationService.error(( localize(5252, "Failed to open chat session: {0}", toErrorMessage(error))));
|
|
85
87
|
return undefined;
|
|
86
88
|
}
|
|
87
89
|
}
|
|
@@ -23,6 +23,7 @@ import { AgentSessionsGrouping, AgentSessionsSorting } from "./agentSessionsFilt
|
|
|
23
23
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
24
24
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
25
25
|
import { AgentSessionApprovalModel } from "./agentSessionApprovalModel.js";
|
|
26
|
+
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
26
27
|
export type AgentSessionListItem = IAgentSession | IAgentSessionSection | IAgentSessionShowMore | IAgentSessionShowLess;
|
|
27
28
|
interface IAgentSessionItemTemplate {
|
|
28
29
|
readonly element: HTMLElement;
|
|
@@ -63,6 +64,7 @@ export declare class AgentSessionRenderer extends Disposable implements ICompres
|
|
|
63
64
|
private readonly hoverService;
|
|
64
65
|
private readonly instantiationService;
|
|
65
66
|
private readonly contextKeyService;
|
|
67
|
+
private readonly chatSessionsService;
|
|
66
68
|
static readonly TEMPLATE_ID = "agent-session";
|
|
67
69
|
static readonly APPROVAL_ROW_MAX_LINES = 3;
|
|
68
70
|
private static readonly _APPROVAL_ROW_LINE_HEIGHT;
|
|
@@ -72,9 +74,10 @@ export declare class AgentSessionRenderer extends Disposable implements ICompres
|
|
|
72
74
|
private readonly sessionHover;
|
|
73
75
|
private readonly _onDidChangeItemHeight;
|
|
74
76
|
readonly onDidChangeItemHeight: Event<IAgentSession>;
|
|
75
|
-
constructor(options: IAgentSessionRendererOptions, _approvalModel: AgentSessionApprovalModel | undefined, _activeSessionResource: IObservable<URI | undefined>, markdownRendererService: IMarkdownRendererService, productService: IProductService, hoverService: IHoverService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService);
|
|
77
|
+
constructor(options: IAgentSessionRendererOptions, _approvalModel: AgentSessionApprovalModel | undefined, _activeSessionResource: IObservable<URI | undefined>, markdownRendererService: IMarkdownRendererService, productService: IProductService, hoverService: IHoverService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, chatSessionsService: IChatSessionsService);
|
|
76
78
|
renderTemplate(container: HTMLElement): IAgentSessionItemTemplate;
|
|
77
79
|
renderElement(session: ITreeNode<IAgentSession, FuzzyScore>, index: number, template: IAgentSessionItemTemplate, details?: ITreeElementRenderDetails): void;
|
|
80
|
+
private triggerResolve;
|
|
78
81
|
private renderBadge;
|
|
79
82
|
private stripCodicons;
|
|
80
83
|
private renderMarkdownOrText;
|
|
@@ -39,6 +39,8 @@ import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/b
|
|
|
39
39
|
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
40
40
|
import { BugIndicatingError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
41
41
|
import { compareIgnoreCase } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
|
|
42
|
+
import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
43
|
+
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
42
44
|
import { ChatSessionStatus, isSessionInProgressStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
43
45
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
44
46
|
|
|
@@ -72,7 +74,8 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
72
74
|
productService,
|
|
73
75
|
hoverService,
|
|
74
76
|
instantiationService,
|
|
75
|
-
contextKeyService
|
|
77
|
+
contextKeyService,
|
|
78
|
+
chatSessionsService
|
|
76
79
|
) {
|
|
77
80
|
super();
|
|
78
81
|
this.options = options;
|
|
@@ -83,6 +86,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
83
86
|
this.hoverService = hoverService;
|
|
84
87
|
this.instantiationService = instantiationService;
|
|
85
88
|
this.contextKeyService = contextKeyService;
|
|
89
|
+
this.chatSessionsService = chatSessionsService;
|
|
86
90
|
this.templateId = AgentSessionRenderer_1.TEMPLATE_ID;
|
|
87
91
|
this.sessionHover = this._register(( new MutableDisposable()));
|
|
88
92
|
this._onDidChangeItemHeight = this._register(( new Emitter()));
|
|
@@ -232,6 +236,16 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
232
236
|
if (this._approvalModel) {
|
|
233
237
|
this.renderApprovalRow(session, template);
|
|
234
238
|
}
|
|
239
|
+
this.triggerResolve(session, template);
|
|
240
|
+
}
|
|
241
|
+
triggerResolve(session, template) {
|
|
242
|
+
const cts = ( new CancellationTokenSource());
|
|
243
|
+
template.elementDisposable.add({
|
|
244
|
+
dispose() {
|
|
245
|
+
cts.dispose(true);
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
this.chatSessionsService.resolveChatSessionItem(session.element.providerType, session.element.resource, cts.token).catch(() => {});
|
|
235
249
|
}
|
|
236
250
|
renderBadge(session, template) {
|
|
237
251
|
if (this.options.hideSessionBadge) {
|
|
@@ -378,13 +392,13 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
378
392
|
return true;
|
|
379
393
|
}
|
|
380
394
|
if (session.element.status === ChatSessionStatus.InProgress) {
|
|
381
|
-
template.description.textContent = ( localize(
|
|
395
|
+
template.description.textContent = ( localize(5259, "Working..."));
|
|
382
396
|
return true;
|
|
383
397
|
} else if (session.element.status === ChatSessionStatus.NeedsInput) {
|
|
384
|
-
template.description.textContent = ( localize(
|
|
398
|
+
template.description.textContent = ( localize(5260, "Input needed."));
|
|
385
399
|
return true;
|
|
386
400
|
} else if (session.element.status === ChatSessionStatus.Failed) {
|
|
387
|
-
template.description.textContent = ( localize(
|
|
401
|
+
template.description.textContent = ( localize(5261, "Failed"));
|
|
388
402
|
return true;
|
|
389
403
|
}
|
|
390
404
|
template.description.textContent = "";
|
|
@@ -393,7 +407,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
393
407
|
toDuration(startTime, endTime, useFullTimeWords, disallowNow) {
|
|
394
408
|
const elapsed = Math.max(Math.round((endTime - startTime) / 1000) * 1000, 1000 );
|
|
395
409
|
if (!disallowNow && elapsed < 60000) {
|
|
396
|
-
return localize(
|
|
410
|
+
return localize(5262, "now");
|
|
397
411
|
}
|
|
398
412
|
return getDurationString(elapsed, useFullTimeWords);
|
|
399
413
|
}
|
|
@@ -408,7 +422,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
408
422
|
const date = this.options.isSortedByUpdated?.() ? session.timing.lastRequestEnded ?? session.timing.created : session.timing.created;
|
|
409
423
|
const seconds = Math.round((( new Date()).getTime() - date) / 1000);
|
|
410
424
|
if (seconds < 60) {
|
|
411
|
-
timeLabel = ( localize(
|
|
425
|
+
timeLabel = ( localize(5262, "now"));
|
|
412
426
|
} else {
|
|
413
427
|
timeLabel = sessionDateFromNow(date, true);
|
|
414
428
|
}
|
|
@@ -491,11 +505,11 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
491
505
|
template.approvalButtonContainer.textContent = "";
|
|
492
506
|
const isActive = this._activeSessionResource.read(reader)?.toString() === ( session.element.resource.toString());
|
|
493
507
|
const button = buttonStore.add(( new Button(template.approvalButtonContainer, {
|
|
494
|
-
title: ( localize(
|
|
508
|
+
title: ( localize(5263, "Allow once")),
|
|
495
509
|
secondary: isActive,
|
|
496
510
|
...defaultButtonStyles
|
|
497
511
|
})));
|
|
498
|
-
button.label = ( localize(
|
|
512
|
+
button.label = ( localize(5264, "Allow"));
|
|
499
513
|
buttonStore.add(button.onDidClick(() => info.confirm()));
|
|
500
514
|
}
|
|
501
515
|
if (wasVisible !== visible) {
|
|
@@ -514,21 +528,21 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
|
|
|
514
528
|
templateData.disposables.dispose();
|
|
515
529
|
}
|
|
516
530
|
};
|
|
517
|
-
AgentSessionRenderer = AgentSessionRenderer_1 = ( __decorate([( __param(3, IMarkdownRendererService)), ( __param(4, IProductService)), ( __param(5, IHoverService)), ( __param(6, IInstantiationService)), ( __param(7, IContextKeyService))], AgentSessionRenderer));
|
|
531
|
+
AgentSessionRenderer = AgentSessionRenderer_1 = ( __decorate([( __param(3, IMarkdownRendererService)), ( __param(4, IProductService)), ( __param(5, IHoverService)), ( __param(6, IInstantiationService)), ( __param(7, IContextKeyService)), ( __param(8, IChatSessionsService))], AgentSessionRenderer));
|
|
518
532
|
function toStatusLabel(status) {
|
|
519
533
|
let statusLabel;
|
|
520
534
|
switch (status) {
|
|
521
535
|
case ChatSessionStatus.NeedsInput:
|
|
522
|
-
statusLabel = ( localize(
|
|
536
|
+
statusLabel = ( localize(5265, "Needs Input"));
|
|
523
537
|
break;
|
|
524
538
|
case ChatSessionStatus.InProgress:
|
|
525
|
-
statusLabel = ( localize(
|
|
539
|
+
statusLabel = ( localize(5266, "In Progress"));
|
|
526
540
|
break;
|
|
527
541
|
case ChatSessionStatus.Failed:
|
|
528
|
-
statusLabel = ( localize(
|
|
542
|
+
statusLabel = ( localize(5267, "Failed"));
|
|
529
543
|
break;
|
|
530
544
|
default:
|
|
531
|
-
statusLabel = ( localize(
|
|
545
|
+
statusLabel = ( localize(5268, "Completed"));
|
|
532
546
|
}
|
|
533
547
|
return statusLabel;
|
|
534
548
|
}
|
|
@@ -621,7 +635,7 @@ class AgentSessionShowMoreRenderer {
|
|
|
621
635
|
};
|
|
622
636
|
}
|
|
623
637
|
renderElement(element, _index, template) {
|
|
624
|
-
template.label.textContent = this.options?.compactLabel ? ( localize(
|
|
638
|
+
template.label.textContent = this.options?.compactLabel ? ( localize(5269, "+{0} more", element.element.remainingCount)) : ( localize(5270, "Show {0} More...", element.element.remainingCount));
|
|
625
639
|
template.container.setAttribute("data-section-label", element.element.sectionLabel);
|
|
626
640
|
}
|
|
627
641
|
renderCompressedElements() {
|
|
@@ -656,7 +670,7 @@ class AgentSessionShowLessRenderer {
|
|
|
656
670
|
};
|
|
657
671
|
}
|
|
658
672
|
renderElement(element, _index, template) {
|
|
659
|
-
template.label.textContent = ( localize(
|
|
673
|
+
template.label.textContent = ( localize(5271, "Show less"));
|
|
660
674
|
template.container.setAttribute("data-section-label", element.element.sectionLabel);
|
|
661
675
|
}
|
|
662
676
|
renderCompressedElements() {
|
|
@@ -719,24 +733,24 @@ class AgentSessionsAccessibilityProvider {
|
|
|
719
733
|
return "listitem";
|
|
720
734
|
}
|
|
721
735
|
getWidgetAriaLabel() {
|
|
722
|
-
return localize(
|
|
736
|
+
return localize(5272, "Agent Sessions");
|
|
723
737
|
}
|
|
724
738
|
getAriaLabel(element) {
|
|
725
739
|
if (isAgentSessionSection(element)) {
|
|
726
740
|
const count = element.sessions.length;
|
|
727
741
|
if (count === 1) {
|
|
728
|
-
return localize(
|
|
742
|
+
return localize(5273, "{0} sessions section, {1} session", element.label, count);
|
|
729
743
|
}
|
|
730
|
-
return localize(
|
|
744
|
+
return localize(5274, "{0} sessions section, {1} sessions", element.label, count);
|
|
731
745
|
}
|
|
732
746
|
if (isAgentSessionShowMore(element)) {
|
|
733
|
-
return localize(
|
|
747
|
+
return localize(5275, "Show {0} more sessions", element.remainingCount);
|
|
734
748
|
}
|
|
735
749
|
if (isAgentSessionShowLess(element)) {
|
|
736
|
-
return localize(
|
|
750
|
+
return localize(5276, "Show less sessions");
|
|
737
751
|
}
|
|
738
752
|
return localize(
|
|
739
|
-
|
|
753
|
+
5277,
|
|
740
754
|
"{0} session {1} ({2}), created {3}",
|
|
741
755
|
element.providerLabel,
|
|
742
756
|
element.label,
|
|
@@ -1065,14 +1079,14 @@ function extractRepoNameFromPath(dirPath) {
|
|
|
1065
1079
|
return segments[segments.length - 1];
|
|
1066
1080
|
}
|
|
1067
1081
|
const AgentSessionSectionLabels = {
|
|
1068
|
-
[AgentSessionSection.Pinned]: ( localize(
|
|
1069
|
-
[AgentSessionSection.Today]: ( localize(
|
|
1070
|
-
[AgentSessionSection.Yesterday]: ( localize(
|
|
1071
|
-
[AgentSessionSection.Week]: ( localize(
|
|
1072
|
-
[AgentSessionSection.Older]: ( localize(
|
|
1073
|
-
[AgentSessionSection.Archived]: ( localize(
|
|
1074
|
-
[AgentSessionSection.More]: ( localize(
|
|
1075
|
-
[AgentSessionSection.Repository]: ( localize(
|
|
1082
|
+
[AgentSessionSection.Pinned]: ( localize(5278, "Pinned")),
|
|
1083
|
+
[AgentSessionSection.Today]: ( localize(5279, "Today")),
|
|
1084
|
+
[AgentSessionSection.Yesterday]: ( localize(5280, "Yesterday")),
|
|
1085
|
+
[AgentSessionSection.Week]: ( localize(5281, "Last 7 days")),
|
|
1086
|
+
[AgentSessionSection.Older]: ( localize(5282, "Older")),
|
|
1087
|
+
[AgentSessionSection.Archived]: ( localize(5283, "Archived")),
|
|
1088
|
+
[AgentSessionSection.More]: ( localize(5284, "More")),
|
|
1089
|
+
[AgentSessionSection.Repository]: ( localize(5285, "Other"))
|
|
1076
1090
|
};
|
|
1077
1091
|
const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
|
|
1078
1092
|
const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
|
|
@@ -1137,10 +1151,10 @@ function sessionDateFromNow(sessionTime, appendAgoLabel) {
|
|
|
1137
1151
|
const startOfYesterday = startOfToday - DAY_THRESHOLD;
|
|
1138
1152
|
const startOfTwoDaysAgo = startOfYesterday - DAY_THRESHOLD;
|
|
1139
1153
|
if (sessionTime < startOfToday && sessionTime >= startOfYesterday) {
|
|
1140
|
-
return appendAgoLabel ? ( localize(
|
|
1154
|
+
return appendAgoLabel ? ( localize(5286, "1 day ago")) : ( localize(5287, "1 day"));
|
|
1141
1155
|
}
|
|
1142
1156
|
if (sessionTime < startOfYesterday && sessionTime >= startOfTwoDaysAgo) {
|
|
1143
|
-
return appendAgoLabel ? ( localize(
|
|
1157
|
+
return appendAgoLabel ? ( localize(5288, "2 days ago")) : ( localize(5289, "2 days"));
|
|
1144
1158
|
}
|
|
1145
1159
|
return fromNow(sessionTime, appendAgoLabel);
|
|
1146
1160
|
}
|
|
@@ -1247,7 +1261,7 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
|
|
|
1247
1261
|
if (sessions.length === 1) {
|
|
1248
1262
|
return sessions[0].label;
|
|
1249
1263
|
}
|
|
1250
|
-
return localize(
|
|
1264
|
+
return localize(5290, "{0} agent sessions", sessions.length);
|
|
1251
1265
|
}
|
|
1252
1266
|
onDragOver(data, targetElement, targetIndex, targetSector, originalEvent) {
|
|
1253
1267
|
return false;
|
|
@@ -44,6 +44,14 @@ let ChatAttachmentModel = class ChatAttachmentModel extends Disposable {
|
|
|
44
44
|
this.addContext(context);
|
|
45
45
|
}
|
|
46
46
|
return;
|
|
47
|
+
} else if (uri.scheme === Schemas.vscodeBrowser) {
|
|
48
|
+
const entry = await this.chatAttachmentResolveService.resolveEditorAttachContext({
|
|
49
|
+
resource: uri
|
|
50
|
+
});
|
|
51
|
+
if (entry) {
|
|
52
|
+
this.addContext(entry);
|
|
53
|
+
}
|
|
54
|
+
return;
|
|
47
55
|
} else {
|
|
48
56
|
this.addContext(this.asFileVariableEntry(uri, range));
|
|
49
57
|
}
|
|
@@ -22,8 +22,9 @@ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench
|
|
|
22
22
|
import { IPreferencesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service";
|
|
23
23
|
import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
|
|
24
24
|
import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
|
|
25
|
+
import { IBrowserViewWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/browserView/common/browserView.service";
|
|
25
26
|
import { IChatContentReference } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
26
|
-
import { IChatRequestPasteVariableEntry, IChatRequestVariableEntry, IElementVariableEntry, INotebookOutputVariableEntry, IPromptFileVariableEntry, IPromptTextVariableEntry, ISCMHistoryItemVariableEntry, ChatRequestToolReferenceEntry, ISCMHistoryItemChangeVariableEntry, ISCMHistoryItemChangeRangeVariableEntry, ITerminalVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
|
|
27
|
+
import { IChatRequestPasteVariableEntry, IChatRequestVariableEntry, IBrowserViewVariableEntry, IElementVariableEntry, INotebookOutputVariableEntry, IPromptFileVariableEntry, IPromptTextVariableEntry, ISCMHistoryItemVariableEntry, ChatRequestToolReferenceEntry, ISCMHistoryItemChangeVariableEntry, ISCMHistoryItemChangeRangeVariableEntry, ITerminalVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
|
|
27
28
|
import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
|
|
28
29
|
import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
|
|
29
30
|
import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
|
|
@@ -187,6 +188,27 @@ export declare class SCMHistoryItemChangeRangeAttachmentWidget extends AbstractC
|
|
|
187
188
|
protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: true): Promise<void>;
|
|
188
189
|
protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: false, range: IRange | undefined): Promise<void>;
|
|
189
190
|
}
|
|
191
|
+
export declare class BrowserViewAttachmentWidget extends AbstractChatAttachmentWidget {
|
|
192
|
+
private readonly _attachment;
|
|
193
|
+
private readonly _options;
|
|
194
|
+
private readonly _browserViewService;
|
|
195
|
+
private readonly _hoverService;
|
|
196
|
+
private readonly _editorService;
|
|
197
|
+
private readonly _instantiationService;
|
|
198
|
+
private readonly _inputListeners;
|
|
199
|
+
private _input;
|
|
200
|
+
constructor(_attachment: IBrowserViewVariableEntry, currentLanguageModel: ILanguageModelChatMetadataAndIdentifier | undefined, _options: {
|
|
201
|
+
shouldFocusClearButton: boolean;
|
|
202
|
+
supportsDeletion: boolean;
|
|
203
|
+
}, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, _browserViewService: IBrowserViewWorkbenchService, _hoverService: IHoverService, _editorService: IEditorService, _instantiationService: IInstantiationService);
|
|
204
|
+
/**
|
|
205
|
+
* Look up the current BrowserEditorInput for this attachment's browser ID, bind listeners, and refresh the UI.
|
|
206
|
+
*/
|
|
207
|
+
private _resolveInput;
|
|
208
|
+
private _updateLabel;
|
|
209
|
+
protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: true): Promise<void>;
|
|
210
|
+
protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: false, range: IRange | undefined): Promise<void>;
|
|
211
|
+
}
|
|
190
212
|
export declare function hookUpResourceAttachmentDragAndContextMenu(accessor: ServicesAccessor, widget: HTMLElement, resource: URI): IDisposable;
|
|
191
213
|
export declare function hookUpSymbolAttachmentDragAndContextMenu(accessor: ServicesAccessor, widget: HTMLElement, parentContextKeyService: IContextKeyService, attachment: {
|
|
192
214
|
name: string;
|