@codingame/monaco-vscode-chat-service-override 28.4.0 → 29.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 +18 -12
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +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.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
- 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 +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -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 +76 -10
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
- 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.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
- 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 +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
- 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 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- 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.js +23 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
- 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/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
- 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/chatInputCompletions.js +20 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
- 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 +57 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
- 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 +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
- 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/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
- 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/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
- 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/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
- 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 +3 -3
- 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.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
- 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 +19 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
4
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
6
|
+
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
7
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
8
|
+
import { Memento } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/memento';
|
|
9
|
+
import { chatSessionResourceToId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
10
|
+
import { observableValueOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValueOpts';
|
|
11
|
+
|
|
12
|
+
let ChatArtifactsStorage = class ChatArtifactsStorage {
|
|
13
|
+
constructor(storageService) {
|
|
14
|
+
this._memento = ( new Memento("chat-artifacts", storageService));
|
|
15
|
+
}
|
|
16
|
+
getArtifacts(sessionResource) {
|
|
17
|
+
const storage = this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
18
|
+
return storage[this._toKey(sessionResource)] || [];
|
|
19
|
+
}
|
|
20
|
+
setArtifacts(sessionResource, artifacts) {
|
|
21
|
+
const storage = this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
22
|
+
storage[this._toKey(sessionResource)] = artifacts;
|
|
23
|
+
this._memento.saveMemento();
|
|
24
|
+
}
|
|
25
|
+
migrateArtifacts(oldSessionResource, newSessionResource) {
|
|
26
|
+
const artifacts = this.getArtifacts(oldSessionResource);
|
|
27
|
+
if (artifacts.length > 0) {
|
|
28
|
+
this.setArtifacts(newSessionResource, artifacts);
|
|
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);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
ChatArtifactsStorage = ( __decorate([( __param(0, IStorageService))], ChatArtifactsStorage));
|
|
39
|
+
let ChatArtifactsService = class ChatArtifactsService extends Disposable {
|
|
40
|
+
constructor(storageService) {
|
|
41
|
+
super();
|
|
42
|
+
this._onDidUpdateArtifacts = this._register(( new Emitter()));
|
|
43
|
+
this.onDidUpdateArtifacts = this._onDidUpdateArtifacts.event;
|
|
44
|
+
this._observables = ( new Map());
|
|
45
|
+
this._storage = ( new ChatArtifactsStorage(storageService));
|
|
46
|
+
}
|
|
47
|
+
getArtifacts(sessionResource) {
|
|
48
|
+
return this._storage.getArtifacts(sessionResource);
|
|
49
|
+
}
|
|
50
|
+
setArtifacts(sessionResource, artifacts) {
|
|
51
|
+
this._storage.setArtifacts(sessionResource, artifacts);
|
|
52
|
+
const key = chatSessionResourceToId(sessionResource);
|
|
53
|
+
this._observables.get(key)?.set(artifacts, undefined);
|
|
54
|
+
this._onDidUpdateArtifacts.fire(sessionResource);
|
|
55
|
+
}
|
|
56
|
+
migrateArtifacts(oldSessionResource, newSessionResource) {
|
|
57
|
+
this._storage.migrateArtifacts(oldSessionResource, newSessionResource);
|
|
58
|
+
this._onDidUpdateArtifacts.fire(newSessionResource);
|
|
59
|
+
}
|
|
60
|
+
artifacts(sessionResource) {
|
|
61
|
+
const key = chatSessionResourceToId(sessionResource);
|
|
62
|
+
let obs = this._observables.get(key);
|
|
63
|
+
if (!obs) {
|
|
64
|
+
obs = observableValueOpts({
|
|
65
|
+
owner: this,
|
|
66
|
+
equalsFn: () => false
|
|
67
|
+
}, this._storage.getArtifacts(sessionResource));
|
|
68
|
+
this._observables.set(key, obs);
|
|
69
|
+
}
|
|
70
|
+
return obs;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
ChatArtifactsService = ( __decorate([( __param(0, IStorageService))], ChatArtifactsService));
|
|
74
|
+
|
|
75
|
+
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(7632, "A speech-to-text session is in progress for chat."))
|
|
24
24
|
}));
|
|
25
25
|
let VoiceChatService = class VoiceChatService extends Disposable {
|
|
26
26
|
static {
|
|
@@ -3,7 +3,7 @@ import './inlineChatDefaultModel.js';
|
|
|
3
3
|
import { registerEditorContribution, EditorContributionInstantiation } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions';
|
|
4
4
|
import { registerAction2, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
5
5
|
import { InlineChatController } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
|
|
6
|
-
import { KeepSessionAction2, UndoSessionAction2, UndoAndCloseSessionAction2, CancelSessionAction, StartSessionAction, AskInChatAction, FocusInlineChat, SubmitInlineChatInputAction, QueueInChatAction, HideInlineChatInputAction, FixDiagnosticsAction, DismissEditorAffordanceAction } from './inlineChatActions.js';
|
|
6
|
+
import { KeepSessionAction2, UndoSessionAction2, UndoAndCloseSessionAction2, CancelSessionAction, ContinueInlineChatInChatViewAction, RephraseInlineChatSessionAction, StartSessionAction, AskInChatAction, FocusInlineChat, SubmitInlineChatInputAction, QueueInChatAction, HideInlineChatInputAction, FixDiagnosticsAction, DismissEditorAffordanceAction } from './inlineChatActions.js';
|
|
7
7
|
import { CTX_INLINE_CHAT_REQUEST_IN_PROGRESS, CTX_INLINE_CHAT_EDITING, CTX_INLINE_CHAT_V1_ENABLED, MENU_INLINE_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
8
8
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
9
9
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
@@ -12,6 +12,7 @@ import { InlineChatNotebookContribution } from './inlineChatNotebook.js';
|
|
|
12
12
|
import { Extensions, registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
13
13
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
14
14
|
import { InlineChatEnabler, InlineChatEscapeToolContribution } from './inlineChatSessionServiceImpl.js';
|
|
15
|
+
import './inlineChatHistoryService.js';
|
|
15
16
|
import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
|
|
16
17
|
import { ChatSubmitAction, CancelAction } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
|
|
17
18
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
@@ -28,12 +29,14 @@ registerAction2(KeepSessionAction2);
|
|
|
28
29
|
registerAction2(UndoSessionAction2);
|
|
29
30
|
registerAction2(UndoAndCloseSessionAction2);
|
|
30
31
|
registerAction2(CancelSessionAction);
|
|
32
|
+
registerAction2(ContinueInlineChatInChatViewAction);
|
|
33
|
+
registerAction2(RephraseInlineChatSessionAction);
|
|
31
34
|
const editActionMenuItem = {
|
|
32
35
|
group: "0_main",
|
|
33
36
|
order: 0,
|
|
34
37
|
command: {
|
|
35
38
|
id: ChatSubmitAction.ID,
|
|
36
|
-
title: ( localize(
|
|
39
|
+
title: ( localize(9860, "Edit Code"))
|
|
37
40
|
},
|
|
38
41
|
when: ( ContextKeyExpr.and(ChatContextKeys.inputHasText, ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), CTX_INLINE_CHAT_EDITING, CTX_INLINE_CHAT_V1_ENABLED))
|
|
39
42
|
};
|
|
@@ -42,7 +45,7 @@ const generateActionMenuItem = {
|
|
|
42
45
|
order: 0,
|
|
43
46
|
command: {
|
|
44
47
|
id: ChatSubmitAction.ID,
|
|
45
|
-
title: ( localize(
|
|
48
|
+
title: ( localize(9861, "Generate"))
|
|
46
49
|
},
|
|
47
50
|
when: ( ContextKeyExpr.and(ChatContextKeys.inputHasText, ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), ( CTX_INLINE_CHAT_EDITING.toNegated()), CTX_INLINE_CHAT_V1_ENABLED))
|
|
48
51
|
};
|
|
@@ -53,8 +56,8 @@ const cancelActionMenuItem = {
|
|
|
53
56
|
order: 0,
|
|
54
57
|
command: {
|
|
55
58
|
id: CancelAction.ID,
|
|
56
|
-
title: ( localize(
|
|
57
|
-
shortTitle: ( localize(
|
|
59
|
+
title: ( localize(9862, "Cancel Request")),
|
|
60
|
+
shortTitle: ( localize(9863, "Cancel"))
|
|
58
61
|
},
|
|
59
62
|
when: ( ContextKeyExpr.and(CTX_INLINE_CHAT_REQUEST_IN_PROGRESS))
|
|
60
63
|
};
|
|
@@ -40,6 +40,14 @@ export declare class UndoAndCloseSessionAction2 extends KeepOrUndoSessionAction
|
|
|
40
40
|
export declare class CancelSessionAction extends KeepOrUndoSessionAction {
|
|
41
41
|
constructor();
|
|
42
42
|
}
|
|
43
|
+
export declare class ContinueInlineChatInChatViewAction extends AbstractInlineChatAction {
|
|
44
|
+
constructor();
|
|
45
|
+
runInlineChatCommand(_accessor: ServicesAccessor, ctrl: InlineChatController, _editor: ICodeEditor): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
export declare class RephraseInlineChatSessionAction extends AbstractInlineChatAction {
|
|
48
|
+
constructor();
|
|
49
|
+
runInlineChatCommand(_accessor: ServicesAccessor, ctrl: InlineChatController, _editor: ICodeEditor): Promise<void>;
|
|
50
|
+
}
|
|
43
51
|
export declare class SubmitInlineChatInputAction extends AbstractInlineChatAction {
|
|
44
52
|
constructor();
|
|
45
53
|
runInlineChatCommand(_accessor: ServicesAccessor, ctrl: InlineChatController, _editor: ICodeEditor, ..._args: unknown[]): void;
|
|
@@ -7,7 +7,7 @@ import { EmbeddedDiffEditorWidget } from '@codingame/monaco-vscode-api/vscode/vs
|
|
|
7
7
|
import { EmbeddedCodeEditorWidget } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget';
|
|
8
8
|
import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
|
|
9
9
|
import { InlineChatController, InlineChatRunOptions } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
|
|
10
|
-
import { ACTION_ACCEPT_CHANGES, CTX_INLINE_CHAT_V1_ENABLED, CTX_INLINE_CHAT_V2_ENABLED, CTX_INLINE_CHAT_POSSIBLE, CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT, ACTION_START, InlineChatConfigKeys, CTX_INLINE_CHAT_OUTER_CURSOR_POSITION, CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_FOCUSED, CTX_FIX_DIAGNOSTICS_ENABLED, CTX_HOVER_MODE, CTX_INLINE_CHAT_PENDING_CONFIRMATION, CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED, CTX_INLINE_CHAT_INPUT_HAS_TEXT, ACTION_ASK_IN_CHAT, CTX_INLINE_CHAT_AFFORDANCE_VISIBLE } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
10
|
+
import { ACTION_ACCEPT_CHANGES, CTX_INLINE_CHAT_V1_ENABLED, CTX_INLINE_CHAT_V2_ENABLED, CTX_INLINE_CHAT_POSSIBLE, CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT, CTX_ASK_IN_CHAT_ENABLED, ACTION_START, InlineChatConfigKeys, CTX_INLINE_CHAT_OUTER_CURSOR_POSITION, CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_FOCUSED, CTX_FIX_DIAGNOSTICS_ENABLED, CTX_HOVER_MODE, CTX_INLINE_CHAT_PENDING_CONFIRMATION, CTX_INLINE_CHAT_TERMINATED, CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED, CTX_INLINE_CHAT_INPUT_HAS_TEXT, ACTION_ASK_IN_CHAT, CTX_INLINE_CHAT_AFFORDANCE_VISIBLE } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
11
11
|
import { ctxHasRequestInProgress, ctxHasEditorModification } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys';
|
|
12
12
|
import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
13
13
|
import { Action2, MenuId, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
@@ -25,22 +25,23 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
25
25
|
import { IChatEditingService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService.service';
|
|
26
26
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
27
27
|
import { ChatRequestQueueKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
28
|
+
import { ChatEntitlementContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
|
|
28
29
|
|
|
29
30
|
CommandsRegistry.registerCommandAlias("interactiveEditor.start", "inlineChat.start");
|
|
30
31
|
CommandsRegistry.registerCommandAlias("interactive.acceptChanges", ACTION_ACCEPT_CHANGES);
|
|
31
|
-
const START_INLINE_CHAT = registerIcon("start-inline-chat", Codicon.sparkle, ( localize(
|
|
32
|
+
const START_INLINE_CHAT = registerIcon("start-inline-chat", Codicon.sparkle, ( localize(9864, "Icon which spawns the inline chat from the editor toolbar.")));
|
|
32
33
|
const inlineChatContextKey = ( ContextKeyExpr.and(( ContextKeyExpr.or(CTX_INLINE_CHAT_V1_ENABLED, CTX_INLINE_CHAT_V2_ENABLED)), CTX_INLINE_CHAT_POSSIBLE, EditorContextKeys.writable, ( EditorContextKeys.editorSimpleInput.negate())));
|
|
33
34
|
class StartSessionAction extends Action2 {
|
|
34
35
|
constructor() {
|
|
35
36
|
super({
|
|
36
37
|
id: ACTION_START,
|
|
37
|
-
title: ( localize2(
|
|
38
|
-
shortTitle: ( localize2(
|
|
38
|
+
title: ( localize2(9865, "Open Inline Chat")),
|
|
39
|
+
shortTitle: ( localize2(9866, "Inline Chat")),
|
|
39
40
|
category: AbstractInlineChatAction.category,
|
|
40
41
|
f1: true,
|
|
41
|
-
precondition: ( ContextKeyExpr.and(inlineChatContextKey, ( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()))),
|
|
42
|
+
precondition: ( ContextKeyExpr.and(inlineChatContextKey, ( ContextKeyExpr.or(( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()), ( CTX_ASK_IN_CHAT_ENABLED.negate()))))),
|
|
42
43
|
keybinding: {
|
|
43
|
-
when: EditorContextKeys.focus,
|
|
44
|
+
when: ( ContextKeyExpr.and(EditorContextKeys.focus, inlineChatContextKey, ( ContextKeyExpr.or(( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()), ( CTX_ASK_IN_CHAT_ENABLED.negate()))))),
|
|
44
45
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
45
46
|
primary: KeyMod.CtrlCmd | KeyCode.KeyI
|
|
46
47
|
},
|
|
@@ -49,7 +50,7 @@ class StartSessionAction extends Action2 {
|
|
|
49
50
|
id: MenuId.EditorContext,
|
|
50
51
|
group: "1_chat",
|
|
51
52
|
order: 3,
|
|
52
|
-
when: inlineChatContextKey
|
|
53
|
+
when: ( ContextKeyExpr.and(inlineChatContextKey, ( ContextKeyExpr.or(( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()), ( CTX_ASK_IN_CHAT_ENABLED.negate())))))
|
|
53
54
|
}, {
|
|
54
55
|
id: MenuId.ChatTitleBarMenu,
|
|
55
56
|
group: "a_open",
|
|
@@ -91,7 +92,7 @@ class StartSessionAction extends Action2 {
|
|
|
91
92
|
}
|
|
92
93
|
if (!options?.message && configServce.getValue(InlineChatConfigKeys.RenderMode) === "hover") {
|
|
93
94
|
const selection = editor.getSelection();
|
|
94
|
-
const placeholder = selection && !selection.isEmpty() ? ( localize(
|
|
95
|
+
const placeholder = selection && !selection.isEmpty() ? ( localize(9867, "Describe how to change this")) : ( localize(9868, "Describe what to generate"));
|
|
95
96
|
await ctrl.inputOverlayWidget.showMenuAtSelection(placeholder);
|
|
96
97
|
return;
|
|
97
98
|
}
|
|
@@ -106,12 +107,13 @@ MenuRegistry.appendMenuItem(MenuId.InlineChatEditorAffordance, {
|
|
|
106
107
|
when: ( ContextKeyExpr.and(
|
|
107
108
|
EditorContextKeys.writable,
|
|
108
109
|
EditorContextKeys.hasNonEmptySelection,
|
|
109
|
-
( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate())
|
|
110
|
+
( ContextKeyExpr.or(( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()), ( CTX_ASK_IN_CHAT_ENABLED.negate()))),
|
|
111
|
+
( ChatEntitlementContextKeys.Setup.hidden.negate())
|
|
110
112
|
)),
|
|
111
113
|
command: {
|
|
112
114
|
id: ACTION_START,
|
|
113
|
-
title: ( localize(
|
|
114
|
-
shortTitle: ( localize(
|
|
115
|
+
title: ( localize(9869, "Ask for Edits")),
|
|
116
|
+
shortTitle: ( localize(9870, "Ask for Edits")),
|
|
115
117
|
icon: Codicon.sparkle
|
|
116
118
|
}
|
|
117
119
|
});
|
|
@@ -119,7 +121,7 @@ class FocusInlineChat extends EditorAction2 {
|
|
|
119
121
|
constructor() {
|
|
120
122
|
super({
|
|
121
123
|
id: "inlineChat.focus",
|
|
122
|
-
title: ( localize2(
|
|
124
|
+
title: ( localize2(9871, "Focus Input")),
|
|
123
125
|
f1: true,
|
|
124
126
|
category: AbstractInlineChatAction.category,
|
|
125
127
|
precondition: ( ContextKeyExpr.and(EditorContextKeys.editorTextFocus, CTX_INLINE_CHAT_VISIBLE, ( CTX_INLINE_CHAT_FOCUSED.negate()), ( CONTEXT_ACCESSIBILITY_MODE_ENABLED.negate()))),
|
|
@@ -140,7 +142,7 @@ class FocusInlineChat extends EditorAction2 {
|
|
|
140
142
|
}
|
|
141
143
|
class AbstractInlineChatAction extends EditorAction2 {
|
|
142
144
|
static {
|
|
143
|
-
this.category = ( localize2(
|
|
145
|
+
this.category = ( localize2(9872, "Inline Chat"));
|
|
144
146
|
}
|
|
145
147
|
constructor(desc) {
|
|
146
148
|
const massageMenu = menu => {
|
|
@@ -206,7 +208,7 @@ class FixDiagnosticsAction extends AbstractInlineChatAction {
|
|
|
206
208
|
constructor() {
|
|
207
209
|
super({
|
|
208
210
|
id: "inlineChat.fixDiagnostics",
|
|
209
|
-
title: ( localize2(
|
|
211
|
+
title: ( localize2(9873, "Fix")),
|
|
210
212
|
icon: Codicon.editSparkle,
|
|
211
213
|
precondition: ( ContextKeyExpr.and(
|
|
212
214
|
CTX_FIX_DIAGNOSTICS_ENABLED,
|
|
@@ -231,6 +233,12 @@ class FixDiagnosticsAction extends AbstractInlineChatAction {
|
|
|
231
233
|
EditorContextKeys.selectionHasDiagnostics,
|
|
232
234
|
( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate())
|
|
233
235
|
))
|
|
236
|
+
}, {
|
|
237
|
+
id: MenuId.MarkerHoverStatusBar,
|
|
238
|
+
group: "1_fix",
|
|
239
|
+
order: 1,
|
|
240
|
+
when: ( ContextKeyExpr.and(CTX_FIX_DIAGNOSTICS_ENABLED, ( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()))),
|
|
241
|
+
precondition: null
|
|
234
242
|
}]
|
|
235
243
|
});
|
|
236
244
|
}
|
|
@@ -262,7 +270,7 @@ class KeepSessionAction2 extends KeepOrUndoSessionAction {
|
|
|
262
270
|
constructor() {
|
|
263
271
|
super(true, {
|
|
264
272
|
id: "inlineChat2.keep",
|
|
265
|
-
title: ( localize2(
|
|
273
|
+
title: ( localize2(9874, "Keep")),
|
|
266
274
|
f1: true,
|
|
267
275
|
icon: Codicon.check,
|
|
268
276
|
precondition: ( ContextKeyExpr.and(CTX_INLINE_CHAT_VISIBLE, ( ctxHasRequestInProgress.negate()), ctxHasEditorModification)),
|
|
@@ -287,7 +295,7 @@ class UndoSessionAction2 extends KeepOrUndoSessionAction {
|
|
|
287
295
|
constructor() {
|
|
288
296
|
super(false, {
|
|
289
297
|
id: "inlineChat2.undo",
|
|
290
|
-
title: ( localize2(
|
|
298
|
+
title: ( localize2(9875, "Undo")),
|
|
291
299
|
f1: true,
|
|
292
300
|
icon: Codicon.discard,
|
|
293
301
|
precondition: ( ContextKeyExpr.and(CTX_INLINE_CHAT_VISIBLE, CTX_HOVER_MODE)),
|
|
@@ -309,7 +317,7 @@ class UndoAndCloseSessionAction2 extends KeepOrUndoSessionAction {
|
|
|
309
317
|
constructor() {
|
|
310
318
|
super(false, {
|
|
311
319
|
id: "inlineChat2.close",
|
|
312
|
-
title: ( localize2(
|
|
320
|
+
title: ( localize2(9876, "Close")),
|
|
313
321
|
f1: true,
|
|
314
322
|
icon: Codicon.close,
|
|
315
323
|
precondition: ( ContextKeyExpr.and(CTX_INLINE_CHAT_VISIBLE)),
|
|
@@ -331,7 +339,7 @@ class CancelSessionAction extends KeepOrUndoSessionAction {
|
|
|
331
339
|
constructor() {
|
|
332
340
|
super(false, {
|
|
333
341
|
id: "inlineChat2.cancel",
|
|
334
|
-
title: ( localize2(
|
|
342
|
+
title: ( localize2(9877, "Cancel")),
|
|
335
343
|
precondition: ( ContextKeyExpr.and(CTX_INLINE_CHAT_VISIBLE, ctxHasRequestInProgress)),
|
|
336
344
|
keybinding: [{
|
|
337
345
|
when: ( ContextKeyExpr.or(EditorContextKeys.focus, ChatContextKeys.inputHasFocus)),
|
|
@@ -347,19 +355,56 @@ class CancelSessionAction extends KeepOrUndoSessionAction {
|
|
|
347
355
|
});
|
|
348
356
|
}
|
|
349
357
|
}
|
|
358
|
+
class ContinueInlineChatInChatViewAction extends AbstractInlineChatAction {
|
|
359
|
+
constructor() {
|
|
360
|
+
super({
|
|
361
|
+
id: "inlineChat2.continueInChat",
|
|
362
|
+
title: ( localize2(9878, "Ask in Chat")),
|
|
363
|
+
icon: Codicon.chatSparkle,
|
|
364
|
+
precondition: ( ContextKeyExpr.and(CTX_INLINE_CHAT_VISIBLE, CTX_HOVER_MODE, CTX_INLINE_CHAT_TERMINATED)),
|
|
365
|
+
menu: [{
|
|
366
|
+
id: MenuId.ChatEditorInlineExecute,
|
|
367
|
+
group: "navigation",
|
|
368
|
+
order: 2,
|
|
369
|
+
when: ( ContextKeyExpr.and(CTX_HOVER_MODE, CTX_INLINE_CHAT_TERMINATED))
|
|
370
|
+
}]
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
async runInlineChatCommand(_accessor, ctrl, _editor) {
|
|
374
|
+
await ctrl.continueSessionInChat();
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
class RephraseInlineChatSessionAction extends AbstractInlineChatAction {
|
|
378
|
+
constructor() {
|
|
379
|
+
super({
|
|
380
|
+
id: "inlineChat2.rephrase",
|
|
381
|
+
title: ( localize2(9879, "Rephrase")),
|
|
382
|
+
precondition: ( ContextKeyExpr.and(CTX_INLINE_CHAT_VISIBLE, CTX_HOVER_MODE, CTX_INLINE_CHAT_TERMINATED)),
|
|
383
|
+
menu: [{
|
|
384
|
+
id: MenuId.ChatEditorInlineExecute,
|
|
385
|
+
group: "navigation",
|
|
386
|
+
order: 1,
|
|
387
|
+
when: ( ContextKeyExpr.and(CTX_HOVER_MODE, CTX_INLINE_CHAT_TERMINATED))
|
|
388
|
+
}]
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
async runInlineChatCommand(_accessor, ctrl, _editor) {
|
|
392
|
+
await ctrl.rephraseSession();
|
|
393
|
+
}
|
|
394
|
+
}
|
|
350
395
|
class SubmitInlineChatInputAction extends AbstractInlineChatAction {
|
|
351
396
|
constructor() {
|
|
352
397
|
super({
|
|
353
398
|
id: "inlineChat.submitInput",
|
|
354
|
-
title: ( localize2(
|
|
399
|
+
title: ( localize2(9880, "Send")),
|
|
355
400
|
icon: Codicon.send,
|
|
356
401
|
precondition: ( ContextKeyExpr.and(
|
|
357
402
|
CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED,
|
|
358
403
|
CTX_INLINE_CHAT_INPUT_HAS_TEXT,
|
|
359
|
-
( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate())
|
|
404
|
+
( ContextKeyExpr.or(( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()), ( CTX_ASK_IN_CHAT_ENABLED.negate())))
|
|
360
405
|
)),
|
|
361
406
|
keybinding: {
|
|
362
|
-
when: ( ContextKeyExpr.and(CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED, ( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()))),
|
|
407
|
+
when: ( ContextKeyExpr.and(CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED, ( ContextKeyExpr.or(( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()), ( CTX_ASK_IN_CHAT_ENABLED.negate()))))),
|
|
363
408
|
weight: KeybindingWeight.EditorCore + 10,
|
|
364
409
|
primary: KeyCode.Enter
|
|
365
410
|
},
|
|
@@ -367,13 +412,14 @@ class SubmitInlineChatInputAction extends AbstractInlineChatAction {
|
|
|
367
412
|
id: MenuId.InlineChatInput,
|
|
368
413
|
group: "0_main",
|
|
369
414
|
order: 1,
|
|
370
|
-
when: ( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate())
|
|
415
|
+
when: ( ContextKeyExpr.or(( CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate()), ( CTX_ASK_IN_CHAT_ENABLED.negate())))
|
|
371
416
|
}]
|
|
372
417
|
});
|
|
373
418
|
}
|
|
374
419
|
runInlineChatCommand(_accessor, ctrl, _editor, ..._args) {
|
|
375
420
|
const value = ctrl.inputWidget.value;
|
|
376
421
|
if (value) {
|
|
422
|
+
ctrl.inputWidget.addToHistory(value);
|
|
377
423
|
ctrl.inputWidget.hide();
|
|
378
424
|
ctrl.run({
|
|
379
425
|
message: value,
|
|
@@ -386,7 +432,7 @@ class HideInlineChatInputAction extends AbstractInlineChatAction {
|
|
|
386
432
|
constructor() {
|
|
387
433
|
super({
|
|
388
434
|
id: "inlineChat.hideInput",
|
|
389
|
-
title: ( localize2(
|
|
435
|
+
title: ( localize2(9881, "Hide Input")),
|
|
390
436
|
precondition: CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED,
|
|
391
437
|
keybinding: {
|
|
392
438
|
when: CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED,
|
|
@@ -403,10 +449,14 @@ class AskInChatAction extends EditorAction2 {
|
|
|
403
449
|
constructor() {
|
|
404
450
|
super({
|
|
405
451
|
id: ACTION_ASK_IN_CHAT,
|
|
406
|
-
title: ( localize2(
|
|
452
|
+
title: ( localize2(9882, "Ask in Chat")),
|
|
407
453
|
category: AbstractInlineChatAction.category,
|
|
408
454
|
f1: true,
|
|
409
|
-
precondition: ( ContextKeyExpr.and(
|
|
455
|
+
precondition: ( ContextKeyExpr.and(
|
|
456
|
+
inlineChatContextKey,
|
|
457
|
+
CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT,
|
|
458
|
+
CTX_ASK_IN_CHAT_ENABLED
|
|
459
|
+
)),
|
|
410
460
|
keybinding: {
|
|
411
461
|
when: EditorContextKeys.focus,
|
|
412
462
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -417,14 +467,19 @@ class AskInChatAction extends EditorAction2 {
|
|
|
417
467
|
id: MenuId.EditorContext,
|
|
418
468
|
group: "1_chat",
|
|
419
469
|
order: 3,
|
|
420
|
-
when: ( ContextKeyExpr.and(
|
|
470
|
+
when: ( ContextKeyExpr.and(
|
|
471
|
+
inlineChatContextKey,
|
|
472
|
+
CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT,
|
|
473
|
+
CTX_ASK_IN_CHAT_ENABLED
|
|
474
|
+
))
|
|
421
475
|
}, {
|
|
422
476
|
id: MenuId.InlineChatEditorAffordance,
|
|
423
477
|
group: "0_chat",
|
|
424
478
|
order: 1,
|
|
425
479
|
when: ( ContextKeyExpr.and(
|
|
426
480
|
EditorContextKeys.hasNonEmptySelection,
|
|
427
|
-
CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT
|
|
481
|
+
CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT,
|
|
482
|
+
CTX_ASK_IN_CHAT_ENABLED
|
|
428
483
|
))
|
|
429
484
|
}]
|
|
430
485
|
});
|
|
@@ -437,7 +492,7 @@ class AskInChatAction extends EditorAction2 {
|
|
|
437
492
|
}
|
|
438
493
|
const entry = chatEditingService.editingSessionsObs.get().find(value => value.getEntry(editor.getModel().uri));
|
|
439
494
|
if (entry) {
|
|
440
|
-
ctrl.inputOverlayWidget.showMenuAtSelection(( localize(
|
|
495
|
+
ctrl.inputOverlayWidget.showMenuAtSelection(( localize(9883, "Describe how to proceed in Chat")));
|
|
441
496
|
}
|
|
442
497
|
}
|
|
443
498
|
}
|
|
@@ -445,7 +500,7 @@ class DismissEditorAffordanceAction extends EditorAction2 {
|
|
|
445
500
|
constructor() {
|
|
446
501
|
super({
|
|
447
502
|
id: "inlineChat.dismissEditorAffordance",
|
|
448
|
-
title: ( localize2(
|
|
503
|
+
title: ( localize2(9884, "Dismiss Editor Affordance")),
|
|
449
504
|
precondition: ( ContextKeyExpr.and(CTX_INLINE_CHAT_AFFORDANCE_VISIBLE, ( ContextKeyExpr.equals("config.inlineChat.affordance", "editor")))),
|
|
450
505
|
keybinding: {
|
|
451
506
|
when: EditorContextKeys.editorTextFocus,
|
|
@@ -462,15 +517,20 @@ class QueueInChatAction extends AbstractInlineChatAction {
|
|
|
462
517
|
constructor() {
|
|
463
518
|
super({
|
|
464
519
|
id: "inlineChat.queueInChat",
|
|
465
|
-
title: ( localize2(
|
|
520
|
+
title: ( localize2(9885, "Queue in Chat")),
|
|
466
521
|
icon: Codicon.arrowUp,
|
|
467
522
|
precondition: ( ContextKeyExpr.and(
|
|
468
523
|
CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED,
|
|
469
524
|
CTX_INLINE_CHAT_INPUT_HAS_TEXT,
|
|
470
|
-
CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT
|
|
525
|
+
CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT,
|
|
526
|
+
CTX_ASK_IN_CHAT_ENABLED
|
|
471
527
|
)),
|
|
472
528
|
keybinding: {
|
|
473
|
-
when: ( ContextKeyExpr.and(
|
|
529
|
+
when: ( ContextKeyExpr.and(
|
|
530
|
+
CTX_INLINE_CHAT_INPUT_WIDGET_FOCUSED,
|
|
531
|
+
CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT,
|
|
532
|
+
CTX_ASK_IN_CHAT_ENABLED
|
|
533
|
+
)),
|
|
474
534
|
weight: KeybindingWeight.EditorCore + 10,
|
|
475
535
|
primary: KeyCode.Enter
|
|
476
536
|
},
|
|
@@ -478,7 +538,7 @@ class QueueInChatAction extends AbstractInlineChatAction {
|
|
|
478
538
|
id: MenuId.InlineChatInput,
|
|
479
539
|
group: "0_main",
|
|
480
540
|
order: 1,
|
|
481
|
-
when: CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT
|
|
541
|
+
when: ( ContextKeyExpr.and(CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT, CTX_ASK_IN_CHAT_ENABLED))
|
|
482
542
|
}]
|
|
483
543
|
});
|
|
484
544
|
}
|
|
@@ -489,6 +549,9 @@ class QueueInChatAction extends AbstractInlineChatAction {
|
|
|
489
549
|
return;
|
|
490
550
|
}
|
|
491
551
|
const value = ctrl.inputWidget.value;
|
|
552
|
+
if (value) {
|
|
553
|
+
ctrl.inputWidget.addToHistory(value);
|
|
554
|
+
}
|
|
492
555
|
ctrl.inputWidget.hide();
|
|
493
556
|
if (!value) {
|
|
494
557
|
return;
|
|
@@ -506,10 +569,9 @@ class QueueInChatAction extends AbstractInlineChatAction {
|
|
|
506
569
|
await widget.attachmentModel.addFile(editor.getModel().uri, selection);
|
|
507
570
|
}
|
|
508
571
|
await widget.acceptInput(value, {
|
|
509
|
-
alwaysQueue: true,
|
|
510
572
|
queue: ChatRequestQueueKind.Queued
|
|
511
573
|
});
|
|
512
574
|
}
|
|
513
575
|
}
|
|
514
576
|
|
|
515
|
-
export { AbstractInlineChatAction, AskInChatAction, CancelSessionAction, DismissEditorAffordanceAction, FixDiagnosticsAction, FocusInlineChat, HideInlineChatInputAction, KeepSessionAction2, QueueInChatAction, START_INLINE_CHAT, StartSessionAction, SubmitInlineChatInputAction, UndoAndCloseSessionAction2, UndoSessionAction2 };
|
|
577
|
+
export { AbstractInlineChatAction, AskInChatAction, CancelSessionAction, ContinueInlineChatInChatViewAction, DismissEditorAffordanceAction, FixDiagnosticsAction, FocusInlineChat, HideInlineChatInputAction, KeepSessionAction2, QueueInChatAction, RephraseInlineChatSessionAction, START_INLINE_CHAT, StartSessionAction, SubmitInlineChatInputAction, UndoAndCloseSessionAction2, UndoSessionAction2 };
|
|
@@ -41,14 +41,14 @@ registerWorkbenchContribution2(
|
|
|
41
41
|
( Registry.as(Extensions.Configuration)).registerConfiguration({
|
|
42
42
|
...{
|
|
43
43
|
id: "inlineChat",
|
|
44
|
-
title: ( localize(
|
|
44
|
+
title: ( localize(9893, "Inline Chat")),
|
|
45
45
|
order: 30,
|
|
46
46
|
type: "object"
|
|
47
47
|
},
|
|
48
48
|
properties: {
|
|
49
49
|
[InlineChatConfigKeys.DefaultModel]: {
|
|
50
50
|
description: ( localize(
|
|
51
|
-
|
|
51
|
+
9894,
|
|
52
52
|
"Select the default language model to use for inline chat from the available providers. Model names may include the provider in parentheses, for example 'Claude Haiku 4.5 (copilot)'."
|
|
53
53
|
)),
|
|
54
54
|
type: "string",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
3
|
+
import { IInlineChatHistoryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.service";
|
|
4
|
+
export declare class InlineChatHistoryService extends Disposable implements IInlineChatHistoryService {
|
|
5
|
+
private readonly _storageService;
|
|
6
|
+
readonly _serviceBrand: undefined;
|
|
7
|
+
private readonly _history;
|
|
8
|
+
constructor(_storageService: IStorageService);
|
|
9
|
+
private _saveToStorage;
|
|
10
|
+
addToHistory(value: string): void;
|
|
11
|
+
previousValue(): string | undefined;
|
|
12
|
+
nextValue(): string | undefined;
|
|
13
|
+
isAtEnd(): boolean;
|
|
14
|
+
replaceLast(value: string): void;
|
|
15
|
+
resetCursor(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { HistoryNavigator2 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/history';
|
|
4
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
|
+
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
6
|
+
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
7
|
+
|
|
8
|
+
const _storageKey = "inlineChat.history";
|
|
9
|
+
const _capacity = 50;
|
|
10
|
+
let InlineChatHistoryService = class InlineChatHistoryService extends Disposable {
|
|
11
|
+
constructor(_storageService) {
|
|
12
|
+
super();
|
|
13
|
+
this._storageService = _storageService;
|
|
14
|
+
const raw = this._storageService.get(_storageKey, StorageScope.PROFILE);
|
|
15
|
+
let entries = [""];
|
|
16
|
+
if (raw) {
|
|
17
|
+
try {
|
|
18
|
+
const parsed = JSON.parse(raw);
|
|
19
|
+
if (Array.isArray(parsed) && parsed.length > 0) {
|
|
20
|
+
entries = parsed;
|
|
21
|
+
if (entries[entries.length - 1] !== "") {
|
|
22
|
+
entries.push("");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
} catch {}
|
|
26
|
+
}
|
|
27
|
+
this._history = ( new HistoryNavigator2(entries, _capacity));
|
|
28
|
+
this._store.add(this._storageService.onWillSaveState(() => {
|
|
29
|
+
this._saveToStorage();
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
_saveToStorage() {
|
|
33
|
+
const values = [...this._history].filter(v => v.length > 0);
|
|
34
|
+
if (values.length === 0) {
|
|
35
|
+
this._storageService.remove(_storageKey, StorageScope.PROFILE);
|
|
36
|
+
} else {
|
|
37
|
+
this._storageService.store(
|
|
38
|
+
_storageKey,
|
|
39
|
+
JSON.stringify(values),
|
|
40
|
+
StorageScope.PROFILE,
|
|
41
|
+
StorageTarget.USER
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
addToHistory(value) {
|
|
46
|
+
this._history.replaceLast(value);
|
|
47
|
+
this._history.add("");
|
|
48
|
+
}
|
|
49
|
+
previousValue() {
|
|
50
|
+
return this._history.previous();
|
|
51
|
+
}
|
|
52
|
+
nextValue() {
|
|
53
|
+
return this._history.next();
|
|
54
|
+
}
|
|
55
|
+
isAtEnd() {
|
|
56
|
+
return this._history.isAtEnd();
|
|
57
|
+
}
|
|
58
|
+
replaceLast(value) {
|
|
59
|
+
this._history.replaceLast(value);
|
|
60
|
+
}
|
|
61
|
+
resetCursor() {
|
|
62
|
+
this._history.resetCursor();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
InlineChatHistoryService = ( __decorate([( __param(0, IStorageService))], InlineChatHistoryService));
|
|
66
|
+
|
|
67
|
+
export { InlineChatHistoryService };
|
package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench
|
|
|
13
13
|
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service";
|
|
14
14
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
15
15
|
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
|
|
16
|
-
import { IInlineChatSession2 } from "
|
|
16
|
+
import { IInlineChatSession2 } from "@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService";
|
|
17
17
|
import { IInlineChatSessionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service";
|
|
18
18
|
export declare class InlineChatError extends Error {
|
|
19
19
|
static readonly code = "InlineChatError";
|
|
@@ -47,5 +47,5 @@ export declare class InlineChatEscapeToolContribution extends Disposable {
|
|
|
47
47
|
static readonly Id = "inlineChat.escapeTool";
|
|
48
48
|
static readonly DONT_ASK_AGAIN_KEY = "inlineChat.dontAskMoveToPanelChat";
|
|
49
49
|
private static readonly _data;
|
|
50
|
-
constructor(lmTools: ILanguageModelToolsService, inlineChatSessionService: IInlineChatSessionService, dialogService: IDialogService, codeEditorService: ICodeEditorService, chatService: IChatService, logService: ILogService, storageService: IStorageService, instaService: IInstantiationService);
|
|
50
|
+
constructor(lmTools: ILanguageModelToolsService, inlineChatSessionService: IInlineChatSessionService, dialogService: IDialogService, codeEditorService: ICodeEditorService, configurationService: IConfigurationService, chatService: IChatService, logService: ILogService, storageService: IStorageService, instaService: IInstantiationService);
|
|
51
51
|
}
|