@codingame/monaco-vscode-katex-common 26.2.1 → 27.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 +35 -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 +548 -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 +168 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +67 -51
- 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/agentSessionHoverWidget.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +42 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +63 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +77 -73
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -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 +381 -83
- 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 +109 -113
- 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/chatSessions/chatSessionPickerActionItem.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +28 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +226 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/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 +1 -3
- 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.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +3 -1
- 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 +2 -1
- 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.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/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.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -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.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +5 -4
- 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 +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +52 -22
- 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.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +20 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +3 -3
- 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 +36 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +166 -45
- 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 +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +16 -11
- 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.js +1 -0
- 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 +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +244 -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 +252 -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 +5 -3
- 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.js +5 -5
- 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 +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 +48 -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 +351 -422
- 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 +69 -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 +4 -1
- 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.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +0 -1
- 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.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +7 -7
- 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.js +15 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +63 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +3 -1
- 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.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
- 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.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 +17 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +310 -79
- 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 +441 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +392 -86
- 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 +52 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +271 -187
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +668 -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 +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +78 -45
- 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 +86 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +393 -134
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +36 -17
- 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 +20 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +141 -79
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +18 -13
- 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 +108 -27
- 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 +4 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +74 -32
- 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 +0 -42
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +27 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +83 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -33
- 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/chat/browser/widget/input/modelPickerActionItem.js +0 -187
- /package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +0 -0
|
@@ -4,6 +4,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
|
|
|
4
4
|
import { h } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
5
5
|
import { Disposable, markAsSingleton } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
6
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
7
|
+
import { isAbsolute } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
7
8
|
import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
8
9
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
9
10
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
@@ -19,8 +20,9 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
19
20
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
20
21
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
21
22
|
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
22
|
-
import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
23
|
+
import { ResourceContextKey, IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
23
24
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
25
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
24
26
|
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
|
|
25
27
|
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
26
28
|
import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
|
|
@@ -30,13 +32,50 @@ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/c
|
|
|
30
32
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
31
33
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
32
34
|
import { PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
33
|
-
import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
35
|
+
import { AgentSessionProviders, getAgentSessionProviderName, getAgentSessionProviderIcon, getAgentSessionProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
36
|
+
import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
|
|
37
|
+
import { isIChatViewViewContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
34
38
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
35
39
|
import { ctxHasEditorModification } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
|
|
36
40
|
import { CHAT_SETUP_ACTION_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
37
41
|
import { toPromptFileVariableEntry, PromptFileVariableKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
|
|
38
42
|
|
|
39
43
|
var ChatContinueInSessionActionItem_1;
|
|
44
|
+
function extractNwoFromRemoteUrl(remoteUrl) {
|
|
45
|
+
const match = remoteUrl.match(/(?:github\.com)[/:](?<owner>[^/]+)\/(?<repo>[^/.]+)/);
|
|
46
|
+
if (match?.groups) {
|
|
47
|
+
return `${match.groups.owner}/${match.groups.repo}`;
|
|
48
|
+
}
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
async function resolveGitRemoteNwo(repoPath, fileService) {
|
|
52
|
+
try {
|
|
53
|
+
const gitPath = `${repoPath}/.git`;
|
|
54
|
+
const gitUri = URI.file(gitPath);
|
|
55
|
+
let configUri;
|
|
56
|
+
try {
|
|
57
|
+
const stat = await fileService.stat(gitUri);
|
|
58
|
+
if (stat.isDirectory) {
|
|
59
|
+
configUri = URI.file(`${gitPath}/config`);
|
|
60
|
+
} else {
|
|
61
|
+
const gitFile = await fileService.readFile(gitUri);
|
|
62
|
+
const gitDir = ( gitFile.value.toString()).trim().replace(/^gitdir:\s*/, "");
|
|
63
|
+
const resolvedGitDir = gitDir.startsWith("/") ? gitDir : `${repoPath}/${gitDir}`;
|
|
64
|
+
const commonDir = resolvedGitDir.replace(/\/worktrees\/[^/]+$/, "");
|
|
65
|
+
configUri = URI.file(`${commonDir}/config`);
|
|
66
|
+
}
|
|
67
|
+
} catch {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
const content = await fileService.readFile(configUri);
|
|
71
|
+
const configText = ( content.value.toString());
|
|
72
|
+
const remoteMatch = configText.match(/\[remote\s+"origin"\][^[]*url\s*=\s*(.+)/m);
|
|
73
|
+
if (remoteMatch?.[1]) {
|
|
74
|
+
return extractNwoFromRemoteUrl(remoteMatch[1].trim());
|
|
75
|
+
}
|
|
76
|
+
} catch {}
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
40
79
|
var ActionLocation;
|
|
41
80
|
(function(ActionLocation) {
|
|
42
81
|
ActionLocation["ChatWidget"] = "chatWidget";
|
|
@@ -49,8 +88,8 @@ class ContinueChatInSessionAction extends Action2 {
|
|
|
49
88
|
constructor() {
|
|
50
89
|
super({
|
|
51
90
|
id: ContinueChatInSessionAction.ID,
|
|
52
|
-
title: ( localize2(
|
|
53
|
-
tooltip: ( localize(
|
|
91
|
+
title: ( localize2(4855, "Continue Chat in...")),
|
|
92
|
+
tooltip: ( localize(4855, "Continue Chat in...")),
|
|
54
93
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.requestInProgress.negate()), ( ChatContextKeys.remoteJobCreating.negate()), ChatContextKeys.hasCanDelegateProviders)),
|
|
55
94
|
menu: [{
|
|
56
95
|
id: MenuId.ChatExecute,
|
|
@@ -82,6 +121,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
82
121
|
actionProvider: ChatContinueInSessionActionItem_1.actionProvider(chatSessionsService, instantiationService, location),
|
|
83
122
|
actionBarActions: ChatContinueInSessionActionItem_1.getActionBarActions(openerService),
|
|
84
123
|
reporter: {
|
|
124
|
+
id: "ChatContinueInSession",
|
|
85
125
|
name: "ChatContinueInSession",
|
|
86
126
|
includeOptions: true
|
|
87
127
|
}
|
|
@@ -93,8 +133,8 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
93
133
|
const learnMoreUrl = "https://aka.ms/vscode-continue-chat-in";
|
|
94
134
|
return [{
|
|
95
135
|
id: "workbench.action.chat.continueChatInSession.learnMore",
|
|
96
|
-
label: ( localize(
|
|
97
|
-
tooltip: ( localize(
|
|
136
|
+
label: ( localize(4856, "Learn More")),
|
|
137
|
+
tooltip: ( localize(4856, "Learn More")),
|
|
98
138
|
class: undefined,
|
|
99
139
|
enabled: true,
|
|
100
140
|
run: async () => {
|
|
@@ -108,7 +148,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
108
148
|
const actions = [];
|
|
109
149
|
const contributions = chatSessionsService.getAllChatSessionContributions();
|
|
110
150
|
const backgroundContrib = contributions.find(contrib => contrib.type === AgentSessionProviders.Background);
|
|
111
|
-
if (backgroundContrib && backgroundContrib.canDelegate
|
|
151
|
+
if (backgroundContrib && backgroundContrib.canDelegate) {
|
|
112
152
|
actions.push(this.toAction(
|
|
113
153
|
AgentSessionProviders.Background,
|
|
114
154
|
backgroundContrib,
|
|
@@ -117,7 +157,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
117
157
|
));
|
|
118
158
|
}
|
|
119
159
|
const cloudContrib = contributions.find(contrib => contrib.type === AgentSessionProviders.Cloud);
|
|
120
|
-
if (cloudContrib && cloudContrib.canDelegate
|
|
160
|
+
if (cloudContrib && cloudContrib.canDelegate) {
|
|
121
161
|
actions.push(
|
|
122
162
|
this.toAction(AgentSessionProviders.Cloud, cloudContrib, instantiationService, location)
|
|
123
163
|
);
|
|
@@ -138,9 +178,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
138
178
|
class: undefined,
|
|
139
179
|
description: `@${contrib.name}`,
|
|
140
180
|
label: getAgentSessionProviderName(provider),
|
|
141
|
-
tooltip: ( localize(
|
|
181
|
+
tooltip: ( localize(4857, "Continue in {0}", getAgentSessionProviderName(provider))),
|
|
142
182
|
category: {
|
|
143
|
-
label: ( localize(
|
|
183
|
+
label: ( localize(4858, "Continue In")),
|
|
144
184
|
order: 0,
|
|
145
185
|
showHeader: true
|
|
146
186
|
},
|
|
@@ -159,9 +199,9 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
159
199
|
icon: getAgentSessionProviderIcon(provider),
|
|
160
200
|
class: undefined,
|
|
161
201
|
label: getAgentSessionProviderName(provider),
|
|
162
|
-
tooltip: ( localize(
|
|
202
|
+
tooltip: ( localize(4857, "Continue in {0}", getAgentSessionProviderName(provider))),
|
|
163
203
|
category: {
|
|
164
|
-
label: ( localize(
|
|
204
|
+
label: ( localize(4858, "Continue In")),
|
|
165
205
|
order: 0,
|
|
166
206
|
showHeader: true
|
|
167
207
|
},
|
|
@@ -175,7 +215,7 @@ let ChatContinueInSessionActionItem = ChatContinueInSessionActionItem_1 = class
|
|
|
175
215
|
if (this.location === ActionLocation.Editor) {
|
|
176
216
|
const view = h("span.action-widget-delegate-label", [h("span", {
|
|
177
217
|
className: ThemeIcon.asClassName(Codicon.forward)
|
|
178
|
-
}), h("span", [( localize(
|
|
218
|
+
}), h("span", [( localize(4859, "Continue in..."))])]);
|
|
179
219
|
element.appendChild(view.root);
|
|
180
220
|
return null;
|
|
181
221
|
} else {
|
|
@@ -192,6 +232,80 @@ class CreateRemoteAgentJobAction {
|
|
|
192
232
|
openUntitledEditor(commandService, continuationTarget) {
|
|
193
233
|
commandService.executeCommand(`${NEW_CHAT_SESSION_ACTION_ID}.${continuationTarget.type}`);
|
|
194
234
|
}
|
|
235
|
+
async extractRepoNwoFromSession(
|
|
236
|
+
agentSessionsService,
|
|
237
|
+
chatSessionsService,
|
|
238
|
+
fileService,
|
|
239
|
+
sessionResource,
|
|
240
|
+
chatModel
|
|
241
|
+
) {
|
|
242
|
+
const repoData = chatModel.repoData;
|
|
243
|
+
if (repoData?.remoteUrl) {
|
|
244
|
+
const nwo = extractNwoFromRemoteUrl(repoData.remoteUrl);
|
|
245
|
+
if (nwo) {
|
|
246
|
+
return nwo;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
const agentSession = agentSessionsService.getSession(sessionResource);
|
|
250
|
+
if (agentSession?.metadata) {
|
|
251
|
+
const metadata = agentSession.metadata;
|
|
252
|
+
const owner = metadata.owner;
|
|
253
|
+
const name = metadata.name;
|
|
254
|
+
if (owner && name) {
|
|
255
|
+
return `${owner}/${name}`;
|
|
256
|
+
}
|
|
257
|
+
const repositoryNwo = metadata.repositoryNwo;
|
|
258
|
+
if (repositoryNwo?.includes("/")) {
|
|
259
|
+
return repositoryNwo;
|
|
260
|
+
}
|
|
261
|
+
const repositoryUrl = metadata.repositoryUrl;
|
|
262
|
+
if (repositoryUrl) {
|
|
263
|
+
const nwo = extractNwoFromRemoteUrl(repositoryUrl);
|
|
264
|
+
if (nwo) {
|
|
265
|
+
return nwo;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
const workingDir = (metadata.workingDirectoryPath ?? metadata.repositoryPath ?? metadata.worktreePath);
|
|
269
|
+
if (workingDir) {
|
|
270
|
+
const nwo = await resolveGitRemoteNwo(workingDir, fileService);
|
|
271
|
+
if (nwo) {
|
|
272
|
+
return nwo;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
for (const optionId of ["repositories", "repository"]) {
|
|
277
|
+
const repoOption = chatSessionsService.getSessionOption(sessionResource, optionId);
|
|
278
|
+
if (repoOption) {
|
|
279
|
+
const optionValue = typeof repoOption === "string" ? repoOption : repoOption.id;
|
|
280
|
+
if (optionValue) {
|
|
281
|
+
const segments = optionValue.split("/").filter(Boolean);
|
|
282
|
+
if (segments.length === 2) {
|
|
283
|
+
return optionValue;
|
|
284
|
+
}
|
|
285
|
+
const nwo = extractNwoFromRemoteUrl(optionValue);
|
|
286
|
+
if (nwo) {
|
|
287
|
+
return nwo;
|
|
288
|
+
}
|
|
289
|
+
try {
|
|
290
|
+
const uri = ( URI.parse(optionValue));
|
|
291
|
+
if (uri.authority === "github") {
|
|
292
|
+
const parts = uri.path.split("/").filter(Boolean);
|
|
293
|
+
if (parts.length >= 2) {
|
|
294
|
+
return `${parts[0]}/${parts[1]}`;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
} catch {}
|
|
298
|
+
if (isAbsolute(optionValue)) {
|
|
299
|
+
const nwoFromGit = await resolveGitRemoteNwo(optionValue, fileService);
|
|
300
|
+
if (nwoFromGit) {
|
|
301
|
+
return nwoFromGit;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
195
309
|
async run(accessor, continuationTarget, _widget) {
|
|
196
310
|
const contextKeyService = accessor.get(IContextKeyService);
|
|
197
311
|
const commandService = accessor.get(ICommandService);
|
|
@@ -199,6 +313,9 @@ class CreateRemoteAgentJobAction {
|
|
|
199
313
|
const chatAgentService = accessor.get(IChatAgentService);
|
|
200
314
|
const chatService = accessor.get(IChatService);
|
|
201
315
|
const editorService = accessor.get(IEditorService);
|
|
316
|
+
const agentSessionsService = accessor.get(IAgentSessionsService);
|
|
317
|
+
const chatSessionsService = accessor.get(IChatSessionsService);
|
|
318
|
+
const fileService = accessor.get(IFileService);
|
|
202
319
|
const remoteJobCreatingKey = ChatContextKeys.remoteJobCreating.bindTo(contextKeyService);
|
|
203
320
|
try {
|
|
204
321
|
remoteJobCreatingKey.set(true);
|
|
@@ -243,10 +360,46 @@ class CreateRemoteAgentJobAction {
|
|
|
243
360
|
}
|
|
244
361
|
}
|
|
245
362
|
}
|
|
363
|
+
const continuationTargetType = continuationTarget.type;
|
|
364
|
+
const isSessionsWindow = IsSessionsWindowContext.getValue(contextKeyService);
|
|
365
|
+
const sourceProvider = getAgentSessionProvider(sessionResource);
|
|
366
|
+
if (isSessionsWindow && sourceProvider && sourceProvider !== continuationTargetType) {
|
|
367
|
+
const isSidebar = isIChatViewViewContext(widget.viewContext);
|
|
368
|
+
const actionId = isSidebar ? `workbench.action.chat.openNewSessionSidebar.${continuationTargetType}` : `${NEW_CHAT_SESSION_ACTION_ID}.${continuationTargetType}`;
|
|
369
|
+
const maxTranscriptLength = 20_000;
|
|
370
|
+
let transcript = ( chatRequests.map(req => {
|
|
371
|
+
const userMsg = `User: ${req.message.text}`;
|
|
372
|
+
const respMsg = req.response?.response ? `Assistant: ${req.response.response.getMarkdown()}` : "";
|
|
373
|
+
return respMsg ? `${userMsg}\n${respMsg}` : userMsg;
|
|
374
|
+
})).join("\n\n");
|
|
375
|
+
if (transcript.length > maxTranscriptLength) {
|
|
376
|
+
transcript = transcript.substring(transcript.length - maxTranscriptLength);
|
|
377
|
+
}
|
|
378
|
+
const delegationPrompt = transcript ? `The following is the conversation history from a previous ${getAgentSessionProviderName(sourceProvider)} session. Continue working on it.\n\n${transcript}\n\nUser: ${userPrompt}` : userPrompt;
|
|
379
|
+
const initialSessionOptions = [];
|
|
380
|
+
const repoNwo = await this.extractRepoNwoFromSession(
|
|
381
|
+
agentSessionsService,
|
|
382
|
+
chatSessionsService,
|
|
383
|
+
fileService,
|
|
384
|
+
sessionResource,
|
|
385
|
+
chatModel
|
|
386
|
+
);
|
|
387
|
+
if (repoNwo) {
|
|
388
|
+
initialSessionOptions.push({
|
|
389
|
+
optionId: "repositories",
|
|
390
|
+
value: repoNwo
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
await commandService.executeCommand(actionId, {
|
|
394
|
+
prompt: delegationPrompt,
|
|
395
|
+
attachedContext: attachedContext.asArray(),
|
|
396
|
+
initialSessionOptions: initialSessionOptions.length > 0 ? initialSessionOptions : undefined
|
|
397
|
+
});
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
246
400
|
const defaultAgent = chatAgentService.getDefaultAgent(ChatAgentLocation.Chat);
|
|
247
401
|
const instantiationService = accessor.get(IInstantiationService);
|
|
248
402
|
const requestParser = instantiationService.createInstance(ChatRequestParser);
|
|
249
|
-
const continuationTargetType = continuationTarget.type;
|
|
250
403
|
const parsedRequest = requestParser.parseChatRequest(sessionResource, userPrompt, ChatAgentLocation.Chat);
|
|
251
404
|
const addedRequest = chatModel.addRequest(parsedRequest, {
|
|
252
405
|
variables: attachedContext.asArray()
|
|
@@ -262,7 +415,7 @@ class CreateRemoteAgentJobAction {
|
|
|
262
415
|
await widget.handleDelegationExitIfNeeded(defaultAgent, sendResult.data.agent);
|
|
263
416
|
}
|
|
264
417
|
} catch (e) {
|
|
265
|
-
console.error("Error creating remote coding agent job", e);
|
|
418
|
+
console.error("[Delegation] Error creating remote coding agent job", e);
|
|
266
419
|
throw e;
|
|
267
420
|
} finally {
|
|
268
421
|
remoteJobCreatingKey.set(false);
|
|
@@ -15,7 +15,7 @@ class AcceptElicitationRequestAction extends Action2 {
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super({
|
|
17
17
|
id: AcceptElicitationRequestActionId,
|
|
18
|
-
title: ( localize2(
|
|
18
|
+
title: ( localize2(4867, "Accept Request")),
|
|
19
19
|
f1: false,
|
|
20
20
|
category: CHAT_CATEGORY,
|
|
21
21
|
keybinding: {
|