@codingame/monaco-vscode-chat-service-override 37.3.3 → 37.3.5
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/common.js +1 -1
- package/package.json +4 -4
- package/session.js +1 -1
- package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.js +7 -7
- package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileMultiDiffView.js +8 -8
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +3 -3
- package/vscode/src/vs/sessions/contrib/chat/browser/branchChatSessionAction.js +2 -2
- package/vscode/src/vs/sessions/contrib/chat/browser/btwSlashCommand.contribution.js +6 -6
- package/vscode/src/vs/sessions/contrib/chat/browser/chat.contribution.js +52 -52
- package/vscode/src/vs/sessions/contrib/chat/browser/newSessionFolderQuickPickAction.js +4 -4
- package/vscode/src/vs/sessions/contrib/chat/browser/openSessionLinkOpener.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/runScriptAction.js +49 -49
- package/vscode/src/vs/sessions/contrib/chat/browser/runScriptCustomTaskWidget.js +21 -21
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTurnChanges.js +5 -5
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.js +66 -66
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostAgentPicker.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettings.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettingsFileSystemProvider.js +4 -4
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentSessionSettings.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentSessionSettingsFileSystemProvider.js +4 -4
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/openAgentHostStateFileAction.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/branchPicker.js +5 -5
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessions.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsActions.js +6 -6
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/modePicker.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/sandboxPicker.js +4 -4
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHost.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilter.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilterActionViewItem.js +11 -11
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/manageRemoteAgentHosts.js +6 -6
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/mobileHostFilterActionViewItem.js +11 -11
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHost.contribution.js +16 -16
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostActions.js +89 -89
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostCustomizationHarness.js +4 -4
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/tunnelAgentHost.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/wslAgentHost.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/mobile/mobileOverlayContribution.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +2 -2
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +28 -28
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +18 -18
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +3 -3
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +11 -11
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +28 -28
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +93 -93
- 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 +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +7 -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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +50 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
- 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/agentSessionsConfiguration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +44 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +344 -344
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +38 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +124 -124
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +32 -20
- 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 +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +36 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +41 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +35 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +27 -27
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.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 +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/promptTimeline/promptTimeline.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +3 -3
- 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.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
- 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.js +154 -154
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +10 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +73 -73
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +4 -4
- package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +3 -3
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -9
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsChangesets.d.ts +0 -104
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsChangesets.js +0 -301
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsProvider.d.ts +0 -518
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsProvider.js +0 -3121
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.d.ts +0 -25
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.js +0 -97
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/permissionPicker.d.ts +0 -135
- package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/permissionPicker.js +0 -521
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostContribution.d.ts +0 -166
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostContribution.js +0 -586
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxConnectionCustomization.d.ts +0 -15
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxConnectionCustomization.js +0 -47
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxReadOnlySessionHandler.d.ts +0 -45
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxReadOnlySessionHandler.js +0 -109
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxSessionsProvider.d.ts +0 -49
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxSessionsProvider.js +0 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +0 -112
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +0 -670
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.d.ts +0 -132
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +0 -446
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +0 -183
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.js +0 -218
|
@@ -1,183 +0,0 @@
|
|
|
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 { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
5
|
-
import { IAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service";
|
|
6
|
-
import { IRemoteAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service";
|
|
7
|
-
import { type ActionEnvelope } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionActions";
|
|
8
|
-
import { type Customization } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState";
|
|
9
|
-
/**
|
|
10
|
-
* One captured Copilot `ChatUsage` action, i.e. the usage report for a single
|
|
11
|
-
* model call. Persisted as a line in the session's sidecar so per-turn/per-round
|
|
12
|
-
* token metrics survive a VS Code restart (the reduced chat state keeps only the
|
|
13
|
-
* last request's input/cache per turn, and `events.jsonl` only records
|
|
14
|
-
* `outputTokens` until `session.shutdown`).
|
|
15
|
-
*/
|
|
16
|
-
export interface IAgentHostUsageRecord {
|
|
17
|
-
/** Turn the model call belongs to. */
|
|
18
|
-
readonly turnId: string;
|
|
19
|
-
/** Model that served the call, if reported. */
|
|
20
|
-
readonly model?: string;
|
|
21
|
-
/** Input tokens for this single call. */
|
|
22
|
-
readonly inputTokens?: number;
|
|
23
|
-
/** Output tokens for this single call. */
|
|
24
|
-
readonly outputTokens?: number;
|
|
25
|
-
/** Cache-read tokens for this single call. */
|
|
26
|
-
readonly cacheReadTokens?: number;
|
|
27
|
-
/** Per-turn cumulative Copilot AIU (nano) at the time of this call. */
|
|
28
|
-
readonly totalNanoAiu?: number;
|
|
29
|
-
/** ISO timestamp when the client captured the action. */
|
|
30
|
-
readonly ts: string;
|
|
31
|
-
}
|
|
32
|
-
/** Builds the sidecar URI for a session's usage records under `baseDir`. */
|
|
33
|
-
export declare function buildAgentHostUsageUri(baseDir: URI, rawSessionId: string): URI;
|
|
34
|
-
/**
|
|
35
|
-
* Reads a session's usage sidecar. Returns the records in capture order,
|
|
36
|
-
* skipping blank or malformed lines. Returns an empty array when the file does
|
|
37
|
-
* not exist (e.g. a session that ran before capture shipped).
|
|
38
|
-
*/
|
|
39
|
-
export declare function readAgentHostUsageRecords(fileService: IFileService, uri: URI): Promise<IAgentHostUsageRecord[]>;
|
|
40
|
-
/**
|
|
41
|
-
* The minimal agent-host surface the recorders observe: a stream of protocol
|
|
42
|
-
* actions plus the notifications that drive sidecar lifetime. Satisfied by
|
|
43
|
-
* {@link IAgentHostService} in production and by bare emitters in tests, so the
|
|
44
|
-
* recorders don't depend on the full service.
|
|
45
|
-
*/
|
|
46
|
-
type IAgentHostActionSource = Pick<IAgentHostService, "onDidAction" | "onDidNotification">;
|
|
47
|
-
/**
|
|
48
|
-
* Shared client-side plumbing for recorders that observe agent-host protocol
|
|
49
|
-
* actions across the ambient (local) connection and every live remote
|
|
50
|
-
* connection, and persist derived data to a client-local sidecar. Enable
|
|
51
|
-
* gating, local/remote fan-out, and sidecar lifetime live here; subclasses
|
|
52
|
-
* implement {@link _onAction} for the action(s) they care about and
|
|
53
|
-
* {@link _sidecarUri} for the file to delete when a session goes away.
|
|
54
|
-
*
|
|
55
|
-
* Running on the client (where wire logs are captured) means every session's
|
|
56
|
-
* actions arrive through the same subscription reducers regardless of
|
|
57
|
-
* transport, so subclasses work uniformly for local and remote hosts.
|
|
58
|
-
*
|
|
59
|
-
* ## Why these sidecars are client-side
|
|
60
|
-
*
|
|
61
|
-
* The data they capture (`ChatUsage` / `SessionCustomizationsChanged`) is
|
|
62
|
-
* produced by the agent host, and the host persists its own copy of the parts
|
|
63
|
-
* it needs for correctness (see `turns.usage` in the session database, which
|
|
64
|
-
* restores the context-usage gauge and session cost). These sidecars are NOT
|
|
65
|
-
* that store and should not be confused with it — they exist because the
|
|
66
|
-
* renderer has no way to read host-side session storage: the AHP protocol is
|
|
67
|
-
* generated outside this repo, so no "read session data" RPC can be added here,
|
|
68
|
-
* and the session data directory's path is never published to clients. Until
|
|
69
|
-
* such a contract exists, a client-side capture is the only mechanism that
|
|
70
|
-
* works uniformly for local *and* remote hosts.
|
|
71
|
-
*
|
|
72
|
-
* The two stores therefore differ deliberately:
|
|
73
|
-
* - host store: per turn, always on, all providers, correctness-critical;
|
|
74
|
-
* - these sidecars: per model call, debug-gated, best-effort diagnostics.
|
|
75
|
-
*
|
|
76
|
-
* What IS unified: lifetime (both are deleted with their session — see
|
|
77
|
-
* {@link _sidecarUri}) and collection (both are included in the exported debug
|
|
78
|
-
* log bundle, so an export can explain a usage discrepancy).
|
|
79
|
-
*/
|
|
80
|
-
declare abstract class AgentHostActionRecorder extends Disposable {
|
|
81
|
-
protected readonly _baseDir: URI;
|
|
82
|
-
protected readonly _isEnabled: () => boolean;
|
|
83
|
-
protected readonly _fileService: IFileService;
|
|
84
|
-
protected readonly _logService: ILogService;
|
|
85
|
-
private readonly _remoteAgentHostService;
|
|
86
|
-
/** Live per-remote-connection listeners (actions + notifications), keyed by agent-host authority. */
|
|
87
|
-
private readonly _remoteListeners;
|
|
88
|
-
/**
|
|
89
|
-
* Per-session serialized file-operation queue shared by writes and cleanup,
|
|
90
|
-
* so a delete can never be overtaken by an in-flight write for the same
|
|
91
|
-
* session. Owned by the base class because deletion is driven from here.
|
|
92
|
-
*/
|
|
93
|
-
private readonly _queues;
|
|
94
|
-
/**
|
|
95
|
-
* The connection object currently subscribed for each authority. Tracked so
|
|
96
|
-
* a reconnect (which replaces the connection object under the same
|
|
97
|
-
* authority) is detected and the listener re-subscribed to the live object.
|
|
98
|
-
*/
|
|
99
|
-
private readonly _remoteConnections;
|
|
100
|
-
constructor(_baseDir: URI, _isEnabled: () => boolean, _fileService: IFileService, _logService: ILogService, agentHostService: IAgentHostActionSource, _remoteAgentHostService: IRemoteAgentHostService);
|
|
101
|
-
/** Gate on the enable predicate before handing the action to the subclass. */
|
|
102
|
-
private _dispatch;
|
|
103
|
-
/**
|
|
104
|
-
* Deletes a session's sidecar when the host reports the session removed, so
|
|
105
|
-
* these files don't accumulate indefinitely for sessions the user deleted
|
|
106
|
-
* (the host's own per-session storage cascades away with the session
|
|
107
|
-
* directory; without this the client-side copies would outlive it).
|
|
108
|
-
*
|
|
109
|
-
* Deliberately NOT gated on {@link _isEnabled}: toggling debug logging off
|
|
110
|
-
* must not strand the files already written while it was on.
|
|
111
|
-
*/
|
|
112
|
-
private _onNotification;
|
|
113
|
-
/**
|
|
114
|
-
* Runs `operation` after any previously queued work for `rawSessionId`,
|
|
115
|
-
* keeping per-session file operations in submission order. Failures are
|
|
116
|
-
* swallowed (and traced) so one failed operation cannot break the chain.
|
|
117
|
-
*/
|
|
118
|
-
protected queued(rawSessionId: string, operation: () => Promise<unknown>): Promise<void>;
|
|
119
|
-
/** Handle a single action from any (local or remote) connection. */
|
|
120
|
-
protected abstract _onAction(envelope: ActionEnvelope): void;
|
|
121
|
-
/** The sidecar file owned by this recorder for the given raw session id. */
|
|
122
|
-
protected abstract _sidecarUri(rawSessionId: string): URI;
|
|
123
|
-
/** Subscribes to each current remote connection's streams; drops stale ones. */
|
|
124
|
-
private _syncRemoteListeners;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Captures Copilot `ChatUsage` actions on the client and appends them to a
|
|
128
|
-
* stable, client-local per-session sidecar so token metrics survive a VS Code
|
|
129
|
-
* restart and feed accurate per-round Cache Explorer numbers.
|
|
130
|
-
*
|
|
131
|
-
* Dedup: a single model call can surface multiple `ChatUsage` actions —
|
|
132
|
-
* 1. a parent-scope emit on the session's DEFAULT chat channel, and
|
|
133
|
-
* 2. for sub-agent calls, a sub-agent-scope emit on a sub-agent chat channel
|
|
134
|
-
* (`parseChatUri` maps both to the same session), and
|
|
135
|
-
* 3. an async re-emit carrying the same tokens plus `_meta.contextAttribution`.
|
|
136
|
-
* Capturing only actions on the default chat channel (1) that lack
|
|
137
|
-
* `contextAttribution` yields exactly one record per model call — and the
|
|
138
|
-
* parent aggregate already includes sub-agent token usage.
|
|
139
|
-
*/
|
|
140
|
-
export declare class AgentHostUsageRecorder extends AgentHostActionRecorder {
|
|
141
|
-
protected _sidecarUri(rawSessionId: string): URI;
|
|
142
|
-
protected _onAction(envelope: ActionEnvelope): void;
|
|
143
|
-
/**
|
|
144
|
-
* Appends a record to the session's sidecar. Uses the file system's append
|
|
145
|
-
* capability so each record is a single small write (no read-modify-write of
|
|
146
|
-
* the whole file, and no in-memory copy of the growing file) — writes are
|
|
147
|
-
* still serialized per session to keep records ordered. Records written
|
|
148
|
-
* before a restart are preserved because we append to the existing file.
|
|
149
|
-
*/
|
|
150
|
-
private _append;
|
|
151
|
-
}
|
|
152
|
-
/** Builds the sidecar URI for a session's customization snapshot under `baseDir`. */
|
|
153
|
-
export declare function buildAgentHostCustomizationsUri(baseDir: URI, rawSessionId: string): URI;
|
|
154
|
-
/**
|
|
155
|
-
* Reads a session's persisted customization snapshot — the last
|
|
156
|
-
* full-replacement `SessionCustomizationsChanged` payload captured live.
|
|
157
|
-
* Returns `undefined` when the file is absent (e.g. a session that ran before
|
|
158
|
-
* capture shipped) or malformed, so callers fall back to the live session
|
|
159
|
-
* state rather than showing nothing.
|
|
160
|
-
*/
|
|
161
|
-
export declare function readAgentHostCustomizationsSnapshot(fileService: IFileService, uri: URI): Promise<Customization[] | undefined>;
|
|
162
|
-
/**
|
|
163
|
-
* Captures each session's loaded customizations (skills/hooks/agents/MCP) to a
|
|
164
|
-
* stable client-local snapshot so the debug view can surface them even for
|
|
165
|
-
* historical/closed sessions. This is necessary because the live
|
|
166
|
-
* {@link IAgentHostCustomizationService} only knows the customizations of
|
|
167
|
-
* sessions with an active state subscription, and the SDK's `session.*_loaded`
|
|
168
|
-
* events are ephemeral (never written to `events.jsonl`).
|
|
169
|
-
*
|
|
170
|
-
* Listens for the full-replacement `SessionCustomizationsChanged` action — the
|
|
171
|
-
* canonical way a host publishes its effective customization set — on the
|
|
172
|
-
* `<provider>:/<rawId>` session channel, and overwrites the session's snapshot.
|
|
173
|
-
* The raw id derived from the channel matches the one the reader derives from
|
|
174
|
-
* the client session resource (both are the URI path), so the snapshot lines up
|
|
175
|
-
* with the session it belongs to.
|
|
176
|
-
*/
|
|
177
|
-
export declare class AgentHostCustomizationRecorder extends AgentHostActionRecorder {
|
|
178
|
-
protected _sidecarUri(rawSessionId: string): URI;
|
|
179
|
-
protected _onAction(envelope: ActionEnvelope): void;
|
|
180
|
-
/** Overwrites the session's snapshot, serializing writes per session. */
|
|
181
|
-
private _write;
|
|
182
|
-
}
|
|
183
|
-
export {};
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
3
|
-
import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
-
import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
5
|
-
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
6
|
-
import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
|
|
7
|
-
import { agentHostAuthority } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
|
|
8
|
-
import { NotificationType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionActions';
|
|
9
|
-
import { isDefaultChatUri, readUsageInfoMeta, parseChatUri } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
|
|
10
|
-
import { getCopilotCliSessionRawId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/copilotCliEventsUri';
|
|
11
|
-
import { ActionType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/common/actions';
|
|
12
|
-
|
|
13
|
-
const USAGE_DIR = "agentHostUsage";
|
|
14
|
-
function buildAgentHostUsageUri(baseDir, rawSessionId) {
|
|
15
|
-
return joinPath(baseDir, USAGE_DIR, `${sanitizeSessionId(rawSessionId)}.jsonl`);
|
|
16
|
-
}
|
|
17
|
-
function sanitizeSessionId(rawSessionId) {
|
|
18
|
-
return rawSessionId.replace(/[^\w.-]/g, "_");
|
|
19
|
-
}
|
|
20
|
-
async function readAgentHostUsageRecords(fileService, uri) {
|
|
21
|
-
let text;
|
|
22
|
-
try {
|
|
23
|
-
const content = await fileService.readFile(uri);
|
|
24
|
-
text = ( content.value.toString());
|
|
25
|
-
} catch {
|
|
26
|
-
return [];
|
|
27
|
-
}
|
|
28
|
-
const records = [];
|
|
29
|
-
for (const line of text.split("\n")) {
|
|
30
|
-
const trimmed = line.trim();
|
|
31
|
-
if (!trimmed) {
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
const parsed = JSON.parse(trimmed);
|
|
36
|
-
if (parsed && typeof parsed.turnId === "string" && typeof parsed.ts === "string") {
|
|
37
|
-
records.push(parsed);
|
|
38
|
-
}
|
|
39
|
-
} catch {}
|
|
40
|
-
}
|
|
41
|
-
return records;
|
|
42
|
-
}
|
|
43
|
-
class AgentHostActionRecorder extends Disposable {
|
|
44
|
-
constructor(
|
|
45
|
-
_baseDir,
|
|
46
|
-
_isEnabled,
|
|
47
|
-
_fileService,
|
|
48
|
-
_logService,
|
|
49
|
-
agentHostService,
|
|
50
|
-
_remoteAgentHostService
|
|
51
|
-
) {
|
|
52
|
-
super();
|
|
53
|
-
this._baseDir = _baseDir;
|
|
54
|
-
this._isEnabled = _isEnabled;
|
|
55
|
-
this._fileService = _fileService;
|
|
56
|
-
this._logService = _logService;
|
|
57
|
-
this._remoteAgentHostService = _remoteAgentHostService;
|
|
58
|
-
this._remoteListeners = this._register(( new DisposableMap()));
|
|
59
|
-
this._queues = ( new Map());
|
|
60
|
-
this._remoteConnections = ( new Map());
|
|
61
|
-
this._register(agentHostService.onDidAction(envelope => this._dispatch(envelope)));
|
|
62
|
-
this._register(
|
|
63
|
-
agentHostService.onDidNotification(notification => this._onNotification(notification))
|
|
64
|
-
);
|
|
65
|
-
this._register(
|
|
66
|
-
this._remoteAgentHostService.onDidChangeConnections(() => this._syncRemoteListeners())
|
|
67
|
-
);
|
|
68
|
-
this._syncRemoteListeners();
|
|
69
|
-
}
|
|
70
|
-
_dispatch(envelope) {
|
|
71
|
-
if (!this._isEnabled()) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
this._onAction(envelope);
|
|
75
|
-
}
|
|
76
|
-
_onNotification(notification) {
|
|
77
|
-
if (notification.type !== NotificationType.SessionRemoved) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
const rawId = getCopilotCliSessionRawId(( URI.parse(notification.session)));
|
|
81
|
-
if (!rawId) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
const uri = this._sidecarUri(rawId);
|
|
85
|
-
const pending = this.queued(rawId, () => this._fileService.del(uri));
|
|
86
|
-
void pending.finally(() => {
|
|
87
|
-
if (this._queues.get(rawId) === pending) {
|
|
88
|
-
this._queues.delete(rawId);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
queued(rawSessionId, operation) {
|
|
93
|
-
const previous = this._queues.get(rawSessionId) ?? Promise.resolve();
|
|
94
|
-
const next = previous.then(operation).then(() => undefined).catch(err => {
|
|
95
|
-
this._logService.trace(
|
|
96
|
-
`[${this.constructor.name}] sidecar operation failed for ${rawSessionId}: ${toErrorMessage(err)}`
|
|
97
|
-
);
|
|
98
|
-
});
|
|
99
|
-
this._queues.set(rawSessionId, next);
|
|
100
|
-
return next;
|
|
101
|
-
}
|
|
102
|
-
_syncRemoteListeners() {
|
|
103
|
-
const seen = ( new Set());
|
|
104
|
-
for (const info of this._remoteAgentHostService.connections) {
|
|
105
|
-
const authority = agentHostAuthority(info.address);
|
|
106
|
-
seen.add(authority);
|
|
107
|
-
const connection = this._remoteAgentHostService.getConnectionByAuthority(authority);
|
|
108
|
-
if (!connection) {
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
if (this._remoteConnections.get(authority) === connection) {
|
|
112
|
-
continue;
|
|
113
|
-
}
|
|
114
|
-
this._remoteConnections.set(authority, connection);
|
|
115
|
-
const store = ( new DisposableStore());
|
|
116
|
-
store.add(connection.onDidAction(envelope => this._dispatch(envelope)));
|
|
117
|
-
store.add(
|
|
118
|
-
connection.onDidNotification(notification => this._onNotification(notification))
|
|
119
|
-
);
|
|
120
|
-
this._remoteListeners.set(authority, store);
|
|
121
|
-
}
|
|
122
|
-
for (const authority of [...( this._remoteListeners.keys())]) {
|
|
123
|
-
if (!( seen.has(authority))) {
|
|
124
|
-
this._remoteListeners.deleteAndDispose(authority);
|
|
125
|
-
this._remoteConnections.delete(authority);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
class AgentHostUsageRecorder extends AgentHostActionRecorder {
|
|
131
|
-
_sidecarUri(rawSessionId) {
|
|
132
|
-
return buildAgentHostUsageUri(this._baseDir, rawSessionId);
|
|
133
|
-
}
|
|
134
|
-
_onAction(envelope) {
|
|
135
|
-
const action = envelope.action;
|
|
136
|
-
if (action.type !== ActionType.ChatUsage) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
if (!isDefaultChatUri(envelope.channel)) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
const usage = action.usage;
|
|
143
|
-
const meta = readUsageInfoMeta(usage);
|
|
144
|
-
if (meta.contextAttribution) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
const session = parseChatUri(envelope.channel)?.session;
|
|
148
|
-
if (!session) {
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
const rawId = getCopilotCliSessionRawId(( URI.parse(session)));
|
|
152
|
-
if (!rawId) {
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
const record = {
|
|
156
|
-
turnId: action.turnId,
|
|
157
|
-
model: usage.model,
|
|
158
|
-
inputTokens: usage.inputTokens,
|
|
159
|
-
outputTokens: usage.outputTokens,
|
|
160
|
-
cacheReadTokens: usage.cacheReadTokens,
|
|
161
|
-
totalNanoAiu: meta.copilotUsage?.totalNanoAiu,
|
|
162
|
-
ts: ( new Date()).toISOString()
|
|
163
|
-
};
|
|
164
|
-
this._append(rawId, record);
|
|
165
|
-
}
|
|
166
|
-
_append(rawId, record) {
|
|
167
|
-
const uri = this._sidecarUri(rawId);
|
|
168
|
-
const line = JSON.stringify(record) + "\n";
|
|
169
|
-
void this.queued(rawId, () => this._fileService.writeFile(uri, VSBuffer.fromString(line), {
|
|
170
|
-
append: true
|
|
171
|
-
}));
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
const CUSTOMIZATIONS_DIR = "agentHostCustomizations";
|
|
175
|
-
function buildAgentHostCustomizationsUri(baseDir, rawSessionId) {
|
|
176
|
-
return joinPath(baseDir, CUSTOMIZATIONS_DIR, `${sanitizeSessionId(rawSessionId)}.json`);
|
|
177
|
-
}
|
|
178
|
-
async function readAgentHostCustomizationsSnapshot(fileService, uri) {
|
|
179
|
-
let text;
|
|
180
|
-
try {
|
|
181
|
-
const content = await fileService.readFile(uri);
|
|
182
|
-
text = ( content.value.toString());
|
|
183
|
-
} catch {
|
|
184
|
-
return undefined;
|
|
185
|
-
}
|
|
186
|
-
try {
|
|
187
|
-
const parsed = JSON.parse(text);
|
|
188
|
-
if (Array.isArray(parsed)) {
|
|
189
|
-
return parsed;
|
|
190
|
-
}
|
|
191
|
-
} catch {}
|
|
192
|
-
return undefined;
|
|
193
|
-
}
|
|
194
|
-
class AgentHostCustomizationRecorder extends AgentHostActionRecorder {
|
|
195
|
-
_sidecarUri(rawSessionId) {
|
|
196
|
-
return buildAgentHostCustomizationsUri(this._baseDir, rawSessionId);
|
|
197
|
-
}
|
|
198
|
-
_onAction(envelope) {
|
|
199
|
-
if (envelope.action.type !== ActionType.SessionCustomizationsChanged) {
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
const rawId = getCopilotCliSessionRawId(( URI.parse(envelope.channel)));
|
|
203
|
-
if (!rawId) {
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
this._write(rawId, envelope.action.customizations);
|
|
207
|
-
}
|
|
208
|
-
_write(rawId, customizations) {
|
|
209
|
-
const uri = this._sidecarUri(rawId);
|
|
210
|
-
const content = JSON.stringify(customizations);
|
|
211
|
-
void this.queued(
|
|
212
|
-
rawId,
|
|
213
|
-
() => this._fileService.writeFile(uri, VSBuffer.fromString(content))
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
export { AgentHostCustomizationRecorder, AgentHostUsageRecorder, buildAgentHostCustomizationsUri, buildAgentHostUsageUri, readAgentHostCustomizationsSnapshot, readAgentHostUsageRecords };
|