@codingame/monaco-vscode-chat-service-override 29.1.1 → 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/common/promptSyntax/utils/promptFilesLocator.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/fi
|
|
|
3
3
|
import { IWorkspaceFolder } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace";
|
|
4
4
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
5
5
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
6
|
-
import {
|
|
6
|
+
import { IResolvedPromptSourceFolder } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations";
|
|
7
7
|
import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
8
8
|
import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
9
9
|
import { ISearchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search.service";
|
|
10
10
|
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
11
|
-
import { AgentFileType, IResolvedAgentFile, Logger, PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
|
|
11
|
+
import { AgentFileType, IPromptPath, IResolvedAgentFile, Logger, PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
|
|
12
12
|
import { IUserDataProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
|
|
13
13
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
14
14
|
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
@@ -137,7 +137,7 @@ export declare class PromptFilesLocator {
|
|
|
137
137
|
/**
|
|
138
138
|
* Searches for skills in all configured locations.
|
|
139
139
|
*/
|
|
140
|
-
findAgentSkills(token: CancellationToken): Promise<
|
|
140
|
+
findAgentSkills(token: CancellationToken): Promise<IPromptPath[]>;
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* Checks if the provided path contains a glob pattern (* or **).
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js
CHANGED
|
@@ -7,11 +7,11 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
7
7
|
import { FileOperationError, FileOperationResult } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
8
8
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
9
9
|
import { PromptsConfig, getPromptFileLocationsConfigKey, isTildePath } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
|
|
10
|
-
import { dirname, isEqual,
|
|
10
|
+
import { joinPath, dirname, isEqual, basename, isEqualOrParent, extname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
11
11
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
12
12
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
13
|
-
import {
|
|
14
|
-
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
13
|
+
import { getPromptFileType, getPromptFileExtension, getPromptFileDefaultLocations, LEGACY_MODE_FILE_EXTENSION, AGENTS_SOURCE_FOLDER, getCleanPromptName, AGENT_FILE_EXTENSION, SKILL_FILENAME } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
14
|
+
import { PromptFileSource, PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
15
15
|
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
16
16
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
17
17
|
import { getExcludes, QueryType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search';
|
|
@@ -56,7 +56,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
56
56
|
filePattern: undefined,
|
|
57
57
|
source: PromptFileSource.CopilotPersonal,
|
|
58
58
|
storage: PromptsStorage.user,
|
|
59
|
-
displayPath: ( localize(
|
|
59
|
+
displayPath: ( localize(7639, "User Data")),
|
|
60
60
|
isDefault: true
|
|
61
61
|
};
|
|
62
62
|
}
|
|
@@ -88,8 +88,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
88
88
|
async findParentRepoFolders(folderUri, userHome, seen, logger) {
|
|
89
89
|
const candidates = [];
|
|
90
90
|
let current = folderUri;
|
|
91
|
-
|
|
92
|
-
do {
|
|
91
|
+
while (true) {
|
|
93
92
|
try {
|
|
94
93
|
const isRepoRoot = await this.fileService.exists(joinPath(current, ".git"));
|
|
95
94
|
if (isRepoRoot) {
|
|
@@ -106,9 +105,12 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
106
105
|
return [];
|
|
107
106
|
}
|
|
108
107
|
candidates.push(current);
|
|
108
|
+
const parent = dirname(current);
|
|
109
|
+
if (isEqual(current, parent) || current.path === "/" || isEqual(userHome, parent) || ( seen.has(parent))) {
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
109
112
|
current = parent;
|
|
110
|
-
|
|
111
|
-
} while (!( seen.has(current)) && current.path !== "/" && !isEqual(userHome, current));
|
|
113
|
+
}
|
|
112
114
|
logger?.logInfo(`No repository root found for folder ${( folderUri.toString())}.`);
|
|
113
115
|
return [];
|
|
114
116
|
}
|
|
@@ -159,7 +161,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
159
161
|
}
|
|
160
162
|
}
|
|
161
163
|
};
|
|
162
|
-
const update = async
|
|
164
|
+
const update = async () => {
|
|
163
165
|
try {
|
|
164
166
|
const configuredLocations = PromptsConfig.promptSourceFolders(this.configService, type);
|
|
165
167
|
parentFolders = await this.toAbsoluteLocations(type, configuredLocations, undefined);
|
|
@@ -167,23 +169,23 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
167
169
|
return;
|
|
168
170
|
}
|
|
169
171
|
updateExternalFolderWatchers();
|
|
170
|
-
if (emitEvent) {
|
|
171
|
-
eventEmitter.fire();
|
|
172
|
-
}
|
|
173
172
|
} catch (err) {
|
|
174
173
|
this.logService.error(`Error updating prompt file watchers after config change:`, err);
|
|
175
174
|
}
|
|
176
175
|
};
|
|
177
176
|
disposables.add(this.configService.onDidChangeConfiguration(e => {
|
|
178
|
-
if (e.affectsConfiguration(key)) {
|
|
179
|
-
void update(
|
|
177
|
+
if (e.affectsConfiguration(key) || e.affectsConfiguration(PromptsConfig.USE_CUSTOMIZATIONS_IN_PARENT_REPOS)) {
|
|
178
|
+
void update();
|
|
179
|
+
eventEmitter.fire();
|
|
180
180
|
}
|
|
181
181
|
}));
|
|
182
182
|
disposables.add(this.onDidChangeWorkspaceFolders()(() => {
|
|
183
|
-
void update(
|
|
183
|
+
void update();
|
|
184
|
+
eventEmitter.fire();
|
|
184
185
|
}));
|
|
185
186
|
disposables.add(this.workspaceTrustManagementService.onDidChangeTrustedFolders(() => {
|
|
186
|
-
void update(
|
|
187
|
+
void update();
|
|
188
|
+
eventEmitter.fire();
|
|
187
189
|
}));
|
|
188
190
|
disposables.add(this.fileService.onDidFilesChange(e => {
|
|
189
191
|
if (e.affects(userDataFolder)) {
|
|
@@ -196,7 +198,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
196
198
|
}
|
|
197
199
|
}));
|
|
198
200
|
disposables.add(this.fileService.watch(userDataFolder));
|
|
199
|
-
void update(
|
|
201
|
+
void update();
|
|
200
202
|
return {
|
|
201
203
|
event: eventEmitter.event,
|
|
202
204
|
dispose: () => disposables.dispose()
|
|
@@ -613,11 +615,14 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
613
615
|
return [];
|
|
614
616
|
}
|
|
615
617
|
const results = await this.findAgentSkillsInFolder(uri, token);
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
618
|
+
for (const skillUri of results) {
|
|
619
|
+
allResults.push({
|
|
620
|
+
uri: skillUri,
|
|
621
|
+
source,
|
|
622
|
+
storage,
|
|
623
|
+
type: PromptsType.skill
|
|
624
|
+
});
|
|
625
|
+
}
|
|
621
626
|
}
|
|
622
627
|
return allResults;
|
|
623
628
|
}
|
|
@@ -1,24 +1,36 @@
|
|
|
1
1
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
2
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
4
5
|
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
6
|
+
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
5
7
|
import { IChatArtifactsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/chatArtifactsService.service";
|
|
8
|
+
export interface IArtifactGroupConfig {
|
|
9
|
+
readonly groupName: string;
|
|
10
|
+
readonly onlyShowGroup?: boolean;
|
|
11
|
+
}
|
|
6
12
|
export interface IChatArtifact {
|
|
7
13
|
readonly label: string;
|
|
8
14
|
readonly uri: string;
|
|
9
15
|
readonly toolCallId?: string;
|
|
10
16
|
readonly dataPartIndex?: number;
|
|
11
17
|
readonly type: "devServer" | "screenshot" | "plan" | undefined;
|
|
18
|
+
readonly groupName?: string;
|
|
19
|
+
readonly onlyShowGroup?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface IChatArtifacts {
|
|
22
|
+
readonly artifacts: IObservable<readonly IChatArtifact[]>;
|
|
23
|
+
readonly mutable: IObservable<boolean>;
|
|
24
|
+
set(artifacts: IChatArtifact[]): void;
|
|
25
|
+
clear(): void;
|
|
26
|
+
migrate(target: IChatArtifacts): void;
|
|
12
27
|
}
|
|
13
28
|
export declare class ChatArtifactsService extends Disposable implements IChatArtifactsService {
|
|
29
|
+
private readonly _chatService;
|
|
30
|
+
private readonly _configurationService;
|
|
14
31
|
readonly _serviceBrand: undefined;
|
|
15
|
-
private readonly _onDidUpdateArtifacts;
|
|
16
|
-
readonly onDidUpdateArtifacts: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<URI>;
|
|
17
32
|
private readonly _storage;
|
|
18
|
-
private readonly
|
|
19
|
-
constructor(storageService: IStorageService);
|
|
20
|
-
getArtifacts(sessionResource: URI):
|
|
21
|
-
setArtifacts(sessionResource: URI, artifacts: IChatArtifact[]): void;
|
|
22
|
-
migrateArtifacts(oldSessionResource: URI, newSessionResource: URI): void;
|
|
23
|
-
artifacts(sessionResource: URI): IObservable<readonly IChatArtifact[]>;
|
|
33
|
+
private readonly _instances;
|
|
34
|
+
constructor(storageService: IStorageService, _chatService: IChatService, _configurationService: IConfigurationService);
|
|
35
|
+
getArtifacts(sessionResource: URI): IChatArtifacts;
|
|
24
36
|
}
|
|
@@ -1,75 +1,215 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import {
|
|
4
|
-
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
3
|
+
import { Disposable, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
4
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
5
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
6
6
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
7
7
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
8
8
|
import { Memento } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/memento';
|
|
9
|
+
import { extractArtifactsFromResponse } from '../chatArtifactExtraction.js';
|
|
10
|
+
import { IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
11
|
+
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
12
|
+
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
9
13
|
import { chatSessionResourceToId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
14
|
+
import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
15
|
+
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
16
|
+
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
17
|
+
import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
|
|
10
18
|
import { observableValueOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValueOpts';
|
|
11
19
|
|
|
12
20
|
let ChatArtifactsStorage = class ChatArtifactsStorage {
|
|
13
21
|
constructor(storageService) {
|
|
14
22
|
this._memento = ( new Memento("chat-artifacts", storageService));
|
|
15
23
|
}
|
|
16
|
-
|
|
24
|
+
get(key) {
|
|
17
25
|
const storage = this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
18
|
-
return storage[
|
|
26
|
+
return storage[key] || [];
|
|
19
27
|
}
|
|
20
|
-
|
|
28
|
+
set(key, artifacts) {
|
|
21
29
|
const storage = this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
22
|
-
storage[
|
|
30
|
+
storage[key] = artifacts;
|
|
23
31
|
this._memento.saveMemento();
|
|
24
32
|
}
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const storage = this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
30
|
-
delete storage[this._toKey(oldSessionResource)];
|
|
31
|
-
this._memento.saveMemento();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
_toKey(sessionResource) {
|
|
35
|
-
return chatSessionResourceToId(sessionResource);
|
|
33
|
+
delete(key) {
|
|
34
|
+
const storage = this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
35
|
+
delete storage[key];
|
|
36
|
+
this._memento.saveMemento();
|
|
36
37
|
}
|
|
37
38
|
};
|
|
38
39
|
ChatArtifactsStorage = ( __decorate([( __param(0, IStorageService))], ChatArtifactsStorage));
|
|
39
|
-
|
|
40
|
-
constructor(
|
|
40
|
+
class RulesChatArtifacts extends Disposable {
|
|
41
|
+
constructor(sessionResource, chatService, configurationService) {
|
|
41
42
|
super();
|
|
42
|
-
this.
|
|
43
|
-
this.
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
this.mutable = constObservable(false);
|
|
44
|
+
this._responseCache = ( new Map());
|
|
45
|
+
const configByMimeType = observableFromEvent(
|
|
46
|
+
this,
|
|
47
|
+
configurationService.onDidChangeConfiguration,
|
|
48
|
+
() => configurationService.getValue(ChatConfiguration.ArtifactsRulesByMimeType) ?? {}
|
|
49
|
+
);
|
|
50
|
+
const configByFilePath = observableFromEvent(
|
|
51
|
+
this,
|
|
52
|
+
configurationService.onDidChangeConfiguration,
|
|
53
|
+
() => configurationService.getValue(ChatConfiguration.ArtifactsRulesByFilePath) ?? {}
|
|
54
|
+
);
|
|
55
|
+
const modelSignal = observableFromEvent(
|
|
56
|
+
this,
|
|
57
|
+
chatService.onDidCreateModel,
|
|
58
|
+
() => chatService.getSession(sessionResource)
|
|
59
|
+
);
|
|
60
|
+
this.artifacts = derived(reader => {
|
|
61
|
+
const byMimeType = configByMimeType.read(reader);
|
|
62
|
+
const byFilePath = configByFilePath.read(reader);
|
|
63
|
+
const model = modelSignal.read(reader);
|
|
64
|
+
if (!model) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
const requestsSignal = observableSignalFromEvent(this, model.onDidChange);
|
|
68
|
+
requestsSignal.read(reader);
|
|
69
|
+
const requests = model.getRequests();
|
|
70
|
+
const allArtifacts = [];
|
|
71
|
+
const activeResponseIds = ( new Set());
|
|
72
|
+
const seenKeys = ( new Set());
|
|
73
|
+
for (const request of requests) {
|
|
74
|
+
const response = request.response;
|
|
75
|
+
if (!response) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
activeResponseIds.add(response.id);
|
|
79
|
+
const responseValue = response.response;
|
|
80
|
+
const partsLength = responseValue.value.length;
|
|
81
|
+
let completedToolCount = 0;
|
|
82
|
+
for (const part of responseValue.value) {
|
|
83
|
+
if ((part.kind === "toolInvocation" || part.kind === "toolInvocationSerialized") && IChatToolInvocation.resultDetails(part) !== undefined) {
|
|
84
|
+
completedToolCount++;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const cached = this._responseCache.get(response.id);
|
|
88
|
+
let extracted;
|
|
89
|
+
if (cached && cached.partsLength === partsLength && cached.completedToolCount === completedToolCount && cached.byMimeType === byMimeType && cached.byFilePath === byFilePath) {
|
|
90
|
+
extracted = cached.artifacts;
|
|
91
|
+
} else {
|
|
92
|
+
extracted = extractArtifactsFromResponse(responseValue, sessionResource, byMimeType, byFilePath);
|
|
93
|
+
this._responseCache.set(response.id, {
|
|
94
|
+
partsLength,
|
|
95
|
+
completedToolCount,
|
|
96
|
+
byMimeType,
|
|
97
|
+
byFilePath,
|
|
98
|
+
artifacts: extracted
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
for (const artifact of extracted) {
|
|
102
|
+
const key = artifact.toolCallId ? `${artifact.toolCallId}:${artifact.dataPartIndex}` : artifact.uri;
|
|
103
|
+
if (( seenKeys.has(key))) {
|
|
104
|
+
const idx = allArtifacts.findIndex(
|
|
105
|
+
a => a.toolCallId ? `${a.toolCallId}:${a.dataPartIndex}` === key : a.uri === key
|
|
106
|
+
);
|
|
107
|
+
if (idx !== -1) {
|
|
108
|
+
allArtifacts.splice(idx, 1);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
seenKeys.add(key);
|
|
112
|
+
allArtifacts.push(artifact);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
for (const key of ( this._responseCache.keys())) {
|
|
116
|
+
if (!( activeResponseIds.has(key))) {
|
|
117
|
+
this._responseCache.delete(key);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return allArtifacts;
|
|
121
|
+
});
|
|
46
122
|
}
|
|
47
|
-
|
|
48
|
-
|
|
123
|
+
set() {
|
|
124
|
+
throw ( new Error("Artifacts are not mutable in rules mode"));
|
|
49
125
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
126
|
+
clear() {
|
|
127
|
+
throw ( new Error("Artifacts are not mutable in rules mode"));
|
|
128
|
+
}
|
|
129
|
+
migrate() {}
|
|
130
|
+
}
|
|
131
|
+
class StorageChatArtifacts {
|
|
132
|
+
constructor(_storageKey, _storage) {
|
|
133
|
+
this._storageKey = _storageKey;
|
|
134
|
+
this._storage = _storage;
|
|
135
|
+
this.mutable = constObservable(true);
|
|
136
|
+
this._artifacts = observableValueOpts({
|
|
137
|
+
owner: this,
|
|
138
|
+
equalsFn: () => false
|
|
139
|
+
}, []);
|
|
140
|
+
this.artifacts = this._artifacts;
|
|
141
|
+
this._artifacts.set(this._storage.get(this._storageKey), undefined);
|
|
142
|
+
}
|
|
143
|
+
set(artifacts) {
|
|
144
|
+
this._artifacts.set(artifacts, undefined);
|
|
145
|
+
this._storage.set(this._storageKey, artifacts);
|
|
55
146
|
}
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
this.
|
|
147
|
+
clear() {
|
|
148
|
+
this._artifacts.set([], undefined);
|
|
149
|
+
this._storage.set(this._storageKey, []);
|
|
59
150
|
}
|
|
60
|
-
|
|
151
|
+
migrate(target) {
|
|
152
|
+
const current = this._artifacts.get();
|
|
153
|
+
if (current.length > 0 && target.mutable.get()) {
|
|
154
|
+
target.set([...current]);
|
|
155
|
+
}
|
|
156
|
+
this._artifacts.set([], undefined);
|
|
157
|
+
this._storage.delete(this._storageKey);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
class SwitchingChatArtifacts extends Disposable {
|
|
161
|
+
constructor(sessionResource, storageKey, storage, chatService, configurationService) {
|
|
162
|
+
super();
|
|
163
|
+
this._rules = this._register(( new RulesChatArtifacts(sessionResource, chatService, configurationService)));
|
|
164
|
+
this._storage = ( new StorageChatArtifacts(storageKey, storage));
|
|
165
|
+
const modeObs = observableFromEvent(
|
|
166
|
+
this,
|
|
167
|
+
configurationService.onDidChangeConfiguration,
|
|
168
|
+
() => configurationService.getValue(ChatConfiguration.ArtifactsMode) ?? "rules"
|
|
169
|
+
);
|
|
170
|
+
this._active = derived(reader => {
|
|
171
|
+
const mode = modeObs.read(reader);
|
|
172
|
+
return mode === "tool" ? this._storage : this._rules;
|
|
173
|
+
});
|
|
174
|
+
this.mutable = derived(reader => this._active.read(reader).mutable.read(reader));
|
|
175
|
+
this.artifacts = derived(reader => this._active.read(reader).artifacts.read(reader));
|
|
176
|
+
}
|
|
177
|
+
set(artifacts) {
|
|
178
|
+
const active = this._active.get();
|
|
179
|
+
active.set(artifacts);
|
|
180
|
+
}
|
|
181
|
+
clear() {
|
|
182
|
+
const active = this._active.get();
|
|
183
|
+
active.clear();
|
|
184
|
+
}
|
|
185
|
+
migrate(target) {
|
|
186
|
+
this._storage.migrate(target);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
let ChatArtifactsService = class ChatArtifactsService extends Disposable {
|
|
190
|
+
constructor(storageService, _chatService, _configurationService) {
|
|
191
|
+
super();
|
|
192
|
+
this._chatService = _chatService;
|
|
193
|
+
this._configurationService = _configurationService;
|
|
194
|
+
this._instances = this._register(( new DisposableMap()));
|
|
195
|
+
this._storage = ( new ChatArtifactsStorage(storageService));
|
|
196
|
+
}
|
|
197
|
+
getArtifacts(sessionResource) {
|
|
61
198
|
const key = chatSessionResourceToId(sessionResource);
|
|
62
|
-
let
|
|
63
|
-
if (!
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
199
|
+
let instance = this._instances.get(key);
|
|
200
|
+
if (!instance) {
|
|
201
|
+
instance = ( new SwitchingChatArtifacts(
|
|
202
|
+
sessionResource,
|
|
203
|
+
key,
|
|
204
|
+
this._storage,
|
|
205
|
+
this._chatService,
|
|
206
|
+
this._configurationService
|
|
207
|
+
));
|
|
208
|
+
this._instances.set(key, instance);
|
|
69
209
|
}
|
|
70
|
-
return
|
|
210
|
+
return instance;
|
|
71
211
|
}
|
|
72
212
|
};
|
|
73
|
-
ChatArtifactsService = ( __decorate([( __param(0, IStorageService))], ChatArtifactsService));
|
|
213
|
+
ChatArtifactsService = ( __decorate([( __param(0, IStorageService)), ( __param(1, IChatService)), ( __param(2, IConfigurationService))], ChatArtifactsService));
|
|
74
214
|
|
|
75
215
|
export { ChatArtifactsService };
|
|
@@ -20,7 +20,7 @@ var PhraseTextType;
|
|
|
20
20
|
})(PhraseTextType || (PhraseTextType = {}));
|
|
21
21
|
const VoiceChatInProgress = ( new RawContextKey("voiceChatInProgress", false, {
|
|
22
22
|
type: "boolean",
|
|
23
|
-
description: ( localize(
|
|
23
|
+
description: ( localize(7697, "A speech-to-text session is in progress for chat."))
|
|
24
24
|
}));
|
|
25
25
|
let VoiceChatService = class VoiceChatService extends Disposable {
|
|
26
26
|
static {
|
package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js
CHANGED
|
@@ -26,7 +26,7 @@ let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSyste
|
|
|
26
26
|
this._associated = ( new ResourceMap());
|
|
27
27
|
this._sessionAssociations = ( new ResourceMap());
|
|
28
28
|
this._register(this.chatService.onDidDisposeSession(e => {
|
|
29
|
-
for (const sessionResource of e.
|
|
29
|
+
for (const sessionResource of e.sessionResources) {
|
|
30
30
|
const uris = this._sessionAssociations.get(sessionResource);
|
|
31
31
|
if (uris) {
|
|
32
32
|
for (const uri of uris) {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { EditSuggestionId } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/textModelEditSource';
|
|
4
4
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
5
|
-
import { TelemetryTrustedValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetryUtils';
|
|
6
5
|
import { DataChannelForwardingTelemetryService, forwardToChannelIf, isCopilotLikeExtension } from '@codingame/monaco-vscode-api/vscode/vs/platform/dataChannel/browser/forwardingTelemetryService';
|
|
7
6
|
import { IRandomService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/randomService.service';
|
|
8
7
|
|
|
@@ -28,7 +27,7 @@ let AiEditTelemetryServiceImpl = class AiEditTelemetryServiceImpl {
|
|
|
28
27
|
editLinesInserted: data.editDeltaInfo?.linesAdded,
|
|
29
28
|
editLinesDeleted: data.editDeltaInfo?.linesRemoved,
|
|
30
29
|
modeId: data.modeId,
|
|
31
|
-
modelId:
|
|
30
|
+
modelId: data.modelId?.replace(/[\/\\]/g, "_"),
|
|
32
31
|
applyCodeBlockSuggestionId: data.applyCodeBlockSuggestionId,
|
|
33
32
|
...forwardToChannelIf(isCopilotLikeExtension(data.source?.extensionId))
|
|
34
33
|
});
|
|
@@ -49,7 +48,7 @@ let AiEditTelemetryServiceImpl = class AiEditTelemetryServiceImpl {
|
|
|
49
48
|
editLinesInserted: data.editDeltaInfo?.linesAdded,
|
|
50
49
|
editLinesDeleted: data.editDeltaInfo?.linesRemoved,
|
|
51
50
|
modeId: data.modeId,
|
|
52
|
-
modelId:
|
|
51
|
+
modelId: data.modelId?.replace(/[\/\\]/g, "_"),
|
|
53
52
|
applyCodeBlockSuggestionId: data.applyCodeBlockSuggestionId,
|
|
54
53
|
acceptanceMethod: data.acceptanceMethod,
|
|
55
54
|
...forwardToChannelIf(isCopilotLikeExtension(data.source?.extensionId))
|
|
@@ -36,7 +36,7 @@ const editActionMenuItem = {
|
|
|
36
36
|
order: 0,
|
|
37
37
|
command: {
|
|
38
38
|
id: ChatSubmitAction.ID,
|
|
39
|
-
title: ( localize(
|
|
39
|
+
title: ( localize(9925, "Edit Code"))
|
|
40
40
|
},
|
|
41
41
|
when: ( ContextKeyExpr.and(ChatContextKeys.inputHasText, ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), CTX_INLINE_CHAT_EDITING, CTX_INLINE_CHAT_V1_ENABLED))
|
|
42
42
|
};
|
|
@@ -45,7 +45,7 @@ const generateActionMenuItem = {
|
|
|
45
45
|
order: 0,
|
|
46
46
|
command: {
|
|
47
47
|
id: ChatSubmitAction.ID,
|
|
48
|
-
title: ( localize(
|
|
48
|
+
title: ( localize(9926, "Generate"))
|
|
49
49
|
},
|
|
50
50
|
when: ( ContextKeyExpr.and(ChatContextKeys.inputHasText, ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), ( CTX_INLINE_CHAT_EDITING.toNegated()), CTX_INLINE_CHAT_V1_ENABLED))
|
|
51
51
|
};
|
|
@@ -56,8 +56,8 @@ const cancelActionMenuItem = {
|
|
|
56
56
|
order: 0,
|
|
57
57
|
command: {
|
|
58
58
|
id: CancelAction.ID,
|
|
59
|
-
title: ( localize(
|
|
60
|
-
shortTitle: ( localize(
|
|
59
|
+
title: ( localize(9927, "Cancel Request")),
|
|
60
|
+
shortTitle: ( localize(9928, "Cancel"))
|
|
61
61
|
},
|
|
62
62
|
when: ( ContextKeyExpr.and(CTX_INLINE_CHAT_REQUEST_IN_PROGRESS))
|
|
63
63
|
};
|