@codingame/monaco-vscode-chat-service-override 37.0.0 → 37.2.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 (459) hide show
  1. package/index.js +26 -5
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostEnablementService.js +1 -1
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostProtocolClient.js +1 -1
  5. package/vscode/src/vs/platform/agentHost/common/agentHostCustomizationConfig.d.ts +74 -0
  6. package/vscode/src/vs/platform/agentHost/common/agentHostCustomizationConfig.js +90 -0
  7. package/vscode/src/vs/platform/agentHost/common/agentHostSlashCommand.d.ts +8 -0
  8. package/vscode/src/vs/platform/agentHost/common/agentHostSlashCommand.js +16 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +53 -53
  10. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.d.ts +16 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostWorkingDirectories.js +14 -0
  12. package/vscode/src/vs/platform/agentHost/common/agentMerge.js +7 -7
  13. package/vscode/src/vs/platform/agentHost/common/agentModelByokMeta.d.ts +24 -0
  14. package/vscode/src/vs/platform/agentHost/common/agentModelByokMeta.js +13 -0
  15. package/vscode/src/vs/platform/agentHost/common/agentModelNotices.d.ts +22 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentModelNotices.js +21 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentModelPricing.d.ts +114 -0
  18. package/vscode/src/vs/platform/agentHost/common/agentModelPricing.js +56 -0
  19. package/vscode/src/vs/platform/agentHost/common/changesetUri.js +15 -1
  20. package/vscode/src/vs/platform/agentHost/common/copilotConfigSlashCommands.d.ts +73 -0
  21. package/vscode/src/vs/platform/agentHost/common/copilotConfigSlashCommands.js +141 -0
  22. package/vscode/src/vs/platform/agentHost/common/meta/agentCompletionAttachmentMeta.js +42 -1
  23. package/vscode/src/vs/platform/agentHost/common/meta/agentCustomizationMeta.d.ts +27 -0
  24. package/vscode/src/vs/platform/agentHost/common/meta/agentCustomizationMeta.js +14 -0
  25. package/vscode/src/vs/platform/agentHost/common/meta/agentEphemeralSessionMeta.d.ts +14 -0
  26. package/vscode/src/vs/platform/agentHost/common/meta/agentEphemeralSessionMeta.js +11 -0
  27. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +13 -13
  28. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +1 -1
  29. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +4 -1
  30. package/vscode/src/vs/platform/agentHost/common/toolSearchConstants.d.ts +4 -0
  31. package/vscode/src/vs/platform/agentHost/common/toolSearchConstants.js +6 -0
  32. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
  33. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +104 -0
  34. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +827 -0
  35. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +15 -0
  36. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +71 -0
  37. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +16 -0
  38. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +95 -0
  39. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +22 -0
  40. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +286 -0
  41. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.d.ts +10 -0
  42. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.js +38 -0
  43. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.d.ts +9 -0
  44. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.js +22 -0
  45. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +130 -0
  46. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +907 -0
  47. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.d.ts +10 -0
  48. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +28 -0
  49. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +27 -0
  50. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +167 -0
  51. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +46 -0
  52. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +356 -0
  53. package/vscode/src/vs/workbench/browser/chatChangesPill.js +2 -2
  54. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +28 -28
  55. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +2 -2
  56. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +18 -18
  57. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +4 -4
  58. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +3 -3
  59. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +6 -6
  60. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +11 -11
  61. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +11 -11
  62. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +9 -9
  63. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +5 -5
  64. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +2 -2
  65. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +13 -13
  66. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +7 -7
  67. package/vscode/src/vs/workbench/contrib/agentsVoice/browser/voiceModeOnboarding.js +28 -28
  68. package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +1 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +18 -18
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  71. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +93 -93
  72. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  75. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  76. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +7 -7
  77. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  78. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFindActions.js +7 -7
  79. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  81. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  82. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  83. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
  84. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +16 -16
  85. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -15
  87. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  88. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +32 -32
  90. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +10 -10
  91. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openAgentHostStateFileAction.js +5 -5
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginCommands.js +7 -7
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +3 -3
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +2 -2
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +14 -14
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationContentExpander.d.ts +34 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationContentExpander.js +229 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.d.ts +57 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationItemProvider.js +460 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +1 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHost.contribution.d.ts +1 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHost.contribution.js +92 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +1 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAllowSignedOutWhenUsableContribution.d.ts +23 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAllowSignedOutWhenUsableContribution.js +46 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.d.ts +142 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostAuth.js +746 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.d.ts +77 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.js +474 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostConfigEditor.d.ts +169 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostConfigEditor.js +261 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCopilotCliSettingsContribution.d.ts +20 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCopilotCliSettingsContribution.js +90 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.d.ts +35 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostDownloadProgress.js +73 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostExistingSessionHarnessPickerEnablement.d.ts +20 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostExistingSessionHarnessPickerEnablement.js +61 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.d.ts +112 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLanguageModelProvider.js +192 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +1 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +6 -6
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.d.ts +21 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPromptCacheNotification.js +137 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostResponseFileChanges.js +301 -12
  128. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostRootConfigForwarder.d.ts +84 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostRootConfigForwarder.js +96 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.d.ts +884 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.js +5870 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionInputPills.js +19 -19
  133. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListContribution.d.ts +27 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListContribution.js +129 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListController.d.ts +42 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListController.js +221 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListStore.d.ts +125 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionListStore.js +345 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectorySynchronizer.js +1 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.d.ts +1 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettings.contribution.js +68 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.d.ts +62 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSettingsFileSystemProvider.js +163 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.d.ts +54 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSignedOutModelsNotification.js +219 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSubagentProgress.d.ts +10 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSubagentProgress.js +50 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.d.ts +42 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostTerminalContribution.js +132 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.d.ts +1 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettings.contribution.js +85 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.d.ts +79 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentSessionSettingsFileSystemProvider.js +161 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSubmitConfig.d.ts +18 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/applyAgentHostSubmitConfig.js +13 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/copilotConfigSlashSubmitHandler.d.ts +28 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/copilotConfigSlashSubmitHandler.js +71 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/openSessionLinkOpener.contribution.d.ts +35 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/openSessionLinkOpener.contribution.js +205 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +1 -1
  162. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +51 -51
  163. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +1 -1
  164. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +4 -4
  165. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +1 -1
  166. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -1
  167. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  168. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +1 -1
  169. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  170. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +1 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +2 -2
  172. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
  173. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +23 -23
  174. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  175. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  176. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/externalSessionsFilterMenu.js +6 -6
  177. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +2 -2
  178. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/sessionSummaryHover.js +7 -7
  179. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessionsConfiguration.js +3 -3
  180. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -15
  181. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -3
  184. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +126 -126
  185. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +44 -44
  186. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +138 -138
  187. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +3 -3
  188. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.d.ts +1 -1
  189. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationPresentation.js +6 -6
  190. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +37 -37
  191. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCardList.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +1 -1
  193. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -1
  194. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigration.d.ts +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationAccessibility.js +6 -6
  197. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationCategories.js +146 -146
  198. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationDashboard.js +29 -29
  199. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationMigrationServiceImpl.js +9 -9
  200. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +1 -1
  201. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +40 -40
  202. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +7 -7
  203. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +8 -8
  204. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +5 -5
  205. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +76 -76
  206. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -1
  207. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +116 -116
  208. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +1 -1
  209. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +4 -4
  210. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +50 -50
  211. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +2 -2
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +356 -356
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +1 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +38 -38
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostLogSources.js +5 -5
  216. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +1 -1
  217. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  218. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +1 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +124 -124
  220. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +72 -72
  221. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +1 -1
  222. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  223. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEnablement.js +3 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  226. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  227. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +1 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +8 -8
  229. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  230. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  231. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  232. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  233. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  234. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +1 -1
  235. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +18 -18
  236. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +1 -1
  237. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  238. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  240. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +1 -1
  241. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  242. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +36 -36
  243. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +1 -1
  244. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  245. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugWireLogView.js +40 -40
  246. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  247. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  248. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  249. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  250. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  251. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  252. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  253. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -1
  254. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  256. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  257. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +1 -1
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +1 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +3 -3
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPills.js +3 -3
  262. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  263. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  264. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -63
  265. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  266. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  267. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievements.contribution.js +12 -12
  268. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditor.js +1 -1
  269. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsEditorInput.js +1 -1
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatPetAchievementsWidget.js +35 -35
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatPromoNotification.js +2 -2
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +27 -27
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  274. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.d.ts +2 -0
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionDescription.js +57 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +21 -21
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +1 -1
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +11 -11
  279. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +1 -1
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +27 -27
  282. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +17 -17
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +20 -20
  285. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +62 -62
  286. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  288. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  289. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  291. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  292. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  293. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  294. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.d.ts +1 -1
  295. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationConfig.js +1 -1
  296. package/vscode/src/vs/workbench/contrib/chat/browser/expNotification/chatExpNotificationContribution.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  298. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorOverlay.js +6 -6
  299. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +6 -6
  300. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +1 -1
  301. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +29 -29
  302. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +1 -1
  303. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
  304. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +7 -7
  305. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +2 -2
  306. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +30 -30
  307. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +4 -4
  308. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  309. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +2 -2
  310. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  311. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  312. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  313. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  314. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  315. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimeline.contribution.js +5 -5
  316. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineCard.js +4 -4
  317. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineGutterRail.js +4 -4
  318. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineModel.js +3 -3
  319. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineRulerRail.js +1 -1
  320. package/vscode/src/vs/workbench/contrib/chat/browser/promptTimeline/promptTimelineStickyHeader.js +3 -3
  321. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +21 -21
  322. package/vscode/src/vs/workbench/contrib/chat/browser/sessionChatPillOptions.js +18 -18
  323. package/vscode/src/vs/workbench/contrib/chat/browser/sessionPullRequestPill.js +2 -2
  324. package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +10 -10
  325. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  326. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +26 -26
  327. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +9 -9
  328. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +1 -1
  329. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
  330. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
  331. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  332. package/vscode/src/vs/workbench/contrib/chat/browser/voiceInputMode/voiceInputMode.js +1 -1
  333. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentOpenChat.js +17 -17
  334. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatFind/chatFindAccessibilityHelp.js +15 -15
  335. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +11 -11
  336. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +2 -2
  337. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCommandArgumentHint.js +1 -1
  338. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +12 -12
  339. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  340. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +13 -5
  341. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputReferenceDecorations.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  343. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  344. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -1
  345. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -11
  346. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  347. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +1 -1
  348. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +253 -0
  349. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +20 -0
  350. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +1 -1
  351. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +1 -1
  352. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +10 -10
  353. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +300 -0
  354. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +272 -0
  355. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  356. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +25 -0
  357. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +178 -0
  358. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +78 -0
  359. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +51 -0
  360. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -2
  361. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +14 -14
  362. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +67 -0
  363. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +195 -0
  364. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +67 -0
  365. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +294 -0
  366. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +212 -0
  367. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +955 -0
  368. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
  369. package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
  370. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +1 -1
  371. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +1 -1
  372. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  373. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +65 -0
  374. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +698 -0
  375. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +50 -0
  376. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +78 -0
  377. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +77 -0
  378. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +120 -0
  379. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +10 -0
  380. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +23 -0
  381. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +12 -12
  382. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  383. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  384. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +154 -154
  385. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.d.ts +92 -0
  386. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/extensionPromptFileService.js +335 -0
  387. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +235 -0
  388. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +1673 -0
  389. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +202 -0
  390. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +872 -0
  391. package/vscode/src/vs/workbench/contrib/chat/common/sessionChatPills.js +9 -9
  392. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.d.ts +36 -0
  393. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +239 -0
  394. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.d.ts +21 -0
  395. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.js +143 -0
  396. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.d.ts +24 -0
  397. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +298 -0
  398. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.d.ts +25 -0
  399. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/reviewPlanTool.js +177 -0
  400. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +73 -0
  401. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +577 -0
  402. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.d.ts +11 -0
  403. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactRulesTool.js +90 -0
  404. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.d.ts +16 -0
  405. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +130 -0
  406. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.d.ts +12 -0
  407. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.js +53 -0
  408. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers.d.ts +5 -0
  409. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers.js +12 -0
  410. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.d.ts +10 -0
  411. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +91 -0
  412. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +38 -0
  413. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +518 -0
  414. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +6 -0
  415. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +231 -0
  416. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  417. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  418. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  419. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +1 -1
  420. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  421. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  422. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditReviewSession.js +1 -1
  423. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  424. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +11 -11
  427. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +9 -9
  428. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  429. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  430. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +10 -10
  431. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  432. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  433. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  434. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  435. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  436. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  437. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  438. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  439. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  440. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +4 -4
  441. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
  442. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  443. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
  444. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -5
  445. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +74 -74
  446. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +11 -11
  447. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
  448. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
  449. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
  450. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  451. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +1 -1
  452. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +1 -1
  453. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +1 -1
  454. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +4 -4
  455. package/vscode/src/vs/workbench/services/agentEditorComments/browser/agentEditorCommentsOverlayWidget.js +3 -3
  456. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.d.ts +0 -30
  457. package/vscode/src/vs/platform/agentHost/common/state/legacyProtocolCompatibility.js +0 -87
  458. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +0 -205
  459. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +0 -1580
@@ -0,0 +1,827 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { DeferredPromise } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
+ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
5
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
6
+ import { Disposable, DisposableMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
8
+ import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
9
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
10
+ import { escapeRegExpCharacters } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
11
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
12
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
13
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
14
+ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
15
+ import { getWordAtText } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/wordHelper';
16
+ import { CompletionItemKind } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
17
+ import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service';
18
+ import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
19
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
20
+ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
21
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
22
+ import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
23
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
24
+ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
25
+ import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
26
+ import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
27
+ import { PromptsType, isValidPromptType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
28
+ import { ChatRequestAgentPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/requestParser/chatParserTypes';
29
+ import { ChatRequestParser } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/common/requestParser/chatRequestParser';
30
+ import { getDynamicVariablesForWidget, getSelectedToolAndToolSetsForWidget } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/attachments/chatVariables';
31
+ import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
32
+ import { ChatSessionOptionsMap } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
33
+ import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
34
+ import { ChatModeKind, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
35
+ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
36
+ import { extHostNamedCustomer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extHostCustomers';
37
+ import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
38
+ import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
39
+ import { NotebookDto } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/api/browser/mainThreadNotebookDto';
40
+ import { isUntitledChatSession, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
41
+ import { ICustomizationHarnessService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service';
42
+ import { AICustomizationManagementSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
43
+ import { IAgentPluginService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service';
44
+ import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
45
+ import { getAgentSessionProvider, AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
46
+ import { addDynamicVariableActionId } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/widget/input/editor/chatDynamicVariablesConstant';
47
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
48
+
49
+ class MainThreadChatTask {
50
+ get onDidAddProgress() {
51
+ return this._onDidAddProgress.event;
52
+ }
53
+ constructor(content) {
54
+ this.content = content;
55
+ this.kind = "progressTask";
56
+ this.deferred = ( new DeferredPromise());
57
+ this._onDidAddProgress = ( new Emitter());
58
+ this.progress = [];
59
+ }
60
+ task() {
61
+ return this.deferred.p;
62
+ }
63
+ isSettled() {
64
+ return this.deferred.isSettled;
65
+ }
66
+ complete(v) {
67
+ this.deferred.complete(v);
68
+ }
69
+ add(progress) {
70
+ this.progress.push(progress);
71
+ this._onDidAddProgress.fire(progress);
72
+ }
73
+ toJSON() {
74
+ return {
75
+ kind: "progressTaskSerialized",
76
+ content: this.content,
77
+ progress: this.progress
78
+ };
79
+ }
80
+ }
81
+ let MainThreadChatAgents2 = class MainThreadChatAgents2 extends Disposable {
82
+ constructor(
83
+ extHostContext,
84
+ _chatAgentService,
85
+ _chatSessionService,
86
+ _chatService,
87
+ _languageFeaturesService,
88
+ _chatWidgetService,
89
+ _instantiationService,
90
+ _logService,
91
+ _extensionService,
92
+ _uriIdentityService,
93
+ _promptsService,
94
+ _languageModelToolsService,
95
+ _customizationHarnessService,
96
+ _telemetryService,
97
+ _agentPluginService,
98
+ _environmentService
99
+ ) {
100
+ super();
101
+ this._chatAgentService = _chatAgentService;
102
+ this._chatSessionService = _chatSessionService;
103
+ this._chatService = _chatService;
104
+ this._languageFeaturesService = _languageFeaturesService;
105
+ this._chatWidgetService = _chatWidgetService;
106
+ this._instantiationService = _instantiationService;
107
+ this._logService = _logService;
108
+ this._extensionService = _extensionService;
109
+ this._uriIdentityService = _uriIdentityService;
110
+ this._promptsService = _promptsService;
111
+ this._languageModelToolsService = _languageModelToolsService;
112
+ this._customizationHarnessService = _customizationHarnessService;
113
+ this._telemetryService = _telemetryService;
114
+ this._agentPluginService = _agentPluginService;
115
+ this._environmentService = _environmentService;
116
+ this._agents = this._register(( new DisposableMap()));
117
+ this._agentCompletionProviders = this._register(( new DisposableMap()));
118
+ this._agentIdsToCompletionProviders = this._register(( new DisposableMap()));
119
+ this._chatParticipantDetectionProviders = this._register(( new DisposableMap()));
120
+ this._promptFileProviders = this._register(( new DisposableMap()));
121
+ this._promptFileProviderEmitters = this._register(( new DisposableMap()));
122
+ this._promptFileContentRegistrations = this._register(( new DisposableMap()));
123
+ this._customizationProviders = this._register(( new DisposableMap()));
124
+ this._customizationProviderEmitters = this._register(( new DisposableMap()));
125
+ this._pendingProgress = ( new Map());
126
+ this._activeTasks = ( new Map());
127
+ this._unresolvedAnchors = ( new Map());
128
+ this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostChatAgents2));
129
+ this._register(this._chatService.onDidDisposeSession(e => {
130
+ for (const resource of e.sessionResources) {
131
+ this._proxy.$releaseSession(resource);
132
+ }
133
+ }));
134
+ this._register(this._chatService.onDidPerformUserAction(e => {
135
+ if (typeof e.agentId === "string") {
136
+ for (const [handle, agent] of this._agents) {
137
+ if (agent.id === e.agentId) {
138
+ if (e.action.kind === "vote") {
139
+ this._proxy.$acceptFeedback(handle, e.result ?? {}, e.action);
140
+ } else {
141
+ this._proxy.$acceptAction(handle, e.result || {}, e);
142
+ }
143
+ break;
144
+ }
145
+ }
146
+ }
147
+ }));
148
+ this._register(this._chatService.onDidReceiveQuestionCarouselAnswer(e => {
149
+ this._proxy.$handleQuestionCarouselAnswer(e.requestId, e.resolveId, e.answers);
150
+ }));
151
+ this._register(this._chatWidgetService.onDidChangeFocusedSession(() => {
152
+ this._acceptActiveChatSession(this._chatWidgetService.lastFocusedWidget);
153
+ }));
154
+ this._acceptActiveChatSession(this._chatWidgetService.lastFocusedWidget);
155
+ this._register(this._promptsService.onDidChangeCustomAgents(() => {
156
+ this._proxy.$onDidChangeCustomAgents();
157
+ }));
158
+ this._register(this._promptsService.onDidChangeInstructions(() => {
159
+ this._proxy.$onDidChangeInstructions();
160
+ }));
161
+ this._register(this._promptsService.onDidChangeSkills(() => {
162
+ this._proxy.$onDidChangeSkills();
163
+ }));
164
+ this._register(this._promptsService.onDidChangeSlashCommands(() => {
165
+ this._proxy.$onDidChangeSlashCommands();
166
+ }));
167
+ this._register(this._promptsService.onDidChangeHooks(() => {
168
+ this._proxy.$onDidChangeHooks();
169
+ }));
170
+ this._register(autorun(reader => {
171
+ this._agentPluginService.plugins.read(reader);
172
+ this._proxy.$onDidChangePlugins();
173
+ }));
174
+ }
175
+ _acceptActiveChatSession(widget) {
176
+ const sessionResource = widget?.viewModel?.sessionResource;
177
+ const isLocal = sessionResource && getAgentSessionProvider(sessionResource) === AgentSessionProviders.Local;
178
+ this._proxy.$acceptActiveChatSession(isLocal ? sessionResource : undefined);
179
+ }
180
+ _toChatResourceSource(storage) {
181
+ switch (storage) {
182
+ case PromptsStorage.local:
183
+ return "local";
184
+ case PromptsStorage.user:
185
+ return "user";
186
+ case PromptsStorage.extension:
187
+ return "extension";
188
+ case PromptsStorage.plugin:
189
+ return "plugin";
190
+ case PromptsStorage.builtIn:
191
+ return "builtin";
192
+ }
193
+ }
194
+ _toCustomAgentDto(agent) {
195
+ return {
196
+ uri: agent.uri,
197
+ name: agent.name,
198
+ description: agent.description,
199
+ source: this._toChatResourceSource(agent.source.storage),
200
+ extensionId: agent.source.storage === PromptsStorage.extension ? agent.source.extensionId.value : undefined,
201
+ pluginUri: agent.source.storage === PromptsStorage.plugin ? agent.source.pluginUri : undefined,
202
+ sessionTypes: agent.sessionTypes,
203
+ argumentHint: agent.argumentHint,
204
+ tools: agent.tools,
205
+ model: agent.model,
206
+ userInvocable: agent.visibility.userInvocable,
207
+ disableModelInvocation: !agent.visibility.agentInvocable,
208
+ enabled: agent.enabled
209
+ };
210
+ }
211
+ _toInstructionDto(instruction) {
212
+ return {
213
+ uri: instruction.uri,
214
+ name: instruction.name,
215
+ description: instruction.description,
216
+ source: this._toChatResourceSource(instruction.storage),
217
+ extensionId: instruction.extension?.identifier.value,
218
+ pluginUri: instruction.pluginUri,
219
+ sessionTypes: instruction.sessionTypes,
220
+ pattern: instruction.pattern
221
+ };
222
+ }
223
+ _toSkillDto(skill) {
224
+ return {
225
+ uri: skill.uri,
226
+ name: skill.name,
227
+ description: skill.description,
228
+ source: this._toChatResourceSource(skill.storage),
229
+ extensionId: skill.extension?.identifier.value,
230
+ pluginUri: skill.pluginUri,
231
+ sessionTypes: skill.sessionTypes,
232
+ userInvocable: skill.userInvocable,
233
+ disableModelInvocation: skill.disableModelInvocation
234
+ };
235
+ }
236
+ _toSlashCommandDto(slashCommand) {
237
+ return {
238
+ uri: slashCommand.uri,
239
+ name: slashCommand.name,
240
+ description: slashCommand.description,
241
+ source: this._toChatResourceSource(slashCommand.storage),
242
+ extensionId: slashCommand.extension?.identifier.value,
243
+ pluginUri: slashCommand.pluginUri,
244
+ sessionTypes: slashCommand.sessionTypes,
245
+ argumentHint: slashCommand.argumentHint,
246
+ userInvocable: slashCommand.userInvocable
247
+ };
248
+ }
249
+ _toHookDto(hookFile) {
250
+ return {
251
+ uri: hookFile.uri,
252
+ sessionTypes: hookFile.sessionTypes,
253
+ source: this._toChatResourceSource(hookFile.storage),
254
+ extensionId: hookFile.extension?.identifier.value,
255
+ pluginUri: hookFile.pluginUri
256
+ };
257
+ }
258
+ _toPluginDto(plugin) {
259
+ return {
260
+ uri: plugin.uri
261
+ };
262
+ }
263
+ async $provideCustomAgents(token) {
264
+ const customAgents = await this._promptsService.getCustomAgents(token);
265
+ return ( customAgents.map(agent => this._toCustomAgentDto(agent)));
266
+ }
267
+ async $provideInstructions(token) {
268
+ const instructions = await this._promptsService.getInstructionFiles(token);
269
+ return ( instructions.map(instruction => this._toInstructionDto(instruction)));
270
+ }
271
+ async $provideSkills(token) {
272
+ const skills = (await this._promptsService.findAgentSkills(token)) ?? [];
273
+ return ( skills.map(skill => this._toSkillDto(skill)));
274
+ }
275
+ async $provideSlashCommands(token) {
276
+ const slashCommands = await this._promptsService.getPromptSlashCommands(token);
277
+ return ( slashCommands.map(slashCommand => this._toSlashCommandDto(slashCommand)));
278
+ }
279
+ async $provideHooks(token) {
280
+ const hookFiles = await this._promptsService.listPromptFiles(PromptsType.hook, token);
281
+ return ( hookFiles.map(hookFile => this._toHookDto(hookFile)));
282
+ }
283
+ async $providePlugins(_token) {
284
+ const plugins = this._agentPluginService.plugins.get();
285
+ return ( plugins.map(plugin => this._toPluginDto(plugin)));
286
+ }
287
+ $unregisterAgent(handle) {
288
+ this._agents.deleteAndDispose(handle);
289
+ }
290
+ async $transferActiveChatSession(toWorkspace) {
291
+ const widget = this._chatWidgetService.lastFocusedWidget;
292
+ const model = widget?.viewModel?.model;
293
+ if (!model) {
294
+ this._logService.error(`MainThreadChat#$transferActiveChatSession: No active chat session found`);
295
+ return;
296
+ }
297
+ await this._chatService.transferChatSession(model.sessionResource, URI.revive(toWorkspace));
298
+ }
299
+ async $registerAgent(handle, extension, id, metadata, dynamicProps) {
300
+ await this._extensionService.whenInstalledExtensionsRegistered();
301
+ const staticAgentRegistration = this._chatAgentService.getAgent(id, true);
302
+ const chatSessionRegistration = this._chatSessionService.getAllChatSessionContributions().find(c => c.type === id || c.alternativeIds?.includes(id));
303
+ if (!staticAgentRegistration && !chatSessionRegistration && !dynamicProps) {
304
+ if (this._chatAgentService.getAgentsByName(id).length) {
305
+ throw ( new Error(
306
+ `chatParticipant must be declared with an ID in package.json. The "id" property may be missing! "${id}"`
307
+ ));
308
+ }
309
+ throw ( new Error(`chatParticipant must be declared in package.json: ${id}`));
310
+ }
311
+ const impl = {
312
+ invoke: async (request, progress, history, token) => {
313
+ const chatSession = this._chatService.getSession(request.sessionResource);
314
+ this._pendingProgress.set(request.requestId, {
315
+ progress,
316
+ chatSession,
317
+ isSubagent: !!request.subAgentInvocationId
318
+ });
319
+ try {
320
+ const chatSessionResource = request.sessionResource;
321
+ const chatSessionContext = {
322
+ chatSessionResource,
323
+ isUntitled: isUntitledChatSession(chatSessionResource),
324
+ initialSessionOptions: ChatSessionOptionsMap.toStrValueArray(this._chatSessionService.getSessionOptions(chatSessionResource))
325
+ };
326
+ const rpcResult = await this._proxy.$invokeAgent(handle, request, {
327
+ history,
328
+ chatSessionContext
329
+ }, token);
330
+ if (rpcResult?.errorCallstack && !rpcResult.errorDetails?.isRateLimited && !rpcResult.errorDetails?.isQuotaExceeded && !rpcResult.errorDetails?.isExpectedError) {
331
+ this._telemetryService.publicLogError2("chatAgentError", {
332
+ callstack: rpcResult.errorCallstack,
333
+ msg: rpcResult.errorDetails?.message ?? "",
334
+ errorName: rpcResult.errorName ?? "",
335
+ agent: id,
336
+ agentExtensionId: extension.value
337
+ });
338
+ }
339
+ if (rpcResult) {
340
+ const {
341
+ errorCallstack: _,
342
+ errorName: _2,
343
+ ...result
344
+ } = rpcResult;
345
+ return result;
346
+ }
347
+ return {};
348
+ } finally {
349
+ this._pendingProgress.delete(request.requestId);
350
+ }
351
+ },
352
+ setRequestTools: (requestId, tools) => {
353
+ this._proxy.$setRequestTools(requestId, tools);
354
+ },
355
+ setYieldRequested: (requestId, value) => {
356
+ this._proxy.$setYieldRequested(requestId, value);
357
+ },
358
+ provideFollowups: async (request, result, history, token) => {
359
+ if (!this._agents.get(handle)?.hasFollowups) {
360
+ return [];
361
+ }
362
+ return this._proxy.$provideFollowups(request, handle, result, {
363
+ history
364
+ }, token);
365
+ },
366
+ provideChatTitle: (history, token) => {
367
+ return this._proxy.$provideChatTitle(handle, history, token);
368
+ },
369
+ provideChatSummary: (history, token) => {
370
+ return this._proxy.$provideChatSummary(handle, history, token);
371
+ }
372
+ };
373
+ if (chatSessionRegistration?.alternativeIds?.includes(id)) {
374
+ return;
375
+ }
376
+ let disposable;
377
+ if (!staticAgentRegistration && dynamicProps) {
378
+ const extensionDescription = this._extensionService.extensions.find(e => ExtensionIdentifier.equals(e.identifier, extension));
379
+ disposable = this._chatAgentService.registerDynamicAgent({
380
+ id,
381
+ name: dynamicProps.name,
382
+ description: dynamicProps.description,
383
+ extensionId: extension,
384
+ extensionVersion: extensionDescription?.version,
385
+ extensionDisplayName: extensionDescription?.displayName ?? extension.value,
386
+ extensionPublisherId: extensionDescription?.publisher ?? "",
387
+ publisherDisplayName: dynamicProps.publisherName,
388
+ fullName: dynamicProps.fullName,
389
+ metadata: revive(metadata),
390
+ slashCommands: [],
391
+ disambiguation: [],
392
+ locations: [ChatAgentLocation.Chat],
393
+ modes: [ChatModeKind.Ask, ChatModeKind.Agent, ChatModeKind.Edit]
394
+ }, impl);
395
+ } else {
396
+ disposable = this._chatAgentService.registerAgentImplementation(id, impl);
397
+ }
398
+ this._agents.set(handle, {
399
+ id: id,
400
+ extensionId: extension,
401
+ dispose: () => disposable.dispose(),
402
+ hasFollowups: metadata.hasFollowups
403
+ });
404
+ }
405
+ async $updateAgent(handle, metadataUpdate) {
406
+ await this._extensionService.whenInstalledExtensionsRegistered();
407
+ const data = this._agents.get(handle);
408
+ if (!data) {
409
+ this._logService.error(
410
+ `MainThreadChatAgents2#$updateAgent: No agent with handle ${handle} registered`
411
+ );
412
+ return;
413
+ }
414
+ data.hasFollowups = metadataUpdate.hasFollowups;
415
+ this._chatAgentService.updateAgent(data.id, revive(metadataUpdate));
416
+ }
417
+ async $handleProgressChunk(requestId, chunks) {
418
+ const pendingProgress = this._pendingProgress.get(requestId);
419
+ if (!pendingProgress) {
420
+ this._logService.warn(
421
+ `MainThreadChatAgents2#$handleProgressChunk: No pending progress for requestId ${requestId}`
422
+ );
423
+ return;
424
+ }
425
+ const {
426
+ progress,
427
+ chatSession,
428
+ isSubagent
429
+ } = pendingProgress;
430
+ const chatProgressParts = [];
431
+ const response = chatSession?.getRequests().find(req => req.id === requestId)?.response;
432
+ for (const item of chunks) {
433
+ const [progress, responsePartHandle] = Array.isArray(item) ? item : [item];
434
+ if (progress.kind === "externalEdits") {
435
+ if (chatSession?.editingSession && responsePartHandle !== undefined && response) {
436
+ const parts = progress.start ? await chatSession.editingSession.startExternalEdits(
437
+ response,
438
+ responsePartHandle,
439
+ revive(progress.resources),
440
+ progress.undoStopId
441
+ ) : await chatSession.editingSession.stopExternalEdits(response, responsePartHandle);
442
+ chatProgressParts.push(...parts);
443
+ }
444
+ continue;
445
+ }
446
+ if (progress.kind === "beginToolInvocation") {
447
+ this._languageModelToolsService.beginToolCall({
448
+ toolCallId: progress.toolCallId,
449
+ toolId: progress.toolName,
450
+ chatRequestId: requestId,
451
+ sessionResource: chatSession?.sessionResource,
452
+ subagentInvocationId: progress.subagentInvocationId
453
+ });
454
+ continue;
455
+ }
456
+ if (progress.kind === "updateToolInvocation") {
457
+ this._languageModelToolsService.updateToolStream(
458
+ progress.toolCallId,
459
+ progress.streamData?.partialInput,
460
+ CancellationToken.None
461
+ );
462
+ continue;
463
+ }
464
+ if (progress.kind === "usage") {
465
+ if (isSubagent) {
466
+ chatProgressParts.push({
467
+ kind: "usage",
468
+ promptTokens: progress.promptTokens,
469
+ completionTokens: progress.completionTokens,
470
+ outputBuffer: progress.outputBuffer,
471
+ copilotCredits: progress.copilotCredits,
472
+ promptTokenDetails: progress.promptTokenDetails
473
+ });
474
+ } else if (response) {
475
+ response.setUsage({
476
+ kind: "usage",
477
+ promptTokens: progress.promptTokens,
478
+ completionTokens: progress.completionTokens,
479
+ outputBuffer: progress.outputBuffer,
480
+ copilotCredits: progress.copilotCredits,
481
+ promptTokenDetails: progress.promptTokenDetails
482
+ });
483
+ } else {
484
+ this._logService.warn(
485
+ `MainThreadChatAgents2#$handleProgressChunk: No response model for usage of non-subagent request ${requestId}; dropping usage.`
486
+ );
487
+ }
488
+ continue;
489
+ }
490
+ const revivedProgress = progress.kind === "notebookEdit" ? ChatNotebookEdit.fromChatEdit(progress) : revive(progress);
491
+ if (revivedProgress.kind === "notebookEdit" || revivedProgress.kind === "textEdit" || revivedProgress.kind === "codeblockUri") {
492
+ revivedProgress.uri = this._uriIdentityService.asCanonicalUri(revivedProgress.uri);
493
+ }
494
+ if (responsePartHandle !== undefined) {
495
+ if (revivedProgress.kind === "progressTask") {
496
+ const handle = responsePartHandle;
497
+ const responsePartId = `${requestId}_${handle}`;
498
+ const task = ( new MainThreadChatTask(revivedProgress.content));
499
+ this._activeTasks.set(responsePartId, task);
500
+ chatProgressParts.push(task);
501
+ } else if (responsePartHandle !== undefined) {
502
+ const responsePartId = `${requestId}_${responsePartHandle}`;
503
+ const task = this._activeTasks.get(responsePartId);
504
+ switch (revivedProgress.kind) {
505
+ case "progressTaskResult":
506
+ if (task && revivedProgress.content) {
507
+ task.complete(revivedProgress.content.value);
508
+ this._activeTasks.delete(responsePartId);
509
+ } else {
510
+ task?.complete(undefined);
511
+ }
512
+ break;
513
+ case "warning":
514
+ case "reference":
515
+ task?.add(revivedProgress);
516
+ break;
517
+ }
518
+ }
519
+ continue;
520
+ }
521
+ if (revivedProgress.kind === "inlineReference" && revivedProgress.resolveId && response) {
522
+ if (!( this._unresolvedAnchors.has(requestId))) {
523
+ this._unresolvedAnchors.set(requestId, ( new Map()));
524
+ }
525
+ this._unresolvedAnchors.get(requestId)?.set(revivedProgress.resolveId, {
526
+ response
527
+ });
528
+ }
529
+ chatProgressParts.push(revivedProgress);
530
+ }
531
+ progress(chatProgressParts);
532
+ }
533
+ $handleAnchorResolve(requestId, handle, resolveAnchor) {
534
+ const unresolvedAnchorsForRequest = this._unresolvedAnchors.get(requestId);
535
+ if (!unresolvedAnchorsForRequest) {
536
+ return;
537
+ }
538
+ const unresolvedAnchor = unresolvedAnchorsForRequest.get(handle);
539
+ if (!unresolvedAnchor) {
540
+ return;
541
+ }
542
+ unresolvedAnchorsForRequest.delete(handle);
543
+ if (unresolvedAnchorsForRequest.size === 0) {
544
+ this._unresolvedAnchors.delete(requestId);
545
+ }
546
+ if (resolveAnchor) {
547
+ const revivedAnchor = revive(resolveAnchor);
548
+ unresolvedAnchor.response.resolveInlineReference(handle, revivedAnchor);
549
+ }
550
+ }
551
+ $registerAgentCompletionsProvider(handle, id, triggerCharacters) {
552
+ const provide = async (query, token) => {
553
+ const completions = await this._proxy.$invokeCompletionProvider(handle, query, token);
554
+ return ( completions.map(c => ({
555
+ ...c,
556
+ icon: c.icon ? ThemeIcon.fromId(c.icon) : undefined
557
+ })));
558
+ };
559
+ this._agentIdsToCompletionProviders.set(id, this._chatAgentService.registerAgentCompletionProvider(id, provide));
560
+ this._agentCompletionProviders.set(handle, this._languageFeaturesService.completionProvider.register({
561
+ scheme: Schemas.vscodeChatInput,
562
+ hasAccessToAllModels: true
563
+ }, {
564
+ _debugDisplayName: "chatAgentCompletions:" + handle,
565
+ triggerCharacters,
566
+ provideCompletionItems: async (model, position, _context, token) => {
567
+ const widget = this._chatWidgetService.getWidgetByInputUri(model.uri);
568
+ if (!widget || !widget.viewModel) {
569
+ return;
570
+ }
571
+ const triggerCharsPart = ( triggerCharacters.map(c => escapeRegExpCharacters(c))).join("");
572
+ const wordRegex = ( new RegExp(`[${triggerCharsPart}]\\S*`, "g"));
573
+ const query = getWordAtText(position.column, wordRegex, model.getLineContent(position.lineNumber), 0)?.word ?? "";
574
+ if (query && !( triggerCharacters.some(c => query.startsWith(c)))) {
575
+ return;
576
+ }
577
+ const context = {
578
+ sessionType: getChatSessionType(widget.viewModel.model.sessionResource)
579
+ };
580
+ const parsedRequest = this._instantiationService.createInstance(ChatRequestParser).parseChatRequestWithReferences(
581
+ getDynamicVariablesForWidget(widget),
582
+ getSelectedToolAndToolSetsForWidget(widget),
583
+ model.getValue(),
584
+ ChatAgentLocation.Chat,
585
+ context
586
+ ).parts;
587
+ const agentPart = parsedRequest.find(part => part instanceof ChatRequestAgentPart);
588
+ const thisAgentId = this._agents.get(handle)?.id;
589
+ if (agentPart?.agent.id !== thisAgentId) {
590
+ return;
591
+ }
592
+ const range = computeCompletionRanges(model, position, wordRegex);
593
+ if (!range) {
594
+ return null;
595
+ }
596
+ const result = await provide(query, token);
597
+ const variableItems = ( result.map(v => {
598
+ const insertText = v.insertText ?? (typeof v.label === "string" ? v.label : v.label.label);
599
+ const rangeAfterInsert = ( new Range(
600
+ range.insert.startLineNumber,
601
+ range.insert.startColumn,
602
+ range.insert.endLineNumber,
603
+ range.insert.startColumn + insertText.length
604
+ ));
605
+ return {
606
+ label: v.label,
607
+ range,
608
+ insertText: insertText + " ",
609
+ kind: CompletionItemKind.Text,
610
+ detail: v.detail,
611
+ documentation: v.documentation,
612
+ command: {
613
+ id: addDynamicVariableActionId,
614
+ title: "",
615
+ arguments: [{
616
+ id: v.id,
617
+ widget,
618
+ range: rangeAfterInsert,
619
+ variableData: revive(v.value),
620
+ command: v.command
621
+ }]
622
+ }
623
+ };
624
+ }));
625
+ return {
626
+ suggestions: variableItems
627
+ };
628
+ }
629
+ }));
630
+ }
631
+ $unregisterAgentCompletionsProvider(handle, id) {
632
+ this._agentCompletionProviders.deleteAndDispose(handle);
633
+ this._agentIdsToCompletionProviders.deleteAndDispose(id);
634
+ }
635
+ $registerChatParticipantDetectionProvider(handle) {
636
+ this._chatParticipantDetectionProviders.set(
637
+ handle,
638
+ this._chatAgentService.registerChatParticipantDetectionProvider(handle, {
639
+ provideParticipantDetection: async (request, history, options, token) => {
640
+ return await this._proxy.$detectChatParticipant(handle, request, {
641
+ history
642
+ }, options, token);
643
+ }
644
+ })
645
+ );
646
+ }
647
+ $unregisterChatParticipantDetectionProvider(handle) {
648
+ this._chatParticipantDetectionProviders.deleteAndDispose(handle);
649
+ }
650
+ async $registerPromptFileProvider(handle, type, extensionId) {
651
+ const extension = await this._extensionService.getExtension(extensionId.value);
652
+ if (!extension) {
653
+ this._logService.error(
654
+ `[MainThreadChatAgents2] Could not find extension for prompt file provider: ${extensionId.value}`
655
+ );
656
+ return;
657
+ }
658
+ if (!isValidPromptType(type)) {
659
+ this._logService.error(`[MainThreadChatAgents2] Invalid contribution type: ${type}`);
660
+ return;
661
+ }
662
+ const emitter = ( new Emitter());
663
+ this._promptFileProviderEmitters.set(handle, emitter);
664
+ const contentRegistrations = ( new DisposableMap());
665
+ this._promptFileContentRegistrations.set(handle, contentRegistrations);
666
+ const disposable = this._promptsService.registerPromptFileProvider(extension, type, {
667
+ onDidChangePromptFiles: emitter.event,
668
+ providePromptFiles: async (context, token) => {
669
+ const contributions = await this._proxy.$providePromptFiles(handle, type, context, token);
670
+ if (!contributions) {
671
+ return undefined;
672
+ }
673
+ return ( contributions.map(c => {
674
+ return {
675
+ name: c.name,
676
+ description: c.description,
677
+ sessionTypes: c.sessionTypes,
678
+ when: c.when,
679
+ uri: URI.revive(c.uri)
680
+ };
681
+ }));
682
+ }
683
+ });
684
+ this._promptFileProviders.set(handle, disposable);
685
+ }
686
+ $unregisterPromptFileProvider(handle) {
687
+ this._promptFileProviders.deleteAndDispose(handle);
688
+ this._promptFileProviderEmitters.deleteAndDispose(handle);
689
+ this._promptFileContentRegistrations.deleteAndDispose(handle);
690
+ }
691
+ $onDidChangePromptFiles(handle) {
692
+ const emitter = this._promptFileProviderEmitters.get(handle);
693
+ if (emitter) {
694
+ emitter.fire();
695
+ }
696
+ }
697
+ async $registerChatSessionCustomizationProvider(handle, chatSessionType, metadata, extensionId) {
698
+ if (this._environmentService.isSessionsWindow && !this._chatSessionService.getContentProviderSchemes().includes(chatSessionType)) {
699
+ return;
700
+ }
701
+ const extension = await this._extensionService.getExtension(extensionId.value);
702
+ if (!extension) {
703
+ this._logService.error(
704
+ `[MainThreadChatAgents2] Could not find extension for customization provider: ${extensionId.value}`
705
+ );
706
+ return;
707
+ }
708
+ const emitter = ( new Emitter());
709
+ this._customizationProviderEmitters.set(handle, emitter);
710
+ const itemProvider = {
711
+ onDidChange: emitter.event,
712
+ provideChatSessionCustomizations: async (sessionResource, token) => {
713
+ const items = await this._proxy.$provideChatSessionCustomizations(handle, sessionResource, token);
714
+ if (!items) {
715
+ return undefined;
716
+ }
717
+ return ( items.map(item => ({
718
+ uri: URI.revive(item.uri),
719
+ type: item.type,
720
+ name: item.name,
721
+ source: item.source,
722
+ description: item.description,
723
+ groupKey: item.groupKey,
724
+ badge: item.badge,
725
+ badgeTooltip: item.badgeTooltip,
726
+ extensionId: item.extensionId,
727
+ pluginUri: item.pluginUri ? URI.revive(item.pluginUri) : undefined,
728
+ pluginLabel: item.pluginLabel,
729
+ userInvocable: item.userInvocable
730
+ })));
731
+ },
732
+ provideSourceFolders: async (sessionResource, type, token) => {
733
+ const folders = await this._proxy.$provideSourceFolders(handle, sessionResource, type, token);
734
+ if (!folders) {
735
+ return undefined;
736
+ }
737
+ return ( folders.map(folder => ({
738
+ uri: URI.revive(folder.uri),
739
+ label: folder.label,
740
+ source: folder.source,
741
+ destinationGroupId: folder.destinationGroupId
742
+ })));
743
+ }
744
+ };
745
+ const typeToSection = {
746
+ "agent": AICustomizationManagementSection.Agents,
747
+ "skill": AICustomizationManagementSection.Skills,
748
+ "instructions": AICustomizationManagementSection.Instructions,
749
+ "prompt": AICustomizationManagementSection.Prompts,
750
+ "hook": AICustomizationManagementSection.Hooks,
751
+ "plugins": AICustomizationManagementSection.Plugins
752
+ };
753
+ let hiddenSections;
754
+ if (metadata.supportedTypes) {
755
+ const supportedSections = ( new Set());
756
+ for (const t of metadata.supportedTypes) {
757
+ const section = typeToSection[t];
758
+ if (section) {
759
+ supportedSections.add(section);
760
+ }
761
+ }
762
+ hiddenSections = ( Object.values(typeToSection)).filter(section => !( supportedSections.has(section)));
763
+ }
764
+ const descriptor = {
765
+ id: chatSessionType,
766
+ label: metadata.label,
767
+ icon: metadata.iconId ? ThemeIcon.fromId(metadata.iconId) : ThemeIcon.fromId(Codicon.extensions.id),
768
+ hiddenSections,
769
+ itemProvider
770
+ };
771
+ const registration = this._customizationHarnessService.registerExternalHarness(descriptor);
772
+ this._customizationProviders.set(handle, registration);
773
+ }
774
+ $unregisterChatSessionCustomizationProvider(handle) {
775
+ this._customizationProviders.deleteAndDispose(handle);
776
+ this._customizationProviderEmitters.deleteAndDispose(handle);
777
+ }
778
+ $onDidChangeCustomizations(handle) {
779
+ const emitter = this._customizationProviderEmitters.get(handle);
780
+ if (emitter) {
781
+ emitter.fire();
782
+ }
783
+ }
784
+ };
785
+ MainThreadChatAgents2 = __decorate([extHostNamedCustomer(MainContext.MainThreadChatAgents2), ( __param(1, IChatAgentService)), ( __param(2, IChatSessionsService)), ( __param(3, IChatService)), ( __param(4, ILanguageFeaturesService)), ( __param(5, IChatWidgetService)), ( __param(6, IInstantiationService)), ( __param(7, ILogService)), ( __param(8, IExtensionService)), ( __param(9, IUriIdentityService)), ( __param(10, IPromptsService)), ( __param(11, ILanguageModelToolsService)), ( __param(12, ICustomizationHarnessService)), ( __param(13, ITelemetryService)), ( __param(14, IAgentPluginService)), ( __param(15, IWorkbenchEnvironmentService))], MainThreadChatAgents2);
786
+ function computeCompletionRanges(model, position, reg) {
787
+ const varWord = getWordAtText(position.column, reg, model.getLineContent(position.lineNumber), 0);
788
+ if (!varWord && model.getWordUntilPosition(position).word) {
789
+ return;
790
+ }
791
+ let insert;
792
+ let replace;
793
+ if (!varWord) {
794
+ insert = replace = Range.fromPositions(position);
795
+ } else {
796
+ insert = ( new Range(
797
+ position.lineNumber,
798
+ varWord.startColumn,
799
+ position.lineNumber,
800
+ position.column
801
+ ));
802
+ replace = ( new Range(
803
+ position.lineNumber,
804
+ varWord.startColumn,
805
+ position.lineNumber,
806
+ varWord.endColumn
807
+ ));
808
+ }
809
+ return {
810
+ insert,
811
+ replace
812
+ };
813
+ }
814
+ var ChatNotebookEdit;
815
+ (function(ChatNotebookEdit) {
816
+ function fromChatEdit(part) {
817
+ return {
818
+ kind: "notebookEdit",
819
+ uri: URI.revive(part.uri),
820
+ done: part.done,
821
+ edits: ( part.edits.map(NotebookDto.fromCellEditOperationDto))
822
+ };
823
+ }
824
+ ChatNotebookEdit.fromChatEdit = fromChatEdit;
825
+ })(ChatNotebookEdit || (ChatNotebookEdit = {}));
826
+
827
+ export { MainThreadChatAgents2, MainThreadChatTask };