@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.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/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -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 +13 -5
- 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 +5 -5
- 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.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
- 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 +56 -54
- 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 +5 -5
- 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 +25 -25
- 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/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
- 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 +279 -214
- 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/chatDebugEditor.js +12 -3
- 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.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -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 +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
- 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 +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- 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 +49 -49
- 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.d.ts +9 -0
- 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 +14 -14
- 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 +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
- 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/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
- 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 +72 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
- 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 +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
- 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 +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/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- 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/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 +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
- 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.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
package/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
4
4
|
import { IChatCodeBlockContextProviderService, IChatAccessibilityService, IQuickChatService, IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
5
5
|
import { ChatAccessibilityService } from './vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js';
|
|
6
6
|
import { QuickChatService } from './vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js';
|
|
7
|
-
import { ChatVariablesService } from '
|
|
7
|
+
import { ChatVariablesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
|
|
8
8
|
import { ChatCodeBlockContextProviderService } from './vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.js';
|
|
9
9
|
import { ChatAgentNameService, ChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents';
|
|
10
10
|
import { IChatAgentNameService, IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
|
|
@@ -102,6 +102,8 @@ import { IChatAttachmentWidgetRegistry } from '@codingame/monaco-vscode-api/vsco
|
|
|
102
102
|
import { ChatAttachmentWidgetRegistry } from './vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js';
|
|
103
103
|
import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
|
|
104
104
|
import { ChatDebugServiceImpl } from './vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js';
|
|
105
|
+
import { IChatResponseResourceFileSystemProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service';
|
|
106
|
+
import { ChatResponseResourceFileSystemProvider } from './vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js';
|
|
105
107
|
import './vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js';
|
|
106
108
|
import './vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js';
|
|
107
109
|
import './vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js';
|
|
@@ -162,7 +164,8 @@ function getServiceOverride() {
|
|
|
162
164
|
[IAgentPluginRepositoryService.toString()]: new SyncDescriptor(AgentPluginRepositoryService, [], true),
|
|
163
165
|
[IPluginInstallService.toString()]: new SyncDescriptor(PluginInstallService, [], true),
|
|
164
166
|
[IChatAttachmentWidgetRegistry.toString()]: new SyncDescriptor(ChatAttachmentWidgetRegistry, [], true),
|
|
165
|
-
[IChatDebugService.toString()]: new SyncDescriptor(ChatDebugServiceImpl, [], true)
|
|
167
|
+
[IChatDebugService.toString()]: new SyncDescriptor(ChatDebugServiceImpl, [], true),
|
|
168
|
+
[IChatResponseResourceFileSystemProvider.toString()]: new SyncDescriptor(ChatResponseResourceFileSystemProvider, [], true)
|
|
166
169
|
};
|
|
167
170
|
}
|
|
168
171
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-chat-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "28.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - chat service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "
|
|
19
|
-
"@codingame/monaco-vscode-katex-common": "
|
|
20
|
-
"@codingame/monaco-vscode-xterm-addons-common": "
|
|
21
|
-
"@codingame/monaco-vscode-xterm-common": "
|
|
18
|
+
"@codingame/monaco-vscode-api": "28.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-katex-common": "28.0.0",
|
|
20
|
+
"@codingame/monaco-vscode-xterm-addons-common": "28.0.0",
|
|
21
|
+
"@codingame/monaco-vscode-xterm-common": "28.0.0"
|
|
22
22
|
},
|
|
23
23
|
"main": "index.js",
|
|
24
24
|
"module": "index.js",
|
|
@@ -1,21 +1,44 @@
|
|
|
1
1
|
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
2
2
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
3
4
|
import { AICustomizationManagementSection, IStorageSourceFilter } from "../../../../workbench/contrib/chat/common/aiCustomizationWorkspaceService.js";
|
|
4
5
|
import { IAICustomizationWorkspaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service";
|
|
6
|
+
import { IChatPromptSlashCommand } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
|
|
7
|
+
import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
|
|
5
8
|
import { ISessionsManagementService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/sessionsManagementService.service";
|
|
6
9
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
7
10
|
import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
8
11
|
import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service";
|
|
12
|
+
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
13
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
14
|
+
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
15
|
+
import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service";
|
|
9
16
|
/**
|
|
10
17
|
* Agent Sessions override of IAICustomizationWorkspaceService.
|
|
11
18
|
* Delegates to ISessionsManagementService to provide the active session's
|
|
12
19
|
* worktree/repository as the project root, and supports worktree commit.
|
|
20
|
+
*
|
|
21
|
+
* Customization files are always committed to the main repository so they
|
|
22
|
+
* persist across worktrees. When a worktree is active the file is also
|
|
23
|
+
* copied into the worktree and committed there so the running session
|
|
24
|
+
* picks it up immediately.
|
|
13
25
|
*/
|
|
14
26
|
export declare class SessionsAICustomizationWorkspaceService implements IAICustomizationWorkspaceService {
|
|
15
27
|
private readonly sessionsService;
|
|
16
28
|
private readonly instantiationService;
|
|
29
|
+
private readonly promptsService;
|
|
30
|
+
private readonly commandService;
|
|
31
|
+
private readonly logService;
|
|
32
|
+
private readonly fileService;
|
|
33
|
+
private readonly notificationService;
|
|
17
34
|
readonly _serviceBrand: undefined;
|
|
18
35
|
readonly activeProjectRoot: IObservable<URI | undefined>;
|
|
36
|
+
readonly hasOverrideProjectRoot: IObservable<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Transient override for the project root. When set, `activeProjectRoot`
|
|
39
|
+
* returns this value instead of the session-derived root.
|
|
40
|
+
*/
|
|
41
|
+
private readonly _overrideRoot;
|
|
19
42
|
/**
|
|
20
43
|
* CLI-accessible user directories for customization file filtering and creation.
|
|
21
44
|
*/
|
|
@@ -24,16 +47,43 @@ export declare class SessionsAICustomizationWorkspaceService implements IAICusto
|
|
|
24
47
|
* Pre-built filter for types that should only show CLI-accessible user roots.
|
|
25
48
|
*/
|
|
26
49
|
private readonly _cliUserFilter;
|
|
27
|
-
constructor(sessionsService: ISessionsManagementService, instantiationService: IInstantiationService, pathService: IPathService);
|
|
50
|
+
constructor(sessionsService: ISessionsManagementService, instantiationService: IInstantiationService, promptsService: IPromptsService, pathService: IPathService, commandService: ICommandService, logService: ILogService, fileService: IFileService, notificationService: INotificationService);
|
|
28
51
|
getActiveProjectRoot(): URI | undefined;
|
|
52
|
+
setOverrideProjectRoot(root: URI): void;
|
|
53
|
+
clearOverrideProjectRoot(): void;
|
|
29
54
|
readonly managementSections: readonly AICustomizationManagementSection[];
|
|
30
55
|
private static readonly _hooksFilter;
|
|
31
56
|
private static readonly _allUserRootsFilter;
|
|
32
57
|
getStorageSourceFilter(type: PromptsType): IStorageSourceFilter;
|
|
58
|
+
readonly isSessionsWindow = true;
|
|
33
59
|
/**
|
|
34
|
-
*
|
|
60
|
+
* Commits customization files. Always commits to the main repository
|
|
61
|
+
* so the change persists across worktrees. When a worktree is active
|
|
62
|
+
* the file is also committed there so the session sees it immediately.
|
|
35
63
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
64
|
+
commitFiles(_projectRoot: URI, fileUris: URI[]): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Commits the deletion of files that have already been removed from disk.
|
|
67
|
+
* Always stages + commits the removal in the main repository, and also
|
|
68
|
+
* in the worktree if one is active.
|
|
69
|
+
*/
|
|
70
|
+
deleteFiles(_projectRoot: URI, fileUris: URI[]): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Computes the repository-relative path for a file. The file may be
|
|
73
|
+
* located under the worktree or the repository root.
|
|
74
|
+
*/
|
|
75
|
+
private getRelativePath;
|
|
76
|
+
/**
|
|
77
|
+
* Commits a single file to the main repository and optionally the worktree.
|
|
78
|
+
* Copies the file content between trees when needed.
|
|
79
|
+
*/
|
|
80
|
+
private commitFileToRepos;
|
|
81
|
+
/**
|
|
82
|
+
* Commits the deletion of a file to the main repository and optionally
|
|
83
|
+
* the worktree. The file is already deleted from disk before this is called;
|
|
84
|
+
* `git add` on a deleted path stages the removal.
|
|
85
|
+
*/
|
|
86
|
+
private commitDeletionToRepos;
|
|
38
87
|
generateCustomization(type: PromptsType): Promise<void>;
|
|
88
|
+
getFilteredPromptSlashCommands(token: CancellationToken): Promise<readonly IChatPromptSlashCommand[]>;
|
|
39
89
|
}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
4
|
-
import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
5
|
-
import {
|
|
4
|
+
import { joinPath, relativePath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
5
|
+
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
6
|
+
import { AICustomizationManagementSection, applyStorageSourceFilter } from '../../../../workbench/contrib/chat/common/aiCustomizationWorkspaceService.js';
|
|
6
7
|
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
8
|
+
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
7
9
|
import { ISessionsManagementService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/sessions/browser/sessionsManagementService.service';
|
|
8
10
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
9
11
|
import { CustomizationCreatorService } from '../../../../workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js';
|
|
10
12
|
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
11
13
|
import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
|
|
14
|
+
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
15
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
16
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
17
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
|
|
18
|
+
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
19
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
20
|
+
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
21
|
+
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
12
22
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
13
23
|
|
|
14
24
|
var SessionsAICustomizationWorkspaceService_1;
|
|
@@ -16,15 +26,31 @@ let SessionsAICustomizationWorkspaceService = class SessionsAICustomizationWorks
|
|
|
16
26
|
static {
|
|
17
27
|
SessionsAICustomizationWorkspaceService_1 = this;
|
|
18
28
|
}
|
|
19
|
-
constructor(
|
|
29
|
+
constructor(
|
|
30
|
+
sessionsService,
|
|
31
|
+
instantiationService,
|
|
32
|
+
promptsService,
|
|
33
|
+
pathService,
|
|
34
|
+
commandService,
|
|
35
|
+
logService,
|
|
36
|
+
fileService,
|
|
37
|
+
notificationService
|
|
38
|
+
) {
|
|
20
39
|
this.sessionsService = sessionsService;
|
|
21
40
|
this.instantiationService = instantiationService;
|
|
41
|
+
this.promptsService = promptsService;
|
|
42
|
+
this.commandService = commandService;
|
|
43
|
+
this.logService = logService;
|
|
44
|
+
this.fileService = fileService;
|
|
45
|
+
this.notificationService = notificationService;
|
|
22
46
|
this.managementSections = [
|
|
23
47
|
AICustomizationManagementSection.Agents,
|
|
24
48
|
AICustomizationManagementSection.Skills,
|
|
25
49
|
AICustomizationManagementSection.Instructions,
|
|
26
50
|
AICustomizationManagementSection.Prompts,
|
|
27
|
-
AICustomizationManagementSection.Hooks
|
|
51
|
+
AICustomizationManagementSection.Hooks,
|
|
52
|
+
AICustomizationManagementSection.McpServers,
|
|
53
|
+
AICustomizationManagementSection.Plugins
|
|
28
54
|
];
|
|
29
55
|
this.isSessionsWindow = true;
|
|
30
56
|
const userHome = pathService.userHome({
|
|
@@ -36,26 +62,44 @@ let SessionsAICustomizationWorkspaceService = class SessionsAICustomizationWorks
|
|
|
36
62
|
joinPath(userHome, ".agents")
|
|
37
63
|
];
|
|
38
64
|
this._cliUserFilter = {
|
|
39
|
-
sources: [PromptsStorage.local, PromptsStorage.user],
|
|
65
|
+
sources: [PromptsStorage.local, PromptsStorage.user, PromptsStorage.plugin],
|
|
40
66
|
includedUserFileRoots: this._cliUserRoots
|
|
41
67
|
};
|
|
68
|
+
this._overrideRoot = observableValue(this, undefined);
|
|
42
69
|
this.activeProjectRoot = derived(reader => {
|
|
70
|
+
const override = this._overrideRoot.read(reader);
|
|
71
|
+
if (override) {
|
|
72
|
+
return override;
|
|
73
|
+
}
|
|
43
74
|
const session = this.sessionsService.activeSession.read(reader);
|
|
44
75
|
return session?.worktree ?? session?.repository;
|
|
45
76
|
});
|
|
77
|
+
this.hasOverrideProjectRoot = derived(reader => {
|
|
78
|
+
return this._overrideRoot.read(reader) !== undefined;
|
|
79
|
+
});
|
|
46
80
|
}
|
|
47
81
|
getActiveProjectRoot() {
|
|
82
|
+
const override = this._overrideRoot.get();
|
|
83
|
+
if (override) {
|
|
84
|
+
return override;
|
|
85
|
+
}
|
|
48
86
|
const session = this.sessionsService.getActiveSession();
|
|
49
87
|
return session?.worktree ?? session?.repository;
|
|
50
88
|
}
|
|
89
|
+
setOverrideProjectRoot(root) {
|
|
90
|
+
this._overrideRoot.set(root, undefined);
|
|
91
|
+
}
|
|
92
|
+
clearOverrideProjectRoot() {
|
|
93
|
+
this._overrideRoot.set(undefined, undefined);
|
|
94
|
+
}
|
|
51
95
|
static {
|
|
52
96
|
this._hooksFilter = {
|
|
53
|
-
sources: [PromptsStorage.local]
|
|
97
|
+
sources: [PromptsStorage.local, PromptsStorage.plugin]
|
|
54
98
|
};
|
|
55
99
|
}
|
|
56
100
|
static {
|
|
57
101
|
this._allUserRootsFilter = {
|
|
58
|
-
sources: [PromptsStorage.local, PromptsStorage.user]
|
|
102
|
+
sources: [PromptsStorage.local, PromptsStorage.user, PromptsStorage.plugin]
|
|
59
103
|
};
|
|
60
104
|
}
|
|
61
105
|
getStorageSourceFilter(type) {
|
|
@@ -67,17 +111,141 @@ let SessionsAICustomizationWorkspaceService = class SessionsAICustomizationWorks
|
|
|
67
111
|
}
|
|
68
112
|
return this._cliUserFilter;
|
|
69
113
|
}
|
|
70
|
-
async commitFiles(
|
|
114
|
+
async commitFiles(_projectRoot, fileUris) {
|
|
71
115
|
const session = this.sessionsService.getActiveSession();
|
|
72
|
-
if (session) {
|
|
73
|
-
|
|
116
|
+
if (!session?.repository) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
for (const fileUri of fileUris) {
|
|
120
|
+
await this.commitFileToRepos(fileUri, session.repository, session.worktree);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
async deleteFiles(_projectRoot, fileUris) {
|
|
124
|
+
const session = this.sessionsService.getActiveSession();
|
|
125
|
+
if (!session?.repository) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
for (const fileUri of fileUris) {
|
|
129
|
+
await this.commitDeletionToRepos(fileUri, session.repository, session.worktree);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
getRelativePath(fileUri, repositoryUri, worktreeUri) {
|
|
133
|
+
if (worktreeUri) {
|
|
134
|
+
const rel = relativePath(worktreeUri, fileUri);
|
|
135
|
+
if (rel) {
|
|
136
|
+
return rel;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return relativePath(repositoryUri, fileUri);
|
|
140
|
+
}
|
|
141
|
+
async commitFileToRepos(fileUri, repositoryUri, worktreeUri) {
|
|
142
|
+
const relPath = this.getRelativePath(fileUri, repositoryUri, worktreeUri);
|
|
143
|
+
if (!relPath) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const repoFileUri = URI.joinPath(repositoryUri, relPath);
|
|
147
|
+
try {
|
|
148
|
+
if (( repoFileUri.toString()) !== ( fileUri.toString())) {
|
|
149
|
+
const content = await this.fileService.readFile(fileUri);
|
|
150
|
+
await this.fileService.writeFile(repoFileUri, content.value);
|
|
151
|
+
}
|
|
152
|
+
await this.commandService.executeCommand("github.copilot.cli.sessions.commitToRepository", {
|
|
153
|
+
repositoryUri,
|
|
154
|
+
fileUri: repoFileUri
|
|
155
|
+
});
|
|
156
|
+
} catch (error) {
|
|
157
|
+
this.logService.error(
|
|
158
|
+
"[SessionsAICustomizationWorkspaceService] Failed to commit to repository:",
|
|
159
|
+
error
|
|
160
|
+
);
|
|
161
|
+
if (worktreeUri) {
|
|
162
|
+
this.notificationService.notify({
|
|
163
|
+
severity: Severity.Warning,
|
|
164
|
+
message: ( localize(
|
|
165
|
+
2517,
|
|
166
|
+
"Your customization was saved to this session's worktree, but we couldn't apply it to the default branch. You may need to apply it manually."
|
|
167
|
+
))
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (worktreeUri) {
|
|
172
|
+
const worktreeFileUri = URI.joinPath(worktreeUri, relPath);
|
|
173
|
+
try {
|
|
174
|
+
if (( worktreeFileUri.toString()) !== ( fileUri.toString())) {
|
|
175
|
+
const content = await this.fileService.readFile(fileUri);
|
|
176
|
+
await this.fileService.writeFile(worktreeFileUri, content.value);
|
|
177
|
+
}
|
|
178
|
+
await this.commandService.executeCommand("github.copilot.cli.sessions.commitToWorktree", {
|
|
179
|
+
worktreeUri,
|
|
180
|
+
fileUri: worktreeFileUri
|
|
181
|
+
});
|
|
182
|
+
} catch (error) {
|
|
183
|
+
this.logService.error(
|
|
184
|
+
"[SessionsAICustomizationWorkspaceService] Failed to commit to worktree:",
|
|
185
|
+
error
|
|
186
|
+
);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async commitDeletionToRepos(fileUri, repositoryUri, worktreeUri) {
|
|
191
|
+
const relPath = this.getRelativePath(fileUri, repositoryUri, worktreeUri);
|
|
192
|
+
if (!relPath) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const repoFileUri = URI.joinPath(repositoryUri, relPath);
|
|
196
|
+
try {
|
|
197
|
+
if (await this.fileService.exists(repoFileUri)) {
|
|
198
|
+
await this.fileService.del(repoFileUri, {
|
|
199
|
+
useTrash: true,
|
|
200
|
+
recursive: true
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
await this.commandService.executeCommand("github.copilot.cli.sessions.commitToRepository", {
|
|
204
|
+
repositoryUri,
|
|
205
|
+
fileUri: repoFileUri
|
|
206
|
+
});
|
|
207
|
+
} catch (error) {
|
|
208
|
+
this.logService.error(
|
|
209
|
+
"[SessionsAICustomizationWorkspaceService] Failed to commit deletion to repository:",
|
|
210
|
+
error
|
|
211
|
+
);
|
|
212
|
+
if (worktreeUri) {
|
|
213
|
+
this.notificationService.notify({
|
|
214
|
+
severity: Severity.Warning,
|
|
215
|
+
message: ( localize(
|
|
216
|
+
2518,
|
|
217
|
+
"Your customization was removed from this session's worktree, but we couldn't apply the change to the default branch. You may need to remove it manually."
|
|
218
|
+
))
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (worktreeUri) {
|
|
223
|
+
const worktreeFileUri = URI.joinPath(worktreeUri, relPath);
|
|
224
|
+
try {
|
|
225
|
+
await this.commandService.executeCommand("github.copilot.cli.sessions.commitToWorktree", {
|
|
226
|
+
worktreeUri,
|
|
227
|
+
fileUri: worktreeFileUri
|
|
228
|
+
});
|
|
229
|
+
} catch (error) {
|
|
230
|
+
this.logService.error(
|
|
231
|
+
"[SessionsAICustomizationWorkspaceService] Failed to commit deletion to worktree:",
|
|
232
|
+
error
|
|
233
|
+
);
|
|
234
|
+
}
|
|
74
235
|
}
|
|
75
236
|
}
|
|
76
237
|
async generateCustomization(type) {
|
|
77
238
|
const creator = this.instantiationService.createInstance(CustomizationCreatorService);
|
|
78
239
|
await creator.createWithAI(type);
|
|
79
240
|
}
|
|
241
|
+
async getFilteredPromptSlashCommands(token) {
|
|
242
|
+
const allCommands = await this.promptsService.getPromptSlashCommands(token);
|
|
243
|
+
return allCommands.filter(cmd => {
|
|
244
|
+
const filter = this.getStorageSourceFilter(cmd.promptPath.type);
|
|
245
|
+
return applyStorageSourceFilter([cmd.promptPath], filter).length > 0;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
80
248
|
};
|
|
81
|
-
SessionsAICustomizationWorkspaceService = SessionsAICustomizationWorkspaceService_1 = ( __decorate([( __param(0, ISessionsManagementService)), ( __param(1, IInstantiationService)), ( __param(2, IPathService))], SessionsAICustomizationWorkspaceService));
|
|
249
|
+
SessionsAICustomizationWorkspaceService = SessionsAICustomizationWorkspaceService_1 = ( __decorate([( __param(0, ISessionsManagementService)), ( __param(1, IInstantiationService)), ( __param(2, IPromptsService)), ( __param(3, IPathService)), ( __param(4, ICommandService)), ( __param(5, ILogService)), ( __param(6, IFileService)), ( __param(7, INotificationService))], SessionsAICustomizationWorkspaceService));
|
|
82
250
|
|
|
83
251
|
export { SessionsAICustomizationWorkspaceService };
|
|
@@ -156,7 +156,11 @@ let RemoteNewSession = class RemoteNewSession extends Disposable {
|
|
|
156
156
|
this._repoUri = uri;
|
|
157
157
|
this._onDidChange.fire("repoUri");
|
|
158
158
|
this._onDidChange.fire("disabled");
|
|
159
|
-
|
|
159
|
+
const id = uri.path.substring(1);
|
|
160
|
+
this.setOption("repositories", {
|
|
161
|
+
id,
|
|
162
|
+
name: id
|
|
163
|
+
});
|
|
160
164
|
}
|
|
161
165
|
setIsolationMode(_mode) {}
|
|
162
166
|
setBranch(_branch) {}
|
|
@@ -8,7 +8,7 @@ import { IJSONEditingService } from "@codingame/monaco-vscode-api/vscode/vs/work
|
|
|
8
8
|
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
9
9
|
import { IPreferencesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service";
|
|
10
10
|
import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
|
|
11
|
-
import { CommandString } from "@codingame/monaco-vscode-
|
|
11
|
+
import { CommandString } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskConfiguration";
|
|
12
12
|
import { ISessionsConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/chat/browser/sessionsConfigurationService.service";
|
|
13
13
|
export type TaskStorageTarget = "user" | "workspace";
|
|
14
14
|
/**
|
|
@@ -20,15 +20,19 @@ export interface ITaskEntry {
|
|
|
20
20
|
readonly script?: string;
|
|
21
21
|
readonly type?: string;
|
|
22
22
|
readonly command?: string;
|
|
23
|
+
readonly args?: CommandString[];
|
|
23
24
|
readonly inSessions?: boolean;
|
|
24
25
|
readonly windows?: {
|
|
25
26
|
command?: string;
|
|
27
|
+
args?: CommandString[];
|
|
26
28
|
};
|
|
27
29
|
readonly osx?: {
|
|
28
30
|
command?: string;
|
|
31
|
+
args?: CommandString[];
|
|
29
32
|
};
|
|
30
33
|
readonly linux?: {
|
|
31
34
|
command?: string;
|
|
35
|
+
args?: CommandString[];
|
|
32
36
|
};
|
|
33
37
|
readonly [key: string]: unknown;
|
|
34
38
|
}
|
|
@@ -63,6 +67,7 @@ export declare class SessionsConfigurationService extends Disposable implements
|
|
|
63
67
|
private _readAllTasks;
|
|
64
68
|
private _isSupportedTask;
|
|
65
69
|
private _resolveCommand;
|
|
70
|
+
private _appendArgs;
|
|
66
71
|
private _ensureFileWatch;
|
|
67
72
|
private _refreshSessionTasks;
|
|
68
73
|
private _commitTasksFile;
|
|
@@ -13,6 +13,7 @@ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode
|
|
|
13
13
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
14
14
|
import { IPreferencesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service';
|
|
15
15
|
import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
16
|
+
import { CommandString } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskConfiguration';
|
|
16
17
|
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
17
18
|
import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/transaction';
|
|
18
19
|
|
|
@@ -206,21 +207,35 @@ let SessionsConfigurationService = class SessionsConfigurationService extends Di
|
|
|
206
207
|
if (!task.script) {
|
|
207
208
|
return undefined;
|
|
208
209
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
212
|
-
return `npm run ${task.script}`;
|
|
210
|
+
const base = task.path ? `npm --prefix ${task.path} run ${task.script}` : `npm run ${task.script}`;
|
|
211
|
+
return this._appendArgs(base, task.args);
|
|
213
212
|
}
|
|
213
|
+
let command;
|
|
214
|
+
let platformArgs;
|
|
214
215
|
if (isWindows && task.windows?.command) {
|
|
215
|
-
|
|
216
|
+
command = task.windows.command;
|
|
217
|
+
platformArgs = task.windows.args;
|
|
218
|
+
} else if (isMacintosh && task.osx?.command) {
|
|
219
|
+
command = task.osx.command;
|
|
220
|
+
platformArgs = task.osx.args;
|
|
221
|
+
} else if (!isWindows && !isMacintosh && task.linux?.command) {
|
|
222
|
+
command = task.linux.command;
|
|
223
|
+
platformArgs = task.linux.args;
|
|
224
|
+
} else {
|
|
225
|
+
command = task.command;
|
|
216
226
|
}
|
|
217
|
-
|
|
218
|
-
|
|
227
|
+
const args = platformArgs ?? task.args;
|
|
228
|
+
return this._appendArgs(command, args);
|
|
229
|
+
}
|
|
230
|
+
_appendArgs(command, args) {
|
|
231
|
+
if (!command) {
|
|
232
|
+
return undefined;
|
|
219
233
|
}
|
|
220
|
-
if (!
|
|
221
|
-
return
|
|
234
|
+
if (!args || args.length === 0) {
|
|
235
|
+
return command;
|
|
222
236
|
}
|
|
223
|
-
|
|
237
|
+
const resolvedArgs = ( args.map(a => CommandString.value(a))).join(" ");
|
|
238
|
+
return `${command} ${resolvedArgs}`;
|
|
224
239
|
}
|
|
225
240
|
_ensureFileWatch(folder) {
|
|
226
241
|
const tasksUri = joinPath(folder, ".vscode", "tasks.json");
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
2
|
+
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
|
+
import { FileSystemProviderCapabilities, FileType, IFileDeleteOptions, IFileOverwriteOptions, IFileSystemProviderWithFileReadWriteCapability, IFileWriteOptions, IStat, IFileChange } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files";
|
|
5
|
+
import { IRequestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service";
|
|
6
|
+
import { IAuthenticationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service";
|
|
7
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
8
|
+
export declare const GITHUB_REMOTE_FILE_SCHEME = "github-remote-file";
|
|
9
|
+
/**
|
|
10
|
+
* Derives a display name from a github-remote-file URI.
|
|
11
|
+
* Returns "repo (branch)" or just "repo" when on HEAD.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getGitHubRemoteFileDisplayName(uri: URI): string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* A readonly virtual filesystem provider backed by the GitHub REST API.
|
|
16
|
+
*
|
|
17
|
+
* URI format: github-remote-file://github/{owner}/{repo}/{ref}/{path...}
|
|
18
|
+
*
|
|
19
|
+
* For example: github-remote-file://github/microsoft/vscode/main/src/vs/base/common/uri.ts
|
|
20
|
+
*
|
|
21
|
+
* This provider fetches the full recursive tree from the GitHub Trees API on first
|
|
22
|
+
* access and caches it. Individual file contents are fetched on demand via the
|
|
23
|
+
* Blobs API.
|
|
24
|
+
*/
|
|
25
|
+
export declare class GitHubFileSystemProvider extends Disposable implements IFileSystemProviderWithFileReadWriteCapability {
|
|
26
|
+
private readonly requestService;
|
|
27
|
+
private readonly authenticationService;
|
|
28
|
+
private readonly logService;
|
|
29
|
+
private readonly _onDidChangeCapabilities;
|
|
30
|
+
readonly onDidChangeCapabilities: Event<void>;
|
|
31
|
+
readonly capabilities: FileSystemProviderCapabilities;
|
|
32
|
+
private readonly _onDidChangeFile;
|
|
33
|
+
readonly onDidChangeFile: Event<readonly IFileChange[]>;
|
|
34
|
+
/** Cache keyed by "owner/repo/ref" */
|
|
35
|
+
private readonly treeCache;
|
|
36
|
+
/** Negative cache for refs that returned 404, keyed by "owner/repo/ref" */
|
|
37
|
+
private readonly notFoundCache;
|
|
38
|
+
/** In-flight fetch promises keyed by "owner/repo/ref" to deduplicate concurrent requests */
|
|
39
|
+
private readonly pendingFetches;
|
|
40
|
+
/** Cache TTL - 5 minutes */
|
|
41
|
+
private static readonly CACHE_TTL_MS;
|
|
42
|
+
/** Negative cache TTL - 1 minute */
|
|
43
|
+
private static readonly NOT_FOUND_CACHE_TTL_MS;
|
|
44
|
+
constructor(requestService: IRequestService, authenticationService: IAuthenticationService, logService: ILogService);
|
|
45
|
+
/**
|
|
46
|
+
* Parse a github-remote-file URI into its components.
|
|
47
|
+
* Format: github-remote-file://github/{owner}/{repo}/{ref}/{path...}
|
|
48
|
+
*/
|
|
49
|
+
private parseUri;
|
|
50
|
+
private getCacheKey;
|
|
51
|
+
private getAuthToken;
|
|
52
|
+
private fetchTree;
|
|
53
|
+
private doFetchTree;
|
|
54
|
+
stat(resource: URI): Promise<IStat>;
|
|
55
|
+
readdir(resource: URI): Promise<[
|
|
56
|
+
string,
|
|
57
|
+
FileType
|
|
58
|
+
][]>;
|
|
59
|
+
readFile(resource: URI): Promise<Uint8Array>;
|
|
60
|
+
watch(): IDisposable;
|
|
61
|
+
writeFile(_resource: URI, _content: Uint8Array, _opts: IFileWriteOptions): Promise<void>;
|
|
62
|
+
mkdir(_resource: URI): Promise<void>;
|
|
63
|
+
delete(_resource: URI, _opts: IFileDeleteOptions): Promise<void>;
|
|
64
|
+
rename(_from: URI, _to: URI, _opts: IFileOverwriteOptions): Promise<void>;
|
|
65
|
+
invalidateCache(owner: string, repo: string, ref: string): void;
|
|
66
|
+
dispose(): void;
|
|
67
|
+
}
|