@codingame/monaco-vscode-chat-service-override 26.2.2 → 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 +35 -2
- package/package.json +5 -5
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +89 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +278 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
- 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 +85 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
- 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 +53 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +18 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
- 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 +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -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.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +692 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
- 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.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +314 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +788 -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 +6 -24
- 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 +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -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 +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
- 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 +63 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
- 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 +24 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -0
- 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 +118 -63
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
- 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 +88 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
- 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 +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
- 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 +19 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
- 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 +69 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
- 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 +67 -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 +187 -74
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
- 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 +8 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +126 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +46 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +65 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +13 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
- 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 +5 -3
- 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 +57 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +119 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
- 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 +293 -94
- 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 +86 -30
- 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 +48 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
- 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 +12 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
- 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 +6 -6
- 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/media/terminalChatWidget.css +6 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
- 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 +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
- 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 +7 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
- 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 -51
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
2
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
3
|
+
import { IWorkspaceFolder } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace";
|
|
3
4
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
4
5
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
5
6
|
import { IResolvedPromptFile, IResolvedPromptSourceFolder } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations";
|
|
@@ -25,6 +26,9 @@ export declare class PromptFilesLocator {
|
|
|
25
26
|
private readonly logService;
|
|
26
27
|
private readonly pathService;
|
|
27
28
|
constructor(fileService: IFileService, configService: IConfigurationService, workspaceService: IWorkspaceContextService, environmentService: IWorkbenchEnvironmentService, searchService: ISearchService, userDataService: IUserDataProfileService, logService: ILogService, pathService: IPathService);
|
|
29
|
+
protected getWorkspaceFolders(): readonly IWorkspaceFolder[];
|
|
30
|
+
protected getWorkspaceFolder(resource: URI): IWorkspaceFolder | undefined;
|
|
31
|
+
protected onDidChangeWorkspaceFolders(): Event<void>;
|
|
28
32
|
/**
|
|
29
33
|
* List all prompt files from the filesystem.
|
|
30
34
|
*
|
|
@@ -46,7 +50,6 @@ export declare class PromptFilesLocator {
|
|
|
46
50
|
readonly event: Event<void>;
|
|
47
51
|
dispose: () => void;
|
|
48
52
|
};
|
|
49
|
-
getAgentSourceFolders(): Promise<readonly URI[]>;
|
|
50
53
|
/**
|
|
51
54
|
* Gets the hook source folders for creating new hooks.
|
|
52
55
|
* Returns folders from config, excluding user storage and Claude paths (which are read-only).
|
|
@@ -70,10 +73,20 @@ export declare class PromptFilesLocator {
|
|
|
70
73
|
* This method merges configured locations with default locations and resolves them
|
|
71
74
|
* to absolute paths, including displayPath and isDefault information.
|
|
72
75
|
*
|
|
76
|
+
* The returned order prefers workspace (local) folders first, then user folders.
|
|
77
|
+
* This is used for UX like the "Create Prompt" command where workspace is preferred.
|
|
78
|
+
*
|
|
73
79
|
* @param type The type of prompt files.
|
|
74
80
|
* @returns List of resolved source folders with metadata.
|
|
75
81
|
*/
|
|
76
82
|
getResolvedSourceFolders(type: PromptsType): Promise<readonly IResolvedPromptSourceFolder[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Gets all resolved source folders in the same order that file discovery
|
|
85
|
+
* searches them (user folders first, then local/workspace folders).
|
|
86
|
+
* This matches the order used by {@link listFiles} and should be used
|
|
87
|
+
* for debug/diagnostic output so the displayed order is accurate.
|
|
88
|
+
*/
|
|
89
|
+
getSourceFoldersInDiscoveryOrder(type: PromptsType): Promise<readonly IResolvedPromptSourceFolder[]>;
|
|
77
90
|
/**
|
|
78
91
|
* Gets all local (workspace) storage folders for the given prompt type.
|
|
79
92
|
* This merges default folders with configured locations.
|
|
@@ -100,7 +113,9 @@ export declare class PromptFilesLocator {
|
|
|
100
113
|
private toAbsoluteLocations;
|
|
101
114
|
/**
|
|
102
115
|
* Uses the file service to resolve the provided location and return either the file at the location of files in the directory.
|
|
103
|
-
* For
|
|
116
|
+
* For instruction folders, this searches recursively (up to {@link MAX_INSTRUCTIONS_RECURSION_DEPTH} levels deep) provided
|
|
117
|
+
* the location is not a workspace folder root and does not contain wildcards, to support subdirectories while avoiding
|
|
118
|
+
* accidentally broad traversal.
|
|
104
119
|
*/
|
|
105
120
|
private resolveFilesAtLocation;
|
|
106
121
|
/**
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js
CHANGED
|
@@ -7,10 +7,10 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
7
7
|
import { FileOperationError, FileOperationResult } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
8
8
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
9
9
|
import { PromptsConfig, isTildePath, getPromptFileLocationsConfigKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
|
|
10
|
-
import { dirname, joinPath, basename, isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
10
|
+
import { dirname, joinPath, basename, isEqual, isEqualOrParent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
11
11
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
12
12
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
13
|
-
import { getPromptFileType, PromptFileSource, getPromptFileDefaultLocations,
|
|
13
|
+
import { getPromptFileType, PromptFileSource, getPromptFileDefaultLocations, getPromptFileExtension, COPILOT_CUSTOM_INSTRUCTIONS_FILENAME, LEGACY_MODE_FILE_EXTENSION, AGENTS_SOURCE_FOLDER, getCleanPromptName, AGENT_FILE_EXTENSION, SKILL_FILENAME } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
14
14
|
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
15
15
|
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
16
16
|
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
@@ -19,11 +19,12 @@ import { ISearchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench
|
|
|
19
19
|
import { isCancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
20
20
|
import { PromptsStorage, AgentFileType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
21
21
|
import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
22
|
-
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
22
|
+
import { Event, Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
23
23
|
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
24
24
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
25
25
|
import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
|
|
26
26
|
|
|
27
|
+
const MAX_INSTRUCTIONS_RECURSION_DEPTH = 5;
|
|
27
28
|
let PromptFilesLocator = class PromptFilesLocator {
|
|
28
29
|
constructor(
|
|
29
30
|
fileService,
|
|
@@ -44,6 +45,15 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
44
45
|
this.logService = logService;
|
|
45
46
|
this.pathService = pathService;
|
|
46
47
|
}
|
|
48
|
+
getWorkspaceFolders() {
|
|
49
|
+
return this.workspaceService.getWorkspace().folders;
|
|
50
|
+
}
|
|
51
|
+
getWorkspaceFolder(resource) {
|
|
52
|
+
return this.workspaceService.getWorkspaceFolder(resource) ?? undefined;
|
|
53
|
+
}
|
|
54
|
+
onDidChangeWorkspaceFolders() {
|
|
55
|
+
return ( Event.map(this.workspaceService.onDidChangeWorkspaceFolders, () => undefined));
|
|
56
|
+
}
|
|
47
57
|
async listFiles(type, storage, token) {
|
|
48
58
|
if (storage === PromptsStorage.local) {
|
|
49
59
|
return await this.listFilesInLocal(type, token);
|
|
@@ -81,7 +91,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
81
91
|
uri: userDataPromptsHome,
|
|
82
92
|
source: PromptFileSource.CopilotPersonal,
|
|
83
93
|
storage: PromptsStorage.user,
|
|
84
|
-
displayPath: ( localize(
|
|
94
|
+
displayPath: ( localize(7345, "User Data")),
|
|
85
95
|
isDefault: true
|
|
86
96
|
}];
|
|
87
97
|
}
|
|
@@ -89,9 +99,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
89
99
|
}
|
|
90
100
|
getSourceFoldersSync(type, userHome) {
|
|
91
101
|
const result = [];
|
|
92
|
-
const
|
|
93
|
-
folders
|
|
94
|
-
} = this.workspaceService.getWorkspace();
|
|
102
|
+
const folders = this.getWorkspaceFolders();
|
|
95
103
|
const defaultFileOrFolders = getPromptFileDefaultLocations(type);
|
|
96
104
|
const getFolderUri = (type, fileOrFolderPath) => {
|
|
97
105
|
if (type === PromptsType.hook && fileOrFolderPath.path.toLowerCase().endsWith(".json")) {
|
|
@@ -125,7 +133,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
125
133
|
const updateExternalFolderWatchers = () => {
|
|
126
134
|
externalFolderWatchers.clear();
|
|
127
135
|
for (const folder of parentFolders) {
|
|
128
|
-
if (!this.
|
|
136
|
+
if (!this.getWorkspaceFolder(folder.parent)) {
|
|
129
137
|
const recursive = folder.filePattern !== undefined;
|
|
130
138
|
externalFolderWatchers.add(this.fileService.watch(folder.parent, {
|
|
131
139
|
recursive,
|
|
@@ -134,7 +142,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
134
142
|
}
|
|
135
143
|
}
|
|
136
144
|
for (const folder of allSourceFolders) {
|
|
137
|
-
if (!this.
|
|
145
|
+
if (!this.getWorkspaceFolder(folder)) {
|
|
138
146
|
externalFolderWatchers.add(this.fileService.watch(folder, {
|
|
139
147
|
recursive: true,
|
|
140
148
|
excludes: []
|
|
@@ -153,6 +161,14 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
153
161
|
eventEmitter.fire();
|
|
154
162
|
}
|
|
155
163
|
}));
|
|
164
|
+
disposables.add(this.onDidChangeWorkspaceFolders()(() => {
|
|
165
|
+
parentFolders = this.getLocalParentFolders(type);
|
|
166
|
+
this.pathService.userHome().then(userHome => {
|
|
167
|
+
allSourceFolders = [...this.getSourceFoldersSync(type, userHome)];
|
|
168
|
+
updateExternalFolderWatchers();
|
|
169
|
+
});
|
|
170
|
+
eventEmitter.fire();
|
|
171
|
+
}));
|
|
156
172
|
disposables.add(this.fileService.onDidFilesChange(e => {
|
|
157
173
|
if (e.affects(userDataFolder)) {
|
|
158
174
|
eventEmitter.fire();
|
|
@@ -173,10 +189,6 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
173
189
|
dispose: () => disposables.dispose()
|
|
174
190
|
};
|
|
175
191
|
}
|
|
176
|
-
async getAgentSourceFolders() {
|
|
177
|
-
const userHome = await this.pathService.userHome();
|
|
178
|
-
return ( this.toAbsoluteLocations(PromptsType.agent, DEFAULT_AGENT_SOURCE_FOLDERS, userHome).map(l => l.uri));
|
|
179
|
-
}
|
|
180
192
|
async getHookSourceFolders() {
|
|
181
193
|
const userHome = await this.pathService.userHome();
|
|
182
194
|
const configuredLocations = PromptsConfig.promptSourceFolders(this.configService, PromptsType.hook);
|
|
@@ -225,6 +237,11 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
225
237
|
const userFolders = await this.getUserStorageFolders(type);
|
|
226
238
|
return this.dedupeSourceFolders([...localFolders, ...userFolders]);
|
|
227
239
|
}
|
|
240
|
+
async getSourceFoldersInDiscoveryOrder(type) {
|
|
241
|
+
const userFolders = await this.getUserStorageFolders(type);
|
|
242
|
+
const localFolders = await this.getLocalStorageFolders(type);
|
|
243
|
+
return this.dedupeSourceFolders([...userFolders, ...localFolders]);
|
|
244
|
+
}
|
|
228
245
|
async getLocalStorageFolders(type) {
|
|
229
246
|
const userHome = await this.pathService.userHome();
|
|
230
247
|
const configuredLocations = PromptsConfig.promptSourceFolders(this.configService, type);
|
|
@@ -270,9 +287,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
270
287
|
toAbsoluteLocations(type, configuredLocations, userHome, defaultLocations) {
|
|
271
288
|
const result = [];
|
|
272
289
|
const seen = ( new ResourceSet());
|
|
273
|
-
const
|
|
274
|
-
folders
|
|
275
|
-
} = this.workspaceService.getWorkspace();
|
|
290
|
+
const folders = this.getWorkspaceFolders();
|
|
276
291
|
const defaultPaths = ( new Set(defaultLocations?.map(loc => loc.path)));
|
|
277
292
|
const validLocations = configuredLocations.filter(sourceFolder => {
|
|
278
293
|
if (type === PromptsType.instructions || type === PromptsType.prompt) {
|
|
@@ -359,11 +374,12 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
359
374
|
}
|
|
360
375
|
return result;
|
|
361
376
|
}
|
|
362
|
-
async resolveFilesAtLocation(location, type, token) {
|
|
377
|
+
async resolveFilesAtLocation(location, type, token, depth = 0) {
|
|
363
378
|
if (type === PromptsType.skill) {
|
|
364
379
|
return this.findAgentSkillsInFolder(location, token);
|
|
365
380
|
}
|
|
366
|
-
const
|
|
381
|
+
const isWorkspaceRoot = depth === 0 && ( this.getWorkspaceFolders().some(f => isEqual(f.uri, location)));
|
|
382
|
+
const recursive = type === PromptsType.instructions && !isWorkspaceRoot && !hasGlobPattern(location.path) && depth < MAX_INSTRUCTIONS_RECURSION_DEPTH;
|
|
367
383
|
try {
|
|
368
384
|
const info = await this.fileService.resolve(location);
|
|
369
385
|
if (token.isCancellationRequested) {
|
|
@@ -377,7 +393,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
377
393
|
if (child.isFile) {
|
|
378
394
|
result.push(child.resource);
|
|
379
395
|
} else if (recursive && child.isDirectory) {
|
|
380
|
-
const subFiles = await this.resolveFilesAtLocation(child.resource, type, token);
|
|
396
|
+
const subFiles = await this.resolveFilesAtLocation(child.resource, type, token, depth + 1);
|
|
381
397
|
result.push(...subFiles);
|
|
382
398
|
}
|
|
383
399
|
}
|
|
@@ -399,7 +415,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
399
415
|
return [];
|
|
400
416
|
}
|
|
401
417
|
const disregardIgnoreFiles = this.configService.getValue("explorer.excludeGitIgnore");
|
|
402
|
-
const workspaceRoot = this.
|
|
418
|
+
const workspaceRoot = this.getWorkspaceFolder(folder);
|
|
403
419
|
const getExcludePattern = folder => getExcludes(this.configService.getValue({
|
|
404
420
|
resource: folder
|
|
405
421
|
})) || {};
|
|
@@ -430,9 +446,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
430
446
|
}
|
|
431
447
|
async findCopilotInstructionsMDsInWorkspace(token) {
|
|
432
448
|
const result = [];
|
|
433
|
-
const
|
|
434
|
-
folders
|
|
435
|
-
} = this.workspaceService.getWorkspace();
|
|
449
|
+
const folders = this.getWorkspaceFolders();
|
|
436
450
|
for (const folder of folders) {
|
|
437
451
|
const file = joinPath(folder.uri, `.github/` + COPILOT_CUSTOM_INSTRUCTIONS_FILENAME);
|
|
438
452
|
try {
|
|
@@ -452,7 +466,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
452
466
|
return result;
|
|
453
467
|
}
|
|
454
468
|
async findAgentMDsInWorkspace(token) {
|
|
455
|
-
const result = await Promise.all(( this.
|
|
469
|
+
const result = await Promise.all(( this.getWorkspaceFolders().map(folder => this.findAgentMDsInFolder(folder.uri, token))));
|
|
456
470
|
return result.flat(1);
|
|
457
471
|
}
|
|
458
472
|
async findAgentMDsInFolder(folder, token) {
|
|
@@ -526,9 +540,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
526
540
|
return result;
|
|
527
541
|
}
|
|
528
542
|
async findFilesInWorkspaceRoots(fileName, folder, type, token, result = []) {
|
|
529
|
-
const
|
|
530
|
-
folders
|
|
531
|
-
} = this.workspaceService.getWorkspace();
|
|
543
|
+
const folders = this.getWorkspaceFolders();
|
|
532
544
|
if (folder) {
|
|
533
545
|
return this.findFilesInRoots(( folders.map(f => joinPath(f.uri, folder))), fileName, type, token, result);
|
|
534
546
|
}
|
|
@@ -560,7 +572,7 @@ let PromptFilesLocator = class PromptFilesLocator {
|
|
|
560
572
|
getAgentFileURIFromModeFile(oldURI) {
|
|
561
573
|
if (oldURI.path.endsWith(LEGACY_MODE_FILE_EXTENSION)) {
|
|
562
574
|
let newLocation;
|
|
563
|
-
const workspaceFolder = this.
|
|
575
|
+
const workspaceFolder = this.getWorkspaceFolder(oldURI);
|
|
564
576
|
if (workspaceFolder) {
|
|
565
577
|
newLocation = joinPath(
|
|
566
578
|
workspaceFolder.uri,
|
|
@@ -10,6 +10,7 @@ export interface IChatTodo {
|
|
|
10
10
|
export interface IChatTodoListStorage {
|
|
11
11
|
getTodoList(sessionResource: URI): IChatTodo[];
|
|
12
12
|
setTodoList(sessionResource: URI, todoList: IChatTodo[]): void;
|
|
13
|
+
migrateTodoList(oldSessionResource: URI, newSessionResource: URI): void;
|
|
13
14
|
}
|
|
14
15
|
export declare class ChatTodoListStorage implements IChatTodoListStorage {
|
|
15
16
|
private memento;
|
|
@@ -18,6 +19,7 @@ export declare class ChatTodoListStorage implements IChatTodoListStorage {
|
|
|
18
19
|
private setSessionData;
|
|
19
20
|
getTodoList(sessionResource: URI): IChatTodo[];
|
|
20
21
|
setTodoList(sessionResource: URI, todoList: IChatTodo[]): void;
|
|
22
|
+
migrateTodoList(oldSessionResource: URI, newSessionResource: URI): void;
|
|
21
23
|
private toKey;
|
|
22
24
|
}
|
|
23
25
|
export declare class ChatTodoListService extends Disposable implements IChatTodoListService {
|
|
@@ -28,4 +30,5 @@ export declare class ChatTodoListService extends Disposable implements IChatTodo
|
|
|
28
30
|
constructor(storageService: IStorageService);
|
|
29
31
|
getTodos(sessionResource: URI): IChatTodo[];
|
|
30
32
|
setTodos(sessionResource: URI, todos: IChatTodo[]): void;
|
|
33
|
+
migrateTodos(oldSessionResource: URI, newSessionResource: URI): void;
|
|
31
34
|
}
|
|
@@ -26,6 +26,15 @@ let ChatTodoListStorage = class ChatTodoListStorage {
|
|
|
26
26
|
setTodoList(sessionResource, todoList) {
|
|
27
27
|
this.setSessionData(sessionResource, todoList);
|
|
28
28
|
}
|
|
29
|
+
migrateTodoList(oldSessionResource, newSessionResource) {
|
|
30
|
+
const todos = this.getSessionData(oldSessionResource);
|
|
31
|
+
if (todos.length > 0) {
|
|
32
|
+
this.setSessionData(newSessionResource, todos);
|
|
33
|
+
const storage = this.memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
34
|
+
delete storage[this.toKey(oldSessionResource)];
|
|
35
|
+
this.memento.saveMemento();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
29
38
|
toKey(sessionResource) {
|
|
30
39
|
return chatSessionResourceToId(sessionResource);
|
|
31
40
|
}
|
|
@@ -45,6 +54,10 @@ let ChatTodoListService = class ChatTodoListService extends Disposable {
|
|
|
45
54
|
this.todoListStorage.setTodoList(sessionResource, todos);
|
|
46
55
|
this._onDidUpdateTodos.fire(sessionResource);
|
|
47
56
|
}
|
|
57
|
+
migrateTodos(oldSessionResource, newSessionResource) {
|
|
58
|
+
this.todoListStorage.migrateTodoList(oldSessionResource, newSessionResource);
|
|
59
|
+
this._onDidUpdateTodos.fire(newSessionResource);
|
|
60
|
+
}
|
|
48
61
|
};
|
|
49
62
|
ChatTodoListService = ( __decorate([( __param(0, IStorageService))], ChatTodoListService));
|
|
50
63
|
|
|
@@ -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(7406, "A speech-to-text session is in progress for chat."))
|
|
24
24
|
}));
|
|
25
25
|
let VoiceChatService = class VoiceChatService extends Disposable {
|
|
26
26
|
static {
|
|
@@ -6,14 +6,22 @@ import { FileSystemProviderCapabilities, FileType, IFileSystemProviderWithFileAt
|
|
|
6
6
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
7
7
|
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
8
8
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
9
|
-
|
|
9
|
+
import { IChatResponseResourceFileSystemProvider } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service";
|
|
10
|
+
export declare class ChatResponseResourceFileSystemProvider extends Disposable implements IChatResponseResourceFileSystemProvider, IFileSystemProviderWithFileReadWriteCapability, IFileSystemProviderWithFileAtomicReadCapability, IFileSystemProviderWithFileReadStreamCapability {
|
|
10
11
|
private readonly chatService;
|
|
11
12
|
private readonly _fileService;
|
|
12
|
-
|
|
13
|
+
readonly _serviceBrand: undefined;
|
|
13
14
|
readonly onDidChangeCapabilities: Event<any>;
|
|
14
15
|
readonly onDidChangeFile: Event<any>;
|
|
15
16
|
readonly capabilities: FileSystemProviderCapabilities;
|
|
17
|
+
/** In-memory store for data associated via {@link associate}, keyed by URI. */
|
|
18
|
+
private readonly _associated;
|
|
19
|
+
/** Tracks which associated URIs belong to which session, for cleanup on dispose. */
|
|
20
|
+
private readonly _sessionAssociations;
|
|
16
21
|
constructor(chatService: IChatService, _fileService: IFileService);
|
|
22
|
+
associate(sessionResource: URI, data: Uint8Array | {
|
|
23
|
+
base64: string;
|
|
24
|
+
}, name?: string): URI;
|
|
17
25
|
readFile(resource: URI): Promise<Uint8Array>;
|
|
18
26
|
readFileStream(resource: URI): ReadableStreamEvents<Uint8Array>;
|
|
19
27
|
stat(resource: URI): Promise<IStat>;
|
|
@@ -29,3 +37,7 @@ export declare class ChatResponseResourceFileSystemProvider extends Disposable i
|
|
|
29
37
|
private findMatchingInvocation;
|
|
30
38
|
private lookupURI;
|
|
31
39
|
}
|
|
40
|
+
export declare class ChatResponseResourceWorkbenchContribution extends Disposable implements IWorkbenchContribution {
|
|
41
|
+
static readonly ID = "chatResponseResourceWorkbenchContribution";
|
|
42
|
+
constructor(chatResponseResourceFsProvider: IChatResponseResourceFileSystemProvider, fileService: IFileService);
|
|
43
|
+
}
|
package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js
CHANGED
|
@@ -3,18 +3,19 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
|
|
|
3
3
|
import { VSBuffer, decodeBase64 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
4
4
|
import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
5
5
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import { ResourceMap, ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
|
|
6
7
|
import { newWriteableStream } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stream';
|
|
8
|
+
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
9
|
+
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
7
10
|
import { FileSystemProviderCapabilities, FileType, createFileSystemProviderError, FileSystemProviderErrorCode } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
8
11
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
9
12
|
import { ChatResponseResource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
|
|
10
13
|
import { IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
11
14
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
12
15
|
import { isToolResultInputOutputDetails } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
16
|
+
import { IChatResponseResourceFileSystemProvider } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service';
|
|
13
17
|
|
|
14
18
|
let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSystemProvider extends Disposable {
|
|
15
|
-
static {
|
|
16
|
-
this.ID = "workbench.contrib.chatResponseResourceFileSystemProvider";
|
|
17
|
-
}
|
|
18
19
|
constructor(chatService, _fileService) {
|
|
19
20
|
super();
|
|
20
21
|
this.chatService = chatService;
|
|
@@ -22,7 +23,34 @@ let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSyste
|
|
|
22
23
|
this.onDidChangeCapabilities = Event.None;
|
|
23
24
|
this.onDidChangeFile = Event.None;
|
|
24
25
|
this.capabilities = FileSystemProviderCapabilities.None | FileSystemProviderCapabilities.Readonly | FileSystemProviderCapabilities.PathCaseSensitive | FileSystemProviderCapabilities.FileReadStream | FileSystemProviderCapabilities.FileAtomicRead | FileSystemProviderCapabilities.FileReadWrite;
|
|
25
|
-
this.
|
|
26
|
+
this._associated = ( new ResourceMap());
|
|
27
|
+
this._sessionAssociations = ( new ResourceMap());
|
|
28
|
+
this._register(this.chatService.onDidDisposeSession(e => {
|
|
29
|
+
for (const sessionResource of e.sessionResource) {
|
|
30
|
+
const uris = this._sessionAssociations.get(sessionResource);
|
|
31
|
+
if (uris) {
|
|
32
|
+
for (const uri of uris) {
|
|
33
|
+
this._associated.delete(uri);
|
|
34
|
+
}
|
|
35
|
+
this._sessionAssociations.delete(sessionResource);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
associate(sessionResource, data, name) {
|
|
41
|
+
const id = generateUuid();
|
|
42
|
+
const uri = ( URI.from({
|
|
43
|
+
scheme: ChatResponseResource.scheme,
|
|
44
|
+
path: `/assoc/${id}` + (name ? `/${name}` : "")
|
|
45
|
+
}));
|
|
46
|
+
this._associated.set(uri, data);
|
|
47
|
+
let set = this._sessionAssociations.get(sessionResource);
|
|
48
|
+
if (!set) {
|
|
49
|
+
set = ( new ResourceSet());
|
|
50
|
+
this._sessionAssociations.set(sessionResource, set);
|
|
51
|
+
}
|
|
52
|
+
set.add(uri);
|
|
53
|
+
return uri;
|
|
26
54
|
}
|
|
27
55
|
readFile(resource) {
|
|
28
56
|
return Promise.resolve(this.lookupURI(resource));
|
|
@@ -89,6 +117,15 @@ let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSyste
|
|
|
89
117
|
throw createFileSystemProviderError(`File not found`, FileSystemProviderErrorCode.FileNotFound);
|
|
90
118
|
}
|
|
91
119
|
lookupURI(uri) {
|
|
120
|
+
const associated = this._associated.get(uri);
|
|
121
|
+
if (associated) {
|
|
122
|
+
if (associated instanceof Uint8Array) {
|
|
123
|
+
return associated;
|
|
124
|
+
}
|
|
125
|
+
const decoded = decodeBase64(associated.base64).buffer;
|
|
126
|
+
this._associated.set(uri, decoded);
|
|
127
|
+
return decoded;
|
|
128
|
+
}
|
|
92
129
|
const {
|
|
93
130
|
result,
|
|
94
131
|
index
|
|
@@ -108,5 +145,17 @@ let ChatResponseResourceFileSystemProvider = class ChatResponseResourceFileSyste
|
|
|
108
145
|
}
|
|
109
146
|
};
|
|
110
147
|
ChatResponseResourceFileSystemProvider = ( __decorate([( __param(0, IChatService)), ( __param(1, IFileService))], ChatResponseResourceFileSystemProvider));
|
|
148
|
+
let ChatResponseResourceWorkbenchContribution = class ChatResponseResourceWorkbenchContribution extends Disposable {
|
|
149
|
+
static {
|
|
150
|
+
this.ID = "chatResponseResourceWorkbenchContribution";
|
|
151
|
+
}
|
|
152
|
+
constructor(chatResponseResourceFsProvider, fileService) {
|
|
153
|
+
super();
|
|
154
|
+
this._register(
|
|
155
|
+
fileService.registerProvider(ChatResponseResource.scheme, chatResponseResourceFsProvider)
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
ChatResponseResourceWorkbenchContribution = ( __decorate([( __param(0, IChatResponseResourceFileSystemProvider)), ( __param(1, IFileService))], ChatResponseResourceWorkbenchContribution));
|
|
111
160
|
|
|
112
|
-
export { ChatResponseResourceFileSystemProvider };
|
|
161
|
+
export { ChatResponseResourceFileSystemProvider, ChatResponseResourceWorkbenchContribution };
|
|
@@ -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, StartSessionAction, FocusInlineChat } from './inlineChatActions.js';
|
|
6
|
+
import { KeepSessionAction2, UndoSessionAction2, UndoAndCloseSessionAction2, CancelSessionAction, 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';
|
|
@@ -27,12 +27,13 @@ registerEditorContribution(
|
|
|
27
27
|
registerAction2(KeepSessionAction2);
|
|
28
28
|
registerAction2(UndoSessionAction2);
|
|
29
29
|
registerAction2(UndoAndCloseSessionAction2);
|
|
30
|
+
registerAction2(CancelSessionAction);
|
|
30
31
|
const editActionMenuItem = {
|
|
31
32
|
group: "0_main",
|
|
32
33
|
order: 0,
|
|
33
34
|
command: {
|
|
34
35
|
id: ChatSubmitAction.ID,
|
|
35
|
-
title: ( localize(
|
|
36
|
+
title: ( localize(9634, "Edit Code"))
|
|
36
37
|
},
|
|
37
38
|
when: ( ContextKeyExpr.and(ChatContextKeys.inputHasText, ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), CTX_INLINE_CHAT_EDITING, CTX_INLINE_CHAT_V1_ENABLED))
|
|
38
39
|
};
|
|
@@ -41,7 +42,7 @@ const generateActionMenuItem = {
|
|
|
41
42
|
order: 0,
|
|
42
43
|
command: {
|
|
43
44
|
id: ChatSubmitAction.ID,
|
|
44
|
-
title: ( localize(
|
|
45
|
+
title: ( localize(9635, "Generate"))
|
|
45
46
|
},
|
|
46
47
|
when: ( ContextKeyExpr.and(ChatContextKeys.inputHasText, ( CTX_INLINE_CHAT_REQUEST_IN_PROGRESS.toNegated()), ( CTX_INLINE_CHAT_EDITING.toNegated()), CTX_INLINE_CHAT_V1_ENABLED))
|
|
47
48
|
};
|
|
@@ -52,14 +53,20 @@ const cancelActionMenuItem = {
|
|
|
52
53
|
order: 0,
|
|
53
54
|
command: {
|
|
54
55
|
id: CancelAction.ID,
|
|
55
|
-
title: ( localize(
|
|
56
|
-
shortTitle: ( localize(
|
|
56
|
+
title: ( localize(9636, "Cancel Request")),
|
|
57
|
+
shortTitle: ( localize(9637, "Cancel"))
|
|
57
58
|
},
|
|
58
59
|
when: ( ContextKeyExpr.and(CTX_INLINE_CHAT_REQUEST_IN_PROGRESS))
|
|
59
60
|
};
|
|
60
61
|
MenuRegistry.appendMenuItem(MENU_INLINE_CHAT_WIDGET_STATUS, cancelActionMenuItem);
|
|
61
62
|
registerAction2(StartSessionAction);
|
|
63
|
+
registerAction2(AskInChatAction);
|
|
62
64
|
registerAction2(FocusInlineChat);
|
|
65
|
+
registerAction2(SubmitInlineChatInputAction);
|
|
66
|
+
registerAction2(QueueInChatAction);
|
|
67
|
+
registerAction2(HideInlineChatInputAction);
|
|
68
|
+
registerAction2(FixDiagnosticsAction);
|
|
69
|
+
registerAction2(DismissEditorAffordanceAction);
|
|
63
70
|
const workbenchContributionsRegistry = ( Registry.as(Extensions.Workbench));
|
|
64
71
|
workbenchContributionsRegistry.registerWorkbenchContribution(InlineChatNotebookContribution, LifecyclePhase.Restored);
|
|
65
72
|
registerWorkbenchContribution2(InlineChatEnabler.Id, InlineChatEnabler, WorkbenchPhase.AfterRestored);
|
|
@@ -4,10 +4,6 @@ import { InlineChatController } from "@codingame/monaco-vscode-katex-common/vsco
|
|
|
4
4
|
import { Action2, IAction2Options } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
|
|
5
5
|
import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
6
6
|
export declare const START_INLINE_CHAT: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
7
|
-
export interface IHoldForSpeech {
|
|
8
|
-
(accessor: ServicesAccessor, controller: InlineChatController, source: Action2): void;
|
|
9
|
-
}
|
|
10
|
-
export declare function setHoldForSpeech(holdForSpeech: IHoldForSpeech): void;
|
|
11
7
|
export declare class StartSessionAction extends Action2 {
|
|
12
8
|
constructor();
|
|
13
9
|
run(accessor: ServicesAccessor, ...args: unknown[]): any;
|
|
@@ -23,6 +19,10 @@ export declare abstract class AbstractInlineChatAction extends EditorAction2 {
|
|
|
23
19
|
runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor, ..._args: unknown[]): void;
|
|
24
20
|
abstract runInlineChatCommand(accessor: ServicesAccessor, ctrl: InlineChatController, editor: ICodeEditor, ...args: unknown[]): void;
|
|
25
21
|
}
|
|
22
|
+
export declare class FixDiagnosticsAction extends AbstractInlineChatAction {
|
|
23
|
+
constructor();
|
|
24
|
+
runInlineChatCommand(_accessor: ServicesAccessor, ctrl: InlineChatController, _editor: ICodeEditor, ..._args: unknown[]): void;
|
|
25
|
+
}
|
|
26
26
|
declare class KeepOrUndoSessionAction extends AbstractInlineChatAction {
|
|
27
27
|
private readonly _keep;
|
|
28
28
|
constructor(_keep: boolean, desc: IAction2Options);
|
|
@@ -37,4 +37,27 @@ export declare class UndoSessionAction2 extends KeepOrUndoSessionAction {
|
|
|
37
37
|
export declare class UndoAndCloseSessionAction2 extends KeepOrUndoSessionAction {
|
|
38
38
|
constructor();
|
|
39
39
|
}
|
|
40
|
+
export declare class CancelSessionAction extends KeepOrUndoSessionAction {
|
|
41
|
+
constructor();
|
|
42
|
+
}
|
|
43
|
+
export declare class SubmitInlineChatInputAction extends AbstractInlineChatAction {
|
|
44
|
+
constructor();
|
|
45
|
+
runInlineChatCommand(_accessor: ServicesAccessor, ctrl: InlineChatController, _editor: ICodeEditor, ..._args: unknown[]): void;
|
|
46
|
+
}
|
|
47
|
+
export declare class HideInlineChatInputAction extends AbstractInlineChatAction {
|
|
48
|
+
constructor();
|
|
49
|
+
runInlineChatCommand(_accessor: ServicesAccessor, ctrl: InlineChatController, _editor: ICodeEditor, ..._args: unknown[]): void;
|
|
50
|
+
}
|
|
51
|
+
export declare class AskInChatAction extends EditorAction2 {
|
|
52
|
+
constructor();
|
|
53
|
+
runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
export declare class DismissEditorAffordanceAction extends EditorAction2 {
|
|
56
|
+
constructor();
|
|
57
|
+
runEditorCommand(_accessor: ServicesAccessor, editor: ICodeEditor): void;
|
|
58
|
+
}
|
|
59
|
+
export declare class QueueInChatAction extends AbstractInlineChatAction {
|
|
60
|
+
constructor();
|
|
61
|
+
runInlineChatCommand(accessor: ServicesAccessor, ctrl: InlineChatController, editor: ICodeEditor): Promise<void>;
|
|
62
|
+
}
|
|
40
63
|
export {};
|