@codingame/monaco-vscode-chat-service-override 28.4.0 → 29.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +18 -12
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +76 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { parse } from '@codingame/monaco-vscode-api/vscode/vs/base/common/json';
|
|
4
|
+
import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
5
|
+
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
7
|
+
import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
8
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
9
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
10
|
+
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
11
|
+
import { CLAUDE_CONFIG_FOLDER } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
12
|
+
import { parseMarketplaceReference } from './marketplaceReference.js';
|
|
13
|
+
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
14
|
+
import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
|
|
15
|
+
import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
16
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
17
|
+
|
|
18
|
+
const SETTINGS_FILENAME = "settings.json";
|
|
19
|
+
const SETTINGS_LOCAL_FILENAME = "settings.local.json";
|
|
20
|
+
const COPILOT_CONFIG_FOLDER = ".github/copilot";
|
|
21
|
+
function marketplaceEntryToReference(entry) {
|
|
22
|
+
let sourceType;
|
|
23
|
+
let repo;
|
|
24
|
+
let url;
|
|
25
|
+
if (typeof entry.source === "object" && entry.source !== null) {
|
|
26
|
+
const nested = entry.source;
|
|
27
|
+
sourceType = nested.source;
|
|
28
|
+
repo = nested.repo;
|
|
29
|
+
url = nested.url;
|
|
30
|
+
} else {
|
|
31
|
+
sourceType = entry.source;
|
|
32
|
+
repo = entry.repo;
|
|
33
|
+
url = entry.url;
|
|
34
|
+
}
|
|
35
|
+
if (sourceType === "github" && typeof repo === "string") {
|
|
36
|
+
return parseMarketplaceReference(repo);
|
|
37
|
+
}
|
|
38
|
+
if (sourceType === "git" && typeof url === "string") {
|
|
39
|
+
return parseMarketplaceReference(url);
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
function parseEnabledPlugins(json) {
|
|
44
|
+
const result = ( new Map());
|
|
45
|
+
if (!json || typeof json !== "object" || Array.isArray(json)) {
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
const obj = json;
|
|
49
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
50
|
+
if (typeof value === "boolean") {
|
|
51
|
+
result.set(key, value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
function parseExtraMarketplaces(json, logPrefix, logService) {
|
|
57
|
+
const entries = [];
|
|
58
|
+
if (!json || typeof json !== "object" || Array.isArray(json)) {
|
|
59
|
+
return entries;
|
|
60
|
+
}
|
|
61
|
+
const obj = json;
|
|
62
|
+
for (const [name, value] of Object.entries(obj)) {
|
|
63
|
+
if (!value || typeof value !== "object") {
|
|
64
|
+
logService.debug(`${logPrefix} Ignoring non-object extraKnownMarketplaces entry: ${name}`);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
const reference = marketplaceEntryToReference(value);
|
|
68
|
+
if (!reference) {
|
|
69
|
+
logService.debug(`${logPrefix} Could not parse marketplace reference for: ${name}`);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
entries.push({
|
|
73
|
+
name,
|
|
74
|
+
reference: {
|
|
75
|
+
...reference,
|
|
76
|
+
displayLabel: name
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return entries;
|
|
81
|
+
}
|
|
82
|
+
const EMPTY_DATA = {
|
|
83
|
+
marketplaces: [],
|
|
84
|
+
enabledPlugins: ( new Map())
|
|
85
|
+
};
|
|
86
|
+
class WorkspaceSettingsReader extends Disposable {
|
|
87
|
+
constructor(
|
|
88
|
+
configFolder,
|
|
89
|
+
logPrefix,
|
|
90
|
+
fileService,
|
|
91
|
+
workspaceContextService,
|
|
92
|
+
_logService
|
|
93
|
+
) {
|
|
94
|
+
super();
|
|
95
|
+
this._logService = _logService;
|
|
96
|
+
this._data = observableValue("data", EMPTY_DATA);
|
|
97
|
+
this.data = this._data;
|
|
98
|
+
const settingsDirs = observableFromEvent(
|
|
99
|
+
this,
|
|
100
|
+
workspaceContextService.onDidChangeWorkspaceFolders,
|
|
101
|
+
() => ( workspaceContextService.getWorkspace().folders.map(f => joinPath(f.uri, configFolder)))
|
|
102
|
+
);
|
|
103
|
+
const watcherStore = this._register(( new DisposableStore()));
|
|
104
|
+
this._register(autorun(reader => {
|
|
105
|
+
const dirs = settingsDirs.read(reader);
|
|
106
|
+
watcherStore.clear();
|
|
107
|
+
const scheduler = ( new RunOnceScheduler(() => this._readSettings(dirs, logPrefix, fileService), 100));
|
|
108
|
+
watcherStore.add(scheduler);
|
|
109
|
+
for (const dir of dirs) {
|
|
110
|
+
const watcher = fileService.createWatcher(dir, {
|
|
111
|
+
recursive: false,
|
|
112
|
+
excludes: []
|
|
113
|
+
});
|
|
114
|
+
watcherStore.add(watcher);
|
|
115
|
+
watcherStore.add(watcher.onDidChange(e => {
|
|
116
|
+
if (e.affects(joinPath(dir, SETTINGS_FILENAME)) || e.affects(joinPath(dir, SETTINGS_LOCAL_FILENAME))) {
|
|
117
|
+
scheduler.schedule();
|
|
118
|
+
}
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
this._readSettings(dirs, logPrefix, fileService);
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
async _readSettings(dirs, logPrefix, fileService) {
|
|
125
|
+
const allMarketplaces = [];
|
|
126
|
+
const mergedEnabled = ( new Map());
|
|
127
|
+
for (const dir of dirs) {
|
|
128
|
+
const sharedUri = joinPath(dir, SETTINGS_FILENAME);
|
|
129
|
+
const localUri = joinPath(dir, SETTINGS_LOCAL_FILENAME);
|
|
130
|
+
for (const uri of [sharedUri, localUri]) {
|
|
131
|
+
try {
|
|
132
|
+
const content = await fileService.readFile(uri);
|
|
133
|
+
const json = parse(( content.value.toString()));
|
|
134
|
+
if (!json || typeof json !== "object") {
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
const root = json;
|
|
138
|
+
const marketplaces = parseExtraMarketplaces(root.extraKnownMarketplaces, logPrefix, this._logService);
|
|
139
|
+
for (const entry of marketplaces) {
|
|
140
|
+
if (!( allMarketplaces.some(e => e.reference.canonicalId === entry.reference.canonicalId))) {
|
|
141
|
+
allMarketplaces.push(entry);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const enabled = parseEnabledPlugins(root.enabledPlugins);
|
|
145
|
+
for (const [key, value] of enabled) {
|
|
146
|
+
mergedEnabled.set(key, value);
|
|
147
|
+
}
|
|
148
|
+
} catch {
|
|
149
|
+
this._logService.debug(`${logPrefix} Could not read ${( uri.toString())}`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
this._data.set({
|
|
154
|
+
marketplaces: allMarketplaces,
|
|
155
|
+
enabledPlugins: mergedEnabled
|
|
156
|
+
}, undefined);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
let WorkspacePluginSettingsService = class WorkspacePluginSettingsService extends Disposable {
|
|
160
|
+
constructor(fileService, workspaceContextService, logService) {
|
|
161
|
+
super();
|
|
162
|
+
const claudeReader = this._register(( new WorkspaceSettingsReader(
|
|
163
|
+
CLAUDE_CONFIG_FOLDER,
|
|
164
|
+
"[ClaudePluginSettings]",
|
|
165
|
+
fileService,
|
|
166
|
+
workspaceContextService,
|
|
167
|
+
logService
|
|
168
|
+
)));
|
|
169
|
+
const copilotReader = this._register(( new WorkspaceSettingsReader(
|
|
170
|
+
COPILOT_CONFIG_FOLDER,
|
|
171
|
+
"[CopilotPluginSettings]",
|
|
172
|
+
fileService,
|
|
173
|
+
workspaceContextService,
|
|
174
|
+
logService
|
|
175
|
+
)));
|
|
176
|
+
this.extraMarketplaces = derived(reader => {
|
|
177
|
+
const claude = claudeReader.data.read(reader).marketplaces;
|
|
178
|
+
const copilot = copilotReader.data.read(reader).marketplaces;
|
|
179
|
+
const byCanonicalId = ( new Map());
|
|
180
|
+
for (const entry of [...claude, ...copilot]) {
|
|
181
|
+
if (!( byCanonicalId.has(entry.reference.canonicalId))) {
|
|
182
|
+
byCanonicalId.set(entry.reference.canonicalId, entry);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return [...( byCanonicalId.values())];
|
|
186
|
+
});
|
|
187
|
+
this.enabledPlugins = derived(reader => {
|
|
188
|
+
const claude = claudeReader.data.read(reader).enabledPlugins;
|
|
189
|
+
const copilot = copilotReader.data.read(reader).enabledPlugins;
|
|
190
|
+
const merged = ( new Map());
|
|
191
|
+
for (const [key, value] of claude) {
|
|
192
|
+
merged.set(key, value);
|
|
193
|
+
}
|
|
194
|
+
for (const [key, value] of copilot) {
|
|
195
|
+
if (!( merged.has(key))) {
|
|
196
|
+
merged.set(key, value);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return merged;
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
WorkspacePluginSettingsService = ( __decorate([( __param(0, IFileService)), ( __param(1, IWorkspaceContextService)), ( __param(2, ILogService))], WorkspacePluginSettingsService));
|
|
204
|
+
|
|
205
|
+
export { WorkspacePluginSettingsService };
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js
CHANGED
|
@@ -25,7 +25,7 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
25
25
|
return ExtensionsRegistry.registerExtensionPoint({
|
|
26
26
|
extensionPoint: point,
|
|
27
27
|
jsonSchema: {
|
|
28
|
-
description: ( localize(
|
|
28
|
+
description: ( localize(7248, "Contributes {0} for chat prompts.", point)),
|
|
29
29
|
type: "array",
|
|
30
30
|
items: {
|
|
31
31
|
additionalProperties: false,
|
|
@@ -39,23 +39,23 @@ function registerChatFilesExtensionPoint(point) {
|
|
|
39
39
|
properties: {
|
|
40
40
|
path: {
|
|
41
41
|
description: point === ChatContributionPoint.chatSkills ? ( localize(
|
|
42
|
-
|
|
42
|
+
7249,
|
|
43
43
|
"Path to the SKILL.md file relative to the extension root. The folder name must match the \"name\" property in SKILL.md."
|
|
44
|
-
)) : ( localize(
|
|
44
|
+
)) : ( localize(7250, "Path to the file relative to the extension root.")),
|
|
45
45
|
type: "string"
|
|
46
46
|
},
|
|
47
47
|
name: {
|
|
48
|
-
description: ( localize(
|
|
49
|
-
deprecationMessage: ( localize(
|
|
48
|
+
description: ( localize(7251, "(Optional) Name for this entry.")),
|
|
49
|
+
deprecationMessage: ( localize(7252, "Specify \"name\" in the prompt file itself instead.")),
|
|
50
50
|
type: "string"
|
|
51
51
|
},
|
|
52
52
|
description: {
|
|
53
|
-
description: ( localize(
|
|
54
|
-
deprecationMessage: ( localize(
|
|
53
|
+
description: ( localize(7253, "(Optional) Description of the entry.")),
|
|
54
|
+
deprecationMessage: ( localize(7254, "Specify \"description\" in the prompt file itself instead.")),
|
|
55
55
|
type: "string"
|
|
56
56
|
},
|
|
57
57
|
when: {
|
|
58
|
-
description: ( localize(
|
|
58
|
+
description: ( localize(7255, "(Optional) A condition which must be true to enable this entry.")),
|
|
59
59
|
type: "string"
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -106,7 +106,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
106
106
|
for (const raw of ext.value) {
|
|
107
107
|
if (!raw.path) {
|
|
108
108
|
ext.collector.error(( localize(
|
|
109
|
-
|
|
109
|
+
7256,
|
|
110
110
|
"Extension '{0}' cannot register {1} entry without path.",
|
|
111
111
|
ext.description.identifier.value,
|
|
112
112
|
contributionPoint
|
|
@@ -116,7 +116,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
116
116
|
const fileUri = joinPath(ext.description.extensionLocation, raw.path);
|
|
117
117
|
if (!isEqualOrParent(fileUri, ext.description.extensionLocation)) {
|
|
118
118
|
ext.collector.error(( localize(
|
|
119
|
-
|
|
119
|
+
7257,
|
|
120
120
|
"Extension '{0}' {1} entry '{2}' resolves outside the extension.",
|
|
121
121
|
ext.description.identifier.value,
|
|
122
122
|
contributionPoint,
|
|
@@ -126,7 +126,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
126
126
|
}
|
|
127
127
|
if (raw.when && !ContextKeyExpr.deserialize(raw.when)) {
|
|
128
128
|
ext.collector.error(( localize(
|
|
129
|
-
|
|
129
|
+
7258,
|
|
130
130
|
"Extension '{0}' {1} entry '{2}' has an invalid when clause: '{3}'.",
|
|
131
131
|
ext.description.identifier.value,
|
|
132
132
|
contributionPoint,
|
|
@@ -141,7 +141,7 @@ let ChatPromptFilesExtensionPointHandler = class ChatPromptFilesExtensionPointHa
|
|
|
141
141
|
} catch (e) {
|
|
142
142
|
const msg = e instanceof Error ? e.message : String(e);
|
|
143
143
|
ext.collector.error(( localize(
|
|
144
|
-
|
|
144
|
+
7259,
|
|
145
145
|
"Extension '{0}' {1}. Failed to register {2}: {3}",
|
|
146
146
|
ext.description.identifier.value,
|
|
147
147
|
contributionPoint,
|
|
@@ -201,7 +201,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
201
201
|
dispose: () => {}
|
|
202
202
|
};
|
|
203
203
|
}
|
|
204
|
-
const headers = [( localize(
|
|
204
|
+
const headers = [( localize(7260, "Name")), ( localize(7261, "Description")), ( localize(7262, "Path"))];
|
|
205
205
|
const rows = ( contributions.map(d => {
|
|
206
206
|
return [d.name ?? "-", d.description ?? "-", d.path];
|
|
207
207
|
}));
|
|
@@ -216,7 +216,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
216
216
|
}
|
|
217
217
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
218
218
|
id: ChatContributionPoint.chatPromptFiles,
|
|
219
|
-
label: ( localize(
|
|
219
|
+
label: ( localize(7263, "Chat Prompt Files")),
|
|
220
220
|
access: {
|
|
221
221
|
canToggle: false
|
|
222
222
|
},
|
|
@@ -224,7 +224,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
224
224
|
});
|
|
225
225
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
226
226
|
id: ChatContributionPoint.chatInstructions,
|
|
227
|
-
label: ( localize(
|
|
227
|
+
label: ( localize(7264, "Chat Instructions")),
|
|
228
228
|
access: {
|
|
229
229
|
canToggle: false
|
|
230
230
|
},
|
|
@@ -232,7 +232,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
232
232
|
});
|
|
233
233
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
234
234
|
id: ChatContributionPoint.chatAgents,
|
|
235
|
-
label: ( localize(
|
|
235
|
+
label: ( localize(7265, "Chat Agents")),
|
|
236
236
|
access: {
|
|
237
237
|
canToggle: false
|
|
238
238
|
},
|
|
@@ -240,7 +240,7 @@ class ChatPromptFilesDataRenderer extends Disposable {
|
|
|
240
240
|
});
|
|
241
241
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
242
242
|
id: ChatContributionPoint.chatSkills,
|
|
243
|
-
label: ( localize(
|
|
243
|
+
label: ( localize(7266, "Chat Skills")),
|
|
244
244
|
access: {
|
|
245
245
|
canToggle: false
|
|
246
246
|
},
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Disposable } 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 { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
4
|
+
import { IAgentSkill, IInternalPromptPath } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
|
|
5
|
+
import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
6
|
+
import { InternalSkill } from "./internalSkill.js";
|
|
7
|
+
export { InternalSkill } from "./internalSkill.js";
|
|
8
|
+
/**
|
|
9
|
+
* Manages built-in internal customizations (skills, instructions, agents, etc.)
|
|
10
|
+
* backed by a readonly virtual filesystem.
|
|
11
|
+
*
|
|
12
|
+
* To add a new internal skill, create an {@link InternalSkill} instance and
|
|
13
|
+
* register it in the constructor.
|
|
14
|
+
*/
|
|
15
|
+
export declare class ChatInternalCustomizations extends Disposable {
|
|
16
|
+
private readonly skills;
|
|
17
|
+
private readonly skillsByUri;
|
|
18
|
+
constructor(fileService: IFileService);
|
|
19
|
+
/**
|
|
20
|
+
* Returns the {@link IAgentSkill} metadata for all internal skills,
|
|
21
|
+
* for injection into the skills list.
|
|
22
|
+
*/
|
|
23
|
+
getSkills(): readonly IAgentSkill[];
|
|
24
|
+
/**
|
|
25
|
+
* Looks up the {@link InternalSkill} instance for a given URI,
|
|
26
|
+
* e.g. to check its {@link InternalSkill.when} clause.
|
|
27
|
+
*/
|
|
28
|
+
getInternalSkillByUri(uri: URI): InternalSkill | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Returns internal prompt file paths for a given customization type.
|
|
31
|
+
*/
|
|
32
|
+
getPromptPaths(type: PromptsType): readonly IInternalPromptPath[];
|
|
33
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
|
|
2
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
3
|
+
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
4
|
+
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
5
|
+
import { registerChatInternalFileSystem } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem';
|
|
6
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/charCode';
|
|
7
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
|
|
8
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
9
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
10
|
+
|
|
11
|
+
class ChatInternalCustomizations extends Disposable {
|
|
12
|
+
constructor(fileService) {
|
|
13
|
+
super();
|
|
14
|
+
this.skillsByUri = ( new Map());
|
|
15
|
+
const {
|
|
16
|
+
provider,
|
|
17
|
+
disposable: fsDisposable
|
|
18
|
+
} = registerChatInternalFileSystem(fileService);
|
|
19
|
+
this._register(fsDisposable);
|
|
20
|
+
this.skills = [];
|
|
21
|
+
for (const skill of this.skills) {
|
|
22
|
+
provider.registerFile(skill.uri, skill.content);
|
|
23
|
+
this.skillsByUri.set(( skill.uri.toString()), skill);
|
|
24
|
+
this._register(skill);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
getSkills() {
|
|
28
|
+
return ( this.skills.map(s => s.skill));
|
|
29
|
+
}
|
|
30
|
+
getInternalSkillByUri(uri) {
|
|
31
|
+
return this.skillsByUri.get(( uri.toString()));
|
|
32
|
+
}
|
|
33
|
+
getPromptPaths(type) {
|
|
34
|
+
if (type === PromptsType.skill) {
|
|
35
|
+
return ( this.skills.map(s => ({
|
|
36
|
+
uri: s.uri,
|
|
37
|
+
storage: PromptsStorage.internal,
|
|
38
|
+
type,
|
|
39
|
+
name: s.name,
|
|
40
|
+
description: s.description
|
|
41
|
+
})));
|
|
42
|
+
}
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { ChatInternalCustomizations };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Disposable } 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 { ContextKeyExpression } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
|
|
4
|
+
import { IAgentSkill } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
|
|
5
|
+
/**
|
|
6
|
+
* A built-in skill backed by the internal readonly virtual filesystem.
|
|
7
|
+
*
|
|
8
|
+
* To add a new internal skill, create an instance documenting the skill
|
|
9
|
+
* name, description and SKILL.md content, then add it to the
|
|
10
|
+
* {@link internalSkills} array in {@link internalCustomizations.ts}.
|
|
11
|
+
*/
|
|
12
|
+
export declare class InternalSkill extends Disposable {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly description: string;
|
|
15
|
+
readonly content: string;
|
|
16
|
+
/** Virtual filesystem URI for the SKILL.md file. */
|
|
17
|
+
readonly uri: URI;
|
|
18
|
+
/** The skill metadata exposed to the skills list and system prompt. */
|
|
19
|
+
readonly skill: IAgentSkill;
|
|
20
|
+
/**
|
|
21
|
+
* Optional context key expression. When set, the skill is only included
|
|
22
|
+
* in the system prompt when this expression evaluates to true.
|
|
23
|
+
*/
|
|
24
|
+
readonly when: ContextKeyExpression | undefined;
|
|
25
|
+
constructor(name: string, description: string, content: string, options?: {
|
|
26
|
+
disableModelInvocation?: boolean;
|
|
27
|
+
userInvocable?: boolean;
|
|
28
|
+
when?: ContextKeyExpression;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
@@ -76,7 +76,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
76
76
|
modeAttr.range.startLineNumber,
|
|
77
77
|
modeAttr.range.startColumn + modeAttr.key.length
|
|
78
78
|
));
|
|
79
|
-
result.push(this.createCodeAction(model, keyRange, ( localize(
|
|
79
|
+
result.push(this.createCodeAction(model, keyRange, ( localize(7310, "Rename to 'agent'")), [asWorkspaceTextEdit(model, {
|
|
80
80
|
range: keyRange,
|
|
81
81
|
text: "agent"
|
|
82
82
|
})]));
|
|
@@ -93,7 +93,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
93
93
|
copy: false
|
|
94
94
|
}
|
|
95
95
|
};
|
|
96
|
-
result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(
|
|
96
|
+
result.push(this.createCodeAction(model, ( new Range(1, 1, 1, 4)), ( localize(7311, "Migrate to custom agent file")), [edit]));
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -140,7 +140,7 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
140
140
|
};
|
|
141
141
|
edits.push(edit);
|
|
142
142
|
if (item.range.containsRange(range)) {
|
|
143
|
-
result.push(this.createCodeAction(model, item.range, ( localize(
|
|
143
|
+
result.push(this.createCodeAction(model, item.range, ( localize(7312, "Update to '{0}'", newName)), [asWorkspaceTextEdit(model, edit)]));
|
|
144
144
|
}
|
|
145
145
|
} else {
|
|
146
146
|
const newNamesArray = Array.from(newNames).sort((a, b) => a.localeCompare(b));
|
|
@@ -159,13 +159,13 @@ let PromptCodeActionProvider = class PromptCodeActionProvider {
|
|
|
159
159
|
};
|
|
160
160
|
edits.push(edit);
|
|
161
161
|
if (item.range.containsRange(range)) {
|
|
162
|
-
result.push(this.createCodeAction(model, item.range, ( localize(
|
|
162
|
+
result.push(this.createCodeAction(model, item.range, ( localize(7313, "Expand to {0} tools", newNames.size)), [asWorkspaceTextEdit(model, edit)]));
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
if (edits.length && result.length === 0 || edits.length > 1) {
|
|
168
|
-
result.push(this.createCodeAction(model, value.range, ( localize(
|
|
168
|
+
result.push(this.createCodeAction(model, value.range, ( localize(7314, "Update all tool names")), ( edits.map(edit => asWorkspaceTextEdit(model, edit)))));
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
};
|
|
@@ -48,7 +48,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
48
48
|
if (/^\s*$/.test(model.getValue())) {
|
|
49
49
|
return {
|
|
50
50
|
suggestions: [{
|
|
51
|
-
label: ( localize(
|
|
51
|
+
label: ( localize(7393, "Add Prompt Header")),
|
|
52
52
|
kind: CompletionItemKind.Snippet,
|
|
53
53
|
insertText: [`---`, `description: $1`, `---`, `$0`].join("\n"),
|
|
54
54
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|
|
@@ -241,7 +241,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
241
241
|
" send: true"
|
|
242
242
|
].join("\n");
|
|
243
243
|
const item = {
|
|
244
|
-
label: ( localize(
|
|
244
|
+
label: ( localize(7394, "Handoff Example")),
|
|
245
245
|
kind: CompletionItemKind.Value,
|
|
246
246
|
insertText: whilespaceAfterColon === 0 ? ` ${value}` : value,
|
|
247
247
|
range: ( new Range(
|
|
@@ -256,7 +256,7 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
256
256
|
if (attribute.key === PromptHeaderAttributes.hooks && promptType === PromptsType.agent) {
|
|
257
257
|
const hookSnippet = ["", " ${1|" + ( Object.keys(HOOKS_BY_TARGET[target] ?? HOOKS_BY_TARGET[Target.Undefined])).join(",") + "|}:", " - type: command", " command: \"$2\""].join("\n");
|
|
258
258
|
const item = {
|
|
259
|
-
label: ( localize(
|
|
259
|
+
label: ( localize(7395, "New Hook")),
|
|
260
260
|
kind: CompletionItemKind.Snippet,
|
|
261
261
|
insertText: whilespaceAfterColon === 0 ? ` ${hookSnippet}` : hookSnippet,
|
|
262
262
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|
|
@@ -283,8 +283,8 @@ let PromptHeaderAutocompletion = class PromptHeaderAutocompletion {
|
|
|
283
283
|
const commandSnippet = ["", " - type: command", " command: \"$1\""].join("\n");
|
|
284
284
|
return {
|
|
285
285
|
suggestions: [{
|
|
286
|
-
label: ( localize(
|
|
287
|
-
documentation: ( localize(
|
|
286
|
+
label: ( localize(7396, "New Command")),
|
|
287
|
+
documentation: ( localize(7397, "Add a new command entry to this hook.")),
|
|
288
288
|
kind: CompletionItemKind.Snippet,
|
|
289
289
|
insertText: whilespaceAfterColon === 0 ? ` ${commandSnippet}` : commandSnippet,
|
|
290
290
|
insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,
|
package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js
CHANGED
|
@@ -84,7 +84,7 @@ let PromptHoverProvider = class PromptHoverProvider {
|
|
|
84
84
|
return this.getHooksHover(attribute, position, description, target);
|
|
85
85
|
case PromptHeaderAttributes.infer:
|
|
86
86
|
return this.createHover(description + "\n\n" + ( localize(
|
|
87
|
-
|
|
87
|
+
7398,
|
|
88
88
|
"Deprecated: Use `user-invocable` and `disable-model-invocation` instead."
|
|
89
89
|
)), attribute.range);
|
|
90
90
|
default:
|
|
@@ -132,7 +132,7 @@ let PromptHoverProvider = class PromptHoverProvider {
|
|
|
132
132
|
}
|
|
133
133
|
getToolsetHover(toolSet, range) {
|
|
134
134
|
const lines = [];
|
|
135
|
-
lines.push(( localize(
|
|
135
|
+
lines.push(( localize(7399, "ToolSet: {0}\n\n", toolSet.referenceName)));
|
|
136
136
|
if (toolSet.description) {
|
|
137
137
|
lines.push(toolSet.description);
|
|
138
138
|
}
|
|
@@ -143,7 +143,7 @@ let PromptHoverProvider = class PromptHoverProvider {
|
|
|
143
143
|
}
|
|
144
144
|
getModelHover(node, position, baseMessage, target) {
|
|
145
145
|
if (target === Target.GitHubCopilot) {
|
|
146
|
-
return this.createHover(baseMessage + "\n\n" + ( localize(
|
|
146
|
+
return this.createHover(baseMessage + "\n\n" + ( localize(7400, "Note: This attribute is not used when target is github-copilot.")), node.range);
|
|
147
147
|
}
|
|
148
148
|
const modelHoverContent = modelName => {
|
|
149
149
|
const lines = [];
|
|
@@ -154,7 +154,7 @@ let PromptHoverProvider = class PromptHoverProvider {
|
|
|
154
154
|
return this.createHover(lines.join("\n"), node.range);
|
|
155
155
|
}
|
|
156
156
|
if (claudeModel.modelEquivalent) {
|
|
157
|
-
lines.push(( localize(
|
|
157
|
+
lines.push(( localize(7401, "Claude model `{0}` maps to the following model:\n", modelName)));
|
|
158
158
|
modelName = claudeModel.modelEquivalent;
|
|
159
159
|
} else {
|
|
160
160
|
lines.push(claudeModel.description);
|
|
@@ -164,9 +164,9 @@ let PromptHoverProvider = class PromptHoverProvider {
|
|
|
164
164
|
const result = this.languageModelsService.lookupLanguageModelByQualifiedName(modelName);
|
|
165
165
|
if (result) {
|
|
166
166
|
const meta = result.metadata;
|
|
167
|
-
lines.push(( localize(
|
|
168
|
-
lines.push(( localize(
|
|
169
|
-
lines.push(( localize(
|
|
167
|
+
lines.push(( localize(7402, "- Name: {0}", meta.name)));
|
|
168
|
+
lines.push(( localize(7403, "- Family: {0}", meta.family)));
|
|
169
|
+
lines.push(( localize(7404, "- Vendor: {0}", meta.vendor)));
|
|
170
170
|
if (meta.tooltip) {
|
|
171
171
|
lines.push("", "", meta.tooltip);
|
|
172
172
|
}
|
|
@@ -197,14 +197,14 @@ let PromptHoverProvider = class PromptHoverProvider {
|
|
|
197
197
|
if (value.type === "scalar" && value.range.containsPosition(position)) {
|
|
198
198
|
const agent = this.chatModeService.findModeByName(value.value);
|
|
199
199
|
if (agent) {
|
|
200
|
-
const description = agent.description.get() || (isBuiltinChatMode(agent) ? ( localize(
|
|
200
|
+
const description = agent.description.get() || (isBuiltinChatMode(agent) ? ( localize(7405, "Built-in agent")) : ( localize(7406, "Custom agent")));
|
|
201
201
|
lines.push(`\`${agent.name.get()}\`: ${description}`);
|
|
202
202
|
}
|
|
203
203
|
} else {
|
|
204
204
|
const agents = this.chatModeService.getModes();
|
|
205
205
|
lines.push(baseMessage);
|
|
206
206
|
lines.push("");
|
|
207
|
-
lines.push(( localize(
|
|
207
|
+
lines.push(( localize(7407, "**Built-in agents:**")));
|
|
208
208
|
for (const agent of agents.builtin) {
|
|
209
209
|
lines.push(
|
|
210
210
|
`- \`${agent.name.get()}\`: ${agent.description.get() || agent.label.get()}`
|
|
@@ -212,10 +212,10 @@ let PromptHoverProvider = class PromptHoverProvider {
|
|
|
212
212
|
}
|
|
213
213
|
if (agents.custom.length > 0) {
|
|
214
214
|
lines.push("");
|
|
215
|
-
lines.push(( localize(
|
|
215
|
+
lines.push(( localize(7408, "**Custom agents:**")));
|
|
216
216
|
for (const agent of agents.custom) {
|
|
217
217
|
const description = agent.description.get();
|
|
218
|
-
lines.push(`- \`${agent.name.get()}\`: ${description || ( localize(
|
|
218
|
+
lines.push(`- \`${agent.name.get()}\`: ${description || ( localize(7406, "Custom agent"))}`);
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
221
|
}
|
|
@@ -270,7 +270,7 @@ let PromptHoverProvider = class PromptHoverProvider {
|
|
|
270
270
|
const handoffsBaseMessage = getAttributeDefinition(PromptHeaderAttributes.handOffs, PromptsType.agent, target)?.description;
|
|
271
271
|
if (!isVSCodeOrDefaultTarget(target)) {
|
|
272
272
|
return this.createHover(handoffsBaseMessage + "\n\n" + ( localize(
|
|
273
|
-
|
|
273
|
+
7409,
|
|
274
274
|
"Note: This attribute is not used in GitHub Copilot or Claude targets."
|
|
275
275
|
)), attribute.range);
|
|
276
276
|
}
|
|
@@ -25,7 +25,7 @@ export declare class PromptValidator {
|
|
|
25
25
|
constructor(languageModelsService: ILanguageModelsService, languageModelToolsService: ILanguageModelToolsService, chatModeService: IChatModeService, fileService: IFileService, labelService: ILabelService, promptsService: IPromptsService, configurationService: IConfigurationService);
|
|
26
26
|
validate(promptAST: ParsedPromptFile, promptType: PromptsType, report: (markers: IMarkerData) => void): Promise<void>;
|
|
27
27
|
private validateFileName;
|
|
28
|
-
private
|
|
28
|
+
private validateSkillAttributes;
|
|
29
29
|
private validateBody;
|
|
30
30
|
private validateHeader;
|
|
31
31
|
private checkForInvalidArguments;
|