@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.
Files changed (290) hide show
  1. package/common.js +1 -1
  2. package/package.json +4 -4
  3. package/session.js +1 -1
  4. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileDiffView.js +7 -7
  5. package/vscode/src/vs/sessions/browser/parts/mobile/contributions/mobileMultiDiffView.js +8 -8
  6. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +3 -3
  7. package/vscode/src/vs/sessions/contrib/chat/browser/branchChatSessionAction.js +2 -2
  8. package/vscode/src/vs/sessions/contrib/chat/browser/btwSlashCommand.contribution.js +6 -6
  9. package/vscode/src/vs/sessions/contrib/chat/browser/chat.contribution.js +52 -52
  10. package/vscode/src/vs/sessions/contrib/chat/browser/newSessionFolderQuickPickAction.js +4 -4
  11. package/vscode/src/vs/sessions/contrib/chat/browser/openSessionLinkOpener.contribution.js +1 -1
  12. package/vscode/src/vs/sessions/contrib/chat/browser/runScriptAction.js +49 -49
  13. package/vscode/src/vs/sessions/contrib/chat/browser/runScriptCustomTaskWidget.js +21 -21
  14. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTurnChanges.js +5 -5
  15. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.js +66 -66
  16. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostAgentPicker.js +1 -1
  17. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettings.contribution.js +2 -2
  18. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSettingsFileSystemProvider.js +4 -4
  19. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentSessionSettings.contribution.js +2 -2
  20. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentSessionSettingsFileSystemProvider.js +4 -4
  21. package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/openAgentHostStateFileAction.js +1 -1
  22. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/branchPicker.js +5 -5
  23. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessions.contribution.js +2 -2
  24. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsActions.js +6 -6
  25. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.contribution.js +2 -2
  26. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/modePicker.js +3 -3
  27. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/sandboxPicker.js +4 -4
  28. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHost.contribution.js +1 -1
  29. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilter.contribution.js +1 -1
  30. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/hostFilterActionViewItem.js +11 -11
  31. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/manageRemoteAgentHosts.js +6 -6
  32. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/mobileHostFilterActionViewItem.js +11 -11
  33. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHost.contribution.js +16 -16
  34. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostActions.js +89 -89
  35. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostCustomizationHarness.js +4 -4
  36. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/tunnelAgentHost.contribution.js +1 -1
  37. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/wslAgentHost.contribution.js +1 -1
  38. package/vscode/src/vs/sessions/contrib/sessions/browser/mobile/mobileOverlayContribution.js +3 -3
  39. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +2 -2
  40. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +28 -28
  42. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  43. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +18 -18
  44. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +3 -3
  45. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  46. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  47. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +11 -11
  48. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  49. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  50. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  51. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  53. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +28 -28
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +18 -18
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  58. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +93 -93
  59. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  61. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  62. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  63. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +7 -7
  64. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  65. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +7 -7
  66. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  67. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  68. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  69. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  71. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +14 -14
  72. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -15
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  75. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  76. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +32 -32
  77. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +6 -6
  78. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +7 -7
  79. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  80. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -12
  82. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +15 -15
  83. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.js +3 -3
  84. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.js +2 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +7 -7
  87. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.js +1 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  89. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.js +4 -4
  90. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.js +22 -22
  91. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +19 -19
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.js +2 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.js +4 -4
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.js +4 -4
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.js +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.js +4 -4
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +1 -1
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +50 -50
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +3 -3
  110. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +44 -44
  111. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +6 -6
  112. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +9 -9
  113. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +344 -344
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +38 -38
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +124 -124
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +1 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +4 -4
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +32 -20
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +36 -36
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +41 -41
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +2 -2
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +12 -12
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +1 -1
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +35 -35
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +1 -1
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +25 -25
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +18 -18
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -16
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +20 -20
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +10 -10
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +7 -7
  172. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  173. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  174. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  175. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +6 -6
  178. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +6 -6
  179. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +27 -27
  180. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  181. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  182. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +2 -2
  183. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  184. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  185. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  187. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  188. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  189. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  190. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +5 -5
  191. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +4 -4
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +4 -4
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +3 -3
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +3 -3
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  197. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +10 -10
  198. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  199. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +25 -25
  200. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +8 -8
  201. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  202. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  203. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  204. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +1 -1
  205. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +17 -17
  206. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +15 -15
  207. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +11 -11
  208. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +1 -1
  209. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +10 -10
  210. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  211. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +3 -3
  212. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -11
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  216. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +8 -8
  217. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  218. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +12 -12
  219. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  220. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +13 -13
  221. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  222. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  223. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  224. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +154 -154
  225. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +10 -10
  226. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +7 -7
  227. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +2 -2
  228. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +3 -3
  229. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +22 -22
  231. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  233. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  234. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  235. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  236. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  237. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +1 -1
  238. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  239. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  240. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  241. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  242. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  243. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +10 -10
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +73 -73
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +4 -4
  267. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +3 -3
  268. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -9
  269. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsChangesets.d.ts +0 -104
  270. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsChangesets.js +0 -301
  271. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsProvider.d.ts +0 -518
  272. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsProvider.js +0 -3121
  273. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.d.ts +0 -25
  274. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/mobilePermissionPicker.js +0 -97
  275. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/permissionPicker.d.ts +0 -135
  276. package/vscode/src/vs/sessions/contrib/providers/copilotChatSessions/browser/permissionPicker.js +0 -521
  277. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostContribution.d.ts +0 -166
  278. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxAgentHostContribution.js +0 -586
  279. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxConnectionCustomization.d.ts +0 -15
  280. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxConnectionCustomization.js +0 -47
  281. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxReadOnlySessionHandler.d.ts +0 -45
  282. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxReadOnlySessionHandler.js +0 -109
  283. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxSessionsProvider.d.ts +0 -49
  284. package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/cloudSandboxSessionsProvider.js +0 -69
  285. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +0 -112
  286. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +0 -670
  287. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.d.ts +0 -132
  288. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +0 -446
  289. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +0 -183
  290. 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 };