@codingame/monaco-vscode-chat-service-override 31.0.0 → 32.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.d.ts +1 -1
- package/index.js +21 -5
- package/package.json +5 -5
- package/vscode/src/vs/base/common/defaultAccount.d.ts +69 -0
- package/vscode/src/vs/base/common/defaultAccount.js +12 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +91 -22
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +301 -68
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +24 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +89 -16
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +17 -5
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +73 -10
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +32 -6
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +32 -20
- package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.d.ts +37 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.js +15 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +242 -201
- package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +35 -0
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +106 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +38 -30
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +2 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +114 -4
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +10 -10
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +52 -19
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +42 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +7 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +42 -41
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +6 -6
- package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +15 -0
- package/vscode/src/vs/platform/agentHost/common/transportConstants.js +6 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +4 -3
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +4 -3
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +4 -2
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +15 -7
- package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.js +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +64 -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 +31 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +18 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +30 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +8 -7
- 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 +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +63 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +10 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +99 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +35 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +347 -326
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +1 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +113 -109
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +37 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +436 -134
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +52 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +93 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +73 -104
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +272 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +30 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +430 -185
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +44 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +480 -279
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.d.ts +138 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +221 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +1216 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +32 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +26 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +28 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -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.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +68 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +650 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +390 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +6 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +116 -182
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +61 -41
- 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 +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +106 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +25 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +629 -425
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +105 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +175 -148
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +20 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +339 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +160 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +123 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +572 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +167 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +49 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +315 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +45 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +44 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +111 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +13 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +14 -52
- 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 +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +17 -2
- 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 +23 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +136 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +72 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +56 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +14 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +41 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +30 -12
- 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 +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +108 -45
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +65 -26
- 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 +38 -11
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +165 -16
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +62 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +15 -21
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +18 -24
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +203 -180
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +35 -0
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +27 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +14 -49
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +35 -177
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +13 -13
- 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.d.ts +29 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +129 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -6
- 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.d.ts +1 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +12 -38
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +77 -70
- 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/browser/tools/terminalOutputCompressor.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +232 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +83 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.js +243 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +0 -749
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +0 -14
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +0 -17
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +0 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +0 -40
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +0 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +0 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +0 -638
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +0 -131
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +0 -363
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +0 -306
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +0 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatStatusWidget.css +0 -57
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +0 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +0 -78
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +0 -77
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +0 -120
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +0 -23
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +0 -242
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +0 -1701
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +0 -191
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +0 -728
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +0 -69
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
5
|
+
import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
6
|
+
import { CompletionItemKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
|
|
7
|
+
import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
|
|
8
|
+
import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
|
|
9
|
+
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
10
|
+
import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
11
|
+
import { LifecyclePhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle';
|
|
12
|
+
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
|
|
13
|
+
import { isAgentHostTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
14
|
+
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
15
|
+
import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
16
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
17
|
+
import { AgentHostInputCompletionsBase } from './agentHostInputCompletionsBase.js';
|
|
18
|
+
|
|
19
|
+
var AgentHostInputCompletions_1;
|
|
20
|
+
let AgentHostInputCompletions = class AgentHostInputCompletions extends AgentHostInputCompletionsBase {
|
|
21
|
+
static {
|
|
22
|
+
AgentHostInputCompletions_1 = this;
|
|
23
|
+
}
|
|
24
|
+
static {
|
|
25
|
+
this.addReferenceCommand = "_chatAgentHostAddReferenceCmd";
|
|
26
|
+
}
|
|
27
|
+
constructor(languageFeaturesService, _chatWidgetService, chatSessionsService) {
|
|
28
|
+
super(languageFeaturesService, chatSessionsService);
|
|
29
|
+
this._chatWidgetService = _chatWidgetService;
|
|
30
|
+
this._registrations = this._register(( new DisposableMap()));
|
|
31
|
+
this._register(
|
|
32
|
+
CommandsRegistry.registerCommand(AgentHostInputCompletions_1.addReferenceCommand, (_services, arg) => {
|
|
33
|
+
assertType(arg instanceof AgentHostReferenceArgument);
|
|
34
|
+
arg.widget.getContrib(ChatDynamicVariableModel.ID)?.addReference({
|
|
35
|
+
id: ( arg.uri.toString()),
|
|
36
|
+
range: arg.range,
|
|
37
|
+
isFile: !arg.isDirectory,
|
|
38
|
+
isDirectory: arg.isDirectory,
|
|
39
|
+
fullName: arg.displayName,
|
|
40
|
+
data: arg.uri,
|
|
41
|
+
_meta: arg._meta
|
|
42
|
+
});
|
|
43
|
+
})
|
|
44
|
+
);
|
|
45
|
+
for (const scheme of this._chatSessionsService.getContentProviderSchemes()) {
|
|
46
|
+
void this._registerForScheme(scheme);
|
|
47
|
+
}
|
|
48
|
+
this._register(this._chatSessionsService.onDidChangeContentProviderSchemes((
|
|
49
|
+
{
|
|
50
|
+
added,
|
|
51
|
+
removed
|
|
52
|
+
}
|
|
53
|
+
) => {
|
|
54
|
+
for (const scheme of removed) {
|
|
55
|
+
this._registrations.deleteAndDispose(scheme);
|
|
56
|
+
}
|
|
57
|
+
for (const scheme of added) {
|
|
58
|
+
void this._registerForScheme(scheme);
|
|
59
|
+
}
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
async _registerForScheme(scheme) {
|
|
63
|
+
if (!isAgentHostTarget(scheme)) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const triggerCharacters = await this._chatSessionsService.getChatInputCompletionTriggerCharacters(scheme);
|
|
67
|
+
if (!triggerCharacters || triggerCharacters.length === 0) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (!this._chatSessionsService.getContentProviderSchemes().includes(scheme)) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this._registrations.set(scheme, this._registerProvider({
|
|
74
|
+
scheme: Schemas.vscodeChatInput,
|
|
75
|
+
hasAccessToAllModels: true
|
|
76
|
+
}, `agentHostChatInputCompletions[${scheme}]`, triggerCharacters, scheme));
|
|
77
|
+
}
|
|
78
|
+
_resolveContext(model, scheme) {
|
|
79
|
+
const widget = this._chatWidgetService.getWidgetByInputUri(model.uri);
|
|
80
|
+
if (!widget?.viewModel) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
const sessionResource = widget.viewModel.model.sessionResource;
|
|
84
|
+
if (getChatSessionType(sessionResource) !== scheme) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
sessionResource,
|
|
89
|
+
context: widget
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
_buildItem(position, item, widget) {
|
|
93
|
+
const replaceRange = AgentHostInputCompletions_1.computeRange(position, item);
|
|
94
|
+
const label = item.attachment.displayName ?? item.insertText;
|
|
95
|
+
const description = item.attachment.uri.path;
|
|
96
|
+
return {
|
|
97
|
+
label: {
|
|
98
|
+
label,
|
|
99
|
+
description
|
|
100
|
+
},
|
|
101
|
+
insertText: item.insertText,
|
|
102
|
+
filterText: item.insertText,
|
|
103
|
+
range: replaceRange,
|
|
104
|
+
kind: item.attachment.isDirectory ? CompletionItemKind.Folder : CompletionItemKind.File,
|
|
105
|
+
command: {
|
|
106
|
+
id: AgentHostInputCompletions_1.addReferenceCommand,
|
|
107
|
+
title: "",
|
|
108
|
+
arguments: [( new AgentHostReferenceArgument(
|
|
109
|
+
widget,
|
|
110
|
+
item.attachment.uri,
|
|
111
|
+
item.attachment.displayName,
|
|
112
|
+
!!item.attachment.isDirectory,
|
|
113
|
+
replaceRange.replace.setEndPosition(
|
|
114
|
+
replaceRange.replace.startLineNumber,
|
|
115
|
+
replaceRange.replace.startColumn + item.insertText.length
|
|
116
|
+
),
|
|
117
|
+
item.attachment._meta
|
|
118
|
+
))]
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
AgentHostInputCompletions = AgentHostInputCompletions_1 = ( __decorate([( __param(0, ILanguageFeaturesService)), ( __param(1, IChatWidgetService)), ( __param(2, IChatSessionsService))], AgentHostInputCompletions));
|
|
124
|
+
class AgentHostReferenceArgument {
|
|
125
|
+
constructor(widget, uri, displayName, isDirectory, range, _meta) {
|
|
126
|
+
this.widget = widget;
|
|
127
|
+
this.uri = uri;
|
|
128
|
+
this.displayName = displayName;
|
|
129
|
+
this.isDirectory = isDirectory;
|
|
130
|
+
this.range = range;
|
|
131
|
+
this._meta = _meta;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(AgentHostInputCompletions, LifecyclePhase.Eventually);
|
|
135
|
+
|
|
136
|
+
export { AgentHostInputCompletions };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
|
+
import { Position } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/position";
|
|
4
|
+
import { Range } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
|
|
5
|
+
import { CompletionItem } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
|
|
6
|
+
import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
|
|
7
|
+
import { LanguageFilter } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languageSelector";
|
|
8
|
+
import { ILanguageFeaturesService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service";
|
|
9
|
+
import { IChatInputCompletionItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
|
|
10
|
+
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
11
|
+
/**
|
|
12
|
+
* Shared plumbing for Monaco completion providers that delegate to an
|
|
13
|
+
* agent host's `provideChatInputCompletions` RPC.
|
|
14
|
+
*
|
|
15
|
+
* Subclasses own the registration lifecycle (per-scheme, per-active-
|
|
16
|
+
* session, etc.) and supply two pieces of behaviour:
|
|
17
|
+
*
|
|
18
|
+
* - {@link _resolveContext}: how to find the session resource for a
|
|
19
|
+
* given input model, plus any subclass-specific data ({@link TContext})
|
|
20
|
+
* that needs to flow into the accept command. Receives the per-
|
|
21
|
+
* registration data ({@link TRegData}) the subclass passed to
|
|
22
|
+
* {@link _registerProvider} so it can short-circuit when the model
|
|
23
|
+
* does not belong to *this* registration (e.g. a different scheme).
|
|
24
|
+
* - {@link _buildItem}: how to produce the final Monaco
|
|
25
|
+
* {@link CompletionItem} including the command that runs when the
|
|
26
|
+
* user accepts a suggestion.
|
|
27
|
+
*
|
|
28
|
+
* The base handles the cross-cutting concerns: gating on trigger
|
|
29
|
+
* characters, performing the host RPC, cancellation, and registering
|
|
30
|
+
* the Monaco provider with the host-announced trigger characters.
|
|
31
|
+
*/
|
|
32
|
+
export declare abstract class AgentHostInputCompletionsBase<TContext, TRegData = void> extends Disposable {
|
|
33
|
+
protected readonly _languageFeaturesService: ILanguageFeaturesService;
|
|
34
|
+
protected readonly _chatSessionsService: IChatSessionsService;
|
|
35
|
+
constructor(_languageFeaturesService: ILanguageFeaturesService, _chatSessionsService: IChatSessionsService);
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the session resource whose host should answer completions
|
|
38
|
+
* for `model`, along with any subclass-specific context that should
|
|
39
|
+
* flow into {@link _buildItem}. Return `undefined` to skip.
|
|
40
|
+
*/
|
|
41
|
+
protected abstract _resolveContext(model: ITextModel, regData: TRegData): {
|
|
42
|
+
sessionResource: URI;
|
|
43
|
+
context: TContext;
|
|
44
|
+
} | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Build the Monaco completion item — including the accept command —
|
|
47
|
+
* for one item returned by the host.
|
|
48
|
+
*/
|
|
49
|
+
protected abstract _buildItem(position: Position, item: IChatInputCompletionItem, context: TContext): CompletionItem;
|
|
50
|
+
/**
|
|
51
|
+
* Register a Monaco completion provider that delegates to this
|
|
52
|
+
* instance. Subclasses call this once their lifecycle decides a
|
|
53
|
+
* registration should exist (e.g. once a content provider becomes
|
|
54
|
+
* available, or once the active session changes to an AHP-backed
|
|
55
|
+
* one). The opaque {@link regData} is forwarded to
|
|
56
|
+
* {@link _resolveContext} so the subclass can identify which
|
|
57
|
+
* registration is firing (e.g. its scheme) and ignore models that
|
|
58
|
+
* don't belong to it.
|
|
59
|
+
*/
|
|
60
|
+
protected _registerProvider(filter: LanguageFilter, debugName: string, triggerCharacters: readonly string[], regData: TRegData): IDisposable;
|
|
61
|
+
private _provide;
|
|
62
|
+
/**
|
|
63
|
+
* Compute the insert/replace ranges for an item. Positions returned
|
|
64
|
+
* by the host are already 1-based Monaco positions, so they can be
|
|
65
|
+
* used directly. When omitted, the ranges default to a zero-length
|
|
66
|
+
* span at the cursor (Monaco then inserts without replacing).
|
|
67
|
+
*/
|
|
68
|
+
protected static computeRange(position: Position, item: IChatInputCompletionItem): {
|
|
69
|
+
insert: Range;
|
|
70
|
+
replace: Range;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
|
|
2
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
3
|
+
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
4
|
+
import { isAtTriggerCharacterToken } from './chatInputCompletionUtils.js';
|
|
5
|
+
|
|
6
|
+
class AgentHostInputCompletionsBase extends Disposable {
|
|
7
|
+
constructor(_languageFeaturesService, _chatSessionsService) {
|
|
8
|
+
super();
|
|
9
|
+
this._languageFeaturesService = _languageFeaturesService;
|
|
10
|
+
this._chatSessionsService = _chatSessionsService;
|
|
11
|
+
}
|
|
12
|
+
_registerProvider(filter, debugName, triggerCharacters, regData) {
|
|
13
|
+
return this._languageFeaturesService.completionProvider.register(filter, {
|
|
14
|
+
_debugDisplayName: debugName,
|
|
15
|
+
triggerCharacters: [...triggerCharacters],
|
|
16
|
+
provideCompletionItems: (model, position, _context, token) => this._provide(model, position, token, triggerCharacters, regData)
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async _provide(model, position, token, triggerCharacters, regData) {
|
|
20
|
+
if (!isAtTriggerCharacterToken(model, position, triggerCharacters)) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
const ctx = this._resolveContext(model, regData);
|
|
24
|
+
if (!ctx) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const text = model.getValue();
|
|
28
|
+
const offset = model.getOffsetAt(position);
|
|
29
|
+
const result = await this._chatSessionsService.provideChatInputCompletions(ctx.sessionResource, {
|
|
30
|
+
text,
|
|
31
|
+
offset
|
|
32
|
+
}, token);
|
|
33
|
+
if (token.isCancellationRequested || !result) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const suggestions = [];
|
|
37
|
+
for (const item of result.items) {
|
|
38
|
+
suggestions.push(this._buildItem(position, item, ctx.context));
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
suggestions
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
static computeRange(position, item) {
|
|
45
|
+
const start = item.start ?? position;
|
|
46
|
+
const end = item.end ?? position;
|
|
47
|
+
const replace = ( new Range(start.lineNumber, start.column, end.lineNumber, end.column));
|
|
48
|
+
const insert = ( new Range(start.lineNumber, start.column, position.lineNumber, position.column));
|
|
49
|
+
return {
|
|
50
|
+
insert,
|
|
51
|
+
replace
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { AgentHostInputCompletionsBase };
|
|
@@ -10,3 +10,10 @@ export interface IChatCompletionRangeResult {
|
|
|
10
10
|
}
|
|
11
11
|
export declare function computeCompletionRanges(model: ITextModel, position: Position, reg: RegExp, onlyOnWordStart?: boolean): IChatCompletionRangeResult | undefined;
|
|
12
12
|
export declare function isEmptyUpToCompletionWord(model: ITextModel, rangeResult: IChatCompletionRangeResult): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Returns `true` when the cursor sits inside a non-empty token whose first
|
|
15
|
+
* character is one of the given trigger characters (or is positioned right
|
|
16
|
+
* after such a token). Used to gate completion providers so they only run
|
|
17
|
+
* when the user is actively editing a trigger-led token.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isAtTriggerCharacterToken(model: ITextModel, position: Position, triggerCharacters: readonly string[]): boolean;
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js
CHANGED
|
@@ -58,5 +58,18 @@ function isEmptyUpToCompletionWord(model, rangeResult) {
|
|
|
58
58
|
const startToCompletionWordStart = ( new Range(1, 1, rangeResult.replace.startLineNumber, rangeResult.replace.startColumn));
|
|
59
59
|
return !!model.getValueInRange(startToCompletionWordStart).match(/^\s*$/);
|
|
60
60
|
}
|
|
61
|
+
function isAtTriggerCharacterToken(model, position, triggerCharacters) {
|
|
62
|
+
if (triggerCharacters.length === 0) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const line = model.getLineContent(position.lineNumber);
|
|
66
|
+
const beforeCursor = line.slice(0, position.column - 1);
|
|
67
|
+
const wsIdx = beforeCursor.search(/\s\S*$/);
|
|
68
|
+
const token = wsIdx >= 0 ? beforeCursor.slice(wsIdx + 1) : beforeCursor;
|
|
69
|
+
if (token.length === 0) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return triggerCharacters.includes(token[0]);
|
|
73
|
+
}
|
|
61
74
|
|
|
62
|
-
export { computeCompletionRanges, escapeForCharClass, isEmptyUpToCompletionWord };
|
|
75
|
+
export { computeCompletionRanges, escapeForCharClass, isAtTriggerCharacterToken, isEmptyUpToCompletionWord };
|
package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js
CHANGED
|
@@ -47,12 +47,10 @@ import { ChatRequestAgentPart, chatSubcommandLeader, chatAgentLeader, ChatReques
|
|
|
47
47
|
import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
|
|
48
48
|
import { ChatModeKind, ChatAgentLocation, isSupportedChatFileScheme } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
49
49
|
import { isToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
|
|
50
|
+
import { isAgentHostTarget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
|
|
50
51
|
import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
|
|
51
|
-
import { getActiveHarnessSlashCommands } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService';
|
|
52
52
|
import { ICustomizationHarnessService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service';
|
|
53
53
|
import { matchesSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
54
|
-
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
55
|
-
import { Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
56
54
|
import { ChatSubmitAction } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/actions/chatExecuteActions';
|
|
57
55
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
58
56
|
import { resizeImage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatImageUtils';
|
|
@@ -65,12 +63,15 @@ import { AgentSessionProviders, getAgentSessionProviderIcon } from '@codingame/m
|
|
|
65
63
|
var BuiltinDynamicCompletions_1, ToolCompletions_1;
|
|
66
64
|
const SlashCommandWord = /\/[\p{L}0-9_.:-]*/gu;
|
|
67
65
|
const AgentOrSlashCommandWord = /(@|\/)[\p{L}0-9_.:-]*/gu;
|
|
66
|
+
function isAgentHostBackedWidget(widget) {
|
|
67
|
+
const sessionResource = widget.viewModel?.model.sessionResource;
|
|
68
|
+
return !!sessionResource && isAgentHostTarget(getChatSessionType(sessionResource));
|
|
69
|
+
}
|
|
68
70
|
let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
69
71
|
constructor(
|
|
70
72
|
languageFeaturesService,
|
|
71
73
|
chatWidgetService,
|
|
72
74
|
chatSlashCommandService,
|
|
73
|
-
promptsService,
|
|
74
75
|
harnessService,
|
|
75
76
|
chatService,
|
|
76
77
|
chatSessionsService,
|
|
@@ -80,7 +81,6 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
|
80
81
|
this.languageFeaturesService = languageFeaturesService;
|
|
81
82
|
this.chatWidgetService = chatWidgetService;
|
|
82
83
|
this.chatSlashCommandService = chatSlashCommandService;
|
|
83
|
-
this.promptsService = promptsService;
|
|
84
84
|
this.harnessService = harnessService;
|
|
85
85
|
this._register(this.languageFeaturesService.completionProvider.register({
|
|
86
86
|
scheme: Schemas.vscodeChatInput,
|
|
@@ -93,11 +93,6 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
|
93
93
|
if (!widget || !widget.viewModel) {
|
|
94
94
|
return null;
|
|
95
95
|
}
|
|
96
|
-
let customAgentTarget = undefined;
|
|
97
|
-
if (widget.lockedAgentId) {
|
|
98
|
-
const sessionResource = widget.viewModel.model.sessionResource;
|
|
99
|
-
customAgentTarget = (sessionResource ? chatSessionsService.getCustomAgentTargetForSessionType(getChatSessionType(sessionResource)) : undefined) ?? Target.Undefined;
|
|
100
|
-
}
|
|
101
96
|
const range = computeCompletionRanges(model, position, SlashCommandWord);
|
|
102
97
|
if (!range) {
|
|
103
98
|
return null;
|
|
@@ -114,6 +109,7 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
|
114
109
|
if (!slashCommands) {
|
|
115
110
|
return null;
|
|
116
111
|
}
|
|
112
|
+
const sessionType = getChatSessionType(widget.viewModel.model.sessionResource);
|
|
117
113
|
return {
|
|
118
114
|
suggestions: ( slashCommands.filter(c => {
|
|
119
115
|
if (!c.silent && !widget.attachmentCapabilities.supportsPromptAttachments) {
|
|
@@ -122,15 +118,15 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
|
122
118
|
if (c.when && !widget.scopedContextKeyService.contextMatchesRules(c.when)) {
|
|
123
119
|
return false;
|
|
124
120
|
}
|
|
121
|
+
if (!matchesSessionType(c.sessionTypes, sessionType)) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
125
124
|
if (!widget.lockedAgentId) {
|
|
126
125
|
return true;
|
|
127
126
|
}
|
|
128
127
|
if (c.modes && c.modes.length && !c.modes.includes(ChatModeKind.Agent)) {
|
|
129
128
|
return false;
|
|
130
129
|
}
|
|
131
|
-
if (c.targets && customAgentTarget && !c.targets.includes(customAgentTarget)) {
|
|
132
|
-
return false;
|
|
133
|
-
}
|
|
134
130
|
return true;
|
|
135
131
|
}).map((c, i) => {
|
|
136
132
|
const withSlash = `/${c.command}`;
|
|
@@ -182,8 +178,9 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
|
182
178
|
if (widget.lockedAgentId) {
|
|
183
179
|
return null;
|
|
184
180
|
}
|
|
181
|
+
const currentSessionType = getChatSessionType(widget.viewModel.model.sessionResource);
|
|
185
182
|
return {
|
|
186
|
-
suggestions: ( slashCommands.filter(c => !c.when || widget.scopedContextKeyService.contextMatchesRules(c.when)).map((c, i) => {
|
|
183
|
+
suggestions: ( slashCommands.filter(c => !c.when || widget.scopedContextKeyService.contextMatchesRules(c.when)).filter(c => matchesSessionType(c.sessionTypes, currentSessionType)).map((c, i) => {
|
|
187
184
|
const withSlash = `${chatSubcommandLeader}${c.command}`;
|
|
188
185
|
return {
|
|
189
186
|
label: {
|
|
@@ -232,14 +229,14 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
|
232
229
|
if (usedAgent) {
|
|
233
230
|
return;
|
|
234
231
|
}
|
|
235
|
-
const
|
|
232
|
+
const currentSessionType = getChatSessionType(widget.viewModel.model.sessionResource);
|
|
233
|
+
const promptCommands = await this.harnessService.getSlashCommands(currentSessionType, token);
|
|
236
234
|
if (promptCommands.length === 0) {
|
|
237
235
|
return null;
|
|
238
236
|
}
|
|
239
237
|
if (widget.lockedAgentId && !widget.attachmentCapabilities.supportsPromptAttachments) {
|
|
240
238
|
return null;
|
|
241
239
|
}
|
|
242
|
-
const currentSessionType = widget.viewModel.model.sessionResource ? getChatSessionType(widget.viewModel.model.sessionResource) : undefined;
|
|
243
240
|
const userInvocableCommands = promptCommands.filter(c => c.userInvocable).filter(c => matchesSessionType(c.sessionTypes, currentSessionType));
|
|
244
241
|
if (userInvocableCommands.length === 0) {
|
|
245
242
|
return null;
|
|
@@ -307,7 +304,7 @@ let SlashCommandCompletions = class SlashCommandCompletions extends Disposable {
|
|
|
307
304
|
}));
|
|
308
305
|
}
|
|
309
306
|
};
|
|
310
|
-
SlashCommandCompletions = ( __decorate([( __param(0, ILanguageFeaturesService)), ( __param(1, IChatWidgetService)), ( __param(2, IChatSlashCommandService)), ( __param(3,
|
|
307
|
+
SlashCommandCompletions = ( __decorate([( __param(0, ILanguageFeaturesService)), ( __param(1, IChatWidgetService)), ( __param(2, IChatSlashCommandService)), ( __param(3, ICustomizationHarnessService)), ( __param(4, IChatService)), ( __param(5, IChatSessionsService)), ( __param(6, IMcpService))], SlashCommandCompletions));
|
|
311
308
|
( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(SlashCommandCompletions, LifecyclePhase.Eventually);
|
|
312
309
|
let AgentCompletions = class AgentCompletions extends Disposable {
|
|
313
310
|
constructor(
|
|
@@ -331,6 +328,9 @@ let AgentCompletions = class AgentCompletions extends Disposable {
|
|
|
331
328
|
if (!widget || !widget.viewModel) {
|
|
332
329
|
return;
|
|
333
330
|
}
|
|
331
|
+
if (isAgentHostBackedWidget(widget)) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
334
|
const range = computeCompletionRanges(model, position, SlashCommandWord);
|
|
335
335
|
if (!range) {
|
|
336
336
|
return;
|
|
@@ -369,6 +369,9 @@ let AgentCompletions = class AgentCompletions extends Disposable {
|
|
|
369
369
|
if (!widget || !viewModel) {
|
|
370
370
|
return;
|
|
371
371
|
}
|
|
372
|
+
if (isAgentHostBackedWidget(widget)) {
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
372
375
|
if (widget.lockedAgentId) {
|
|
373
376
|
return null;
|
|
374
377
|
}
|
|
@@ -470,6 +473,9 @@ let AgentCompletions = class AgentCompletions extends Disposable {
|
|
|
470
473
|
if (!widget || !viewModel) {
|
|
471
474
|
return;
|
|
472
475
|
}
|
|
476
|
+
if (isAgentHostBackedWidget(widget)) {
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
473
479
|
if (widget.lockedAgentId) {
|
|
474
480
|
return null;
|
|
475
481
|
}
|
|
@@ -542,6 +548,9 @@ let AgentCompletions = class AgentCompletions extends Disposable {
|
|
|
542
548
|
if (widget?.location !== ChatAgentLocation.Chat || widget.input.currentModeKind !== ChatModeKind.Ask) {
|
|
543
549
|
return;
|
|
544
550
|
}
|
|
551
|
+
if (isAgentHostBackedWidget(widget)) {
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
545
554
|
if (widget.lockedAgentId) {
|
|
546
555
|
return null;
|
|
547
556
|
}
|
|
@@ -552,7 +561,7 @@ let AgentCompletions = class AgentCompletions extends Disposable {
|
|
|
552
561
|
if (!isEmptyUpToCompletionWord(model, range)) {
|
|
553
562
|
return;
|
|
554
563
|
}
|
|
555
|
-
const label = ( localize(
|
|
564
|
+
const label = ( localize(7507, "Install Chat Extensions..."));
|
|
556
565
|
const item = {
|
|
557
566
|
label,
|
|
558
567
|
insertText: "",
|
|
@@ -700,7 +709,7 @@ class StartParameterizedPromptAction extends Action2 {
|
|
|
700
709
|
messages = await prompt.resolve(args, cts.token);
|
|
701
710
|
} catch (e) {
|
|
702
711
|
if (!cts.token.isCancellationRequested) {
|
|
703
|
-
notificationService.error(( localize(
|
|
712
|
+
notificationService.error(( localize(7508, "Error resolving prompt: {0}", String(e))));
|
|
704
713
|
}
|
|
705
714
|
replaceTextWith("");
|
|
706
715
|
return;
|
|
@@ -728,15 +737,15 @@ class StartParameterizedPromptAction extends Action2 {
|
|
|
728
737
|
id: generateUuid(),
|
|
729
738
|
kind: "generic",
|
|
730
739
|
value: contents,
|
|
731
|
-
name: ( localize(
|
|
740
|
+
name: ( localize(7509, "Prompt Resource"))
|
|
732
741
|
});
|
|
733
742
|
}
|
|
734
743
|
} else if (mimeType && getAttachableImageExtension(mimeType)) {
|
|
735
744
|
const resized = await resizeImage(contents).catch(() => decodeBase64(contents).buffer);
|
|
736
745
|
chatWidget.attachmentModel.addContext({
|
|
737
746
|
id: generateUuid(),
|
|
738
|
-
name: ( localize(
|
|
739
|
-
fullName: ( localize(
|
|
747
|
+
name: ( localize(7510, "Prompt Image")),
|
|
748
|
+
fullName: ( localize(7510, "Prompt Image")),
|
|
740
749
|
value: resized,
|
|
741
750
|
kind: "image",
|
|
742
751
|
references: validURI && [{
|
|
@@ -1033,7 +1042,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1033
1042
|
result.suggestions.push({
|
|
1034
1043
|
label: {
|
|
1035
1044
|
label: sessionPrefix,
|
|
1036
|
-
description: ( localize(
|
|
1045
|
+
description: ( localize(7511, "Attach a chat session"))
|
|
1037
1046
|
},
|
|
1038
1047
|
filterText: sessionPrefix,
|
|
1039
1048
|
insertText: `${sessionPrefix}:`,
|
|
@@ -1094,6 +1103,9 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1094
1103
|
if (!widget) {
|
|
1095
1104
|
return;
|
|
1096
1105
|
}
|
|
1106
|
+
if (isAgentHostBackedWidget(widget)) {
|
|
1107
|
+
return;
|
|
1108
|
+
}
|
|
1097
1109
|
const range = computeCompletionRanges(model, position, wordPattern, true);
|
|
1098
1110
|
if (range) {
|
|
1099
1111
|
return provider({
|
|
@@ -1116,7 +1128,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1116
1128
|
const uriLabel = this.labelService.getUriLabel(resource, {
|
|
1117
1129
|
relative: true
|
|
1118
1130
|
});
|
|
1119
|
-
const labelDescription = description ? ( localize(
|
|
1131
|
+
const labelDescription = description ? ( localize(7512, "{0} ({1})", uriLabel, description)) : uriLabel;
|
|
1120
1132
|
const sortText = boostPriority ? " " : "!";
|
|
1121
1133
|
return {
|
|
1122
1134
|
label: {
|
|
@@ -1168,7 +1180,7 @@ let BuiltinDynamicCompletions = class BuiltinDynamicCompletions extends Disposab
|
|
|
1168
1180
|
}
|
|
1169
1181
|
}
|
|
1170
1182
|
seen.add(resource);
|
|
1171
|
-
const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(
|
|
1183
|
+
const newLen = result.suggestions.push(makeCompletionItem(resource, FileKind.FILE, i === 0 ? ( localize(7513, "Active file")) : undefined, i === 0));
|
|
1172
1184
|
if (newLen - len >= 5) {
|
|
1173
1185
|
break;
|
|
1174
1186
|
}
|
|
@@ -1320,6 +1332,9 @@ let ToolCompletions = class ToolCompletions extends Disposable {
|
|
|
1320
1332
|
if (!widget) {
|
|
1321
1333
|
return null;
|
|
1322
1334
|
}
|
|
1335
|
+
if (isAgentHostBackedWidget(widget)) {
|
|
1336
|
+
return null;
|
|
1337
|
+
}
|
|
1323
1338
|
if (widget.lockedAgentId) {
|
|
1324
1339
|
const agent = this.chatAgentService.getAgent(widget.lockedAgentId);
|
|
1325
1340
|
if (agent && !agent.capabilities?.supportsToolAttachments) {
|
|
@@ -1354,7 +1369,7 @@ let ToolCompletions = class ToolCompletions extends Disposable {
|
|
|
1354
1369
|
name = item.referenceName;
|
|
1355
1370
|
} else {
|
|
1356
1371
|
const source = item.source;
|
|
1357
|
-
detail = ( localize(
|
|
1372
|
+
detail = ( localize(7514, "{0}: {1}", source.label, item.displayName));
|
|
1358
1373
|
name = item.toolReferenceName ?? item.displayName;
|
|
1359
1374
|
documentation = item.userDescription ?? item.modelDescription;
|
|
1360
1375
|
}
|