@codingame/monaco-vscode-chat-service-override 34.1.3 → 35.0.1

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 (427) hide show
  1. package/index.js +38 -0
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
  11. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
  14. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
  15. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
  16. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
  17. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
  18. package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
  19. package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
  20. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
  21. package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
  22. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
  23. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
  24. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
  25. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
  29. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  35. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +35 -25
  36. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
  37. package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
  38. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  39. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
  40. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
  41. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
  42. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
  43. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
  44. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
  45. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
  46. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
  47. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
  48. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
  49. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
  50. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
  51. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
  52. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
  53. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
  56. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
  57. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
  58. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
  59. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
  60. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
  61. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
  62. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
  63. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
  64. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
  65. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
  66. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
  67. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
  68. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
  69. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
  70. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
  71. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
  72. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
  73. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
  74. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
  75. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
  76. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
  77. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
  78. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
  79. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
  80. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
  81. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
  82. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
  83. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
  84. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
  85. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +32 -16
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  90. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
  92. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
  95. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  96. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  97. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +19 -24
  98. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +9 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  103. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  104. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  105. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  106. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
  107. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  108. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
  109. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  110. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  111. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  112. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
  114. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
  115. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -59
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
  147. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  148. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  149. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +27 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +9 -36
  154. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
  156. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
  159. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
  161. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
  162. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
  163. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
  165. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
  171. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
  172. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
  175. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
  176. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
  177. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  182. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
  186. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1424 -97
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +9 -3
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +35 -32
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  262. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  263. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  265. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  267. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  269. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  270. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
  271. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
  272. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  273. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
  274. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
  275. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  276. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
  278. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  279. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  280. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  281. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  282. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.d.ts +1 -0
  283. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
  284. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  285. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  286. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  287. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  289. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  290. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  293. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
  294. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
  295. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
  296. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
  298. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  299. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  301. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
  304. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
  306. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
  307. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
  308. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
  309. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
  310. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
  311. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
  312. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
  314. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
  315. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  316. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +7 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
  320. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
  321. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
  322. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  323. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
  324. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
  325. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
  326. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
  327. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
  328. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
  329. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
  330. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
  331. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
  332. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
  333. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
  334. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
  335. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
  336. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
  338. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
  339. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
  340. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
  343. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
  344. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
  345. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
  346. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
  348. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
  350. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
  351. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
  352. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
  353. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
  355. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
  358. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
  360. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  361. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  362. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +10 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
  364. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
  369. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
  370. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  371. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
  372. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
  373. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  374. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  376. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  381. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +32 -20
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  396. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  397. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  399. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
  400. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  401. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  402. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  403. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
  406. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
  407. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
  408. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
  409. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
  410. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  411. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  412. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  413. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  414. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  415. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
  416. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
  417. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
  418. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
  419. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
  420. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
  423. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
  424. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
  425. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
  426. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
  427. /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
@@ -1,21 +1,39 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
3
  import { safeIntl } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
4
+ import { createMarkdownCommandLink, MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
5
+ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
7
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
8
+ import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
6
9
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
7
- import { StorageScope } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
10
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
11
+ import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
12
+ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
8
13
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
14
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
15
+ import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
9
16
  import { ChatEntitlement } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService';
10
17
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
11
- import { SELECTED_MODEL_STORAGE_KEY_PREFIX, getSelectedModelVendor } from '../common/chatSelectedModel.js';
12
- import { COPILOT_VENDOR_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
18
+ import { SELECTED_MODEL_STORAGE_KEY_PREFIX, isSelectedModelCopilot } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSelectedModel';
13
19
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
14
20
  import { ChatInputNotificationSeverity } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService';
15
21
  import { IChatInputNotificationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service';
16
22
 
17
23
  const QUOTA_NOTIFICATION_ID = "copilot.quotaStatus";
18
24
  const THRESHOLDS = [50, 75, 90, 95];
25
+ const TRAJECTORY_NUDGE_SPEC = {
26
+ treatmentName: "config.chatQuotaTrajectoryNudge",
27
+ shownStorageKey: "chat.quotaTrajectory.shownPeriod",
28
+ averageDailyUsageThreshold: 4.5,
29
+ minimumPercentUsed: 10,
30
+ maximumPercentUsed: 35,
31
+ billingPeriodDays: 30,
32
+ msPerDay: 24 * 60 * 60 * 1000,
33
+ learnMoreUrl: "https://aka.ms/token-usage-tips",
34
+ learnMoreCommandId: "workbench.action.chat.learnMoreAboutCreditUsage"
35
+ };
36
+ const QUOTA_EXHAUSTED_DISMISSED_STORAGE_KEY = "chat.quotaNotification.exhaustedDismissed";
19
37
  let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution extends Disposable {
20
38
  static {
21
39
  this.ID = "workbench.contrib.chatQuotaNotification";
@@ -25,7 +43,10 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
25
43
  _chatInputNotificationService,
26
44
  _contextKeyService,
27
45
  _languageModelsService,
28
- _storageService
46
+ _storageService,
47
+ _assignmentService,
48
+ _telemetryService,
49
+ _logService
29
50
  ) {
30
51
  super();
31
52
  this._chatEntitlementService = _chatEntitlementService;
@@ -33,7 +54,11 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
33
54
  this._contextKeyService = _contextKeyService;
34
55
  this._languageModelsService = _languageModelsService;
35
56
  this._storageService = _storageService;
57
+ this._assignmentService = _assignmentService;
58
+ this._telemetryService = _telemetryService;
59
+ this._logService = _logService;
36
60
  this._showingExhausted = false;
61
+ this._trajectoryAssignmentRequested = false;
37
62
  this._register(
38
63
  this._chatEntitlementService.onDidChangeQuotaRemaining(() => this._update())
39
64
  );
@@ -41,6 +66,10 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
41
66
  this._chatEntitlementService.onDidChangeQuotaExceeded(() => this._update())
42
67
  );
43
68
  this._register(this._chatEntitlementService.onDidChangeEntitlement(() => this._update()));
69
+ this._register(CommandsRegistry.registerCommand(
70
+ TRAJECTORY_NUDGE_SPEC.learnMoreCommandId,
71
+ accessor => this._handleCreditEfficiencyLearnMoreCommand(accessor)
72
+ ));
44
73
  const storageListener = this._register(( new DisposableStore()));
45
74
  this._register(
46
75
  this._storageService.onDidChangeValue(StorageScope.APPLICATION, undefined, storageListener)(e => {
@@ -49,8 +78,32 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
49
78
  }
50
79
  })
51
80
  );
81
+ this._register(this._chatInputNotificationService.onDidDismiss(id => {
82
+ if (id === QUOTA_NOTIFICATION_ID && this._showingExhausted) {
83
+ this._setExhaustedDismissed();
84
+ }
85
+ }));
52
86
  this._update();
53
87
  }
88
+ async _resolveTrajectoryTreatment(warning) {
89
+ const treatment = await this._assignmentService.getTreatment(TRAJECTORY_NUDGE_SPEC.treatmentName);
90
+ this._trajectoryTreatment = treatment;
91
+ if (treatment !== undefined) {
92
+ this._logQuotaTrajectoryNudgeEnrolled(treatment, warning);
93
+ }
94
+ if (treatment === true) {
95
+ this._update();
96
+ }
97
+ }
98
+ _requestTrajectoryTreatment(warning) {
99
+ if (!this._trajectoryAssignmentRequested) {
100
+ this._trajectoryAssignmentRequested = true;
101
+ void this._resolveTrajectoryTreatment(warning).catch(error => {
102
+ this._logService.error(`Failed to resolve ${TRAJECTORY_NUDGE_SPEC.treatmentName}`, error);
103
+ this._trajectoryAssignmentRequested = false;
104
+ });
105
+ }
106
+ }
54
107
  _getRelevantSnapshot() {
55
108
  const quotas = this._chatEntitlementService.quotas;
56
109
  const entitlement = this._chatEntitlementService.entitlement;
@@ -75,12 +128,17 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
75
128
  _update() {
76
129
  const entitlement = this._chatEntitlementService.entitlement;
77
130
  const isCopilot = this._isCopilotModelSelected();
131
+ if (this._isQuotaKnownAvailable()) {
132
+ this._clearExhaustedDismissed();
133
+ }
78
134
  if (!isCopilot) {
79
135
  return;
80
136
  }
81
137
  const isQuotaNotificationEligible = entitlement === ChatEntitlement.Unknown || this._isUBBEligible();
82
138
  if (this._isManagedPlan(entitlement) && this._isManagedPlanBlocked()) {
83
- this._showManagedPlanBlockedNotification();
139
+ if (!this._isExhaustedDismissed()) {
140
+ this._showManagedPlanBlockedNotification();
141
+ }
84
142
  return;
85
143
  }
86
144
  if (isQuotaNotificationEligible && this._isQuotaUsedUp()) {
@@ -88,12 +146,14 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
88
146
  const additionalUsageEnabled = quotas.additionalUsageEnabled ?? false;
89
147
  const wasAdditionalUsageEnabled = this._prevAdditionalUsageEnabled;
90
148
  this._prevAdditionalUsageEnabled = additionalUsageEnabled;
91
- if (additionalUsageEnabled) {
92
- if (this._prevQuotaPercentUsed !== undefined || wasAdditionalUsageEnabled === false) {
93
- this._showOverageActivationNotification();
149
+ if (!this._isExhaustedDismissed()) {
150
+ if (additionalUsageEnabled) {
151
+ if (this._prevQuotaPercentUsed !== undefined || wasAdditionalUsageEnabled === false) {
152
+ this._showOverageActivationNotification();
153
+ }
154
+ } else {
155
+ this._showExhaustedNotification();
94
156
  }
95
- } else {
96
- this._showExhaustedNotification();
97
157
  }
98
158
  const exhaustedSnapshot = this._getRelevantSnapshot();
99
159
  if (exhaustedSnapshot && !exhaustedSnapshot.unlimited) {
@@ -102,6 +162,11 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
102
162
  return;
103
163
  }
104
164
  if (isQuotaNotificationEligible) {
165
+ const trajectoryWarning = this._computeQuotaTrajectoryWarning();
166
+ if (trajectoryWarning) {
167
+ this._showQuotaTrajectoryWarning(trajectoryWarning);
168
+ return;
169
+ }
105
170
  const quotaWarning = this._computeQuotaWarning();
106
171
  if (quotaWarning) {
107
172
  this._showQuotaApproachingWarning(quotaWarning);
@@ -128,11 +193,91 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
128
193
  this._prevQuotaPercentUsed = percentUsed;
129
194
  if (crossed !== undefined) {
130
195
  return {
131
- percentUsed: Math.floor(percentUsed)
196
+ percentUsed: Math.floor(percentUsed),
197
+ threshold: crossed
132
198
  };
133
199
  }
134
200
  return undefined;
135
201
  }
202
+ _computeQuotaTrajectoryWarning() {
203
+ if (this._isTrajectoryShownInCurrentPeriod()) {
204
+ return undefined;
205
+ }
206
+ const snapshot = this._getRelevantSnapshot();
207
+ if (!snapshot || snapshot.unlimited || snapshot.percentRemaining <= 0) {
208
+ return undefined;
209
+ }
210
+ const resetDate = this._chatEntitlementService.quotas.resetDate;
211
+ if (!resetDate) {
212
+ return undefined;
213
+ }
214
+ const resetTime = ( new Date(resetDate)).getTime();
215
+ if (!Number.isFinite(resetTime)) {
216
+ return undefined;
217
+ }
218
+ const periodStartTime = resetTime - (TRAJECTORY_NUDGE_SPEC.billingPeriodDays * TRAJECTORY_NUDGE_SPEC.msPerDay);
219
+ const elapsedDays = Math.max(0, (Date.now() - periodStartTime) / TRAJECTORY_NUDGE_SPEC.msPerDay);
220
+ if (elapsedDays <= 0) {
221
+ return undefined;
222
+ }
223
+ const percentUsed = 100 - snapshot.percentRemaining;
224
+ if (percentUsed < TRAJECTORY_NUDGE_SPEC.minimumPercentUsed || percentUsed > TRAJECTORY_NUDGE_SPEC.maximumPercentUsed) {
225
+ return undefined;
226
+ }
227
+ const averageDailyUsage = percentUsed / elapsedDays;
228
+ if (averageDailyUsage < TRAJECTORY_NUDGE_SPEC.averageDailyUsageThreshold) {
229
+ return undefined;
230
+ }
231
+ this._requestTrajectoryTreatment({
232
+ averageDailyUsage,
233
+ percentUsed
234
+ });
235
+ return this._trajectoryTreatment === true ? {
236
+ averageDailyUsage,
237
+ percentUsed
238
+ } : undefined;
239
+ }
240
+ _showQuotaTrajectoryWarning(warning) {
241
+ this._showingExhausted = false;
242
+ this._storeTrajectoryShown();
243
+ const learnMoreLink = createMarkdownCommandLink({
244
+ text: ( localize(7148, "Learn about optimizing usage")),
245
+ id: TRAJECTORY_NUDGE_SPEC.learnMoreCommandId,
246
+ tooltip: ( localize(7149, "Learn about optimizing usage"))
247
+ });
248
+ const message = ( localize(
249
+ 7150,
250
+ "You're likely to exhaust your AI credits before your billing period. {0}.",
251
+ learnMoreLink
252
+ ));
253
+ this._setNotification({
254
+ id: QUOTA_NOTIFICATION_ID,
255
+ telemetryId: "quotaTrajectoryNudge",
256
+ severity: ChatInputNotificationSeverity.Info,
257
+ message: ( new MarkdownString(message, {
258
+ isTrusted: {
259
+ enabledCommands: [TRAJECTORY_NUDGE_SPEC.learnMoreCommandId]
260
+ }
261
+ })),
262
+ description: undefined,
263
+ actions: [],
264
+ dismissible: true,
265
+ autoDismissOnMessage: false
266
+ });
267
+ }
268
+ async _handleCreditEfficiencyLearnMoreCommand(accessor) {
269
+ this._telemetryService.publicLog2("chatQuotaTrajectoryNudgeLinkClicked");
270
+ queueMicrotask(() => this._hideNotification());
271
+ await accessor.get(IOpenerService).open(( URI.parse(TRAJECTORY_NUDGE_SPEC.learnMoreUrl)));
272
+ }
273
+ _logQuotaTrajectoryNudgeEnrolled(treatment, warning) {
274
+ this._telemetryService.publicLog2("chatQuotaTrajectoryNudgeEnrolled", {
275
+ treatment,
276
+ entitlement: ChatEntitlement[this._chatEntitlementService.entitlement],
277
+ averageDailyUsage: Math.round(warning.averageDailyUsage * 100) / 100,
278
+ percentUsed: Math.round(warning.percentUsed * 100) / 100
279
+ });
280
+ }
136
281
  _findCrossedThreshold(current, previous) {
137
282
  if (previous === undefined) {
138
283
  return undefined;
@@ -153,37 +298,38 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
153
298
  let description;
154
299
  let actions;
155
300
  if (entitlement === ChatEntitlement.Unknown) {
156
- description = ( localize(6648, "Sign in to keep going."));
301
+ description = ( localize(7151, "Sign in to keep going."));
157
302
  actions = [{
158
- label: ( localize(6649, "Sign In")),
303
+ label: ( localize(7152, "Sign In")),
159
304
  commandId: "workbench.action.chat.triggerSetup"
160
305
  }];
161
306
  } else if (entitlement === ChatEntitlement.Free) {
162
- description = ( localize(6650, "Upgrade to keep going."));
307
+ description = ( localize(7153, "Upgrade to keep going."));
163
308
  actions = [{
164
- label: ( localize(6651, "Upgrade")),
309
+ label: ( localize(7154, "Upgrade")),
165
310
  commandId: "workbench.action.chat.upgradePlan"
166
311
  }];
167
312
  } else if (this._isManagedPlan(entitlement)) {
168
- description = ( localize(6652, "Contact your admin to increase your limits."));
313
+ description = ( localize(7155, "Contact your admin to increase your limits."));
169
314
  actions = [];
170
315
  } else if (hadOverage) {
171
- description = ( localize(6653, "Increase your budget to keep building."));
316
+ description = ( localize(7156, "Increase your budget to keep building."));
172
317
  actions = [{
173
- label: ( localize(6654, "Manage Budget")),
318
+ label: ( localize(7157, "Manage Budget")),
174
319
  commandId: "workbench.action.chat.manageAdditionalSpend"
175
320
  }];
176
321
  } else {
177
- description = ( localize(6655, "Manage your budget to keep building."));
322
+ description = ( localize(7158, "Manage your budget to keep building."));
178
323
  actions = [{
179
- label: ( localize(6656, "Manage Budget")),
324
+ label: ( localize(7159, "Manage Budget")),
180
325
  commandId: "workbench.action.chat.manageAdditionalSpend"
181
326
  }];
182
327
  }
183
328
  this._setNotification({
184
329
  id: QUOTA_NOTIFICATION_ID,
330
+ telemetryId: "quotaExhausted",
185
331
  severity: ChatInputNotificationSeverity.Info,
186
- message: ( localize(6657, "Credit Limit Reached")),
332
+ message: ( localize(7160, "Credit Limit Reached")),
187
333
  description,
188
334
  actions,
189
335
  dismissible: true,
@@ -194,9 +340,10 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
194
340
  this._showingExhausted = true;
195
341
  this._setNotification({
196
342
  id: QUOTA_NOTIFICATION_ID,
343
+ telemetryId: "overageActivation",
197
344
  severity: ChatInputNotificationSeverity.Info,
198
- message: ( localize(6658, "Credit Limit Reached")),
199
- description: ( localize(6659, "Additional budget is now covering extra usage.")),
345
+ message: ( localize(7161, "Credit Limit Reached")),
346
+ description: ( localize(7162, "Additional budget is now covering extra usage.")),
200
347
  actions: [],
201
348
  dismissible: true,
202
349
  autoDismissOnMessage: true
@@ -209,28 +356,29 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
209
356
  let description;
210
357
  let actions;
211
358
  if (entitlement === ChatEntitlement.Unknown || entitlement === ChatEntitlement.Free) {
212
- description = ( localize(6660, "Upgrade to continue past the limit."));
359
+ description = ( localize(7163, "Upgrade to continue past the limit."));
213
360
  actions = [{
214
- label: ( localize(6661, "Upgrade")),
361
+ label: ( localize(7164, "Upgrade")),
215
362
  commandId: "workbench.action.chat.upgradePlan"
216
363
  }];
217
364
  } else if (this._isManagedPlan(entitlement)) {
218
- description = ( localize(6662, "Contact your admin to increase your limits."));
365
+ description = ( localize(7165, "Contact your admin to increase your limits."));
219
366
  actions = [];
220
367
  } else if (quotas.additionalUsageEnabled) {
221
- description = ( localize(6663, "Additional budget is enabled to cover extra usage."));
368
+ description = ( localize(7166, "Additional budget is enabled to cover extra usage."));
222
369
  actions = [];
223
370
  } else {
224
- description = ( localize(6664, "Set additional budget to cover extra usage."));
371
+ description = ( localize(7167, "Set additional budget to cover extra usage."));
225
372
  actions = [{
226
- label: ( localize(6665, "Manage Budget")),
373
+ label: ( localize(7168, "Manage Budget")),
227
374
  commandId: "workbench.action.chat.manageAdditionalSpend"
228
375
  }];
229
376
  }
230
377
  this._setNotification({
231
378
  id: QUOTA_NOTIFICATION_ID,
379
+ telemetryId: `quotaApproaching${warning.threshold}`,
232
380
  severity: ChatInputNotificationSeverity.Info,
233
- message: ( localize(6666, "Credits at {0}%", warning.percentUsed)),
381
+ message: ( localize(7169, "Credits at {0}%", warning.percentUsed)),
234
382
  description,
235
383
  actions,
236
384
  dismissible: true,
@@ -275,10 +423,11 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
275
423
  }
276
424
  _showRateLimitWarning(warning) {
277
425
  this._showingExhausted = false;
278
- const message = warning.type === "session" ? ( localize(6667, "You've used {0}% of your session rate limit.", warning.percentUsed)) : ( localize(6668, "You've used {0}% of your weekly rate limit.", warning.percentUsed));
279
- const description = warning.resetDate ? ( localize(6669, "Resets on {0}.", this._formatResetDate(warning.resetDate))) : undefined;
426
+ const message = warning.type === "session" ? ( localize(7170, "You've used {0}% of your session rate limit.", warning.percentUsed)) : ( localize(7171, "You've used {0}% of your weekly rate limit.", warning.percentUsed));
427
+ const description = warning.resetDate ? ( localize(7172, "Resets on {0}.", this._formatResetDate(warning.resetDate))) : undefined;
280
428
  this._setNotification({
281
429
  id: QUOTA_NOTIFICATION_ID,
430
+ telemetryId: warning.type === "session" ? "sessionRateLimitWarning" : "weeklyRateLimitWarning",
282
431
  severity: ChatInputNotificationSeverity.Info,
283
432
  message,
284
433
  description,
@@ -288,11 +437,7 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
288
437
  });
289
438
  }
290
439
  _isCopilotModelSelected() {
291
- const vendor = getSelectedModelVendor(this._contextKeyService, this._storageService, this._languageModelsService);
292
- if (!vendor) {
293
- return true;
294
- }
295
- return vendor === COPILOT_VENDOR_ID;
440
+ return isSelectedModelCopilot(this._contextKeyService, this._storageService, this._languageModelsService);
296
441
  }
297
442
  _isManagedPlan(entitlement) {
298
443
  return entitlement === ChatEntitlement.Business || entitlement === ChatEntitlement.Enterprise;
@@ -305,10 +450,11 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
305
450
  this._showingExhausted = true;
306
451
  this._setNotification({
307
452
  id: QUOTA_NOTIFICATION_ID,
453
+ telemetryId: "managedPlanBlocked",
308
454
  severity: ChatInputNotificationSeverity.Info,
309
- message: ( localize(6670, "Usage Blocked")),
455
+ message: ( localize(7173, "Usage Blocked")),
310
456
  description: ( localize(
311
- 6671,
457
+ 7174,
312
458
  "Your organization or enterprise has exceeded its Copilot budget. Contact your admin to resume usage."
313
459
  )),
314
460
  actions: [],
@@ -333,6 +479,32 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
333
479
  minute: "2-digit"
334
480
  }).value.format(resetDate);
335
481
  }
482
+ _getTrajectoryPeriodKey() {
483
+ const resetDate = this._chatEntitlementService.quotas.resetDate;
484
+ if (!resetDate) {
485
+ return undefined;
486
+ }
487
+ const date = ( new Date(resetDate));
488
+ if (!Number.isFinite(date.getTime())) {
489
+ return undefined;
490
+ }
491
+ return `${date.getUTCFullYear()}-${date.getUTCMonth() + 1}`;
492
+ }
493
+ _isTrajectoryShownInCurrentPeriod() {
494
+ const periodKey = this._getTrajectoryPeriodKey();
495
+ return !!periodKey && this._storageService.get(TRAJECTORY_NUDGE_SPEC.shownStorageKey, StorageScope.APPLICATION) === periodKey;
496
+ }
497
+ _storeTrajectoryShown() {
498
+ const periodKey = this._getTrajectoryPeriodKey();
499
+ if (periodKey) {
500
+ this._storageService.store(
501
+ TRAJECTORY_NUDGE_SPEC.shownStorageKey,
502
+ periodKey,
503
+ StorageScope.APPLICATION,
504
+ StorageTarget.USER
505
+ );
506
+ }
507
+ }
336
508
  _setNotification(notification) {
337
509
  this._chatInputNotificationService.setNotification(notification);
338
510
  }
@@ -340,7 +512,24 @@ let ChatQuotaNotificationContribution = class ChatQuotaNotificationContribution
340
512
  this._showingExhausted = false;
341
513
  this._chatInputNotificationService.deleteNotification(QUOTA_NOTIFICATION_ID);
342
514
  }
515
+ _isQuotaKnownAvailable() {
516
+ return !!this._getRelevantSnapshot() && !this._isQuotaUsedUp();
517
+ }
518
+ _isExhaustedDismissed() {
519
+ return this._storageService.getBoolean(QUOTA_EXHAUSTED_DISMISSED_STORAGE_KEY, StorageScope.APPLICATION, false);
520
+ }
521
+ _setExhaustedDismissed() {
522
+ this._storageService.store(
523
+ QUOTA_EXHAUSTED_DISMISSED_STORAGE_KEY,
524
+ true,
525
+ StorageScope.APPLICATION,
526
+ StorageTarget.MACHINE
527
+ );
528
+ }
529
+ _clearExhaustedDismissed() {
530
+ this._storageService.remove(QUOTA_EXHAUSTED_DISMISSED_STORAGE_KEY, StorageScope.APPLICATION);
531
+ }
343
532
  };
344
- ChatQuotaNotificationContribution = ( __decorate([( __param(0, IChatEntitlementService)), ( __param(1, IChatInputNotificationService)), ( __param(2, IContextKeyService)), ( __param(3, ILanguageModelsService)), ( __param(4, IStorageService))], ChatQuotaNotificationContribution));
533
+ ChatQuotaNotificationContribution = ( __decorate([( __param(0, IChatEntitlementService)), ( __param(1, IChatInputNotificationService)), ( __param(2, IContextKeyService)), ( __param(3, ILanguageModelsService)), ( __param(4, IStorageService)), ( __param(5, IWorkbenchAssignmentService)), ( __param(6, ITelemetryService)), ( __param(7, ILogService))], ChatQuotaNotificationContribution));
345
534
 
346
535
  export { ChatQuotaNotificationContribution };
@@ -128,13 +128,13 @@ let ChatRepoInfoContribution = class ChatRepoInfoContribution extends Disposable
128
128
  const registry = ( Registry.as(Extensions.Configuration));
129
129
  registry.registerConfiguration({
130
130
  id: "chatRepoInfo",
131
- title: ( localize(6672, "Chat Repository Info")),
131
+ title: ( localize(7175, "Chat Repository Info")),
132
132
  type: "object",
133
133
  properties: {
134
134
  [ChatConfiguration.RepoInfoEnabled]: {
135
135
  type: "boolean",
136
136
  description: ( localize(
137
- 6673,
137
+ 7176,
138
138
  "Controls whether lightweight repository metadata (branch, commit, remotes) is captured when a chat request is submitted for internal diagnostics."
139
139
  )),
140
140
  default: false
@@ -0,0 +1,30 @@
1
+ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
3
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
+ import { IEditSessionEntryDiff } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
5
+ import { IChatResponseFileChangesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.service";
6
+ /**
7
+ * Supplies the per-response (per-request) file-change diffs rendered by the
8
+ * "Changed N files" summary under a completed chat response.
9
+ *
10
+ * Most chat sessions derive these diffs from their {@link IChatEditingSession}.
11
+ * Some session types (notably agent host sessions) own an authoritative,
12
+ * server-computed view of a turn's changes and provide it here instead, so the
13
+ * summary reflects the same source of truth as the rest of that session's
14
+ * change UI.
15
+ */
16
+ export interface IChatResponseFileChangesProvider {
17
+ /**
18
+ * Returns an observable of the file-change diffs produced by `requestId`
19
+ * within `sessionResource`, or `undefined` when this provider cannot
20
+ * supply changes for that request (in which case the caller falls back to
21
+ * the chat editing session).
22
+ */
23
+ getChangesForRequest(sessionResource: URI, requestId: string): IObservable<readonly IEditSessionEntryDiff[]> | undefined;
24
+ }
25
+ export declare class ChatResponseFileChangesService extends Disposable implements IChatResponseFileChangesService {
26
+ readonly _serviceBrand: undefined;
27
+ private readonly _providers;
28
+ registerProvider(chatSessionType: string, provider: IChatResponseFileChangesProvider): IDisposable;
29
+ getChangesForRequest(sessionResource: URI, requestId: string): IObservable<readonly IEditSessionEntryDiff[]> | undefined;
30
+ }
@@ -0,0 +1,29 @@
1
+
2
+ import { Disposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
+ import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
4
+
5
+ class ChatResponseFileChangesService extends Disposable {
6
+ constructor() {
7
+ super(...arguments);
8
+ this._providers = ( new Map());
9
+ }
10
+ registerProvider(chatSessionType, provider) {
11
+ if (( this._providers.has(chatSessionType))) {
12
+ throw ( new Error(
13
+ `A chat response file changes provider is already registered for session type '${chatSessionType}'`
14
+ ));
15
+ }
16
+ this._providers.set(chatSessionType, provider);
17
+ return toDisposable(() => {
18
+ if (this._providers.get(chatSessionType) === provider) {
19
+ this._providers.delete(chatSessionType);
20
+ }
21
+ });
22
+ }
23
+ getChangesForRequest(sessionResource, requestId) {
24
+ const provider = this._providers.get(getChatSessionType(sessionResource));
25
+ return provider?.getChangesForRequest(sessionResource, requestId);
26
+ }
27
+ }
28
+
29
+ export { ChatResponseFileChangesService };