@codingame/monaco-vscode-chat-service-override 36.2.7 → 37.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (725) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +92 -10
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +10 -3
  5. package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +54 -17
  6. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.d.ts +14 -0
  7. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +46 -0
  8. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +7 -2
  9. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +34 -2
  10. package/vscode/src/vs/platform/agentHost/browser/{remoteAgentHostProtocolClient.d.ts → agentHostProtocolClient.d.ts} +240 -60
  11. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1911 -0
  12. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +30 -33
  13. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +381 -315
  14. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +3 -1
  15. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +2 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.d.ts +9 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostClientInfo.js +20 -0
  18. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.d.ts +144 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostExtensionProtocol.js +20 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +14 -6
  21. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +14 -10
  22. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +1 -1
  23. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.d.ts +47 -0
  24. package/vscode/src/vs/platform/agentHost/common/agentHostManagedRules.js +75 -0
  25. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.d.ts +68 -0
  26. package/vscode/src/vs/platform/agentHost/common/agentHostManagedSettings.js +161 -0
  27. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +288 -45
  28. package/vscode/src/vs/platform/agentHost/common/agentMerge.d.ts +261 -0
  29. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +67 -0
  30. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.d.ts +53 -0
  31. package/vscode/src/vs/platform/agentHost/common/agentSdkSetup.js +45 -0
  32. package/vscode/src/vs/platform/agentHost/common/changesetUri.d.ts +130 -0
  33. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +27 -0
  34. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +8 -2
  35. package/vscode/src/vs/platform/agentHost/common/customAgents.js +7 -0
  36. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.d.ts +39 -0
  37. package/vscode/src/vs/platform/agentHost/common/meta/agentChatSurfaceMeta.js +25 -0
  38. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.d.ts +110 -0
  39. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +38 -0
  40. package/vscode/src/vs/platform/agentHost/common/meta/agentHostArtifactRemovalMeta.d.ts +4 -0
  41. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.d.ts +7 -0
  42. package/vscode/src/vs/platform/agentHost/common/meta/clientPluginCustomizationMeta.js +14 -0
  43. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +3 -3
  44. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +16 -24
  45. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.d.ts +8 -0
  46. package/vscode/src/vs/platform/agentHost/common/semanticSearchConstants.js +8 -0
  47. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.d.ts +75 -0
  48. package/vscode/src/vs/platform/agentHost/common/sessionArtifacts.js +84 -0
  49. package/vscode/src/vs/platform/agentHost/common/shellInitScript.d.ts +24 -0
  50. package/vscode/src/vs/platform/agentHost/common/shellInitScript.js +63 -0
  51. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +71 -20
  52. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +187 -26
  53. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +30 -0
  54. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +87 -0
  55. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +2 -2
  56. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.d.ts +4 -0
  57. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation/reducer.js +37 -0
  58. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.d.ts +4 -0
  59. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-automation-run/reducer.js +45 -0
  60. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +5 -4
  61. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +100 -35
  62. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +193 -49
  63. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +161 -40
  64. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +1 -1
  65. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +5 -1
  66. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
  67. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.d.ts +1 -0
  68. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/timestamps.js +7 -0
  69. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  70. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +114 -3
  71. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +28 -5
  72. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -2
  73. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.d.ts +34 -0
  74. package/vscode/src/vs/platform/agentHost/common/state/sessionWorkingDirectories.js +28 -0
  75. package/vscode/src/vs/platform/agentHost/common/worktreePaths.d.ts +24 -0
  76. package/vscode/src/vs/platform/agentHost/common/worktreePaths.js +15 -0
  77. package/vscode/src/vs/platform/browserView/common/browserChatToolReferenceNames.d.ts +1 -1
  78. package/vscode/src/vs/platform/chat/common/aiAgentEnv.d.ts +18 -0
  79. package/vscode/src/vs/platform/chat/common/aiAgentEnv.js +6 -0
  80. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +5 -1
  81. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +77 -5
  82. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +1 -1
  83. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +9 -5
  84. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +1 -5
  85. package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -4
  86. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +19 -7
  87. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +49 -37
  88. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +2 -1
  89. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +12 -0
  90. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +1 -2
  91. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +1 -0
  92. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.d.ts +5 -0
  93. package/vscode/src/vs/platform/terminal/common/autoApprove/autoApproveParseSafety.js +7 -0
  94. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.d.ts +5 -0
  95. package/vscode/src/vs/platform/terminal/common/autoApprove/cmdDelayedExpansion.js +8 -0
  96. package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.d.ts +1 -2
  97. package/vscode/src/vs/workbench/browser/chatChangesPill.d.ts +29 -0
  98. package/vscode/src/vs/workbench/browser/chatChangesPill.js +84 -0
  99. package/vscode/src/vs/workbench/common/chatPullRequest.d.ts +19 -0
  100. package/vscode/src/vs/workbench/common/chatPullRequest.js +53 -0
  101. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +342 -155
  102. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  103. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +25 -2
  104. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +150 -67
  105. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +5 -3
  106. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +5 -1
  107. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +39 -9
  108. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +1 -1
  109. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  110. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  111. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +4 -2
  112. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +54 -17
  113. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  114. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +1 -1
  115. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  116. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +1 -1
  117. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  118. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +6 -0
  119. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +5 -1
  120. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  123. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/media/voiceModeOnboarding.css +252 -0
  124. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  125. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  126. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.d.ts +146 -0
  127. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +889 -0
  128. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +2 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +3 -54
  131. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +32 -3
  132. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +214 -161
  133. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +10 -9
  134. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +2 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +256 -72
  136. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +2 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +11 -12
  139. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +19 -15
  140. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +30 -14
  141. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +19 -10
  142. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +9 -9
  143. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  144. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.d.ts +6 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +237 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +7 -6
  147. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  148. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +10 -10
  149. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.d.ts +6 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +68 -61
  151. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +17 -21
  152. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +17 -21
  153. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +68 -14
  156. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  157. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -19
  158. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +7 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +222 -72
  160. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -17
  161. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +530 -305
  162. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.d.ts +25 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +63 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.d.ts +30 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/agentHostCompletionAction.js +37 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.d.ts +6 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +95 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +10 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +18 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +86 -47
  173. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +61 -47
  174. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +43 -24
  175. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +326 -76
  176. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +112 -5
  177. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +33 -7
  178. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.d.ts +20 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostImportConversationStore.js +26 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +28 -10
  181. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +110 -126
  182. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.d.ts +131 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupport.js +638 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.d.ts +41 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostMcpServerSupportScope.js +202 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +24 -1
  187. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +26 -5
  188. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +10 -7
  189. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.d.ts +20 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostProtectedResourcesService.js +55 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.d.ts +62 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +40 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.d.ts +59 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +624 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.d.ts +90 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +207 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.d.ts +31 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostShellInitSynchronizer.js +140 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +4 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +5 -1
  201. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +5 -4
  202. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +74 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +511 -171
  204. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.d.ts +32 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSessionConfig.js +48 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +55 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +210 -20
  208. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +43 -24
  209. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +46 -10
  210. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +216 -110
  211. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +9 -4
  212. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +26 -17
  213. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  215. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  216. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  217. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -26
  218. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +5 -2
  219. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +6 -6
  220. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  221. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  222. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.d.ts +3 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +62 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/sessionSummaryHover.css +104 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.d.ts +115 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +168 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.d.ts +24 -0
  228. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHoverService.js +32 -0
  229. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +56 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +0 -4
  231. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +16 -17
  232. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +7 -3
  233. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -0
  234. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +2 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +10 -1
  236. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +48 -1
  237. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +913 -220
  238. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +148 -84
  240. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +161 -17
  241. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +2367 -247
  242. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +5 -2
  243. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +21 -13
  244. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.d.ts +26 -0
  245. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementSectionRegistry.js +34 -0
  246. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +2 -0
  247. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +23 -0
  248. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +15 -0
  249. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +3 -0
  250. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +10 -2
  251. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +143 -68
  252. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  253. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +10 -5
  254. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.d.ts +40 -0
  255. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +302 -0
  256. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +1 -2
  257. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +49 -8
  258. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +3 -3
  259. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +38 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.js +240 -0
  261. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.d.ts +1 -0
  262. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +53 -0
  263. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.d.ts +82 -0
  264. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +762 -0
  265. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.d.ts +80 -0
  266. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +279 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.d.ts +44 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +437 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +85 -6
  270. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +697 -15
  271. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
  272. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +40 -10
  273. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +164 -42
  274. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +6 -9
  275. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +260 -31
  276. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +2097 -589
  277. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.d.ts +32 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpServerCustomizationMigration.js +860 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2229 -1338
  280. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +79 -26
  281. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/customizationMigrationDashboard.css +354 -0
  282. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +85 -9
  283. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +1550 -357
  284. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +2 -4
  285. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +13 -27
  286. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +38 -26
  287. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +637 -319
  288. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +28 -10
  289. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.d.ts +10 -0
  290. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatPasteTargetService.js +22 -0
  291. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.d.ts +15 -0
  292. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatReferenceAttachmentWidget.contribution.js +38 -0
  293. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.d.ts +8 -0
  294. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/transcriptContextAttachmentWidget.contribution.js +38 -0
  295. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +4 -1
  296. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +1675 -633
  297. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +93 -6
  298. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +823 -52
  299. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.d.ts +132 -0
  300. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +446 -0
  301. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.d.ts +183 -0
  302. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostUsageSidecar.js +218 -0
  303. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +45 -42
  304. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +11 -0
  305. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +163 -136
  306. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  307. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +7 -7
  308. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +22 -2
  309. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +105 -14
  310. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  311. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.d.ts +32 -0
  312. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +49 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  314. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  316. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  317. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +27 -22
  318. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +6 -0
  319. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +22 -23
  320. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  321. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -25
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +7 -2
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +76 -43
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  329. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.d.ts +145 -0
  330. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +839 -0
  331. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +277 -3
  332. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  333. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +6 -6
  334. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  335. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  336. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  337. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +16 -16
  338. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -4
  339. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  340. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +8 -4
  341. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +6 -3
  343. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +35 -19
  344. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +16 -9
  345. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +4 -3
  346. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +4 -4
  347. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +4 -0
  348. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +7 -2
  349. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  350. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.d.ts +5 -5
  351. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +3 -3
  352. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.d.ts +86 -0
  353. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +282 -0
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +14 -10
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +5 -0
  357. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +37 -25
  358. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +7 -5
  359. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +135 -82
  360. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  361. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.d.ts +17 -0
  362. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutlineCreator.js +28 -0
  363. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +5 -5
  364. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  365. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.d.ts +7 -0
  366. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementPreview.js +114 -0
  367. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.d.ts +45 -0
  368. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +326 -0
  369. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.d.ts +33 -0
  370. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +99 -0
  371. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.d.ts +17 -0
  372. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +46 -0
  373. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.d.ts +27 -0
  374. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +301 -0
  375. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.d.ts +22 -0
  376. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +103 -0
  377. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +9 -36
  378. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +103 -196
  379. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  380. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +36 -30
  381. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +2 -0
  382. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +51 -12
  383. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  384. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +31 -27
  385. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +65 -20
  386. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +291 -138
  387. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +9 -0
  388. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-dark.svg +1 -0
  389. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/microsoft-light.svg +1 -0
  390. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.d.ts +9 -0
  391. package/vscode/src/vs/workbench/contrib/chat/browser/chatSideChat.js +24 -0
  392. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -1
  393. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +59 -35
  394. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +7 -2
  395. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +221 -145
  396. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +15 -29
  397. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +21 -3
  398. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.d.ts +22 -0
  399. package/vscode/src/vs/workbench/contrib/chat/browser/chatSubmitRequestHandlerService.js +27 -0
  400. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +9 -0
  401. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +23 -21
  402. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +6 -1
  403. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +62 -6
  404. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +15 -1
  405. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +97 -8
  406. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  407. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +6 -6
  408. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +11 -2
  409. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +24 -16
  410. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  411. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  412. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +44 -0
  413. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +232 -0
  414. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.d.ts +36 -0
  415. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +127 -0
  416. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +1 -1
  417. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.d.ts +18 -0
  418. package/vscode/src/vs/workbench/contrib/chat/browser/feedbackSurvey/chatModelFeedbackSurveyPromptContribution.js +55 -0
  419. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +4 -3
  420. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  421. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatPetAchievements.css +236 -0
  422. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +1 -1
  423. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.d.ts +9 -0
  424. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +260 -0
  425. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +39 -5
  426. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +155 -56
  427. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +10 -14
  428. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +29 -14
  429. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +2 -0
  430. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +76 -24
  431. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
  432. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +53 -32
  433. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
  434. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +17 -17
  435. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +8 -7
  436. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.d.ts +1 -1
  437. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +29 -71
  438. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +3 -0
  439. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +36 -40
  440. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +3 -0
  441. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  442. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  443. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  444. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  445. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  446. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +9 -16
  447. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  448. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +5 -13
  449. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/media/promptTimeline.css +820 -0
  450. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.d.ts +38 -0
  451. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptBucketing.js +100 -0
  452. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.d.ts +1 -0
  453. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +51 -0
  454. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.d.ts +30 -0
  455. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +113 -0
  456. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.d.ts +146 -0
  457. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +440 -0
  458. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.d.ts +16 -0
  459. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineLayout.js +5 -0
  460. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.d.ts +194 -0
  461. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +525 -0
  462. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRail.d.ts +33 -0
  463. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.d.ts +128 -0
  464. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +460 -0
  465. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.d.ts +38 -0
  466. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +120 -0
  467. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.d.ts +53 -0
  468. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineWidgetContrib.js +160 -0
  469. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +25 -22
  470. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.d.ts +13 -0
  471. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +52 -0
  472. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.d.ts +22 -0
  473. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +58 -0
  474. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.d.ts +63 -0
  475. package/vscode/src/vs/workbench/contrib/chat/browser/speechToText/voiceCodeTranscriptionClient.js +361 -0
  476. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.d.ts +35 -0
  477. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatEditorTopologyTelemetry.js +90 -0
  478. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +25 -18
  479. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
  480. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +77 -41
  481. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +60 -43
  482. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -1
  483. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +60 -16
  484. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +10 -8
  485. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +13 -4
  486. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -1
  487. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +44 -24
  488. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +4 -4
  489. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  490. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +52 -6
  491. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +446 -79
  492. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.d.ts +11 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceInputUtils.js +13 -0
  494. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.d.ts +66 -0
  495. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +297 -0
  496. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.d.ts +137 -0
  497. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +714 -0
  498. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentOpenChat.css +379 -0
  499. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.d.ts +10 -0
  500. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +78 -0
  501. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.d.ts +36 -0
  502. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatPetWidgetService.js +172 -0
  503. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +5 -1
  504. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +8 -1
  505. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.d.ts +15 -0
  506. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNoticeHub.js +30 -0
  507. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +11 -1
  508. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +41 -13
  509. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +5 -2
  510. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +133 -3
  511. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +3 -2
  512. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +11 -2
  513. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +4 -4
  514. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.d.ts +1 -0
  515. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +96 -0
  516. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  517. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +36 -1
  518. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +67 -17
  519. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +23 -37
  520. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.d.ts +18 -0
  521. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +72 -3
  522. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputPlaceholderDecoration.d.ts +11 -0
  523. package/vscode/src/vs/workbench/contrib/{agentsVoice/common/agentsVoiceColors.js → chat/browser/widget/input/editor/chatInputPlaceholderDecoration.js} +17 -15
  524. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.d.ts +3 -0
  525. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +16 -0
  526. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  527. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +6 -4
  528. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +21 -13
  529. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +48 -8
  530. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +457 -142
  531. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -1
  532. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +22 -14
  533. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +6 -22
  534. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.d.ts +22 -0
  535. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationBlueprint.js +163 -0
  536. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +27 -5
  537. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +79 -32
  538. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.d.ts +6 -0
  539. package/vscode/src/vs/workbench/contrib/chat/common/chatNotification.js +12 -0
  540. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +44 -11
  541. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +404 -51
  542. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +64 -4
  543. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +33 -2
  544. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.d.ts +68 -0
  545. package/vscode/src/vs/workbench/contrib/chat/common/chatSideChatService.js +70 -0
  546. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -2
  547. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +18 -5
  548. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +43 -14
  549. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -0
  550. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +4 -9
  551. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +164 -71
  552. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
  553. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
  554. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  555. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  556. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  557. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  558. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.d.ts +3 -1
  559. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +19 -10
  560. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +3 -1
  561. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +172 -159
  562. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.d.ts +115 -0
  563. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/customizationMigrationService.js +69 -0
  564. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.d.ts +60 -0
  565. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +139 -0
  566. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  567. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +5 -0
  568. package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +21 -1
  569. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +25 -2
  570. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +55 -18
  571. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  572. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  573. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  574. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +1 -0
  575. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  576. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  577. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.d.ts +59 -0
  578. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +323 -0
  579. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.d.ts +30 -0
  580. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionResolver.js +79 -0
  581. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +6 -2
  582. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +118 -13
  583. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  584. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  585. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  586. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  587. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  588. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  589. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +1 -0
  590. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.d.ts +81 -0
  591. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +85 -0
  592. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  593. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  594. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +23 -23
  595. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  596. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +17 -3
  597. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +81 -7
  598. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.d.ts +30 -0
  599. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatSessionResolver.js +86 -0
  600. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +10 -2
  601. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +97 -18
  602. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +2 -22
  603. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +10 -8
  604. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +2 -1
  605. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +2 -0
  606. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +42 -36
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +8 -0
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +10 -0
  609. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
  610. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
  611. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  612. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +25 -16
  613. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +4 -3
  614. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.d.ts +70 -0
  615. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/consoleCompactor/consoleCompactor.js +4316 -0
  616. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  617. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  618. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  619. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  620. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +4 -4
  621. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +4 -4
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -1
  624. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +188 -148
  625. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
  626. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  627. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  628. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  629. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  630. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +7 -0
  631. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +82 -3
  632. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +5 -6
  633. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -42
  634. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.d.ts +2 -0
  635. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalOutput.js +8 -0
  636. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
  637. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +27 -8
  638. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +205 -0
  639. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +1580 -0
  640. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.d.ts +30 -0
  641. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +175 -0
  642. package/vscode/src/vs/workbench/services/agentEditorComments/browser/media/agentEditorCommentsOverlayWidget.css +65 -0
  643. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.d.ts +47 -0
  644. package/vscode/src/vs/workbench/services/agentHost/browser/agentSdkSetupService.js +129 -0
  645. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +26 -8
  646. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +89 -27
  647. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.d.ts +8 -0
  648. package/vscode/src/vs/workbench/services/agentHost/browser/webAgentHostEnablementService.js +28 -0
  649. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +5 -1
  650. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +18 -18
  651. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.js +159 -60
  652. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.d.ts +47 -0
  653. package/vscode/src/vs/workbench/services/agentHost/common/editorRemoteAgentHostTransport.js +362 -0
  654. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +0 -1
  655. package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +0 -40
  656. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +0 -1110
  657. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +0 -76
  658. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.d.ts +0 -63
  659. package/vscode/src/vs/platform/agentHost/common/agentHostResourceService.js +0 -25
  660. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +0 -254
  661. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +0 -451
  662. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +0 -1294
  663. package/vscode/src/vs/platform/agentHost/common/agentService.js +0 -92
  664. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.d.ts +0 -186
  665. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/errors.js +0 -10
  666. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +0 -42
  667. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +0 -7
  668. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +0 -15
  669. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +0 -15
  670. package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +0 -2
  671. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +0 -19
  672. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +0 -243
  673. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +0 -24
  674. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +0 -77
  675. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +0 -92
  676. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +0 -224
  677. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +0 -23
  678. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +0 -52
  679. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +0 -16
  680. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +0 -96
  681. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.d.ts +0 -27
  682. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +0 -152
  683. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +0 -87
  684. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +0 -772
  685. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +0 -30
  686. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +0 -29
  687. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +0 -20
  688. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +0 -40
  689. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +0 -160
  690. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +0 -9
  691. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +0 -123
  692. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +0 -37
  693. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +0 -572
  694. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +0 -125
  695. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +0 -399
  696. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +0 -321
  697. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +0 -2117
  698. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +0 -57
  699. package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +0 -367
  700. package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +0 -78
  701. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +0 -13
  702. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +0 -11
  703. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +0 -6
  704. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +0 -16
  705. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +0 -6
  706. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +0 -46
  707. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +0 -36
  708. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +0 -6
  709. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +0 -12
  710. package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +0 -6
  711. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +0 -9
  712. package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +0 -6
  713. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +0 -15
  714. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +0 -177
  715. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +0 -67
  716. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +0 -195
  717. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +0 -65
  718. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +0 -264
  719. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +0 -190
  720. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +0 -865
  721. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +0 -31
  722. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +0 -122
  723. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  724. /package/vscode/src/vs/{workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers → platform/terminal/common/autoApprove}/sedFileWriteParser.js +0 -0
  725. /package/vscode/src/vs/{platform/agentHost/common/agentHost.config.contribution.d.ts → workbench/contrib/chat/browser/agentSessionsConfiguration.d.ts} +0 -0
@@ -1,15 +1,17 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { DeferredPromise, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
3
+ import { raceCancellationError, DeferredPromise, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
4
  import { CancellationTokenSource, CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
5
5
  import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
6
- import { ErrorNoTelemetry, BugIndicatingError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
6
+ import { BugIndicatingError, ErrorNoTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
7
7
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
- import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
8
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
9
+ import { MarkdownString, createMarkdownCommandLink } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
9
10
  import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
10
- import { Disposable, DisposableResourceMap, DisposableStore, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
11
+ import { Disposable, toDisposable, DisposableResourceMap, DisposableStore, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
11
12
  import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
12
13
  import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
14
+ import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
13
15
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
14
16
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
15
17
  import { StopWatch } from '@codingame/monaco-vscode-api/vscode/vs/base/common/stopwatch';
@@ -26,6 +28,7 @@ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode
26
28
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
27
29
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
28
30
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
31
+ import { isVirtualWorkspace } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/virtualWorkspace';
29
32
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
30
33
  import { IChatEntitlementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service';
31
34
  import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
@@ -34,22 +37,23 @@ import { awaitStatsForSession } from '@codingame/monaco-vscode-api/vscode/vs/wor
34
37
  import { clearChatMarks, markChat, ChatPerfMark } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatPerf';
35
38
  import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
36
39
  import { chatEditingSessionIsReady } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
37
- import { logChangesToStateModel, normalizeSerializableChatData, ChatModel, ChatRequestRemovalReason, ChatRequestModel, updateRanges, toChatHistoryContent } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
40
+ import { logChangesToStateModel, normalizeSerializableChatData, ChatModel, getRestoredChatRequestSource, ChatRequestModel, ChatRequestRemovalReason, updateRanges, toChatHistoryContent } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
38
41
  import { ChatModelStore } from '../model/chatModelStore.js';
39
42
  import { ChatRequestTextPart, ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestSlashCommandPart, getPromptText, chatSubcommandLeader, chatAgentLeader } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
40
43
  import { ChatRequestParser } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
41
44
  import { ChatPendingRequestChangeEventName, ChatRequestQueueKind, ChatMcpServersStarting, ChatStopCancellationNoopEventName, ResponseModelState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
42
45
  import { ChatServiceTelemetry, ChatRequestTelemetry } from './chatServiceTelemetry.js';
43
- import { isAgentHostTarget, localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
46
+ import { isAgentHostTarget, localChatSessionType, isTerminalCommandPrompt } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
44
47
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
45
48
  import { ChatSessionStore } from '../model/chatSessionStore.js';
46
49
  import { IChatSlashCommandService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service';
47
50
  import { IChatTransferService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatTransferService.service';
48
51
  import { LocalChatSessionUri, getChatSessionType, chatSessionResourceToId, isUntitledChatSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
49
52
  import { isExplicitFileOrImageVariableEntry, IChatRequestVariableEntry, ChatRequestVariableSet, isPromptTextVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
50
- import { ChatAgentLocation, ChatModeKind, ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
53
+ import { ChatAgentLocation, ChatModeKind, ChatConfiguration, CustomizationMigrationHintMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
51
54
  import { ChatMessageRole } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
52
55
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
56
+ import { ModelSelectionReason } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/modelSelection';
53
57
  import { ToolAndToolSetEnablementMap } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
54
58
  import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
55
59
  import { ChatSessionOperationLog } from '../model/chatSessionOperationLog.js';
@@ -57,13 +61,16 @@ import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
57
61
  import { AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING, TROUBLESHOOT_COMMAND_NAME, COPILOT_SKILL_URI_SCHEME, TROUBLESHOOT_SKILL_PATH } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
58
62
  import { mergeHooks } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
59
63
  import { ComputeAutomaticInstructions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions';
64
+ import { CustomizationMigrationHintTarget } from '../promptSyntax/service/customizationMigrationService.js';
60
65
  import { findLast } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arraysFind';
61
66
  import { ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModes';
67
+ import { getCustomizationMigrationHintDismissedStorageKey, AICustomizationManagementSection, AICustomizationManagementCommands } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
62
68
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
63
69
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
64
70
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
65
71
 
66
72
  const serializedChatKey = "interactive.sessions";
73
+ const customizationMigrationHintShownStateKey = "customizationMigrationHintShown";
67
74
  function hasDraftInput(model) {
68
75
  const state = model.inputModel.state.get();
69
76
  if (!state) {
@@ -114,6 +121,28 @@ let CancellableRequest = class CancellableRequest {
114
121
  CancellableRequest = ( __decorate([( __param(4, ILanguageModelToolsService))], CancellableRequest));
115
122
  const EMPTY_REFERENCES = ( Object.freeze([]));
116
123
  const EMPTY_TOOL_ENABLEMENT_MAP = ToolAndToolSetEnablementMap.fromEntries([]);
124
+ function backfillRestoredPickerState(stateToApply, savedState, defaultAgentModeId) {
125
+ if (!stateToApply || !savedState) {
126
+ return stateToApply;
127
+ }
128
+ const mode = (stateToApply.mode.id === defaultAgentModeId && savedState.mode.id !== defaultAgentModeId) ? savedState.mode : stateToApply.mode;
129
+ if (mode === stateToApply.mode) {
130
+ return stateToApply;
131
+ }
132
+ return {
133
+ ...stateToApply,
134
+ mode
135
+ };
136
+ }
137
+ function backfillTransferredModel(transferredState, historyModel) {
138
+ if (!transferredState || transferredState.selectedModel || !historyModel) {
139
+ return transferredState;
140
+ }
141
+ return {
142
+ ...transferredState,
143
+ selectedModel: historyModel
144
+ };
145
+ }
117
146
  let ChatService = class ChatService extends Disposable {
118
147
  get transferredSessionResource() {
119
148
  return this._transferredSessionResource;
@@ -127,6 +156,17 @@ let ChatService = class ChatService extends Disposable {
127
156
  waitForModelDisposals() {
128
157
  return this._sessionModels.waitForModelDisposals();
129
158
  }
159
+ registerCustomizationMigrationHintProvider(provider) {
160
+ if (this._customizationMigrationHintProvider) {
161
+ throw ( new BugIndicatingError("A customization migration hint provider is already registered"));
162
+ }
163
+ this._customizationMigrationHintProvider = provider;
164
+ return toDisposable(() => {
165
+ if (this._customizationMigrationHintProvider === provider) {
166
+ this._customizationMigrationHintProvider = undefined;
167
+ }
168
+ });
169
+ }
130
170
  get isEmptyWindow() {
131
171
  const workspace = this.workspaceContextService.getWorkspace();
132
172
  return !workspace.configuration && workspace.folders.length === 0;
@@ -168,6 +208,7 @@ let ChatService = class ChatService extends Disposable {
168
208
  this.chatDebugService = chatDebugService;
169
209
  this._pendingRequests = this._register(( new DisposableResourceMap()));
170
210
  this._queuedRequestDeferreds = ( new Map());
211
+ this._syntheticPendingRequests = ( new WeakSet());
171
212
  this._inFlightUntitledMaterializations = ( new ResourceMap());
172
213
  this._saveModelsEnabled = true;
173
214
  this._onDidSubmitRequest = this._register(( new Emitter()));
@@ -203,7 +244,7 @@ let ChatService = class ChatService extends Disposable {
203
244
  );
204
245
  await this._chatSessionStore.storeSessions([model]);
205
246
  }
206
- } else if (!localSessionId && (model.getRequests().length > 0 || hasDraftInput(model))) {
247
+ } else if (!localSessionId && this.shouldStoreExternalSession(model) && (model.getRequests().length > 0 || hasDraftInput(model))) {
207
248
  logChangesToStateModel(
208
249
  model.inputModel,
209
250
  `disposing external session ${model.sessionResource} with requests or draft input, storing metadata to storage`,
@@ -218,6 +259,8 @@ let ChatService = class ChatService extends Disposable {
218
259
  this._register(this._sessionModels.onDidDisposeModel(model => {
219
260
  clearChatMarks(model.sessionResource);
220
261
  this.chatDebugService.endSession(model.sessionResource);
262
+ this._sessionFollowupCancelTokens.get(model.sessionResource)?.cancel();
263
+ this._sessionFollowupCancelTokens.deleteAndDispose(model.sessionResource);
221
264
  this.chatSessionService.clearMaterializedSessionResource(model.sessionResource);
222
265
  this._onDidDisposeSession.fire({
223
266
  sessionResources: [model.sessionResource],
@@ -242,6 +285,15 @@ let ChatService = class ChatService extends Disposable {
242
285
  get editingSessions() {
243
286
  return ( [...( this._sessionModels.values())].map(v => v.editingSession)).filter(isDefined);
244
287
  }
288
+ getPendingRequestSessionTypes() {
289
+ const sessionTypes = ( new Set(Array.from(( this._inFlightUntitledMaterializations.keys()), getChatSessionType)));
290
+ for (const model of ( this._sessionModels.values())) {
291
+ if (model.requestInProgress.get()) {
292
+ sessionTypes.add(getChatSessionType(model.sessionResource));
293
+ }
294
+ }
295
+ return Array.from(sessionTypes);
296
+ }
245
297
  isEnabled(location) {
246
298
  return this.chatAgentService.getContributedDefaultAgent(location) !== undefined;
247
299
  }
@@ -266,9 +318,7 @@ let ChatService = class ChatService extends Disposable {
266
318
  return;
267
319
  }
268
320
  const liveLocalChats = Array.from(( this._sessionModels.values())).filter(session => this.shouldStoreSession(session));
269
- const liveNonLocalChats = Array.from(( this._sessionModels.values())).filter(
270
- session => !LocalChatSessionUri.parseLocalSessionId(session.sessionResource)
271
- );
321
+ const liveNonLocalChats = Array.from(( this._sessionModels.values())).filter(session => this.shouldStoreExternalSession(session));
272
322
  this._chatSessionStore.updateAndFlushIndexSync(liveLocalChats, liveNonLocalChats);
273
323
  this._chatSessionStore.storeSessions(liveLocalChats);
274
324
  this._chatSessionStore.storeSessionsMetadataOnly(liveNonLocalChats);
@@ -282,6 +332,12 @@ let ChatService = class ChatService extends Disposable {
282
332
  }
283
333
  return session.initialLocation === ChatAgentLocation.Chat && !session.isImported;
284
334
  }
335
+ shouldStoreExternalSession(session) {
336
+ if (LocalChatSessionUri.parseLocalSessionId(session.sessionResource)) {
337
+ return false;
338
+ }
339
+ return session.initialLocation === ChatAgentLocation.Chat;
340
+ }
285
341
  notifyUserAction(action) {
286
342
  this._chatServiceTelemetry.notifyUserAction(action);
287
343
  this._onDidPerformUserAction.fire(action);
@@ -424,7 +480,8 @@ let ChatService = class ChatService extends Disposable {
424
480
  location,
425
481
  sessionResource,
426
482
  canUseTools: options?.canUseTools ?? true,
427
- disableBackgroundKeepAlive: options?.disableBackgroundKeepAlive
483
+ disableBackgroundKeepAlive: options?.disableBackgroundKeepAlive,
484
+ sessionTypeSelectionReason: options?.sessionTypeSelectionReason
428
485
  }, options?.debugOwner ?? "ChatService#startNewLocalSession");
429
486
  }
430
487
  _startSession(props) {
@@ -435,14 +492,18 @@ let ChatService = class ChatService extends Disposable {
435
492
  canUseTools,
436
493
  transferEditingSession,
437
494
  disableBackgroundKeepAlive,
438
- inputState
495
+ inputState,
496
+ isReadOnly,
497
+ sessionTypeSelectionReason
439
498
  } = props;
440
499
  const model = this.instantiationService.createInstance(ChatModel, initialData, {
441
500
  initialLocation: location,
442
501
  canUseTools,
443
502
  resource: sessionResource,
444
503
  disableBackgroundKeepAlive,
445
- inputState
504
+ inputState,
505
+ isReadOnly,
506
+ sessionTypeSelectionReason
446
507
  });
447
508
  if (location === ChatAgentLocation.Chat) {
448
509
  model.startEditingSession(true, transferEditingSession);
@@ -515,7 +576,7 @@ let ChatService = class ChatService extends Disposable {
515
576
  }
516
577
  return this._sessionModels.get(sessionResource)?.title ?? this._chatSessionStore.getMetadataForSessionSync(sessionResource)?.title;
517
578
  }
518
- loadSessionFromData(data, debugOwner) {
579
+ loadSessionFromData(data, debugOwner, sessionTypeSelectionReason) {
519
580
  const sessionId = data.sessionId ?? generateUuid();
520
581
  const sessionResource = LocalChatSessionUri.forSession(sessionId);
521
582
  return this._sessionModels.acquireOrCreate({
@@ -525,27 +586,34 @@ let ChatService = class ChatService extends Disposable {
525
586
  },
526
587
  location: data.initialLocation ?? ChatAgentLocation.Chat,
527
588
  sessionResource,
528
- canUseTools: true
589
+ canUseTools: true,
590
+ sessionTypeSelectionReason
529
591
  }, debugOwner ?? "ChatService#loadSessionFromData");
530
592
  }
531
- async acquireOrLoadSession(sessionResource, location, token, debugOwner) {
593
+ async acquireOrLoadSession(sessionResource, location, token, debugOwner, sessionTypeSelectionReason) {
532
594
  if (LocalChatSessionUri.isLocalSession(sessionResource)) {
533
595
  return this.acquireOrRestoreLocalSession(sessionResource, debugOwner);
534
596
  } else {
535
- return this.loadRemoteSession(sessionResource, location, token, debugOwner);
597
+ return this.loadRemoteSession(sessionResource, location, token, debugOwner, sessionTypeSelectionReason);
536
598
  }
537
599
  }
538
- async loadRemoteSession(sessionResource, location, token, debugOwner) {
600
+ async loadRemoteSession(sessionResource, location, token, debugOwner, sessionTypeSelectionReason) {
601
+ this.trace("loadRemoteSession", `start ${( sessionResource.toString())}`);
539
602
  {
540
603
  const existingRef = this.acquireExistingSession(sessionResource, debugOwner);
541
604
  if (existingRef) {
605
+ this.trace("loadRemoteSession", `reused existing model for ${( sessionResource.toString())}`);
542
606
  return existingRef;
543
607
  }
544
608
  }
545
- if (!(await this.chatSessionService.canResolveChatSession(getChatSessionType(sessionResource)))) {
609
+ if (!(await raceCancellationError(
610
+ this.chatSessionService.canResolveChatSession(getChatSessionType(sessionResource)),
611
+ token
612
+ ))) {
546
613
  return undefined;
547
614
  }
548
615
  const providedSession = await this.chatSessionService.getOrCreateChatSession(sessionResource, token);
616
+ this.trace("loadRemoteSession", `session content resolved for ${( sessionResource.toString())} with ${providedSession.history.length} history item(s)`);
549
617
  {
550
618
  const existingRef = this.acquireExistingSession(sessionResource, debugOwner);
551
619
  if (existingRef) {
@@ -578,11 +646,15 @@ let ChatService = class ChatService extends Disposable {
578
646
  const modelMetadata = modelId ? this.languageModelsService.lookupLanguageModel(modelId) : undefined;
579
647
  const storedModelConfiguration = storedInputState?.selectedModel?.modelConfiguration ?? storedInputState?.modelConfiguration;
580
648
  const modelConfiguration = storedInputState?.selectedModel?.identifier === modelId ? storedModelConfiguration : undefined;
649
+ const storedSelectedModel = storedInputState?.selectedModel;
581
650
  const selectedModel = modelId && modelMetadata ? {
582
651
  identifier: modelId,
583
652
  metadata: modelMetadata,
584
653
  modelConfiguration
585
- } : undefined;
654
+ } : (modelId && storedSelectedModel && storedSelectedModel.identifier === modelId ? {
655
+ ...storedSelectedModel,
656
+ modelConfiguration
657
+ } : undefined);
586
658
  historySelectedModel = selectedModel?.identifier;
587
659
  historyDerivedModel = selectedModel;
588
660
  initialData = {
@@ -613,14 +685,25 @@ let ChatService = class ChatService extends Disposable {
613
685
  ...storedInputState,
614
686
  selectedModel: historyDerivedModel
615
687
  } : undefined;
688
+ const transferredInputState = providedSession.transferredState?.inputState;
689
+ const stateToApply = transferredInputState ? backfillTransferredModel(transferredInputState, historyDerivedModel) : restoredDraft;
690
+ const inputState = backfillRestoredPickerState(stateToApply, storedInputState, ChatMode.Agent.id);
616
691
  const modelRef = this._sessionModels.acquireOrCreate({
617
692
  initialData,
618
693
  location,
619
694
  sessionResource: sessionResource,
620
695
  canUseTools: false,
621
696
  transferEditingSession: providedSession.transferredState?.editingSession,
622
- inputState: providedSession.transferredState?.inputState ?? restoredDraft
697
+ inputState,
698
+ isReadOnly: providedSession.isReadOnly,
699
+ sessionTypeSelectionReason
623
700
  }, debugOwner ?? "ChatService#loadRemoteSession");
701
+ if (modelId && !historySelectedModel) {
702
+ modelRef.object.inputModel.setIntendedModel({
703
+ modelId,
704
+ reason: ModelSelectionReason.SessionRestore
705
+ });
706
+ }
624
707
  logChangesToStateModel(
625
708
  modelRef.object.inputModel,
626
709
  `loadRemoteSession inputState source: session=${( sessionResource.toString())}, chatSessionType=${chatSessionType}, historyModelId=${modelId}, agentUri=${agentUri?.toString()}, historySelectedModel=${historySelectedModel}, transferredSelectedModel=${providedSession.transferredState?.inputState?.selectedModel?.identifier}, storedSelectedModel=${storedInputState?.selectedModel?.identifier}, finalSelectedModel=${modelRef.object.inputModel.state.get()?.selectedModel?.identifier}, hasTransferredInputState=${!!providedSession.transferredState?.inputState}, hasStoredInputState=${!!storedInputState}, hasInitialData=${!!initialData}`,
@@ -674,10 +757,21 @@ let ChatService = class ChatService extends Disposable {
674
757
  };
675
758
  };
676
759
  let lastRequest;
760
+ let lastResponseCompletedAt;
761
+ const completeLastResponse = (finishedNow = false) => {
762
+ if (Number.isFinite(lastResponseCompletedAt)) {
763
+ lastRequest?.response?.complete(lastResponseCompletedAt);
764
+ } else if (finishedNow) {
765
+ lastRequest?.response?.complete();
766
+ } else {
767
+ lastRequest?.response?.completeWithoutTimestamp();
768
+ }
769
+ lastResponseCompletedAt = undefined;
770
+ };
677
771
  for (const message of providedSession.history) {
678
772
  if (message.type === "request") {
679
773
  if (lastRequest) {
680
- lastRequest.response?.complete();
774
+ completeLastResponse();
681
775
  }
682
776
  const requestText = message.prompt;
683
777
  const agent = message.participant ?
@@ -698,7 +792,8 @@ let ChatService = class ChatService extends Disposable {
698
792
  undefined,
699
793
  undefined,
700
794
  false,
701
- message.modelId, undefined, message.id, message.isSystemInitiated, message.systemInitiatedLabel);
795
+ message.modelId, undefined, message.id, message.isSystemInitiated, message.systemInitiatedLabel, undefined,
796
+ message.isTerminalRequest, message.timestamp ?? null, message.isHidden, message.origin, message.isRequestHidden, getRestoredChatRequestSource(message, requestText));
702
797
  } else {
703
798
  if (lastRequest) {
704
799
  for (const part of message.parts) {
@@ -714,12 +809,18 @@ let ChatService = class ChatService extends Disposable {
714
809
  } : {})
715
810
  });
716
811
  }
812
+ if (lastRequest.response && typeof message.elapsedMs === "number") {
813
+ lastRequest.response.setElapsedMs(message.elapsedMs);
814
+ }
815
+ lastResponseCompletedAt = message.completedAt;
717
816
  }
718
817
  }
719
818
  }
819
+ this.trace("loadRemoteSession", `history applied to model for ${( sessionResource.toString())}: ${model.getRequests().length} request(s)`);
720
820
  const hasProgressStreaming = providedSession.progressObs && providedSession.interruptActiveResponseCallback;
721
821
  if (hasProgressStreaming) {
722
822
  let lastProgressLength = 0;
823
+ let wasComplete;
723
824
  const cancellationListener = disposables.add(( new MutableDisposable()));
724
825
  const createCancellationListener = token => {
725
826
  return token.onCancellationRequested(() => {
@@ -732,6 +833,7 @@ let ChatService = class ChatService extends Disposable {
732
833
  };
733
834
  const trackNewCancellableRequest = () => {
734
835
  const cancellableRequest = this.instantiationService.createInstance(CancellableRequest, ( new CancellationTokenSource()), undefined, undefined, undefined);
836
+ this._syntheticPendingRequests.add(cancellableRequest);
735
837
  this._pendingRequests.set(model.sessionResource, cancellableRequest);
736
838
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
737
839
  action: "add",
@@ -751,14 +853,33 @@ let ChatService = class ChatService extends Disposable {
751
853
  if (providedSession.onDidStartServerRequest) {
752
854
  disposables.add(providedSession.onDidStartServerRequest((
753
855
  {
856
+ id,
754
857
  prompt,
755
858
  variableData,
859
+ timestamp,
756
860
  isSystemInitiated,
757
- systemInitiatedLabel
861
+ requestSource,
862
+ isHidden,
863
+ isRequestHidden,
864
+ systemInitiatedLabel,
865
+ isTerminalRequest,
866
+ resume,
867
+ origin
758
868
  }
759
869
  ) => {
870
+ if (resume) {
871
+ const request = model.getRequests().find(request => request.id === id);
872
+ if (!request?.response) {
873
+ throw ( new Error(`Cannot resume missing chat request: ${id}`));
874
+ }
875
+ request.response.reopen();
876
+ lastRequest = request;
877
+ lastProgressLength = 0;
878
+ ensureCancellationTracking();
879
+ return;
880
+ }
760
881
  if (lastRequest?.response && !lastRequest.response.isComplete) {
761
- lastRequest.response.complete();
882
+ completeLastResponse(true);
762
883
  }
763
884
  const agent = this.chatAgentService.getAgent(chatSessionType);
764
885
  const parsedRequest = parseAgentHostHistoryPrompt(prompt, agent);
@@ -773,15 +894,51 @@ let ChatService = class ChatService extends Disposable {
773
894
  undefined,
774
895
  undefined,
775
896
  undefined,
776
- undefined,
777
- isSystemInitiated, systemInitiatedLabel);
897
+ id, isSystemInitiated, systemInitiatedLabel, undefined,
898
+ isTerminalRequest, timestamp, isHidden, origin, isRequestHidden, requestSource);
778
899
  lastProgressLength = 0;
779
900
  ensureCancellationTracking();
780
901
  }));
781
902
  }
903
+ if (!this._isServerManagedQueue(model.sessionResource)) {
904
+ let dispatchingImmediateSteer = false;
905
+ const canImmediatelyDispatch = () => {
906
+ if (!( model.getPendingRequests().some(r => r.kind === ChatRequestQueueKind.Steering))) {
907
+ return false;
908
+ }
909
+ const pending = this._pendingRequests.get(model.sessionResource);
910
+ return !pending || ( this._syntheticPendingRequests.has(pending));
911
+ };
912
+ disposables.add(model.onDidChangePendingRequests(() => {
913
+ if (dispatchingImmediateSteer || !canImmediatelyDispatch()) {
914
+ return;
915
+ }
916
+ dispatchingImmediateSteer = true;
917
+ queueMicrotask(() => {
918
+ dispatchingImmediateSteer = false;
919
+ if (this._sessionModels.get(model.sessionResource) !== model || !canImmediatelyDispatch()) {
920
+ return;
921
+ }
922
+ if (( this._pendingRequests.has(model.sessionResource))) {
923
+ this._pendingRequests.deleteAndDispose(model.sessionResource);
924
+ }
925
+ this.processNextPendingRequest(model);
926
+ this._pendingRequests.get(model.sessionResource)?.responseCompletePromise?.finally(() => {
927
+ if (this._sessionModels.get(model.sessionResource) === model && !(providedSession.isCompleteObs?.get() ?? false)) {
928
+ ensureCancellationTracking();
929
+ }
930
+ });
931
+ });
932
+ }));
933
+ }
782
934
  disposables.add(autorun(reader => {
783
935
  const progressArray = providedSession.progressObs?.read(reader) ?? [];
784
936
  const isComplete = providedSession.isCompleteObs?.read(reader) ?? false;
937
+ const justCompleted = wasComplete === false && isComplete;
938
+ wasComplete = isComplete;
939
+ if (!isComplete) {
940
+ ensureCancellationTracking();
941
+ }
785
942
  if (lastRequest && progressArray.length > lastProgressLength) {
786
943
  const newProgress = progressArray.slice(lastProgressLength);
787
944
  for (const progress of newProgress) {
@@ -792,12 +949,13 @@ let ChatService = class ChatService extends Disposable {
792
949
  if (isComplete && lastRequest) {
793
950
  this._pendingRequests.deleteAndDispose(model.sessionResource);
794
951
  cancellationListener.clear();
795
- lastRequest.response?.complete();
952
+ completeLastResponse(justCompleted);
953
+ this.processPendingRequests(model.sessionResource);
796
954
  }
797
955
  }));
798
956
  } else {
799
957
  if (providedSession.isCompleteObs?.get()) {
800
- lastRequest?.response?.complete();
958
+ completeLastResponse();
801
959
  }
802
960
  this.telemetryService.publicLog2(ChatPendingRequestChangeEventName, {
803
961
  action: "notCancelable",
@@ -806,16 +964,19 @@ let ChatService = class ChatService extends Disposable {
806
964
  });
807
965
  if (lastRequest && model.editingSession) {
808
966
  await chatEditingSessionIsReady(model.editingSession);
809
- lastRequest.response?.complete();
967
+ completeLastResponse();
810
968
  }
811
969
  }
812
970
  return modelRef;
813
971
  }
814
- async resendRequest(request, options) {
972
+ async resendRequest(request, options, preserveRequestId = false) {
815
973
  const model = this._sessionModels.get(request.session.sessionResource);
816
974
  if (!model && model !== request.session) {
817
975
  throw ( new Error(`Unknown session: ${request.session.sessionResource}`));
818
976
  }
977
+ if (model.isReadOnly.get()) {
978
+ return;
979
+ }
819
980
  const cts = this._pendingRequests.get(request.session.sessionResource);
820
981
  if (cts) {
821
982
  this.trace(
@@ -827,8 +988,16 @@ let ChatService = class ChatService extends Disposable {
827
988
  const location = options?.location ?? model.initialLocation;
828
989
  const attempt = options?.attempt ?? 0;
829
990
  const enableCommandDetection = !options?.noCommandDetection;
830
- const defaultAgent = this.chatAgentService.getDefaultAgent(location, options?.modeInfo?.kind);
831
- model.removeRequest(request.id, ChatRequestRemovalReason.Resend);
991
+ const requestedAgentId = options?.agentId ?? options?.agentIdSilent;
992
+ const requestedAgent = requestedAgentId ? this.chatAgentService.getAgent(requestedAgentId) : undefined;
993
+ if (requestedAgentId && !requestedAgent) {
994
+ throw ( new Error("Unknown agent: " + requestedAgentId));
995
+ }
996
+ const defaultAgent = requestedAgent ?? this.chatAgentService.getDefaultAgent(location, options?.modeInfo?.kind);
997
+ const preservedRequest = preserveRequestId && request instanceof ChatRequestModel ? request : undefined;
998
+ if (!preservedRequest) {
999
+ model.removeRequest(request.id, ChatRequestRemovalReason.Resend);
1000
+ }
832
1001
  const resendOptions = {
833
1002
  ...options,
834
1003
  locationData: request.locationData,
@@ -842,7 +1011,9 @@ let ChatService = class ChatService extends Disposable {
842
1011
  enableCommandDetection,
843
1012
  defaultAgent,
844
1013
  location,
845
- resendOptions
1014
+ resendOptions,
1015
+ preservedRequest,
1016
+ preserveRequestId ? request.id : undefined
846
1017
  ).responseCompletePromise;
847
1018
  }
848
1019
  queuePendingRequest(model, sessionResource, request, options) {
@@ -861,6 +1032,7 @@ let ChatService = class ChatService extends Disposable {
861
1032
  modelId: options.userSelectedModelId,
862
1033
  userSelectedTools: options.userSelectedTools?.get(),
863
1034
  isSystemInitiated: options.isSystemInitiated,
1035
+ isHiddenFromTranscript: options.hideFromTranscript,
864
1036
  systemInitiatedLabel: options.systemInitiatedLabel,
865
1037
  terminalExecutionId: options.terminalExecutionId
866
1038
  }));
@@ -899,6 +1071,15 @@ let ChatService = class ChatService extends Disposable {
899
1071
  if (!model) {
900
1072
  throw ( new Error(`Unknown session: ${sessionResource}`));
901
1073
  }
1074
+ if (model.isReadOnly.get()) {
1075
+ return {
1076
+ kind: "rejected",
1077
+ reason: "Session is read-only",
1078
+ ...(newSessionResource ? {
1079
+ newSessionResource
1080
+ } : {})
1081
+ };
1082
+ }
902
1083
  if (!model.hasRequests && isUntitledChatSession(sessionResource) && getChatSessionType(sessionResource) !== localChatSessionType) {
903
1084
  const materialized = await this._materializeUntitledSession(sessionResource, request, options, model);
904
1085
  if (materialized) {
@@ -907,6 +1088,13 @@ let ChatService = class ChatService extends Disposable {
907
1088
  newSessionResource = materialized.newSessionResource;
908
1089
  }
909
1090
  }
1091
+ if (model.isReadOnly.get()) {
1092
+ return {
1093
+ kind: "rejected",
1094
+ reason: "Session is read-only",
1095
+ newSessionResource
1096
+ };
1097
+ }
910
1098
  const hasPendingRequest = ( this._pendingRequests.has(sessionResource));
911
1099
  if (options?.queue) {
912
1100
  const queued = this.queuePendingRequest(model, sessionResource, request, options);
@@ -1017,7 +1205,13 @@ let ChatService = class ChatService extends Disposable {
1017
1205
  return undefined;
1018
1206
  }
1019
1207
  this.chatSessionService.registerSessionResourceAlias(untitledResource, newItem.resource);
1020
- const tempRef = await this.loadRemoteSession(newItem.resource, untitledModel.initialLocation, CancellationToken.None);
1208
+ const tempRef = await this.loadRemoteSession(
1209
+ newItem.resource,
1210
+ untitledModel.initialLocation,
1211
+ CancellationToken.None,
1212
+ undefined,
1213
+ untitledModel.sessionTypeSelectionReason
1214
+ );
1021
1215
  const realModel = tempRef?.object;
1022
1216
  if (!realModel) {
1023
1217
  throw ( new Error(`Failed to load session for resource: ${newItem.resource}`));
@@ -1025,6 +1219,7 @@ let ChatService = class ChatService extends Disposable {
1025
1219
  if (initialSessionOptions) {
1026
1220
  this.chatSessionService.updateSessionOptions(realModel.sessionResource, initialSessionOptions);
1027
1221
  }
1222
+ realModel.inputModel.setIntendedModel(untitledModel.inputModel.intendedModel);
1028
1223
  this.chatSessionService.setMaterializedSessionResource(untitledResource, newItem.resource);
1029
1224
  materialized.complete(newItem.resource);
1030
1225
  this.info(
@@ -1098,22 +1293,34 @@ let ChatService = class ChatService extends Disposable {
1098
1293
  enableCommandDetection,
1099
1294
  defaultAgent,
1100
1295
  location,
1101
- options
1296
+ options,
1297
+ preservedRequest,
1298
+ requestId
1102
1299
  ) {
1103
1300
  const followupsCancelToken = this.refreshFollowupsCancellationToken(sessionResource);
1104
1301
  let request;
1105
1302
  const agentPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentPart);
1106
1303
  const agentSlashCommandPart = parsedRequest.parts.find(r => r instanceof ChatRequestAgentSubcommandPart);
1107
1304
  const commandPart = parsedRequest.parts.find(r => r instanceof ChatRequestSlashCommandPart);
1108
- const requests = [...model.getRequests()];
1305
+ const requests = model.getRequests().filter(request => request !== preservedRequest);
1306
+ const isTerminalCommand = isTerminalCommandPrompt(
1307
+ parsedRequest.text,
1308
+ this.chatSessionService.getCapabilitiesForSessionType(getChatSessionType(sessionResource))?.terminalCommandPrefix
1309
+ );
1109
1310
  const requestTelemetry = this.instantiationService.createInstance(ChatRequestTelemetry, {
1110
1311
  agent: agentPart?.agent ?? defaultAgent,
1111
1312
  agentSlashCommandPart,
1112
1313
  commandPart,
1113
1314
  sessionResource: model.sessionResource,
1315
+ requestIndex: requests.length,
1316
+ sessionTypeSelectionReason: model.sessionTypeSelectionReason,
1114
1317
  location: model.initialLocation,
1115
1318
  options,
1116
- enableCommandDetection
1319
+ enableCommandDetection,
1320
+ isVirtualWorkspace: isVirtualWorkspace(this.workspaceContextService.getWorkspace()),
1321
+ settingDefaultToCopilotHarness: this.configurationService.getValue(ChatConfiguration.DefaultToCopilotHarness) ?? false,
1322
+ settingPreferCopilotHarness: this.configurationService.getValue(ChatConfiguration.EditorPreferCopilotHarness) ?? false,
1323
+ settingLocalAgentEnabled: this.configurationService.getValue(ChatConfiguration.EditorLocalAgentEnabled) ?? true
1117
1324
  });
1118
1325
  let gotProgress = false;
1119
1326
  const requestType = commandPart ? "slashCommand" : "string";
@@ -1176,7 +1383,7 @@ let ChatService = class ChatService extends Disposable {
1176
1383
  model.acceptResponseProgress(request, {
1177
1384
  kind: "markdownContent",
1178
1385
  content: ( new MarkdownString(( localize(
1179
- 8538,
1386
+ 10242,
1180
1387
  "The `{0}` skill requires `{1}` to be enabled. After enabling, reload the window to apply. [Enable in Settings](command:workbench.action.openSettings?{2})",
1181
1388
  TROUBLESHOOT_COMMAND_NAME,
1182
1389
  AGENT_DEBUG_LOG_FILE_LOGGING_ENABLED_SETTING,
@@ -1223,6 +1430,37 @@ let ChatService = class ChatService extends Disposable {
1223
1430
  hasDisabledClaudeHooks
1224
1431
  };
1225
1432
  };
1433
+ const collectCustomizationMigrationHint = async () => {
1434
+ const sessionType = getChatSessionType(sessionResource);
1435
+ const hintMode = this.configurationService.getValue(ChatConfiguration.ChatCustomizationsMigrationHint);
1436
+ const hintAlreadyShown = model.inputModel.state.get()?.contrib[customizationMigrationHintShownStateKey] === true;
1437
+ const showOnce = hintMode === CustomizationMigrationHintMode.Once;
1438
+ if (!isAgentHostTarget(sessionType) || (!showOnce && hintMode !== CustomizationMigrationHintMode.Always) || this.storageService.getBoolean(
1439
+ getCustomizationMigrationHintDismissedStorageKey(sessionType),
1440
+ StorageScope.WORKSPACE
1441
+ ) || (showOnce && hintAlreadyShown) || !this._customizationMigrationHintProvider) {
1442
+ return undefined;
1443
+ }
1444
+ try {
1445
+ const hint = await this._customizationMigrationHintProvider(sessionResource, token);
1446
+ if (hint && !token.isCancellationRequested) {
1447
+ for (const {
1448
+ type,
1449
+ count
1450
+ } of hint.counts) {
1451
+ this.telemetryService.publicLog2("chat.customizationMigrationAssessment", {
1452
+ category: type,
1453
+ count
1454
+ });
1455
+ }
1456
+ return hint;
1457
+ }
1458
+ return undefined;
1459
+ } catch (error) {
1460
+ this.logService.warn("[ChatService] Failed to compute customization migration hint:", error);
1461
+ return undefined;
1462
+ }
1463
+ };
1226
1464
  const collectInstructions = async () => {
1227
1465
  const ctx = options?.instructionContext;
1228
1466
  if (!ctx) {
@@ -1279,7 +1517,7 @@ let ChatService = class ChatService extends Disposable {
1279
1517
  const initVariableData = {
1280
1518
  variables: []
1281
1519
  };
1282
- request = model.addRequest(
1520
+ request = preservedRequest ?? model.addRequest(
1283
1521
  parsedRequest,
1284
1522
  initVariableData,
1285
1523
  attempt,
@@ -1292,14 +1530,20 @@ let ChatService = class ChatService extends Disposable {
1292
1530
  undefined,
1293
1531
  options?.userSelectedModelId,
1294
1532
  options?.userSelectedTools?.get(),
1295
- undefined,
1533
+ requestId,
1296
1534
  options?.isSystemInitiated,
1297
1535
  options?.systemInitiatedLabel,
1298
- options?.terminalExecutionId
1536
+ options?.terminalExecutionId,
1537
+ isTerminalCommand,
1538
+ undefined,
1539
+ options?.hideFromTranscript
1299
1540
  );
1541
+ preservedRequest?.response?.reopen();
1300
1542
  const thisRequest = request;
1301
1543
  completeResponseCreated();
1302
- const [hooksResult, instructionEntries] = await Promise.all([collectHooks(), collectInstructions()]);
1544
+ const [hooksResult, instructionEntries, customizationMigrationHint] = await Promise.all(
1545
+ [collectHooks(), collectInstructions(), collectCustomizationMigrationHint()]
1546
+ );
1303
1547
  const collectedHooks = hooksResult.hooks;
1304
1548
  const hasDisabledClaudeHooks = hooksResult.hasDisabledClaudeHooks;
1305
1549
  const allContext = this.prepareContext(request.attachedContext);
@@ -1337,6 +1581,7 @@ let ChatService = class ChatService extends Disposable {
1337
1581
  acceptedConfirmationData: options?.acceptedConfirmationData,
1338
1582
  rejectedConfirmationData: options?.rejectedConfirmationData,
1339
1583
  agentHostSessionConfig: options?.agentHostSessionConfig,
1584
+ metadata: options?.metadata,
1340
1585
  userSelectedModelId: options?.userSelectedModelId,
1341
1586
  modelConfiguration: options?.userSelectedModelConfiguration ?? (options?.userSelectedModelId ? this.languageModelsService.getModelConfiguration(options.userSelectedModelId) : undefined),
1342
1587
  userSelectedTools: options?.userSelectedTools?.get(),
@@ -1345,7 +1590,9 @@ let ChatService = class ChatService extends Disposable {
1345
1590
  editedFileEvents: thisRequest.editedFileEvents,
1346
1591
  hooks: collectedHooks,
1347
1592
  hasHooksEnabled: !!collectedHooks && ( ( Object.values(collectedHooks)).some(arr => arr.length > 0)),
1593
+ isVoiceModeInput: options?.isVoiceModeInput,
1348
1594
  isSystemInitiated: options?.isSystemInitiated,
1595
+ hideFromTranscript: options?.hideFromTranscript,
1349
1596
  workingDirectory: model.workingDirectory
1350
1597
  };
1351
1598
  let isInitialTools = true;
@@ -1362,7 +1609,7 @@ let ChatService = class ChatService extends Disposable {
1362
1609
  }));
1363
1610
  return agentRequest;
1364
1611
  };
1365
- if (this.configurationService.getValue("chat.detectParticipant.enabled") !== false && this.chatAgentService.hasChatParticipantDetectionProviders() && !agentPart && !commandPart && !agentSlashCommandPart && enableCommandDetection && location !== ChatAgentLocation.EditorInline && options?.modeInfo?.kind !== ChatModeKind.Agent && options?.modeInfo?.kind !== ChatModeKind.Edit && !options?.agentIdSilent) {
1612
+ if (this.configurationService.getValue("chat.detectParticipant.enabled") !== false && this.chatAgentService.hasChatParticipantDetectionProviders() && !agentPart && !commandPart && !agentSlashCommandPart && enableCommandDetection && location !== ChatAgentLocation.EditorInline && options?.modeInfo?.kind !== ChatModeKind.Agent && options?.modeInfo?.kind !== ChatModeKind.Edit && !options?.agentId && !options?.agentIdSilent) {
1366
1613
  const defaultAgentHistory = this.getHistoryEntriesFromModel(requests, location, defaultAgent.id);
1367
1614
  const chatAgentRequest = buildAgentRequest(defaultAgent, undefined, enableCommandDetection, false);
1368
1615
  const result = await this.chatAgentService.detectAgentOrCommand(chatAgentRequest, defaultAgentHistory, {
@@ -1398,6 +1645,51 @@ let ChatService = class ChatService extends Disposable {
1398
1645
  });
1399
1646
  }
1400
1647
  }
1648
+ const showCustomizationMigrationHint = hint => {
1649
+ const hintAlreadyShown = model.inputModel.state.get()?.contrib[customizationMigrationHintShownStateKey] === true;
1650
+ const hintMode = this.configurationService.getValue(ChatConfiguration.ChatCustomizationsMigrationHint);
1651
+ const showOnce = hintMode === CustomizationMigrationHintMode.Once;
1652
+ if (!hint || token.isCancellationRequested || (showOnce && hintAlreadyShown)) {
1653
+ return;
1654
+ }
1655
+ if (showOnce) {
1656
+ model.inputModel.setState({
1657
+ contrib: {
1658
+ ...model.inputModel.state.get()?.contrib,
1659
+ [customizationMigrationHintShownStateKey]: true
1660
+ }
1661
+ });
1662
+ }
1663
+ const reviewArguments = hint.target === CustomizationMigrationHintTarget.FileMigrations ? [{
1664
+ migration: true
1665
+ }] : hint.target === CustomizationMigrationHintTarget.McpServers ? [{
1666
+ section: AICustomizationManagementSection.McpServers
1667
+ }] : undefined;
1668
+ const reviewLink = createMarkdownCommandLink({
1669
+ id: AICustomizationManagementCommands.OpenEditor,
1670
+ text: ( localize(10243, "Review customizations")),
1671
+ tooltip: ( localize(10244, "Open Chat Customizations")),
1672
+ arguments: reviewArguments
1673
+ });
1674
+ const dismissLink = createMarkdownCommandLink({
1675
+ id: AICustomizationManagementCommands.DismissMigrationHint,
1676
+ text: ( localize(10245, "Hide for this workspace")),
1677
+ tooltip: ( localize(10246, "Stop Showing Migration Hints for This Harness"))
1678
+ });
1679
+ progressCallback([{
1680
+ kind: "systemNotification",
1681
+ content: ( new MarkdownString(( localize(10247, "*{0} {1} | {2}*", hint.message, reviewLink, dismissLink)), {
1682
+ isTrusted: {
1683
+ enabledCommands: [
1684
+ AICustomizationManagementCommands.OpenEditor,
1685
+ AICustomizationManagementCommands.DismissMigrationHint
1686
+ ]
1687
+ }
1688
+ })),
1689
+ icon: Codicon.info
1690
+ }]);
1691
+ };
1692
+ showCustomizationMigrationHint(customizationMigrationHint);
1401
1693
  const disabledClaudeHooksDismissedKey = "chat.disabledClaudeHooks.notification";
1402
1694
  if (hasDisabledClaudeHooks && !this.storageService.getBoolean(disabledClaudeHooksDismissedKey, StorageScope.WORKSPACE)) {
1403
1695
  this.storageService.store(
@@ -1481,7 +1773,7 @@ let ChatService = class ChatService extends Disposable {
1481
1773
  );
1482
1774
  rawResult = {
1483
1775
  errorDetails: {
1484
- message: ( localize(8539, "Provider returned null response"))
1776
+ message: ( localize(10248, "Provider returned null response"))
1485
1777
  }
1486
1778
  };
1487
1779
  }
@@ -1510,7 +1802,12 @@ let ChatService = class ChatService extends Disposable {
1510
1802
  agentOrCommandFollowups.then(followups => {
1511
1803
  model.setFollowups(completedRequest, followups);
1512
1804
  const commandForTelemetry = agentSlashCommandPart ? agentSlashCommandPart.command.name : commandPart?.slashCommand.command;
1513
- this._chatServiceTelemetry.retrievedFollowups(agentPart?.agent.id ?? "", commandForTelemetry, followups?.length ?? 0);
1805
+ this._chatServiceTelemetry.retrievedFollowups(
1806
+ model.sessionResource,
1807
+ agentPart?.agent.id ?? "",
1808
+ commandForTelemetry,
1809
+ followups?.length ?? 0
1810
+ );
1514
1811
  });
1515
1812
  }
1516
1813
  }
@@ -1568,7 +1865,8 @@ let ChatService = class ChatService extends Disposable {
1568
1865
  }
1569
1866
  this._onDidSubmitRequest.fire({
1570
1867
  chatSessionResource: model.sessionResource,
1571
- message: parsedRequest
1868
+ message: parsedRequest,
1869
+ attachedContext: options?.attachedContext
1572
1870
  });
1573
1871
  return {
1574
1872
  responseCreatedPromise: responseCreated.p,
@@ -1582,7 +1880,7 @@ let ChatService = class ChatService extends Disposable {
1582
1880
  }
1583
1881
  }
1584
1882
  _isServerManagedQueue(sessionResource) {
1585
- return getChatSessionType(sessionResource).startsWith("agent-host-");
1883
+ return this.chatSessionService.getChatSessionContribution(getChatSessionType(sessionResource))?.agentHostProviderId !== undefined;
1586
1884
  }
1587
1885
  processNextPendingRequest(model) {
1588
1886
  if (this._isServerManagedQueue(model.sessionResource)) {
@@ -1908,6 +2206,61 @@ let ChatService = class ChatService extends Disposable {
1908
2206
  model.setPendingRequests(requests);
1909
2207
  }
1910
2208
  }
2209
+ syncPendingRequestsFromRemote(sessionResource, requests) {
2210
+ const model = this._sessionModels.get(sessionResource);
2211
+ if (!model) {
2212
+ return;
2213
+ }
2214
+ const existing = model.getPendingRequests();
2215
+ const existingById = ( new Map(( existing.map(request => [request.request.id, request]))));
2216
+ const reconciled = ( requests.map(remote => {
2217
+ const variableData = remote.variableData ?? {
2218
+ variables: []
2219
+ };
2220
+ const local = existingById.get(remote.id);
2221
+ if (local && local.request.message.text === remote.message && equals(local.request.variableData, variableData)) {
2222
+ return local.kind === remote.kind ? local : {
2223
+ ...local,
2224
+ kind: remote.kind
2225
+ };
2226
+ }
2227
+ const parsedRequest = this.parseChatRequest(sessionResource, remote.message, model.initialLocation, undefined);
2228
+ const requestModel = ( new ChatRequestModel({
2229
+ session: model,
2230
+ message: parsedRequest,
2231
+ variableData,
2232
+ timestamp: remote.timestamp,
2233
+ attachedContext: variableData.variables.slice(),
2234
+ restoredId: remote.id
2235
+ }));
2236
+ return {
2237
+ request: requestModel,
2238
+ kind: remote.kind,
2239
+ sendOptions: local?.sendOptions ?? {}
2240
+ };
2241
+ }));
2242
+ if (existing.length === reconciled.length && reconciled.every((request, index) => existing[index] === request)) {
2243
+ return;
2244
+ }
2245
+ const reconciledIds = ( new Set(( reconciled.map(request => request.request.id))));
2246
+ model.replacePendingRequests(reconciled);
2247
+ for (const local of existing) {
2248
+ if (( reconciledIds.has(local.request.id))) {
2249
+ continue;
2250
+ }
2251
+ const deferred = this._queuedRequestDeferreds.get(local.request.id);
2252
+ if (deferred) {
2253
+ deferred.complete({
2254
+ kind: "rejected",
2255
+ reason: "Request was removed from queue"
2256
+ });
2257
+ this._queuedRequestDeferreds.delete(local.request.id);
2258
+ }
2259
+ }
2260
+ if (!( reconciled.some(request => request.kind === ChatRequestQueueKind.Steering))) {
2261
+ this._pendingRequests.get(sessionResource)?.resetYieldRequested();
2262
+ }
2263
+ }
1911
2264
  async sendPendingRequestImmediately(sessionResource, requestId) {
1912
2265
  const model = this._sessionModels.get(sessionResource);
1913
2266
  if (!model) {
@@ -2015,7 +2368,7 @@ let ChatService = class ChatService extends Disposable {
2015
2368
  };
2016
2369
  ChatService = ( __decorate([( __param(0, IStorageService)), ( __param(1, ILogService)), ( __param(2, ITelemetryService)), ( __param(3, IExtensionService)), ( __param(4, IInstantiationService)), ( __param(5, IWorkspaceContextService)), ( __param(6, IChatSlashCommandService)), ( __param(7, IChatAgentService)), ( __param(8, IConfigurationService)), ( __param(9, IChatTransferService)), ( __param(10, IChatSessionsService)), ( __param(11, IMcpService)), ( __param(12, IPromptsService)), ( __param(13, IChatEntitlementService)), ( __param(14, ILanguageModelsService)), ( __param(15, IChatDebugService))], ChatService));
2017
2370
  async function chatModelToChatDetail(model) {
2018
- const title = model.title || ( localize(8540, "New Chat"));
2371
+ const title = model.title || ( localize(10249, "New Chat"));
2019
2372
  return {
2020
2373
  sessionResource: model.sessionResource,
2021
2374
  title,
@@ -2028,4 +2381,4 @@ async function chatModelToChatDetail(model) {
2028
2381
  };
2029
2382
  }
2030
2383
 
2031
- export { ChatService, chatModelToChatDetail };
2384
+ export { ChatService, backfillRestoredPickerState, backfillTransferredModel, chatModelToChatDetail };