@codingame/monaco-vscode-chat-service-override 29.1.0 → 30.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/index.js +5 -2
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +37 -39
- package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +37 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +10 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +27 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +64 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +288 -195
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +50 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +3 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +181 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +16 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +2 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- 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/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +66 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
- /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js
CHANGED
|
@@ -16,8 +16,6 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
|
16
16
|
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
17
17
|
import { isCodeEditor, getCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser';
|
|
18
18
|
import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service';
|
|
19
|
-
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
20
|
-
import { getWordAtText } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/wordHelper';
|
|
21
19
|
import { CompletionItemKind, SymbolKinds } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
|
|
22
20
|
import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
|
|
23
21
|
import { IOutlineModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/documentSymbols/browser/outlineModel.service';
|
|
@@ -61,6 +59,8 @@ import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
|
|
|
61
59
|
import { createDebugEventsAttachment } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/chatDebug/chatDebugAttachment';
|
|
62
60
|
import { getPromptFileType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
63
61
|
import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
62
|
+
import { computeCompletionRanges, isEmptyUpToCompletionWord, escapeForCharClass } from './chatInputCompletionUtils.js';
|
|
63
|
+
import { AgentSessionProviders, getAgentSessionProviderIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
|
|
64
64
|
|
|
65
65
|
var BuiltinDynamicCompletions_1, ToolCompletions_1;
|
|
66
66
|
const SlashCommandWord = /\/[\p{L}0-9_.:-]*/gu;
|
|
@@ -240,9 +240,6 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
|
240
240
|
}
|
|
241
241
|
const userInvocableCommands = promptCommands.filter(c => {
|
|
242
242
|
if (widget.lockedAgentId) {
|
|
243
|
-
if (c.promptPath.extension) {
|
|
244
|
-
return false;
|
|
245
|
-
}
|
|
246
243
|
try {
|
|
247
244
|
const promptType = getPromptFileType(c.promptPath.uri);
|
|
248
245
|
if (promptType && promptType === PromptsType.hook) {
|
|
@@ -563,7 +560,7 @@ let AgentCompletions = class AgentCompletions extends Disposable {
|
|
|
563
560
|
if (!isEmptyUpToCompletionWord(model, range)) {
|
|
564
561
|
return;
|
|
565
562
|
}
|
|
566
|
-
const label = ( localize(
|
|
563
|
+
const label = ( localize(7080, "Install Chat Extensions..."));
|
|
567
564
|
const item = {
|
|
568
565
|
label,
|
|
569
566
|
insertText: "",
|
|
@@ -711,7 +708,7 @@ class StartParameterizedPromptAction extends Action2 {
|
|
|
711
708
|
messages = await prompt.resolve(args, cts.token);
|
|
712
709
|
} catch (e) {
|
|
713
710
|
if (!cts.token.isCancellationRequested) {
|
|
714
|
-
notificationService.error(( localize(
|
|
711
|
+
notificationService.error(( localize(7081, "Error resolving prompt: {0}", String(e))));
|
|
715
712
|
}
|
|
716
713
|
replaceTextWith("");
|
|
717
714
|
return;
|
|
@@ -739,15 +736,15 @@ class StartParameterizedPromptAction extends Action2 {
|
|
|
739
736
|
id: generateUuid(),
|
|
740
737
|
kind: "generic",
|
|
741
738
|
value: contents,
|
|
742
|
-
name: ( localize(
|
|
739
|
+
name: ( localize(7082, "Prompt Resource"))
|
|
743
740
|
});
|
|
744
741
|
}
|
|
745
742
|
} else if (mimeType && getAttachableImageExtension(mimeType)) {
|
|
746
743
|
const resized = await resizeImage(contents).catch(() => decodeBase64(contents).buffer);
|
|
747
744
|
chatWidget.attachmentModel.addContext({
|
|
748
745
|
id: generateUuid(),
|
|
749
|
-
name: ( localize(
|
|
750
|
-
fullName: ( localize(
|
|
746
|
+
name: ( localize(7083, "Prompt Image")),
|
|
747
|
+
fullName: ( localize(7083, "Prompt Image")),
|
|
751
748
|
value: resized,
|
|
752
749
|
kind: "image",
|
|
753
750
|
references: validURI && [{
|
|
@@ -827,7 +824,10 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
827
824
|
this.addDebugEventsSnapshotCommand = "_addDebugEventsSnapshotCmd";
|
|
828
825
|
}
|
|
829
826
|
static {
|
|
830
|
-
this.VariableNameDef = ( new RegExp(
|
|
827
|
+
this.VariableNameDef = ( new RegExp(
|
|
828
|
+
`[${escapeForCharClass(chatVariableLeader)}${escapeForCharClass(chatAgentLeader)}][\\w:-]*`,
|
|
829
|
+
"g"
|
|
830
|
+
));
|
|
831
831
|
}
|
|
832
832
|
constructor(
|
|
833
833
|
historyService,
|
|
@@ -842,7 +842,8 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
842
842
|
codeEditorService,
|
|
843
843
|
chatAgentService,
|
|
844
844
|
instantiationService,
|
|
845
|
-
chatDebugService
|
|
845
|
+
chatDebugService,
|
|
846
|
+
chatSessionsService
|
|
846
847
|
) {
|
|
847
848
|
super();
|
|
848
849
|
this.historyService = historyService;
|
|
@@ -858,7 +859,11 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
858
859
|
this.chatAgentService = chatAgentService;
|
|
859
860
|
this.instantiationService = instantiationService;
|
|
860
861
|
this.chatDebugService = chatDebugService;
|
|
861
|
-
|
|
862
|
+
this.chatSessionsService = chatSessionsService;
|
|
863
|
+
const fileWordPattern = ( new RegExp(
|
|
864
|
+
`[${escapeForCharClass(chatVariableLeader)}${escapeForCharClass(chatAgentLeader)}][^\\s]*`,
|
|
865
|
+
"g"
|
|
866
|
+
));
|
|
862
867
|
this.registerVariableCompletions("fileAndFolder", async (
|
|
863
868
|
{
|
|
864
869
|
widget,
|
|
@@ -903,8 +908,9 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
903
908
|
if (!currentSelection || !currentResource || currentSelection.isEmpty()) {
|
|
904
909
|
return;
|
|
905
910
|
}
|
|
911
|
+
const typedLeader = range.varWord?.word?.charAt(0) === chatAgentLeader ? chatAgentLeader : chatVariableLeader;
|
|
906
912
|
const basename = this.labelService.getUriBasenameLabel(currentResource);
|
|
907
|
-
const text = `${
|
|
913
|
+
const text = `${typedLeader}file:${basename}:${currentSelection.startLineNumber}-${currentSelection.endLineNumber}`;
|
|
908
914
|
const fullRangeText = `:${currentSelection.startLineNumber}:${currentSelection.startColumn}-${currentSelection.endLineNumber}:${currentSelection.endColumn}`;
|
|
909
915
|
const description = this.labelService.getUriLabel(currentResource, {
|
|
910
916
|
relative: true
|
|
@@ -914,10 +920,10 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
914
920
|
};
|
|
915
921
|
result.suggestions.push({
|
|
916
922
|
label: {
|
|
917
|
-
label: `${
|
|
923
|
+
label: `${typedLeader}selection`,
|
|
918
924
|
description
|
|
919
925
|
},
|
|
920
|
-
filterText: `${
|
|
926
|
+
filterText: `${typedLeader}selection`,
|
|
921
927
|
insertText: range.varWord?.endColumn === range.replace.endColumn ? `${text} ` : text,
|
|
922
928
|
range,
|
|
923
929
|
kind: CompletionItemKind.Text,
|
|
@@ -958,12 +964,103 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
958
964
|
const result = {
|
|
959
965
|
suggestions: []
|
|
960
966
|
};
|
|
961
|
-
const range2 = computeCompletionRanges(model, position, ( new RegExp(
|
|
967
|
+
const range2 = computeCompletionRanges(model, position, ( new RegExp(
|
|
968
|
+
`[${escapeForCharClass(chatVariableLeader)}${escapeForCharClass(chatAgentLeader)}][^\\s]*`,
|
|
969
|
+
"g"
|
|
970
|
+
)), true);
|
|
962
971
|
if (range2) {
|
|
963
972
|
this.addSymbolEntries(widget, result, range2, token);
|
|
964
973
|
}
|
|
965
974
|
return result;
|
|
966
975
|
});
|
|
976
|
+
const sessionWordPattern = ( new RegExp(`${chatVariableLeader}[^\\s]*`, "g"));
|
|
977
|
+
this.registerVariableCompletions("sessionReference", async (
|
|
978
|
+
{
|
|
979
|
+
widget,
|
|
980
|
+
range
|
|
981
|
+
},
|
|
982
|
+
token
|
|
983
|
+
) => {
|
|
984
|
+
if (widget.location !== ChatAgentLocation.Chat) {
|
|
985
|
+
return;
|
|
986
|
+
}
|
|
987
|
+
const typedWord = range.varWord?.word ?? "";
|
|
988
|
+
const sessionPrefix = `${chatVariableLeader}session`;
|
|
989
|
+
const result = {
|
|
990
|
+
suggestions: []
|
|
991
|
+
};
|
|
992
|
+
if (typedWord.toLowerCase().startsWith(`${sessionPrefix}:`)) {
|
|
993
|
+
const allSessions = [];
|
|
994
|
+
const sessionProviderFilter = [
|
|
995
|
+
AgentSessionProviders.Local,
|
|
996
|
+
AgentSessionProviders.Background,
|
|
997
|
+
AgentSessionProviders.Claude
|
|
998
|
+
];
|
|
999
|
+
for await (const group of this.chatSessionsService.getChatSessionItems(sessionProviderFilter, token)) {
|
|
1000
|
+
if (token.isCancellationRequested) {
|
|
1001
|
+
return;
|
|
1002
|
+
}
|
|
1003
|
+
const providerIcon = getAgentSessionProviderIcon(group.chatSessionType);
|
|
1004
|
+
for (const item of group.items) {
|
|
1005
|
+
allSessions.push({
|
|
1006
|
+
title: item.label,
|
|
1007
|
+
sessionResource: item.resource,
|
|
1008
|
+
lastMessageDate: item.timing.lastRequestEnded ?? item.timing.created,
|
|
1009
|
+
icon: item.iconPath ?? providerIcon
|
|
1010
|
+
});
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
const currentSessionResource = widget.viewModel?.sessionResource;
|
|
1014
|
+
const filteredSessions = allSessions.filter(s => !currentSessionResource || ( s.sessionResource.toString()) !== ( currentSessionResource.toString())).sort((a, b) => b.lastMessageDate - a.lastMessageDate);
|
|
1015
|
+
for (const session of filteredSessions) {
|
|
1016
|
+
const text = `${sessionPrefix}:${session.title}`;
|
|
1017
|
+
const dateStr = ( new Date(session.lastMessageDate)).toLocaleString();
|
|
1018
|
+
result.suggestions.push({
|
|
1019
|
+
label: {
|
|
1020
|
+
label: session.title,
|
|
1021
|
+
description: dateStr
|
|
1022
|
+
},
|
|
1023
|
+
filterText: `${sessionPrefix}:${session.title}`,
|
|
1024
|
+
insertText: range.varWord?.endColumn === range.replace.endColumn ? `${text} ` : text,
|
|
1025
|
+
range,
|
|
1026
|
+
kind: CompletionItemKind.Text,
|
|
1027
|
+
sortText: `z${String(Number.MAX_SAFE_INTEGER - session.lastMessageDate).padStart(20, "0")}`,
|
|
1028
|
+
command: {
|
|
1029
|
+
id: BuiltinDynamicCompletions_1.addReferenceCommand,
|
|
1030
|
+
title: "",
|
|
1031
|
+
arguments: [( new ReferenceArgument(widget, {
|
|
1032
|
+
id: ( session.sessionResource.toString()),
|
|
1033
|
+
icon: session.icon,
|
|
1034
|
+
range: {
|
|
1035
|
+
startLineNumber: range.replace.startLineNumber,
|
|
1036
|
+
startColumn: range.replace.startColumn,
|
|
1037
|
+
endLineNumber: range.replace.endLineNumber,
|
|
1038
|
+
endColumn: range.replace.startColumn + text.length
|
|
1039
|
+
},
|
|
1040
|
+
data: session.sessionResource
|
|
1041
|
+
}))]
|
|
1042
|
+
}
|
|
1043
|
+
});
|
|
1044
|
+
}
|
|
1045
|
+
} else {
|
|
1046
|
+
result.suggestions.push({
|
|
1047
|
+
label: {
|
|
1048
|
+
label: sessionPrefix,
|
|
1049
|
+
description: ( localize(7084, "Attach a chat session"))
|
|
1050
|
+
},
|
|
1051
|
+
filterText: sessionPrefix,
|
|
1052
|
+
insertText: `${sessionPrefix}:`,
|
|
1053
|
+
range,
|
|
1054
|
+
kind: CompletionItemKind.Text,
|
|
1055
|
+
sortText: "z",
|
|
1056
|
+
command: {
|
|
1057
|
+
id: "editor.action.triggerSuggest",
|
|
1058
|
+
title: ""
|
|
1059
|
+
}
|
|
1060
|
+
});
|
|
1061
|
+
}
|
|
1062
|
+
return result;
|
|
1063
|
+
}, sessionWordPattern);
|
|
967
1064
|
this.registerVariableCompletions("debugEventsSnapshot", (
|
|
968
1065
|
{
|
|
969
1066
|
widget,
|
|
@@ -984,7 +1081,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
984
1081
|
result.suggestions.push({
|
|
985
1082
|
label: {
|
|
986
1083
|
label: text,
|
|
987
|
-
description: ( localize(
|
|
1084
|
+
description: ( localize(7085, "Attach debug events snapshot"))
|
|
988
1085
|
},
|
|
989
1086
|
filterText: text,
|
|
990
1087
|
insertText: "",
|
|
@@ -1050,7 +1147,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1050
1147
|
hasAccessToAllModels: true
|
|
1051
1148
|
}, {
|
|
1052
1149
|
_debugDisplayName: `chatVarCompletions-${debugName}`,
|
|
1053
|
-
triggerCharacters: [chatVariableLeader],
|
|
1150
|
+
triggerCharacters: [chatVariableLeader, chatAgentLeader],
|
|
1054
1151
|
provideCompletionItems: async (model, position, context, token) => {
|
|
1055
1152
|
const widget = this.chatWidgetService.getWidgetByInputUri(model.uri);
|
|
1056
1153
|
if (!widget) {
|
|
@@ -1071,20 +1168,21 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1071
1168
|
}));
|
|
1072
1169
|
}
|
|
1073
1170
|
async addFileAndFolderEntries(widget, result, info, token) {
|
|
1171
|
+
const typedLeader = info.varWord?.word?.charAt(0) === chatAgentLeader ? chatAgentLeader : chatVariableLeader;
|
|
1074
1172
|
const makeCompletionItem = (resource, kind, description, boostPriority) => {
|
|
1075
1173
|
const basename = this.labelService.getUriBasenameLabel(resource);
|
|
1076
|
-
const text = `${
|
|
1174
|
+
const text = `${typedLeader}file:${basename}`;
|
|
1077
1175
|
const uriLabel = this.labelService.getUriLabel(resource, {
|
|
1078
1176
|
relative: true
|
|
1079
1177
|
});
|
|
1080
|
-
const labelDescription = description ? ( localize(
|
|
1178
|
+
const labelDescription = description ? ( localize(7086, "{0} ({1})", uriLabel, description)) : uriLabel;
|
|
1081
1179
|
const sortText = boostPriority ? " " : "!";
|
|
1082
1180
|
return {
|
|
1083
1181
|
label: {
|
|
1084
1182
|
label: basename,
|
|
1085
1183
|
description: labelDescription
|
|
1086
1184
|
},
|
|
1087
|
-
filterText: `${
|
|
1185
|
+
filterText: `${basename} ${typedLeader}${basename} ${uriLabel}`,
|
|
1088
1186
|
insertText: info.varWord?.endColumn === info.replace.endColumn ? `${text} ` : text,
|
|
1089
1187
|
range: info,
|
|
1090
1188
|
kind: kind === FileKind.FILE ? CompletionItemKind.File : CompletionItemKind.Folder,
|
|
@@ -1108,7 +1206,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1108
1206
|
};
|
|
1109
1207
|
};
|
|
1110
1208
|
let pattern;
|
|
1111
|
-
if (info.varWord?.word && info.varWord.word.startsWith(chatVariableLeader)) {
|
|
1209
|
+
if (info.varWord?.word && (info.varWord.word.startsWith(chatVariableLeader) || info.varWord.word.startsWith(chatAgentLeader))) {
|
|
1112
1210
|
pattern = info.varWord.word.toLowerCase().slice(1);
|
|
1113
1211
|
}
|
|
1114
1212
|
const seen = ( new ResourceSet());
|
|
@@ -1119,13 +1217,17 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1119
1217
|
continue;
|
|
1120
1218
|
}
|
|
1121
1219
|
if (pattern) {
|
|
1220
|
+
const uriLabel = this.labelService.getUriLabel(resource, {
|
|
1221
|
+
relative: true
|
|
1222
|
+
}).toLowerCase();
|
|
1122
1223
|
const basename = this.labelService.getUriBasenameLabel(resource).toLowerCase();
|
|
1123
|
-
|
|
1224
|
+
const combined = `${basename} ${uriLabel}`;
|
|
1225
|
+
if (!isPatternInWord(pattern, 0, pattern.length, combined, 0, combined.length)) {
|
|
1124
1226
|
continue;
|
|
1125
1227
|
}
|
|
1126
1228
|
}
|
|
1127
1229
|
seen.add(resource);
|
|
1128
|
-
const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(
|
|
1230
|
+
const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(7087, "Active file")) : undefined, i === 0));
|
|
1129
1231
|
if (newLen - len >= 5) {
|
|
1130
1232
|
break;
|
|
1131
1233
|
}
|
|
@@ -1165,8 +1267,9 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1165
1267
|
addSymbolEntries(widget, result, info, token) {
|
|
1166
1268
|
const timeoutMs = 100;
|
|
1167
1269
|
const stopwatch = ( new StopWatch());
|
|
1270
|
+
const typedLeader = info.varWord?.word?.charAt(0) === chatAgentLeader ? chatAgentLeader : chatVariableLeader;
|
|
1168
1271
|
const makeSymbolCompletionItem = (symbolItem, pattern) => {
|
|
1169
|
-
const text = `${
|
|
1272
|
+
const text = `${typedLeader}sym:${symbolItem.name}`;
|
|
1170
1273
|
const resource = symbolItem.location.uri;
|
|
1171
1274
|
const uriLabel = this.labelService.getUriLabel(resource, {
|
|
1172
1275
|
relative: true
|
|
@@ -1177,7 +1280,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1177
1280
|
label: symbolItem.name,
|
|
1178
1281
|
description: uriLabel
|
|
1179
1282
|
},
|
|
1180
|
-
filterText: `${
|
|
1283
|
+
filterText: `${typedLeader}${symbolItem.name}`,
|
|
1181
1284
|
insertText: info.varWord?.endColumn === info.replace.endColumn ? `${text} ` : text,
|
|
1182
1285
|
range: info,
|
|
1183
1286
|
kind: SymbolKinds.toCompletionKind(symbolItem.kind),
|
|
@@ -1201,7 +1304,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1201
1304
|
};
|
|
1202
1305
|
};
|
|
1203
1306
|
let pattern;
|
|
1204
|
-
if (info.varWord?.word && info.varWord.word.startsWith(chatVariableLeader)) {
|
|
1307
|
+
if (info.varWord?.word && (info.varWord.word.startsWith(chatVariableLeader) || info.varWord.word.startsWith(chatAgentLeader))) {
|
|
1205
1308
|
pattern = info.varWord.word.toLowerCase().slice(1);
|
|
1206
1309
|
}
|
|
1207
1310
|
const symbolsToAdd = [];
|
|
@@ -1248,67 +1351,17 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1248
1351
|
arg.widget.getContrib(ChatDynamicVariableModel.ID)?.addReference(arg.variable);
|
|
1249
1352
|
}
|
|
1250
1353
|
};
|
|
1251
|
-
BuiltinDynamicCompletions = BuiltinDynamicCompletions_1 = ( __decorate([( __param(0, IHistoryService)), ( __param(1, IWorkspaceContextService)), ( __param(2, ISearchService)), ( __param(3, ILabelService)), ( __param(4, ILanguageFeaturesService)), ( __param(5, IChatWidgetService)), ( __param(6, IOutlineModelService)), ( __param(7, IEditorService)), ( __param(8, IConfigurationService)), ( __param(9, ICodeEditorService)), ( __param(10, IChatAgentService)), ( __param(11, IInstantiationService)), ( __param(12, IChatDebugService))], BuiltinDynamicCompletions));
|
|
1354
|
+
BuiltinDynamicCompletions = BuiltinDynamicCompletions_1 = ( __decorate([( __param(0, IHistoryService)), ( __param(1, IWorkspaceContextService)), ( __param(2, ISearchService)), ( __param(3, ILabelService)), ( __param(4, ILanguageFeaturesService)), ( __param(5, IChatWidgetService)), ( __param(6, IOutlineModelService)), ( __param(7, IEditorService)), ( __param(8, IConfigurationService)), ( __param(9, ICodeEditorService)), ( __param(10, IChatAgentService)), ( __param(11, IInstantiationService)), ( __param(12, IChatDebugService)), ( __param(13, IChatSessionsService))], BuiltinDynamicCompletions));
|
|
1252
1355
|
( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(BuiltinDynamicCompletions, LifecyclePhase.Eventually);
|
|
1253
|
-
function computeCompletionRanges(model, position, reg, onlyOnWordStart = false) {
|
|
1254
|
-
const varWord = getWordAtText(position.column, reg, model.getLineContent(position.lineNumber), 0);
|
|
1255
|
-
if (!varWord && model.getWordUntilPosition(position).word) {
|
|
1256
|
-
return;
|
|
1257
|
-
}
|
|
1258
|
-
if (!varWord && position.column > 1) {
|
|
1259
|
-
const textBefore = model.getValueInRange(( new Range(
|
|
1260
|
-
position.lineNumber,
|
|
1261
|
-
position.column - 1,
|
|
1262
|
-
position.lineNumber,
|
|
1263
|
-
position.column
|
|
1264
|
-
)));
|
|
1265
|
-
if (textBefore !== " ") {
|
|
1266
|
-
return;
|
|
1267
|
-
}
|
|
1268
|
-
}
|
|
1269
|
-
if (varWord && onlyOnWordStart) {
|
|
1270
|
-
const wordBefore = model.getWordUntilPosition({
|
|
1271
|
-
lineNumber: position.lineNumber,
|
|
1272
|
-
column: varWord.startColumn
|
|
1273
|
-
});
|
|
1274
|
-
if (wordBefore.word) {
|
|
1275
|
-
return;
|
|
1276
|
-
}
|
|
1277
|
-
}
|
|
1278
|
-
let insert;
|
|
1279
|
-
let replace;
|
|
1280
|
-
if (!varWord) {
|
|
1281
|
-
insert = replace = Range.fromPositions(position);
|
|
1282
|
-
} else {
|
|
1283
|
-
insert = ( new Range(
|
|
1284
|
-
position.lineNumber,
|
|
1285
|
-
varWord.startColumn,
|
|
1286
|
-
position.lineNumber,
|
|
1287
|
-
position.column
|
|
1288
|
-
));
|
|
1289
|
-
replace = ( new Range(
|
|
1290
|
-
position.lineNumber,
|
|
1291
|
-
varWord.startColumn,
|
|
1292
|
-
position.lineNumber,
|
|
1293
|
-
varWord.endColumn
|
|
1294
|
-
));
|
|
1295
|
-
}
|
|
1296
|
-
return {
|
|
1297
|
-
insert,
|
|
1298
|
-
replace,
|
|
1299
|
-
varWord
|
|
1300
|
-
};
|
|
1301
|
-
}
|
|
1302
|
-
function isEmptyUpToCompletionWord(model, rangeResult) {
|
|
1303
|
-
const startToCompletionWordStart = ( new Range(1, 1, rangeResult.replace.startLineNumber, rangeResult.replace.startColumn));
|
|
1304
|
-
return !!model.getValueInRange(startToCompletionWordStart).match(/^\s*$/);
|
|
1305
|
-
}
|
|
1306
1356
|
let ToolCompletions = class ToolCompletions extends Disposable {
|
|
1307
1357
|
static {
|
|
1308
1358
|
ToolCompletions_1 = this;
|
|
1309
1359
|
}
|
|
1310
1360
|
static {
|
|
1311
|
-
this.VariableNameDef = ( new RegExp(
|
|
1361
|
+
this.VariableNameDef = ( new RegExp(
|
|
1362
|
+
`(?<=^|\\s)[${escapeForCharClass(chatVariableLeader)}${escapeForCharClass(chatAgentLeader)}]\\w*`,
|
|
1363
|
+
"g"
|
|
1364
|
+
));
|
|
1312
1365
|
}
|
|
1313
1366
|
constructor(languageFeaturesService, chatWidgetService, chatAgentService) {
|
|
1314
1367
|
super();
|
|
@@ -1320,7 +1373,7 @@ let ToolCompletions = class ToolCompletions extends Disposable {
|
|
|
1320
1373
|
hasAccessToAllModels: true
|
|
1321
1374
|
}, {
|
|
1322
1375
|
_debugDisplayName: "chatVariables",
|
|
1323
|
-
triggerCharacters: [chatVariableLeader],
|
|
1376
|
+
triggerCharacters: [chatVariableLeader, chatAgentLeader],
|
|
1324
1377
|
provideCompletionItems: async (model, position, _context, _token) => {
|
|
1325
1378
|
const widget = this.chatWidgetService.getWidgetByInputUri(model.uri);
|
|
1326
1379
|
if (!widget) {
|
|
@@ -1344,6 +1397,8 @@ let ToolCompletions = class ToolCompletions extends Disposable {
|
|
|
1344
1397
|
usedNames.add(part.name);
|
|
1345
1398
|
}
|
|
1346
1399
|
}
|
|
1400
|
+
const typedLeader = range.varWord?.word?.charAt(0) === chatAgentLeader ? chatAgentLeader : chatVariableLeader;
|
|
1401
|
+
const pattern = range.varWord?.word ? range.varWord.word.toLowerCase().slice(1) : "";
|
|
1347
1402
|
const suggestions = [];
|
|
1348
1403
|
const iter = widget.input.selectedToolsModel.entriesMap.get();
|
|
1349
1404
|
for (const [item, enabled] of iter) {
|
|
@@ -1358,19 +1413,26 @@ let ToolCompletions = class ToolCompletions extends Disposable {
|
|
|
1358
1413
|
name = item.referenceName;
|
|
1359
1414
|
} else {
|
|
1360
1415
|
const source = item.source;
|
|
1361
|
-
detail = ( localize(
|
|
1416
|
+
detail = ( localize(7088, "{0}: {1}", source.label, item.displayName));
|
|
1362
1417
|
name = item.toolReferenceName ?? item.displayName;
|
|
1363
1418
|
documentation = item.userDescription ?? item.modelDescription;
|
|
1364
1419
|
}
|
|
1365
1420
|
if (( usedNames.has(name))) {
|
|
1366
1421
|
continue;
|
|
1367
1422
|
}
|
|
1368
|
-
|
|
1423
|
+
if (pattern) {
|
|
1424
|
+
const lowerName = name.toLowerCase();
|
|
1425
|
+
if (!isPatternInWord(pattern, 0, pattern.length, lowerName, 0, lowerName.length)) {
|
|
1426
|
+
continue;
|
|
1427
|
+
}
|
|
1428
|
+
}
|
|
1429
|
+
const withLeader = `${typedLeader}${name}`;
|
|
1369
1430
|
suggestions.push({
|
|
1370
1431
|
label: withLeader,
|
|
1371
1432
|
range,
|
|
1372
1433
|
detail,
|
|
1373
1434
|
documentation,
|
|
1435
|
+
filterText: `${typedLeader}${name}`,
|
|
1374
1436
|
insertText: withLeader + " ",
|
|
1375
1437
|
kind: CompletionItemKind.Tool
|
|
1376
1438
|
});
|
|
@@ -1384,5 +1446,3 @@ let ToolCompletions = class ToolCompletions extends Disposable {
|
|
|
1384
1446
|
};
|
|
1385
1447
|
ToolCompletions = ToolCompletions_1 = ( __decorate([( __param(0, ILanguageFeaturesService)), ( __param(1, IChatWidgetService)), ( __param(2, IChatAgentService))], ToolCompletions));
|
|
1386
1448
|
( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(ToolCompletions, LifecyclePhase.Eventually);
|
|
1387
|
-
|
|
1388
|
-
export { computeCompletionRanges };
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js
CHANGED
|
@@ -350,7 +350,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
|
|
|
350
350
|
};
|
|
351
351
|
const promptHoverMessage = ( new MarkdownString());
|
|
352
352
|
promptHoverMessage.appendText(( localize(
|
|
353
|
-
|
|
353
|
+
7089,
|
|
354
354
|
"Click to open {0}",
|
|
355
355
|
this.labelService.getUriLabel(promptSlashCommand.promptPath.uri, {
|
|
356
356
|
relative: true
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js
CHANGED
|
@@ -62,7 +62,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
|
|
|
62
62
|
return ( new RenderedHoverParts([renderedHoverPart]));
|
|
63
63
|
}
|
|
64
64
|
getAccessibleContent(hoverPart) {
|
|
65
|
-
return localize(
|
|
65
|
+
return localize(7090, "There is a chat agent hover part here.");
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
ChatAgentHoverParticipant = ( __decorate([( __param(1, IInstantiationService)), ( __param(2, IChatWidgetService)), ( __param(3, ICommandService))], ChatAgentHoverParticipant));
|
|
@@ -253,7 +253,7 @@ let QuickChat = class QuickChat extends Disposable {
|
|
|
253
253
|
disclaimerElement.classList.toggle("hidden", !showDisclaimer);
|
|
254
254
|
if (showDisclaimer) {
|
|
255
255
|
const renderedMarkdown = disposables.add(this.markdownRendererService.render(( new MarkdownString(( localize(
|
|
256
|
-
|
|
256
|
+
7137,
|
|
257
257
|
"By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})",
|
|
258
258
|
product.defaultChatAgent?.provider?.default?.name ?? "",
|
|
259
259
|
product.defaultChatAgent?.provider?.default?.name ?? "",
|
|
@@ -174,7 +174,7 @@ let ChatEditor = class ChatEditor extends AbstractEditorWithViewState {
|
|
|
174
174
|
let isContributedChatSession = false;
|
|
175
175
|
const chatSessionType = input.getSessionType();
|
|
176
176
|
if (chatSessionType !== localChatSessionType) {
|
|
177
|
-
const loadingMessage = ( localize(
|
|
177
|
+
const loadingMessage = ( localize(7138, "Loading..."));
|
|
178
178
|
this.showLoadingInChatWidget(loadingMessage);
|
|
179
179
|
}
|
|
180
180
|
await super.setInput(input, options, context, token);
|
|
@@ -58,6 +58,7 @@ export declare class ChatViewPane extends ViewPane implements IViewWelcomeDelega
|
|
|
58
58
|
private restoringSession;
|
|
59
59
|
private readonly loadSessionCts;
|
|
60
60
|
private readonly modelRef;
|
|
61
|
+
private readonly _previousModelRef;
|
|
61
62
|
private readonly activityBadge;
|
|
62
63
|
constructor(options: IViewPaneOptions, keybindingService: IKeybindingService, contextMenuService: IContextMenuService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, viewDescriptorService: IViewDescriptorService, instantiationService: IInstantiationService, openerService: IOpenerService, themeService: IThemeService, hoverService: IHoverService, storageService: IStorageService, chatService: IChatService, chatAgentService: IChatAgentService, logService: ILogService, notificationService: INotificationService, layoutService: IWorkbenchLayoutService, chatSessionsService: IChatSessionsService, telemetryService: ITelemetryService, lifecycleService: ILifecycleService, progressService: IProgressService, agentSessionsService: IAgentSessionsService, chatEntitlementService: IChatEntitlementService, commandService: ICommandService, activityService: IActivityService, workbenchEnvironmentService: IWorkbenchEnvironmentService, hostService: IHostService);
|
|
63
64
|
private updateContextKeys;
|
|
@@ -143,6 +143,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
143
143
|
this.lastDimensionsPerOrientation = ( new Map());
|
|
144
144
|
this.loadSessionCts = this._register(( new MutableDisposable()));
|
|
145
145
|
this.modelRef = this._register(( new MutableDisposable()));
|
|
146
|
+
this._previousModelRef = this._register(( new MutableDisposable()));
|
|
146
147
|
this.activityBadge = this._register(( new MutableDisposable()));
|
|
147
148
|
this.sessionsViewerOrientation = AgentSessionsViewerOrientation.Stacked;
|
|
148
149
|
this.sessionsViewerOrientationConfiguration = "sideBySide";
|
|
@@ -315,7 +316,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
315
316
|
const sessionsContainer = this.sessionsContainer = parent.appendChild($(".agent-sessions-container"));
|
|
316
317
|
const sessionsTitleContainer = this.sessionsTitleContainer = append(sessionsContainer, $(".agent-sessions-title-container"));
|
|
317
318
|
const sessionsTitle = this.sessionsTitle = append(sessionsTitleContainer, $("span.agent-sessions-title"));
|
|
318
|
-
sessionsTitle.textContent = ( localize(
|
|
319
|
+
sessionsTitle.textContent = ( localize(7157, "Sessions"));
|
|
319
320
|
this._register(addDisposableListener(sessionsTitle, EventType.CLICK, () => {
|
|
320
321
|
this.sessionsControl?.scrollToTop();
|
|
321
322
|
this.sessionsControl?.focus();
|
|
@@ -343,7 +344,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
343
344
|
...defaultButtonStyles,
|
|
344
345
|
secondary: true
|
|
345
346
|
})));
|
|
346
|
-
newSessionButton.label = ( localize(
|
|
347
|
+
newSessionButton.label = ( localize(7158, "New Session"));
|
|
347
348
|
this._register(
|
|
348
349
|
newSessionButton.onDidClick(() => this.commandService.executeCommand(ACTION_ID_NEW_CHAT))
|
|
349
350
|
);
|
|
@@ -583,7 +584,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
583
584
|
progressBadgeDisposables.value.add(autorun(reader => {
|
|
584
585
|
if (model.requestInProgress.read(reader)) {
|
|
585
586
|
this.activityBadge.value = this.activityService.showViewActivity(this.id, {
|
|
586
|
-
badge: ( new ProgressBadge(() => ( localize(
|
|
587
|
+
badge: ( new ProgressBadge(() => ( localize(7159, "Agent Session in Progress"))))
|
|
587
588
|
});
|
|
588
589
|
} else {
|
|
589
590
|
this.activityBadge.clear();
|
|
@@ -621,6 +622,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
621
622
|
}
|
|
622
623
|
async showModel(token, modelRef, startNewSession = true) {
|
|
623
624
|
const oldModelResource = this.modelRef.value?.object.sessionResource;
|
|
625
|
+
this._previousModelRef.value = this.modelRef.value;
|
|
624
626
|
this.modelRef.value = undefined;
|
|
625
627
|
let ref;
|
|
626
628
|
if (startNewSession) {
|
|
@@ -635,6 +637,9 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
635
637
|
}
|
|
636
638
|
this.modelRef.value = ref;
|
|
637
639
|
const model = ref?.object;
|
|
640
|
+
if (model && this._previousModelRef.value?.object.sessionResource.toString() === ( model.sessionResource.toString())) {
|
|
641
|
+
this._previousModelRef.value = undefined;
|
|
642
|
+
}
|
|
638
643
|
if (model) {
|
|
639
644
|
await this.updateWidgetLockState(getChatSessionType(model.sessionResource));
|
|
640
645
|
if (token.isCancellationRequested) {
|
|
@@ -720,7 +725,7 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
720
725
|
return undefined;
|
|
721
726
|
}
|
|
722
727
|
this.logService.error(`Failed to load chat session '${( sessionResource.toString())}'`, err);
|
|
723
|
-
this.notificationService.error(( localize(
|
|
728
|
+
this.notificationService.error(( localize(7160, "Failed to open chat session: {0}", toErrorMessage(err))));
|
|
724
729
|
return this.showModel(token, undefined);
|
|
725
730
|
} finally {
|
|
726
731
|
clearWidgetCancellationListener.dispose();
|
|
@@ -764,15 +769,17 @@ let ChatViewPane = class ChatViewPane extends ViewPane {
|
|
|
764
769
|
width
|
|
765
770
|
};
|
|
766
771
|
let remainingHeight = height;
|
|
767
|
-
|
|
772
|
+
const remainingWidth = width;
|
|
773
|
+
const titleHeight = this.titleControl?.getHeight() ?? 0;
|
|
774
|
+
remainingHeight -= titleHeight;
|
|
768
775
|
const {
|
|
769
776
|
heightReduction,
|
|
770
777
|
widthReduction
|
|
771
778
|
} = this.layoutSessionsControl(remainingHeight, remainingWidth);
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
this._widget.layout(remainingHeight, remainingWidth);
|
|
779
|
+
this._widget.setInputPartMaxHeightOverride(
|
|
780
|
+
this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked ? remainingHeight : undefined
|
|
781
|
+
);
|
|
782
|
+
this._widget.layout(remainingHeight - heightReduction, remainingWidth - widthReduction);
|
|
776
783
|
this.lastDimensionsPerOrientation.set(this.sessionsViewerOrientation, {
|
|
777
784
|
height,
|
|
778
785
|
width
|
package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js
CHANGED
|
@@ -23,7 +23,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
|
|
|
23
23
|
ChatViewTitleControl_1 = this;
|
|
24
24
|
}
|
|
25
25
|
static {
|
|
26
|
-
this.DEFAULT_TITLE = ( localize(
|
|
26
|
+
this.DEFAULT_TITLE = ( localize(7161, "Chat"));
|
|
27
27
|
}
|
|
28
28
|
static {
|
|
29
29
|
this.PICK_AGENT_SESSION_ACTION_ID = "workbench.action.chat.pickAgentSession";
|
|
@@ -48,7 +48,7 @@ let ChatViewTitleControl = class ChatViewTitleControl extends Disposable {
|
|
|
48
48
|
constructor() {
|
|
49
49
|
super({
|
|
50
50
|
id: ChatViewTitleControl_1.PICK_AGENT_SESSION_ACTION_ID,
|
|
51
|
-
title: ( localize(
|
|
51
|
+
title: ( localize(7162, "Pick Agent Session")),
|
|
52
52
|
f1: false,
|
|
53
53
|
menu: [{
|
|
54
54
|
id: MenuId.ChatViewSessionTitleNavigationToolbar,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
|
+
import { IResponse } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
|
|
3
|
+
import { IArtifactGroupConfig, IChatArtifact } from "./tools/chatArtifactsService.js";
|
|
4
|
+
/**
|
|
5
|
+
* Extracts artifacts from a single response's content parts, applying the given rules.
|
|
6
|
+
* Pure function, no side effects.
|
|
7
|
+
*/
|
|
8
|
+
export declare function extractArtifactsFromResponse(response: IResponse, sessionResource: URI, byMimeType: Record<string, IArtifactGroupConfig>, byFilePath: Record<string, IArtifactGroupConfig>): IChatArtifact[];
|